I. Konsep Dasar: Variabel dan Tipe Data
A. Apa itu Variabel?
Variabel adalah tempat penyimpanan data dalam memori komputer yang memiliki nama dan dapat diisi dengan nilai. Bayangkan variabel seperti kotak penyimpanan yang memiliki label (nama variabel) dan bisa diisi dengan barang (nilai).
# Contoh deklarasi variabel nama_siswa = "Budi Santoso" umur = 15 tinggi_badan = 165.5 lulus = True
B. Tipe Data Fundamental
1. Integer (Bilangan Bulat)
Menyimpan bilangan bulat tanpa desimal
Contoh:
10,-5,0,1000
2. Float/Double (Bilangan Desimal)
Menyimpan bilangan pecahan
Contoh:
3.14,-2.5,0.0
3. String (Teks)
Menyimpan kumpulan karakter/teks
Ditulis dalam tanda kutip:
"Hello"atau'World'
4. Boolean (Logika)
Hanya memiliki dua nilai:
True(benar) atauFalse(salah)Digunakan untuk pengambilan keputusan
5. Char (Karakter)
Menyimpan satu karakter saja
Contoh:
'A','b','?'
C. Deklarasi dan Inisialisasi Variabel
# Deklarasi variabel dengan tipe data berbeda nama = "Ani" # String nilai_matematika = 85 # Integer rata_rata = 87.5 # Float aktif = True # Boolean
D. Konversi Tipe Data (Type Casting)
# Konversi antar tipe data angka_string = "100" angka_integer = int(angka_string) # Konversi string ke integer angka_float = 3.14 angka_bulat = int(angka_float) # Konversi float ke integer (3) nilai = 95 nilai_string = str(nilai) # Konversi integer ke string
II. Percabangan Sederhana (If-Else)
A. Konsep Percabangan
Percabangan adalah struktur kendali yang memungkinkan program mengambil keputusan berdasarkan kondisi tertentu. Analoginya seperti persimpangan jalan: jika lampu hijau, maju; jika merah, berhenti.
B. Struktur Dasar If-Else
1. Pernyataan If Tunggal
if kondisi: # pernyataan yang dieksekusi jika kondisi TRUE
2. Pernyataan If-Else
if kondisi: # pernyataan jika kondisi TRUE else: # pernyataan jika kondisi FALSE
3. Pernyataan If-Elif-Else (Multiple Conditions)
if kondisi1: # pernyataan jika kondisi1 TRUE elif kondisi2: # pernyataan jika kondisi2 TRUE else: # pernyataan jika semua kondisi FALSE
C. Operator Pembanding
Digunakan untuk membuat kondisi dalam percabangan:
| Operator | Makna | Contoh |
|---|---|---|
== | Sama dengan | x == 5 |
!= | Tidak sama dengan | x != 5 |
> | Lebih besar | x > 5 |
< | Lebih kecil | x < 5 |
>= | Lebih besar atau sama | x >= 5 |
<= | Lebih kecil atau sama | x <= 5 |
D. Operator Logika
Menggabungkan beberapa kondisi:
| Operator | Makna | Contoh |
|---|---|---|
and | Kedua kondisi harus benar | x > 5 and x < 10 |
or | Salah satu kondisi benar | x == 5 or x == 10 |
not | Membalikkan nilai kondisi | not(x == 5) |
III. Integrasi Konsep: Variabel + Percabangan
A. Studi Kasus 1: Sistem Penilaian Sederhana
# Program menentukan kelulusan siswa nama = input("Masukkan nama siswa: ") nilai = float(input("Masukkan nilai: ")) if nilai >= 75: print(f"Selamat {nama}, Anda LULUS dengan nilai {nilai}") else: print(f"Maaf {nama}, Anda TIDAK LULUS dengan nilai {nilai}")
B. Studi Kasus 2: Kategori Usia
# Program mengkategorikan usia nama = input("Masukkan nama: ") usia = int(input("Masukkan usia: ")) if usia < 0: print("Usia tidak valid!") elif usia < 13: kategori = "Anak-anak" elif usia < 20: kategori = "Remaja" elif usia < 60: kategori = "Dewasa" else: kategori = "Lansia" print(f"{nama} berusia {usia} tahun, termasuk kategori: {kategori}")
C. Studi Kasus 3: Kalkulator Diskon
# Program menghitung diskon berdasarkan total belanja total_belanja = float(input("Masukkan total belanja: Rp ")) if total_belanja > 1000000: diskon = 0.2 # 20% elif total_belanja > 500000: diskon = 0.1 # 10% else: diskon = 0 # 0% jumlah_diskon = total_belanja * diskon total_bayar = total_belanja - jumlah_diskon print(f"Total belanja: Rp {total_belanja:,.0f}") print(f"Diskon: {diskon*100}%") print(f"Potongan: Rp {jumlah_diskon:,.0f}") print(f"Total bayar: Rp {total_bayar:,.0f}")
IV. Best Practices & Tips
A. Penamaan Variabel yang Baik
Gunakan nama yang deskriptif:
nilai_matematikabukannmGunakan snake_case untuk Python:
nama_lengkapHindari nama yang terlalu pendek (kecuali i, j, x, y dalam loop)
B. Validasi Input
# Selalu validasi input pengguna try: umur = int(input("Masukkan umur: ")) if umur < 0 or umur > 150: print("Umur tidak valid!") except ValueError: print("Input harus berupa angka!")
C. Komentar dan Dokumentasi
# Program menentukan kategori BMI # Input: berat (kg) dan tinggi (m) # Output: kategori BMI berat = float(input("Berat (kg): ")) tinggi = float(input("Tinggi (m): ")) bmi = berat / (tinggi ** 2) # Rumus BMI if bmi < 18.5: kategori = "Kurus" elif bmi < 25: kategori = "Normal" elif bmi < 30: kategori = "Gemuk" else: kategori = "Obesitas" print(f"BMI: {bmi:.2f}") print(f"Kategori: {kategori}")
V. Tugas: Sistem Kasta Ninja (Naruto Themed)
Deskripsi Tugas:
Buatlah program untuk menentukan tingkatan/kasta ninja berdasarkan jumlah misi yang berhasil diselesaikan dan rata-rata penilaian misi. Program ini akan membantu Hokage dalam mengevaluasi ninja-ninja di Konoha.
Spesifikasi Program:
Program meminta input:
Nama ninja
Jumlah misi yang diselesaikan (integer)
Rata-rata penilaian misi (float, skala 0-100)
Aturan penentuan kasta:
GENIN: - Misi < 50 ATAU rata-rata < 60 CHUUNIN: - Misi >= 50 DAN rata-rata >= 60 - Misi < 100 ATAU rata-rata < 80 JONIN: - Misi >= 100 DAN rata-rata >= 80 - Misi < 200 ATAU rata-rata < 90 ANBU/KAGE: - Misi >= 200 DAN rata-rata >= 90
Output program harus menampilkan:
Nama ninja
Jumlah misi dan rata-rata penilaian
Kasta yang didapatkan
Pesan motivasi sesuai kasta
Contoh Output:
=== SISTEM PENENTUAN KASTA NINJA KONOHA === Masukkan nama ninja: Uzumaki Naruto Masukkan jumlah misi yang diselesaikan: 75 Masukkan rata-rata penilaian misi: 78.5 HASIL EVALUASI: Nama Ninja : Uzumaki Naruto Jumlah Misi : 75 Rata-rata : 78.5 Kasta Ninja : CHUUNIN Pesan Hokage : Kerja bagus, Naruto! Terus tingkatkan kemampuanmu!
Kriteria Penilaian:
Kreativitas (30%):
Desain interface/output yang menarik
Menambahkan fitur tambahan (misal: warna, ascii art)
Variasi pesan motivasi untuk setiap kasta
Kebenaran Logika (40%):
Percabangan if-elif-else bekerja dengan benar
Menggunakan operator logika (AND/OR) dengan tepat
Tidak ada bug dalam logika penentuan kasta
Implementasi Tipe Data (20%):
Menggunakan variabel dengan tipe data yang tepat
Konversi tipe data jika diperlukan
Penamaan variabel yang baik dan deskriptif
Komunikasi (10%):
Output jelas dan mudah dipahami
Pesan error untuk input tidak valid
Dokumentasi kode dengan komentar
Challenge (Opsional):
Tambahkan fitur:
Validasi input (angka positif, rentang nilai tertentu)
Simbol bintang sesuai kasta (★ untuk Genin, ★★ untuk Chuunin, dst)
Simpan riwayat evaluasi dalam file teks
Grafik atau visualisasi sederhana menggunakan karakter ASCII
VI. Panduan Penyelesaian Tugas
Langkah 1: Analisis Persyaratan
Identifikasi input yang dibutuhkan
Pahami aturan percabangan untuk setiap kasta
Rancang format output yang diinginkan
Langkah 2: Rancangan Algoritma
START
INPUT nama, jumlah_misi, rata_rata
IF jumlah_misi < 50 OR rata_rata < 60 THEN
kasta = "GENIN"
ELIF (jumlah_misi >= 50 AND rata_rata >= 60) AND
(jumlah_misi < 100 OR rata_rata < 80) THEN
kasta = "CHUUNIN"
ELIF (jumlah_misi >= 100 AND rata_rata >= 80) AND
(jumlah_misi < 200 OR rata_rata < 90) THEN
kasta = "JONIN"
ELSE
kasta = "ANBU/KAGE"
END IF
OUTPUT hasil evaluasi
ENDLangkah 3: Implementasi Kode
Mulailah dengan kerangka dasar, kemudian tambahkan percabangan bertahap.
Langkah 4: Testing
Uji dengan berbagai skenario:
Ninja dengan misi sedikit tapi nilai tinggi
Ninja dengan misi banyak tapi nilai rendah
Kasus-kasus batas (tepat di threshold)
Langkah 5: Enhancement
Tambahkan kreativitas setelah logika dasar berfungsi dengan benar.
VII. Referensi dan Sumber Belajar
Buku: "Python for Everybody" oleh Charles Severance
Website:
W3Schools Python Tutorial
Programiz Python Programming
Tools Praktik:
Replit (online compiler)
Python IDLE (offline)
Google Colab (notebook online)
Tidak ada komentar:
Posting Komentar