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)

HASIL AKHIR  PROGRAM Sistem Kasta Ninja (Naruto Themed)



4.1 Program untuk TJKT (Jaringan Komputer)

Program 1: Monitoring Bandwidth

python

print("=== SISTEM MONITORING BANDWIDTH ===")

bandwidth = float(input("Masukkan penggunaan bandwidth (Mbps): "))

 

if bandwidth > 150:

    print("🚨 STATUS: OVERLOAD!")

    print("Tindakan: Segera upgrade bandwidth")

elif bandwidth > 100:

    print("⚠️ STATUS: TINGGI")

    print("Tindakan: Monitor terus menerus")

elif bandwidth > 50:

    print(" STATUS: NORMAL")

    print("Tindakan: Operasi biasa")

else:

    print("📊 STATUS: RENDAH")

    print("Tindakan: Optimalisasi jaringan")

Program 2: Penentu Jenis Jaringan Berdasarkan Jarak

python

print("=== PENENTU JENIS JARINGAN ===")

jarak = float(input("Masukkan jarak (meter): "))

 

if jarak <= 100:

    print("Rekomendasi: Jaringan LAN (Local Area Network)")

    print("Teknologi: Ethernet, Wi-Fi")

elif jarak <= 5000:

    print("Rekomendasi: Jaringan MAN (Metropolitan Area Network)")

    print("Teknologi: Microwave, Fiber Optic")

else:

    print("Rekomendasi: Jaringan WAN (Wide Area Network)")

    print("Teknologi: Satellite, Leased Line")

4.2 Program untuk Tata Busana

Program 1: Penentu Ukuran Baju

python

print("=== SISTEM PENENTU UKURAN BAJU ===")

print("Silakan masukkan pengukuran tubuh:")

 

lingkar_dada = float(input("Lingkar dada (cm): "))

lingkar_pinggang = float(input("Lingkar pinggang (cm): "))

tinggi_badan = float(input("Tinggi badan (cm): "))

 

print("\n=== HASIL ANALISIS ===")

 

# Analisis berdasarkan lingkar dada

if lingkar_dada < 85:

    ukuran_dada = "XS"

elif lingkar_dada < 90:

    ukuran_dada = "S"

elif lingkar_dada < 100:

    ukuran_dada = "M"

elif lingkar_dada < 110:

    ukuran_dada = "L"

else:

    ukuran_dada = "XL"

 

# Analisis berdasarkan tinggi

if tinggi_badan < 155:

    kategori_tinggi = "Pendek"

elif tinggi_badan < 170:

    kategori_tinggi = "Sedang"

else:

    kategori_tinggi = "Tinggi"

 

print(f"Ukuran berdasarkan dada: {ukuran_dada}")

print(f"Kategori tinggi: {kategori_tinggi}")

print(f"\nSaran pola: Gunakan pola ukuran {ukuran_dada} dengan penyesuaian untuk {kategori_tinggi}")

Program 2: Kalkulator Kebutuhan Kain

python

print("=== KALKULATOR KEBUTUHAN KAIN ===")

jenis_pakaian = input("Jenis pakaian (Kemeja/Celana/Gaun): ").lower()

ukuran = input("Ukuran (S/M/L/XL): ").upper()

 

# Percabangan berdasarkan jenis pakaian

if jenis_pakaian == "kemeja":

    if ukuran == "S":

        kebutuhan_kain = 1.2

    elif ukuran == "M":

        kebutuhan_kain = 1.5

    elif ukuran == "L":

        kebutuhan_kain = 1.8

    else:  # XL

        kebutuhan_kain = 2.0

    satuan = "meter"

   

elif jenis_pakaian == "celana":

    if ukuran == "S":

        kebutuhan_kain = 1.0

    elif ukuran == "M":

        kebutuhan_kain = 1.2

    elif ukuran == "L":

        kebutuhan_kain = 1.5

    else:  # XL

        kebutuhan_kain = 1.8

    satuan = "meter"

   

elif jenis_pakaian == "gaun":

    if ukuran == "S":

        kebutuhan_kain = 2.5

    elif ukuran == "M":

        kebutuhan_kain = 3.0

    elif ukuran == "L":

        kebutuhan_kain = 3.5

    else:  # XL

        kebutuhan_kain = 4.0

    satuan = "meter"

