Rabu, 05 Desember 2012

Membuat Sampling Sinyal di Matlab

Dalam pemrosesan sinyal , sampling adalah pengurangan dari sinyal kontinyu ke sinyal diskrit . Sebuah contoh umum adalah konversi gelombang suara (sinyal kontinu) ke urutan sampel (sinyal diskrit-waktu).Sampel mengacu pada nilai atau seperangkat nilai-nilai pada suatu titik waktu dan / atau ruang.Sampler adalah suatu subsistem atau operasi yang ekstrak sampel dari sinyal kontinyu .Sebuah sampler yang ideal teoritis menghasilkan sampel setara dengan nilai sesaat dari sinyal kontinyu pada titik-titik yang diinginkan.

Dalam Hal Sampling dapat dilakukan untuk fungsi yang berbeda-beda dalam ruang, waktu, atau dimensi lain, dan hasil yang sama diperoleh dalam dua atau lebih dimensi.

Untuk fungsi yang bervariasi dengan waktu, mari kita (t) menjadi fungsi kontinu (atau "sinyal") untuk sampel, dan membiarkan pengambilan sampel dilakukan dengan mengukur nilai dari fungsi kontinu setiap detik T, yang disebut sampling interval . Dengan demikian, fungsi sampel diberikan oleh urutan:

    s (nT), untuk nilai-nilai integer n.

The frekuensi sampling atau sampling rate f s didefinisikan sebagai jumlah sampel yang diperoleh dalam satu detik (sampel per detik), sehingga f s = 1 / T.

Merekonstruksi fungsi kontinu dari sampel dilakukan dengan algoritma interpolasi. The Formula Whittaker-Shannon interpolasi secara matematis setara dengan ideal lowpass filter yang input adalah urutan fungsi Dirac delta yang dimodulasi (dikalikan) dengan nilai-nilai sampel. Bila interval waktu antara sampel yang berdekatan adalah konstan (T), urutan fungsi delta disebut sisir Dirac . Secara matematis, sisir Dirac termodulasi adalah setara dengan produk dari fungsi sisir dengan s (t). Bahwa fungsi matematika murni sering longgar disebut sebagai sinyal sampel.

Kebanyakan sinyal sampel tidak hanya disimpan dan direkonstruksi. Tapi kesetiaan rekonstruksi teoritis adalah ukuran adat efektivitas pengambilan sampel. Bahwa kesetiaan berkurang ketika s (t) mengandung komponen frekuensi tinggi dari f s / 2 Hz , yang dikenal sebagai frekuensi Nyquist dari sampler. Oleh karena itu s (t) biasanya merupakan output dari filter lowpass , fungsional dikenal sebagai filter "anti-aliasing". Tanpa anti-aliasing filter, frekuensi yang lebih tinggi daripada frekuensi Nyquist akan mempengaruhi sampel dengan cara yang disalahartikan oleh proses interpolasi. Untuk detail, lihat Aliasing .

Contoh sampling lewat matlab:

f = 250;
T = 1/f;
tmin = 0;
tmax = 1*T;
dt = T/1000;
dt1 = 1/2500;
t = tmin:dt:tmax;
djuna = (2*pi*f*t);
waski = tmin:dt1:tmax;
x = sin(djuna);
y = cos(djuna);
z = square(djuna);
x1 = sin(2*pi*f*waski);
x2 = cos(2*pi*f*waski);
x3 = square(2*pi*f*waski);
subplot(221)
plot(t,x,'y');
hold on
stem(waski,x1)
xlabel('Waktu (det)');ylabel('Amplitudo'); title('Gelombang Sinus')
subplot(222)
plot(t,y,'y');
hold on
stem(waski,x2)
xlabel('Waktu (det)');ylabel('Amplitudo'); title('Gelombang Cosinus')
subplot(223)
plot(t,z,'y');
hold on
stem(waski,x3)
xlabel('Waktu (det)');ylabel('Amplitudo'); title('Gelombang Kotak')


 Gambar sampling sinyal pada matlab
Garis kuning merupakan sinyal kontinyu, dan garis diskritnya merupakan hasil samplingan.


Selasa, 25 September 2012

Counter Jam Digital Sederhana

simulasi proteus, counter dalam jam digital sederhana
komponen:
1. 74ls93
2. gerbang and
3. clock
4. seven segment display

selamat mencoba. :) 

Minggu, 06 Mei 2012

Essay LKMM-TD


