Struktur Pemilihan Pertemuan ke-3
IF … THEN … IF cuaca mendung THEN saya membawa payung ENDIF IF mengantuk THEN Tidur IF lampu merah menyala THEN Berhenti IF kenyang THEN berhenti makan Input (x,y) IF x > y THEN Output (‘x lebih besar dari y’)
IF … THEN … IF cuaca mendung AND harus keluar rumah THEN saya membawa payung ENDIF IF mengantuk OR hari sudah malam THEN tidur IF lampu merah menyala THEN BEGIN injak rem berhenti END
IF … THEN … ELSE … IF cuaca mendung THEN saya membawa payung ELSE saya membawa jaket ENDIF IF mengantuk THEN tidur mengerjakan tugas
IF … THEN … ELSE … IF kenyang THEN berhenti makan ELSE BEGIN Tambah nasi Tambah sayur Tambah lauk END ENDIF
PEMILIHAN BERSARANG IF cuaca mendung THEN IF saya harus keluar rumah THEN saya membawa payung ELSE saya memasukkan sepatu ENDIF saya membawa jaket
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 C IF...THEN dengan 1 aksi IF kondisi THEN ENDIF if (kondisi) aksi; IF...THEN dengan n aksi Aksi1 Aksi2 ... { aksi1; aksi2; }
Algoritma C IF...THEN...ELSE ,dengan masing-masing 1 aksi IF kondisi THEN Aksi1 ELSE Aksi2 ENDIF if (kondisi) aksi1; else aksi2; IF...THEN...ELSE ,dengan n aksi Aksi1a Aksi1b ... Aksi2a Aksi2b { aksi1a; aksi1b; }else{ aksi2a; aksi2b; }
Algoritma C struktur case CASE ekspresi BEGIN nilai1 : aksi1 ... nilaiN : aksiN OTHERWISE : aksiX END switch ekspresi { case nilai1 : aksi1; break; case nilai2 : aksi2; case nilaiN : aksiN; 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 : Penjumlahan 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 pencacah ENDWHILE ... i 0 WHILE i < 5 DO Output(‘*’) i i + 1 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} REPEAT Ambil sebuah kentang {aksi} Kupas kulit kentang kentang = kentang + 1 UNTIL kentang = 10 {kondisi berhenti}
Algoritma C REPEAT aksi ubah pencacah UNTIL (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 menaik Algoritma : FOR pencacah nilai_awal TO nilai_akhir DO Aksi ENDFOR C : for(a=nilai_awal;a<=nilai_akhir;a++) aksi; For...to...do menurun FOR pencacah nilai_awal DOWNTO nilai_akhir DO for(a=nilai_akhir;a>=nilai_awal;a--)
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 * ** *** **** *****