Download - Struktur Pemilihan
![Page 1: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/1.jpg)
Struktur Pemilihan
Pertemuan ke-3
![Page 2: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/2.jpg)
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
![Page 3: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/3.jpg)
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
![Page 4: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/4.jpg)
IF … THEN … ELSE …
• IF cuaca mendung THENsaya membawa payung
ELSEsaya membawa jaket
ENDIF• IF mengantuk THEN
tidurELSE
mengerjakan tugasENDIF
![Page 5: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/5.jpg)
IF … THEN … ELSE …
• IF kenyang THENberhenti makan
ELSEBEGIN
Tambah nasiTambah sayurTambah lauk
ENDENDIF
![Page 6: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/6.jpg)
PEMILIHAN BERSARANG
• IF cuaca mendung THENIF saya harus keluar rumah THEN
saya membawa payungELSE
saya memasukkan sepatuENDIF
ELSEsaya membawa jaket
ENDIF
![Page 7: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/7.jpg)
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
![Page 8: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/8.jpg)
Struktur Pemilihan : Case
CASE ekspresi
nilai1 : aksi1
nilai2 : aksi2
...
nilaiN : aksiN
OTHERWISE : aksiX
ENDCASE
![Page 9: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/9.jpg)
Struktur Pemilihan : Case
• CASE lampu menyala
‘merah’ : berhenti
‘kuning’ : memperlambat laju kendaraan
‘hijau’ : jalan terus
ENDCASE
![Page 10: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/10.jpg)
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
![Page 11: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/11.jpg)
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; ...}
![Page 12: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/12.jpg)
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; ...}
![Page 13: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/13.jpg)
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;}
![Page 14: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/14.jpg)
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
![Page 15: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/15.jpg)
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
![Page 16: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/16.jpg)
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
![Page 17: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/17.jpg)
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!
![Page 18: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/18.jpg)
Pengulangan
![Page 19: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/19.jpg)
Komponen Pengendali
• Inisialisasi; menentukan kondisi awal dilakukannya pengulangan.
• Jumlah iterasi; menunjukkan berapa kali pengulangan akan dilakukan.
• Kondisi berhenti; menentukan kondisi yang dapat mengakhiri pengulangan.
![Page 20: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/20.jpg)
WHILE … DO …
... {inisialisasi}
WHILE (condition) DO
aksi
ubah pencacah
ENDWHILE
...
![Page 21: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/21.jpg)
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
...
![Page 22: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/22.jpg)
![Page 23: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/23.jpg)
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++; }
![Page 24: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/24.jpg)
REPEAT … UNTIL …
... {inisialisasi}
REPEAT
aksi
ubah pencacah
UNTIL (kondisi)
...
![Page 25: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/25.jpg)
Kupas Kentang
...kentang = 0 {inisialisasi; jumlah kentang yang sudah dikupas}
REPEATAmbil sebuah kentang {aksi}
Kupas kulit kentang
kentang = kentang + 1UNTIL kentang = 10 {kondisi berhenti}
...
![Page 26: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/26.jpg)
![Page 27: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/27.jpg)
Algoritma C
REPEAT aksi ubah pencacahUNTIL (condition)
do{ aksi;}while (!kondisi)
![Page 28: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/28.jpg)
FOR … TO … DO …
FOR pencacah = nilai_awal TO nilai_akhir DO
aksi
ENDFOR
![Page 29: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/29.jpg)
Kupas Kentang
FOR kentang = 1 TO 10 DO
Ambil sebuah kentang {aksi}
Kupas kulit kentang
ENDFOR
...
![Page 30: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/30.jpg)
![Page 31: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/31.jpg)
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;
![Page 32: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/32.jpg)
Latihan 1
• Buatlah program untuk menampilkan bilangan-bilangan sebelum bilangan n. Dimana n diinputkan oleh user!
• Inputan : n=5
• Output : 1 2 3 4
![Page 33: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/33.jpg)
Pengulangan Bersarang
![Page 34: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/34.jpg)
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
![Page 35: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/35.jpg)
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
![Page 36: Struktur Pemilihan](https://reader035.vdocuments.net/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/36.jpg)
Latihan 4
• Buatlah program untuk menampilkan output sbb :
• Inputan : n=5• Output :
***************