PENGENALAN DIRI
Saya suka menyebut diri saya adalah orang yang sabar karena dengan begitu, saya merasa lebih sabar dalam menghadapi setiap masalah yang saya alami, karena sabar adalah salah satu kunci kesuskesan. Menurut saya, aku sejati adalah jati diri kita (berupa eksistensi) yang sesungguhnya yang ada dahulu, sekarang dan yang akan datang. Setiap orang memiliki jati diri yang mempunyai keunikannya masing- masing. Kata "keunikan" ini sengaja dipakai untuk menggantikan kata "kelebihan dan kekurangan" agar kita tidak terjebak dalam pandangan untuk saling membandingkan. Keunikan jati diri masing-masing ini adalah merupakan hasil dari proses-proses terdahulunya dan merupakan awal dari proses kedepan yang juga tidak perlu dibandingkan dan dinilai berlebihan, akan tetapi haruslah dipahami dan disadari sepenuhnya. Saya adalah salah satu mahasiswa di sebuah institusi terkenal di Indonesia yaitu Insitut Teknologi Sepuluh Nopember Surabaya (ITS). Saya bangga menjadi mahasiswa di ITS karena di ITS mempunyai Visi dan Misi yang bagus untuk mencetak kader-kader penerus bangsa yang unggul karena di ITS tidak hanya fokus pada pendidikan akademik saja, melainkan juga dalam urusan non Akademik. Misalakan saja salah satunya yaitu diadakannya pelatihan-pelatihan kemandirian baik dalam skala institusi, Fakultas atau di lingkup Jurusan. Kali ini di jurusan ada pelatihan kemandirian atau biasa di kenal dengan Latihan Kepemimpinan Manajemen Mahasiswa Tingkat Dasar (LKMM-TD) melanjutkan pelatihan sebelumnya yaitu LKMM pra TD yang diadakan dalam skala fakultas. Dalam pelatiahn ini saya berharap mendapatkan tambahan pengetahuan atau wawasan kepemimpinan dan manajemen sebagai mahasisswa yang juga bisa menjadi bekal dikehidupan sehari-hari nantinya.
Menurut saya, himpunan adalah sebuah wadah yang memfasilitasi setiap bakat dan kreatifitas mahasiswa. Tapi bukan berarti mahasiswa yang belum mempunyai bakat dan kreatifitas tidak mendapatkan fasilitas ini, justru himpunan dibentuk untuk menumbuh-kembangkannya. Ketika mahasiswa sudah memiliki hardskill yang bagus, mahasiswa juga harus mempunyai ketrampilan dan softskill yang bagus pula. Karena dengan begitu, mahasiswa tidak hanya cerdas dalam berpikir, tapi juga cerdas dalam bekerja sama, memimpin dan menghadapi masalah. Karakter yang seperti itulah yang dibutuhkan masyarakat dan negara saat ini, dibutuhkan orang yang kuat secara akal, mental dan spiritual dalam membangun negara kita. Tentu saja sisi ini hanya sedikit disentuh dalam ruang kuliah. Dan himpunan membantu mahasiswa dengan menyediakan fasilitas belajar dalam mengembangkan softskill, seperti kepengurusan, pelatihan dan kegiatan-kegiatan yang dirancang dan diikuti oleh mahasiswa itu sendiri. Dengan fungsinya tersebut, himpunan menjadi salah satu aset yang sangat penting di kampus. Himpunan itu sendiri dijaga dan dipelihara oleh mahasiswa sehingga secara murni himpunan adalah untuk dan dari mahasiswa. Seiring dengan bertambahnya tahun, himpunan menjadi sosok yang tidak asing dan dianggap sebagai hal biasa oleh mahasiswa dibandingkan pada awal kemunculannya. Ketika hal yang dulu dianggap sangat penting menjadi hal yang biasa saat ini, urgensitas himpunan akan mulai dilupakan oleh mahasiswa sehingga penjagaan akan keberadaannya mengendur dan peran himpunan menjadi semakin menurun. Di saat seperti itulah, urgensitas himpunan dipertanyakan dan hal itu akan membuat perjuangan kembali seperti di awal pembentukannya dalam mempertahankan keberadaan himpunan. Untuk itu, diperlukan pemahaman yang dinamis kepada mahasiswa akan urgensitas himpunan bagi diri dan kampus mereka. Begitu pula di Himpunan Mahasiswa D3 Teknik Elektro, sebagai mahasiswa yang belum mengetahui banyak tentang himpunan, langkah pertama saya adalah menyadarkan pada diri saya sendiri tentang pentingnya himpunan bagi saya, teman-teman, kampus dan negara saya. Sehingga saya akan bersemangat dalam menjaga peran dan fungsi himpunan saya.
Mimpi saya di HIMA D3TEKTRO adalah keberadaannya sebagai wadah bakat dan kreatifitas mahasiswa bisa diseimbangkan dengan spiritual yang sering dilupakan oleh masyarakat. Mahasiswa yang cerdas dan trampil tidak akan bisa membangun negara dengan mudah tanpa dibekali iman yang kuat karena kecenderungan manusia yang lemah dan butuh sandaran tidak akan terpenuhi oleh manusia lain, tapi hanya Allah yang bisa memenuhinya. Cara yang terpikirkan oleh saya adalah tidak memisahkan agama dengan kegiatan himpunan, justru harus mendahulukan kepentingan agama. Bukan mengintimidasi agama minoritas, tapi memberikan keadilan bagi setiap pemeluk agama dalam menjalankan ibadah. Sangat tidak adil, jika salah satu alasan tidak diberikan waktu dalam menjalankan ibadah dalam kegiatan himpunan adalah dikarenakan tidak semua mahasiswa memiliki agama yang sama. Justru hal itulah yang membuat perpecahan antar mahasiswa dan mundurnya akhlak mahasiswa. Harapan ke depannya, saya dan teman-teman bisa membangun himpunan yang tidak sekuler dan dinamis dalam menghadapi perubahan zaman. Semoga yang kita lakukan di himpunan adalah atas dasar iman dan niat untuk menjadikan kampus dan negara kita menjadi lebih baik lagi. Mahasiswa harus bertindak dan bertindak dengan nama Allah Yang Maha Kuasa.

WAWASAN HIMPUNAN
Himpunan-himpunan mahasiswa jurusan merupakan organisasi kemahasiswaan lahir berdasarkan disiplin keilmuan spesifik yang mewadahi inisiatif mahasiswa dalam mendapatkan proses utuh pendidikan. Dalam sebuah lingkungan kampus yang diwadahi Kabinet KM, sebagai representasi kemahasiswaan kampus dan eksekutif yang menangani kebutuhan bersama dalam kelangsungan kemahasiswaan. Pada tahap ini mahasiswa baru memasuki gerbang perkuliahan sehingga dibutuhkan pembangunan kesadaran akan identitas sebagai mahasiswa. Mahasiswa tingkat satu dibimbing untuk mulai merumuskan visi hidupnya berdasarkan keTuhanan Yang Maha Esa
 Proses kaderisasi dimulai secara terpusat dan kemudian dilanjutkan pada tingkat fakultas atau sekolah. Penyampaian nilai dapat dilakukan satu arah mengingat cukup banyak nilai yang perlu ditanamkan, namun bukan berarti kebebasan mahasiswa baru dapat dinafikan. Harus selalu diingat bahwa bentuk kebebasan yang dikembangkan dalam lingkungan akademik adalah kebebasan substansial. Dalam himpunan setiap mahasiswa baru diberi bekal oleh senior dengan cara proses kaderisasi, yang mana kaderisasi tersebut meliputi beberapa aspek yang dapat memberikan wawasan atau manfaat kedepannya. Dalam jurusan D3 Teknik Elektro terdapat beberapa  langkah yang harus dicapai oleh setiap mahasiswa baru dalam hal kaderisasi. HIMA D3TEKTRO mempunyai tujuan meningkatkan wawasan, pengetahuan, kemampuan, dan keterampilan akuntansi mahasiswa sehingga dapat berguna bagi diri dan lingkungannya. Selain itu, menjadi:
