Kamis, 29 Januari 2026

Percabangan Majemuk & Perulangan dalam Pemrograman

 A. Konsep Dasar Percabangan Majemuk

1. Pengertian Percabangan Majemuk

Percabangan majemuk adalah struktur kontrol yang memungkinkan program membuat keputusan berdasarkan beberapa kondisi sekaligus. Berbeda dengan percabangan sederhana (if-else) yang hanya mempertimbangkan dua kemungkinan, percabangan majemuk dapat menangani banyak skenario.

2. Bentuk-bentuk Percabangan Majemuk

a. If-Else Bertingkat (Nested If)

python
if kondisi1:
# kode jika kondisi1 benar
elif kondisi2:
# kode jika kondisi2 benar
elif kondisi3:
# kode jika kondisi3 benar
else:
# kode jika semua kondisi salah

b. Percabangan dengan Operator Logika

python
if kondisi1 and kondisi2:
# kode jika kondisi1 DAN kondisi2 benar
if kondisi1 or kondisi2:
# kode jika kondisi1 ATAU kondisi2 benar

3. Contoh Implementasi

python
# Contoh penentuan grade nilai
nilai = 85

if nilai >= 90:
grade = "A"
elif nilai >= 80:
grade = "B"
elif nilai >= 70:
grade = "C"
elif nilai >= 60:
grade = "D"
else:
grade = "E"

B. Konsep Dasar Perulangan (Loop)

1. Pengertian Perulangan

Perulangan adalah struktur kontrol yang mengulang eksekusi blok kode selama kondisi tertentu terpenuhi.

2. Jenis-jenis Perulangan

a. For Loop (Perulangan Terhitung)

python
for i in range(5): # mengulang 5 kali
print(f"Perulangan ke-{i+1}")

b. While Loop (Perulangan Bersyarat)

python
counter = 0
while counter < 5:
print(f"Counter: {counter}")
counter += 1

3. Kontrol Perulangan

  • break: Menghentikan perulangan

  • continue: Melompat ke iterasi berikutnya

  • else dalam loop: Dieksekusi ketika loop selesai secara normal

C. Integrasi Percabangan dan Perulangan

Contoh Program Terintegrasi

python
# Program menghitung rata-rata dengan validasi
jumlah_data = 0
total = 0

while True:
nilai = float(input("Masukkan nilai (-1 untuk berhenti): "))
if nilai == -1:
break
elif nilai < 0 or nilai > 100:
print("Nilai tidak valid! Masukkan nilai 0-100")
continue
total += nilai
jumlah_data += 1

if jumlah_data > 0:
rata_rata = total / jumlah_data
print(f"Rata-rata: {rata_rata:.2f}")
else:
print("Tidak ada data yang dimasukkan")

TUGAS: MINI PROYEK KREATIF BERBASIS JURUSAN

PETUNJUM UMUM

  1. Buat program menggunakan Python yang mengintegrasikan percabangan majemuk dan perulangan

  2. Program harus relevan dengan jurusan masing-masing

  3. Tambahkan kreativitas dalam antarmuka dan fitur

  4. Presentasikan program di depan kelas dengan menjelaskan algoritmanya


TUGAS SPESIFIK JURUSAN

1. UNTUK JURUSAN TJKT (Teknik Jaringan Komputer dan Telekomunikasi)

Judul: "Network Configuration Assistant"

Deskripsi Tugas:
Buat program yang membantu konfigurasi jaringan dasar dengan validasi input dan simulasi testing.

Spesifikasi Program:

python
"""
Fitur Wajib:
1. Menu utama dengan percabangan majemuk
2. Validasi IP Address menggunakan perulangan dan percabangan
3. Simulasi ping test dengan loop
4. Rekomendasi konfigurasi berdasarkan kelas IP
5. Log aktivitas konfigurasi
"""

# Contoh struktur
def validasi_ip(ip):
# Implementasi validasi segmen IP 0-255
pass

def subnet_calculator():
# Hitung subnet berdasarkan kelas IP
pass

def ping_simulasi(ip):
# Simulasi ping dengan hasil random
pass

Kriteria Penilaian:

  • Kompleksitas validasi IP (30%)

  • Akurasi perhitungan subnet (30%)

  • Kreativitas antarmuka (20%)

  • Dokumentasi kode (20%)

HASIL PROGRAM YANG DIHARAPKAN


2. UNTUK JURUSAN TATA BUSANA

Judul: "Fabric Calculator & Pattern Assistant"

Deskripsi Tugas:
Buat program untuk menghitung kebutuhan bahan dan memberikan rekomendasi pola berdasarkan jenis busana.

Spesifikasi Program:

python
"""
Fitur Wajib:
1. Kalkulator kebutuhan kain dengan berbagai jenis bahan
2. Rekomendasi pola berdasarkan tipe tubuh (percabangan majemuk)
3. Perhitungan biaya dengan diskon bertingkat
4. Simulasi percetakan pola dengan perulangan
5. Katalog bahan dengan filter
"""

# Contoh struktur
def hitung_kebutuhan(panjang, lebar, jenis_bahan):
# Hitung kebutuhan kain dengan waste factor
pass

