MODUL PERKULIAHAN ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) Universitas Mercu Buana 2014 Fakultas Program Studi Ilmu Komputer Teknik Informatika Tatap Muka 01 Kode MK Disusun Oleh Umniy Salamah ST., MMSI Abstract Kompetensi Decision digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks. Mampu menerapkan pemilihan dalam pemecahan masalah menggunakan bahasa pemrograman. Mampu menggunakan Struktur pemilihan dengan if dan dapat mengelola data yang diinput dari keyboard.. DECISION 1 (PENYELEKSIAN KONDISI) Decision digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks. 1.1. STRUKTUR KONDISI “IF” Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah: if(kondisi) pernyataan; Listing Program 1. Contoh Program Struktur Kondisi IF Untuk Memeriksa Suatu Kondisi /* Program struktur kondisi if untuk memeriksa suatu kondisi */ #include <stdio.h> #include <conio.h> void main() { float nilai; printf(“Masukan nilai yang didapat : “); scanf(“%f”, &nilai); if(nilai > 65) printf(“\n ANDA LULUS !!!!\n”); getch(); } Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah mencetak perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apaapa. Listing Program 2. Contoh Penerapan Struktur Kondisi IF /* Program Contoh penerapan struktur kondisi if */ #include<stdio.h> #include<conio.h> main() { clrscr(); int a,b,c,max; printf("Entry bil 1 : ");scanf("%i",&a); printf("Entry bil 2 : ");scanf("%i",&b); printf("Entry bil 3 : ");scanf("%i",&c); if((a>b)&&(a>c)) max=a; if((b>a)&&(b>c)) max=b; if((c>a)&&(c>b)) max=c; printf("Bil terbesar : %i\n",max); if(max>0) printf("Bil tsb adalah bil positif\n"); if(max<0) printf("Bil tsb adalah bil negatif"); getch(); } 2012 3 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id 1.2. STRUKTUR KONDISI “IF…ELSE…” Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut : if(kondisi) pernyataan-1 else pernyataan-2 Listing Program 3. Contoh Penerapan Struktur Kondisi IF ELSE #include <stdio.h> #include <conio.h> void main() { float nilai; clrscr(); printf(“Masukan nilai yang didapat : “); scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variabel nilai */ if (nilai > 65) printf(“\n LULUS !!!\n”); else printf(“\n TIDAK LULUS !!!\n”); getch(); } Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetak perkataan “LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65 maka akan tercetak 2012 4 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id perkataan “TIDAK LULUS !!!”. Hal ini berbeda dengan struktur if dimana program akan berhenti bila kita memasukan nilai kurang dari 65. 1.3. PERINTAH SWITCH Perintah SWITCH merupakan pernyataan yang dirancang untuk menangani pengambilan keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya untuk menggantikan pernyataan IF bertingkat. Bentuk umumnya adalah sebagai berikut : SWITCH (Ekspresi) { Case konstanta1 : pernyataan1; break; Case konstanta2 : pernyataan2; break; Case konstanta3 : Pernyataan3; break; ... Case Konstanta_n : Pernyataan_n ; Break; Default : Pernyataan_alternatif ; /* apabila semua nilai di atas tidak terpenuhi */ } Ekspresi dapat berupa ungkapan yang bernilai integer atau bertipe karakter. Setiap konstanta1, konstanta2, konstanta3, konstanta4 sampai dengan konstantan dapat berupa konstanta integer atau konstanta karakter. 2012 5 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Setiap pernyataan1, pernyataan2, pernyataan3, pernyataan4 sampai pernytaannxdapat berupa sebuah atau beberapa pernyataan. Pengujian pada switch akan dimulai dari konstanta1. apabila nilainya cocok dengan ekspresi maka pernyataan satu akan dijalankan. Perintah break mnyebabkan eksekusi diarahkan ke akhir switch kalau nilai konstanta satu tidak sama dengan nilai ekspresi dan kemudian baru diteruskan pengujian dengan konstanta2 dan seterusnya. Jika sampai pada pengujian akhir tidak ada yang cocok maka default akan dijalankan. Jika pernyataan break tidak diikutsertakan pada setiap case maka walaupun konstantanya cocok denan ekspresi, maka setelah pernyataan pada case tersebut dikerjakan akan dilanjutkan pada case berikutnya sampai ditemui pernyataan break pada akhir switch. Listing Program 5. Contoh program case_1 /*---------------------------------------------*/ /* program : case.cpp */ /*--------------------------------------------*/ #include <stdio.h> main ( ) { int kdhari ; printf (“ masukkan kode hari [1-7] : ”) ; scanf (“%d” , &kdhari) ; switch (kdhari) { case 1 : printf (“ senin ”); break; case 2 : printf (“ selasa ”); break; case 3 : printf (“ rabu ”); break; 2012 6 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id case 4 : printf (“ kamis ”); break; case 5 : printf (“ jum’at ”); break; case 6 : printf (“ sabtu ”); break; case 7 : printf (“ minggu ”); break; default : Printf (“ Kode tidak ada “); } } Bila program di atas dijalankan maka hasilnya adalah sebagai berikut : Masukkan kode hari [1 – 7 ] : 1 Senin Penjelasan : Dari program di atas, apabila dimasukkan kode hari = 1, maka sesuai kondisi yang diterapkan di dalam program yaitu case 1, maka pernyataan pertama yang ada pada case satu yaitu mencetak hari senin. Apabila dimasukkan kode hari = 2, maka pernyataan kedua yang ada pada case 2 yaitu mencetak hari Selasa yang akan dikerjakan. Dan seterusnya tergantung dari kode hari yang dimasukkan. 2012 7 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Listing Program 6. Contoh program case_2 /* Contoh lain program dengan switch */ #include<stdio.h> main() { char cc; printf("Ketikkan sebuah huruf = "); scanf("%c",&cc); switch(cc) { case 'a': { printf("Yang anda ketikkan adalah a\n"); break; } case 'i': { printf("Yang anda ketikkan adalah i\n"); break; } case 'u': { printf("Yang anda ketikkan adalah u\n"); break; } case 'e': { printf("Yang anda ketikkan adalah e\n"); break; } case 'o': 2012 8 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id { printf("Yang anda ketikkan adalah o\n"); break; } default: { printf("Yang anda ketikkan adalah huruf mati\n"); } } return 0; } Bila program di atas dijalankan maka hasilnya adalah sebagai berikut : Ketikkan sebuah huruf = a Yang anda ketikkan adalah a 1.4. LATIHAN Buat program dengan utput sebagai berikut : MENU 1. Luas segitiga 2. Luas Persegi panjang Pilihan anda : Jika input pilihan anda dengan 1 maka : Input alas = <diinput> Input Tinggi = <diinput> Luas segitiga yang didapat adalah = (didapat dari proses alas x tinggi / 2) Jika input pilihan anda dengan 2 maka : Input panjang = <diinput> Input lebar = <diinput> Luas Persegi panjang yang didapat = (didapat dari proses panjang x lebar) 2012 9 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id DAFTAR PUSTAKA Hartono Jogiayanto, Konsep Dasar Pemrograman Bahasa C 2009. Yogyakarta Bambang, Wirawan (2004), Struktur Data dengan C, Pernerbit Andi Jogyakarta. Kristanto, Andri (2003), Struktur Data dengan C++, Penerbit Graha Ilmu 2012 10 Praktikum Algoritma dan Struk. Data Umniy Salamah ST., MMSI Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id