1.    Penghubung antara mahasiswa Jurusan D3 Teknik Elektro Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember (ITS) dengan pihak akademis, lembaga profesi, instansi pemerintah, dan pihak swasta yang terkait dengan pengembangan diri dan lingkungannya.
2.    Menjadi fasilitator
Dalam hal ini himpunan menyediakan suatu wadah kelompok belajar yang mana dalam hal ini bisa menumbuhkan loyalitas dan rasa persaudaraan dalam jurusan karena kelompok belajar ini dari mahasiswa untuk mahasiswa, dalam arti mahasiswa bisa melakukan sharing atau minta penjelasan dari mahasiswa yang lain atau bahkan seniornya untuk membantu kelnacar mahasiswa dalam bidang akademis, begitu juga dalam bidang non akademis. Selain itu dalam himpunan juga terdapat sebuah departemen khusus untuk menjadi fasilitator yang dapat membantu para mahasiswanya.
Menjadi inovator
Seperti sebelumnya dalam hal ini himpunan mempunyai proker, yang mana proker tersebut telah berhasil menciptakan teknologi-teknologe yang canggih dalam bidang elektro. Menjadi innovator bisa saja disebut dengan memberi innovasi-innovasi yang bagus.
dan motivator dalam pengembangan ilmu akuntansi dan aplikasinya untuk kepentingan masyarakat, bersama-sama dengan unsur-unsur terkait.
HIMA D3TEKTRO memiliki beberapa Departemen, diantarnya yaitu:
1.    Departemen PSDM
Departemen ini berperan penting dalam memenuhi kebutuhan mahasiswa tersebut, beberapa program kerja diadakan guna menunjang usaha pemaksimalan potensi para mahasiswa baik kemampuan softskill maupun hardskill. Departemen PSDM tidak hanya sekedar memberikan pelatihan-pelatihan saja tetapi juga memberikan wadah bagi mahasiswa untuk dapat mengaplikaskan secara langsung apa yang telah didapat pada pelatihan tidak hanya di lingkup ITS saja tetapi juga masyarakat luas.
2.    Departemen RISTEK
Departemen ini berperan penting dalam memenuhi kebutuhan mahasiswa tersebut, beberapa program kerja diadakan guna menunjang usaha pemaksimalan potensi para mahasiswa yang khususnya berupa kemampuan hardskill. Departemen RISTEK tidak hanya sekedar memberikan pelatihan-pelatihan saja tetapi juga memberikan wadah bagi mahasiswa untuk dapat mengaplikasikan secara langsung apa yang telah didapat pada pelatihan tidak hanya di lingkup ITS tetapi juga masyarakat luas, seperti :
-Seminar
-Roadshow SMA
-Workshop dan Pelatihan
3.    Departemen DAGRI
Program Kerja yang dijalankan oleh Departemen ini berorientasi kepada pembentukan suasana kekeluargaan di antara mahasiswa jurusan D3 Teknik Elektro. Menjalin komunikasi yang baik antar mahasiswa.
4.    Departemen HUBLU
Departemen ini berorientasi pada pengenalan dan pengetahuan akan kondisi dan keadaan di luar lingkungan perkuliahan, serta membuka wawasan tentang keadaan masyarakat yang berkembang saat ini. Pengenalan yang ada dengan mengajak mahasiswa untuk mengaplikasikan ilmu yang didapat selama ini kepada masyarakat yang membutuhkannya. Selain hal tersebut, departemen luar negeri juga memberikan pandangan kepada mahasiswa tentang lapangan kerja yang akan dihadapi oleh mahasiswa di kemudian hari, dan merupakan sarana mahasiswa untuk memperkenalkan jurusan D3 Teknik Elektro kepada masyarakat umum, serta memberikan pengabdian pada masyarakat, baik pengabdian sosial maupun pengabdian secara umum.
5.    Departemen KESMINFO
Departemen ini bertugas menyampaikan informasi dan komunikasi baik dalam internal maupun eksternal di himpunan.Departemen ini memberikan wadah bagi mahasiswa untuk saling berbagi informasi melalui radio dan website,serta memberikan informasi-informasi terbaru melalui mading maupun website.
   Departemen-departemen diatas, untuk lebih optimalnya dibantu dengan beberapa Divisi yaitu Divisi MnB, Divisi Enterpreneur dan Bisnis, Divisi SosMas, Divisi KesMa.

HAKIKAT HARI KEBANGKITAN NASIONAL UNTUK MAHASISWA
Apa sih Kebangkitan Nasional itu? Mengapa kita memperingati Hari Kebangkitan Nasional? Salah satu alasannya, peristiwa penting dalam proses menuju Indonesia merdeka adalah adanya gerakan kebangkitan nasional yang ditandai dengan kelahiran organisasi Boedi Oetomo pada 20 Mei 1908. sejarah kebangkitan nasional bukan dimotori oleh kaum intelektual saja, tetapi juga oleh gerakan buruh. Sejarah politik Indonesia modern selalu mengidentikkan Kebangkitan Nasional hanya dengan kaum intelektual saja, sedangkan pergerakan rakyat yang lain dikesampingkan dari penulisan sejarah tersebut. Sekarang ini, 103 tahun setelah kebangkitan nasional dan 65 pasca proklamasi kemerdekaan, praktek kolonialisme belum juga menghilang dari bumi Indonesia, malahan mengambil bentuknya yang baru atau sering disebut neo-kolonialisme. Karena itulah, menurut kami, semangat kebangkitan nasional masih sangat relevan untuk dikobarkan kembali saat ini, terutama sekali saat perjuangan hebat melawan neoliberalisme dan imperialisme.
Lalu dikaitkan dengan kehidupan kita yang tidak lepas TIK (komputer dan internet), selain itu kita tingkatkan alat-alat elektronik yang modern dan canggih karena kita sebagai mahasiswa khususnya dijurusan teknik elektro. Apa sih kebangkitan nasional di era informasi ini? Apakah Anda setuju dengan 3 jawaban berikut ini?
1.    Bangkit di era informasi artinya membangun negara berbasis TIK dengan bergantung sepenuhnya kepada produk luar negeri yang tidak bisa kita kuasai sepenuhnya.
2.    Bangkit di era internet artinya mengeruk sebanyak mungkin kekayaan alam seperti minyak, gas, hutan, emas, perak, tembaga, dan lain-lain untuk membeli lisensi dari luar negeri.
3.    Bangkit dengan menciptakan inovasi-inovasi peralatan atau dengan menciptakan teknologi baru dalam bidang elektro, sehingga kita tidak perlu lagi menggantungkan import barang elektronik dari luar negeri.
4.    Bangkit agar tak tertinggal di bidang TIK artinya harus melawan hukum dan etika dengan membajak software. Saya yakin Anda tidak setuju dengan semua jawaban di atas, karena:
1) Kita bangsa yang mampu mandiri, dengan SDM yang sangat mumpuni, terbukti hampir semua olimpiade ilmu pengetahuan dan teknologi, termasuk TIK, SDM kita mampu menjadi juara.
2)      Devisa yang kita miliki dari hasil kekayaan alam itu tidak perlu banyak "dibuang" ke luar negeri untuk urusan software, karena kita mampu menguasai pengembangan software dengan menerapkan konsep Open Source atau Free Software. Misal kita punya Rp 10 trilyun untuk membeli lisensi, maka uang Rp 10 trilyun itu lebih dari cukup untuk mengembangkan dan mengimplementasikan Open Source di dalam negeri, sehingga meminimalisasi biaya lisensi selain meningkatkan kemampuan SDM dalam negeri.
3)      Selain kita punya SDM yang mumpuni, kita bangsa bermartabat, mampu mandiri, dan punya dana untuk membiayai sendiri, maka dipastikan kita tidak perlu mengambil jalan pintas dengan membajak software, karena sangat jelas semua hukum formal dan hukum Tuhan melarangnya.
Ayo, kita pasti bisa bangkit! Kita bangsa bermartabat yang tidak suka mengambil milik orang lain (kalau ada koruptor itu pengecualian), kita bangsa pintar (kalau ada yang bodoh itu karena tidak ingin pintar), kita bangsa yang ingin mandiri (kalau ada yang suka bergantung itu karena sakit), dan kita bangsa merdeka (kalau ada yang senang dijajah itu karena gila) - termasuk merdeka (freedom) di bidang TIK (minimal software). Caranya, gunakan Linux dan/atau open source software alias peranti lunak merdeka lainnya. Kita telah bangkit 103 tahun satu hari. Merdeka hampir 70 tahun dengan enam presiden telah berkuasa, tetapi, apakah Indonesia telah merdeka setelah pemerintahan dan kekuasaan kita tentukan sendiri. Seyogyanya, rakyat kita benar-benar bangkit menuju kemerdekaan hasil desain Budi Utomo ber-spirit Sumpah Pemuda. Merdeka dari kemiskinan dan kemelaratan, bebas dari kebodohan, bebas dari penindasan, bebas dari ketidakadilan, dan utamanya bebas dari korupsi.
Jangan kita sia-siakan perjuangan jutaan rakyat yang mengorbankan dirinya untuk membangkitkan Nasionalisme Indonesia, memerdekakan Indonesia dan mempertahankan kemerdekaan itu. Kita hanya menjadikan spirit kebangkitan untuk merdeka di berbagai bidang, merdeka dalam kesetaraan dan keadilan. Merdeka dalam kemerdekaan yang sebenarnya. Apakah itu sudah terwujud? Sepertinya rakyat belum merdeka seutuhnya. Merdeka!!!


