Anda di halaman 1dari 14

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B) Modul 3

2012

MATERI III LOOPING Materi Praktikum Durasi TIU/TIK

Struktur Kontrol Perulangan (Looping) 120 menit 1. Pendahuluan 2. Instruksi Switch dan Break (kelanjutan conditional) 3. Instruksi Perulangan FOR dan Continue 4. Instruksi Perulangan WHILE 5. Instruksi Perulangan DO-WHILE 1. Diktat dan Literatur 2. Schildt, C: The Complete Reference Third Edition, McGraw-Hill,1998

Referensi

1. PENDAHULUAN
Meskipun kita telah mampu mendefinisikan permasalahan kita dalam bentuk percabangan (ifconditional), terkadang hal tersebut tidaklah cukup. Misalnya kita telah memilih salah satu alternatif yang ada, namun apabila alternative tersebut tidak sesuai dengan yang diharapkan, kita perlu kembali ke langkah-langkah sebelumnya untuk mencari alternatif lain. Pada bagian inilah kita menggunakan proses perulangan, atau dalam bahasa pemrograman bisa disebut dengan looping. Selain untuk menyelesaikan permasalahan di atas, looping dapat digunakan untuk menghasilkan program agar dapat berjalan lebih efektif. Andaikata kita perlu menuliskan nomor urut dari no.1 hingga no.100. Tanpa menggunakan looping, maka kita perlu menuliskannya satu per satu. Hal tersebut tentu banyak menyita waktu, energi, dan filesize. Akan tetapi, bila kita menggunakan looping, maka setidaknya hanya butuh beberapa baris perintah untuk mencapai tujuan tersebut. Dalam Bahasa C, instruksi yang paling umum digunakan adalah instruksi FOR, instruksi WHILE, dan instruksi DO-WHILE. Seluruh proses dapat dilakukan oleh ketiga instruksi tersebut. Namun, instruksi for umumnya digunakan untuk proses looping dimana jumlah perulangannya diketahui, sedangkan instruksi while dan do-while digunakan apabila proses perulangan bergantung pada suatu kondisi.

2. SWITCH DAN BREAK


Sebelum kita masuk ke materi utama yaitu mengenai pengulangan / looping, kita akan melanjutkan materi sebelumnya mengenai conditional di bab 2 ini, yaitu mengenai switch. Sebenarnya switch tidak jauh berbeda dengan sintaks if else sebelumnya. Instruksi SWITCH adalah suatu instruksi yang ditujukan untuk mengeksekusi salah satu statement dari sejumlah statement yang ada. Untuk lebih jelasnya, jalankan program di bawah ini. INPUT
#include <stdio.h> int main() { int kode; printf("Perasaan Anda Hari Ini\n"); printf("1=BAHAGIA 2=SENANG 3=BIASA SAJA \n"); printf("4=SEDIH 5=KESAL 6=MARAH \n\n"); printf("Perasaan Anda [1....6]: "); scanf("%i",&kode); //proses seleksi switch (kode) { case 1: printf("BAHAGIA"); break; case 2: printf("SENANG"); break; case 3: printf("BIASA SAJA"); break; case 4: printf("SEDIH"); break; case 5: printf("KESAL"); break; case 6: printf("MARAH"); break; default: printf("Maaf kode Anda salah"); break; } return 0; }

OUTPUT
Perasaan Anda Hari Ini 1=BAHAGIA 2=SENANG 3=BIASA SAJA 4=SEDIH 5=KESAL 6=MARAH Perasaan Anda [1....6]: 2 SENANG

KETERANGAN switch (kode) kata kode merupakan nama variabel yang akan nilainya akan dicocokkan dengan nilai pada case yang ada. Apabila nilai kode tersebut cocok dengan salah satu case yang ada, maka statement di dalam case tersebut akan dieksekusi. case 2: printf("SENANG"); Jika variabel kode kita masukkan nilai 2, maka program akan mencari case yang sesuai, yakni case 2 kemudian menjalankan statement di dalamnya. Apabila seluruh statement telah dieksekusi maka harus dituliskan instruksi break. break; Instruksi ini bertujuan untuk keluar dari suatu blok, dalam hal ini adalah blok switch. Maksud penggunaan disini adalah agar proses switch berakhir setelah menjalankan statement yang

