Belajar Pemrograman Dart: Perulangan

Dokumen Pribadi
{tocify} $title={Daftar Isi}

Pendahuluan:

Dalam suatu program/aplikasi biasanya terdapat suatu proses yang dilakukan secara berulang misalnya saja anda perlu menampilkan angka bilangan ganjil hingga angka ke 99, bayangkan jika anda hanya menggunakan perintah print maka anda perlu mengetik / copy paste setiap perintah print bilangan ganjil hingga 99, tentu cara tersebut tidak efisien dan juga melelahkan anda sebagai pemrogram, untuk itu diberbagai bahasa pemrograman disediakan konsep perulangan (loop) yang akan membantu melakukan suatu proses secara berulang sehingga membuat kode program menjadi lebih efisien dan lebih singkat yang tentu dapat memberikan dampak terhadap performa program/aplikasi.

Perulangan:

Perulangan merupakan suatu proses yang akan mengulangi proses yang sama selama mencapai kondisi tertentu untuk menjalankan perulangan dan berhenti hingga kondisi tertentu terpenuhi begitu juga didalam pemrograman, perulangan akan menjalankan sebuah instruksi/fungsi secara berulang, misalnya saja anda perlu menampilkan bilangan 1-10 sebagai berikut:

Bilangan ganjil:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Jika menggunakan cara manual maka akan menjadi seperti berikut:

print("Bilangan ke 1");
print("Bilangan ke 2");
print("Bilangan ke 3");
print("Bilangan ke 4");
dan seterusnya..

Jika anda melakukan dengan cara tersebut tentu tidak efisien dan cukup memakan memori, untuk mengatasi hal tersebut anda bisa menggunakan perulangan / looping, ada beberapa bentuk perulangan yang dapat digunakan di Dart, diantaranya sebagai berikut:
  • for
  • forEach,
  • while, dan
  • do while
Selain itu perulangan juga terbagi menjadi dua jenis:
  • Counted loop: yakni perulangan yang dapat diketahui nilai/jumlah perulangannya, adapun yang termasuk jenis counted loop yakni for dan foreach 
  • Uncounted loop: perulangan yang nilai/jumlah perulangannya belum diketahui namun tidak menutup kemungkinan juga bahwa nilai/jumlah perulangannya dapat dihitung/diketahui, adapun perulangan yang termasuk uncounted loop yakni while dan do while

Counted loop:

Seperti penjelasan sebelumnya, counted loop merupakan perulangan yang nilai/jumlah perulangannya dapat dihitung/diketahui adapun yang termasuk counted loop yakni for dan foreach.

Perulangan for

Perulangan for termasuk jenis counted loop karena jumlah perulangannya dapat diketahui, adapun format dan contohnya sebagai berikut:


Perulangan for akan memeriksa kondisi perulangan dimana terdapat tiga parameter didalamnya, diantaranya:
  1. Inisialisasi: Merupakan nilai pertama perulangan akan dijalankan, seperti contoh diatas perulangan dimulai dari angka 1
  2. Kondisi: Merupakan kondisi perulangan for untuk tetap dijalankan sebagaimana contoh diatas selama nilai i kurang dari 10 maka perulangan akan tetap dijalankan sampai kondisi terpenuhi
  3. Operator: Operator yang anda gunakan akan menentukan berapa banyak setiap nilai yang bertambah/berkurang pada setiap proses perulangan dilakukan. Pada best practicenya anda lebih disarankan menggunakan operator increment/decrement sehingga nilainya hanya akan bertambah/berkurang satu, namun untuk hal-hal tertentu anda juga dapat menggunakan operator assignment, misalnya (i += 2) ataupun operator aritmatika (i = i + 2) sehingga dapat menentukan sendiri perubahan nilai pada setiap proses perulangan dijalankan. Sebagai pengingat, pastikan anda hanya menggunakan operator penjumlahan atau pengurangan saja, selain itu (perkalian/pembagian) akan menyebabkan program melakukan perulangan tak terbatas (infinite loop).

