PENGULANGAN DALAM C ATAU C++ (FOR, WHILE, DO WHILE, BREAK, CONTINUE) DAN CONTOHNYA

PENGULANGAN DALAM C ATAU C++ (FOR, WHILE, DO WHILE, BREAK, CONTINUE) DAN CONTOHNYA



A.   Konsep Pengulangan

Program yang efisien adalah program yang memungkinkan pengguna bekerja sesedikit mungkin  dan  komputer  bekerja  sebanyak  mungkin.  Salah  satu  cara  melakukan  hal tersebut adalah dengan menggunakan kembali sekumpulan baris program yang terdapat pada bagian lain dari program tersebut atau baris program yg terdapat di dalam program  lain. Pengulangan merupakan sebuah konsep pemrograman yang penting karena konsep ini memungkinkan pengguna menggunakan sekumpulan baris program berulang kali dengan tiga komponen yang mengendalikannya, yaitu:
·    Inisialisasi; menentukan kondisi awal dilakukannya pengulangan.
·    Jumlah iterasi; menunjukkan berapa kali pengulangan akan dilakukan.
·    Kondisi berhenti; menentukan kondisi yang dapat mengakhiri pengulangan.


Contoh   kasus   dunia   nyata   yang   dapat   digunakan   untuk   menggambarkan   ketiga komponen  ni adalah cerita ibu mengupas sepuluh (10) butir kentang. Ibu akan mengumpulkan dulu 10 butir  entang yang akan dikupas, kemudian Ibu akan mengambil sebuah kentang kemudian mengupasnya, setelah selesai mengupas Ibu akan mengambil kentang berikutnya dan melakukan aksi mengupas lagi. Ibu akan melakukan pengupasan

kentang satu persatu hingga mencapai kentang ke-10, dan seluruh kentang tersebut telah terkupas. Ibu akan melakukan sederetan aksi yang tepat sama terhadap kesepuluh butir kentang tersebut. Maka,
·    Inisialisasi: 10 butir kentang yang masih utuh dengan kulitnya
·    Jumlah iterasi: 10 (sesuai jumlah kentang)
·    Kondisi berhenti: 10 butir kentang sudah terkupas.

Ketika mengimplementasikan dalam program, ketiga komponen ini tidak selalu dapat didefinisikan dalam struktur pengulangan. Mungkin saja salah satu komponen tersebut tidak  didefinisikan.  Pengulangan  tetap  dapat  berjalan,  asal  komponen  yang  tidak didefinisikan tersebut dapat diketahui secara tersirat berdasarkan komponen lain yang didefinisikan.  Hal  lain  yang  perlu  diperhatikan  adalah  bahwa  pengulangan  harus berhenti.   Jika   pengulangan   tidak   pernah   berhenti,   maka   logika   program   salah. Pengulangan akan berhenti jika jumlah iterasi yang diminta sudah tercapai atau kondisi berhenti bernilai benar. Maka, dalam setiap pengulangan, pemrogram perlu menentukan jumlah iterasi atau kondisi berhenti dan langkah pencapaian menuju kondisi berhenti tersebut. Pada bab ini akan dijelaskan 3 struktur perulangan dan implementasinya di
dalam C, yaitu struktur perulangan While , For, dan Do While

1.   Sintaks WHILE

·    Pengulangan     dengan     menggunakan     WHILE     merupakan     sebuah pengulangan  yang  dikendalikan  oleh  suatu  kondisi  tertentu,  dimana kondisi tersebut yang akan menentukan apakah perulangan itu akan terus dilaksanakan atau dihentikan.
·    Kondisi tersebut akan dicek disetiap awal iterasi, apakah sebuah kondisi terpenuhi atau tidak. Jika kondisi terpenuhi (bernilai benar), maka iterasi akan dilanjutkan. Jika kondisi tidak terpenuhi, maka iterasi dihentikan. 
·    Perulangan  dengan  WHILE  dapat digunakan pada struktur perulangan yang diketahui jumlah iterasinya dan juga pada struktur perulangan yang tidak  diketahui  jumlah  iterasinya,  tetapi  harus  selalu  terdapat  kondisi berhenti.
Struktur pengulangan WHILE adalah:

  
dalam  kondisi,  dan  terus  berubah  nilainya  setiap  iterasi  dilakukan.  Pencacah inilah yang akan membuat sebuah kondisi berhenti tercapai. Pada struktur pengulangan dengan sintaks WHILE, nilai pencacah akan diubah di akhir aksi pengulangan. Contoh: Ibu mengupas 10 butir kentang dapat direpresentasikan dengan pengulangan WHILE sebagai berikut :


Telah diketahui bahwa Ibu akan melakukan pengupasan sebanyak 10 kentang, maka   sebelum   masuk   struktur   pengulangan,   variabel   kentang   berisi   0
{menunjukkan bahwa di awal iterasi belum ada kentang yang dikupas atau jumlah kentang yg telah dikupas = 0}. Pada iterasi pertama, terjadi pengecekan kondisi (kentang < 10)  dimana artinya “apakah jumlah kentang yang dikupas belum mencapai 10”, karena nilai kentang = 0 maka kondisi bernilai benar, ibu akan mengambil  sebuah  kentang  kemudian  mengupas  kulitnya.  Di  akhir  iterasi pertama, jumlah kentang yang sudah dikupas menjadi (0+1) = 1. Pada titik ini, variabel kentang berisi 1 (artinya, 1 kentang sudah dikupas). Pada iterasi kedua, terjadi pengecekan kondisi (kentang < 10), sedangkan kentang = 1, maka kondisi bernilai benar, ibu akan mengambil sebuah kentang kemudian mengupas kulitnya. Di akhir iterasi kedua, jumlah kentang yang sudah dikupas menjadi (1+1)=2.

Iterasi ini terus berulang sampai iterasi ke 10, variabel kentang berisi 9. Saat terjadi pengecekan kondisi (kentang < 10) bernilai benar, maka ibu mengambil sebuah kentang kemudian mengupas kulitnya. Di akhir iterasi ke sepuluh, jumlah kentang yang sudah dikupas menjadi (9+1) = 10. Kemudian, pada iterasi ke 11, terjadi pengecekan kondisi (kentang < 10) , karena kentang = 10 maka kondisi bernilai salah, sehingga iterasi diakhiri. Hasil akhirnya, variabel kentang berisi 10 (artinya,  10  kentang  sudah  dikupas).  Jalannya  iterasi  ini  dapat  ditulis  dalam bentuk tabel berikut:



Dari contoh di atas, variabel kentang merupakan pengendali iterasi. Iterasi dapat terus   dilakukan   atau   tidak,   bergantung   pada   nilai   variabel   kentang   ini. Selanjutnya, variabel penentu iterasi ini disebut dengan pencacah. Pencacah harus berupa nilai yang memiliki urutan, yaitu dapat bertipe integer atau karakter. Di setiap struktur pengulangan, pencacah selalu ada dan jangan lupa untuk menginisialisasi pencacah. Nilai pencacah akan berubah pada setiap iterasi. Hal lain yang perlu diperhatikan adalah bahwa di akhir iterasi, variabel kentang bernilai 10. Nilai ini tidak berubah lagi karena iterasi tidak dilakukan lagi, dan disebut sebagai loop invariant.
Penggunaan sintaks WHILE dalam bahasa pemrograman C :


2.   Sintaks DO…WHILE

Sintaks DO... WHILE... melakukan pengulangan serupa dengan sintaks WHILE. Penggunaan sintaks ini juga tidak harus menyebutkan jumlah pengulangan yang  harus  dilakukan,  karena  dapat  digunakan  untuk  perulangan  dengan  jumlah iterasinya  yang  belum  diketahui,  tetapi  harus  mempunyai  kondisi  berhenti. Bedanya,  jika  pada  sintaks  WHILE  kondisi  dievaluasi/  diuji  sebelum  aksi pengulangan dilakukan, sedangkan pada sintaks DO...WHILE pengujian kondisi dilakukan setelah aksi pengulangan dilakukan.




Struktur pengulangan DO...WHILE yaitu:



Pada  struktur  pengulangan  dengan  sintaks  DO...  WHILE...,  aksi  akan  terus dilakukan hingga kondisi yang dicek di akhir pengulangan, bernilai benar. Dengan sintaks ini, pengulangan pasti dilakukan minimal satu kali, yakni pada iterasi pertama  sebelum  pengecekan  kondisi.  WHILE  dengan  DO  WHILE  seringkali

memberikan hasil yang sama, tetapi ada kalanya hasilnya akan berbeda, sehingga harus berhati-hati dalam penggunaan kondisi antara WHILE dengan DO WHILE. Beberapa contoh penerapan struktur pengulangan DO... WHILE... :
·    Algoritma ibu mengupas kentang

  
Pada potongan algoritma ini, aksi pasti dilakukan minimal satu kali, tanpa memperhatikan nilai pencacah. Di akhir iterasi pertama, baru dilakukan pengecekan jumlah kentang yang sudah terkupas (pencacah).  Jalannya iterasi ini dapat ditulis dalam bentuk tabel berikut:


Pengulangan dihentikan pada iterasi ke- 10 karena kondisi kentang < 10 bernilai salah.
Penggunaan DO...WHILE dalam pemrograman C :


3.   Sintaks FOR 

Sintaks   pengulangan   FOR   merupakan   sintaks   yang   relatif   paling   mudah digunakan. Sintaks ini serupa dengan sintaks WHILE... DO... dalam hal pengecekan kondisi dilakukan di awal. Dalam menggunakan struktur pengulangan dengan sintaks FOR, pemrogram harus mendefinisikan nilai awal dan nilai akhir pencacah yang menunjukkan jumlah iterasi. Setiap kali iterasi berlangsung, nilai pencacah akan diubah. Jika pencacah sudah mencapai nilai akhir yang ditentukan, maka pengulangan akan berhenti.