RENEWABLE MAESTRO (progREssive, hoNorablE, Willingness, And responsiBLE)
            Manusia adalah makhluk Tuhan yang paling sempurna, Tuahan memberikan akal pikiaran serta hawa nafsu kepada manusia. Hewan diciptakan didunia ini hanyalah diberi nafsu selain itu hal lain yang dimiliki hewan adalah instink. Oleh karena itu kita sebagai makhluk Tuhan yang paling sempurna, hendaknya menyadari bahwa dibalik kesempurnaan ini ada tanggung jawab dan amanat yang besar. Lebih-lebih manusia yang diciptakan dengan akal dan pikiran yang sehat, bisa dibuat berfikir untuk menentukan antara mana yang baik dan mana yang buruk. Mahasiswa adalah salah satu manusia yang tercipta dengan mempunyai akal yang sehat. Dalam hal ini mahasiswa mempunyai peranan yang berarti untuk kelangsungan hidup umat manusia, maju tidaknya suatu masa nantinya, itu tergantung pemuda pada saat itu. Sejarah telah membuktikan bahwa di tangan generasi mudalah perubahan- perubahan besar terjadi, dari zaman nabi, kolonialisme, hingga reformasi, pemudalah yang menjadi garda depan perubah kondisi bangsa. Kehidupan pemuda adalah tergantung kepada ilmu dan ketaqwaannya, apabila keduanya tidak dimiliki, maka akan sia-sialah kepemudaannya. Ilmu itu dapat menggerakan orang yang rendah pada kemuliaan yang tinggi, sedang yang bodoh itu dapat menurunkannya derajat kehebatan pemuda.(Ali bin Abi TholiB). Kita sebagai mahasiswa hendaknya menyadari hal tersebut.
Mahasiswa dituntut untuk memiliki pemikiran yang progressive. Dalam hal ini penting, karena mahasiswa adalah sebuah pemegang tongkat estafet orang-orang yang lebih dahulu dari mereka. Suatu negara itu bisa baik apabila pemuda saat itu memiliki pemikiran yang maju. Mereka mengatur atau memanage negaranya sedemikian rupa hingga negaranya itu bisa dikenal oleh dunia. Mereka berlomba-lomba untuk menciptakan innovasi-innovasi baru yang sangat bermanfaat dalam kehidupan. Dalam hal ini mereka tidak mau kalah dalam persaingan kancah nasioanal atau internasional, innovasi-innovasi yang muncul adalah innovasi yang sekaligus bisa menjadi solusi problem pada saat itu, atau paling tidak mereka mempunyai innovasi yang baik untuk peradaban pada masa itu. Selain itu mahasiswa adalah penyambung lidah masyarakat atau sebagai jembatan masyarakat untuk menyampaikan segala aspirasi masyarakat. Mahasiswa dalam hal hubungan pemerintah ke masyarakat dapat berperan sebagai penyambung lidah pemerintah. Mahasiswa diharapkan mampu membantu menyosialisasikan berbagai kebijakan yang diambil oleh pemerintah. Tak jarang kebijakan-kebijakan pemerintah mengandung banyak salah pengertian dari masyarakat, oleh karena itu tugas mahasiswalah yang harus menerjemahkan maksud dan tujuan berbagai kebijakan kontroversial tersebut agar mudah dimengerti masyarakat.
            Mahasiswa apabila bisa melakukan yang sedemikian diatas, maka hal tersebut menjadi kebanggan tersendiri. Mereka mendapatkan perhatian menjadikannya honorable dimata masyarakat maupun pemerintahan.
            Untuk mewujudkan hal yang sedemikian itu memang tidaklah mudah, perlu kesabaran dan kontinuitas dalam melaksanakannya, tapi setiap ada kemauan dan usaha juga diselingi do’a insya Allah akan tercapai. Kemauan itu bisa menjadi modal awal seseorang untuk mengubah dirinya menjadi lebih baik. Dengan adanya kemauan dan kemampuan yang mendukung, segala sesuatu bisa tercapai. Kemauan mendorong seseorang untuk melakukan sesuatu hal. Semua itu tergantung dari kemauan individu. Kemauan kalau dihubungkan dengan kebutuhan maka dalam memenuhinya akan memotivasi seseorang untuk melakukan hal tersebut. Hal yang demikian perlu digaris bawahi, karena kebutuhan individu tidaklah sama. Jangan sampai karena kebutuhan pribadi melupakan adanya norma-norma yang berlaku dalam kehidupan bermasyarakat.
            Mahasiswa pun dapat berperan sebagai penyampai aspirasi rakyat, dengan melakukan interaksi sosial dengan masyarakat dilanjutkan dengan analisis masalah yang tepat maka diharapkan mahasiswa mampu menyampaikan realita yang terjadi di masyarakat beserta solusi ilmiah dan bertanggung jawab dalam menjawab berbagai masalah yang terjadi di masyarakat. Sebagai mahasiswa yang berbudi luhur, patutlah kalau dia harus bertanggung jawab atas apa yang teah dia perbuat. Dalam kehiduapan zaman sekarang jarang seseorang itu sadar akan kewajiban dan tanggung jawab yang mereka emban. Mereka hanyalah berfikir bagaimana caranya agar hak-hak mereka terpenuhi tanpa melakukan kewajiban mereka terlebih dahulu. Sebagai mahasiswa hendaknya kita bisa menjadi contoh bagi masyrakat umum dari semua topik yang telah dibahas diatas. Jangan sampai malah kita memberikan contoh yang jelek kepada masyarakat.

Senin, 19 Desember 2011

belajar pemrograman

