Document 9654230

Download Report

Transcript Document 9654230

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