Belajar kontrol alur Python: if-else, for/while loop, fungsi. Praktik dengan data nyata! Kuasai logika pemrograman untuk analisis data.

Keywords: kontrol alur python, if-else python, loop python, fungsi python, logika pemrograman
Dari Struktur Data ke Logika Program
Di Hari 3, kita telah menguasai struktur data Python (list, tuple, dictionary) yang memungkinkan kita menyimpan dan mengorganisir data secara efisien. Sekarang, kita perlu belajar bagaimana mengendalikan alur eksekusi program berdasarkan kondisi tertentu dan mengotomatisasi tugas berulang.
Bayangkan Anda memiliki daftar penjualan harian dan ingin mengetahui transaksi mana yang melebihi target. Atau Anda perlu memproses setiap baris dalam dataset ribuan pelanggan. Tanpa kontrol alur yang tepat, Anda harus menulis kode berulang-ulang secara manual – sesuatu yang sangat tidak efisien dan rentan error.
Logika adalah otak program. Kuasai if-else, loop, dan fungsi di Hari 4!
Setiap program yang powerful memiliki kemampuan membuat keputusan, mengulang tugas, dan mengorganisir kode menjadi blok-blok yang dapat digunakan kembali. Hari ini, kita akan mempelajari tiga konsep fundamental yang akan mengubah cara Anda berpikir tentang pemrograman: pernyataan kondisional (if-else), perulangan (loop), dan fungsi. Ini adalah “otak” di balik setiap analisis data otomatis yang akan Anda bangun di masa depan.
Pernyataan Kondisional: If-Else untuk Pengambilan Keputusan
Pernyataan if-else
memungkinkan program Anda membuat keputusan berdasarkan kondisi tertentu. Ini seperti percabangan di jalan – program akan mengambil jalur yang berbeda tergantung pada apakah kondisi terpenuhi atau tidak.
Sintaks Dasar If-Else
if kondisi:
# Kode yang dijalankan jika kondisi True
else:
# Kode yang dijalankan jika kondisi False
Contoh Implementasi
# Mengecek status kelulusan
nilai = 78
if nilai >= 75:
print("Selamat! Anda lulus.")
else:
print("Maaf, Anda belum lulus.")
If-Else Bertingkat
Untuk kondisi yang lebih kompleks, kita bisa menggunakan elif
(else if):
# Menentukan kategori nilai
nilai = 85
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
elif nilai >= 60:
print("D")
else:
print("E")
Operator Logika dalam Kondisi
Kita bisa menggabungkan beberapa kondisi menggunakan operator logika:
and
: Kedua kondisi harus Trueor
: Salah satu kondisi harus Truenot
: Membalikkan nilai boolean
# Mengecek kelayakan kredit
usia = 28
penghasilan = 8000000
riwayat_kredit = "baik"
if usia >= 21 and penghasilan >= 5000000 and riwayat_kredit == "baik":
print("Kredit disetujui")
else:
print("Kredit ditolak")
Perulangan (Loop): Mengotomatisasi Tugas Berulang
Loop memungkinkan kita mengeksekusi blok kode berulang kali tanpa menulis ulang kode tersebut. Python memiliki dua jenis loop utama: for
dan while
.
For Loop: Iterasi pada Urutan Tertentu
For loop digunakan ketika kita tahu berapa kali iterasi akan dilakukan, biasanya untuk mengiterasi elemen dalam koleksi data.
# Menghitung total penjualan
penjualan = [1200000, 3500000, 2800000, 4200000]
total = 0
for nilai in penjualan:
total += nilai
print(f"Total penjualan: Rp {total:,}")
While Loop: Iterasi Berdasarkan Kondisi
While loop terus mengeksekusi selama kondisi tertentu terpenuhi. Kita harus berhati-hati untuk menghindari infinite loop.
# Simulasi penghitung mundur
countdown = 5
while countdown > 0:
print(f"Hitung mundur: {countdown}")
countdown -= 1
print("Mulai!")
Loop dengan Break dan Continue
break
: Menghentikan loop secara prematurcontinue
: Melompati iterasi saat ini dan melanjutkan ke iterasi berikutnya
# Mencari produk tertentu dalam daftar
produk = ["Laptop", "Mouse", "Keyboard", "Monitor"]
cari = "Keyboard"
for item in produk:
if item == cari:
print(f"Ditemukan: {item}")
break
else:
print(f"Bukan {cari}, lanjut mencari...")
Nested Loop (Loop Bersarang)
Kita bisa menempatkan loop di dalam loop lain untuk struktur data yang lebih kompleks:
# Menampilkan tabel perkalian
for i in range(1, 6):
for j in range(1, 6):
print(f"{i*j:3}", end=" ")
print() # Baris baru
Fungsi: Memblok Kode untuk Digunakan Kembali
Fungsi adalah blok kode terorganisir yang dapat digunakan kembali untuk melakukan tugas tertentu. Mereka membantu kita:
- Menghindari pengulangan kode (DRY principle)
- Membuat kode lebih modular dan mudah dibaca
- Mempermudah pengujian dan debugging
Membuat dan Memanggil Fungsi
# Fungsi sederhana
def sapa():
print("Halo, selamat datang di dunia data!")
# Memanggil fungsi
sapa()
Fungsi dengan Parameter
Parameter memungkinkan kita memberikan input ke fungsi:
# Fungsi dengan parameter
def sapa_nama(nama):
print(f"Halo {nama}, selamat datang!")
# Memanggil dengan argumen
sapa_nama("Budi")
Fungsi dengan Return Value
Fungsi bisa mengembalikan nilai menggunakan kata kunci return
:
# Fungsi menghitung luas persegi
def luas_persegi(sisi):
return sisi * sisi
# Menggunakan nilai return
hasil = luas_persegi(5)
print(f"Luas persegi: {hasil}")
Fungsi dengan Parameter Default
Kita bisa memberikan nilai default untuk parameter:
# Fungsi dengan parameter default
def hitung_pajak(harga, rate=0.1):
return harga * rate
# Memanggil dengan dan tanpa parameter rate
pajak1 = hitung_pajak(1000000) # Menggunakan default rate 10%
pajak2 = hitung_pajak(1000000, 0.15) # Menggunakan rate 15%
print(f"Pajak 10%: Rp {pajak1:,}")
print(f"Pajak 15%: Rp {pajak2:,}")
Studi Kasus: Filter Data Penjualan di Atas Target
Mari kita terapkan semua konsep hari ini dalam skenario nyata: menganalisis data penjualan dan mengidentifikasi transaksi yang melebihi target.
Kasus: Sebuah perusahaan memiliki target penjualan minimum Rp 2.000.000 per transaksi. Kita perlu:
- Menampilkan semua transaksi di atas target
- Menghitung total nilai transaksi di atas target
- Menghitung persentase transaksi di atas target
# Data penjualan (dalam ribuan rupiah)
data_penjualan = [
{"tanggal": "2023-01-01", "nilai": 1500},
{"tanggal": "2023-01-02", "nilai": 3200},
{"tanggal": "2023-01-03", "nilai": 1800},
{"tanggal": "2023-01-04", "nilai": 4500},
{"tanggal": "2023-01-05", "nilai": 2100},
{"tanggal": "2023-01-06", "nilai": 900},
{"tanggal": "2023-01-07", "nilai": 3800}
]
target = 2000 # Target dalam ribuan rupiah
# Fungsi untuk filter transaksi di atas target
def filter_penjualan_di_atas_target(data, target):
hasil = []
for transaksi in data:
if transaksi["nilai"] > target:
hasil.append(transaksi)
return hasil
# Fungsi menghitung total nilai
def hitung_total(data):
total = 0
for transaksi in data:
total += transaksi["nilai"]
return total
# Memfilter transaksi di atas target
penjualan_di_atas_target = filter_penjualan_di_atas_target(data_penjualan, target)
# Menghitung total dan persentase
total_semua = hitung_total(data_penjualan)
total_di_atas_target = hitung_total(penjualan_di_atas_target)
persentase = (len(penjualan_di_atas_target) / len(data_penjualan)) * 100
# Menampilkan hasil
print("=== Transaksi di Atas Target ===")
for transaksi in penjualan_di_atas_target:
print(f"Tanggal: {transaksi['tanggal']}, Nilai: Rp {transaksi['nilai']:,}")
print(f"\nTotal semua transaksi: Rp {total_semua:,}")
print(f"Total transaksi di atas target: Rp {total_di_atas_target:,}")
print(f"Persentase transaksi di atas target: {persentase:.1f}%")
Output program ini akan menampilkan:
=== Transaksi di Atas Target ===
Tanggal: 2023-01-02, Nilai: Rp 3,200
Tanggal: 2023-01-04, Nilai: Rp 4,500
Tanggal: 2023-01-05, Nilai: Rp 2,100
Tanggal: 2023-01-07, Nilai: Rp 3,800
Total semua transaksi: Rp 17,800
Total transaksi di atas target: Rp 13,600
Persentase transaksi di atas target: 57.1%
Contoh Praktik: Fungsi Hitung Rata-Rata Nilai
Sekarang, mari kita buat fungsi yang lebih umum yang bisa Anda gunakan dalam berbagai skenario analisis data: fungsi untuk menghitung rata-rata nilai dalam sebuah list.
def hitung_rata_rata(data):
if len(data) == 0:
return 0 # Menghindari pembagian dengan nol
total = 0
for nilai in data:
total += nilai
return total / len(data)
# Contoh penggunaan
nilai_siswa = [85, 90, 78, 92, 88]
rata_rata = hitung_rata_rata(nilai_siswa)
print(f"Rata-rata nilai siswa: {rata_rata:.1f}")
# Contoh lain: rata-rata penjualan
penjualan = [1200000, 3500000, 2800000, 4200000]
rata_penjualan = hitung_rata_rata(penjualan)
print(f"Rata-rata penjualan: Rp {rata_penjualan:,.0f}")
Kesimpulan
Hari ini kita telah mempelajari tiga konsep fundamental yang menjadi tulang punggung pemrograman Python:
- If-Else: Membuat program Anda cerdas dengan kemampuan pengambilan keputusan berdasarkan kondisi
- Loop: Mengotomatisasi tugas berulang untuk memproses koleksi data secara efisien
- Fungsi: Membuat kode modular, dapat digunakan kembali, dan lebih mudah dikelola
Kontrol alur ini adalah alat penting yang akan Anda gunakan setiap hari sebagai data analyst. Dari filtering data sederhana hingga membangun pipeline analisis kompleks, semua bergantung pada pemahaman kuat akan konsep-konsep ini.
Dengan menguasai if-else, loop, dan fungsi, Anda sekarang memiliki kemampuan untuk:
- Menganalisis data secara kondisional
- Memproses dataset besar secara otomatis
- Membangun alat analisis yang dapat digunakan kembali
Buat fungsi hitung rata-rata nilai. Share kode Anda di kolom komentar! Coba variasi seperti menambahkan parameter untuk mengabaikan nilai terendah/tertinggi, atau menghitung median. Di Hari 5, kita akan melangkah ke dunia database dengan mempelajari dasar-dasar SQL – bahasa penting lainnya untuk data analyst. Tetap semangat belajar!
#Python #Logika #Pemula #PythonDasar #BelajarCoding #DataScience