C++ Tutorial

C++ – Loops (Perulangan)

Waktu yang dibutuhkan 30-40 menit.

Akhirnya kita sampai pada materi dasar terakhir untuk tutorial C++ ini. Yay! Setelah mengenal loops atau perulangan kalian dapat membuat program yang jauh lebih menarik dari yang sebelum-sebelumnya!

Kapan kita perlu menggunakan loops / perulangan? Jawabannya adalah saat kita ingin melakukan sesuatu yang ‘sama’ berulang kali. Kata sama disini jangan diartikan sebagai identik, melainkan memiliki tugas yang sama. Contohnya kita ingin menampilkan angka dari 1 – 100, disini kegiatan yang berulang adalah menampilkan angka menggunakan perintah cout. Sedangkan angka dari 1-100 dapat ditangani dengan sebuah variable yang nilainya naik terus-menerus dari 1 hingga 100.

Dalam C++ terdapat 3 cara untuk membuat perulangan,

  1. while-loop
  2. do while-loop
  3. for-loop

Langsung saja mari kita bahas satu per satu dari macam-macam perulangan tersebut,


While-loop

Sebagai panduan kita akan membuat sebuah program dengan contoh di atas yaitu menampilkan angka dari 1-100. Perhatikan code program di bawah ini,

Dapat dilihat bawah struktur sebuah while adalah while([kondisi]). Dimana kondisi ini akan menghasilkan sebuah nilai boolean true atau false sesuai dengan konsep yang sebelumnya telah kita pelajari.
Blok program (yang berada di dalam tanda ‘{‘ dan ‘}’ ) akan dijalankan terus menerus hingga kondisi menghasilkan nilai false. Perlu diperhatikan bahwa kita harus memastikan kondisi tersebut bisa berubah dari true menjadi false karena jika tidak perulangan akan berjalan terus-menerus tanpa henti.

Pada contoh program di atas bagian

dapat dibaca sebagai berikut, isi variable n (baru) di-assign dengan nilai dari isi variable n (lama) + 1. Dengan bagian ini kita dapat membuat nilai dari variable n terus-menerus bertambah setiap perulangannya. Tujuannya agar kita dapat menampilkan nilai dari 1 – 100.


Do while-loop

Berikutnya kita akan membahas tentang do-while loop, dengan permasalahan yang sama kode dengan do-while loop dapat kalian lihat di bawah ini,

Perbedaan antara while-loop dengan do while-loop adalah, while loop melakukan pengecekan kondisi sebelum menjalankan programnya. Jika kondisi sudah mengembalikan nilai false maka block-program tidak akan pernah dijalankan. Namun pada do while-loop bagian block program akan dijalankan minimal satu kali terlebih dahulu kemudian di akhir setiap perulangan baru akan mengecek kondisi apakah masih menghasilkan nilai true atau tidak.


For loop

For loop memiliki struktur yang sedikit berbeda dengan 2 struktur loops yang telah kita bahas. Struktur dari for-loop dapat digambarkan sebagai berikut,

Perulangan for
Perulangan for

Mari kita bahas satu per satu bagian-bagian dari for tersebut,

  1. inisialisasi, bagian ini hanya dijalankan pada perulangan ini, yaitu tepat pertama kali sebelum block program dijalankan.
  2. kondisi, sama seperti while-loop, perulangan akan terus dijalankan selama kondisi menghasilkan nilai true.
  3. increment, bagian ini dilakukan tepat di akhir perulangan, tujuannya sama dengan bagian “n = n + 1” pada contoh program sebelumnya. Syntax ‘i++’ sama artinya dengan “i = i + 1”, selain ‘++’ atau increment terdapat juga ‘–‘ atau decrement. Decrement berfungsi untuk mengurangi nilai variable tersebut sebanyak 1.

Contoh program menggunakan for-loop,


Bermain-main dengan loops :)

Untuk mengakhiri tutorial kali ini kita akan membuat sebuah program sederhana yang dapat membuat sebuah bingkai persegi dengan panjang sisi sesuai dengan inputan user. Mari kita lihat beberapa contoh bingkai persegi yang dimaksud,

Contoh persegi dengan panjang sisi 5
Contoh persegi dengan panjang sisi 5

 

Contoh persegi dengan panjang sisi 7
Contoh persegi dengan panjang sisi 7

Bagian tengah yang kosong tersebut diisi dengan karakter spasi. Sedangkan bingkainya digambarkan menggunakan karakter bintang/asterik ‘*’.

Untuk mendapatkan gambar di atas kita perlu membagi menjadi dua bagian yaitu kolom dan baris. Setiap barisnya akan berisikan x karakter dimana x adalah panjang sisi yang diinputkan. Dan terdapat x baris untuk menyelesaikan ini.

Kemudian jika kita amati kita akan meng-outputkan tanda bintang ke console jika saat itu kita sedang menggambar di bagian sisi-sisi persegi. Untuk dapat menggambar semua bagian persegi kita membutuhkan loop di dalam loop. Untuk tutorial ini kita akan menggunakan for-loop. Kenapa perlu menggunakan nested-for? Karena untuk setiap baris kita menginginkan membuat kolom ke samping maka kita perlu melakukan perulangan lagi. Perhatikan kode di bawah ini,

i adalah variable yang menunjukkan kita sedang mengerjakan baris yang ke-i,
j adalah variable yang menunjukkan kita sedang mengerjakan kolom yang ke-j,
ingat nilai variable i dan j selalu naik setiap kali satu kali perulangan dikerjakan akibat perubahan ++ pada kedua variable tersebut.

Setelah menemukan struktur yang tepat, sekarang kita harus menentukkan kapan kita mengoutputkan tanda ‘*’ atau ‘ ‘. Karena terdapat suatu kondisi yang harus dipenuhi maka kita memerlukan control if. Dengan if kita dapat menentukkan alur program jika memenuhi kondisi tersebut dan jika tidak memenuhi kondisi, perhatikan potongan code di bawah ini,

Kita berada pada sisi atas jika i = 1 yaitu baris ke-1, kita berada pada sisi kanan jika i = x yaitu baris ke-x. Karena terdapat x baris maka dapat disimpulkan x adalah baris terakhir. Jika kondisi ini terpenuhi maka kita perlu meng-outputkan tanda ‘*’ karena kita ingin memberikan bingkai pada baris pertama dan terakhir. Sebagai latihan cobalah memahami sisa dari potongan kode tersebut dengan konsep yang telah kita bahas bersama.

Code program lengkap,

Cobalah untuk membuat code programnya terlebih dahulu, jika berbeda namun menghasilkan output yang sama jangan ragu! Dalam programming terdapat banyak cara yang dapat digunakan untuk mencapai hasil yang sama. Seperti pepatah, “banyak jalan menuju roma”

Jika ada kesulitan jangan ragu untuk bertanya pada bagian komentar! Dengan ini selesai sudah tutorial dasar untuk C++, berikutnya kita akan membahas bagian yang lebih advance yaitu, function dan pointer. Jika kalian ingin mempelajari lebih dalam mengenai perulangan a.k.a loops kalian dapat membaca post perulangan dan array. Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *