Latihan: Counter / Sum List
Latihan ini bertujuan untuk melatih penggunaan for loop, iterable, variabel counter, dan augmented assignment untuk melakukan proses akumulasi nilai.
Pada latihan ini, kita akan membuat program yang menjumlahkan seluruh angka yang terdapat di dalam sebuah list.
Tujuan Latihan
Setelah menyelesaikan latihan ini, Anda diharapkan memahami:
- Cara melakukan iterasi terhadap list menggunakan
for loop. - Cara menggunakan variabel sebagai counter atau accumulator.
- Cara menjumlahkan nilai secara bertahap.
- Pentingnya posisi variabel sebelum dan di dalam loop.
- Pentingnya indentasi dalam Python.
Studi Kasus
Diberikan sebuah list yang berisi angka dari 1 sampai 10:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Tugas kita adalah menghitung jumlah seluruh angka tersebut.
Secara matematis:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Program harus menghasilkan:
55
Langkah 1: Membuat List
Pertama, buat list yang berisi angka:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
List tersebut akan menjadi iterable yang diproses oleh for loop.
Langkah 2: Membuat Counter
Buat variabel counter sebelum perulangan dimulai:
counter = 0
Nilai awal 0 digunakan karena belum ada angka yang dijumlahkan.
Variabel counter akan menyimpan hasil penjumlahan sementara selama proses perulangan.
Langkah 3: Melakukan Perulangan
Gunakan for loop untuk mengambil setiap angka dari list:
for item in my_list:
counter = counter + item
Pada setiap iterasi, nilai item ditambahkan ke counter.
Prosesnya:
counter = 0
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15
15 + 6 = 21
21 + 7 = 28
28 + 8 = 36
36 + 9 = 45
45 + 10 = 55
Setelah seluruh elemen selesai diproses, nilai counter adalah 55.
Menggunakan Augmented Assignment
Operasi:
counter = counter + item
dapat ditulis lebih singkat menggunakan augmented assignment:
counter += item
Sehingga kode perulangan menjadi:
for item in my_list:
counter += item
Kedua bentuk tersebut memiliki tujuan yang sama.
Solusi Lengkap
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
counter = 0
for item in my_list:
counter += item
print(counter)
Output:
55
Penting: Posisi Counter
Variabel counter harus dibuat sebelum atau di luar loop.
counter = 0
for item in my_list:
counter += item
Hal ini penting karena counter harus mempertahankan hasil penjumlahan dari iterasi sebelumnya.
Contoh yang Salah
for item in my_list:
counter = 0
counter += item
Pada kode tersebut, counter selalu diatur kembali menjadi 0 setiap kali loop berjalan.
Akibatnya, proses akumulasi tidak berjalan dengan benar.
Penting: Posisi print()
Jika tujuan program adalah menampilkan hasil akhir, print() harus berada di luar loop.
for item in my_list:
counter += item
print(counter)
Perhatikan indentasinya.
Jika print() berada di dalam loop
counter = 0
for item in my_list:
counter += item
print(counter)
Output akan menjadi:
1
3
6
10
15
21
28
36
45
55
Program tersebut tidak salah. Namun, print() sekarang menampilkan nilai counter pada setiap iterasi.
Jika hanya membutuhkan hasil akhir, letakkan print() setelah loop.
Tantangan
Cobalah ubah list menjadi:
my_list = [10, 20, 30, 40, 50]
Kemudian gunakan konsep yang sama untuk menghitung jumlah seluruh elemen.
Hasil yang diharapkan:
150
Ringkasan
Pada latihan ini kita menggunakan pola dasar accumulator:
counter = 0
for item in my_list:
counter += item
Poin penting yang perlu diingat:
- List merupakan iterable yang dapat diproses menggunakan
for loop. counterdigunakan untuk menyimpan hasil akumulasi.counterharus diinisialisasi sebelum loop.counter += itemdigunakan untuk menambahkan setiap elemen ke hasil sebelumnya.print()di luar loop digunakan untuk menampilkan hasil akhir.- Indentasi menentukan apakah sebuah kode berada di dalam atau di luar
for loop.