PRAKTIKUM 5: if & if … else A.
TUJUAN PEMBELAJARAN Menjelaskan tentang operator kondisi (operator relasi dan logika). Menjelaskan penggunaan pernyatan if. Menjelaskan penggunaan pernyataan if-else. DASAR TEORI
B.
Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis pernyataan, berupa
Pernyataan if Pernyataan if-else, dan Pernyataan switch
Pernyataan- pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan salah. a. Operator Relasi Operator biasa dipakai untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada C ditunjukkan pada tabel berikut. Operator > >= < <= == !=
Makna Lebih dari Lebih dari atau sama dengan Kurang dari Kurang dari atau sama dengan Sama dengan Tidak sama dengan
b. Operator Logika Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Keseluruhan operator logika ditunjukkan pada tabel berikut. Operator && || ! Bentuk pemakaian operator && dan || adalah
Makna dan (AND) atau (OR) tidak (NOT)
operand1 operator operand2
c. Pernyataan if Pernyataan if mempunyai bentuk umum : If (kondisi) pernyataan; Bentuk ini menyatakan :
Jika kondisi yang diseleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan diproses. Sebaliknya, jika kondisi yang diseleksi adalah tidak benar (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan diproses.
Mengenai kondisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Diagram alir dapat dilihat seperti gambar berikut
Kondisi
salah
benar Pernyataan
d. Pernyataan if-else Pernyataan if-else memiliki bentuk : if (kondisi) pernyataan-1; else pernyataan-2; Diagram alir dapat dilihat seperti gambar berikut :
Kondisi
Pernyataan-1
Pernyataan-2
Arti dari pernyataan if-else : Jika kondisi benar, maka pernyataan-1 dijalankan. Sedangkan bila kondisi bernilai salah, maka pernyataan-2 yang dijalankan. masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Contoh penggunaan pernyataan if-else adalah untuk menyeleksi nilai suatu bilangan pembagi. Jika nilai bilangan pembagi adalah nol, maka hasil pembagian dengan nilai nol akan mendapatkan hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses pembagian tidak akan dilakukan.
C. D.
TUGAS PENDAHULUAN Desainlah algoritma dan flowchart untuk semua soal pada percobaan. PERCOBAAN 1. Buat program yang membaca nilai integer dan menuliskan “Nilai a positif” jika a>=0 dan “Nilai a negative” jika a<0. 2. Buat program untuk menginputkan sebuah bilangan, kemudian cetak ke layar bilangan tersebut dan beri komentar apakah bilangan tersebut ganjil atau genap. Contoh input = 15 Output = bilangan yang diinputkan adalah 15. Bilangan tersebut adalah bilangan ganjil 3. Buat program yang menggunakan pernyataan if adalah untuk menentukan besarnya potongan harga yang diterima oleh seorang pembeli, berdasarkan kriteria : Tidak ada potongan harga jika total pembelian kurang dari Rp. 100.00 (dalam hal ini potongan harga diinisialisasi dengan nol). Bila total pembelian lebih dari atau sama dengan Rp. 100.000, potongan harga yang diterima dirubah menjadi sebesar 5% dari total pembelian. Contoh
input = 50.000 Output = Total pembelian adalah Rp. 50.000
4. Buat program yang menerima dua buah bilangan. Output dari program adalah “Bilangan pertama adalah kelipatan persekutuan bilangan kedua” jika bilangan pertama habis dibagi bilangan kedua atau “Bilangan pertama bukan kelipatan persekutuan bilangan kedua” jika tidak habis dibagi. Contoh input = 36 dan 3 Output = Bilangan pertama adalah kelipatan persekutuan bilangan kedua 5. Gunakan pernyataan if…else untuk membuat program yang menerima 2 buah bilangan bulat masukan. Tampilkan hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal. Input : bil1 dan bil2 Output : hasil bagi bil1 dengan bil2 Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan kesalahannya (division by zero).
E.
LAPORAN RESMI 1. Untuk setiap listing dari program dari percobaan-percobaan di atas, ambil capture outputnya. 2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan. 3. Buatlah program untuk menghitung nilai absolut dari suatu bilangan. 4. Untuk flow chart di bawah ini lakukan tracing flow chart untuk menemukan outputnya, jika input yang diberikan adalah: (1) bil = 10 (2) bil = -10 (3) bil = 0
a. Start
Input bilangan
Bil>0?
Tidak Ya
Tulis “Kategori A”
Stop
b.
Start
Input bilangan
Bil>0?
Tidak Ya Tulis “Kategori A”
Stop
Tulis “Kategori B”
c.
Start
Input bilangan
Bil>0?
Tidak Ya Tulis “Kategori B”
Tulis “Kategori A”
Stop
F.
LISTING PROGRAM 1. #include #include main() { int a; printf("Input nilai a: "); scanf("%d", &a); if(a>0) puts("Nilai a positif"); if(a<0) puts("Nilai a negatif"); return 0; }
2. #include #include main() { int a;
printf("Input bilangan a : "); scanf("%d", &a); if(a%2 == 0) printf("Bilangan a Genap"); else printf("Bilangan a Ganjil"); return 0; }
3. #include #include main() { float harga, diskon, total; printf("Input harga : "); scanf("%f", &harga); if(harga >= 100000) { puts("Selamat, Anda mendapat diskon"); diskon = harga * 0.05; total = harga - diskon; } else { puts("Mohon maaf, Anda belum mendapat diskon"); } printf("Harga yang setelah didiskon = %g\n", total); return 0; }
4. #include #include main() { int bilangan1, bilangan2; printf("Input dalam bilangan1 :"); scanf("%d", &bilangan1); printf("Input dalam bilangan2 :"); scanf("%d", &bilangan2); if (bilangan1%bilangan2 == 0) printf("bilangan1 merupakan kelipatan persekutuan dari bilangan2"); else (bilangan1%bilangan2 != 0); printf("bilangan1 bukan merupakan kelipatan persekutuan dari bilangan2"); return 0; }
5. #include #include main()
{ float x, y, z; printf("input bilangan x: "); scanf("%f", &x); printf("input bilangan y: "); scanf("%f", &y); z = x/y; if(y != 0) { printf("hasil pembagian = %0.3f\n", z); } else { puts("eror, it's division by zero!"); } return 0; }
6. #include #include main() { int n, mutlak; printf("Input bilangan bulat n : "); scanf("%d", &n); if(n<0) { mutlak = -1 * n; printf("nilai mutlak dari %d adalah %d\n", n, mutlak); } else { printf("nilai mutlak dari %d adalah %d\n", n,n);} return 0; }
7. Input Bilangan -10 0 10
Proses Tidak Tidak Ya
Output Kategori A
Input Bilangan -10 0 10
Proses Tidak Tidak Ya
Output Kategori B Kategori B Kategori A
8.
9. Input Bilangan -10 0 10
Proses Tidak Tidak Ya
Output Kategori B, Kategori A Kategori B, Kategori A Kategori A
G.
PERCETAKAN 1.
2.
3.
4.
5.
6.
H. 1. 2. 3. 4.
KESIMPULAN Operasi kondisi adalah operator yang digunakan untuk menghasilkan kondisi benar (true) dan salah (false), yang terdiri atas operator relasi dan operator logika. Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Untuk penyeleksian kondisi dalam rangka pengambilan keputusan bisa digunakan salah satu dari pernyataan berikut ini : a. Pernyataan if, bentuk umumnya : if (kondisi) pernyataan; b. Pernyataan if-else, bentuk umumnya : if (kondisi) pernyataan-1; else pernyataan-2;