diperlukan. Atau dapat diartikan pula perintah break ini untuk membatasi antara case satu dengan case lainnya. default Apabila nilai dari variabel yang dicocokkan tidak ada dalam pilihan case, maka statement yang dijalankan adalah yang berada di dalam instruksi default ini. Dapat dianalogikan default ini sama dengan else pada contoh percabangan.

3. INSTRUKSI PERULANGAN FOR DAN CONTINUE


INSTRUKSI FOR
Sekarang kita masuk ke materi utama mengenai pengulangan dari bab ini sampai bab terakhir. Seperti yang telah dibahas sebelumnya, instruksi for umumnya digunakan bila jumlah perulangan telah kita ketahui. Bentuk umum dari instruksi for : for ([inisiasi_counter]; [syarat_perulangan]; [update_counter]) { ..statement-statement yang akan diulang. } Bila kita melihat bentuk di atas, terdapat 3 parameter yang perlu kita tentukan : 1. inisiasi_counter Bagian ini bertujuan untuk menentukan variabel apa yang akan digunakan untuk menjadi variabel utama untuk melakukan perulangan. Nilai dari variabel ini akan berubah seiring dengan proses perulangan yang terjadi. 2. syarat_perulangan Bagian ini untuk menentukan batas dari perulangan tersebut. Pada saat kapan proses perulangan akan berakhir ditentukan pada bagian. Umumnya bagian ini diisi dengan suatu pernyataan yang melibatkan variable counter. 3. update counter Bagian ini bertujuan untuk mengubah nilai daripada counter. Apakah nilai counter ditambahkan (increment) setiap kali perulangan terjadi atau justru mengalami penurunan nilai (decrement). Namun perlu untuk diketahui bahwa ketiga parameter tersebut bersifat optional, dengan kata lain tidak wajib dijelaskan. Ada beberapa kasus dimana kita melakukan deklarasi dengan cara berbeda, tidak sesuai dengan bentuk di atas. Sebagai bahan latihan, misalkan kita akan membuat suatu program dari algoritma di bawah ini:

Berikut adalah input programnya : INPUT


#include <stdio.h> int main() { int batas = 10; int nomor; for (nomor =1; nomor <= batas; nomor ++) { printf("%i\n", nomor); } return 0; }

OUTPUT 1 2 3 4 5 6 7 8 9 10

Lebih mudah dibandingkan mengetikkan satu per satu, kan ?

Bentuk daripada for bisa bermacam-macam. Berikut adalah contoh dari bentuk tipe bersarang : INPUT
#include <stdio.h> int main() { int naik; int turun; for (naik =1; naik <= 5; naik ++) { printf("\n%i ", naik); for (turun =6; (turun-naik) >= 1; turun --) { printf("*"); } } return 0; }

OUTPUT

1 ***** 2 **** 3 *** 4 ** 5* Contoh di atas melibatkan proses increment dan decrement. Pada for tingkat kedua, nilai syarat_perulangan bergantung pada nilai di for yang pertama. Bentuk seperti program diatas umumnya banyak digunakan untuk membentuk grafik sederhana dalam bahasa C.

CONTINUE
Jika tadi kita menggunakan break untuk menghentikan proses pada blok tersebut dan keluar dari blok tersebut, instruksi continue pun melakukan hal yang serupa, yaitu tidak menjalankan proses-proses yang berada setelah continue, namun justru langsung melanjutkan proses di luar blok. Berikut contohnya : INPUT
#include <stdio.h> int main() { int data; for (data =1; data <= 10; data ++) { if (data %2 != 0) { continue; } printf("%i ", data); } return 0; }

OUTPUT 2 4 6 8 10 KETERANGAN Proses pertama adalah menjalankan proses for. Saat data bernilai 1, proses dilanjutkan dengan mengecek apakah modulus dari 1 dibagi 2 adalah 0. Kondisi menjadi true sehingga proses continue dijalankan dan perintah cout dilewat (tidak dieksekusi). Selanjutnya proses for dilanjutkan. Sekarang nilai data menjadi 2 dan kembali dicek. Karena kondisi bernilai false, maka instruksi continue tidak dijalankan dan menyebabkan perintah cout berjalan. Di layar akhrnya menampilkan nilai dari data, yaitu 2.

4. INSTRUKSI PERULANGAN WHILE


Instruksi lain yang dapat digunakan untuk menjalankan proses looping adalah instruksi while : while ( syarat_perulangan ) { ..statement-statement yang akan diulang. } Langsung saja kita coba untuk menggunakan instruksi WHILE :

