Download - Struktur Pemilihan
Struktur Pemilihan
Pertemuan ke-3
IF … THEN …• IF cuaca mendung THEN
saya membawa payungENDIF
• IF mengantuk THENTidur
ENDIF• IF lampu merah menyala THEN
BerhentiENDIF
• IF kenyang THENberhenti makan
ENDIF• Input (x,y)
IF x > y THENOutput (‘x lebih besar dari y’)
ENDIF
IF … THEN …
• IF cuaca mendung AND harus keluar rumah THENsaya membawa payung
ENDIF• IF mengantuk OR hari sudah malam THEN
tidurENDIF
• IF lampu merah menyala THENBEGIN
injak remberhenti
ENDENDIF
IF … THEN … ELSE …
• IF cuaca mendung THENsaya membawa payung
ELSEsaya membawa jaket
ENDIF• IF mengantuk THEN
tidurELSE
mengerjakan tugasENDIF
IF … THEN … ELSE …
• IF kenyang THENberhenti makan
ELSEBEGIN
Tambah nasiTambah sayurTambah lauk
ENDENDIF
PEMILIHAN BERSARANG
• IF cuaca mendung THENIF saya harus keluar rumah THEN
saya membawa payungELSE
saya memasukkan sepatuENDIF
ELSEsaya membawa jaket
ENDIF
Kasus
• Buatlah sebuah algoritma bulan dimana inputannya berupa bilangan bulan (1-12) dan outputannya berupa nama bulan (januari-desember) !
• Contoh :
Input : 12
Output : Bulan Desember
Struktur Pemilihan : Case
CASE ekspresi
nilai1 : aksi1
nilai2 : aksi2
...
nilaiN : aksiN
OTHERWISE : aksiX
ENDCASE
Struktur Pemilihan : Case
• CASE lampu menyala
‘merah’ : berhenti
‘kuning’ : memperlambat laju kendaraan
‘hijau’ : jalan terus
ENDCASE
Struktur Pemilihan : Case
• Input (bulan)
CASE bulan
‘1’ : Output (‘bulan Januari’)
‘2’ : Output (‘bulan Februari’)
...
‘12’ : Output (‘bulan Desember’)
OTHERWISE : Output (‘Angka harus 1-12’)
ENDCASE
TRANSLASI KE C
Algoritma CIF...THEN dengan 1 aksi
IF kondisi THEN AksiENDIF
if (kondisi) aksi;
IF...THEN dengan n aksi
IF kondisi THEN Aksi1 Aksi2 ...ENDIF
if (kondisi){ aksi1; aksi2; ...}
Algoritma CIF...THEN...ELSE ,dengan masing-masing 1 aksi
IF kondisi THEN Aksi1ELSE Aksi2ENDIF
if (kondisi) aksi1;else aksi2;
IF...THEN...ELSE ,dengan n aksi
IF kondisi THEN Aksi1a Aksi1b ...ELSE Aksi2a Aksi2b ...ENDIF
if (kondisi){ aksi1a; aksi1b; ...}else{ aksi2a; aksi2b; ...}
Algoritma C
struktur case
CASE ekspresiBEGIN nilai1 : aksi1 nilai2 : aksi2 ... nilaiN : aksiNOTHERWISE : aksiXEND
switch ekspresi{ case nilai1 : aksi1; break; case nilai2 : aksi2; break; ... case nilaiN : aksiN; break; default : aksiX;}
Latihan 1
Buatlah sebuah algoritma dan program pascal dengan spesifikasi sebagai berikut :
– Menampilkan tulisan ’Hello, siapa namamu ?’
– Meminta user memasukkan namanya– Menuliskan pesan ’Senang berteman
denganmu, <nama>’ dimana <nama> adalah hasil masukan dari b
Latihan 2
• Buatlah program untuk menentukan grade nilai mahasiswa dengan ketentuan nilai :A : 80 - 100
B : 61 - 80
C : 41 - 60
D : 21 - 40
E : 0 - 20
Latihan 3
Buatlah sebuah program aritmatika dengan menu sebagai berikut :
1. Penjumlahan
2. Pengurangan
contoh :
pilih menu : 1
bilangan 1 : 5
bilangan 2 : 4
hasil : 9
Latihan 4
Dibaca nama karyawan dan gaji pokok bulanannya. Gaji bersih yang diterima adalah :
Gaji bersih = gaji pokok + tunjangan – pajak
Tunjangan karyawan dihitung 20% dari gaji pokok, sedangkan pajak adalah 15% dari gaji pokok ditambah tunjangan. Nama karyawan dan gaji bersihnya dicetak ke piranti keluaran. Tuliskan algoritmanya dan programnya ke Pascal!
Pengulangan
Komponen Pengendali
• Inisialisasi; menentukan kondisi awal dilakukannya pengulangan.
• Jumlah iterasi; menunjukkan berapa kali pengulangan akan dilakukan.
• Kondisi berhenti; menentukan kondisi yang dapat mengakhiri pengulangan.
WHILE … DO …
... {inisialisasi}
WHILE (condition) DO
aksi
ubah pencacah
ENDWHILE
...
Kupas Kentang
...kentang = 0 {inisialisasi; jumlah kentang yang sudah dikupas}
WHILE kentang < 10 DO {jumlah iterasi}
Ambil sebuah kentang
Kupas kulit kentang
Kentang = kentang + 1
ENDWHILE
...
Algoritma C
WHILE (condition) DO aksi ubah pencacahENDWHILE
while (condition) aksi;
... i 0 WHILE i < 5 DO Output(‘*’) i i + 1 ENDWHILE...
... i=0; while i < 5 { printf(“*”); i++; }
REPEAT … UNTIL …
... {inisialisasi}
REPEAT
aksi
ubah pencacah
UNTIL (kondisi)
...
Kupas Kentang
...kentang = 0 {inisialisasi; jumlah kentang yang sudah dikupas}
REPEATAmbil sebuah kentang {aksi}
Kupas kulit kentang
kentang = kentang + 1UNTIL kentang = 10 {kondisi berhenti}
...
Algoritma C
REPEAT aksi ubah pencacahUNTIL (condition)
do{ aksi;}while (!kondisi)
FOR … TO … DO …
FOR pencacah = nilai_awal TO nilai_akhir DO
aksi
ENDFOR
Kupas Kentang
FOR kentang = 1 TO 10 DO
Ambil sebuah kentang {aksi}
Kupas kulit kentang
ENDFOR
...
For...to...do menaikAlgoritma :FOR pencacah nilai_awal TO nilai_akhir DO AksiENDFOR
C :for(a=nilai_awal;a<=nilai_akhir;a++) aksi;
For...to...do menurunAlgoritma :FOR pencacah nilai_awal DOWNTO nilai_akhir DO AksiENDFOR
C :for(a=nilai_akhir;a>=nilai_awal;a--) aksi;
Latihan 1
• Buatlah program untuk menampilkan bilangan-bilangan sebelum bilangan n. Dimana n diinputkan oleh user!
• Inputan : n=5
• Output : 1 2 3 4
Pengulangan Bersarang
Latihan 2
• Buatlah sebuah program untuk menghitung penjumlahan deret angka 1+2+3+...+n. Dimana n adalah inputan dari user !
• Inputan : N=5
• Output : Hasil penjumlahan deret = 15
Latihan 3
• Buatlah sebuah program yang akan menampilkan bilangan ganjil sebelum bilangan n. Dimana n diinputkan oleh user !
• Inputan : n=8
• Outputan : 1 3 5 7
Latihan 4
• Buatlah program untuk menampilkan output sbb :
• Inputan : n=5• Output :
***************