Matakuliah Tahun : METODE PERANCANGAN PROGRAM : 2010 STRUKTUR PEMILIHAN / SELECTION Pertemuan 3 Struktur Pemilihan / Selection Pertemuan 3 Bina Nusantara University 3 Struktur Kontrol Selection / Pemilihan • Ada beberapa variasi dari struktur kontrol selection yaitu: 1. 2. 3. 4. Simple Selection (simple IF Statement) Simple Selection tanpa cabang Combined Selection Nested Selection 1. Linear Nested IF Statement 2. Non-Linear IF Statement 1. Simple Selection • Simple selection terjadi jika harus memilih diantara dua alternatif yang ada, tergantung dari hasil kondisi apakah True atau false. • Keyword yang digunakan aalah : IF, THEN, ELSE, dan ENDIF 1. Simple Selection • Contoh IF saldo < $300 THEN bunga = 0.05 ELSE bunga = 0.1 ENDIF 2. Simple Selection tanpa cabang • Simple selection ini terjadi jika sebuah statement hanya bisa dikerjakan bila kondisinya adalah TRUE • Contoh: IF Saldo > $300 THEN bunga = saldo * 0.1 ENDIF 3. Combined Selection • Combined Selection terjadi jika kondisi yang harus diperiksa lebih dari satu. Kondisi tersebut dapat dihubungkan dengan menggunakan AND atau OR. 3. Combined Selection • Contoh: IF saldo > 300 AND kode = 1 THEN bunga = saldo * 0.1 ELSE bunga = saldo * 0.05 ENDIF • Statement bunga = saldo *0.1, akan bisa dikerjakan jika kedua kondisi yaitu saldo > 300 dan Kode = 1 bernilai TRUE. Hal ini dikarenakan penghubung yang digunakan adalah AND 3. Nested Selection • Tabel kebenaran A T T F F B NOT A NOT B A AND B A OR B T F F T T F F T F T T T F F T F T T F F 4. Nested Selection • Nested selection terjadi, jika di dalam IF terdapat statement IF yang lain. • Ada dua jenis nested selection – Linear Nested IF statement – Non-Linear Nested IF statement Linear Nested IF Statement • • Linear Nested terjadi jika satu kondisi di cek untuk beberapa nilai. Contoh: IF record_code=‘A’ THEN increment counter_A ELSE IF record_code=‘B’ THEN increment counter_B ELSE IF record_code=‘C’ THEN increment counter _C ELSE increment error_counter ENDIF ENDIF ENDIF Non-Linear Nested IF • Non-Linear Nested IF Statement terjadi jika beberapa kondisi harus diperiksa sebelum suatu statement dikerjakan. Non-Linear Nested IF IF student_attendance=part_time THEN IF student_gender=female THEN IF student_age >21 THEN add 1 to mature_fem_pt_students ELSE add 1 to young_fem_pt_students ENDIF ELSE add 1 to male_pt_students ENDIF ELSE add 1 to full_time_students ENDIF Algoritma menggunakan Selection Susunlah algoritma untuk membaca tiga karakter kemudian susunlah ketiga nilai karakter tersebut dengan urutan menaik (ascending) dan tampilkan ketiga karakter hasil sort tersebut Jawaban • Definisi Masalah Input Proses Output Kar_1 baca Kar_1, Kar_2, Kar_3 Kar_1 Kar_2 sort tiga karakter tersebut Kar_2 Kar_3 cetak hasil sort Kar_3 Jawaban • Algoritma Solusi Baca_Tiga_Karakter baca Kar_1, Kar_2, Kar_3 If Kar_1 > Kar_2 THEN temp = Kar_1 Kar_1 = Kar_2 Kar_2 = temp ENDIF If Kar_2 > Kar_3 THEN temp = Kar_2 Kar_2 = Kar_3 Kar_3 = temp ENDIF If Kar_1>Kar_2 THEN temp = Kar_1 Kar_1 = Kar_2 Kar_2 = temp ENDIF cetak Kar_1, Kar_2, Kar_3 END Desk Checking • Data Input : Kar_1 Kar_2 Kar_3 Data 1 k b g Data 2 z s a Desk checking • Hasil yang diharapkan Kar_1 Kar_2 Kar_3 Data 1 b g k Data 2 a s z Desk Checking • Tabel Kar_1 Kar_2 Kar_3 Data 1 Baca IF IF IF Cetak Data 2 Baca IF IF IF Cetak k b b k g g ya ya ya z s s z a s ya a a ya k z ya temp IF dijalankan ? k k ya ya tidak z z s ya ya ya CASE CASE OF variabel nilai_1 : statement_1 nilai_2 : statement_2 … : nilai_n : statement_n nilai_lain: statement_lain END CASE Contoh: CASE OF record_code ‘A’ : increment counter_A ‘B’ : increment counter_B ‘C’ : increment counter_C other : increment error_counter ENDCASE
© Copyright 2026 Paperzz