INPUT
#include <stdio.h> int main() { int batas = 10; int nomor; nomor = 1; while (nomor <= batas) { printf("%i\n", nomor); nomor ++; } return 0; }

OUTPUT 1 2 3 4 5 6 7 8 9 10 KETERANGAN Hasil yang dikeluarkan akan sama dengan proses pada for, namun bentuk programnnya berbeda. Jika kita lihat dengan lebih teliti, inisiasi_counter, syarat_perulangan dan update_counter sebenarnya masih terdapat dalam instruksi WHILE ini, hanya saja bentuknya berbeda. Setelah nilai 1 di-assign pada variabel nomor, kemudian instruksi WHILE memeriksa apakah syarat_perulangan masih memenuhi. Jika kondisi bernilai true, maka statement perulangan akan dijalankan dan bila telah selesai maka akan diperiksa kembali hingga pada akhirnya proses perulangan akan berhenti ketika syarat_perulangan tidak terpenuhi lagi.

Namun ada yang harus diperhatikan dalam penggunaan WHILE ini. Bayangkan apa yang terjadi apabila statement

nomor ++; tidak kita tulis dalam program kita. Proses perulangan akan terus terjadi tanpa henti. Apabila proses yang dijalankan termasuk hal yang kompleks, maka hal ini dapat membuat komputer kita crash. Agar lebih tertantang, coba jalankan program ini dan pahami setiap langkah yang berjalan : INPUT
//Menghitung Jumlah Deret Angka #include <stdio.h> int main() { int bawah, atas; int total=0; printf("Masukkan bilangan batas bawah : "); scanf("%i", &bawah); printf("Masukkan bilangan batas atas : "); scanf("%i", &atas); //pengecekan apakah masukkan dapat diterima if ((bawah >=0) && (atas >=0) && (bawah <= atas)) { while (bawah <= atas) { total += bawah; bawah ++; } printf("Total Jumlah Deret Angka = %i", total); } else { printf("Data Anda tidak valid"); } return 0; }

OUTPUT Masukkan bilangan batas bawah : 5 Masukkan bilangan batas atas : 10 Total Jumlah Deret Angka = 45

Coba tebak hasil apakah yang akan keluar dari input program seperti di bawah ini : INPUT
//Menghitung Mundur #include <stdio.h> int main() { int n; printf("Masukkan angka awal : "); scanf("%i", &n); while (n>0) { printf("%i, ",n); --n; } printf("FIRE!\n"); return 0; }

5. INSTRUKSI PERULANGAN DO-WHILE


Bentuk terakhir untuk melakukan perulangan adalah dengan menggunakan instruksi DO-WHILE. Pada dasarnya instruksi ini tidak jauh berbeda dengan instruksi WHILE. Hal utama yang membedakan kedua instruksi ini adalah pada DO-WHILE statement akan dieksekusi terlebih dahulu tidak peduli apakah syarat_perulangan tidak memenuhi kemudian baru diperiksa syaratnya. Intinya, pada instruksi DO-WHILE setidaknya statement telah dieksekusi satu kali. do { ..statement-statement yang akan diulang. } while ( syarat_perulangan ); Contohnya adalah sebagai berikut :

INPUT
#include <stdio.h> int main() { int batas = 20; int nomor; nomor = 11; do { printf("%i\n", nomor); nomor ++; } while (nomor <= batas); return 0; }

OUTPUT 11 12 13 14 15 16 17 18 19 20

Bandingkan dengan input pada program di bawah ini : INPUT


#include <stdio.h> int main() { int batas = 5; int nomor; nomor = 11; do { printf("%i\n",nomor); nomor ++; } while (nomor <= batas); return 0; }

OUTPUT 11

KETERANGAN Inilah yang membedakan antara WHILE dan DO-WHILE. Meskipun sejak pertama kali inisiasi syarat_perulangan sudah tidak memenuhi (11 <= 5), namun karena instruksi berupa DO-WHILE, maka program tetap akan mengeksekusi statement tersebut satu kali sebelum akhirnya proses perulangan berakhir. Dengan kata lain perbedaan utama dari DO-WHILE dengan WHILE adalah proses pengecekannya. Jika WHILE dia akan mengecek dulu jika tidak cocok maka statement tidak akan dijalankan, sedangkan DO-WHILE sebaliknya melakukan dulu baru mengecek jika tidak cocok baru berhenti.

Anda mungkin juga menyukai