• Tidak ada hasil yang ditemukan

PENYELEKSIAN KONDISI

2. Teori Dasar

Penyeleksian kondisi digunakan untuk menentukan alur suatu proses. Penyeleksian kondisi biasanya digunakan dalam program yang kompleks. Penyeleksian kondisi melibatkan beberapa operator dalam bahasa C, yaitu : operator hubungan (perbandingan), logika, dan bitwise. Fungsi seleksi terdiri dari 3 tipe pernyataan yaitu :

a. Struktur Kondisi “ if … “ Bentuk umum If [1]: if (kondisi) { statement1; … statementn; }

Jika kondisi yang diseleksi terpenuhi maka statement tersebut akan dikerjakan sedangkan jika kondisi tersebut tidak terpenuhi maka akan menjalankan program berikutnya setelah seleksi kondisi tersebut. Contoh program 1: #include <stdio.h> #include <conio.h> void main () {

float tot_pembelian, discount, tot_pembayaran; printf ("Masukkan Total Pembelian Rp :"); scanf ("%f",&tot_pembelian);

if (tot_pembelian >= 100000) discount = 0.2*tot_pembelian;

printf ("\nAnda memperoleh discount 10 %");

printf ("\nBesarnya Potongan : Rp %10.0f",discount); tot_pembayaran = tot_pembelian - discount;

printf ("\nJumlah yang Anda bayar adalah : Rp %10.0f", tot_pembayaran);

printf ("\n\nTERIMA KASIH ATAS KUNJUNGAN ANDA"); getch ();

}

Jika dalam sebuah IF perintah yang hendak dijalankan lebih

dari 1 perintah, maka perintah – perintah tersebut harus

dikelompokkan dalam sebuah blok { }. Format penulisannya adalah [5]: if <kondisi> { statement 1; statement 2; } Statement 3; Statement 4;

Dengan format IF diatas, jika kondisi benar, maka perintah yang dijalankan adalah perintah yang terletak dalam kurung kurawal (statement 1 dan statement 2), sedangkan statement3 dan statement 4 akan dijalankan tanpa bergantung dari kondisi yang ada.

Contoh program 2 [5]: # include <stdio.h> #include <conio.h> main () { float suhu;

printf ("Masukkan suhu dalam derajat Celcius :"); scanf ("%f", &suhu);

if (suhu < 24)

{printf ("\nSebaiknya tidak mandi!\n"); printf ("\nJangan menyalakan AC.");

if (suhu >= 24)

{printf ("\nSebaiknya mandi!"); printf ("\nNyalakan AC!");

} getch (); }

Tampilan program diatas :

b. Struktur Kondisi “ if … else …“

Bentuk umum If – Else : if (kondisi) { Statement; } else } Statement; }

Jika kondisi yang diseleksi terpenuhi maka statement pertama yang akan dikerjakan sedangkan jika kondisi tersebut tidak terpenuhi statement kedua yang akan dikerjakan. Diakhir setiap statement menggunakan tanda (;) walaupun sebelum else.

Contoh program : #include <stdio.h> #include <conio.h> void main ()

float tot_pembelian, discount, tot_pembayaran; printf ("Masukkan Total Pembelian Rp :"); scanf ("%f",&tot_pembelian);

if (tot_pembelian >= 100000) {

printf ("\nAnda memperoleh discount 10 %"); discount = 0.2*tot_pembelian;

} else {

printf ("\nAnda memperoleh discount 5 %"); discount = 0.05*tot_pembelian;

}

printf ("\nBesarnya Potongan : Rp %10.0f",discount); tot_pembayaran = tot_pembelian - discount;

printf ("\nJumlah yang Anda bayar adalah : Rp %10.0f", tot_pembayaran);

printf ("\n\nTERIMA KASIH ATAS KUNJUNGAN ANDA"); getch ();

}

Contoh program 2 [4]:

Berikut adalah program untuk menginput tiga buah bilangan bulat (misal A, B, dan C) kemudian mencetak ketiga nilai tersebut urut dari nilai kecil ke nilai besar [3]

# include <stdio.h> # include <conio.h> void main ()

{ int A, B, C;

printf ("Input nilai A ="); scanf ("%i", &A); printf ("Input nilai B ="); scanf ("%i", &B); printf ("Input nilai C ="); scanf ("%i", &C); if (A < B)

{ if (B < C)

printf ("%i ,%i ,%i ",A, B, C); else

{if (A < C)

printf ("%i ,%i ,%i ",A, C, B); else

printf ("%i ,%i ,%i ",C, A, B); }

} else

{if (A < C)

printf ("%i ,%i ,%i ",B, A, C); else

{ if (B < C)

printf ("%i ,%i ,%i ", B, C, A); else

printf ("%i ,%i ,%i ",C, B, A); }

}

getch (); }

c. Struktur Kondisi “Switch … “

Struktur kondisi switch digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak[1].

Bentuk Umum Switch : switch (ekspresi) { case 1: Statement 1; break; case 2 : Statement 2; break; … case n : Statement n; break; default : Statement m; } Contoh program : #include <stdio.h> #include <conio.h> void main () { char jurusan;

printf ("1. Teknik Sipil \n2. Teknik Mesin \n3. Teknik Perkapalan \n4. Teknik Elektro");

printf ("\n5. Teknik Arsitektur \n6. Teknik Geologi"); printf ("\n\nMasukkan kode jurusan Anda :");

jurusan = getchar (); switch (jurusan)

