P5 Seleksi Kondisi
A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
Tujuan • Mahasiswa mampu mengetahui dan memahami : – Seleksi kondisi – Penggunaan statement if – Penggunaan statemen swich
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
2
Pembahasan • If – if tunggal – if else – if bersarang
• Swich – swich tunggal – swich bersarang
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
3
IF
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
If (tunggal) • Struktur kondisi dari IF digunakan untuk melakukan seleksi terhadap pernyataan (statement) tunggal. • Bentuk IF Tunggal adalah sebagai berikut : if (kondisi) pernyataan;
• Jika IF yang diseleksi bernilai benar (bernilai 1) maka pernyataan yang mengikutinya akan diproses, begitu juga sebaliknya jika IF yang diseleksi bernilai salah (bernilai 0) maka pernyataan berikutnya yang akan diproses. SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
5
• Contoh : – Jika nilai yang diperoleh kurang dari 70 maka belum berhasil (pernyataan tidak akan dikerjakan), jika nilai yang diperoleh lebih dari atau sama dengan 70 maka telah berhasil (pernyataan akan dikerjakan).
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
6
If - Else • Bentuk IF...ELSE adalah sebagai berikut : if (kondisi) pernyataan; else pernyataan; • Jika IF yang diseleksi bernilai benar (bernilai 1) maka pernyataan yang mengikutinya akan diproses, dan sebaliknya jika IF yang diseleksi bernilai salah (bernilai 0) maka pernyataan setelah ELSE yang berikutnya akan diproses. SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
7
• Contoh : – Jika nilai yang diperoleh lebih dari atau sama dengan 70 maka pernyataan setelah kondisi IF akan dikerjakan , kemudian jika nilai kurang dari atau sama dengan 70 maka pernyataan setelah else yang akan dikerjakan.
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
8
If (Bersarang) • Pernyataan IF Bersarang yang merupakan suatu pernyataan IF yang merupakan bagian (berada di dalam) pernyataan IF lainnya. • Bentuk IF Bersarang adalah sebagai berikut :
if (kondisi_1) if(kondisi_2) . . if(kondisi_n) pernyataan_n; else pernyataan_n; . . else pernyataan_2; else pernyataan_1;
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
9
•
Kondisi yang diseleksi pertama adalah kondisi yang paling luar (kondisi_1). –
– –
–
Jika kondisi_1 bernilai salah (bernilai 0), maka pernyataan setelah else yang terluar yang akan di proses (pernyataan_2 = yang merupakan pasangan dari kondisi IF yang bersangkutan). Jika pernyataan setelah else tidak ditulis, maka proses akan dihentikan. Jika kondisi_1 bernilai benar (bernilai 1), maka kondisi berikutnya (kondisi_2) yang akan diproses. Jika kondisi_2 bernilai salah (bernilai 0), maka pernyataan setelah else yang merupakan pasangan dari kondisi_2 yang akan diproses. Jika pernyataan setelah else tidak ditulis maka proses aka dihentikan. Proses penyeleksian pada kondisi IF Bersarang akan dilakukan sampai kondisi_n.
•
Contoh : –
–
Jika nilai yang diperoleh lebih dari atau sama dengan 70 maka proses akan dilanjutkan pada kondisi IF berikutnya. Jika nilai yang diperoleh kurang dari atau sama dengan 70 maka yang akan dikerjakan pernyataan setelah else yang merupakan pasangannya “ printf (“Silahkan Mencoba Lagi”)”. Jika nilai yang diperoleh lebih dari 70 atau bernilai benar (bernilai 1), maka pernyataan setelah if “printf (“Selamat ….”) yang akan dikerjakan. Jika nilai yang diperoleh kurang dari 70 maka pernyataan setelah else yang merupakan pasangannya “printf (“Maaf ...”)” yang akan dikerjakan.
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
10
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
11
Switch
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
Swich (Tunggal) • Bentuk SWITCH Tunggal adalah sebagai berikut :
•
Pernyataan SWITCH akan menyeleksi kondisi yang diberikan, selanjutnya akan membandingkan hasilnya dengan konstanta yang berada di CASE. – Jika hasil dari kondisi cocok dengan nilai pada konstanta_1 maka yang akan dikerjakan pernyataan yang berada setelah konstanta_1 dan diakhiri sampai BREAK. – Jika hasil dari kondisi tidak cocok dengan konstanta_1 maka yang akan diperikasa selanjutnya adalah konstanta_2. Dan jika konstanta_2 cocok maka pernyataan setelah konstanta_2 yang akan dikerjakan sampai BREAK. Tetapi jika konstanta_2 tidak cocok maka proses yang akan dikerjakan yaitu pernyataan dibawah DEFAULT.
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
13
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
14
Switch (Bersarang) • Pernyataan SWITCH Bersarang yang merupakan suatu pernyataan SWITCH yang merupakan bagian (berada di dalam) pernyataan SWITCH lainnya. • Bentuk SWITCH Bersarang adalah sebagai berikut : SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
15
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
16
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
17
Evaluasi (Home Work) • Soal 1 – Buatlah algoritma (boleh menggunakan flowchart, pseudocode atau bahasa natural) untuk menentukan namanama bulan dalam satu tahun (Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, Septembet, Oktober, November, Desember). – Buat Program untuk menentukan nama-nama bulan dalam satu tahun (Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, Septembet, Oktober, November, Desember). • Misalnya jika diinputkan angka 7, maka output yang keluar adalah bulan Juli, • Jika diinputkan angka 12, maka output yang keluar adalah bulan Desember, dan seterusnya. SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
18
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
19
• Soal 2 – Perhatikan program berikut :
– Soal 2.1 : Buatlah algoritma dari program tersebut. SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
20
• Soal 2.2 – Modifikasi algoritma (flowchart) dan program Soal 2.1 tersebut di atas untuk menampilkan huruf mutu dari nilai yang diinputkan seperti Tabel berikut, gunakan statement if... else if... – Tampilkan pula pesan kesalahan kepada pengguna apabila nilai yang diinputkan < 0 dan > 100.
Nilai
Huruf Mutu
80 <= nilai <= 100
A
68 <= nilai <= 79
B
58 <= nilai <= 67
C
45 <= nilai <= 57
D
nilai < 45
E
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
21
•
Soal 2.3 – Modifikasi algoritma (flowchart) dan program soal 2.2 di atas dengan perubahan-perubahan seperti berikut (Hanya berlaku untuk nilai A, B dan C) : • Definisi kan RENTANG = BATAS_ATAS – BATAS_BAWAH • Tambahkan tanda '-' (minus) sesudah Huruf Mutu bila NILAI <= 40%*RENTANG + BATAS_BAWAH • Tambahkan tanda '+' sesudah Huruf Mutu bila NILAI >= 70%*RENTANG + BATAS_BAWAH • Di luar ketentuan di atas biarkan apa ada nya.
•
Contoh : – Untuk huruf mutu “A”: – RENTANG = 100 – 80 = 20 – Bila nilai yang diperoleh adalah 88 maka huruf mutu yang keluar adalah “A-”, karena nilai 88 berada di dalam batas 40%* RENTANG + BATAS BAWAH – Bila nilai yang diperoleh adalah 90 maka huruf mutu yang keluar adalah “A” dan bila nilai yangdiperoleh adalah 98 maka huruf mutu yang keluar adalah “ A+”
SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
22
Ketentuan • Kelas 21 : – Tugas dikumpulkan hari senin (31 Oktober 2013) – Dikumpulkan di FTI • Algoritma, source code, dan hasil output di print.
• Kelas 22 : – Tugas dikumpulkan hari selasa (01 November 2013) – Dikumpulkan di FTI • Algoritma, source code, dan hasil output di print.
Note : Setiap hasil output program harus mencantumkan keterangan berupa : NIM, Nama dan Kelas (di bagian paling atas) SQ - http://sidiq.mercubuana-yogya.ac.id -
[email protected]
23