MODUL 4 Branching (Percabangan) (Percabangan)
I.
GUIDED
Algoritma yang telah dipelajari pada materi sebelumnya yaitu algoritma dengan proses atau instruksi yang dikerjakan secara berurutan atau dinamakan sequential. Pada modul praktikum ini, akan disampaikan penyelesaian yang melibatkan algoritma dengan proses yang memerlukan kondisi dengan penanganan yang berbeda pula. Algoritma dengan proses tersebut dapat digambarkan dengan percabangan percabangan (conditional). Bentuk flowchart untuk algoritma yang memerlukan proses dengan kondisi dan penanganan tertentu digambarkan pada gambar berikut .
Adapun bentuk-bentuk flowchart untuk algoritma dengan percabangan, percabangan, antara lain :
(a)
(b)
(a) Percabangan Percabangan if tanpa statement statement else : jika hanya terdapat terdapat 1 kondisi kondisi yang memerlukan memerlukan perlakuan atau penanganan khusus. Jika sebuah ekspresi berharga true, maka sebuah (atau serangkaian) aksi / statement dilakukan. pseudocode : if kondisi then statement
(b) Percabangan if dengan statement else : Jika terdapat 2 kondisi yang komplementer (saling melengkapi, jika yang satu tidak terpenuhi maka yang lainnya pasti terpenuhi, dan sebaliknya). Jika sebuah ekspresi berharga true, maka sebuah (atau serangkaian) aksi / statement 1 akan dilakukan dan jika kondisi berharga false, maka aksi / statement 2 akan dilakukan. pseudocode : if kondisi then statement1 else statement2
(c)
(d)
Perbedaan percabangan pada gambar (c) dan gambar (d) adalah, gambar (c) merupakan bentuk if sekuensial sedangkan gambar (d) merupakan bentuk if tersarang (nested if). Percabangan dengan if tersarang digunakan jika statemen yang seharusnya dijalankan setelah pemeriksaan kondisi atau ekspresi boolean, tidak dapat langsung dijalankan karena harus memeriksa kondisi atau ekspresi boolean yang lain. Perbedaan mendasar dengan percabangan if sekuensial, setiap pemeriksaan kondisi pada if sekuensial bukan kondisi yang komplemen (melengkapi) terhadap kondisi yang lain. pseudocode If tersarang (nested if) : begin ... if kondisi1 then begin if kondisi2 then statement2a else statement2b end if else statement1b ... end
II. UNGUIDED —> total poin 100 1. Buatlah algoritma untuk program yang dapat menghitung nilai NEM anda, dan rata-rata nilai NEM di sekolah anda. Kemudian bandingkan nilai NEM anda, dengan rata-rata nilai NEM disekolah anda, apakah anda termasuk siswa yang NEMnya diatas rata2?? (25 poin) 2. Seorang pedagang buah2an menjual dagangannya yang setiap kg dari buah2anny dihargai dengan harga tertentu. Misalnya jika buah jeruk, maka harga per kg adalah 3500/ kg, kemudian untuk mangga 5000/kg, melon 4500/kg, dan apel 6950/kg. Setiap pembeli membayar harga buah yang dibelinya berdasarkan berat yang akan dibeli. Tentukan algoritmanya agar pedagang tersebut dapat dengan mudah menentukan harga yang harus dibayar oleh pembelinya. (25 poin) 3. Buatlah algoritma untuk program yang membaca dua buah integer yang masing-masing menyatakan lama pembicaraan telepon per detik dan kode wilayah (1, 2, atau 3) yang dihubungi, dan menghitung biaya pembicaraan telepon dalam rupiah, serta menampilkan di layar, dengan tarif pembicaraan per detik untuk setiap wilayah adalah :
a. wilayah 1 = Rp. 100,00 / detik b. wilayah 2 = Rp. 200,00 / detik c. wilayah 3 = Rp. 300,00 / detik III. TUGAS Buatlah program dari ketiga soal pada UNGUIDED, berdasarkan algoritma yang telah anda buat.