Pemrograman Komputer
Modul 1
Pengenalan IDE Python
Pada modul ini, akan diperkenalkan IDLE yang merupakan editor untuk mem-
buat program dalam bahasa python dan cara penggunaannya.
1.1 Lingkungan Pengembangan Terpadu (IDE)
Pada pemrograman python, ada banyak IDE yang dapat digunakan tetapi pa-
da praktikum kali ini akan digunakan IDE yang sudah disediakan oleh paket
python yaitu IDLE. IDLE (Integrated Development Editor) merupakan suatu
editor kode program, bantuan interaktif, dan debugging yang digunakan untuk
melakukan development program dengan menggunakan bahasa python. Seper-
ti yang dapat dilihat pada gambar 1.1, bahwa IDLE dapat dibagi menjadi dua
bagian besar yaitu Interactive Shell dan Teks Editor . Untuk menjalankan
editor IDLE masuk ke menu All programs Python 2.6 IDLE (Python
GUI)
1.1.1 Interactive Shell
Interactive shell merupakan fasilitas yang dipunyai oleh bahasa pemrograman
yang berjenis intepreter, yaitu bahasa pemrograman yang menterjemahkan
satu per satu baris dari kode program untuk dijalankan pada sistem. Pa-
da IDLE, interactive shell digunakan untuk melakukan komputasi secara per
baris atau bisa juga digunakan untuk mencari kesalahan yang timbul pada
saat program dijalankan. Cobalah untuk mengetikkan beberapa perintah pa-
da interactive shell seperti contoh berikut
> > > print Hello World
Hello World
> > > print 5+3
8
5
Gambar 1.1: Screen shot dari IDLE
Seluruh kata yang dicetak tebal, miring, dan berwarna biru merupakan kata
yang diketikkan pada interactive shell dan kata yang berwarna hitama selain
simbol (> > >) adalah hasil keluaran dari perintah yang diberikan.
1.1.2 Teks Editor
Teks editor pada IDLE digunakan untuk menulis kode program dan melakukan
eksekusi kode program tersebut pada interactive shell. Teks editor yang digu-
nakan sudah mendukung auto completion dengan menekan tombol ctrl+spasi
sehingga IDLE akan menyarankan semua keyword python yang mungkin akan
digunakan pada kode program. Anda akan banyak bekerja dengan menggu-
nakan teks editor ini. Pada saat awal eksekusi program IDLE jendela teks
editor tidak akan muncul dan untuk dapat memunculkan jendela tersebut da-
pat digunakan menu File New Window .
1.2 Struktur Program Python
Struktur program python secara umum terbagi menjadi tiga bagian yaitu head-
er, de nisi fungsi, dan program utama. Contoh program python secara lengkap
adalah sebagai berikut
6
# header
from numpy import *
import math
# fungsi-fungsi
def PCA(x, y):
print Fungsi 1
# main program
print Main Program
Sekedar info, baris yang diawali dengan tanda kres merupakan komentar dan
tidak akan diproses oleh python intepreter. Header berfungsi untuk menen-
tukan module mana yang akan digunakan dalam program. Module merupakan
pustaka tambahan yang disediakan oleh python atau oleh orang lain dan dapat
digunakan dalam program untuk mempermudah pembuatan program. Seba-
gai contoh diatas, kode program tersebut menggunakan semua module yang
ada pada namespace numpy dan menggunakan module math yang disediakan
oleh python.
De nisi dari fungsi-fungsi digunakan untuk menyederhanakan program dan
main program merupakan awal kode program yang akan dieksekusi oleh python
intepreter. Pemisah yang digunakan oleh python untuk membedakan antara
blok perintah satu dengan blok perintah lainnya adalah dengan tabulasi. Pada
program diatas contoh pemisah blok dapat dilihat pada fungsi PCA.
1.3 Latihan 1.1: Program Sederhana
Pada latihan 1 ini, Anda akan diperkenalkan bagaimana membuat program
secara sederhana dengan menggunakan bahasa python dan editor IDLE.
1. Buat jendela teks editor baru dengan menggunakan menu File New
Window lalu tulislah kode program berikut
# Program 1
print "PRAKTIKUM PEMROGRAMAN KOMPUTER"
print "Ini adalah program yang ditulis dengan Bahasa Python"
print "Berikut contoh program penambahan"
a = 2
b = 3
hasil = a + b
print "hasil = a + b"
print "hasil = %d + %d" % (a,b)
print "hasil = %d" % (hasil)
7
2. Simpan le kode program tersebut dengan menggunakan menu File
Save atau dengan menekan tombol ctrl+S. Sesuaikan nama le dengan
nama latihan ini. Perlu diingat, jangan lupa menyertakan tambahan
ekstensi le .py pada akhir nama dari le karena IDLE tidak secara
otomatis menambahkan ekstensi le tersebut.
3. Untuk menjalankan kode program dapat dilakukan dengan menggunakan
menu Run Run Module atau dengan menekan tombol F5.
4. Perhatikan keluaran yang dihasilkan oleh kode program tersebut.
1.4 Latihan 1.2: Deteksi Kesalahan Sintak
Kesalahan sintak merupakan sesuatu yang wajar dalam pembuatan suatu pro-
gram, oleh karena itu pada latihan 2 ini akan disimulasikan bagaimana mencari
suatu kesalahan dengan menggunakan editor IDLE.
1. Buat jendela teks editor baru dengan menggunakan menu File New
Window lalu tulislah kode program berikut
# Program 1
print "PRAKTIKUM PEMROGRAMAN KOMPUTER"
print "Ini adalah program yang ditulis dengan Bahasa Python"
print "Berikut contoh program penambahan"
a := 2
b = 3
hasil = a + b
print "hasil = a + b"
print "hasil = %d + %d" % (a,b)
Print "hasil = %d" % (hasil)
2. Simpan le kode program tersebut dengan menggunakan menu File
Save atau dengan menekan tombol ctrl+S. Sesuaikan nama le dengan
nama latihan ini. Perlu diingat, jangan lupa menyertakan tambahan
ekstensi le .py pada akhir nama dari le karena IDLE tidak secara
otomatis menambahkan ekstensi le tersebut.
3. Jalankan program tersebut dengan tombol F5, maka akan muncul pesan
kesalahan sebagaimana gambar berikut
4. Tekan tombol OK maka IDLE akan membawa kursor Anda ke baris
pada kode program yang mempunyai sintak yang salah seperti yang di-
tunjukan pada gambar berikut.
8
5. Perbaiki kesalahan tersebut, lalu jalankan kembali kode programnya. Ke-
salahan yang sama muncul lagi tetapi pada baris yang berbeda, yaitu pa-
da baris terakhir dimana perintah print salah dituliskan menjadi Print.
Perlu diingat, bahwa kode program yang dituliskan dengan bahasa
python bersifat case sensitif sehingga perintah print dan Print adalah
dua perintah yang berbeda.
1.5 Tugas
1. Perbaiki kesalahan yang terdapat dalam kode program berikut
print Hello, World!
print 2 + 2,
Print Test 123
a = 2 * 4
print aa
2. Buatlah program yang menampilkan nama dan NRP Anda dalam dua
baris keluaran.
9
10
Modul 2
Input / Output (I/O)
Pada modul praktikum yang kedua ini, dibahas permasalahan yang berhubun-
gan dengan input / output yaitu bagaimana menampilkan suatu nilai atau
objek pada layar serta bagaimana menangani masukan dari user untuk diolah
dalam program yang kita buat. Perintah yang akan dibahas adalah perintah
print, input, dan raw_input.
2.1 Menampilkan Data Dengan Perintah print
Perintah print merupakan perintah dasar dari python yang dapat menampilkan
seluruh data yang disupport secara native oleh python. Ada beberapa cara
memanggil perintah print yaitu:
ˆ Memanggil perintah print dengan menggunakan koma sebagai pemisah
antar objek yang akan ditampilkan. Koma juga sebagai pemisah antara
dua objek yang akan ditampilkan dengan menggunakan karakter spasi.
Contoh pemanggilannya adalah sebagai berikut
print 2 + 2 is , 2 + 2
print "3 * 4 is", 3 * 4
print "100 - 1 is", 100 - 1
print "(33 + 2) / 5 + 11.5 is", (33 + 2) / 5 + 11.5
ˆ Memanggil perintah print dengan menggunakan format fungsi printf
yang terdapat pada bahasa C dan sebagai parameter, %s digunakan
untuk menampilkan string, %d untuk bilangan bulat, %f untuk bilan-
gan pecahan, dan %c untuk karakter. Contoh pemanggilannya adalah
sebagai berikut
print 2 + 2 is %d % (2 + 2)
print "3 * 4 is %d" % (3 * 4)
print "100 - 1 is %d" % (100 - 1)
print "(33 + 2) / 5 + 11.5 is %f" % ((33 + 2) / 5 + 11.5)
11
ˆ Setiap menggunakan perintah print maka python akan secara otomatis
menambahkan perintah untuk pindah baris pada akhir instruksi. Jika
perintah pindah baris tidak diinginkan maka perintah print harus dita-
mbahkan koma pada akhir baris.
ˆ Dapat ditambah dengan karakter khusus (escape sequence) yang didahu-
lui dengan tanda \ , yaitu pindah baris \n dan tab \t .
Latihan 2.1: Menampilkan Data
# File : print_.py
var_int = 10
var_float = 1.2345
var_str = Hello, World!
print Python Style
print Integer = , var_int
print Floating-point = , var_float
print String = , var_str
print
print C style
print Integer = %d % (var_int)
print Floating-point = %f % (var_float)
print String = %s % (var_str)
print
print Control khusus
print Pindah baris dua kali\n
print Nggak pindah baris ,
print \tmasih satu baris
2.2 Input Data
Input data yang dilakukan oleh user merupakan hal yang penting dalam pem-
rograman python. Ada dua perintah yang dapat digunakan untuk melakukan
input data yaitu perintah input dan perintah raw_input.
2.2.1 Perintah input
Perintah input digunakan untuk melakukan input data jenis numerik. Dengan
menggunakan perintah input. harus dipastikan bahwa user akan menginputkan
data yang berupa numerik karena jika data yang diinputkan tidak berupa data
numerik maka perintah input akan mengeluarkan pesan kesalahan. Contoh
12
penggunaan perintah input dan kesalahannya jika data yang diinputkan bukan
data numerik adalah sebagai berikut.
>>> a = input (" Masukkan suatu bilangan = ")
Masukkan suatu bilangan = 20
>>> a = input (" Masukkan suatu bilangan = ")
Masukkan suatu bilangan = Saya Juga
Traceback ( most recent call last ):
File "< pyshell #0 >" , line 1, in <module >
a = input (" Masukkan suatu bilangan = ")
File "< string >", line 1
saya juga
^
SyntaxError : unexpected EOF while parsing
2.2.2 Perintah raw_input
Perintah raw_input dapat digunakan dengan cara yang sama dengan peng-
gunaan perintah print, tetapi hasil data yang diinputkan akan selalu berupa
string. Perintah raw_input dapat digunakan untuk input data string dan nu-
merik dengan cara tertentu. Contoh penggunaan perintah raw_print adalah
sebagai berikut.
>>> a = raw_input (" Masukkan suatu kata = ")
Masukkan suatu kata = Saya Juga
>>> b = float ( raw_input (" Masukkan suatu bilangan = "))
Masukkan suatu bilangan = 10.56
>>> c = int ( raw_input (" Masukkan suatu bilangan = "))
Masukkan suatu bilangan = 106
>>> a, b, c
(' Saya Juga ', 10.56 , 106)
Latihan 2.2: Menginputkan dan Menampilkan Data
kuliah = " Praktikum Prokom "
nama = raw_input (" Masukkan nama Anda = ")
nrp = input (" Masukkan NRP Anda = ")
print
print " Selamat Datang di mata kuliah ", kuliah
13
2.3 Tugas
1. Buatlah tabel dengan format text (bukan gra k) sebagai berikut. Isilah
xxx, yyy, dan zzz dengan sembarang data.
Data 1
Nama : xxx
NRP : yyy
Alamat : zzz
Data 2
...
Data 3
...
----------------------------------------------------------
| Nama | NRP | Alamat |
----------------------------------------------------------
| xxx | yyy | zzz |
----------------------------------------------------------
| ... | ... | ... |
----------------------------------------------------------
| ... | ... | ... |
----------------------------------------------------------
2. Buatlah kuitansi pembayaran dengan format display sebagai berikut. Isi-
lah xxx, yyy, dan zzz dengan data yang dimasukkan oleh user serta ppp
diisi dengan nama Anda.
--------------------------------------------------------------------
| |
| Sudah Terima Dari : xxx_________________________________________ |
| |
| Sebanyak : Rp. yyy_____________________________________ |
| |
| Untuk Keperluan : zzz_________________________________________ |
| ____________________________________________ |
| |
| Surabaya, 12 Sept 2010 |
| |
| |
| _________ppp_________ |
| |
--------------------------------------------------------------------
14
Modul 3
Variabel, List, Operator, dan
Lambda
3.1 Variabel dan Tipe Data
Tipe data menyatakan pola penyajian data dalam komputer: karakter, bilan-
gan, string, record. Tipe data dibedakan menjadi dua yaitu tipe data dasar
dan tipe data khusus. Tabel dibawah menampilkan beberapa tipe data dasar
dan domainnya, yang dikenal dalam Python.
Nama Tipe Data Ukuran (byte) Jangkauan
integer 4 -2147483648 - 2147483649
long integer tak hingga tak hingga
oat 8 2.2e-308 - 1.7e+308
string - -
Variabel merupakan penampung data yang isinya dapat diubah. Data yang
dapat disimpan adalah data sesuai dengan tipenya.
Nama variabel terdiri dari huruf, angka dan garis bawah, dapat didahului oleh
huruf dan garis bawah, dengan ketentuan:
1. Tidak dapat didahului oleh angka.
2. Tidak dapat menggunakan operator hitung dan karakter-karakter khusus:
+ - / * % : ; . , # @ $ &
3. Nama variabel tidak dapat disela dengan spasi.
4. Tidak dapat menggunakan reseved words.
5. Huruf besar dan huruf kecil berbeda.
15
Pemberian (assignment) nilai ke Variable
Tipe data dari variabel ditentukan oleh isi yang diberikan oleh programmer.
Jika programmer memberikan nilai yang masuk dalam range integer maka vari-
abel tersebut akan bertipe integer, jika oating-point maka variabel tersebut
akan bertipe oat, dan seterusnya. Berikut merupakan contoh dari penggu-
naan variabel
>>> a = 10.5
>>> type (a)
<type 'float '>
>>> a = 10
>>> type (a)
<type 'int '>
>>> a = 2**1024
>>> type (a)
<type 'long '>
>>> a = " Ini String "
>>> type (a)
<type 'str '>
Latihan 3.1
# Program 3.1
import math
r = input (" Jari - jari lingkaran = ")
print " Luas lingkaran =", math .pi*r*r
Latihan 3.2
# Program 3.1
import math
r = input (" Jari - jari lingkaran = ")
luas = math .pi*r*r
print " Luas lingkaran =", luas
3.2 List
List pada dasarnya adalah sebuah array yang bisa terdiri dari satu jenis tipe
data ataupun terdiri dari beberapa tipe data. Tuple sedikit banyak merupakan
suatu list, hanya saja pada tuple isi dari tuple tersebut bersifat read-only.
16
3.2.1 List Satu Dimensi
List adalah deretan variabel yang mempunyai tipe data tertentu dan mempun-
yai nilai yang sama. Pada bahasa Python, list dapat dideklarasikan dengan
menggunakan perintah sebagai berikut.
list_a = [10 , 10, 20, 30, 40]
list_b = [" Ini string ", 1, 2, 3]
list_c = [" String 1", 1.0 , 2.0 , 1E -20 , 10.3456]
Akses ke dalam list dapat menggunakan beberapa cara, yaitu dengan meng-
gunakan index langsung, index backward, dan slice. Berikut contoh masing-
masing cara tersebut.
a = list_a [0] # a = 10
a = list_a [0:3] # a = [10 , 10, 20]
a = list_a [:: -1] # a = [40 , 30, 20, 10, 10]
a = list_a [ -1] # a = 40
a = list_a [ -3::] # a = [20 , 30, 40]
3.2.2 List Multidimensi
List multidimensi mempunyai dimensi yang lebih dari 1, seperti pendeklarasian
suatu matriks. Semua aturan pada list multidimensi sama dengan aturan yang
ada pada list satu dimensi. Dimensi yang digunakan antara data pertama dan
data berikutnya tidak harus sama dan dapat berubah sesuai dengan data yang
digunakan. Berikut merupakan contoh perintah untuk mendeklarasikan suatu
list multidimensi.
list_a = [ [0 ,1 ,0] , [1 ,1 ,1] , [3 ,3 ,3] ]
list_b = [ " String 1", " String 2", [3 ,4 ,5] ]
list_c = [ [0.0 , 1.0 , 0.0] , [1 ,1 ,1] , [3.56 , 1.234 , 23.45] ]
Akses ke dalam list mempunyai aturan ysng sama dengan akses data pada list
satu dimensi. Berikut merupakan contoh akses data untuk list multidimensi.
a = list_a [0][1] # a = 1
a = list_a [:: -1][0] # a = [3 ,3 ,3]
a = list_a [ -1] # a = [3 ,3 ,3]
a = list_a [ -2::] # a = [[1 ,1 ,1] ,[3 ,3 ,3]]
17
Latihan 3.3
# Program 3.3
N = 5
tab = [0] * N
for i in range (N):
tab [i] = i
for i in range (N):
print "i =", i, " tab [i] =", tab [i]
Latihan 3.4
# Program 3.4
b = [ [0 ,0 ,0] ] * 5
for i in range (3):
for j in range (5):
b[j][i] = i*j
print b[j][i], " ",
print
3.3 Fungsi Lambda
Fungsi lambda adalah suatu fungsi yang mepresentasikan suatu fungsi anony-
mouse untuk perumusan tertentu. Berikut contoh perbedaan dan penggunaan
antara fungsi biasa dengan fungsi lambda.
>>> def f (x): return x **2
...
>>> print f (8)
64
>>>
>>> g = lambda x: x **2
>>>
>>> print g (8)
64
Setiap yang dapat dilihat pada kode diatas, f() dan g() melakukan perintah
yang sama dan dapat digunakan dengan cara yang sama. Fungsi lambda di-
adaptasi oleh python dari functional programming dan keuntungan dari fungsi
lambda adalah tidak perlu mendeklarasikan variabel apapun.
18
3.4 Operator
Operator merupakan simbol atau kata yang digunakan untuk operasi dan ma-
nipulasi dalam program yang melibatkan satu (unary operator) atau dua nilai
(binary operator).
Operator Aritmatika
Merupakan operator untuk operasi aritmatika seperti:
Tabel 3.1: Operator Aritmatika
Operator Operasi Operator Operasi
* Perkalian - Perhitungan
/ Pembagian + Penambahan
% Sisa Pembagian ** Pangkat
Latihan 3.5
# Program 3.5
i = 100
j = i * 2
k = j / 4
l = k % 3
f = lambda x: x **2 +
print " Nilai i: %d \ nNilai j: %d" % (i,j)
print " Nilai k: %d \ nNilai l: %d" % (k,l)
Operator Relasi
Merupakan operator untuk membandingkan dua buah nilai. Keluaran atau
hasil pembandngan adalah kondisi benar atau kondisi salah.
Tabel 3.2: Operator Relasi
Operator Operasi Operator Operasi
< lebih kecil >= lebih besar atau sama dengan
<= lebih kecil atau sama dengan == sama dengan
> lebih besar != tidak sama dengan
Operator Logika
Merupakan operator untuk menghubungkan satu atau lebih kondisi. Kondisi
bisa merupakan hasil pembandingan yang menggunakan operator relasi.
19
Tabel 3.3: Operator Logika
Operator Operasi
and Logika AND
or Logika OR
not Logika NOT
Tabel 3.4: Kebenaran operasi AND dan OR
Operator AND Operator OR
Kondisi 1 kondisi 2 Hasil
Salah Salah Salah
Salah Benar Salah
Benar Salah Salah
Benar Benar Benar
Kondisi 1 kondisi 2 Hasil
Salah Salah Salah
Salah Benar Benar
Benar Salah Benar
Benar Benar Benar
Latihan 3.6
# Program 3.6
k = 2 * 3
l = (k == 6)
m = 5 or 10
print "K =", k, "L =", l, "M =", m
3.5 Tugas
1. Buatlah program untuk menghitung luas dan keliling dari bangun perse-
gi, segi tiga, jajar genjang !
2. Buatlah program untuk menghitung volume dari tabung, balok dan pris-
ma segi tiga!
3. Buatlah program untuk operasi 2 matrik (tambah, kurang, kali, deter-
minan dan transpose) dengan ukuran matrik 3x3!
20
Modul 4
Kontrol Program
4.1 Pernyataan if
Pada model pernyataan if, sebuah aksi akan dikerjakan jika syarat yang dia-
jukan bernilai benar
Gambar 4.1: Pernyataan if dalam bentuk owchart
Bentuk umum:
if syarat :
aksi1
Aksi dapat terdiri dari satu baris pernyataan atau berupa sekumpulan (block)
baris pernyataan.
Latihan 4.1
# Program 4.1
print " Contoh if satu kasus "
a = input (" Ketikkan suatu nilai integer : ")
if a >= 0:
print " Nilai a positif "
21
4.2 Pernyataan if ... else
Pada model pernyataan ini, aksi1 akan dikerjakan jika syarat bernilai benar
sedangkan jika salah maka aksi2 yang akan dikerjakan.
Gambar 4.2: Pernyataan if..else dalam owchart
Bentuk umum:
if syarat :
aksi1
else :
aksi2
Latihan 4.2
# Program 4.2
print " Contoh if dua kasus "
a = input (" Ketikkan suatu nilai integer : ")
if a >= 0:
print " Nilai a positif ", a
else :
print " Nilai a negatif ", a
Pernyataan if..else dapat dibuat secara bertingkat sesuai dengan kebutuhan
penggunaannya pada program.
Gambar 4.3: Pernyataan if..else dalam owchart
22
Bentuk umum:
if syarat1 :
aksi1
else :
if syarat2 :
aksi2
else :
aksi3
4.3 Pernyataan for
Pada pengulangan dengan for diperlukan ungkapan untuk deklarasi variabel
dan angka maksimum yang bisa dicapai oleh variabel.
Bentuk umum:
for variabel in range ( max ):
pernyataan
Latihan 4.3
# Program 4.3
print " Baca N, print 1 s/d N"
N = input ("N=")
for i in range (N):
print i
print " Akhir program "
4.4 Pernyataan while
Pada pengulangan jenis ini, pengecekan dilakukan diawal dan akan terus di-
lakukan sampai syarat yang diminta memiliki nilai false. Pengulangan dengan
while ini hampir sama dengan pengulangan dengan for jika inisialisai dile-
takkan sebelum blok pengulangan.
Bentuk umum:
while syarat :
pernyataan
23
# transformasi dari jenis perulangan for
inisialisasi
while syarat :
pernyataan
penambahan
Latihan 4.4
# Program 4.4
N = input (" Nilai N=")
print " print i dengan WHILE :"
i = 1
while i <= N:
print i
i = i + 1
4.5 Pernyataan switch case
Pada bahasa pemrograman python, tidak terdapat keyword khusus yang digu-
nakan untuk pernyataan switch case tetapi dapat digunakan pernyataan if..elif
untuk menggantikan pernyataan switch case.
Gambar 4.4: Pernyataan switch case pada owchart
Bentuk umum :
if syarat1 :
aksi1
elif syarat2 :
aksi2
elif syarat3 :
aksi3
24
Latihan 4.5
# Program 4.5
cc = raw_input (" Ketikkan sebuah huruf , akhiri dengan enter \n")
if cc == "o":
print " Yang anda ketikkan adalah o"
elif cc == "a":
print " Yang anda ketikkan adalah a"
elif cc == "u":
print " Yang anda ketikkan adalah u"
elif cc == "e":
print " Yang anda ketikkan adalah e"
elif cc == "i":
print " Yang anda ketikkan adalah i"
else :
print " Yang anda ketik adalah huruf mati "
4.6 Tugas
1. Buatlah program yang mencetak bilangan biner dari input bilangan dec-
imal integer!
2. Buatlah program dengan menggunakan pernyataan perulangan yang me-
nampilkan hasil sebagai berikut :
*
**
***
****
*****
... (sebanyak N, dimana N adalah input)
****
***
**
*
3. Buatlah program dengan menggunakan pernyataan perulangan yang me-
nampilkan hasil sebagai berikut :
*
*
*
*
*
*
*
*
*
25
26
Modul 5
Fungsi dan Parameter
5.1 Pengertian fungsi
Fungsi adalah suatu bagian dari program yang dimaksudkan untuk menger-
jakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang
menggunakannya.
Berdasarkan keluaran dan masukannya fungsi dapat dibagi menjadi 4. Yang
dimaksud keluaran adalah fungsi yang mengembalikan suatu nilai tertentu dan
yang dimaksud dengan masukan adalah parameter yang merupakan inputan
pada fungsi.
1. Fungsi tanpa masukan dan keluaran
Contoh: print()
2. Fungsi tanpa keluaran dan dengan masukan
Contoh: print( Ini text )
3. Fungsi dengan keluaran dan tanpa masukan
Contoh: time()
4. Fungsi dengan keluaran dan masukan
Contoh: input( N= )
5.2 Fungsi tanpa parameter
Fungsi ini merupakan fungsi yang tidak memiliki parameter inputan namun
fungsi ini tetap melaksanakan tugas tertentu.
Bentuk umum :
def nama_fungsi ():
pernyataan
27
Latihan 5.1
# Program 5.1
def input_data ():
" Fungsi pertama "
nama = raw_input (" Nama : ")
nrp = raw_input (" NRP : ")
def cetak_string ():
print " Ini adalah fungsi yang mencetak string "
print " Silahkan masukkan data "
input_data ()
cetak_string ()
5.3 Fungsi dengan parameter
Fungsi ini merupakan fungsi yang memiliki sejumlah parameter dengan tugas
tertentu. Perlu digaris bawahi bahwa semua parameter memiliki jenis pengi-
riman by reference sehingga jika dilakukan manipulasi parameter pada fungsi
maka nilai dari parameter tersebut juga akan berubah sesuai dengan data yang
diisikan.
Bentuk umum :
def nama_fungsi ( argumen1 , argumen2 , ...):
pernyataan
Latihan 5.2
# Program 5.2
def cetak_string (par1 , par2 ):
print " Nama mahasiswa adalah ", par1
print " NRP mahasiswa adalah ", par2
def hitung (a, b):
print " Hasil penjumlahan ", a, "+", b, " adalah " ,(a+b)
# main program
nama = raw_input (" Nama = ")
nrp = raw_input (" NRP = ")
cetak_string (nama , nrp )
bil1 = 10
bil2 = 12
hitung (bil1 , bil2 )
28
5.4 Fungsi dengan keluaran
Fungsi dengan keluaran merupakan suatu fungsi yang mengembalikan suatu
nilai tertentu kepada pemanggil fungsi.
Bentuk umum :
def nama_fungsi ( argumen1 , argumen2 , ...):
pernyataan
return [ value1 , value2 , ...]
Latihan 5.3
# Program 5.3
def tambah (a, b):
jum = a + b
return jum
def kurang (c, d):
return c - d
bil1 = input (" Masukkan nilai A : ")
bil2 = input (" Masukkan nilai B : ")
hasil = tambah (bil1 , bil2 )
print " Hasil penjumlahan :", hasil
print " Hasil pengurangan :", kurang (bil1 , bil2 )
Latihan 5.4
# Program 5.4
def tambah_kurang (a, b):
return [a + b, a - b]
bil1 = input (" Masukkan nilai A : ")
bil2 = input (" Masukkan nilai B : ")
[plus , minus ] = tambah_kurang (bil1 , bil2 )
print " Hasil penjumlahan :", plus
print " Hasil pengurangan :", minus
5.5 Fungsi rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri secara berulang-
ulang. Karena prosesnya dilakukan secara berulang-ulang maka harus ada
29