Post on 13-Apr-2016
Metode Perancangan Metode Perancangan Program Program
Pert 3 – Struktur Pemilihan / Pert 3 – Struktur Pemilihan / Selection Selection
Struktur Kontrol Selection / Struktur Kontrol Selection / Pemilihan Pemilihan Ada beberapa variasi dari Ada beberapa variasi dari
struktur kontrol selection yaitu: struktur kontrol selection yaitu: 1.1. Simple Selection (simple IF Simple Selection (simple IF
Statement) Statement) 2.2. Simple Selection tanpa cabang Simple Selection tanpa cabang 3.3. Combined Selection Combined Selection 4.4. Nested Selection Nested Selection
1.1. Linear Nested IF StatementLinear Nested IF Statement2.2. Non-Linear IF Statement Non-Linear IF Statement
1. Simple Selection 1. Simple Selection
Simple selection terjadi jika Simple selection terjadi jika harus memilih diantara dua harus memilih diantara dua alternatif yang ada, tergantung alternatif yang ada, tergantung dari hasil kondisi apakah True dari hasil kondisi apakah True atau false. atau false.
Keyword yang digunakan Keyword yang digunakan aalah : IF, THEN, ELSE, dan aalah : IF, THEN, ELSE, dan ENDIF ENDIF
1. Simple Selection 1. Simple Selection
Contoh Contoh IF saldo < $300 THEN IF saldo < $300 THEN
bunga = 0.05bunga = 0.05ELSE ELSE
bunga = 0.1bunga = 0.1ENDIF ENDIF
2. Simple Selection tanpa 2. Simple Selection tanpa cabang cabang Simple selection ini terjadi jika Simple selection ini terjadi jika
sebuah statement hanya bisa sebuah statement hanya bisa dikerjakan bila kondisinya dikerjakan bila kondisinya adalah TRUE adalah TRUE
Contoh: Contoh: IF Saldo > $300 THEN IF Saldo > $300 THEN
bunga = saldo * 0.1bunga = saldo * 0.1ENDIF ENDIF
3. Combined Selection 3. Combined Selection
Combined Selection terjadi jika Combined Selection terjadi jika kondisi yang harus diperiksa kondisi yang harus diperiksa lebih dari satu. Kondisi tersebut lebih dari satu. Kondisi tersebut dapat dihubungkan dengan dapat dihubungkan dengan menggunakan AND atau OR. menggunakan AND atau OR.
3. Combined Selection 3. Combined Selection
Contoh: Contoh: IF saldo > 300 AND kode = 1 THEN IF saldo > 300 AND kode = 1 THEN
bunga = saldo * 0.1 bunga = saldo * 0.1 ELSE ELSE
bunga = saldo * 0.05bunga = saldo * 0.05ENDIF ENDIF
Statement bunga = saldo *0.1, akan Statement bunga = saldo *0.1, akan bisa dikerjakan jika kedua kondisi bisa dikerjakan jika kedua kondisi yaitu saldo > 300 dan Kode = 1 yaitu saldo > 300 dan Kode = 1 bernilai TRUE. Hal ini dikarenakan bernilai TRUE. Hal ini dikarenakan penghubung yang digunakan adalah penghubung yang digunakan adalah AND AND
3. Nested Selection 3. Nested Selection
Tabel kebenaran Tabel kebenaran
A B NOT A NOT B A AND B A OR B T T F F T TT F F T F TF T T F F TF F T T F F
4. Nested Selection 4. Nested Selection
Nested selection terjadi, jika di Nested selection terjadi, jika di dalam IF terdapat statement IF dalam IF terdapat statement IF yang lain.yang lain.
Ada dua jenis nested selection Ada dua jenis nested selection Linear Nested IF statementLinear Nested IF statement Non-Linear Nested IF statement Non-Linear Nested IF statement
Linear Nested IF Statement Linear Nested IF Statement
Linear Nested terjadi jika satu kondisi di cek untuk Linear Nested terjadi jika satu kondisi di cek untuk beberapa nilai. beberapa nilai.
Contoh: Contoh: IF record_code=‘A’ THENIF record_code=‘A’ THEN
increment counter_Aincrement counter_AELSEELSE
IF record_code=‘B’ THENIF record_code=‘B’ THEN increment counter_Bincrement counter_BELSEELSE IF record_code=‘C’ THENIF record_code=‘C’ THEN increment counter _Cincrement counter _C ELSEELSE increment error_counterincrement error_counter
ENDIFENDIF ENDIFENDIF ENDIFENDIF
Non-Linear Nested IF Non-Linear Nested IF
Non-Linear Nested IF Statement Non-Linear Nested IF Statement terjadi jika beberapa kondisi terjadi jika beberapa kondisi harus diperiksa sebelum suatu harus diperiksa sebelum suatu statement dikerjakan. statement dikerjakan.
Non-Linear Nested IF Non-Linear Nested IF
IF student_attendance=part_time THENIF student_attendance=part_time THENIF student_gender=female THENIF student_gender=female THEN IF student_age >21 THENIF student_age >21 THEN
add 1 to mature_fem_pt_studentsadd 1 to mature_fem_pt_students ELSEELSE
add 1 to young_fem_pt_studentsadd 1 to young_fem_pt_students ENDIFENDIF
ELSEELSE add 1 to male_pt_studentsadd 1 to male_pt_students
ENDIF ENDIF ELSEELSE add 1 to full_time_studentsadd 1 to full_time_studentsENDIFENDIF
Algoritma menggunakan SelectionAlgoritma menggunakan Selection
Susunlah algoritma untuk membaca tiga Susunlah algoritma untuk membaca tiga karakter kemudian susunlah ketiga nilai karakter kemudian susunlah ketiga nilai karakter tersebut dengan urutan menaik karakter tersebut dengan urutan menaik (ascending) dan tampilkan ketiga karakter (ascending) dan tampilkan ketiga karakter hasil sort tersebuthasil sort tersebut
JawabanJawaban
Definisi Masalah Definisi Masalah
Input Proses Output Kar_1 baca Kar_1, Kar_2, Kar_3 Kar_1Kar_2 sort tiga karakter tersebut Kar_2Kar_3 cetak hasil sort Kar_3
JawabanJawaban Algoritma Solusi Algoritma Solusi
Baca_Tiga_KarakterBaca_Tiga_Karakterbaca Kar_1, Kar_2, Kar_3baca Kar_1, Kar_2, Kar_3If Kar_1 > Kar_2 THEN If Kar_1 > Kar_2 THEN
temp = Kar_1temp = Kar_1Kar_1 = Kar_2Kar_1 = Kar_2Kar_2 = tempKar_2 = temp
ENDIF ENDIF If Kar_2 > Kar_3 THEN If Kar_2 > Kar_3 THEN
temp = Kar_2temp = Kar_2Kar_2 = Kar_3Kar_2 = Kar_3Kar_3 = tempKar_3 = temp
ENDIF ENDIF If Kar_1>Kar_2 THEN If Kar_1>Kar_2 THEN
temp = Kar_1temp = Kar_1Kar_1 = Kar_2Kar_1 = Kar_2Kar_2 = temp Kar_2 = temp
ENDIF ENDIF cetak Kar_1, Kar_2, Kar_3cetak Kar_1, Kar_2, Kar_3
END END
Desk Checking Desk Checking
Data Input : Data Input :
Data 1 Data 2 Kar_1 k zKar_2 b sKar_3 g a
Desk checking Desk checking
Hasil yang diharapkan Hasil yang diharapkan
Data 1 Data 2 Kar_1 b aKar_2 g sKar_3 k z
Desk Checking Desk Checking
Tabel Tabel
Kar_1 Kar_2 Kar_3 temp IF dijalankan ? Data 1 Baca k b gIF b k k yaIF g k k yaIF tidak Cetak ya ya yaData 2 Baca z s aIF s z z yaIF a z z yaIF a s s yaCetak ya ya ya
CASE CASE
CASE OF variabelCASE OF variabelnilai_1nilai_1 : statement_1: statement_1
nilai_2nilai_2 : statement_2: statement_2 …… : :
nilai_nnilai_n : statement_n: statement_nnilai_lain: statement_lainnilai_lain: statement_lain
END CASEEND CASE
Contoh:Contoh:
CASE OF record_codeCASE OF record_code‘‘A’A’ : increment counter_A: increment counter_A‘‘B’B’ : increment counter_B: increment counter_B‘‘C’C’ : increment counter_C: increment counter_Cotherother : increment error_counter: increment error_counter
ENDCASE ENDCASE