MODUL PEMBELAJARAN: MENDALAMI DUNIA BASIS DATA DAN PERANCANGAN ERD
Fase E - Kelas X PPLG (Pengembangan Perangkat Lunak dan Gim)
A. PENDAHULUAN: APA ITU BASIS DATA?
1. Definisi dan Evolusi Sejarah
Basis Data (Database) bukan sekadar tumpukan data digital. Ia adalah kumpulan data yang terorganisir secara logis agar mudah disimpan, dicari, dan diperbarui.
Perjalanan Waktu:
- Era 1960-an (Masa Kaku): Komputer mulai digunakan untuk menyimpan data secara elektronik. Namun, modelnya sangat kaku (Hierarki/Jaringan). Jika satu bagian berubah, seluruh sistem bisa berantakan.
- Era 1970-an (Revolusi Relasional): E.F. Codd dari IBM memperkenalkan Model Relasional. Data mulai disusun dalam tabel-tabel yang saling terhubung. Ini adalah cikal bakal SQL yang kita gunakan sekarang.
- Era 1980-90-an (Masa Kejayaan RDBMS): Muncul raksasa seperti Oracle, MySQL, dan SQL Server. Data mulai menjadi aset paling berharga bagi perusahaan.
- Era 2000-an - Sekarang (Era Big Data): Kebutuhan data sangat cepat (sosial media, streaming). Muncullah NoSQL dan Cloud Database untuk menangani miliaran data dalam sekejap.
2. Analogi Gudang vs. Lemari Berantakan
Bayangkan kamu memiliki 1.000 buku.
- Tanpa Basis Data: Buku-buku ditumpuk begitu saja di lantai. Saat mencari buku "Tutorial Java", kamu harus membongkar seluruh tumpukan selama berjam-jam.
- Dengan Basis Data: Buku disusun di rak berdasarkan kategori (Programming, Game, Novel), diberi label, dan dicatat lokasinya dalam katalog. Mencari satu buku hanya butuh waktu hitungan detik.
B. KOMPONEN SISTEM BASIS DATA
Sistem basis data bekerja seperti sebuah ekosistem. Jika satu komponen hilang, sistem tidak akan berjalan.
1. Hardware (Perangkat Keras)
Ini adalah "tubuh" tempat data bersemayam.
- Server: Komputer spesifikasi tinggi yang hidup 24 jam.
- Storage (SSD/HDD): Media tempat bit-bit data disimpan.
- Network: Kabel atau sinyal yang menghubungkan komputer user ke server database.
2. Software (Perangkat Lunak)
Komponen terpenting di sini adalah DBMS (Database Management System).
Analogi:
Jika Database adalah "Buku Telepon", maka DBMS adalah "Tangan dan Mata" orang yang mencari nomor di buku tersebut.Contoh: MySQL, PostgreSQL (Gratis), Oracle (Berbayar), dan SQLite (Untuk Mobile).
3. Data
Data adalah "darah" dari sistem. Ada tiga jenis:
- Data Operasional: Transaksi yang terjadi (misal: "Budi membeli Item X di Game").
- Metadata: Data yang menjelaskan data lain (misal: "Tabel User memiliki kolom Nama tipe String").
- Backup: Cadangan nyawa jika terjadi kerusakan.
4. Stored Procedures (Otomatisasi)
Ini adalah sekumpulan perintah yang disimpan di dalam database agar bisa dipanggil berkali-kali.
Analogi:Seperti "Shortcut" atau "Macro" di game. Daripada menekan 10 tombol untuk mengeluarkan jurus, kamu hanya perlu menekan satu tombol yang sudah merekam 10 gerakan tadi.
5. User (Pengguna)
Manusia yang mengoperasikan sistem. Tidak semua user sama derajatnya (ada kasta hak akses).
C. PROFESI DI BIDANG BASIS DATA
Di dunia kerja PPLG, kamu bisa memilih spesialisasi berikut:
1. Database Administrator (DBA)
Peran: "Satpam dan Perawat". Tugas: Memastikan database tidak mati, melakukan backup harian, dan menjaga agar hacker tidak masuk. Jika database bank lambat, DBA adalah orang pertama yang dicari.
2. Database Designer
Peran: "Arsitek". Tugas: Sebelum kode ditulis, dia merancang tabel apa saja yang dibutuhkan. Dia membuat ERD (Entity Relationship Diagram). Jika desain tabelnya buruk, aplikasi akan sangat lambat di masa depan.
3. Application Developer
Peran: "Penghubung". Tugas: Kamu (sebagai siswa PPLG) biasanya berada di sini. Kamu membuat aplikasi (web/mobile) yang menarik, lalu menghubungkannya ke database agar data user tersimpan rapi.
D. OPERASI DASAR (SQL): BAHASA KOMUNIKASI DATA
SQL adalah bahasa universal. Jika kamu jago SQL, kamu bisa mengelola database apapun.
1. Membangun Pondasi (DDL - Data Definition Language)
Digunakan untuk membuat wadah.
CREATE DATABASE: Membuat rumah baru.
CREATE TABLE: Membuat kamar/rak di dalam rumah.
DROP: Menghancurkan wadah (Hati-hati, data akan hilang permanen!).
2. Mengelola Isi (DML - Data Manipulation Language)
Digunakan untuk mengolah data di dalam wadah. Ingat istilah CRUD (Create, Read, Update, Delete).
INSERT: Menambah data baru.
SELECT: Membaca/Mencari data (Paling sering digunakan).
UPDATE: Mengubah data yang salah.
DELETE: Menghapus data yang tidak perlu.
Peringatan Penting: Saat melakukan UPDATE atau DELETE, pastikan gunakan perintah WHERE. Tanpa itu, kamu bisa menghapus seluruh data siswa di satu sekolah!
E. ABSTRAKSI DATA: MENYEMBUNYIKAN KERUMITAN
Pernahkah kamu berpikir bagaimana aplikasi Instagram menyimpan fotomu? Kamu tidak perlu tahu teknis listrik di server mereka. Itulah Abstraksi.
Level Internal (Fisik): Bagaimana data disimpan di piringan magnetik harddisk (Hanya mesin yang paham).
Level Konseptual (Logik): Bagaimana tabel-tabel dihubungkan (Desainer database yang paham).
Level Eksternal (View): Apa yang dilihat user.
Contoh:Siswa hanya bisa melihat nilainya sendiri, Guru bisa melihat nilai seluruh kelas, tapi Guru tidak bisa melihat gaji Kepala Sekolah.
F. PEMODELAN DATA: BLUEPRINT SISTEM
1. Model Hierarki (Pohon)
Struktur seperti struktur organisasi. Satu atasan punya banyak bawahan.
Kekurangan:Sulit jika satu murid punya dua guru (induk).
2. Model Jaringan (Network)
Lebih fleksibel dari pohon. Satu data bisa punya banyak induk.
Kekurangan:Navigasinya sangat rumit seperti benang kusut.
3. Model Relasional (Tabel)
Paling populer. Data disimpan dalam tabel yang saling "berbisik" melalui Kunci (Primary Key).
Keunggulan:Sangat mudah dipahami manusia dan didukung oleh industri.
4. Model Fisik
Fokus pada performa. Misalnya menggunakan "Indeks".
Analogi Indeks:Seperti indeks di bagian belakang buku pelajaran. Kamu tidak perlu membaca buku dari halaman 1 sampai 500 untuk mencari kata "Database", cukup lihat indeks dan langsung ke halaman yang dituju.
G. MENDALAMI ERD (ENTITY RELATIONSHIP DIAGRAM): ARSITEKTUR DATA
Sebagai pengembang aplikasi (PPLG), kamu tidak bisa langsung mengetik kode SQL tanpa rencana. Kamu butuh diagram yang menjelaskan struktur datamu. Inilah yang disebut ERD.
1. Apa itu ERD? (Analogi Cetak Biru Bangunan)
Bayangkan kamu ingin membangun gedung sekolah bertingkat 5. Kamu tidak langsung membeli semen dan menyusun bata secara asal, bukan? Kamu akan pergi ke arsitek untuk membuat Cetak Biru (Blueprint).
- Cetak biru itu menggambarkan: Di mana posisi kelas, di mana posisi toilet, dan bagaimana koridor menghubungkan keduanya.
- ERD adalah cetak biru untuk data aplikasi. Ia menggambarkan objek apa saja yang ada, detailnya apa saja, dan bagaimana objek tersebut saling "ngobrol" satu sama lain.
2. Komponen Utama: Entitas, Atribut, dan Relasi
Dalam ERD, kita hanya mengenal tiga komponen besar. Mari kita bedah satu per satu:
A. Entitas (Entity)
Entitas adalah "Sesuatu" atau "Objek" di dunia nyata yang informasinya ingin kita simpan. Biasanya berupa kata benda.
Simbol: Persegi Panjang.
Contoh: Siswa, Guru, Buku, Produk, Transaksi.B. Atribut (Attribute)
Atribut adalah karakteristik atau ciri-ciri yang melekat pada entitas.
Simbol: Elips (Oval).
Jenis-Jenis Atribut:
- Atribut Simple: Tidak bisa dipecah (Harga, Nama).
- Atribut Composite: Bisa dipecah (Alamat -> Jalan, Kota, Kode Pos).
- Atribut Derived: Hasil hitungan (Usia dari Tgl_Lahir).
- Atribut Key (Primary Key): Unik (NIS, ID_Buku). Simbol: Teks digarisbawahi.
C. Relasi (Relationship)
Relasi menjelaskan hubungan antar entitas. Biasanya berupa kata kerja.
- Simbol: Belah Ketupat (Diamond).
3. Memahami Kardinalitas
Kardinalitas adalah aturan jumlah hubungan:
- One to One (1:1): 1 Suami - 1 Istri.
- One to Many (1:0): 1 Ibu - Banyak Anak.
- Many to Many (0:0): Banyak Siswa - Banyak Mata Pelajaran.
H. STUDI KASUS: MERANCANG ERD SISTEM PERPUSTAKAAN DIGITAL
Agar lebih paham, mari kita buat rancangan untuk aplikasi "E-Lib SMK".
1. Deskripsi Masalah
Sekolah ingin membuat aplikasi perpustakaan. Aturannya:
- Setiap Siswa memiliki data NIS, Nama, dan Kelas.
- Setiap Buku memiliki data Kode_Buku, Judul, dan Pengarang.
- Satu siswa boleh meminjam banyak buku.
- Satu judul buku boleh dipinjam oleh banyak siswa (dalam waktu berbeda).
- Setiap transaksi Peminjamann dicatat tanggal pinjam dan tanggal kembalinya.
2. Langkah Analisis
Langkah 1: Menentukan Entitas
- Siswa (Orang yang meminjam).
- Buku (Objek yang dipinjam).
Langkah 2: Menentukan Atribut
- Siswa:
NIS(PK),Nama,Kelas.
- Buku:
Kode_Buku(PK),Judul,Pengarang.
Langkah 3: Menentukan Relasi
- Relasinya adalah Meminjam.
- Atribut pada relasi (karena ada data tambahan):
Tgl_Pinjam,Tgl_Kembali.
Langkah 4: Menentukan Kardinalitas
- Seorang Siswa dapat meminjam Banyak Buku.
- Sebuah Buku dapat dipinjam oleh Banyak Siswa.
- Maka hubungannya adalah Many to Many (M:N).
3. Visualisasi ERD (Sederhana)
Penjelasan Alur Data:
Dalam aplikasi PPLG, hubungan M:N ini nantinya akan melahirkan "Tabel Ketiga" yaitu tabel Peminjaman. Tabel ini akan berisi NIS dari tabel Siswa dan Kode_Buku dari tabel Buku, sehingga aplikasi tahu siapa meminjam apa dan kapan.
I. KESIMPULAN: MENGAPA PPLG BUTUH BASIS DATA & ERD?
Sebagai siswa PPLG, koding tanpa database adalah seperti membuat otak tanpa memori. Aplikasi yang keren harus bisa mengingat usernya, menyimpan skor gamenya, dan mengelola transaksinya.
Tanpa ERD, aplikasi yang kamu buat akan rapuh. ERD memberikan kepastian, struktur, dan kejelasan bagi pengembang sebelum baris kode pertama diketik. Jika kamu menguasai basis data dan perancangannya, kamu telah menguasai setengah dari dunia pengembangan perangkat lunak.