struktur pemilihan
DESCRIPTION
Struktur Pemilihan. Pertemuan ke-3. IF … THEN …. IF cuaca mendung THEN saya membawa payung ENDIF IF mengantuk THEN Tidur ENDIF IF lampu merah menyala THEN Berhenti ENDIF IF kenyang THEN berhenti makan ENDIF Input (x,y) IF x > y THEN - PowerPoint PPT PresentationTRANSCRIPT
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 :
***************