Bila contoh ‘Ibu mengupas kentang’ ingin diubah ke dalam struktur pengulangan dengan  sintaks  FOR,  pemrogram  harus  menentukan  nilai  awal   dan  akhir pencacah, yaitu variabel kentang. Karena ibu akan mengupas kentang pertama hingga kentang ke sepuluh, maka:
·    Nilai awal pencacah: kentang = 1
·    Nilai akhir pencacah: kentang = 10
·    Selama    kondisi    kentang>=1    dan    kentang<=10    terpenuhi,    aksi pengulangan akan dilakukan.

Struktur umum pengulangan dengan sintaks FOR adalah:
FOR(inisialisasi;
KondisiPengulangan;
PerubahNilaiPencacah)
{pernyataan/perintah pengulangan}
ENDFOR
  
Dimana :
·    Inisialisasi : untuk memberikan nilai awal untuk variabel pencacah.
·    Kondisi  Pengulangan  :  kondisi  pengulangan  akan  berhenti  atautidak.
·    Perubah Nilai Pencacah : pengubahan nilai variabel pencacah untuk mencapai   kondisi   berhenti,   dapat   berupa   kenaikan   ataupun  penurunan.  Pengubah variabel pencacah tidak harus selalu naik
atau  turun  satu,  tetapi  dapat  dilakukan  pengubahan  variabel pencacah lebih dari satu.
·    Pernyataan perintah : aksi yang akan diulang 

Algoritma ibu mengupas kentang


Perhatikan bahwa potongan algoritma di atas tidak mencantumkan aksi pengubah pencacah kentang ß kentang + 1. Inisialisasi, pengecekan kondisi, dan pengubah variabel pencacah sudah terdapat dalam argumen FOR. Pada posisi pengubah variabel, pernyataan   kentang++  sama  dengan   kentangßkentang  +  1,penambahan   akan dilakukan setelah aksi pengulangan dilaksanakan. Jalannya iterasi ini dapat ditulis dalam bentuk tabel berikut

 Pengulangan dihentikan pada iterasi ke- 11 karena kondisi kentang<10 bernilai salah.


4.   Sintaks Pengulangan Bersarang

Sama  halnya  dengan  struktur  pemilihan,  struktur  pengulangan  juga  dapat  disusun bersarang.  Sebuah  struktur  pengulangan  bisa  berada  dalam  struktur  pengulangan lainnya. Atau, sebuah struktur pengulangan bisa mengandung struktur pengulangan lain di dalamnya. Dari contoh ibu mengupas kentang, misalnya dengan struktur pengulangan WHILE berikut ini:

 Setiap kali ibu mengambil sebuah kentang, ibu akan mengupas kulit kentang kemudian langsung memotongnya menjadi empat bagian. Berdasarkan kondisi ini, potongan algoritma di atas dapat dilengkapi menjadi:


Pada contoh di atas, pengulangan luar (WHILE) merupakan pengulangan untuk aksi mengupas  kentang,  sedangkan  pengulangan  dalam  (DO...WHILE)  merupakan pengulangan untuk memotong kentang ke dalam 4 bagian. Pengulangan dalam akan berhenti ketika jumlah potongan = 4.


5.   Sintaks BREAK dan CONTINUE

Sintaks BREAK dan CONTINUE merupakan sintaks yang digunakan untuk menghentikan pengulangan dan melanjutkan ke perintah atau aksi berikutnya. Sintaks BREAK dan CONTINUE dapat digunakan baik di dalam struktur pengulangan WHILE, DO...WHILE, dan FOR. Sintaks BREAK digunakan untuk menghentikan pengulangan kemudian keluar dari struktur pengulangan tanpa melanjutkan perintah di dalam struktur pengulangan. 
Contoh penggunaan sintaks BREAK di dalam pengulangan dengan menggunakan FOR


Ketika variabel i mencapai angka 4 maka akan memenuhi syarat untuk masuk ke struktur IF, kemudian perintah BREAK dijalankan yaitu keluar dari struktur pengulangan FOR, dan menampilkan perintah pada baris ke-8.
Sintaks CONTINUE digunakan untuk kembali ke awal pengulangan tanpa menjalankan perintah  berikutnya.  Contoh  penggunaan  sintaks  CONTINUE  di  dalam  pengulangan dengan menggunakan FOR
 


Ketika variabel i mencapai angka 4 maka akan memenuhi syarat untuk masuk ke struktur IF, kemudian perintah CONTINUE dijalankan yaitu kembali ke awal pengulangan dimana akan dilakukan penambahan nilai variabel pencacah dan pengecekan kondisi. Ketika perintah CONTINUE dijalankan, maka perintah berikutnya yaitu perintah pada baris ke- 6 tidak dijalankan, sehingga tampilan Ini adalah iterasi ke-4 tidak keluar. Setelah kembali ke  awal pengulangan,  variabel i akan ditambah menjadi 5 kemudian masuk lagi  ke struktur pengulangan.




Related Posts

Previous
Next Post »