Learn/ Tutorial Coding/ Python/ Fungsi, List & Dictionary
๐Ÿ 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.
โ† Tutorial 1: Sintaks Dasar Semua Tutorial Python โ†’