OperatorLogika, Pengenalan Struktur Dasar Algoritma (Sequential, Branching dan Looping) dan Sequential. 5. Percabangan (IF dan Switch Case) 6. Perulangan (FOR) 7. Perulangan (While Do, Do While) 8. Array. 9. Prosedur. 10. Fungsi. Part 1. 1. Definisi Algoritma. Algoritma adalah runtutan penyelesaian masalah secara logis dan sistematis. 2 Setiaplangkah algoritmanya diterangkan dalam satu atau beberapa kalimat. Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut ini: Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan. Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c. Apabila bilangan a lebih besar dari b maupun c, maka contoh: flowchart dari algoritma menentukan apakah bilangan yang dimasukan ganjil atau genap 3. Struktur Looping / Perulangan Flowchart dengan Struktur perulangan digunakan untuk mengulangi langkah-langkah sebelumnya sampai suatu kondisi terpenuhi. Bentuk flowchart tersebut seperti: Algoritmapercabangan dapat digunakan untuk beberapa kasus permasalahan berikut, kecuali. Algoritma pemilihan ini juga dikenal dengan nama struktur kontrol percabangan. Bustomiii com contoh algoritma percabangan. Contoh algoritma, flowchart & pseudocode. Menghitung sewa mobil di sebuah rental yang. 11 contoh flowchart beserta jenisnya lengkap Denganstrukur IF THEN ELSE, kita bisa membuat percabangan kode program tergantung apakah sebuah kondisi bisa dipenuhi atau tidak. Untuk program yang lebih rumit, kita bisa mengkombinasikan berbagai struktur IF THEN ELSE. Sebagai contoh, bagaimana jika saya ingin memeriksa apakah sebuah angka merupakan angka genap dan kurang dari 5? Dipertama kali konten c++, saya ingin membahas mengenai pembuatan bilangan prima pada bahasa pemrograman c++. Mungkin, sobat sudah tau banyak mengenai coding coding yang ada pada c++. Disini saya hanya ingin sharing dan berbagi ke teman teman sekalian mengenai coding atau perulangan didalam c++. Sebenarnya, untuk membuat bilangan prima di c++ Sebuahalgoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu. 2. CONTOH ALGORITMA DALAM KEHIDUPAN SEHARI-HARI. Proses semacam algoritma sebenarnya dijumpai dalam kehidupan sehari-hari. ZNkyL. C++Apa yang akan kamu lakukan saat disuruh mencetak kalimat berulang-ulang?MisalnyaTolong tampilkan kalimat "Tutorial Pemrograman C++!" sebanyak 10x ke layar!Mungkin kamu akan menggunakan cout sebanyak 10 kali seperti iniinclude using namespace std; int main{ cout using namespace std; int main{ forint i = 0; i using namespace std; int main{ forint counter = 0; counter 0. Artinya perulangan akan dilakukan selama nilai counter lebih besar dari kita kurangi -1 nilai counter di setiap perulangan counter-.forint counter = 10; counter > 0; counter-{ printf"Perulangan ke-%i\n", counter; }HasilnyaMengapa tidak sampai nol 0?Karena kondisi yang kita berikan counter > 0. Apabila counter bernilai 0, maka kondisi ini akan menjadi kita menggunakan operator lebih besar sama dengan >=, maka jika counter bernilai 0, kondisi akan menjadi Perulangan While pada C++Perulangan while merupakan perulangan yang termasuk dalam perulangan uncounted while juga dapat menjadi perulangan yang counted loop dengan memberikan counter di flow chart-nya sama seperti flow chart perulangan whileUntuk memahami perulangan ini……mari kita coba lihat contohnyainclude using namespace std; int main{ char ulangi = 'y'; int counter = 0; // perulangan while whileulangi == 'y'{ printf"Apakah kamu mau mengulang?\n"; printf"Jawab y/t "; cin >> ulangi; // increment counter counter++; } printf"\n\n-\n"; printf"Perulangan Selesai!\n"; printf"Kamu mengulang sebanyak %i kali.\n", counter; return 0; }HasilnyaCoba perhatikan blok kode while// perulangan while whileulangi == 'y'{ printf"Apakah kamu mau mengulang?\n"; printf"Jawab y/t "; cin >> ulangi; // increment counter counter++; }Di sana… Perulangan akan terjadi selama variabel ulangi brenilai kita menggunakan fungsi scanf untuk mengambil kita menjawab y pada input, maka perulangan akan terus kalau kita jawab yang lain, maka perulangan akan kondisi perulangannya tidak Perulangan Do/While pada C++Perulangan do/while sama seperti perulangan do/while akan melakukan perulangan sebanyak 1 kali terlebih dahulu, lalu mengecek kondisi yang ada di dalam kurung chart perulangan do/whileBentuk kodenya seperti inido { // blok kode yang akan diulang } while ;Jadi perbedaanyaPerulangan do/while akan mengecek kondisi di belakang sesudah mengulang, sedangkan while akan mencek kondisi di depan atau awal sbelum mengulang.Mari kita coba lihat contohnyainclude using namespace std; int main{ char ulangi = 'y'; int counter = 0; do { printf"Apakah kamu mau mengulang?\n"; printf"Jawab y/t "; cin >> ulangi; // increment counter counter++; } whileulangi == 'y'; printf"\n\n-\n"; printf"Perulangan Selesai!\n"; printf"Kamu mengulang sebanyak %i kali.\n", counter; return 0; }Contoh tersebut sama seperti contoh pada perulangan perulangan pertama, cobalah untuk membatalkan perulangannya dengan menjawab hasilnya4. Perulangan Bersarang Nested LoopDi dalam blok perulangan, kita juga dapat membuat disebut dengan nested loop atau perulangan bersarang atau perulangan di dalam kita coba lihat contohnyainclude using namespace std; int main{ forint i = 0; i < 10; i++{ forint j = 0; j < 10; j++{ printf"Perulangan ke %d, %d\n", i, j; } } return 0; }HasilnyaPada perulangan tersebut, kita menggunakan dua perulangan pertama menggunakan variabel i sebagai counter, sedangkan perultangan kedua menggunakan variabel j sebagai Selanjutnya?Intinya perulangan digunakan untuk melakukan pengulangan. Ini merupakan hal dasar yang harus dipahami setiap ke depan, kita akan banyak menggunakannya dalam membuat program dengan C++.Yang perlu diingat, perulangan itu ada dua macam Counted loop dan uncounted belajar…📖 Untuk daftar tutorial C++ lainnya, lihat di List Tutorial C++ Algoritma percabangan adalah salah satu instruksi dalam algoritma yang digunakan untuk memberikan pilihan kepada program perintah mana yang harus diproses dan perintah mana yang harus dilewati sesuai dengan kondisi yang diberikan. Algoritma percabangan terkadang diperlukan untuk kasus-kasus tertentu, karena pada kenyataannya alur pemrosesan kode program tidak selamanya berurutan dari baris instruksi satu ke baris instruksi lainnya, namun terkadang program perlu diatur agar bisa meloncat pada baris instruksi tertentu sesuai dengan kondisi yang terpenuhi. Di dunia bahasa pemrograman atau algoritma, instruksi agar alur proses program bisa loncat menuju baris instruksi tertentu sesuai dengan kondisi yang diberikan, itu disebut dengan instruksi percabangan, pemilihan atau flow control. Di dalam algoritma, instruksi percabangan dikategorikan menjadi beberapa jenis yaitu, percabangan 1 kondisi, percabangan 2 kondisi, percabangan 3 kondisi, percabangan lebih dari 3 kondisi dan percabangan bersarang. Untuk lebih memahami logika dari algoritma percabangan, baik percabangan 1 kondisi, 2 kondisi, 3 kondisi maupun percabangan bersarang, maka di artikel kali saya akan coba kupas tuntas mengenai algoritma percabangan disertai dengan contoh kasus lengkap, baik kasus-kasus khusus, maupun contoh kasus dalam kehidupan sehari-hari. Algoritma Percabangan 1,2, 3 kondisi, percabangan bersarang dan contoh kasus Algoritma percabangan biasanya menggunakan instruksi IF Kondisi1 THEN pernyataan 1 ELSE IF Kondisi 2 THEN pernyataan 2 ELSE IF Kondisi 3 THEN pernyataan 3 ELSE pernyataan 4 END IF Untuk Kondisi ke 1 cukup menggunakan instruksi IF Kondisi 1 THEN, sedangkan untuk kondisi 2 dan seterusnya selain kondisi terakhir, maka menggunakan ELSE IF Kondisi N THEN, sementara untuk kondisi terakhir cukup menggunakan ELSE saja. Memahami Apa itu IF THEN ELSE ? IF dapat diartikan sebagai JIKA, sedangkan THEN dapat anda artikan dengan sebutan MAKA, sedangkan ELSE dapa anda artiken sebagai JIKA BUKAN / SELAIN ITU. Memahami Apa itu Kondisi ? Kondisi, umumnya akan membandingkan 2 buah operan dengan menggunakan operator aritmatika seperti > lebih besar = lebih besar atau sama dengan tidak sama dengan Contoh IF nilai >=80 THEN write"LULUS" ELSE weite"GAGAL" END IF Instruksi di atas jika diterjemahkan adalah, IF="jika nilai lebih besar atau sama dengan 80, maka cetak kata LULUS", ELSE="jika tidak artinya nilainya lebih kecil dari 80 maka GAGAL". Yang diberikan warna merah tebal itu adalah bagian kondisi, dengan operan nilai dan angka 80, sedangkan operator yang digunakan adalah >= lebih besar atau sama dengan, harap diingat kondisi biasanya selalu membandingkan 2 buah operan dengan operator artimatika. Semoga dengan uraian singkat di atas anda punya gambaran apa itu percabangan. Algoritma percabangan 1 kondisi Algoritma percabangan 1 kondisi adalah algoritma percabangan yang hanya menggunakan1 kondisi atau ketentuan saja, jika kondisi terpenuhi maka instruksi akan diproses, jika tidak terpenuhi maka akan dilewat atau diloncati. Contoh Algoritma untuk menentukan usia balita, jika usia lebih kecil atau sama dengan 5 tahun maka balita. Pseudocode program cek_usia deklarasi var usiainteger algoritma readusia IFusia =75 maka lulus, 2. Jika tidak nilai =75 THEN write"LULUS" ELSE write"TIDAK LULUS" ENDIF Atau Kasus di atas bisa juga ditulis seperti di bawah ini program kelulusan deklarasi var nilaiinteger algoritma readnilai IF nilai 80 maka nilai A 2. jika nilai >=70 dan 80THEN write"A" ELSE IFnilai>=70 AND nilai <=80 THEN write"B" ELSE write"C" ENDIF Algoritma lebih dari 3 kondisi Kondisi dalam algoritma bisa lebih dari 3 kondisi, strukturnya akan selalu sama, untuk kondisi pertama maka menggunakan IF kondisi 1 ELSE...., sedangkan untuk kondisi ke 2 dan seterusnya selain kondisi terakhir yaitu menggunakan ELSE IF kondisi n THEN....., sedangkan untuk kondisi terakhir baru menggunaakn ELSE....saja. Format untuk algoritma 3 kondisi atau lebih adalah sebagai berikut IFKondisi 1 THEN pernyataan 1 ELSE IFKondisi 2 THEN pernyataan 2 ELSE IF kondisi 3 THEN pernyataan 3 ELSE IFkondisi 4 THEN pernyataan 4 ... ... ... ... ... ELSE IFkondisi N THEN pernyataan N ELSE pernyataan terakhir ENDIF Contoh algoritma lebih dari 3 kondisi sama halnya dengan 3 kondisi di atas, namun ketentuannya lebih dari 3. bisa 4, 5 dan seterusya. c. Algoritma Percabangan Bersarang Algoritma percabangan bersarang merupakan bentuk algoritma percabangan dimana pada setiap setiap pernyataan untuk kondisi IF di dalamnya terdapat Instruksi IF Lagi. Algoritma percabangan bersarang artinya di dalam IF terdapat IF lagi. Struktur algoritma percabangan bersarang adalah sebagai berikut IFKondisi a THEN IFkondisi xTHEN pernyataan 1 ELSE IF pernyataan 2 ENDIF ELSE pernyataan b ENDIF Intinya algoritma percabangan disebut percabangan bersarang jika di dalam percabangan ada percabangan lagi, banyak yang menyebut juga dengan sebutan di dalam IF ada IF lagi. 75% found this document useful 8 votes41K views22 pagesDescriptionAlgoritma Percabangan dan Algoritma PerulanganOriginal TitleAlgoritma Percabangan dan Algoritma PerulanganCopyright© © All Rights ReservedAvailable FormatsPDF or read online from ScribdShare this documentDid you find this document useful?75% found this document useful 8 votes41K views22 pagesAlgoritma Percabangan Dan Algoritma PerulanganOriginal TitleAlgoritma Percabangan dan Algoritma PerulanganJump to Page You are on page 1of 22 You're Reading a Free Preview Pages 6 to 11 are not shown in this preview. You're Reading a Free Preview Pages 15 to 20 are not shown in this preview. Reward Your CuriosityEverything you want to Anywhere. Any Commitment. Cancel anytime. Pernahkah anda dihukum guru anda untuk menuliskan sebuah kalimat perjanjian tidak akan mengulangi perbuatan tidak baik sampai papan tulis tersebut penuh? Misalnya menulis Saya tidak akan bolos sekolah lagi ………………………………………. ………………………………………. ………………………………………. Saya tidak akan bolos sekolah lagi Catatan Anggaplah bagian titik-titik merupakan tulisan yang sama. Seperti yang bisa anda lihat diatas, kita diminta untuk menulis kalimat yang sama sebanyak contoh 50 kali. Tentunya hal ini menjadi pekerjaan yang melelahkan. Kabar baiknya, kita mengenal fungsi perulangan atau looping. Anda bisa menghemat sekian banyak baris kode yang pada dasarnya cukup diketik satu kali. Table Of Contents Pengertian dan Fungsi Perulangan 1 Statemen For 2 Statemen While....Do 3 Statemen Repeat.....Until Menarik Kesimpulan Pengertian dan Fungsi Perulangan Dalam pemrograman kita tidak mungkin menuliskan puluhan baris kode yang sama untuk output yang sama. Tentunya sangat merepotkan tanpa fungsi perulangan. Looping atau perulangan adalah fungsi pada bahasa pemrograman untuk menjalankan baris kode secara berulang-ulang selama kondisi masih terpenuhi. Dalam contoh diatas kita diminta untuk mencetak tulisan sebanyak 50 kali, jadi selama jumlah tulisan belum mencapai 50 terpehui atau true program akan terus berjalan. Lalu setelah tulisan yang kita cetak telah berjumlah 50, maka program akan berhenti karena kondisi sudah tidak lagi terpenuhi. Karena batas kita adalah 50. Kita ingat lagi algoritma percabangan Jika jumlah <= 50 maka cetak tulisan, jika tidak berhenti mencetak. Jadi kita hanya mencetak sebanyak 50 kali tidak lebih dan kurang. Untuk fungsi maupun penggunaan looping dalam program sendiri anda akan banyak melihatnya jika kita sudah berurusan dengan tipe data array. Macam-Macam Perulangan pada Pascal Terdapat tiga macam bentuk pengulangan dalam bahasa pemrograman Pascal, yaitu dengan menggunakan statemen For, While...do, Repeat....Until. 1 Statemen For Bentuk pengulangan dengan statemen For dapat berbentuk pengulangan positif For....to....do dan pengulangan negatif For....Downto....do. Pengulangan For...to...do Pengulangan For...to...do adalah pengulangan dengan penghitung counter dari kecil ke besar atau disebut juga pertambahannya positif. Sintaksnya adalah sebagai berikut For variabel=kondisiAwal to kondisiAkhir do statemen; Berikut contoh program perulangan menggunakan for to do Program Loop1; uses crt; var iinteger; Begin For i=1 to 100 do Begin writeln'Nama Saya'; End; Readln; end. Pengulangan For....downto...do Pengulangan For....downto...do adalah pengulangan dengan penhitung counter dari besar ke kecil atau disebut juga pertambahannya negatif. Sintaksnya adalah sebagai berikut For variabel=kondisiAwal downto kondisiAkhir do statemen Berikut contoh program perulangan menggunakan for downto do Program Loop2; uses crt; var iinteger; Begin For i=100 downto 1 do Begin writeln'Nama Saya'; End; Readln; end. PENTING Ada dua kondisi pada perulangan For yaitu kondisi awal, dan kondisi akhir, program ini akan terus berjalan selama kondisi akhir belum terpenuhi. 2 Statemen While....Do Statemen while...do digunakan untuk melakukan proses pengulangan suatu statemen atau blok statemen terus menerus selama kondisi bernilai benar. Statemen while...do biasa dipakai untuk melakukan pengulangan yang jumlahnya tidak diketahui di depan atau selang pencacahannya tidak sebesar 1 atau -1. Bentuk statemen while...do adalah sebagai berikut While kondisi Do Statemen; Jadi statemen setelah kata Do akan terus dikerjakan selama kondisi bernilai benar. Jika kondisi bernilai FALSE di awal sebelum while maka statemen tidak akan pernah dikerjakan. Berikut contoh program sederhana menggunakan while do Program Loop3; uses crt; var iinteger; Begin i=0; while i<4 do begin writelni; i=i+1; end; Readln; end. 3 Statemen Repeat.....Until Repeat.....until adalah statemen digunakan untuk mengulang statemen atau blok statemen sampai kondisi bernilai TRUE... ..Jadi pengulangan justru dilakukan selama kondisi bernilai salah. Pemeriksaan kondisi pada pengulangan Repeat...until dilakukan belakangan diakhir, berbeda dengan While...do. Lalu apa artinya? Itu artinya... Hal ini mengakibatkan statemen pada pengulangan Repeat.....until paling sedikit akan diproses satu kali. Bentuk statemen Repeat....until adalah sebagai berikut Repeat Statemen1; Statemen2; ... Statemen; Until kondisi; Berikut contoh program sederhana perulangan menggunakan repeat until Program Loop4; uses crt; var iinteger; Begin i=0; Repeat i=i+1; writelni; until i=4; Readln; end. Menarik Kesimpulan Jadi kapan kita menggunakan perulangan for, repeat, mupun while? Saya akan memberi acuannya saja. Jadi anda dapat memilih salah satu fungsi diatas berdasarkan kondisi tertentu. Perhatikan aturan mainnya sebagai berikut Gunakan for selama kita mengetahui berapa jumlah peulangan yang diinginkan, misalnya telah ditentukan dari angka 1-100 ataupun dari angka 200-100. Gunakan repeat selama kita tidak tahu berapa banyak perulangan akan terjadi, dan selama kondisi bernilai salah. Gunakan while selama kita tidak tahu berapa banyak perulangan akan terjadi , dan selama kondisi bernilai benar. Jadi yang membedakan repeat dan while hanyalah kondisi mereka. Jika repeat akan berjalan selama kondisi masih tidak terpenuhi FALSE atau salah, sedangkan while akan berjalan selama kondisi masih terpenuhi TRUE atau benar. Jangan lewatkan seri panduan belajar pascal kami. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh Sakina Mawardah Teknik Informatika Dosen Asep M. Yusuf, UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan........................................................................................... 1 1. Pengertian Algoritma Percabangan .................................................................. 1 2. Ekspresi Boolean ............................................................................................... 1 3. Algoritma Teks dan Flowchart Percabangan .................................................... 3 4. Percabangan Tersarang .................................................................................... 6 5. Menggunakan Operator Boolean ..................................................................... 8 6. Percabangan 3 Kondisi atau Lebih .................................................................... 10 B. Algoritma Perulangan ............................................................................................. 12 1. Pengertian Algoritma Perulangan..................................................................... 12 2. Perulangan For – Do.......................................................................................... 14 3. Perulangan While – Do ..................................................................................... 17 4. Perulangan Repeat – Until ................................................................................ 19 A. ALGORITMA PERCABANGAN 1. Pengertian Algoritma Percabangan Pada algoritma runtunan telah kita lihat bahwa setiap pernyataan selalu dilakukan bila telah sampai gilirannya. Namun demikian ada kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila memenuhi suatu kondisi atau persyaratan tertentu. Algoritma ini kita sebut dengan algoritma seleksi kondisi atau juga percabangan. Contoh. Misalnya kita ingin menentukan apakah suatu bilangan merupakan bilangan genap atau ganjil. Algoritmanya dapat kita jabarkan 1. Mulai 2. Masukkan satu bilangan X 3. jika X habis dibagi dua maka lanjut ke 4. Jika tidak lanjut ke 5 4. tulis X bilangan genap’. Lanjut ke 6. 5. tulis X bilangan ganjil’ 6. Selesai Perhatikan bahwa ada dua kemungkinan perintah yang akan dikerjakan setelah perintah ke-3 dikerjakan. Jika X habis dibagi dua maka selanjutnya perintah ke-4 yang dikerjakan, kemudian melompat ke 6 perintah 5 tidak dikerjakan. Sebaliknya jika X tidak habis dibagi dua perintah selanjutnya melompat ke-5 perintah 4 tidak dikerjakan dan kemudian berakhir pada perintah ke-6. 2. Ekspresi Boolean Ada dua komponen utama dalam ekspresi percabangan yaitu kondisi dan pernyataan. Kondisi adalah syarat dilakukannya sebuah atau sekelompok pernyataan, sedangkan pernyataan dalam konteks ini adalah perintah yang berkaitan dengan suatu kondisi. Contoh umum pernyataan kondisi-pernyataan 1 1. Jika hari hujan, maka saya tidak jadi keluar rumah kondisi 2. pernyataan Jika nilai ujian lebih besar atau sama dengan 60, maka ujian dinyatakan lulus kondisi 1 pernyataan 1 Jika nilai ujian kurang dari 60, maka ujian dinyatakan gagal kondisi 2 pernyataan 2 Sebagaimana contoh sebelumnya dapat dilihat bahwa adakalanya suatu perintah dilakukan jika kondisi yang mempersyaratkannya telah jelas nilai benar salahnya. Dalam hal pemrograman kondisi tersebut harus bisa dinyatakan dalam suatu ekspresi boolean. Ekspresi boolean adalah ekspresi yang hasil ekspresinya bernilai boolean true atau false. Ekspresi Boolean dapat diperoleh dengan menggunakan dua jenis operasi 1. Operasi Boolean. Operasi boolean adalah operasi yang menggunakan operator boolean seperti and, or, not, xor. Contoh operasi relasional 1. z1  x and y 2. z2  a=2 or b=10 3. z3  notx 4. z4  p+2=4 xor q=0 2 2. Operasi Relasional Operasi Perbandingan Operasi relasional adalah operasi yang membandingkan dua buah operan dengan menggunakan operator perbandingan ingat, operator perbandingan =, , , ≥. Contoh operasi relasional 1. z1  x > y 2. z2  a 10 3. z3  x + y = 17 4. z4  p div q B then write A Ekspresi di atas menunjukkan bahwa perintah menulis / menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar. Jika yang terjadi adalah sebaliknya, tidak ada pernyataan yang dilakukan atau proses langsung keluar dari percabangan endif. Secara flowchart ekspresi itu dapat ditulis seperti berikut. A>B? t y WriteA Perhatikan bahwa pada kotak belah ketupat memiliki dua cabang arus data, yang satu untuk kondisi bernilai benar y, artinya ya, sedang yang lain untuk kondisi bernilai salah t, artinya tidak. Jika kondisi bernilai benar y maka perintah yang dikerjakan adalah writeA. Jika kondisi salah t maka arus data langsung menuju ke bawah tanpa mengerjakan pernyataan apapun. - Dua kondisi if-then-else artinya ada dua kondisi yang menjadi syarat untuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangan dengan dua kondisi if then pernyataan1 else pernyataan2 4 Jika bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak bernilai salah, maka pernyataan yang dikerjakan adalah pernyataan2. Berbeda dengan percabangan satu kondisi, pada percabangan dua kondisi ada dua pernyataan untuk dua keadaan kondisi, yaitu untuk yang bernilai benar dan yang bernilai salah. Contoh algoritma percabangan dua kondisi if A>B then write A else write B Ekspresi di atas sedikit berbeda dengan sebelumnya. Perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar, sedangkan jika yang terjadi adalah sebaliknya maka pernyataan yang dilakukan adalah menulis B. Secara flowchart pernyataan di atas dapat ditulis sebagai berikut. A>B? Write B Write A 5 Berikut ini adalah beberapa contoh lainnya. a. If x > 0 then ket  bilangan positif’ b. if m = n i  m*n writei c. if bil>=0 then ket  bilangan positif’ else ket  bilangan negatif’ d. if m = n then i  m*n j  m-n else i  m/n j  m+n writei,j 4. Percabangan Tersarang Percabangan tersarang adalah percabangan di dalam percabangan. Banyak sekali bentuknya, namun salah satu contohnya adalah sebagai berikut. If then if then Pernyataan1 else Pernyataan2 else If else Pernyataan3 6 Pernyataan4 Misalnya, buatlah algoritma untuk menentukan apakah suatu bilangan merupakan bilangan kelipatan 2 saja, atau kelipatan 5 saja, atau kelipatan 2 dan 5, atau bukan kelipatan 2 dan 5. Bilangan yang dimaksud merupakan input algorritma. t Kondisi1 y Kondisi3 Pernyataan4 Kondisi2 Pernyataan3 Pernyataan2 Pernyataan1 Algoritma Kelipatan2 Kelipatan5 Deklarasi Bil integer Ket string Deskripsi read bil if bil mod 2 = 0 then if bil mod 5 = 0 then Ket  Kelipatan 2 dan Kelipatan 5’ 7 else else Ket  Kelipatan 2 tapi Bukan Kelipatan 5’ if bil mod 5 = 0 then Ket  Bukan Kelipatan 2 tapi Kelipatan 5’ else WriteKet Ket  Bukan Kelipatan 2 atau 5’ 5. Menggunakan Operator Boolean Kita dapat menyederhanakan persoalan percabangan dengan menggunanakan operator boolean and, or, not, dan xor untuk ekspresi boolean yang lebih dari satu. Misalnya, sebuah univeritas memberlakukan yudisium cumlaude untuk mahasiswa yang lulus dengan IPK lebih besar sama dengan dan masa kuliah tidak lebih dari 4 tahun. Bagaimana algoritma penentuan yudisiumnya? Input IPK dan masa kuliah Algoritma yudisium1 Deklarasi IPK, MK real Ket string Deskripsi Read IPK,MK If IPK>= and MK= and MK = and MK= then if MK<=4 then Ket  cum laude’ else Ket  tidak cumlaude’ else Ket  Tidak cumlaude’ write Ket 9 Di sini terlihat algoritmanya menjadi sedikit rumit. Kerumitan bertambah karena kita harus membuat percabangan dalam percabangan percabangan tersarang. Selain itu penulisan Ket’Tidak cumlaude’ harus ditulis dua kali agar tujuan algoritma dapat dicapai. Dengan demikian penggunaan operator logika dalam hal ini jelas menyederhanakan algoritma di atas. 6. Percabangan Tiga Kondisi Atau Lebih Percabangan dengan tiga kondisi atau lebih adalah bentuk pengembangan dari dua bentuk percabangan percabangan yang telah kita bahas sebelumnya. Akan ada banyak sekali variasinya tetapi secara umum ekspresi percabangannya dapat kita tuliskan sebagai berikut. If then Pernyataan1 else if then Pernyataan2 ... else if then Pernyataann else Pernyataann Mula-mula dicek nilai kebenarannya. Jika benar, maka dikerjakan pernyataan1. Jika salah, maka dicek nilai kebenaran . Jika benar, maka dikerjakan pernyataan2. Jika tidak algoritma akan mengecek ke kondisi berikutnya dengan cara yang sama dengan yang sebelumnya. Terakhir, jika semua kondisi bernilai salah, maka pernyataan yang dikerjakan adalah Pernyataann+1. Bentuk flowchartnya dapat dilihat di bawah ini. 10? y aksi1 t y aksi2 t aksin+1<-0 Pada algoritma di atas pernyataan1 akan dikerjakan jika bernilai benar, jika tidak pemeriksan dilanjutkan ke . Jika bernilai benar maka pernyataan2 dikerjakan. Jika tidak, pemeriksaan dilanjutkan pada kondisi-kondisi berikutnya. Pemeriksaan ini terus terhadap semua kondisi yang ada. Jika tidak ada kondisi yang benar maka pernyataan yang dikerjakan adalah pernyataann+1. 11 B. ALGORITMA PENGULANGAN 1. Algoritma Perulangan Ada kalanya untuk menyelesaikan suatu masalah, satu atau beberapa perintah harus dikerjakan beberapa kali. Misalnya anda hendak menampilkan tulisan algoritma sebanyak tiga kali. Maka algoritmanya dapat ditulis 1. Mulai 2. Tulis Algoritma’ 3. Tulis Algoritma’ 4. Tulis Algoritma’ 5. Selesai Sehingga diperoleh keluaran Algoritma Algoritma Algoritma Contoh lain. Anda hendak menghitung suatu bilangan dipangkatkan tiga. Maka algoritmanya dapat dituliskan 1. Mulai 2. Masukkan bilangan X 3. Set nilai Y=1 4. Kalikan X dengan Y, simpan sebagai Y 5. Kalikan X dengan Y, simpan sebagai Y 6. Kalikan X dengan Y, simpan sebagai Y 7. Tulis Y 8. Selesai 12 Atau dalam algoritma standar ditulis Deskripsi ReadX Y1 YX*Y YX*Y YX*Y WriteY Jika input algoritma X adalah 2, maka dengan tabel penyimpanan data Perintah X ReadX 2 Y Y1 1 YX*Y 4 YX*Y 8 YX*Y 16 WriteY Ouput 16 Output yang dihasilkan adalah 16 Cara ini memang dapat menyelesaikan permasalahan tersebut di atas, tapi sangat tidak efisien dalam penulisannya. Bayangkan kalau pengulangannya dilakukan sebanyak 1000 kali, maka kita harus menulisnya sebanyak seribu kali pula. Tentunya akan sangat merepotkan. Untuk itu kita perlu mengenal satu lagi algoritma dasar yaitu algoritma pengulangan. Dengan algoritma ini kita cukup menuliskan perintahnya sekali untuk pengulangan berapapun banyaknya. 13 Bila mengacu pada bahasa pemrograman Pascal, terdapat tiga ekspresi algoritma untuk pengulangan 1. for-do 2. while-do 3. repeat-until Namun demikian, ketiganya memiliki komponen-komponen pengulangan yang sama yaitu - Kondisi pengulangan Setiap aksi atau kumpulan aksi dikerjakan jika memenuhi kondisi tertentu. Selama kondisi terpenuhi aksi akan terus dikerjakan - Badan pengulangan bagian aksi yang diulang - Nilai awal atau inisialisasi Pemberian nilai satu atau beberapa variabel sebelum pengulangan dilakukan. 2. Pengulangan For-Do Ada 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut ini adalah bentuk umumnya. For-do menaik For varnilai_awal to nilai_akhir do pernyataan Flowchart for-do menaik Var  ni...nf pernyataan For-do menurun For variabelnilai_awal downto nilai_akhir do Pernyataan 14 Flowchart for-do menurun Var = ni...nf pernyataan Kondisi pengulangan for secara tersirat dapat dilihat pada ni nilai_awal dan nf nilai_akhir; Nilai yang terkandung pada var mula-mula sama dengan nilai_awal, kemudian bertambah berkurang sebanyak satu, kemudian berhenti setelah var lebih besar lebih kecil nilai_akhir. Karakteristik pengulangan for-do - Aksi mula-mula dilakukan saat var=nilai_awal dan terakhir saat var=nilai_akhir. - Var, nilai_awal dan nilai_akhir bertipe bilangan bulat integer - Setiap selesai satu kali pengulangan var berubah +1 for-do menaik atau –1 for-do menurun. - Pengulangan paling sedikit dilakukan sekali, banyaknya pengulangan adalah selisih nilai_awal dan nilai_akhir ditambah 1 Contoh var  3…1 for i1 to 3 do WriteHalo’ Write Halo’ Pada perintah di atas, mula-mula i diberi nilai 1. Kemudian perintah writeHalo’ dikerjakan. Setelah itu i bertambah satu sehingga menjadi 2, dilanjutkan dengan perintah writeHalo’. Proses yang sama diulang lagi hingga i bernilai tiga, perintah write’Halo’ dikerjakan. Setelah itu proses pengulangan berhenti di situ. 15 Dengan demikian outputnya dapat kita nyatakan seperti berikut Halo Halo Halo Kita dapat membuat output yang sama seperti di atas dengan for-do menurun. for i3 downto 1 do WriteHalo’ var  3…1 Write Halo’ Perbedaannya, pada for-do menaik i berubah dari 1 sebanyak +1 dan berhenti setelah lebih dari 3, sedangkan pada for-do menurun, i berubah dari 3 sebanyak –1 hingga akhirnya berhenti saat i kurang dari 1. Coba tentukan bentuk dari algoritma di atas. 16 3. Perulangan While-Do Secara umum algoritma while adalah while do begin pernyataan end sedangkan bentuk flowchartnya t? y loop Aksi Teks algoritma dan flowchart di atas menunjukkan bahwa ada pengecekan kondisi dulu sebelum aksi berikutnya dilakukan. Aksi di bawah kondisi dikerjakan jika kondisinya atau lebih tepatnya nilai boolean kondisi bernilai benar. Jika kondisi bernilai salah maka proses akan melompat’ atau mengerjakan aksi yang berada di luar loop. Contoh soal. Buat algoritma menampilkan deret 2, 4, 6, …, N. N adalah masukan berupa bilangan genap. Algoritma deret Deklarasi N,x integer Deskripsi readN 17 x2 while x<=N do Writex xx+2 begin read N x<-2 t x<=N y write x x<-x+2 End Mula-mula inputkan nilai N, kemudian x diberi nilai 2 proses inisialisasi. Setelah itu x dibandingkan dengan N, jika pernyataan x<=N bernilai benar maka x ditampilkan, lalu x ditambah 2 dan menghasilkan x baru. Setelah itu arus data kembali ke atas untuk menguji apakah pernyataan x<=N bernilai benar. Jika iya, maka proses yang sama dengan sebelumnya dilakukan kembali. Demikian seterusnya hingga pernyataan x<=N bernilai salah. 18 Untuk input N = 8, tabel penyimpanan datanya dapat kita nyatakan sebagai berikut. Perintah Kondisi x ReadN N Output 8 x2 2 Blok pengulangan x<=N Writex / xx+2 output true 2 4 true 4 6 true 6 8 true 8 10 false Jika N adalah 10 maka output algoritma deret 2, 4, 6, 8 4. Perulangan Repeat-Until Secara umum algoritma repeat-until adalah repeat aksi until 19 sedangkan bentuk flowchartnya Aksi loop t y Secara umum teks dan flowchart di atas berarti bahwa aksi tidak dikerjakan lagi jika kondisi bernilai benar. Algoritma while-do dengan repeat-until sebenarnya hampir sama, perbedaannya hanya terletak pada penempatan kondisinya. Pada while-do pengecekan kondisi diletakkan di awal loop, sedangkan pada repeat-until pengecekan kondisi dilakukan di akhir loop. Itu sebabnya pada algoritma while-do aksi bisa jadi tidak dilakukan sama sekali jika sejak awal kondisinya sudah bernilai salah. Sedangkan pada pada repeat-until aksi sekurangkurangnya dilakukan sebanyak satu kali. Perhatikan flowchart 20

contoh algoritma percabangan dan perulangan