Membongkar Logika Perulangan dengan Trace Table
Counter vs Akumulator
Kalau kamu sering bingung bedain variabel di dalam kotak proses flowchart, mari kita bedah perbedaan mendasar antara variabel i dan a. Di dunia algoritma, nggak semua variabel punya tugas yang sama.
Dalam diagram, kita ketemu dengan dua perintah ini berurutan: i = i + 1 a = a + i
Perintah i = i + 1 bertindak sebagai penghitung langkah (counter). Dia mulai dari 0, lalu nilainya akan selalu naik secara konstan: 1, 2, 3, dan seterusnya. Tugasnya cuma satu: mencatat kita lagi ada di putaran ke berapa.
Sebaliknya, a = a + i adalah sebuah keranjang penampung (akumulator). Banyak yang terjebak mengira nilai a juga cuma nambah 1 tiap putaran ([diagnosa] miskonsepsi). Padahal, nilai penambahnya (i) itu makin lama makin besar. Artinya, nilai a yang lama akan dijumlahkan dengan nilai i yang sekarang.
Jika pada suatu putaran nilai `i` adalah 4 dan nilai `a` adalah 6, berapakah nilai `a` yang baru setelah melewati perintah `a = a + i`?
- A. 7
- B. 10
- C. 11
- D. 24
Jawaban: B. 10
Perintah `a = a + i` berarti nilai `a` lama (6) ditambah dengan nilai `i` saat ini (4). Jadi, 6 + 4 = 10.
Akumulator menambahkan nilai variabel lain yang bisa berubah-ubah, bukan sekadar ditambah 1.
Gerbang Tol Syarat (Condition)
Setelah tahu isi prosesnya, kita perlu tahu kapan proses itu boleh jalan. Di dalam flowchart, simbol belah ketupat (x > i) bertindak seperti sebuah gerbang tol syarat perulangan.
Karena dari soal diinputkan nilai $x = 3$, maka gerbangnya berbunyi: "Apakah 3 > i?"
Gerbang ini dievaluasi SEBELUM masuk ke proses. Saat nilai $i = 0, 1$, dan $2$, angka 3 memang lebih besar dari mereka. Jadi, gerbang terbuka dan putaran berjalan.
Tapi apa yang terjadi begitu nilai i mencapai 3? Pertanyaannya berubah jadi "Apakah 3 > 3?". Jawabannya tentu SALAH (karena 3 sama dengan 3, bukan lebih besar). Saat itulah perulangan berhenti seketika tanpa jalan "satu kali lagi".
Tentukan apakah pernyataan berikut Benar atau Salah terkait syarat `x > i` jika `x = 3`!
- Saat `i = 2`, perulangan akan tetap berjalan. — Benar
- Saat `i = 3`, perulangan akan dieksekusi satu kali lagi sebelum berhenti. — Salah
Saat `i = 2`, `3 > 2` bernilai Benar, jadi jalan. Tapi saat `i = 3`, `3 > 3` bernilai Salah, jadi langsung berhenti tanpa mengeksekusi putaran tersebut.
Syarat perulangan dievaluasi sebelum proses dijalankan; jika salah, algoritma langsung berhenti.
Senjata Utama: Trace Table
Biar nggak ada nilai yang kelewat, pendekatan yang paling ampuh adalah menggunakan tabel simulasi atau yang sering disebut Trace Table. Tabel ini bakal memaksa otak kita melihat algoritma persis seperti komputer melihatnya: baris demi baris, langkah demi langkah.
Mari kita buat tabelnya untuk melacak nilai i dan a di awal putaran.
Kondisi Awal (Sebelum masuk loop): $i = 0$, $a = 0$.
Putaran 1: Cek syarat: $3 > 0$ (BENAR). Masuk proses: $i$ menjadi $0 + 1 = 1$. Lalu $a$ menjadi $0 + 1 = 1$.
Putaran 2: Cek syarat: $3 > 1$ (BENAR). Masuk proses: $i$ menjadi $1 + 1 = 2$. Lalu $a$ menjadi $1 + 2 = 3$.
