Anda di halaman 1dari 17

3 Kondisi (if, if-else, switch)

3.1 Tujuan Praktikum


- Menjelaskan tentang operator kondisi (operator relasi dan logika).
- Menjelaskan penggunaan pernyataan if, if – else, dan if dalam if (nested if).
- Menjelaskan tentang pernyataan switch.

3.2 Landasan Teori


Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis
pernyataan, berupa :
a. Pernyataan If
b. Pernyataan If-else, dan
c. Pernyataan Switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam
pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan
salah.

3.2.1 Operator Relasi


Operator relasi biasa dipakai untuk membandingkan dua buah nilai.
Hasil pembandingan berupa keadaan benar atau salah. Keseluruhan operator
relasi pada C ditunjukkan pada Tabel 3.1.
Tabel 3.1. Operasi relasi
Operator Makna
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak sama dengan

3.2.2 Operator Logika


Operator logika biasa dipakai untuk menghubungkan ekspresi relasi.
Keseluruhan operator logika ditunjukkan pada tabel 3.2.
Tabel 3.2. Operator logika
Operator Makna
&& dan (AND)
!! or (OR)
Buku Petunjuk Praktikum
18
Algoritma dan Pemrograman
! Tidak (NOT)
Bentuk pemakaian operator && dan || adalah :
operand1 operator operand2

3.2.3 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 kodisi harus ditulis diantara tanda kurung, sedangkan
pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk
atau pernyataan kosong.
Diagram alir dapat dilihat seperti gambar 3.1.

3.2.4 Pernyataan If-else


Pernyataan if-else memiliki bentuk :
if (kondisi)
pernyataan-1;
else
pernyataan-2;
Diagram alir dapat dilihat seperti gambar 3.2.

Buku Petunjuk Praktikum


19
Algoritma dan Pemrograman
Arti dari pernyataan if-else :
- Jika kondisi benar, maka pernyataan-1 dijalankan.
- Sedangkan bila kondisi bernilai salah, maka pernyataaan-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
dengannilai nol akan mendapatkan hasil tak berhingga. Jika ditemui nilai
pembaginya nol, maka proses pembagian tidak akan dilakukan.

3.2.5 Pernyataan If di dalam if


Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat
pernyataan if (atau if-else) yang lain. Bentuk seperti ini dinamakan sebagai
nested if. Secara umum, bentuk dari pernyataan ini adalah sebagai berikut :

if (kondisi-1)
if (kondisi-2)
if(kondisi-n)
pernyataan;
else
pernyataan;
else
pernyataan;
else
pernyataan;

Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar
(kondisi-1). Jika kondisi-1 bernilai salah, maka statement else yang terluar
(pasangan if yang bersangkutan) yang akan diproses. Jika else (pasangannya
tsb) tidak ditulis, maka penyeleksian kondisi akan dihentikan.
Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih
dalam (kondisi-2) akan diseleksi. Jika kondisi-2 bernilai salah, maka statement
else pasangan dari if yang bersangkutan yang akan diproses. Jika else (untuk
kondisi-2) tidak ditulis, maka penyeleksian kondisi akan dihentikan.
Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai
dengan kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar.

3.2.6 Pernyataan Else-if


Contoh implementasi nested if ini misalnya pembuatan sebuah
program kalkulator sederhana. User memberikan masukan dengan format :

Buku Petunjuk Praktikum


20
Algoritma dan Pemrograman
operand1 operator operand2
Jenis operasi yang dikenakan bergantung pada jenis operator yang
dimasukkan oleh user. Oleh karena itu program akan mengecek apakah
operator berupa tanda ‘*’, ‘/’, ‘+’, ataukah tanda ‘-‘ .
- Jika operator berupa tanda ‘*’ maka operand1 akan dikalikan dengan
operand2.
- Jika operator berupa tanda ‘/’ maka operand1 akan dibagi dengan
operand2.
- Jika operator berupa tanda ‘+’ maka operand1 akan dijumlahkan dengan
operand2.
- ika operator berupa tanda ‘-’ maka operand1 akan dikurangi dengan
operand2.
- Kalau operator yang dimasukkan bukan merupakan salah satu dari jenis
operator di atas, maka ekspresi tersebut tidak akan diproses, dan user
akan mendapatkan pesan berupa : “Invalid operator !”

3.2.7 Pernyataan Switch


