MODUL III FUNGSI, PROSEDUR, STRUKTUR KONTROL KONDISIONAL DAN PERULANGAN 3.1 Tujuan Praktikum 1. Praktikan dapat memahami fungsi dan prosedur dalam pemrograman komputer. 2. Praktikan dapat mengaplikasikan fungsi dan prosedur dalam sebuah studi kasus. 3. Praktikan dapat memahami kegunaan struktur kontrol kondisional, perulangan dan percabangan 4. Praktikan dapat membuat bahasa pemrograman menggunakan struktur kontrol kondisional, perulangan, dan percabangan 3.2 Tinjauan Pustaka A. Prosedur Prosedur adalah sederet instruksi algoritmik yang diberi nama dan akan menghasilkan neto yang terdefinisi. Mendefinisikan (membuat spesifikasi) prosedur berarti menentukan nama prosedur serta parameternya (jika ada), dan mendefinisikan keadaan awal (Initial State, I.S.) dan keadaan akhir (Final State, F.S.) dari prosedur tersebut. Prosedur didefinisikan (dituliskan spesifikasinya) dalam kamus. Cara penulisan spesifikasi : prosedur diberi nama, dan parameter formal (jika ada) yang juga diberi nama dan dijelaskan typenya. Nama parameter yang dituliskan pada definisi / spesifikasi prosedur disebut sebagai parameter formal. Sedangkan parameter yang dituliskan pada pemanggilan prosedur disebut sebagai parameter aktual. Jadi, setiap prosedur harus PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 1
1. Didefinisikan (dibuat spesifikasinya) dan ditulis kode programnya. 2. Dipanggil, pada saat ekskusi oleh prosedur lain atau oleh program utama parameter formal adalah nama-nam variabel (list nama) yang dipakai dalam mendefinisikan prosedur, dan membuat prosedur tersebut dapat diekssekusi dengan nama-nama yang berbeda ketika dipanggil. Parameter formal adalah list nama yang akan dipakai pada prosedur, yang nantinya akan diasosiasikan terhadap nama variabel lain pada saat pemanggilan. Sesuai dengan ketentuan nilainya. Ada tiga type parameter formal yaitu parameter input, parameter output, dan parameter input / outpyt. Memakai atau memanggil prosedur adalah menuliskan nama prosedur yang pernah didefinisikan dan memberikan harga-harga yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu aksi terdefinisi. Sebuah prosedur juga boleh memakai atau memanggil prosedr. Pada saat pemanggilan terjadi passing parameter. B. Fungsi Fungsi adalah kumpulan pernyataan yang melakukan tugas tertentu. Sejauh ini anda telah menggunakan fungsi dalam dua cara : (1) Anda telah membuat sebuah fungsi bernama utama dalam setiap program yang telah ditulis. (2) Anda memiliki fungsi library disebut seperti sqrt dan pow. Dalam bab ini akan mempelajari cara membuat fungsi yang dapat digunakan seperti fungsi library pada C++. Alasan lain untuk menggunakan fungsi adalah untuk bahwa fungsi menyederhanakan program. Jika tugas tertentu dilakukan dibeberapa tempat di sebuah program, sebuah fungsi dapat ditulis sekali saja untuk melakukan tugas itu, dan kemudian akan dijalankan kapan saja dibutuhkan. Ketika membuat sebuah fungsi, yang harus ditulis adalah definisi. Semua definisi mempunyai bagian-bagian dibawah ini : Name PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 2
Setiap fungsi harus memiliki nama. Secara umum, peraturan yang sama berlaku untuk nama variabel juga berlaku untuk nama fungsi. Parameter list Program modul fungsi panggilan yang dapat mengirim data ke daftar parameter adalah daftar variabel yang memegang nilai-nilai yang disampaikan ke fungsi. Body Badan fungsi adalah serangkaian pernyataan yang melaksanakan tugas melakaukan fungsi. Pernyataan ini akan ditutupi dalam satu set braces. Return type Fungsi dapat mengirim kembali ke nilai program modul yang memanggilnya. Return type merupakan tipe data dari nilai yang dikirim kembali. C. Struktur Kondisional 1. Statement IF Pernyataan percabangan digunakan untuk memecahkan persoalan dalam mengambil suatu keputusan diantara sekian kondisi yang ada. Pernyataan IF diatas mempunyai pengertian, jika kondisi bernilai benar, maka perintah / pernyataan akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan. Jika pernyataan yang dijalankan hanya sebaris, maka tanda boleh ditiadakan. Statement kondisi harus merupakan statement Relasional ataupun logika if (kondisi) Pernyataan; Statement IF juga dapat ditambahkan ELSE sebagai konsekuensi alternatif jika kondisi tidak dipenuhi (FALSE). Sintaksnya : if (kondisi) Perintah-1; else perintah-2; PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 3
Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau penyataan kosong. Jika pemakaian if-else diikuti dengan pernyataan majemuk, bentuk penulisanya sebagai berikut : Selain format penulisan statement IF diatas, berikut adalah beberapa format penulisan statement IF lainya : PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 4
IF Else Majemuk if (syarat) else if (syarat) else Nested IF (IF bersarang) Nested if merupakan pernyataan if berada didalam pernyataan if yang lainya. Bentuk penulisan pernyataan Nested if adalah : if (syarat) if (syarat) else else if (syarat) else 2. Statement SWITCH CASE Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Syntaksnya : switch (ekspresi) case konstanta 1 : pernyataan 1; case konstanta 2 : pernyataan 2; case konstanta 3 : pernyataan 3; : : case konstanta N : pernyataan N; default : pernyataan lain : PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 5
Hal-hal yang perlu diperhatikan adalah : 1. Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh diikuti oleh kondisional. 2. Konstanta yang digunakan bertipe int atau char 3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan konstanta 2 maka pernyataan 2, pernyataan 3 sampai dengan pernyataan lain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break, jika keyword break digunakan maka setelah pernyataan 2 dieksekusi program langsung keluar dari pernyataan switch. Selain digunakan dalam switch, keytword break banyak digunakan untuk keluar dari pernyataan yang berulang (looping). 4. Pernyataan default dieksekusi jika konstanta 1 sampai konstanta N tidak ada yang memenuhi ekspresi. Contoh : #include<conio.h> #include<iostream.h> void main() int bil; clrscr(); cout<< Masukkan bilangan : ; cin>> bil; switch (bil) case 1 : cout<< Anda masukkan bil. satu ; case 2 : cout<< Anda masukkan bil. dua ; case 3 : cout<< Anda masukkan bil. tiga ; default: cout<< Anda memasukkan bil selain 1,2, dan 3 ; getch(); PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 6
Note : tidak setiap IF bisa dijadikan Switch. Tapi semua Switch dapat dijadikan IF D. Struktur Kontrol Perulangan Perulangan digunakan untuk mengerjakan suatu perintah secara berulangulang sesuai dengan yang diinginkan. PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 7
Struktur perulangan terdiri atas dua bagian : 1. Kondisi perulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan perulangan 2. Isi atau badan perulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang Perintah atau notasi dalam struktur perulangan adalah : 1. Pernyataan FOR Pernyataan FOR digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahanya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Inisialisasi merupakan pemberian nilai awal Syarat pengulangan : memegang kontrol terhadap pengulangan, karena bagian ini yang akan menetukan suatu perulangan diteruskan atau dihentikan. Pengubah nilai pencacah merupakan statement control untuk perulangan Umunya mengatur kenaikan atau penurunan nilai pencacah. Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakkan didalam tanda kurung. Contoh : For ( inisialisasi syarat pengulangan pengubah nilai pencacah ) #include<conio.h> #include<iostream.h> void main() int a; clrscr(); for (a=0; a<=10; a++) cout<<a<< ; getch(); Nested FOR PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 8
Perulangan bertumpuk secara sederhana dapat diartikan : terdapat satu atau lebih loop di dalam loop. Banyaknya tingkatan perulangan, tergantung dari kebutuhan. Biasanya, nested loops diunakan untuk membuat aplikasi matematika yang menggunakan baris dan kolom. Loop luar biasanya dignakan untuk mendefinisikan baris. Sedangkan loop dalam digunakan untuk mendefinisikan kolom. Penjelasan program : Perulangan akan menghasilkan nilai sebagai berikut : Baris 1; kolom = 1; cetak 1 kolom = 2; cetak 2 kolom = 3; cetak 3 kolom = 4; cetak 4 kolom = 5; cetak 5 ganti baris! Baris 2; kolom = 1; cetak 1 kolom = 2; cetak 2 kolom = 3; cetak 3 kolom = 4; cetak 4 kolom = 5; cetak 5 ganti baris! Baris 3; kolom = 1; cetak 1 kolom = 2; cetak 2 kolom = 3; cetak 3 kolom = 4; cetak 4 for (int baris = 1; baris <=4; baris++) for (int kolom = 1; kolom <= 5; kolom++) cout<<kolom<< ; cout<<endl; PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 9
kolom = 5; cetak 5 ganti baris! Baris 4; kolom = 1; cetak 1 kolom = 2; cetak 2 kolom = 3; cetak 3 kolom = 4; cetak 4 kolom = 5; cetak 5 ganti baris! selesai. Dan dilayar akan mucul hasil dengan bentuk matrik sebagai berikut : 12345 12345 12345 12345 2. Pernyataan WHILE Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan tau beberapa pernyataan beberapa kali. Pernyataan while memungkinkan statemen-statemen yang ada didalamnya tidak dilakukan sama sekali. Karakteristik while() adalah : 1. Dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan perulangan. Jika kondisi yang dicek bernilai benar (true) maka perulangan akan dilakukan. While (kondisi) Pernyataan; 2. Blok statement tidak harus ada. Struktur tanpa statement akan tetap dilakukan selama kondisi masih true. PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 10
Penting!!! Jika anda menggunakan WHILE, pastikan bahwa suatu saat bagian kondisi sampai bernilai FALSE. Apabila tidak, proses perulangan akan terus berjalan selamanya. 3. Pernyataan DO...WHILE Karakteristik do...while() adalah : 1. Perulangan akan dilakukan minimal 1 terlebih dahulu, kemudian baru dilakukan pengecekan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. 2. Perulangan dengan do...while() akan dilakukan sampai kondisi false. Bentuk umumnya Perbedaan dengan WHILE sebelumnya yaitu bahwa pada DO...WHILE statement perulanganya dilakukan terlebih dahulu baru kemudian dicek kondisinya. Sedangkan WHILE kondisi dicek terlebih dahulu baru kemudian statement perulanganya dijalankan. Akibat dari hal ini adalah dalam DO WHILE minimal terdapat 1 perulangan. Sedangkan WHILE dimungkinkan perulangan tidak pernah terjadi yaitu ketika kondisinya langsung bernilai false. Struktur Kontrol Lompatan Pernyataan Continue dan Break Do Pernyataan; while(kondisi); Pernyataan break akan selalu terlihat digunakan bila menggunakan pernyataan switch. Pernyataan ini juga digunakan dalam loop. Bila pernyataan ini dieksekusi, maka akan mengakhiri loop dan akan menghentikan iterasi pada saat tersebut. Pernyataan continue digunakan untuk pergi ke bagian awal dari blok loop untuk memulai iterasi berikutnya. Dengan kata lain, perintah continue akan PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 11
melewati satu iterasi yang sesuai dengan syarat tertentu, dan melanjutkan ke iterasi berikutnya. Contoh : #include<iostream.h> void main() int i; for (i=0; i<15; i++) If (i==4) continue; cout<< Bilangan <<1<<; if (i==6) PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 12
Output : Penjelasan : dari program diatas, dapat dilihat perulangan dari suatu bilangan sebanyak 10. Tetapi, pada perulangan i=4, ada perintah continue. Dengan perintah ini, maka program langsung meloncat ke loop berikutnya dan ketika sampai perulangan i=6, ada perintah break. Otomatis program akan berhenti dan tidak sampai ke i=10. Dan program akan mencetak bilangan 0, bilanga 1, bilangan 2, bilangan 3, bilangan 4, bilangan 5, bilangan 6. Pernyataan GO TO Pernyataan GO TO diperlukan untuk melakukan suatu lompatan ke suatu pernyataan berlabel yang ditandai dengan tanda : Contoh : Bilangan 0 Bilangan 1 Bilangan 2 Bilangan 3 Bilangan 4 Bilangan 5 Bilangan 6 #include<iostream.h> void main() Cout<< Tes go to <<endl; Goto selesai; Cout<< Hai, saya kok tidak disapa <<endl; Selesai : Cout<< Selesai... <<endl; Output : Tes go to Selesai... PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 13
PRAKTIKUM PEMROGRAMAN KOMPUTER 2018 14