Kamis, 22 Januari 2026

Percabangan Sederhana dan Tipe Data dalam Pemrograman

 

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).

python
# 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-501000

2. Float/Double (Bilangan Desimal)

  • Menyimpan bilangan pecahan

  • Contoh: 3.14-2.50.0

3. String (Teks)

  • Menyimpan kumpulan karakter/teks

  • Ditulis dalam tanda kutip: "Hello" atau 'World'

4. Boolean (Logika)

  • Hanya memiliki dua nilai: True (benar) atau False (salah)

  • Digunakan untuk pengambilan keputusan

5. Char (Karakter)

  • Menyimpan satu karakter saja

  • Contoh: 'A''b''?'

C. Deklarasi dan Inisialisasi Variabel

python
# 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)

python
# 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

python
if kondisi:
    # pernyataan yang dieksekusi jika kondisi TRUE

2. Pernyataan If-Else

python
if kondisi:
    # pernyataan jika kondisi TRUE
else:
    # pernyataan jika kondisi FALSE

3. Pernyataan If-Elif-Else (Multiple Conditions)

python
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:

OperatorMaknaContoh
==Sama denganx == 5
!=Tidak sama denganx != 5
>Lebih besarx > 5
<Lebih kecilx < 5
>=Lebih besar atau samax >= 5
<=Lebih kecil atau samax <= 5

D. Operator Logika

Menggabungkan beberapa kondisi:

OperatorMaknaContoh
andKedua kondisi harus benarx > 5 and x < 10
orSalah satu kondisi benarx == 5 or x == 10
notMembalikkan nilai kondisinot(x == 5)

III. Integrasi Konsep: Variabel + Percabangan

A. Studi Kasus 1: Sistem Penilaian Sederhana

python
# 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

python
# 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

python
# 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_matematika bukan nm

  • Gunakan snake_case untuk Python: nama_lengkap

  • Hindari nama yang terlalu pendek (kecuali i, j, x, y dalam loop)

B. Validasi Input

python
# 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

python
# 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:

  1. Program meminta input:

    • Nama ninja

    • Jumlah misi yang diselesaikan (integer)

    • Rata-rata penilaian misi (float, skala 0-100)

  2. Aturan penentuan kasta:

    text
    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
  3. Output program harus menampilkan:

    • Nama ninja

    • Jumlah misi dan rata-rata penilaian

    • Kasta yang didapatkan

    • Pesan motivasi sesuai kasta

Contoh Output:

text
=== 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:

  1. Kreativitas (30%):

    • Desain interface/output yang menarik

    • Menambahkan fitur tambahan (misal: warna, ascii art)

    • Variasi pesan motivasi untuk setiap kasta

  2. Kebenaran Logika (40%):

    • Percabangan if-elif-else bekerja dengan benar

    • Menggunakan operator logika (AND/OR) dengan tepat

    • Tidak ada bug dalam logika penentuan kasta

  3. Implementasi Tipe Data (20%):

    • Menggunakan variabel dengan tipe data yang tepat

    • Konversi tipe data jika diperlukan

    • Penamaan variabel yang baik dan deskriptif

  4. Komunikasi (10%):

    • Output jelas dan mudah dipahami

    • Pesan error untuk input tidak valid

    • Dokumentasi kode dengan komentar

Challenge (Opsional):

Tambahkan fitur:

  1. Validasi input (angka positif, rentang nilai tertentu)

  2. Simbol bintang sesuai kasta (★ untuk Genin, ★★ untuk Chuunin, dst)

  3. Simpan riwayat evaluasi dalam file teks

  4. 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

text
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
END

Langkah 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

  1. Buku: "Python for Everybody" oleh Charles Severance

  2. Website:

    • W3Schools Python Tutorial

    • Programiz Python Programming

  3. Tools Praktik:

    • Replit (online compiler)

    • Python IDLE (offline)

    • Google Colab (notebook online)


Tidak ada komentar: