II Kendali percabangan (branching) If-else Switch case
BRANCHING/ PERCABANGAN CONTROL STRUCTURES SEQUENTIAL/ URUTAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan statemen selanjutnya LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu masih terpenuhi
SEQUENTIAL/ URUTAN Action 1 Action 2 Action 3 Entry Exit
BRANCHING/ PERCABANGAN Struktur pengambilan keputusan percabangan/branching yang digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. Perintah percabangan berguna untuk memilih salah satu dari 2 atau lebih alternatif jawaban yang tersedia. Simbol kontrol program percabangan dalam RAPTOR sbb: Setiap symbol bercabang menjadi 2 keputusan yaitu YES dan NO. Jika dalam suatu permasalahan diperlukan lebih dari 2 keputusan, maka tambahkan symbol percabangan sesuai kebutuhan.
Entry Condition 1 Action 1 Condition 2 Action 3 Action 2 Exit TRUE FALSE
Perintah IF if (kondisi) pernyataan 1; ................... pernyataan_n; end Bentuk di atas mempunyai arti jika kondisi bernilai benar maka pernyataan di bawahnya akan dikerjakan.
Perintah IF......ELSE ….. if (kondisi) pernyataan 1; ................... pernyataan_m; else pernyataan 4; pernyataan_n; End Bentuk IF...ELSE.... mempunyai arti jika kondisi benar maka pernyataan 1 s/d m akan dikerjakan dan jika kondisi salah maka pernyataan 4 s/d n yang akan dikerjakan.
Perintah IF…ELSIF….ELSE… (IF bertingkat) Bentuk di samping mempunyai arti jika kondisi 1 benar maka pernyataan 1 yang akan dikerjakan dan apabila kondisi 1 tidak benar maka kondisi 2 yang akan dilihat. Jika kondisi 2 benar maka pernyataan 2 yang akan dikerjakan dan apabila kondisi 2 tidak benar maka kondisi 3 yang akan dilihat sampai pernyataan terakhir sesuai bentuk pernyataan diatas. if (kondisi 1) pernyataan 1; elsif (kondisi 2) pernyataan 2; ……. elsif (kondisi n) pernyataan n; else Pernyataan n+1;
Perintah IF bersarang (IF dalam IF) atau nested-if if (kondisi 1) if (kondisi 2) pernyataan 1; else pernyataan 2; if (kondisi 3) pernyataan 3; pernyataan 4; end Bentuk di samping memiliki arti jika kondisi 1 benar maka dilanjutkan pengecakan ke kondisi 2. Tetapi jika kondisi 1 salah maka akan dilanjutkan ke bagian else dan kemudian dilakukan pengecekan pada kondisi 3.
Contoh Kasus 1. Besarnya tunjangan yang akan diterima oleh seorang karyawan tergantung dari jumlah anaknya. Jika seorang pegawai mempunyai anak kurang dari 3, maka tunjangannya adalah sebesar 20% dari gaji kotornya. Jika jumlah anaknya lebih besar atau sama dengan 3, maka besarnya tunjangan adalah 30% dari gaji kotornya.
#include <stdio.h> main() { int JumlahAnak; float GajiKotor,Tunjangan, PersenTunjangan=0.2; //tunjangan 20% printf("Gaji kotor:"); scanf("%f",&GajiKotor); printf("Jumlah anak:"); scanf("%d",&JumlahAnak); if(JumlahAnak>2) PersenTunjangan=0.3; Tunjangan=PersenTunjangan*GajiKotor; printf("\nBesarnya Tunjangan=Rp %.2f\n",Tunjangan); }
Contoh Buat algoritma dan flowchart menggunakan raptor untuk menebak apakah sebuah angka lebih kecil dari 100 ataukah tidak! Algoritma: Mulai Masukkang suatu bilangan Jika bilangan < 100 bernilai BENAR maka tampilkan di layar “Angka yang Anda masukkan lebih kecil dari 100” Jika bilangan < 100 bernilai SALAH maka tampilkan “Angka yang Anda masukkan lebih besar atau sama dengan 100” Selesai
Flowchart Raptor?
Contoh Kasus 2. Pegawai mendapat tunjangan yang tergantung dari jumlah anaknya, setiap anak mendapatkan tunjangan sebesar Rp 100.000,-. Gaji pegawai yang bersangkutan juga akan dipotong untuk keperluan asuransi. Besarnya potongan adalah sebesar 5% dari gaji kotor untuk jumlah anak sama atau kurang dari dua dan sebesar 7% untuk jumlah lebih dari dua.
Latihan: Membuat algoritma dan flowchart raptor untuk menebak huruf vokal yang dimasukkan oleh user. untuk menghitung akar-akar persamaan kuadrat. Perhatikan kemungkinan nilai determinannya. Input dari user adalah nilai a, b, dan c. 3. membuat menu menghitung luas bangun datar. Contoh tampilan: << Program menghitung luas bangun datar >> Menu: Luas segi tiga Luas persegi panjang Luas lingkaran Pilihan Anda : 3 Masukkan jari-jari : 5 Luas lingkaran : 78.5
4. untuk evaluasi IPK wisuda dengan kriteria: IPK > 3.5 maka akan menampilkan komentar “SAUDARA HEBAT!!!” IPK 3.0 – 3.5 maka akan menampilkan komentar “BIASA SAJA” IPK < 3.0 maka akan menampilkan komentar “WAH, PAYAH…” 5. untuk konversi nilai dari nilai angka menjadi nilai huruf. Input berupa nilai angka, sedangkan output berupa tampilan nilai hurufnya. Range nilainya: > 80 : A 40 – 54 : D 65 – 80 : B < 40 : E 55 – 64 : C 6. untuk menganalisa inputan user dengan aturan: Tinggi >= 160 : Tinggi Tinggi < 160 : Pendek Berat > 80 : Gemuk Berat 50 – 80 : Sedang Berat < 50 : Kurus Contoh tampilan: Masukkan Tinggi : 155 Masukkan Berat : 100 Hasil Analisa : Saudara termasuk bertubuh pendek dan gemuk