else:

    kebutuhan_kain = 0

    satuan = ""

    print("Jenis pakaian tidak dikenali")

 

if kebutuhan_kain > 0:

    print(f"\nKebutuhan kain untuk {jenis_pakaian} ukuran {ukuran}:")

    print(f"➡️ {kebutuhan_kain} {satuan}")

    print(f"➡️ Tambahkan 0.5 {satuan} untuk kelonggaran")

4.3 Program untuk Otomotif Sepeda Motor

Program 1: Sistem Diagnosa Mesin

python

print("=== SISTEM DIAGNOSA MESIN MOTOR ===")

print("Silakan masukkan parameter kendaraan:")

 

suhu_mesin = float(input("Suhu mesin (°C): "))

tekanan_oli = float(input("Tekanan oli (bar): "))

tegangan_aki = float(input("Tegangan aki (volt): "))

 

print("\n=== HASIL DIAGNOSA ===")

 

# Analisis suhu mesin

if suhu_mesin > 110:

    status_suhu = "🚨 KRITIS - Segera matikan mesin!"

elif suhu_mesin > 95:

    status_suhu = "⚠️ TINGGI - Periksa sistem pendingin"

elif suhu_mesin > 80:

    status_suhu = " NORMAL"

else:

    status_suhu = "❄️ RENDAH - Mesin belum mencapai suhu optimal"

 

# Analisis tekanan oli

if tekanan_oli > 4.0:

    status_oli = "⚠️ Terlalu tinggi - Periksa filter"

elif tekanan_oli >= 2.5:

    status_oli = " Normal"

else:

    status_oli = "🚨 Terlalu rendah - Tambah oli segera!"

 

# Analisis tegangan aki

if tegangan_aki > 13.5:

    status_aki = " Terlalu tinggi - Periksa regulator"

elif tegangan_aki >= 12.5:

    status_aki = " Normal"

else:

    status_aki = "🔋 Rendah - Charge atau ganti aki"

 

print(f"1. Suhu Mesin: {status_suhu}")

print(f"2. Tekanan Oli: {status_oli}")

print(f"3. Tegangan Aki: {status_aki}")

 

# Rekomendasi keseluruhan

if "KRITIS" in status_suhu or "rendah" in status_oli or "Rendah" in status_aki:

    print("\n🚨 REKOMENDASI: Bawa ke bengkel segera!")

else:

    print("\n REKOMENDASI: Kendaraan dalam kondisi baik")

Program 2: Kalkulator Servis Berkala

python

print("=== KALKULATOR JADWAL SERVIS ===")

km_terakhir = float(input("KM servis terakhir: "))

km_sekarang = float(input("KM saat ini: "))

jenis_motor = input("Jenis motor (Bebek/Sport/Matic): ").lower()

 

# Hitung selisih KM

selisih_km = km_sekarang - km_terakhir

 

print(f"\nSelisih KM sejak servis terakhir: {selisih_km} km")

 

# Rekomendasi berdasarkan jenis motor

if jenis_motor == "bebek":

    interval_servis = 2000

elif jenis_motor == "sport":

    interval_servis = 2500

elif jenis_motor == "matic":

    interval_servis = 3000

else:

    interval_servis = 2500

    print("Jenis motor tidak spesifik, menggunakan interval standar")

 

# Tentukan kebutuhan servis

if selisih_km >= interval_servis:

    print(f"\n🚨 PERINGATAN!")

    print(f"Sudah {selisih_km} km sejak servis terakhir")

    print(f"Interval servis {jenis_motor}: {interval_servis} km")

    print("➡️ Lakukan servis segera!")

   

    # Tentukan jenis servis berdasarkan KM

    if selisih_km >= interval_servis * 2:

        print("Jenis servis: SERVIS BESAR")

        print("Termasuk: Ganti oli, filter, tune-up, periksa rem")

    else:

        print("Jenis servis: SERVIS RINGAN")

        print("Termasuk: Ganti oli dan pemeriksaan umum")

       

else:

    km_menuju_servis = interval_servis - selisih_km

    print(f"\n Kendaraan masih dalam interval servis")

    print(f"Servis berikutnya dalam: {km_menuju_servis} km")

    print(f"Perkiraan: {km_menuju_servis/50:.0f} hari lagi (asumsi 50 km/hari)")