Anda di halaman 1dari 15

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)

18 Buku Petunjuk Praktikum


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.

19 Buku Petunjuk Praktikum


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 :

20 Buku Petunjuk Praktikum


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,

21 Buku Petunjuk Praktikum


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);

22 Buku Petunjuk Praktikum


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,-

23 Buku Petunjuk Praktikum


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 Program

Gambar 3.1 Tampilan Program kegiatan 1

24 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.5.2 Kegiatan 2

a. Listing Program
#include<stdio.h>
main(){
char karakter;
printf("Masukkan sebuah karakter: ");
scanf("%c",&karakter);
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);
}
}
}
b. Tampilan Program

Gambar 3.2 Tampilan Program kegiatan 2

3.5.3 Kegiatan 3

a. Listing Program
#include<stdio.h>
main(){
int r,x,y,z;
float a,b,c;
printf("kilometer awal Rafly sebelum berangkat
ke Rambipuji: ");
scanf("%d", &r);
printf("kilometer akhir perjalanan Ketika
Sampai : ");
scanf("%d", &x);
printf("pengisian tangki awal saat di Jember : ");
scanf("%d", &y);
printf("Sisa Akhir tangki saat di Rambipuji : ");

25 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
scanf("%d", &z);
a=x-r;
b=y-z;
c=b/a;
printf("Jarak Teampuh Jember ke Rambipuji =%2.f
KM\n ",a);
printf("Jumlah komsusi Bahan Bakar Yang telah
digunakan menuju Rambipuji => %2.f LITER\n",b);
printf("Komsusi Bahan Bakar perLiter =>
%2.gLITER/KM\n ",c);
}
b. Tampilan Program

Gambar 3.3 Tampilan Program kegiatan 3

3.5.4 Kegiatan 4

a. Listing Program
#include<stdio.h>
main(){
int a, b, c, d, e, terbesar;

printf("\t---Mencari Bilangan Terbesar dari 5


bilangan---\n");

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)
terbesar=a;
else
terbesar=b;
if(terbesar>c)
terbesar=terbesar;

26 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
else
terbesar=c;
if(terbesar>d)
terbesar=terbesar;
else
terbesar=d;
if(terbesar>e)
terbesar=terbesar;
else
terbesar=e;
printf("\nBilangan terbesarnya adalah = %d\n",
terbesar);

}
b. Tampilan Program

Gambar 3.4 Tampilan Program kegiatan 4

` 3.5.5 Kegiatan 5

a. Listing Program
#include<stdio.h>
main(){
char karakter;
printf("Masukkan sebuah karakter = ");
scanf("%c", &karakter);
if(karakter>='a' && karakter<='z')
printf("'%c' adalah huruf kecil", karakter);
else if(karakter>='A' && karakter<='Z')
printf("'%c'adalah huruf besar", karakter);
else if(karakter>='0' && karakter <='9')
printf("'%c'adalah digit", karakter);
else if(karakter=' ')
printf("'%c' adalah spasi", karakter);
else
printf("'%c' adalah karakter khusus\n,
karakter");
}

27 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
b. Tampilan Program

Gambar 3.5 Tampilan Program kegiatan 5

3.5.6 Kegiatan 6

a. Listing Program
#include<stdio.h>
main(){
int x,y;
char a;
printf(" Program Pembayaran Bioskop\n");
printf("| Jenis | NO| Judul | Harga |\n");
printf("| | 1 | Jalan Sepi |Rp7500 |\n");
printf("| Horor | 2 | Rumah Sepi |Rp6000 |\n");
printf("| | 3 | Rumah Hantu |Rp4000 |\n");
printf("| | 1 | I Love You |Rp5000 |\n");
printf("|Romantic| 2 | Now and Forever|Rp3000 |\n");
printf("| | 3 | My Girl |Rp2500
|\n\n\n");
printf("Plih salah satu judul film dari 2 jenis film
yang sudah disediakan diatas\n");
printf("*Ketik angka 0 jika jenis program tidak
dipilih\n");
printf("*dan Ketik angka 1 atau 2 atau 3 untuk
memilih judul film dari jenis program yang
dipilih\n");
printf("Ketik a untuk lanjut : ");
scanf("%c", &a);
switch(a){
case 'a' :
printf("Film Horor: ");
scanf("%d", &x);
printf("Film Romantic: ");
scanf("%d", &y);
if(x==1 && y==0)
printf("Total Biaya : Rp7500");

28 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
if(x==2 && y==0)
printf("Total Biaya : Rp6000");
if(x==3 && y==0)
printf("Total Biaya : Rp4000");
if(x==0 && y==1)
printf("Total Biaya : Rp5000");
if(x==0 && y==2)
printf("Total Biaya : Rp3000");
if(x==0 && y==3)
printf("Total Biaya : Rp2500");
break;
}
}
b. Tampilan Program

Gambar 3.6 Tampilan Program kegiatan 6

29 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
3.6 Analisis Data dan Pembahasan

30 Buku Petunjuk Praktikum


Algoritma dan Pemrograman
31 Buku Petunjuk Praktikum
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

32 Buku Petunjuk Praktikum


Algoritma dan Pemrograman

Anda mungkin juga menyukai