def rekomendasi_pola(tinggi, berat, bentuk_tubuh):
# Berikan rekomendasi pola sesuai karakteristik
pass

def simulasi_pola(jumlah_layer):
# Tampilkan simulasi pola berlapis
pass

Data Referensi:

  • Waste factor: Katun (15%), Sutra (20%), Denim (10%)

  • Harga/meter: Katun (Rp 50.000), Sutra (Rp 150.000), Denim (Rp 75.000)

  • Diskon: >10m (5%), >20m (10%), >50m (15%)

Kriteria Penilaian:

  • Akurasi perhitungan (30%)

  • Relevansi rekomendasi (30%)

  • Visualisasi output (20%)

  • Kelengkapan fitur (20%)

HASIL PROGRAM YANG DIHARAPKAN


3. UNTUK JURUSAN OTOMOTIF SEPEDA MOTOR

Judul: "Motorcycle Maintenance Simulator"

Deskripsi Tugas:
Buat program simulasi perawatan sepeda motor dengan sistem diagnosa dan jadwal perawatan.

Spesifikasi Program:

python
"""
Fitur Wajib:
1. Sistem diagnosa kerusakan dengan pohon keputusan (percabangan majemuk)
2. Jadwal perawatan berkala dengan reminder
3. Kalkulator biaya servis dengan komponen dinamis
4. Simulasi uji performa dengan perulangan
5. History perawatan
"""

# Contoh struktur
def diagnosa_mesin(gejala):
# Pohon keputusan untuk identifikasi masalah
pass

def jadwal_servis(km_terakhir, tipe_motor):
# Generate jadwal servis berikutnya
pass

def simulasi_test(kecepatan, durasi):
# Simulasi uji ketahanan
pass

Data Teknis:

  • Interval servis: Bebek (2000 km), Sport (1500 km), Matic (2500 km)

  • Komponen servis: Oli, Filter, Busi, Kampas Rem

  • Harga: Variasikan berdasarkan jenis motor

Kriteria Penilaian:

  • Kedalaman diagnosa (30%)

  • Akurasi perhitungan (30%)

  • Realisme simulasi (20%)

  • Usabilitas program (20%)

HASIL PROGRAM YANG DIHARAPKAN





FORMAT PENGUMPULAN

Struktur Folder:

text
NamaSiswa_Kelas_Jurusan/
├── program.py
├── dokumentasi.txt
├── test_cases.txt
└── presentasi.pptx (opsional)

Dokumentasi Wajib:

  1. Deskripsi Program: Minimal 100 kata

  2. Algoritma Utama: Flowchart atau pseudocode

  3. Fitur Implementasi: List fitur yang berhasil dibuat

  4. Kesulitan & Solusi: Refleksi pembelajaran

  5. Ide Pengembangan: Fitur yang bisa ditambahkan

Teknis:

  • Deadline: 1 minggu dari pemberian tugas

  • Presentasi: 5-10 menit per kelompok

  • Bahasa pemrograman: Python (disarankan)

  • Boleh bekerja berkelompok (maks 3 orang)


RUBRIK PENILAIAN

KriteriaBobotDeskripsi
Fungsionalitas40%Program berjalan tanpa error, semua fitur wajib terimplementasi
Relevansi Jurusan20%Program sesuai konteks keahlian jurusan
Kreativitas15%Inovasi dalam fitur atau antarmuka
Kompleksitas Algoritma15%Penggunaan percabangan dan perulangan yang optimal
Dokumentasi10%Kelengkapan dan kejelasan dokumentasi

CONTOH IMPLEMENTASI AWAL

Template Program Dasar:

python
# ===============================
# PROGRAM: [NAMA PROGRAM]
# JURUSAN: [NAMA JURUSAN]
# NAMA: [NAMA SISWA]
# ===============================

def tampilkan_menu():
print("\n" + "="*40)
print("SELAMAT DATANG DI [NAMA PROGRAM]")
print("="*40)
print("1. Fitur Pertama")
print("2. Fitur Kedua")
print("3. Fitur Ketiga")
print("4. Keluar")
print("="*40)

def main():
while True:
tampilkan_menu()
pilihan = input("Masukkan pilihan (1-4): ")
if pilihan == "1":
# Implementasi fitur 1
pass
elif pilihan == "2":
# Implementasi fitur 2
pass
elif pilihan == "3":
# Implementasi fitur 3
pass
elif pilihan == "4":
print("Terima kasih telah menggunakan program!")
break
else:
print("Pilihan tidak valid! Silakan coba lagi.")

if __name__ == "__main__":
main()

TIPS PENGERJAAN:

  1. Rencanakan Algoritma Sebelum coding, buat flowchart/pseudocode

  2. Kembangkan Bertahap Mulai dari fitur sederhana, lalu tambahkan kompleksitas

  3. Testing Berkala Test setiap fitur yang selesai dibuat

  4. Gunakan Fungsi Pecah kode menjadi fungsi-fungsi kecil

  5. Komunikasikan Diskusikan masalah dengan teman/guru


"Kreativitas dalam pemrograman bukan hanya tentang menulis kode, tapi tentang menyelesaikan masalah nyata dengan logika yang elegan."

Selamat mengerjakan dan berkreasi! 🚀