free page hit counter
19

Nested Loop Python: Cara Kerja dan Contoh Lengkap

Nested loop Python atau perulangan bersarang adalah teknik yang sering digunakan dalam pemrograman untuk mengulang proses di dalam proses lainnya.…

Nested loop Python atau perulangan bersarang adalah teknik yang sering digunakan dalam pemrograman untuk mengulang proses di dalam proses lainnya. Dengan menggunakan nested loop, kamu dapat mengelola data yang memiliki struktur kompleks seperti list dalam list, matriks, tabel, atau pola tertentu. Artikel ini akan membahas secara lengkap apa itu nested loop, cara kerjanya, contoh penggunaannya, serta tips menulis kode agar efisien dan mudah dibaca.

Apa Itu Nested Loop di Python?

Secara sederhana, nested loop berarti satu loop berada di dalam loop lainnya. Misalnya, kamu bisa menempatkan perulangan for di dalam perulangan for lain, atau menggunakan while di dalam for. Konsep ini sangat berguna untuk memproses data yang bersifat dua dimensi atau multidimensi.

Struktur umum nested loop di Python adalah sebagai berikut:

for i in range(n):
    for j in range(m):
        # blok kode yang akan dijalankan

Pada contoh di atas, loop luar (for i in range(n)) akan berjalan sebanyak n kali, dan setiap kali loop luar berjalan, loop dalam (for j in range(m)) akan berjalan sebanyak m kali.

Contoh Sederhana Nested Loop Python

Berikut contoh sederhana untuk menampilkan kombinasi angka menggunakan nested loop:

for i in range(3):
    for j in range(2):
        print(f"i = {i}, j = {j}")

Output:

i = 0, j = 0
i = 0, j = 1
i = 1, j = 0
i = 1, j = 1
i = 2, j = 0
i = 2, j = 1

Dari hasil di atas, terlihat bahwa setiap kali i berubah, seluruh nilai j akan diulang. Total iterasi adalah 3 x 2 = 6 kali.

Nested Loop Menggunakan While

Selain menggunakan for, nested loop juga dapat dibuat dengan while. Contohnya seperti berikut:

i = 0
while i < 3:
    j = 0
    while j < 2:
        print(f"i = {i}, j = {j}")
        j += 1
    i += 1

Hasilnya sama seperti contoh sebelumnya. Namun, kamu perlu hati-hati saat menggunakan while karena lupa menambah nilai variabel penghitung dapat menyebabkan infinite loop.

Contoh Kasus: Menampilkan Pola Bintang

Nested loop sering digunakan untuk membuat pola seperti segitiga atau persegi menggunakan simbol. Berikut contohnya:

rows = 5
for i in range(rows):
    for j in range(i + 1):
        print("*", end=" ")
    print()

Output:

* 
* * 
* * * 
* * * * 
* * * * * 

Pada contoh di atas, loop luar mengatur jumlah baris, sedangkan loop dalam menentukan jumlah bintang yang dicetak di setiap baris.

Contoh Kasus Lain: Menampilkan Matriks

Nested loop juga berguna untuk menampilkan atau memproses data berbentuk matriks (list dua dimensi).

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for item in row:
        print(item, end=" ")
    print()

Output:

1 2 3 
4 5 6 
7 8 9

Di sini, loop pertama (for row in matrix) mengambil setiap baris dalam list, sedangkan loop kedua (for item in row) mencetak setiap elemen di baris tersebut.

Nested Loop dengan Kondisi If

Kamu juga bisa menambahkan kondisi di dalam nested loop untuk menyaring data tertentu. Misalnya, hanya menampilkan angka genap dari kombinasi tertentu:

for i in range(5):
    for j in range(5):
        if (i + j) % 2 == 0:
            print(f"i = {i}, j = {j} -> Genap")

Output: hanya akan menampilkan kombinasi di mana penjumlahan i + j menghasilkan bilangan genap.

Efisiensi dalam Nested Loop

Walau nested loop sangat berguna, perlu diingat bahwa semakin banyak loop bersarang, semakin besar juga kompleksitas waktu (time complexity). Jika loop luar berjalan n kali dan loop dalam m kali, maka total iterasi adalah n x m.

Untuk data besar, nested loop bisa memperlambat kinerja program. Salah satu cara mengoptimalkannya adalah dengan menggunakan list comprehension atau fungsi bawaan Python seperti zip() dan enumerate() jika memungkinkan.

Contoh Optimasi dengan List Comprehension

result = [(i, j) for i in range(3) for j in range(2)]
print(result)

Output:

[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]

Cara ini lebih singkat dan efisien daripada menggunakan dua loop terpisah.

Kesimpulan

Nested loop Python adalah konsep penting dalam pemrograman yang memungkinkan kita memproses data kompleks secara terstruktur. Dari membuat pola sederhana hingga memproses matriks dan tabel, nested loop memberi fleksibilitas tinggi. Namun, penggunaannya perlu diperhatikan agar tidak membuat program berjalan lambat, terutama jika data sangat besar. Gunakan teknik optimasi seperti list comprehension bila memungkinkan untuk hasil yang lebih efisien.

Dengan memahami cara kerja nested loop, kamu dapat menulis kode Python yang lebih kuat, fleksibel, dan mudah disesuaikan untuk berbagai kebutuhan logika pemrograman.

rysasahrial@gmail.com

Leave a Reply

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