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
![Page 1: Struktur Pemilihan](https://reader035.vdocuments.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/1.jpg)
Struktur Pemilihan
Pertemuan ke-3
![Page 2: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/18.jpg)
Pengulangan
![Page 19: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/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.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/22.jpg)
![Page 23: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/24.jpg)
REPEAT … UNTIL …
... {inisialisasi}
REPEAT
aksi
ubah pencacah
UNTIL (kondisi)
...
![Page 25: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/26.jpg)
![Page 27: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/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.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/30.jpg)
![Page 31: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/33.jpg)
Pengulangan Bersarang
![Page 34: Struktur Pemilihan](https://reader035.vdocuments.site/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.site/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.site/reader035/viewer/2022081501/56813bff550346895da55483/html5/thumbnails/36.jpg)
Latihan 4
• Buatlah program untuk menampilkan output sbb :
• Inputan : n=5• Output :
***************