PANDUAN LENGKAP LOOPING EDISI BAHASA C
OLEH : SEPTIAN EKO PRASETYO
KATA PENGANTAR
Buku ini membahas tentang konsep dasar struktur looping dalam bahasa C. Strukturini sering dianggap sulit bagi sebagian pelajar/mahasiswa yang baru mempelajar idasarpemrograman. Dalam struktur looping kita kenal bentuk-bentuk yang sering kita jumpai yaitu struktur FOR, While dan Do-While. Masing-masing struktur tersebut memiliki kesamaan fungsi yaitu melakukan perulangan statement yang ada dalam block code struktur tersebut. Salah satu kelebihan looping adalah melakukan perulangan sebanyak data yang dideklarasikan pada struktur.Jadi dengan mudah statement yang ada dalam struktur looping akan diulang tanpa kita harusmengetikkan statement yang sama. Buku ini dibuat sebagai media pembelajaran kepada pelajar/mahasiswa yang sedang belajar dasar pemrograman. Dengan dipublikasikannya buku ini, programmer pemula diharapkan mampu menguasai struktur dasar looping dalam berbaga istud ikasus. Didalam bukuini terdapat latihan atau job sheet yang bias menjadi tolok ukur penguasaan materi. Dengan dibantu source code kita dapat lebih mudah memahami dan mengimplementasikan dalam berbagai studi kasus. Besar harapan penulis buku ini dapat bermanfaat dan berguna bagi pembaca. Saran dan kritik sangat penulis harapkan demi kemajuan ilmu pengetahuan dan sebagai dasar pembuatan buku berikutnya.
Semarang, November 2013
Septian Eko Prasetyo
i
DAFTAR ISI
KATA PENGANTAR…………………………………………………………………………………..
i
DAFTAR ISI …………………………………………………………………………………………..
ii
1. KONSEP DASAR LOOPING …………………………………………………………………..
1
2. BENTUK – BENTUK LOOPING ……………………………………………………………….
2
2.1
Struktur For ……………………………………………………………………………
2
2.2
Struktur While ………………………………………………………………………….
4
2.3
Struktur Do-While ………………………………………………………………………
6
3. LATIHAN DAN PENGAYAAN…..……………………………………………………………….
8
4. DAFTAR PUSTAKA…..…………………………………………………………………………..
x
5. TENTANG PENULIS……………………………………………………………………………...
x
ii
KONSEP DASAR LOOPING
Struktur looping dalam fungsinya adalah sebagai perulangan. Dalam hal ini kita sangat diuntungkan jika terdapat suatu statement sama yang memiliki jumlah banyak kita hanya perlu mengetikkan satu statement tersebut dan meletakannya didalams truktur looping. Sebagai salah satu struktur dasar pemrograman, looping juga sering digunakan dalam pembuatan program berskala besar. Kemampuan looping yang dapat memproses suatu statement secara berulang-ulang hanya dalam satu statement dapat menyingkat waktu pengerjaan program dan algoritma pemrograman menjadi lebih efektif dan lebih praktis dibandingkan dengan kita menuliskan semua statement yang sama pada program. Sebagai contoh kita akan menampilkan suatu tampilan “LOOPING ITU MUDAH” sebanyak 50 kali. Tampilan tersebut dapat kita buat menggunakan perintah printf(“LOOPING ITU MUDAH”); sebanyak 50 kali. Mengingat keefektifan dan kepraktisan program tentu kita tidak mungkin membuatnya menggunakan perintah tersebut. Dengan adanya looping perintah printf(“LOOPING ITU MUDAH”); dapat dituliskan hanya satu kali di dalam struktur looping. Tentu program menjadi lebih praktis dan efektif dengan hanya menuliskan satu statement saja. Dalam perulangan dikenal tiga struktur dasar yang sering digunakan yaitu FOR, WHILE dan DO-WHILE. Struktur-struktur tersebut memiliki kesamaan fungsi didalamnya yaitu melakukan perulangan sebanyak yang diinginkan. Namun struktur dasar antara FOR, WHILE dan DO-WHILE berbeda antara satu dengan yang lainnya. Dalam looping dikenal dengan istilah increment yaitu sebuah perulangan yang melakukan peningkatan nilai dari nilai awal kecil menjadi lebih besar / positif. Increment biasanya ditandai dengan adanya tanda “ + “ pada strukturnya. Dengan increment, perulangan dapat terus dilakukan sampai dengan batas nilai yang telah ditentukan. Istilah lain yang terdapat di looping adalah decrement. Kebalikan dari increment, drecement melakukan perulangan dengan menurunkan nilai awalse hingga menjad nilai yang lebih kecil dari sebelumnya. Decrement ditandai dengan“ – “ pada strukturnya.
1
BENTUK – BENTUK LOOPING
Seperti yang telah penulis jelaskan diatas, struktur yang sering kita jumpai adalah struktur FOR, WHILE dan DO-WHILE. Ketiga struktur ini mempunyai posisi yang berbeda-beda dalam penulisannya. Namun sama-sama mempunyai fungsi sebagai perulang. Berikut adalah penjelasan dari masing-masing struktur beserta contoh listing program sederhana sebagai panduan dan latihan pembaca.
1. Struktur FOR Bentuk dasar struktur ini sangat sederhana dengan hanya meletakkan statement pada area blok code struktur.
For(kondisiawal;batas;inc/dec) { Kondisi } Sebagai contoh, saya akan menggambarkan bagaimana struktur for bekerja. Kita akan menuliskan kalimat “LOOPING TERNYATA MUDAH” sebanyak 20 kali dalam suatu program. Berikut ini penjelasan bagaimana cara membuat kalimat tersebut agar tercetak sebanyak 20 kali tanpa kitaharus mengetiknya sebanyak 20 kali. Yang pertama harus kita perhatikan adalah berapa banyak perulangan itu akan dilakukan. Dalam soal tersebut kita akan mencetak sebanyak 20 kali dan otomatis dimulai dari angka pertama yaitu 1. Dalam kondisi ini kita dapat menuliskan :
For(i=1;1<=20;i++) Penjelasan : i = 1 adalah pengkondisian awal mulai dari nomor berapakah program akan diulang I <= 20 adalah batas looping yang dilakukan oleh program. Mengapa dalam hal ini kita menggunakan tanda“ <= “ sebagai simbolnya? Dalam hal ini program akan diminta memproses atau mengulang data sebanyak 20 kali. Tanda <= mempunyai arti kurang dari sama dengan. Berarti jika kondisi tersebut belum terpenuhi maka proses peruangan akan terus dilakukan sampai kondisi tersebut( <= 20 ) sudah terpenuhi. i ++ adalah statement increment. Statement ini bertujuan menambahkan nilai 1 (satu) pada proses perulangan sehingga program akan terus bertambah hingga mencapai kondisiter tentu sesuai batas yang ditentukan.
2
Setelah memahami struktur tersebut yang harus kita buat adalah blok kode dengan symbol {} sebagai tempat diletakkannya statement yang akan diulang. Dalam soal kita harus mengulang kalimat “LOOPING TERNYATA MUDAH”. Berarti source code yang harus dibuat adalah sebagai berikut :
Source code dengan menggunakan codeblock
Hasil dari listing program tersebut dalam console setelah dicompile
3
2. Struktur WHILE Bentuk dasar struktur ini berbeda dengan struktur for dengan tata letak yang mengidentifikasikan kondisi terlebih dahulu dilanjutkan dengan batas yang diikuti statement beserta status increment/decrement.Struktur while sering digunakan oleh beberapa programmer web khusunya PHP sebagai penampil query dalam pengambilan value pada database dengan mudah. Bentuk looping yang dihasilkan oleh while tetap sama seperti looping yang dihasilkan oleh FOR. Struktur Dasar WHILE Kondisi While(batas) { Statement Inc/decrement } Sebagai contoh kita masih menggunakan soal yang sama yaitu menampilkan kalimat “LOOPING TERNYATA MUDAH” sebanyak 20 kali. Berikut ini runtutan source code bagaimana cara membuatnya dengan menggunakan struktur while. Yang pertama harus diingat bahwa WHILE menggunakan kondisi awal i = 1; (Kondisi Awal dimulai dari angka 1) While(i <= 20) (Batas looping yang dilakukan sebanyak 20 kali) { Printf(“LOOPING TERNYATA MUDAH”); i++; }
(Mencetak kalimat) (increment)
Source code dengan menggunakan codeblock
4
Dibawah ini merupakan hasil compiler dari struktur while yang telah kita buat. Program memiliki kesamaan dengan program yang kita buat dengan menggunakan struktur FOR.
Yang perlu diperhatikan dalam struktur WHILE adalah penempatan antara batas dan nilai awal yang tidak boleh terbalik ataupun salah. Konsekuensi yang sering terjadi jika kita salah mengetikkan nilai batas atau tandanya, program akan terus berjalan tanpa henti dengan kata lain, looping tidak terhingga. Banyak programmer pemula melakukan kesalahan pada pemberian tanda “ <= “ ataupun sesuai kondisi yang lain. Sehingga program tidak sejalan sesuai apa yang kita inginkan. Ketelitian sangat penting pada dunia pemrograman. Karena semua bahasa pemrograman cenderung bersifat case sensitive sehingga kesalahan sekecil apapun tidak dapat ditoleransi oleh program dan tidak dapat decompile atau terjadi bug.
5
3. Struktur DO-WHILE Hampir mirip dengan struktur while tetapi ada beberapa yang harus diperhatikan dalam memahami struktur DO-WHILE sehingga kita tidak akan dibingungkan antara struktur WHILE dan DO-WHILE. Sering kita melakukan kesalahan penalaran dibawah sadar, ketika kita ingin menggunakan struktur WHILE namun source code atau struktur yang digunakan merupakan struktur DO-WHILE. Kunci dalam struktur ini adalah batas yang diletakkan di bawah sesudah pernyataan status increment/decrement. Berikut merupakan struktur dasar dari DO-WHILE Kondisi do { Statement Inc/decrement } While(batas)
Untuk mengetahui bagaimana cara dan system kerja struktur ini, kita tetap masih menggunakan contoh soal atau studi kasus yang sama yaitu mencetak kalimat “LOOPING ITU MUDAH” dengan langkah-langkah sebagai berikut.
i = 1; do {
(Kondisi awal dari angka 1)
Printf(“LOOPING TERNYATA MUDAH”); i++; } While(i <= 20);
(Mencetak kalimat) (increment) (Batas Looping)
6
Setelah memahami source code diatas, kita coba source code tersebut kedalam codeblock untuk mencompilenya.
Source code dengan menggunakan codeblock
Ternyata semua hasil yang didapatkan sama antara struktur FOR, WHILE dan DO-WHILE. Dengan memahami ketiga struktur tersebut kita dapat menggunakan salah satu dari ketiga struktur tersebut sebagai fungsi perulang pada program yang kita buat.
7
LATIHAN DAN PENGAYAAN
Sebagai evaluasi hasil pembelajaran kita, kerjakan dan buat program sesuai dengan soal dibawah ini ! Buatlah program untuk menampilkan bilangan ganjil dari 1 – 100 dengan ketiga struktur looping yang telah kita pelajari sebelumnya. Source Code dengan struktur FOR
Source Code dengan struktur WHILE
Source Code dengan struktur DO-WHILE
8
Dari ketiga source code tersebut dapat dicompile dan menghasilkan tampilan seperti dibawah ini
Dalam source code terdapat increment ( i += 2) Berarti dari kondisi awal, looping akan selalu menambahkan 2 nilai sampai kondisi terpenuhi.
9
DAFTAR PUSTAKA
Jogiyanto HM. Konsep Dasar Pemrograman Bahasa C. Andi Yogyakarta, 2006.
10
TENTANG PENULIS
Septian Eko Prasetyo (Septian EP), lahir di Wonosobo 22 September 1995. Riwayat Pendidikan TK Dharma Wanita Winongsari, Kaliwiro, Wonosobo SD Negeri 1 Winongsari, Kaliwiro, Wonosobo SMP Negeri 1 Kaliwiro, Wonosobo SMK Negeri 1 Wonosobo (Rekayasa Perangkat Lunak) Pendidikan Pendidikan Teknik Informatika dan Komputer (S1) Universitas Negeri Semarang 2013
Pemrograman merupakan hobi saya selain bermain musik (keyboard, guitar dan drum), dengan keahlian ini, saya mencoba mencari celah kesuksesan menjadi seorang programmer professional. Orang yang belajar pemrograman memiliki kecenderungan lebih dalam berfikir dari orang lain baik dalam bentuk penalaran dan sikap. Belajar pemrograman membuat kesabaran saya terlatih dengan beberapa kegagalan-kegagalan yang membingungkan dan bahkan menemui kebuntuan. Namun saya mempunyai motto dalam hidup saya “KALAU AKU MAU PASTI BISA”. Katakata itu terinspirasi dari salah satu guru saya yang selalu membuat kehidupan saya menjadi bergairah dikala sedang “SURAM” dan “GALAU”. Selain belajar saya juga mengembangkan bakat saya melalui sebuah SOFTWARE DEVELOPMENT kecil-kecilan yang saya buat yaitu “SMASOFT ALFAMEDIA”. Saya berusaha menawarkan produk-produk jadi saya kepada instansi-instansi seperti sekolah dengan penawaran website, system akademik, e-learning, pendaftaran siswa baru, dll. Dengan demikian saya mempunyai kesempatan dan peluang besar untuk dapat mengembangkan ilmu saya. Mohon maaf apabila dalam penulisan buku ini terdapat kata, frase dan paraphrase yang tidak pas atau tidak sesuai dengan kaidah EYD. Saya menerima kritik dan saran pembaca semuanya untuk menjadikan buku selanjutnya yang lebih baik. CP PENULIS
[email protected] www.smasoftmedia.com www.facebook.com/zeptian.oke www.twitter.com/septian_ep 085640117992
11