{

case '1' : puts ("TEKNIK SIPIL"); break; case '2' : puts ("TEKNIK MESIN"); break;

case '3' : puts ("TEKNIK PERKAPALAN"); break; case '4' : puts ("TEKNIK ELEKTRO"); break; case '5' : puts ("TEKNIK ARSITEKTUR"); break; case '6' : puts ("TEKNIK GEOLOGI"); break ; default : puts ("Kode Anda Salah"); break; }

getch (); }

Tampilan program diatas adalah :

Contoh Program 2 [2]:

Contoh switch… case berjenjang

# include <stdio.h> # include <conio.h> void main ()

{ char KodePulau; int KodeKota;

printf ("Kode Pulau : \nJ = Jawa \nS = Sumatera \nK = Kalimantan");

printf ("\nMasukkan Kode Pulau : \t"); scanf ("%c", &KodePulau);

switch (KodePulau) {

printf ("PULAU JAWA \n"); printf ("Kode Kota di Jawa :");

printf ("\n1. Jakarta \n2. Surabaya \n3. Bandung \n4. Semarang \n5. Yogyakarta\n");

printf ("Masukkan Kode Kota :\t"); scanf ("%i", &KodeKota);

switch (KodeKota) {

case 1 : printf ("\nJakarta"); break;

case 2 : printf ("\nSurabaya"); break;

case 3 : printf ("\nBandung"); break;

case 4 : printf ("\nSemarang"); break;

case 5 : printf ("\nYogyakarta"); break;

default : printf ("Kode Kota di Pulau Jawa Salah"); }

break; case 'S':

printf ("PULAU SUMATERA \n"); printf ("Kode Kota di Sumatera");

printf ("\n1. Medan \n2. Palembang \n3. Padang\n"); printf ("Masukkan Kode Kota : \t");

scanf ("%i", &KodeKota); switch (KodeKota)

{

case 1 : printf ("\nMedan"); break;

case 2 : printf ("\nPalembang"); break;

case 3 : printf ("\nPadang"); break;

default : printf ("Kode Kota di Pulau Sumatera Salah"); }

case 'K':

printf ("PULAU KALIMANTAN \n"); printf ("Kode Kota di Kalimantan");

printf ("\n1. Banjarmasin \n2. Pontianak\n"); printf ("Masukkan Kode Kota : \t");

scanf ("%i", &KodeKota); switch (KodeKota)

{

case 1 : printf ("\nBanjarmasin"); break;

case 2 : printf ("\nPontianak"); break;

default : printf ("Kode Kota di Pulau Kalimantan Salah"); }

break;

default : printf ("Kode Pulau Salah"); }

getch (); }

d. Multi Kondisi dan Opertor Logika [3]

Kadang – kadang satu kondisi saja tidak cukup untuk

menentukan suatu syarat, sehingga diperlukan dua atau lebih

kondisi. Untuk menggabungkan kondisi – kondisi tersebut digunakan

operator yang disebut operator logika. Adapun operator logika dapat digunakan : AND (&&), OR (||), dan NOT (!).

Contoh Program 1 : # include <stdio.h> # include <conio.h> void main () { int a, b, c;

printf ("Input nilai A : "); scanf ("%i", &a); printf ("Input nilai B : "); scanf ("%i", &b); printf ("Input nilai C : "); scanf ("%i", &c); if (a > b && a > c )

printf ("Nilai maksimum adalah %i", a); if (b > a && b > c )

printf ("Nilai maksimum adalah %i", b); if (c > a && c > b )

printf ("Nilai maksimum adalah %i", c); getch ();

}

Contoh program 2 [2]: #include <stdio.h> #include <conio.h> 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; }

3. Latihan

1) Buatlah nilai huruf dengan kriteria sebagai berikut :

Nilai Huruf Range Nilai

A Nilai akhir > 85

B 70>= nilai akhir <= 85

C 60>= nilai akhir < 70

D 50 >= nilai akhir < 60

E Nilai akhir < 50

2) Buatlah program mengklasifikasikan jenis buku berikut : Kode 1 : komputer

Kode 2 : akuntansi Kode 3 : hukum Kode 4 : manajemen Kode 5 : kedokteran

3) Buatlah sebuah program untuk menentukan jenis sebuah

segitiga dengan memberi 3 input bilangan yang menyatakan panjang sisi dari sebuah segitiga. Jika ketiga sisi dari bilangan tersebut sama maka segitiga tersebut adalah segitiga sama sisi, jika kedua bilangan sama maka segitiga tersebut adalah segitiga sama kaki, dan jika ketiga bilangan yang diinput berbeda maka segitiga tersebut adalah segitiga sembarang. a. Gunakan operator logika AND (&&) atau OR (||).

Daftar Pustaka

[1] Frieyadie. 2005. “Panduan Pemrograman C++”. Penerbit Andi. Yogyakarta

[2] Kurniawan Khannedy Eko. 2007. “Pemrograman C”. Teknik Informatika. UNICOM.

[3] Sjukani Moh. 2009. “Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java, Teknik – Teknik Dasar Pemrograman Komputer”. Edisis 5. Mitra Wacana Media. Jakarta

[4] Solichin Achmad. “Pemrograman Bahasa C dengan Turbo C”.

www.ilmukomputer.com

[5] Swastika Windra. April 2012. "Dasar Algoritma dan Pemrograman menggunakan C & Java". Prestasi Pustaka Publisher. Jakarta

BAB V

PERULANGAN

1. Pendahuluan

Dalam dokumen 210798067 Pemrograman Terstruktur Bahasa C (Halaman 33-48)

Dokumen terkait