250 likes | 457 Views
Kuliah #2 Penulisan algoritme Pseudocode Menentukan output suatu algoritme. Algoritme dan Pemrograman. Pengumuman. Untuk minggu-minggu selanjutnya lembar praktikum akan dikirimkan ke semua peserta kuliah algor melalui milis algorganjil1112
E N D
Kuliah #2 Penulisanalgoritme Pseudocode Menentukan output suatualgoritme AlgoritmedanPemrograman
Pengumuman • Untukminggu-mingguselanjutnyalembarpraktikumakandikirimkankesemuapesertakuliahalgormelaluimilis algorganjil1112 • Setiappesertapraktikumdipersilahkanuntukmengunduhdanmencetaklembarkerjapraktikumnyasendiri-sendirikemudianmambawanyapadasaatpraktikum. • Setelahdiisilembarkerjaakandikumpulkanuntukdinilaiolehasistendanakandikembalikanmingguberikutnyakepadapeserta. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Apakah Learning Center (LC) • SalahsatukuncisuksesdalamAlgoritmedanPemrogramanadalahbanyakberlatihsoal. • Learning Center adalahsebuahsitus web yang berisilatihan-latihansoalAlgoritmedanPemrograman. • MahasiswapesertaAlgoritmedanPemrograman WAJIB mengecek LC setiapminggunyauntukmelihatsoal-soalmingguan. • Soalmingguan WAJIB dikerjakandandikumpulkan (secara online dan offline) sebelumbataswaktu yang telahditentukan. • Skornilaipada LC akanmenjadisyaratapakahseseorangdapatmengikutiujianpraktikumatautidak. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Review:Algoritme dan Program • Algoritme langkah-langkah yang disusunsecaraberstrukturdanterurutuntukmenjawabsuatupersoalandenganmenggunakanbahasamanusia. • Program Komputer: • Instruksiterstruktur yang disusundandiberikankepadakomputeruntukdilaksanakandenganmenggunakanbahasapemrogramantertentu, misalnya C, Pascal, Basic, dsb. • Implementasidarialgoritme yang telahdisusunsebelumnya. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Pseudocode • Pseudocodemerupakansalahsatucarapenulisanalgoritme yang baku, dengantujuan agar idedanlogikaalgoritmetersebutdapatdisampaikandenganmudah. • Lebihmirip (tetapitidaksama) dengansuatubahasapemrogramantertentu. • PseudoC (alias pseudocode C) adalahpseudocode yang banyakmengadopsitataaturanbahasapemrograman C. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #1Menjumlahkan dua bilangan bulat // Algoritmemenjumlahkanduabil.bulat procedure jumlah { read(a, b); c = a+b; print(c); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #2Menentukan bilangan terkecil // Algoritmemenentukanbilanganterkecil // daritigabilangan procedure kecil3 { read(a, b, c); if (a<b) && (a<c) print(a); else if (b<c) print(b); else print(c); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode • Variabel • Perintah atau instruksi • Assignment atau penugasan dan ekspresi • Struktur kendali aliran • Komentar DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode:VARIABEL • Variabeladalahelemendarialgoritmeuntukmenyimpannilaitertentupadasuatusaat, danpadasaat yang lain nilaiinidapatdiubahmenjadinilailainnyasesuaikebutuhan. • Dituliskandengansuatunama yang unik, terdiridarialphanumerictetapiharusdimulaidenganhuruf. • Case-sensitive • Contoh: a, b, c, n, sum, ..... • Padacontoh #1, manasaja yang termasukvariabel? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode:INSTRUKSI/PERINTAH • Perintah/instruksiadalahsatuanoperasionaldarisuatualgoritme. • Dinyatakandalamkalimatsehari-hari yang mudahdipahamidankonsisten. • Contoh: • read(a,b,c); • print(sum); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode:ASSIGNMENT dan EKSPRESI • Assignmentataupenugasanadalahpemberiannilaipadasebuahvariabel, dapatberupanilai literal, nilaidarivariabel lain, ataunilaisuatuekspresi. • Ekspresiadalahoperasi yang akanmenghasilkannilaiuntukdiberikanpadasuatuvariabel. Ekspresiinidapatberupaaritmatikamaupunlogika. • Contoh: • sum = 0; • x = n; • sum = sum + x; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode:STRUKTUR KENDALI ALIRAN • Strukturkendalialiranadalahsuatubentukataustruktur yang memilikiperanankhususuntukmengaturataumengendalikanurutanpengerjaansatuataulebihoperasiatauinstruksi. • Strukturkondisi (conditional): if, if – else, switch • Strukturpengulangan (looping): for, while • Strukturlainnya: continue, exit, return DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Elemen Pseudocode:KOMENTAR • Komentaradalahsuatucatatantambahan yang dituliskankedalamalgoritmedengantujuanuntukmemperjelas, tetapitidakmempengaruhioperasiapa pun didalamalgoritme. • Diberinotasiawal ”//” • Dapatdituliskandibagianmanasajadalamsuatualgoritme. • Contoh: // Algoritmemenjumlahkanduabil.bulat DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #3Masalah dan Perumusannya • Masalah: Buatalgoritmemenentukanapakahsuatubilanganbulathabisdibagioleha (a>0) • Pemecahanmasalah: Untukmenentukanapakahsatubilangan (misalb) habisdibagioleha, dapatdilakukandenganmenentukansisapembagian, yaitumenggunakanoperasi modulo (mod). Jikabilanganb mod a=0 makabilanganbtersebutberartihabisdibagioleha, danalgoritmeakanmencetakteks YA. Selainnya, akanmencetakteks TIDAK. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #3Algoritme // Memeriksaapakah b habisdibagioleh a procedure habisDibagi { read(b,a); t = b mod a; if (t==0) // memeriksaapakah t=0 print(" YA"); else print(" TIDAK"); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #4Masalah dan Perumusannya • Masalah: Buatalgoritmemencetakbilangan 1, 2, 3, sampaidengann (n>0) • Perumusanmasalah: Masalahinimiripdenganmesinpenghitung (counter) yang biasadigunakanolehpramugaripesawatataupenjagapintubioskopuntukmenghitungjumlahpenumpangpesawatataupenonton yang masukgedungbioskop. Saatmaudigunakan, counter disetnilai 0 (disebutinisialisasi, misalnyac=0). Setelahitu, tombolditekansehingganilaisebelumnyabertambahdengan 1 (c=c+1). Hal inidilakukanseterusnyaselama (while) ckurangdarinsambilmencetaknilai c. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh #4Algoritme // Mencetakbilangan 1, 2, sampaidengan n procedure printN { read(n); // sampaibilanganberapa? c = 0; // insialisasi while (c<n) { // selama c kurangdari n c=c+1;// nilai c sebelumnyaditambah 1 print(c); } } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Men-trace algoritme • Men-tracealgoritmeadalahsuatuprosesuntukmenelusurilangkahdemilangkahdarisuatualgoritmedanmenentukan output akhirnya. • Dalampemrograman, prosesinidisebutjugasebagaiprosesdebug. • Tips: • Ikutilangkahdemilangkah • Catatsetiapperubahannilaidarisuatuvariabel • Jikamenemukansuatupolatertentu, maka output akhirdapatlangsungditentukantanpamengikutialgoritmesampaiselesai (hanyadilakukanolehorang yang sudahsangatmemahamialgoritme) DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Contoh men-tracealgoritme // Misal input n=4 procedure printN { read(n); c = 0; while (c<n) { c=c+1; if(c mod 2==1) then print (c); } } n 4 1 2 3 4 c 0 output 1 3 STOP DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
LATIHAN #1 • Masalah: Buatalgoritmemencetakhasilperhitunganb2-4ac. • Contoh input (nilai a b c): 2 3 4 • Contoh output: -23 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
procedure rumusABC { read(a,b,c); d=b*b-4*a*c; print(d); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
LATIHAN #2 • Masalah: Buatalgoritmemencetakbilanganbulatganjil (gasal) dari 1 sampaidengann. • Contoh input: 8 • Contoh output: 1 3 5 7 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
procedure printN { read(n); c = n+1; while (c>1) { c=c-1; print(c); } } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
LATIHAN #3 • Masalah: Buatalgoritmemencetakbilanganbulatdimulaidarinsampaidengan 1. • Contoh input: 5 • Contoh output: 5 4 3 2 1 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
LATIHAN #4 • Masalah: Buatalgoritmemenghitungjumlahdaribeberapabilanganbulat. • Input: Beberapabilanganbulatdandiakhiridengannilai minus 99 atau -99 (bilanganterakhirinitidakdijumlahkan) • Output:Jumlahdaribilanganmasukanselainbilanganterakhir (minus 99) • Contoh input: 20 -8 0 26 37 14 -99 • Contoh output: 89 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR