Ketika belajar pemrograman, kita tidak hanya mengajarkan komputer untuk menyimpan data dan melakukan perhitungan. Kita juga perlu mengajarkan komputer bagaimana mengambil keputusan dan mengulangi pekerjaan. Dua konsep utama yang digunakan untuk tujuan tersebut adalah percabangan dan perulangan.
Percabangan membantu program memilih tindakan berdasarkan kondisi tertentu. Sementara itu, perulangan membantu program menjalankan instruksi yang sama beberapa kali. Kedua konsep ini membuat program menjadi lebih cerdas, terstruktur, dan mampu menangani berbagai situasi.
Dalam kehidupan sehari-hari, manusia menggunakan logika percabangan hampir setiap saat. Jika hujan, kita membawa payung. Jika saldo mencukupi, kita dapat melakukan pembelian. Jika nilai siswa memenuhi batas tertentu, siswa dinyatakan lulus.
Komputer membutuhkan aturan yang lebih jelas daripada manusia. Manusia dapat memahami konteks, tetapi komputer hanya menjalankan instruksi yang diberikan. Karena itu, setiap kondisi harus ditulis secara tepat agar program tidak menghasilkan keputusan yang salah.
Dalam Python, percabangan paling dasar menggunakan kata kunci if. Kata if berarti “jika”. Program akan menjalankan suatu instruksi hanya apabila kondisi yang diperiksa menghasilkan nilai True.
Sebagai contoh, kita dapat menulis if nilai >= 75: untuk memeriksa apakah nilai minimal 75. Jika kondisi tersebut benar, program dapat menampilkan pesan bahwa siswa lulus. Jika salah, bagian di dalam blok if tidak dijalankan.
Python menggunakan indentasi atau jarak masuk untuk menunjukkan kumpulan instruksi dalam satu blok. Baris yang berada di bawah if harus ditulis lebih menjorok ke kanan. Indentasi bukan sekadar hiasan, tetapi bagian penting dari aturan penulisan Python.
Selain if, Python memiliki else. Bagian else digunakan ketika kondisi pada if tidak terpenuhi. Dengan cara ini, program dapat menyediakan dua kemungkinan tindakan yang berbeda.
Misalnya, jika nilai siswa minimal 75, program menampilkan “Lulus”. Jika nilainya di bawah 75, program menampilkan “Belum Lulus”. Struktur seperti ini membantu program memberi respons yang sesuai terhadap data yang diterima.
Ketika terdapat lebih dari dua kemungkinan, kita dapat menggunakan elif. Kata elif merupakan singkatan dari “else if”. Bagian ini memungkinkan program memeriksa kondisi tambahan setelah kondisi sebelumnya tidak terpenuhi.
Contohnya, nilai 85 ke atas dapat diberi kategori “Sangat Baik”, nilai 75 sampai 84 diberi kategori “Baik”, dan nilai di bawah 75 diberi kategori “Perlu Belajar Lagi”. Program memeriksa kondisi dari atas ke bawah dan berhenti ketika menemukan kondisi yang benar.
Urutan kondisi sangat penting dalam percabangan. Kondisi yang lebih khusus biasanya ditempatkan sebelum kondisi yang lebih umum. Jika urutannya salah, program dapat menghasilkan kategori yang tidak sesuai.
Percabangan juga dapat menggunakan lebih dari satu kondisi. Operator and digunakan ketika semua kondisi harus benar. Operator or digunakan ketika cukup salah satu kondisi yang benar, sedangkan not digunakan untuk membalikkan nilai kondisi.
Misalnya, seorang siswa dinyatakan lulus jika nilainya minimal 75 dan kehadirannya minimal 80 persen. Kondisi tersebut dapat ditulis menggunakan and. Program baru memberikan hasil lulus apabila kedua persyaratan terpenuhi.
Percabangan dapat ditempatkan di dalam percabangan lain. Struktur ini disebut nested condition atau percabangan bersarang. Meskipun dapat digunakan, strukturnya harus dijaga agar tidak terlalu dalam dan sulit dibaca.
Dari sudut pandang praktisi, percabangan sebaiknya dibuat sesederhana mungkin. Kondisi yang terlalu panjang dapat dipisahkan ke dalam variabel dengan nama yang jelas. Cara ini membuat logika program lebih mudah diperiksa dan diperbaiki.
Jika percabangan mengajarkan komputer untuk memilih, perulangan mengajarkan komputer untuk mengulang. Tanpa perulangan, programmer harus menulis instruksi yang sama berkali-kali. Cara tersebut tidak efisien dan mudah menimbulkan kesalahan.
Bayangkan kita ingin menampilkan angka satu sampai sepuluh. Kita dapat menulis sepuluh perintah print(), tetapi itu bukan pendekatan yang baik. Dengan perulangan, satu blok instruksi dapat digunakan untuk menampilkan seluruh angka tersebut.
Python menyediakan dua bentuk perulangan utama, yaitu for dan while. Perulangan for biasanya digunakan ketika jumlah pengulangan sudah diketahui atau ketika kita ingin memproses setiap anggota dalam suatu kumpulan data.
Sebagai contoh, for angka in range(1, 6): digunakan untuk mengambil angka dari satu sampai lima. Pada setiap putaran, nilai variabel angka berubah. Instruksi di dalam blok kemudian dijalankan untuk setiap nilai tersebut.
Fungsi range() sering digunakan bersama perulangan for. Fungsi ini dapat menentukan nilai awal, nilai akhir, dan langkah perubahan. Perlu diingat bahwa nilai akhir pada range() tidak ikut dimasukkan.
Perulangan for juga dapat digunakan untuk membaca isi list. Jika terdapat daftar nilai siswa, program dapat memeriksa setiap nilai satu per satu. Cara ini sangat berguna dalam pengolahan data.
Sementara itu, perulangan while berjalan selama kondisi tertentu masih bernilai benar. Perulangan ini cocok digunakan ketika jumlah pengulangan belum diketahui sejak awal. Program berhenti ketika kondisi berubah menjadi salah.
Contohnya adalah program yang terus meminta kata sandi selama pengguna belum memasukkan jawaban yang benar. Setelah kata sandi sesuai, kondisi berubah dan perulangan berhenti. Struktur ini banyak digunakan dalam proses validasi.
Kesalahan yang sering terjadi pada while adalah infinite loop atau perulangan tanpa akhir. Hal ini terjadi ketika kondisi selalu benar dan tidak pernah berubah. Karena itu, variabel pengendali harus diperbarui di dalam perulangan.
Python menyediakan break untuk menghentikan perulangan lebih awal. Perintah ini digunakan ketika program telah menemukan hasil yang dibutuhkan. Misalnya, proses pencarian dapat dihentikan setelah data yang dicari ditemukan.
Ada pula continue, yang digunakan untuk melewati satu putaran dan melanjutkan ke putaran berikutnya. Contohnya, program dapat melewati data kosong tanpa menghentikan seluruh proses. Penggunaannya perlu jelas agar alur program tidak membingungkan.
Percabangan dan perulangan sering digunakan bersama. Dalam setiap putaran, program dapat memeriksa kondisi tertentu. Misalnya, program membaca daftar nilai, lalu menggunakan percabangan untuk menentukan apakah setiap nilai termasuk lulus atau belum lulus.
Kombinasi kedua konsep ini digunakan dalam banyak aplikasi nyata. Sistem dapat memeriksa transaksi satu per satu, menyaring komentar, menghitung stok, memvalidasi data, atau mengirim peringatan ketika suatu kondisi terpenuhi. Logika yang sederhana dapat berkembang menjadi solusi yang bermanfaat.
Pemula sebaiknya melatih percabangan dan perulangan melalui proyek kecil. Contohnya adalah program penilaian, daftar belanja, kalkulator diskon, permainan tebak angka, atau sistem login sederhana. Latihan semacam ini membantu memahami alur program secara nyata.
Pada akhirnya, percabangan mengajarkan komputer untuk memilih tindakan, sedangkan perulangan mengajarkan komputer untuk bekerja secara berulang. Dengan memahami if, elif, else, for, dan while, kita mulai membangun program yang mampu merespons kondisi dan memproses banyak data. Inilah salah satu fondasi utama dalam mengajarkan logika kepada komputer.