PERCABANGAN |
Bentuk dasar perintah if – else adalah sebagai berikut :
if (expression) Statement1; else Statement2; StatementBerikutnya; |
Operator-operator yang biasa digunakan dalam operasi logika, dapat dilihat di tabel di bawah ini.
Operator | Contoh | Arti |
== | A==B | Apakah Isi Variabel A sama dengan Isi Variabel B |
!= | A!=B | Apakah Isi Variabel A Tidak Sama Dengan Isi Variabel B |
> | A>B | Apakah Isi Variabel A lebih besar dari Isi Variabel B |
< | A | Apakah Isi Variabel A lebih kecil dari Isi Variabel B |
>= | A>=B | Apakah Isi Variabel A lebih besar atau sama dengan Isi Variabel B |
<= | A<=B | Apakah Isi Variabel A lebih kecil atau sama dengan Isi Variabel B |
&& | (A<=100) &&(A>=80) | Apakah A lebih kecil atau sama dengan dari 100 dan A lebih besar atau sama dengan 80 |
|| | (A>100)|| (A<0) | Apakah A lebih besar dari 100 atau A lebih kecil dari 0 |
! | !(A==B) | Apakah A Tidak Sama dengan B |
#include main() { int Nilai; printf(“Nilai : “);scanf(“%i”,&Nilai); if(Nilai>=50) printf(“Selamat Anda Lulus.”); else printf(“Maaf. Anda Tidak Lulus.”); getch(); return 0; } |
Jika perintah yang akan dieksekusi ketika kondisi tercapai lebih dari 1 perintah, maka perintah-perintah tersebut harus diblok dengan tanda kurawal {}.
Perhatikan program di bawah ini yang merupakan perubahan dari program di atas.
#include main() { int Nilai; printf(“Nilai : “);scanf(“%i”,&Nilai); if(Nilai>=50) { printf(“Anda Hebat!\n”); printf(“Selamat Anda Lulus.”); } else { printf(“Maaf. Anda Tidak Lulus.”); printf(“Perbaiki semester depan yah!.”); } getch(); return 0; } |
#include main() { int a,b; printf(“Masukan A : “);scanf(“%i”,&a); printf(“Masukan B : “);scanf(“%i”,&b); if(a==b) printf(“Isi Variabel A Sama Dengan B”); else if(a>b) printf(“Isi Variabel A lebih besar dari B”); else if(a printf(“Isi Variabel A lebih kecil dari B”); getch(); return 0; } |
Contoh Kasus :
Di sebuah universitas penilaian yang dipakai adalah :
NilaiAkhir=20%*tugas+30%*uts+50%*uas
Nilai Akhir | Index |
>=80 | A |
>=68 | B |
>=56 | C |
>=45 | D |
>=0 | E |
Data yang diinputkan adalah : tugas, uts, uas.
#include main() { int tugas,uts,uas; float nilaiakhir; char index; printf(“Nilai Tugas : “);scanf(“%i”,&tugas); printf(“Nilai UTS : “);scanf(“%i”,&uts); printf(“Nilai UAS : “);scanf(“%i”,&uas); nilaiakhir=0.2*tugas+0.3*uts+0.5*uas; printf(“Nilai Akhir : %f\n”,nilaiakhir); if(nilaiakhir>=80) index=’A'; else if(nilaiakhir>=68) index=’B'; else if(nilaiakhir>=56) index=’C'; else if(nilaiakhir>=45) index=’D'; else if(nilaiakhir>=0) index=’E'; else index=’X'; printf(“Index : %c\n”,index); getch(); return 0; } |
Selain if-else, perintah yang digunakan untuk percabangan adalah switch – case. Bentuk dasar dari perintah tersebut adalah :
switch(ekspresi) { case kondisi1:perintah1;break; case kondisi2:perintah2:break; default : perintah3; } |
Untuk lebih jelas, perhatikan perintah di bawah ini.
switch (index) { case ‘A’:printf(“Keterangan : Bagus Sekali\n”);break; case ‘B’:printf(“Keterangan : Bagus\n”);break; case ‘C’:printf(“Keterangan : Cukup\n”);break; case ‘D’:printf(“Keterangan : Kurang\n”);break; case ‘E’:printf(“Keterangan : Kurang Sekali\n”);break; default :printf(“Keterangan : Index Tak Diketahui\n”); } |
Perintah if else dengan banyak kondisi
Jika kondisi yang harus diperiksa lebih dari 1 kondisi, maka hanya if-else lah yang bisa dipakai. Operator-operator logika yang dipakai adalah operator && (and), dan operator || (or).
Untuk lebih jelas, perhatikan perintah di bawah ini:
if((index==’A')||(index==’B')||(index==’C')) printf(“Selamat Anda Lulus”); else if((index==’D')||(index==’E')) printf(“Anda Tidak Lulus. Lebih giat lagi belajar!”); |
Untuk lebih jelas, buatlah program untuk mengatasi kasus di bawah ini.
Di sebuah perusahaan bus, tabel harga dapat dilihat dalam tabel di bawah ini.
KELAS | ||||
EKSEKUTIF(1) | BISNIS(2) | EKONOMI(3) | ||
TUJUAN | JAKARTA(1) | 70000 | 40000 | 10000 |
YOGYA(2) | 80000 | 50000 | 20000 | |
SURABAYA(3) | 90000 | 60000 | 30000 |
Buatlah program dengan data yang dimasukan adalah jenis kelas, tujuan dan banyak tiket yang dibeli. Data yang ingin ditampilkan adalah harga tiket dan total tiket, diskon dan besar pembayaran.
Contoh :
Pilih Jurusan :
Pilih Kelas :
Banyak Tiket : 5 [input] Harga Tiket : Rp. 20000 [output] Total Tiket : Rp. 100000 [output] Diskon : Rp. 10000 [output] Bayar : Rp. 90000 [output] |
#include main() { int kodejurusan,kodekelas,banyaktiket; long int hargatiket,total; float diskon,bayar; printf(“Pilih Jurusan :\n”); printf(“—————\n”); printf(“1. Jakarta\n2. Yogya\n3. Surabaya\n”); printf(“—————\n”); printf(“Jurusan yang dipilih : “);scanf(“%i”,&kodejurusan); printf(“Pilih Kelas :\n”); printf(“—————\n”); printf(“1. Eksekutif\n2. Bisnis\n3. Ekonomi\n”); printf(“—————\n”); printf(“Kelas yang dipilih : “);scanf(“%i”,&kodekelas); printf(“Banyak Tiket : “);scanf(“%i”,&banyaktiket); if((kodejurusan==1)&&(kodekelas==1)) hargatiket=70000; else if((kodejurusan==1)&&(kodekelas==2)) hargatiket=40000; else if((kodejurusan==1)&&(kodekelas==3)) hargatiket=10000; else if(kodejurusan==2) { if(kodekelas==1) hargatiket=80000; else if(kodekelas==2) hargatiket=50000; else if(kodekelas==3) hargatiket=20000; } else if(kodejurusan==3) { switch (kodekelas) { case 1:hargatiket=90000;break; case 2:hargatiket=60000;break; case 3:hargatiket=30000; } } printf(“Harga Tiket : Rp. %li\n”,hargatiket); total=banyaktiket*hargatiket; printf(“Total Tiket : Rp. %li\n”,total); if( ((kodejurusan==3)&&(kodekelas==1)) || ((kodejurusan==2)&&(kodekelas==2)) ) diskon=0.1*total; else diskon=0; printf(“Diskon 10%% : Rp. %f\n”,diskon); bayar=total-diskon; printf(“Bayar : Rp. %f\n”,bayar); getch(); return 0; } |
0 komentar:
Posting Komentar