Percabangan/Pemilihan Pertemuan ke-3 dan ke-4
Pernyataan dan Aksi Pernyataan (statement) adalah tulisan/kode/diagram yang menggambarkan langkah penyelesaian algoritma Sebuah pernyataan menggambarkan Aksi algoritmik yang dapat dieksekusi
Struktur Dasar Algoritma Runtunan (Sequence) Algoritma bisa memberikan hasil jika semua pernyataan dieksekusi Pemilihan (Selection) Algoritma bisa memberikan hasil meskipun hanya sebagian pernyataan yang terpilih yang dieksekusi Pengulangan (Repetition) Hasil algoritma mungkin sebagian ditentukan oleh pengulangan eksekusi beberapa pernyataan.
Pemilihan Ada kalanya sebuah aksi dilakukan jika kondisi tertentu dipenuhi. Contoh: Berkendara mendekati persimpangan (baik ada lampu lalu-lintas maupun tidak) Contoh pernyataan (dlm bahasa natural): Jika lampu traffic light berwarna merah, maka berhenti Polanya: IF kondisi THEN aksi
Contoh Pemilihan IF (lampu lalu-lintas berwarna hijau) THEN jalankan kendaraannya IF suhu ruangan > 27 C THEN nyalakan proses pendinginannya IF jalan rungkut madya ditutup semua THEN tidak usah berangkat ke kampus NOTE: dalam masalah yang kompleks, biasanya terdapat banyak sekali proses Pemilihan
Pola Penulisan Pemilihan Untuk permasalahan yang lebih kompleks, penulisan mengikuti pola-pola sebagai berikut: IF kondisi1 THEN IF kondisi2 THEN IF kondisi3 THEN ….. aksi
Pola Penulisan Pemilihan IF kondisi1 THEN aksi1 ELSE IF kondisi2 THEN aksi2 ELSE aksi3
Nested If (Bilangan Negatif / Positif)
Pseudocode (Bil Positif/Negatif) Baca bilangan If (bilangan > 0) then “Positif” Else If (bilangan < 0) then “Negatif” Else “Nol” bilangan disebut dengan variabel atau mudahnya adalah wadah
Operator Aritmatika Penting + : Penjumlahan - : Pengurangan * : Perkalian / atau DIV : Pembagian % atau MOD : Sisa pembagian bulat Contoh: 8 / 4 = 2, hasil bagi 2 8 % 4 = 0, sisa hasil bagi 0, atau tidak ada sisa (habis)
Nested If (Menentukan jumlah hari dalam bulan)
Contoh : part program … else if (bulan == 2) { if (tahun % 4 == 0){ jmlHari = 29; } else{ jmlHari = 28;
Kesalahan Umum Soal : buat program yg menampilkan Nilai dalam Huruf (A,B,C,D atau E) dengan kriteria : Nilai >= 80 : A 70 <= Nilai < 80 : B 60 <= Nilai < 70 : C 50 <= Nilai < 60 : D Nilai < 50 : E
Contoh Solusi (1 – sequential IF) … IF (nilai >= 80) THEN Tampilkan “A” IF(nilai >= 70) THEN Tampilkan “B” IF (nilai >= 60) THEN Tampilkan “C” IF(nilai >= 50) THEN Tampilkan “D” ELSE Tampilkan “E” INI CONTOH SOLUSI YANG SALAH !!!
Contoh Solusi (2 – NESTED IF) … IF (nilai >= 80) THEN Tampilkan “A” ELSE IF(nilai >= 70) THEN Tampilkan “B” ELSE IF (nilai >= 60) THEN Tampilkan “C” ELSE IF(nilai >= 50) THEN Tampilkan “D” ELSE Tampilkan “E” INI CONTOH SOLUSI YANG BENAR!!!
Contoh Solusi (3) IF (nilai >= 80) THEN Tampilkan “A” IF ((nilai >= 70) && (nilai < 80) ) THEN Tampilkan “B” IF ((nilai >= 60) && (nilai < 70) ) THEN Tampilkan “C” IF ((nilai >= 50) && (nilai < 60) ) THEN Tampilkan “D” ELSE Tampilkan “E” … INI CONTOH SOLUSI YANG BENAR!!!
Latihan 1 Tulislah algoritma mengirim email ke teman, dengan mempertimbangkan kemungkinan: Belum/sudah punya akun Email teman sudah ada/belum Benar/Salah alamat email Ada/Tidak ada judul email atau Ada/tidak ada isi pesan
Latihan 2 Mencari nama mahasiswa dari data 4 mhs, ada atau tidak
Latihan 3 Program mencari nama hari, jika diberikan nama hari sekarang, dan berapa jumlah hari kedepan
Latihan 4 Pajak penghasilan(pph) hanya dikenakan thd penghasilan di atas 300 ribu. Jika penghasilan kurang dari atau sama dengan 300 ribu tidak dikenakan pph. Untuk penghasilan sampai dengan 10 juta dikenai pph 15%, sedangkan jika lebih dari 10 juta dikenai pph 30%. Jika tidak terkena pajak, munculkan pesan “Horeee, gak bayar pajek, rek !” Jika total pajak-nya lebih dari 50 ribu, munculkan pesan “Aduuhh, gak isok malam mingguan iki !” Jika total pajak-nya lebih dari 75 ribu, munculkan pesan “wis gak malam mingguan, bangkrut pisan !” Buat programnya
Tugas 2 (due: 23/9/2013) Tuliskan algoritma deskriptif bagaimana: 1. Mengirimkan sms kepada sekelompok (grup) teman tanpa perlu memilih/memasukkan manual nomor telepon masing-masing teman setiap kali ini dilakukan. Tulis lengkap, sebanyak mungkin kondisi yang ada, termasuk : Sedang menulis SMS, kemudian ingin menambah/menghapus nama dalam daftar nama grup. Sedang menuliskan SMS, kemudian ada telpon masuk (TIPS: amati gadget anda)
Tugas 3 (due: 30/9/2013) PDAM menentukan tarif progresif per m3 air dg ketentuan berikut : Buat program u/ membaca jumlah pemakaian air, menghitung biaya yang harus dibayar dan menampilkannya di layar Buat algoritma untuk menentukan jam:menit terbaru jika diberikan jam:menit sekarang dan tambahan menit ke depan. Format jam pakai yang 24 jam. TOOLS: RAPTOR Volume Air (m3) Tarif per m3 (Rp) 0 – 15 250 16 - 30 450 31 - 50 675 > 50 1125
Contoh Penerapan Nested Looping untuk animasi for (int counter1 = 1; counter1 <= baris ; counter1++){ for (int counter2=1; counter2<= kolom; counter2++){ System.out.print("*"); } System.out.print("\n");