๐ Python ยท Tutorial 2
Python: Fungsi, List & Dictionary
Sudah tahu dasar Python? Sekarang naik level dengan fungsi (kode yang bisa dipakai ulang), list (kumpulan data terurut), dan dictionary (pasangan kunci-nilai). Diakhiri dengan proyek kalkulator nilai!
1. Fungsi โ Kode yang Bisa Dipakai Ulang
Fungsi adalah blok kode yang diberi nama dan bisa dipanggil kapan saja. Prinsipnya: tulis sekali, pakai berkali-kali.
# Definisi fungsi dengan def
def sapa(nama):
print(f"Halo, {nama}! Selamat belajar Python ๐")
# Panggil fungsi
sapa("Budi") # Halo, Budi! Selamat belajar Python ๐
sapa("Siti") # Halo, Siti! Selamat belajar Python ๐
# Fungsi dengan return (mengembalikan nilai)
def hitung_luas(panjang, lebar):
luas = panjang * lebar
return luas
hasil = hitung_luas(5, 3)
print(f"Luas: {hasil} cmยฒ") # Luas: 15 cmยฒ
# Parameter default
def beri_salam(nama, waktu="pagi"):
print(f"Selamat {waktu}, {nama}!")
beri_salam("Rina") # Selamat pagi, Rina!
beri_salam("Rina", "malam") # Selamat malam, Rina!
2. List โ Kumpulan Data Terurut
List adalah wadah untuk menyimpan banyak nilai sekaligus, dalam urutan tertentu. Seperti daftar belanja!
# Buat list
nilai_siswa = [85, 72, 90, 68, 95]
buah = ["apel", "mangga", "jeruk"]
# Akses item (index mulai dari 0)
print(nilai_siswa[0]) # 85 (pertama)
print(nilai_siswa[-1]) # 95 (terakhir)
# Slicing (ambil sebagian)
print(nilai_siswa[1:4]) # [72, 90, 68]
# Metode list yang berguna
nilai_siswa.append(88) # tambah di akhir
nilai_siswa.insert(0, 100) # sisipkan di index 0
nilai_siswa.remove(68) # hapus nilai 68
nilai_siswa.sort() # urutkan
print(len(nilai_siswa)) # jumlah item
print(sum(nilai_siswa)) # total
print(max(nilai_siswa)) # nilai tertinggi
# Loop dengan list
for nilai in nilai_siswa:
status = "Lulus" if nilai >= 75 else "Remedial"
print(f"Nilai {nilai}: {status}")
3. Dictionary โ Pasangan Kunci:Nilai
Dictionary menyimpan data dalam bentuk kunci: nilai. Cocok untuk menyimpan data terstruktur seperti profil siswa.
# Buat dictionary
siswa = {
"nama": "Budi Santoso",
"kelas": "8A",
"nilai": 88,
"lulus": True
}
# Akses nilai
print(siswa["nama"]) # Budi Santoso
print(siswa.get("kelas")) # 8A (lebih aman, tidak error jika key tidak ada)
# Tambah / ubah
siswa["alamat"] = "Lamongan" # tambah key baru
siswa["nilai"] = 92 # ubah nilai
# Loop dictionary
for kunci, nilai in siswa.items():
print(f"{kunci}: {nilai}")
# List berisi dictionary (pola umum untuk data siswa)
daftar_siswa = [
{"nama": "Budi", "nilai": 88},
{"nama": "Siti", "nilai": 92},
{"nama": "Andi", "nilai": 65},
]
4. ๐๏ธ Mini Proyek: Kalkulator Nilai Kelas
Buat program yang menghitung rata-rata, nilai tertinggi, terendah, dan status lulus kelas:
def analisis_nilai(daftar_nilai):
rata_rata = sum(daftar_nilai) / len(daftar_nilai)
tertinggi = max(daftar_nilai)
terendah = min(daftar_nilai)
lulus = [n for n in daftar_nilai if n >= 75]
print("=== LAPORAN NILAI KELAS ===")
print(f"Jumlah siswa : {len(daftar_nilai)}")
print(f"Rata-rata : {rata_rata:.1f}")
print(f"Tertinggi : {tertinggi}")
print(f"Terendah : {terendah}")
print(f"Lulus : {len(lulus)} siswa")
print(f"Remedial : {len(daftar_nilai) - len(lulus)} siswa")
# Input nilai dari user
nilai_kelas = []
while True:
inp = input("Masukkan nilai (atau 'selesai'): ")
if inp == "selesai":
break
nilai_kelas.append(int(inp))
analisis_nilai(nilai_kelas)
๐ Coba sekarang! Paste kode di Replit atau Google Colab dan jalankan langsung.