Dalam pemrograman komputer, perulangan takterhingga adalah serangkaian instruksi, yang sebagaimana ketika dituliskan, akan terus berjalan tanpa henti, kecuali terjadi intervensi dari luar, seperti mematikan daya melalui saklar atau mencabut steker secara sengaja. Perulangan takterhingga juga didefinisikan sebagai potongan kode yang tidak memiliki keluaran fungsional sehingga ia mengulang secara tak terbatas.[1][2]

Ringkasan

sunting

Perulangan takterhingga berbeda dengan "tipe program komputer yang menjalankan instruksi yang sama secara terus-menerus hingga dihentikan atau mengalami gangguan". [3] Pseudocode berikut menampilkan kode perulangan yang akan dijalankan secara terus-menerus hingga dihentikan atau terganggu.

berapa_banyak = 0
while ada_data_lain() do
    berapa_banyak = berapa_banyak + 1
end
display "jumlah butir yang dihitung = " berapa_banyak

Perintah while dalam kode tersebut mengartikan jika kondisi terpenuhi (ada_data_lain) maka perintah do akan dijalankan, dan perulangan akan terus berjalan selama kondisi terpenuhi (TRUE). Perulangan akan dihentikan jika terjadi pengembalian FALSE yang dilakukan fungsi ada_data_lainyang disebabkan kondisi tidak terpenuhi.

Dengan demikian, kode berikut menampilkan bahwa perulangan tidak berhenti dengan sendirinya.

burung = 1
ikan = 2
while burung + ikan > 1 do
    burung = 3 - burung
    ikan = 3 - ikan
end

Kode diatas menunjukkan bahwa nilai burung akan bergantian menjadi 1 atau 2, sementara nilai ikan akan bergantian menjadi 2 atau 1. Perulangan tidak akan berhenti kecuali ada intervensi eksternal (misal "menarik steker").

Detail

sunting

Perulangan takterhingga merupakan serangkaian instruksi dalam sebuah program komputer yang berulang tanpa henti, baik dikarenakan perulangan tersebut tidak memiliki kondisi penghentian,[4] memiliki satu kondisi yang tidak pernah terpenuhi, atau hal yang menyebabkan perulangan memulai kembali. Pada sistem operasi lama dengan tugas ganda kooperatif, perulangan tak terbatas biasanya menyebabkan seluruh sistem menjadi tidak responsif. Dengan model tugas ganda preemptive yang pada saat ini umum dipakai,[5] perulangan takterhingga biasanya menyebabkan program menghabiskan seluruh waktu pemrosesan yang tersedia, namun pada umumnya proses ini dapat diakhiri oleh pengguna. Perulangan busy waiting juga disebut sebagai perulangan takterhingga. Perulangan takterhingga adalah salah satu penyebab kemungkinan sebuah komputer mengalami macet, deraan, kebuntuan, dan pelanggaran akses.

Perulangan yang Dimaksudkan vs Perulangan yang Tidak Dimaksudkan

sunting

Perulangan adalah mengulangi serangkaian instruksi sampai kondisi tertentu terpenuhi.[6] Perulangan takterhingga terjadi ketika kondisi tersebut tidak akan pernah terpenuhi yang dikarenakan beberapa karakteristik inheren dari perulangan tersebut.

Perulangan yang Dimaksudkan

sunting

Perulangan yang dimaksudkan adalah perulangan yang terjadi di beberapa situasi yang mana perilaku ini diinginkan. Sebagai contoh, permainan pada konsol permainan berbasis cartridge, umumnya tidak memiliki kondisi berhenti dalam perulangan utamanya, sebab tidak ada sistem operasi tempat program keluar; perulangan akan berjalan terus hingga konsol dimatikan.

Komputer interaktif modern harus terus memantau masukan pengguna atau aktivitas perangkat, sehingga pada tingkat dasar terdapat perulangan idle takterhingga yang harus berlanjut hingga perangkat dimatikan atau dihidupkan kembali. Pada Komputer Panduan Apollo, misalnya, perulangan luar ini terdapat dalam program Exec,[7] dan ketika komputer tidak memiliki tugas lain yang harus dilakukan, perulangan akan menjalankan tugas palsu yang hanya mematikan lampu indikator "aktivitas komputer".

Komputer modern juga biasanya tidak menghentikan prosesor atau sirkuit penggerak papan induk saat mengalami crash. Sebaliknya, mereka kembali ke kondisi kesalahan dengan menampilkan pesan kepada operator (seperti layar biru kematian), dan memasuki perulangan tak terbatas yang menunggu tanggapan pengguna untuk melanjutkan, atau menghidupkan kembali perangkat.

Referensi

sunting
  1. ^ "Endless loop dictionary definition". Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)
  2. ^ "What is infinite loop (endless loop)". Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)
  3. ^ Caruso, Denise (August 16, 1999). "Overload of Hangers-On Creates Bumpy Ride for Internet Stocks". The New York Times. Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)
  4. ^ "Codes and Modes: The Character of Documentary Culture". Flow Journal. November 2014. Diakses tanggal 2024-03-28. sebuah loop tak terbatas adalah salah satu yang tidak memiliki...kondisi keluar. Pemeliharaan CS1: Status URL (link)
  5. ^ juga dikenal sebagai non-preemptive-multitasking: "Non-preemptive Multitasking". PC Magazine. Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)
  6. ^ "What is infinite loop (endless loop)". Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)
  7. ^ David Hoag (September 1976). "The History of Apollo On-board Guidance, Navigation, and Control" (PDF). Charles Stark Draper Laboratory. Diakses tanggal 28 Maret 2024. Pemeliharaan CS1: Status URL (link)

📚 Artikel Terkait di Wikipedia

Virus Goodtimes

Pesan-pesan selanjutnya menjadi lebih rumit. Versi yang paling umum—edisi "Infinite loop" dan "ASCII ''buffer''"—jauh lebih panjang, berisi deskripsi tentang

Apple Park

2017 saat pembangunan masih berlangsung, dan menggantikan fungsi Apple Infinite Loop sebagai kantor pusat perusahaan yang telah dibuka pada tahun 1993. Terdapat

NeXT

Confidential 2.0. No Starch Press. ISBN 1-59327-010-0. Malone, Michael (1999). Infinite Loop. Currency. ISBN 0-385-48684-7. Stross, Randall E. (1993). Steve Jobs

John Sculley

American English). ISSN 0362-4331. Diakses tanggal 2025-07-23. Malone, Infinite Loop, pg 412. John Sculley and John A. Byrne, Odyssey: Pepsi to Apple, ISBN

Konstruksi plus

(R)^{+}\right)\cong K_{n}(R)} Kobordisme semi-s Adams, J. Frank (1978), Infinite loop spaces, Princeton, N.J.: Princeton University Press, hlm. 82–95, ISBN 0-691-08206-5

Fork bomb

menjenuhkan proses table sistem operasi. dasar pengoperasian bom garpu adalah infinite loop yang berulang kali meluncurkan proses yang sama. Pada sistem operasi

Bumi Serpong Damai

Foresta Business Loft 1 - 7 Greenwich Business Park ICE Business Park Iconix Infinite Studio Loft Iconix Studio Loft NavaPark Business Suites North Point Navapark

Steve Jobs

2006. Cheng, Jacqui. "What happened to The Steve we know and love?". Infinite Loop. Ars Technica. Diakses tanggal August 8, 2006. Claburn, Thomas (August