Rabu, 11 Februari 2026

Debugging Program & Model Basis Data Relasional

 A. Debugging Program

1. Pengertian Debugging

Debugging adalah proses menemukan, menganalisis, dan memperbaiki kesalahan (bug) pada program agar program berjalan sesuai tujuan. Dalam dunia industri software, debugging merupakan keterampilan penting karena hampir semua program pasti pernah mengalami error.

Tujuan debugging:

  • Mengetahui penyebab program gagal berjalan

  • Memperbaiki logika yang salah

  • Meningkatkan kualitas kode

  • Membiasakan berpikir sistematis


2. Jenis-Jenis Error dalam Pemrograman

a. Syntax Error

Kesalahan penulisan kode yang tidak sesuai aturan bahasa pemrograman.

Contoh Python:

print("Halo Dunia"

(Kurang tanda kurung tutup)

Ciri:

  • Program tidak bisa dijalankan

  • Biasanya muncul pesan error langsung


b. Runtime Error

Error yang muncul saat program dijalankan.

Contoh:

angka = 10 / 0

(Tidak bisa membagi dengan nol)


c. Logical Error

Program berjalan tetapi hasilnya salah.

Contoh:

nilai = 70 if nilai > 75: print("Lulus")

Logika salah karena nilai 70 tidak memenuhi syarat.


3. Langkah-Langkah Debugging

  1. Membaca pesan error

  2. Menelusuri baris kode

  3. Menggunakan print() untuk cek variabel

  4. Mengubah kode sedikit demi sedikit

  5. Menguji ulang program

Tips debugging:

  • Jangan panik melihat error

  • Fokus pada satu masalah

  • Gunakan komentar (#) untuk menonaktifkan kode sementara


4. Contoh Debugging Sederhana

Program salah:

umur = input("Masukkan umur: ") if umur > 17: print("Boleh membuat SIM")

Masalah:

  • input() menghasilkan teks (string)

Perbaikan:

umur = int(input("Masukkan umur: ")) if umur > 17: print("Boleh membuat SIM")

B. Model Basis Data Relasional

1. Pengertian Basis Data

Basis data adalah kumpulan data yang disimpan secara terstruktur agar mudah diakses, dikelola, dan diperbarui.

Contoh penggunaan:

  • Data siswa

  • Data transaksi toko

  • Data pelanggan


2. Model Basis Data Relasional

Model relasional menyimpan data dalam bentuk tabel yang saling berhubungan.

Komponen utama:

  • Tabel (Table) → tempat data disimpan

  • Kolom (Field/Atribut) → jenis data

  • Baris (Record) → isi data

Contoh tabel Siswa:

id_siswanamakelas
1AndiX RPL
2BudiX TKJ

3. Primary Key dan Foreign Key

Primary Key

Kunci utama yang unik.

Contoh:

id_siswa

Foreign Key

Kunci yang menghubungkan tabel lain.

Contoh:
Tabel Transaksi memiliki:

id_siswa

yang mengacu pada tabel Siswa.


4. Relasi Antar Tabel

Jenis relasi:

  • One to One (1-1)

  • One to Many (1-N)

  • Many to Many (M-N)

Contoh:
1 siswa bisa memiliki banyak transaksi → One to Many.


5. Normalisasi Data

Normalisasi adalah proses merapikan struktur tabel agar:

  • Tidak ada data ganda

  • Data lebih efisien

  • Mudah diperbarui


a. First Normal Form (1NF)

Tidak boleh ada data berulang dalam satu kolom.

Salah:

NamaHobi
AndiBola, Game

Benar:

NamaHobi
AndiBola
AndiGame

b. Second Normal Form (2NF)

Semua kolom harus bergantung pada Primary Key.


c. Third Normal Form (3NF)

Tidak boleh ada ketergantungan antar kolom non-key.

Contoh:
Jangan simpan nama_kelas jika sudah ada id_kelas yang bisa dihubungkan.


6. Contoh Struktur Basis Data Relasional

Sistem Penjualan:

Tabel Pelanggan

  • id_pelanggan (PK)

  • nama

  • alamat

Tabel Produk

  • id_produk (PK)

  • nama_produk

  • harga

Tabel Transaksi

  • id_transaksi (PK)

  • id_pelanggan (FK)

  • tanggal


C. Keterkaitan Debugging dan Basis Data

Dalam proyek nyata:

  • Program yang mengambil data database sering error karena relasi salah.

  • Debugging membantu menemukan query atau logika database yang keliru.

Contoh:

  • Salah memanggil nama kolom

  • Relasi tabel tidak sesuai


D. Tugas Praktik (Spesifik Jurusan)

Topik: Debugging Program & Model Basis Data Relasional


1. Jurusan TJKT (Teknik Jaringan Komputer dan Telekomunikasi)

Judul Tugas: Debugging Sistem Data Perangkat Jaringan

Deskripsi Tugas:

Sebuah program digunakan untuk mencatat perangkat jaringan di laboratorium, tetapi program menghasilkan data yang salah. Murid diminta melakukan debugging dan merancang basis data relasional sederhana.

Program Bermasalah:

nama_perangkat = input("Nama perangkat: ")
jumlah = input("Jumlah perangkat: ")
total = jumlah + 5
print("Total perangkat:", total)

Instruksi:

  1. Perbaiki error pada program.

  2. Jelaskan jenis error yang ditemukan (syntax, runtime, atau logical).

  3. Rancang basis data relasional:

    • Tabel Perangkat

    • Tabel Ruangan

    • Tabel Peminjaman

  4. Tentukan Primary Key dan Foreign Key.

Output:

  • Kode hasil debugging

  • Struktur tabel relasional


2. Jurusan Busana

Judul Tugas: Debugging Kalkulator Produksi Busana & Database Produk

Deskripsi Tugas:

Program digunakan untuk menghitung jumlah produksi pakaian, tetapi hasilnya tidak sesuai. Murid melakukan debugging serta merancang database produk busana.

Program Bermasalah:

nama_baju = input("Nama produk: ")
harga = input("Harga satuan: ")
jumlah = input("Jumlah produksi: ")
total = harga * jumlah
print("Total biaya:", total)

Instruksi:

  1. Perbaiki program agar bisa menghitung total biaya dengan benar.

  2. Jelaskan kesalahan tipe data yang terjadi.

  3. Rancang basis data relasional:

    • Tabel Produk_Busana

    • Tabel Pelanggan

    • Tabel Pesanan

  4. Jelaskan relasi antar tabel (One-to-Many).

Output:

  • Program yang sudah benar

  • Desain tabel database produk busana


3. Jurusan Otomotif

Judul Tugas: Debugging Sistem Servis Bengkel & Database Kendaraan

Deskripsi Tugas:

Sistem bengkel mencatat biaya servis kendaraan, namun terdapat kesalahan logika pada perhitungan.

Program Bermasalah:

biaya_servis = int(input("Biaya servis: "))
diskon = 10
if biaya_servis > 200000:
total = biaya_servis - diskon
print("Total bayar:", total)

Instruksi:

  1. Temukan dan perbaiki logical error pada program.

  2. Tambahkan kondisi agar program tetap berjalan jika tidak mendapat diskon.

  3. Rancang basis data relasional:

    • Tabel Kendaraan

    • Tabel Mekanik

    • Tabel Servis

  4. Tentukan Primary Key dan relasi tabel.

Output:

  • Program hasil debugging

  • Model relasional sistem bengkel

Tidak ada komentar: