Skip to main content

Loop

Loop adalah suatu proses dalam program yang dapat mengeksekusi suatu blok program secara berulang-ulang yang dibatasi oleh kondisi tertentu. Salah satu keandalan komputer yaitu dapat melakukan pekerjaan yang repetitif secara akurat dan tanpa rasa lelah.

Kali ini, saya akan menjelaskan 2 struktur loop dalam Java dan Python, yaitu for dan while. Berikut ini bentuk umum struktur for dalam bahasa Java dan Python:





Pada Java, blok inisialisasi adalah pemberian nilai awal pada variable indeks, biasanya dinamai 'i'. Di sebelah kanan blok inisialisasi adalah kondisi yang bisa membuat blok loop berjalan. Misalnya jika nilai indeks masih kurang dari 5, maka blok akan tetap dieksekusi. Jika sudah sama dengan lima maka blok tidak akan dieksekusi lagi. Yang terakhir ada blok increment/decrement. Blok ini lah yang bertanggung jawab dalam menaikkan atau menurunkan nilai indeks di akhir setiap iterasi. Berikut ini contoh sederhana for di Java yang mem-print teks "Hello world!" sebanyak 10 kali.





Jika misalnya kondisi (blok kedua) selalu salah, maka blok loop tidak akan pernah dieksekusi. Contoh di bawah ini tidak akan pernah tereksekusi karena nilai i selalu dibawah 10. Berikut adalah contohnya.





Di Python tetap ada struktur for mirip seperti di Java. Hanya saja, struktur for di sini tidak ada blok kondisi dan increment/decrement. Prinsip kerja for di Python adalah contohnya pada fungsi 'range(10)' maka akan otomatis menghasilkan angka dari 0 sampai dengan 9 (10 tidak ikut karena bersifat eksklusif). Nilai indeks yang diberikan mulai dari 0 sampai dengan 9 sesuai dengan angka yang diberikan oleh fungsi range. Berikut adalah contohnya.



Dan inilah hasilnya.



Ada satu lagi struktur loop di Java dan Python, yaitu struktur while. Jika pada struktur for ada 3 blok yaitu inisialisasi, kondisi, dan increment/decrement, pada struktur while hanya ada 1 blok yaitu kondisi. Berikut ini bentuk umum struktur while.





Berikut ini contoh kasus penggunaan struktur while.





Pada contoh di atas, struktur while akan terus menerus berjalan hingga kode yang ada di dalam loop tersebut memanggil statement 'break'. Pertama-tama, kode akan mengeksekusi dan masuk ke struktur loop. Selanjutnya, program akan meminta input angka dari user. Ketika input dari user bukan nol, maka struktur loop akan diulang lagi dari langkah pertama. Jika program mendapat input nol, maka statement break akan dipanggil dan eksekusi program akan keluar dari struktur loop.

Jadi, dalam struktur switch, kita bisa bebas mengontrol kapan kita bisa berhenti melakukan iterasi di dalam struktur loop, berbeda dengan struktur for yang mengharuskan kita untuk mendefinisikan batas atas/bawah untuk mengakhiri eksekusi loop. Semoga artikel kali ini bisa dipahami. Sekian

Comments

Popular posts from this blog

Process Explorer

Process Explorer merupakan suatu program yang digunakan untuk melakukan manajemen proses yang berjalan pada sistem operasi Windows. Program ini dibuat oleh Mark Russinovich dan saat ini dimaintain oleh Sysinternals (produk dari Microsoft). Sebenarnya pada sistem operasi Windows sudah ada program manajemen proses yang sudah kita semua tahu yaitu Task Manager. Meskipun begitu, Process Explorer menyediakan fitur-fitur yang jauh lebih lengkap lagi dari pada Task Manager bawaan Windows. Program ini bisa didownload melalui link ini . Ukurannya hanya sebesar 2.5 MB. Untuk instalasi tidak perlu repot-repot karena program ini bersifat portable alias tidak perlu proses instalasi. Cukup ekstrak zip yang sudah didownload dari link di atas ke dalam folder di komputer anda. Lokasi folder bisa bebas di mana saja. Setelah diekstrak maka kita akan mendapati beberapa file berikut. Sebelum menjalankan Process Explorer, anda perlu tahu jenis bit dari sistem operasi Windows yang anda saat ini gunakan. Jika...

Mengatasi Deadlock

Deadlock merupakan kodisi di mana beberapa proses meminta resource yang sedang digunakan oleh proses lain sedangkan proses yang sedang menggunakan resource yang diminta tersebut juga sedang menunggu proses lain yang sedang menggunakan resource yang juga diperlukan oleh proses itu. Setiap resource yang diminta hanya bisa diakses oleh satu proses dalam satu waktu. Misalnya program A ingin menggunakan resource 1 yang sedang digunakan oleh program B namun program B juga ingin menggunakan resource 2 yang sedang dipegang oleh program A. Program A dan B sama-sama menunggu untuk menggunakan resource yang diperlukan sehingga terjadi deadlock karena tidak ada yang bisa melakukan tugasnya. Berikut ini merupakan beberapa solusi yang digunakan untuk mengatasi deadlock yang terjadi pada suatu sistem. Ostrich Algorithm Disebut ostrich (burung unta) karena sebenarnya algoritma ini hanya mengabaikan kondisi deadlock yang terjadi. Burung unta jika ada badai maka akan memasukkan kepalanya ke dalam pasir/...

Masalah Klasik Sinkronisasi

 Pada posting kali ini, saya akan membahas mengenai masalah-masalah klasik terkait dengan sinkronisasi yaitu Bounded Buffer Problem, Readers and Writers Problem, dan Dining Philosophers Problem. Readers/Writers dan Bounded Buffer Problem Misalnya suatu program memiliki tugas untuk menerima memproduksi (producing) suatu nilai dan melakukan konsumsi/proses (consuming) terhadap suatu nilai yang sudah diproduksi. Proses produksi dan konsumsi dilakukan secara terus menerus dan paralel. Untuk menampung data hasil produksi maka dibuat suatu array yang disebut buffer dengan ukuran tertentu. Dalam kasus ini kita buat ukurannya 5. Untuk mengetahui berapa banyak nilai yang sudah terisi maka dibuat variabel counter. Berikut ini adalah contoh kode pada bahasa C#. Pertama ada fungsi Produce. Fungsi ini tugasnya adalah untuk membuat angka acak lalu menambahkan angka acak tersebut ke buffer. Setelah itu menaikkan nilai counter. Pada fungsi Consume tugasnya adalah mengambil nilai terakhir yang ada ...