Pernyataan switch merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah alternatif,
misalnya untuk menggantikan pernyataan if bertingkat. Bentuk umum
pernyataan switch adalah :
switch (ekspresi)
{
case konstanta-1:
pernyataan-1;
break;
case konstanta-2:
case konstanta-n:
pernyataan-n;
break;
default:
break;
}
Dengan ekspresi dapat berupa ekspresi bertipe integer atau bertipe karakter.
Demikian juga konstanta-1, konstanta-2, …, konstanta-n dapat berupa
konstanta integer atau karakter. Setiap pernyataan-i (pernyataan-1, … ,
pernyataan-n) dapat berupa pernyataan tunggal ataupun pernyataan jamak.
Dalam hal ini urutan penulisan pernyataan case tidak berpengaruh. Proses
penyeleksian berlangsung sebagai berikut :
- Pengujian pada switch akan dimulai dari konstanta-1. Kalau nilai
konstanta-1 cocok dengan ekspresi maka pernyataan-1 dijalankan. Kata
kunci break harus disertakan di bagian akhir setiap pernyataan case,

Buku Petunjuk Praktikum


21
Algoritma dan Pemrograman
yang akan mengarahkan eksekusi ke akhir switch.
- Kalau ternyata pernyataan-1 tidak sama dengan nilai ekspresi, pengujian
dilanjutkan pada konstanta-2, dan berikutnya serupa dengan pengujian
pada konstanta-1.
- Jika sampai pada pengujian case yang terakhir ternyata tidak ada
kecocokan, maka pernyataan yang mengikuti kata kunci default yang
akan dieksekusi. Kata kunci default ini bersifat opsional.
- Tanda kurung kurawal tutup (}) menandakan akhir dari proses
penyeleksian kondisi case.

3.3 Alat-alat dan Komponen


- Komputer / Laptop
- Software program Dev C++
- Bolpoin
- Kertas

3.4 Prosedur Percobaan


3.4.1 Kegiatan 1 (Pemakaian if – else untuk mengecek hasil modulus)
#include<stdio.h>
main()
{
int bil1,bil2,sisa;
printf("Masukkan bilangan pertama: ");
scanf("%d",&bil1);
printf("Masukkan bilangan kedua: ");
scanf("%d",&bil2);
sisa= bil1%bil2;
printf("\n");
if (sisa==0)
printf("%d habis dibagi dengan %d\n\n", bil1,bil2);
else
printf("%d tidak habis dibagi dengan %d\n\n", bil1,bil2);
}
}

3.4.2 Mengkategorikan karakter masukan


#include<stdio.h>
main()
{
char karakter;
printf("Masukkan sebuah karakter: ");
scanf("%c",&karakter);

Buku Petunjuk Praktikum


22
Algoritma dan Pemrograman
if ((karakter >= 'a' && karakter <= 'z') || (karakter >= 'A' &&
karakter <= 'Z'))
printf("%c adalah karakter alphabet \n", karakter);
else
if (karakter >= '0' && karakter <= '9')
printf("%c adalah bilangan\n", karakter);
else
printf("%c adalah karakter khusus\n", karakter);
}
}
}

3.4.3 Membuat Program


- Buatlah sebuah program untuk menghitung jumlah konsumsi bahan bakar
suatu mobil, dengan input kilometer awal dan akhir perjalanan, isi awal
dan akhir tangki dalam liter. Sedangkan output program mencetak jarak
tempuh, jumlah konsumsi, dan konsumsi per kilometer.
- Buatlah sebuah program untuk mencetak bilangan terbesar dari 5 buah
bilangan yang dimasukkan oleh user, dengan cara membandingkan
bilangan sebelumnya dengan bilangan berikutnya. Misalnya bilangan
tersebut A, B, C, D, dan E. Maka A dan B diperbandingkan. Jika A lebih
besar dari B maka A dibandingkan dengan C, jika A lebih besar dari C
maka A dibandingkan dengan D, demikian seterusnya sampai didapat
nilai yang terbesar.
- Buatlah program untuk mengetahui karakter yang diinputkan, apakah
huruf Besar, huruf kecil, spasi, digit, atau yang lainnya !
Input : Masukkan karakter : A
Output : karakter yang diinputkan adalah huruf besar
- Buatlah program untuk mempermudah pembayaran di suatu bioskop!
Tabel 3.3 Program pembayaran
Jenis No Judul Harga
1. Jalan Sepi Rp7500
Horor 2. Rumah Sepi Rp6000
3. Rumah Hantu Rp4000
1. I Love You Rp5000
Romantic 2. Now and Forever Rp3000
3. My Girl Rp2500
Output :
a. Buatlah tampilan menu
b. Baru pilih horor atau romantic
c. Hitung total harga : Total Harga Rp 8500,-

Buku Petunjuk Praktikum


23
Algoritma dan Pemrograman
3.5 Data Hasil Percobaan

3.5.1 Kegiatan 1
a. Listing Program
#include<stdio.h>
main(){
int bil1,bil2,sisa;
printf("Masukkan bilangan pertama: ");scanf("%d",&bil1);
printf("Masukkan bilangan kedua: ");scanf("%d",&bil2);
sisa= bil1%bil2;printf("\n");
if (sisa==0)
printf("%d habis dibagi dengan %d\n\n", bil1,bil2);else
printf("%d tidak habis dibagi dengan %d\n\n", bil1,bil2);
}
}

b. Tampilan Gambar

Gambar 3.3 Kegiatan 1

Buku Petunjuk Praktikum


24
Algoritma dan Pemrograman
3.5.2 Kegiatan 2
a. Listing Program
#include <stdio.h>
int main() {
char karakter;
printf("Masukkan sebuah karakter: ");
scanf("%c", &karakter);
if ((karakter >= 'a' && karakter <= 'z') || (karakter >= 'A' && karakter <=
'Z')) {
printf("%c adalah karakter alfabet\n", karakter);
} else if (karakter >= '0' && karakter <= '9') {
printf("%c adalah bilangan\n", karakter);
} else {
printf("%c adalah karakter khusus\n", karakter);
}
}
b. Tampilan Gambar

Gambar 3.4 Kegiatan 2

Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5.3 Kegiatan 3
a. Listing Program
#include <stdio.h>
int main(){
float km1, km2, b1, b2;
printf("Masukkan nilai kilometer awal: ");
scanf("%f", &km1);
printf("Masukkan nilai kilometer akhirperjalanan : ");
scanf("%f", &km2);
printf("Masukkan nilai tangki awal: ");
scanf("%f", &b1);
printf("Masukkan nilai tangki akhir: ");
scanf("%f", &b2);
if ((km1<km2)&&(b1>b2)){
printf("%.2f Km merupakan jarak yang ditempuh \n", km2-km1);
printf("%.2f L merupakan jumlah konsumsi bensin \n", b1-b2);
printf("%.2f L/Km merupakan konsumsi bensin per kilometer \n", (km2-
km1)/(b1-b2));
}
}
b. Tampilan Gambar

Gambar 3.5 Kegiatan 3

Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5.4 Kegiatan 4
a. Listing Program
#include <stdio.h>

int main() {
int a, b, c, d, e;
printf("masukkan bilangan pertama ");
scanf("%d", &a);
printf("masukkan bilangan kedua ");
scanf("%d", &b);
printf("masukkan bilangan ketiga ");
scanf("%d", &c);
printf("masukkan bilangan keempat ");
scanf("%d", &d);
printf("masukkan bilangan kelima ");
scanf("%d", &e);

if (a > b) {
if (a > c) {
if (a > d) {
if (a > e) {
printf("Bilangan terbesar adalah %d", a);
} else {
printf("Bilangan terbesar adalah %d", e);
}
} else {
if (d > e) {
printf("Bilangan terbesar adalah %d", d);
} else {
printf("Bilangan terbesar adalah %d", e);
}
}
} else {
if (c > d) {
if (c > e) {
printf("Bilangan terbesar adalah %d", c);
} else {
printf("Bilangan terbesar adalah %d", e);
}
} else {
if (d > e) {
printf("Bilangan terbesar adalah %d", d);
} else {
printf("Bilangan terbesar adalah %d", e);
}
}
}
} else {
if (b > c) {
Buku Petunjuk Praktikum
Algoritma dan Pemrograman
if (b > d) {
if (b > e) {
printf("Bilangan terbesar adalah %d", b);
} else {
printf("Bilangan terbesar adalah %d", e);
}
} else {
if (d > e) {
printf("Bilangan terbesar adalah %d", d);
} else {
printf("Bilangan terbesar adalah %d", e);
}
}
} else {
if (c > d) {
if (c > e) {
printf("Bilangan terbesar adalah %d", c);
} else {
printf("Bilangan terbesar adalah %d", e);
}
} else {
if (d > e) {
printf("Bilangan terbesar adalah %d", d);
} else {
printf("Bilangan terbesar adalah %d", e);
}
}
}
}
}
b. Tampilan Gambar

Gambar 3.6 Kegiatan 4

Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5.5 Kegiatan 5
a. Listing Program
#include <stdio.h>

int main() {
char k;
printf("Masukkan karakter yang ingin Anda ketahui jenisnya: ");
scanf("%c", &k);
if (k >= '\x61' && k <= '\x7A') {
printf("Karakter yang diinputkan adalah huruf kecil.");
} else if (k >= '\x41' && k <= '\x5A') {
printf("Karakter yang diinputkan adalah huruf besar.");
} else if (k >= '\x30' && k <= '\x39') {
printf("Karakter yang diinputkan adalah digit.");
} else if (k == '\x20') {
printf("Karakter yang diinputkan adalah spasi.");
} else {
printf("Karakter yang diinputkan adalah simbol lainnya.");
}
}
b. Tampilan Gambar

Gambar 3.7 Kegiatan 5

Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5.6 Kegiatan 6
a. Listing Program
#include <stdio.h>

int main() {
int pilh,pilr, jenr,jenh, kon, hargah = 0,hargar = 0;
printf("Daftar film dan harga yang tersedia di bioskop\n\n");
printf("___________________________________________________\n");
printf("| Jenis\t\t|No.| Judul\t\t| Harga\t |\n");
printf("___________________________________________________\n");
printf("|\t\t|1. | Jalan Sepi \t| Rp.7500 |\n");
printf("| Horor\t\t|2. | Rumah Sepi \t| Rp.6000 |\n");
printf("|\t\t|3. | Rumah Hantu \t| Rp.4000 |\n");
printf("___________________________________________________\n");
printf("|\t\t|1. | I Love You \t| Rp.5000 |\n");
printf("| Romantic\t|2. | Now and Forever \t| Rp.3000 |\n");
printf("|\t\t|3. | My Girl \t\t| Rp.2500 |\n");
printf("___________________________________________________\n\n");

printf("\nApakah anda ingin menonton film horor 1.ya 2.tidak ");


scanf("%d", &pilh);
if (pilh == 1) {
printf("Pilih nomor film: ");
scanf("%d", &jenh);
switch (jenh) {
case 1 :
printf("Anda memilih film dengan judul Jalan Sepi dan harganya
Rp.7500");
hargah += 7500;
break;
case 2 :
printf("Anda memilih film dengan judul Rumah Sepi dan harganya
Rp.6000");
hargah += 6000;
break;
case 3 :
printf("Anda memilih film dengan judul Rumah hantu dan harganya
Rp.4000");
hargah += 4000;
break;
default :
printf("Film tersebut tidak tersedia");
break;
}
} else{
printf ("Terima kasih tidak memilih film Horor");
}
printf("\nApakah anda ingin menonton film romantis 1.ya 2.tidak ");
scanf("%d", &pilr);
Buku Petunjuk Praktikum
Algoritma dan Pemrograman
if (pilr == 1) {
printf("Pilih nomor film: ");
scanf("%d", &jenr);
switch (jenr) {
case 1 :
printf("Anda memilih film dengan judul I Love You dan harganya
Rp.5000");
hargar += 5000;
break;
case 2 :
printf("Anda memilih film dengan judul Now and Forever dan
harganya Rp.3000");
hargar += 3000;
break;
case 3 :
printf("Anda memilih film dengan judul My Girl dan harganya
Rp.2500");
hargar += 2500;
break;
default :
printf("Film tersebut tidak tersedia");
break;
}
printf ("\nTotal harga yang harus anda bayarkan adalah
Rp.%d",hargar+hargah);
}
}
b. Tampilan Gambar

Gambar 3.8 Kegiatan 6


Buku Petunjuk Praktikum
Algoritma dan Pemrograman
3.6 Analisis Data dan Pembahasan

Buku Petunjuk Praktikum


25
Algoritma dan Pemrograman
Buku Petunjuk Praktikum
26
Algoritma dan Pemrograman
3.7 Kesimpulan

3.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

Buku Petunjuk Praktikum


27
Algoritma dan Pemrograman

Anda mungkin juga menyukai