STMIK AMIKOM PURWOKERTO STRUKTUR PEMILIHAN (SELECTION) STMIK AMIKOM PURWOKERTO
Outline: DEFINISI STRUKTUR KONTROL JENIS STRUKTUR PEMILIHAN STRUKTUR PEMILIHAN IF IF… THEN IF… THEN…ELSE IF..ELSEIF…ELSE PEMILIHAN BERSARANG (NESTED IF) STRUKTUR PEMILIHAN CASE SELECT CASE
DEFINISI Struktur kontrol digunakan untuk mengatur aliran program yang berbentuk rangkaian perintah dan harus dituliskan dalam program untuk memenuhi beberapa kondisi, yaitu: memilih beberapa pilihan dari beberapa alternatif bila sebuah kondisi terpenuhi. Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi. Melanjutkan sebuah pernyataan bila suatu kondisi terpenuhi. Struktur kontrol dalam visual basic ada 2, yaitu Struktur percabangan dan Struktur perulangan.
JENIS-JENIS STRUKTUR PEMILIHAN Didalam Visual Basic.NET terdapat 2 jenis struktur pemilihan, yaitu : Struktur pemilihan IF Struktur pemilihan CASE
STRUKTUR PEMILIHAN IF Struktur pemilihan IF dibagi menjadi 3 cara : IF untuk 1 kondisi pemecahan IF untuk 2 kondisi pemecahan IF bersarang (lebih dari 2 kondisi pemecahan)
If <kondisi> Then <pernyataan> End if IF…THEN Digunakan untuk pengambilan keputusan apakah suatu pernyataan akan dijalankan atau tidak. Cara Kerja: AKSI akan dikerjakan jika EKSPRESI/KONDISI bernilai TRUE Terdapat dua cara penulisan: If <kondisi> Then <pernyataan> End if If <kondisi> Then <pernyataan 1> <pernyataan 2> End if
FLOWCHART IF…THEN IF (apakah) Kondisi THEN Benar Terpenuhi? Pernyataan Jika Benar Benar Salah
CONTOH IF…THEN Jika nilai >= 65 maka siswa dinyatakan lulus Solusi : I f nilai >= 65 then Print(“Lulus”) End if Menentukan bilangan Positif IF bilangan >= 0 then Print(“Bilangan Positif”)
IF…THEN …ELSE Untuk pengambilan keputusan pernyataan yang mana yang akan dijalankan, ada dua blok pernyataan. Jika peryataan bernilai True maka akan mengerjakan blok pernyataan 1, dan jika tidak berarti bernilai False maka blok pernyataan 2 dikerjakan. Cara penulisannya adalah: If <kondisi> Then Blok Pernyataan 1 Else Blok Pernyataan 2 End if
FLOWCHART IF…THEN …ELSE IF (apakah) Kondisi Terpenuhi? Salah Benar ELSE Kode program Jika Tidak THEN Kode program Jika Ya Baris kode program Setelah kata END IF
CONTOH IF…THEN …ELSE Jika nilai >= 65 maka siswa dinyatakan lulus jika tidak maka tidak lulus. Solusi : I f nilai >= 65 then Print(“Lulus”) Else Print(“Tidak Lulus”) End if Menentukan bilangan positif atau negatif Solusi : IF bilangan >= 0 then Print(“Bilangan Positif”) Else Print(“Bilangan Negatif”) End if
IF…ELSEIF… ELSE Kontrol ini akan menguji kondisi pertama, jika bernilai salah maka akan terus menguji kondisi-kondisi berikutnya sampai ditemukan suatu kondisi yang bernilai benar. Bila kondisi itu benar maka akan mengerjakan blok perintah setelah kata Then tempat kondisi itu berada. Sebagai pilihan akhir, kita harus membuat pernyataan Else untuk mengatasi kemungkinan semua kondisi yang diuji bernilai salah. Cara penulisannya adalah: If <kondisi 1> Then Blok Pernyataan 1 Elseif <kondisi 2> Then Blok Pernyataan 2 Else Blok Pernyataan 3 End if
CONTOH IF…ELSEIF… ELSE Jika nilai >= 80 maka predikat “Memuaskan”, jika nilai >=70 maka predikat “Baik”, jika nilai >=60 maka predikat “Cukup” dan jika nilai < 60 maka predikat “Kurang” Solusi : I f nilai >= 80 then Print(“Memuaskan”) Else I f nilai >= 70 then Print(“Baik”) Else I f nilai >= 60 then Print(“Cukup”) Else Print(“Kurang”) End if
IF BERSARANG (NESTED IF) Adalah sebuah kondisi pemilihan dimana dalam sebuah struktur pemilihan terdapat struktur pemilihan yang lain. Pemilihan bersarang dapat dibentuk dari beberapa struktur pemilihan yang berbeda. Contoh penulisannya adalah: If <kondisi> Then Blok Pernyataan 1 Else Blok Pernyataan 2 End if Blok Pernyataan 3
FLOWCHART IF BERSARANG Kondisi Benar Pernyataan 1 Salah Benar Kondisi Pernyataan 2 Salah Pernyataan 3
CONTOH IF BERSARANG Jika nilai >= 65 maka siswa dinyatakan LULUS jika tidak maka: Jika Absensi siswa >= 80 maka siswa dinyatakan LULUS jika tidak maka siswa dinyatakan TIDAK LULUS Solusi : IF nilai >= 65 THEN Print(‘Lulus’) ELSE IF absensi >= 80 THEN writeln(‘Lulus’) writeln(‘Tidak Lulus’) END IF
SELECT CASE (1) Hampir sama dengan struktur percabangan IF, tetapi lebih cocok digunakan jika kondisi yang diperiksa sangat banyak Kondisi yang diperiksa harus berupa data ordinal (bertipe integer atau char), dan tidak boleh bertipe real
SELECT CASE (2) Standar penulisan perintah Select Case: Select Case <kondisi yang ditest> Case <Ekspresi 1> : Blok Pernyataan 1 Case <Ekspresi 2> : Blok Pernyataan 2 Case Else : Blok Pernyataan n End Select
Pernyataan Selanjutnya FLOWCHART SELECT CASE Exp 1 Pernyataan 1 2 4 Pernyataan 4 Pernyataan 2 3 Pernyataan 3 Pernyataan Selanjutnya
CONTOH SELECT CASE Select Case Bulan Case 1: Print(“Januari”) Case 2: Print(“Pebruari”) Case 3: Print(“Maret”) Case 12: Print(“Desember”) Else : Print(“salah input”) End select
REWARD : ADDITIONAL 10 POINT GAMES!! REWARD : ADDITIONAL 10 POINT FOR YOUR MIDDLE EXAM
CASE STUDY IF Buatlah program berdasarkan form disamping, program ini untuk menentukan diskon, total bayar dan bonus yang diperoleh berdasarkan total belanja pembeli. Jika Total harga >= 500000 Diskon = 0.2 % dari total harga Bonus = "Tas Pinggang" Jika Total harga >= 200000 Diskon = 0.15 % dari total harga Bonus = "Payung" Jika Total harga >= 100000 Diskon = 0.1 % dari total harga Bonus = “Mug“ Selain itu tidak dapat diskon dan bonus
CASE STUDY NESTED IF Buatlah program dengan ketentuan berikut: Jika tinggi badan >= 160 jika berat badan < 60 maka DITERIMA jika usia >= 30 maka DITOLAK Jika tinggi badan < 160 DITOLAK
CASE STUDY SELECT CASE Berdasarkan data golongan berikut: I = Pranata, 750.000 II = Pimpro, 850.000 III = Sekda, 1.500.000 IV = Kadis, 2.000.000 Buatlah program yang meminta memasukan golongan, kemudian program menampilkan jabatan dan gaji pegawai.
IT ALWAYS SEEMS IMPOSSIBLE UNTIL IT IS DONE