Perulangan forEach

Perulangan forEach biasanya lebih digunakan untuk membaca data dalam Array/List/Set/Map, perulangan forEach juga termasuk counted loop dan biasanya tidak memerlukan operator karena ia hanya akan membaca data dalam array secara berurutan dari index ke 0 hingga terakhir, format dan contohnya sebagai berikut:


Bentuk lain dari perulangan forEach adalah dengan menggunakan keyword in dalam perulangan for, format dan contohnya sebagai berikut:


Perbedaannya, perulangan for-in akan tetap membaca setiap urutan data array/list sama seperti foreach namun perulangan for-in mendukung fungsi break yang merupakan Loop Control Statement untuk menghentikan perulangan pada indeks tertentu sehingga dapat mencegah infinite loop, contohnya sebagai berikut:


Pada best practicenya, Dart tidak menyarankan untuk menggunakan forEach seperti cara diatas dan lebih menyarankan menggunakan cara berikut:


Uncounted loop:

Uncounted loop merupakan perulangan dimana nilai/jumlah perulangannya belum diketahui secara pasti oleh sebab itu biasanya perulangan uncounted loop dapat menyebabkan infinite loop atau perulangan tanpa henti akibat kesalahan kondisi dalam mengevaluasi nilai/ekspresi, adapun perulangan yang termasuk uncounted loop adalah while dan do while.

Perulangan while:

Perulangan while akan menjalankan perulangan selama kondisi tertentu terpenuhi dan menjalankan perulangan mencapai kondisi yang ditentukan, adapun format dan contohnya sebagai berikut:


Perulangan do while

Perulangan do while hampir mirip dengan while hanya saja pada perulangan do while akan menjalankan instruksi yang ada didalam statement do terlebih dahulu dan kemudian mengevaluasi kondisinya, jika kondisinya sudah terpenuhi maka setidaknya perulangan do while akan tetap menjalankan statement do sebanyak satu kali, adapun format dan contohnya sebagai berikut:


Itulah mengapa perulangan while maupun do while disebut sebagai uncounted loop dikarenakan perulangan while tidak memerlukan kondisi awal, selama nilai/ekspresi sesuai dengan kondisi pada while maka while menjalankan perulangan.

Infinite Loop

Suatu perulangan juga bisa berakibat buruk jika kondisi perulangan salah didefinisikan, karena pendefinisian perulangan tanpa kondisi yang tepat dapat membuat program melakukan perulangan tak terbatas (infinite loop) dan akibatnya dapat memberatkan kinerja komputer anda atau membuat browser anda menjadi not responding atau bahkan membuat komputer anda menjadi hang/crash sehingga perlu dimatikan secara paksa (jika harus), untuk menghindari infinite loop anda perlu memastikan bahwa kondisi yang anda buat tidak menyebabkan infinite loop atau sebagai alternatif, anda bisa juga membuat kode escape loop menggunakan Loop Control Statement seperti break ataupun continue, namun pembahasan mengenai Loop Control Statement akan dibahas pada artikel selanjutnya.

Konklusi:

Perulangan menjadi suatu cara yang dapat digunakan untuk mengulangi suatu proses yang dijalankan secara berulang dan berhenti sampai proses tersebut mendapati kondisi yang ditetapkan, namun anda perlu berhati-hati dalam membuat kondisi proses looping agar tidak terjadi perulangan tanpa henti (Infinite Loop) karena akibatnya dapat memberatkan kinerja komputer anda, untuk itu, setelah memahami basic syntax loop anda perlu mempelajari Loop Control Statement untuk mencegah infinite loop.
Bayu Radityo

Seorang lulusan teknik informatika yang senang dalam berbagi ilmu pengetahuan, dan membuat karya digital berupa photomanipulation dan digital drawing. instagram external-link

Posting Komentar

Lebih baru Lebih lama