Bayangin kamu lagi kerja di rumah sakit, dan tugasmu adalah mengelola data rekam medis ribuan pasien. Tanpa sistem yang terorganisir, data bisa berantakan seperti tumpukan kertas di meja IGD yang nggak pernah beres. Nah, di sinilah DBMS (Database Management System) jadi penyelamatnya.
Sebagai mahasiswa D3 RMIK (Rekam Medis dan Informasi Kesehatan), kamu pasti akan bersentuhan langsung dengan sistem informasi rumah sakit yang mengandalkan database. Artikel ini hadir sebagai panduan pertamamu untuk memahami DBMS dan perintah-perintah DDL di MySQL/MariaDB — dari nol, santai, tapi tetap serius biar bisa dipraktikkan langsung.
Menurut DB-Engines Ranking (2024), MySQL masih menjadi DBMS paling populer di dunia selama lebih dari satu dekade, digunakan oleh platform raksasa teknologi dan berbagai sistem SIMRS (Sistem Informasi Manajemen Rumah Sakit) di Indonesia.
Sumber: db-engines.com/en/ranking, 2024
🗄️ Apa Itu DBMS? Kenalan Dulu Sebelum Ngoding
DBMS (Database Management System) adalah perangkat lunak yang dirancang untuk membuat, mengelola, mengakses, dan mengontrol data dalam sebuah basis data. Secara sederhana, DBMS itu seperti manajer gudang yang tahu persis di mana setiap barang disimpan, siapa yang boleh mengambilnya, dan bagaimana cara merapikannya.
Menurut Silberschatz, Korth, dan Sudarshan dalam Database System Concepts (7th ed., McGraw-Hill, 2019), DBMS adalah kumpulan data yang saling berhubungan beserta sekumpulan program untuk mengakses data tersebut. Tujuan utamanya adalah menyediakan cara yang nyaman dan efisien untuk menyimpan serta mengambil informasi dari database.
Ada banyak pilihan DBMS di luar sana. Berikut perbandingan singkat beberapa yang paling populer:
| DBMS | Jenis | Keunggulan | Cocok Untuk |
|---|---|---|---|
| MySQL | Relasional | Open source, cepat, ekosistem besar | Web app, SIMRS |
| MariaDB | Relasional | Fork MySQL, lebih cepat, community-driven | Web app, enterprise |
| PostgreSQL | Relasional | Fitur lengkap, ACID compliant | Analitik, kompleks |
| SQLite | Relasional | Ringan, serverless, mudah | Belajar, mobile app |
🐬 MySQL vs MariaDB: Mana yang Lebih Oke?
MySQL pertama kali dirilis oleh MySQL AB pada tahun 1995 dan saat ini dikembangkan oleh Oracle Corporation. Sedangkan MariaDB adalah fork (cabang) dari MySQL yang dibuat oleh Michael Widenius — sang co-founder MySQL sendiri — pada 2009, setelah Oracle mengakuisisi Sun Microsystems. Nama MariaDB diambil dari nama putri Widenius, Maria (sementara MySQL dari nama putri lainnya, My).
Kabar baiknya: sintaks SQL-nya hampir identik. Jadi kalau kamu belajar DDL di MySQL, bisa langsung dipake di MariaDB. Di banyak hosting lokal Indonesia dan SIMRS, MariaDB justru lebih umum dipakai karena performanya.
Untuk praktikum di kampus atau laptop, kamu bisa install XAMPP (sudah include MySQL/MariaDB + phpMyAdmin) atau HeidiSQL sebagai GUI client. Kalau mau yang lebih ringan, pakai DBeaver Community Edition — gratis dan mendukung semua DBMS populer.
📐 DDL (Data Definition Language): Arsitek-nya Database
Kalau kamu kenal istilah "SQL sublanguage", maka DDL (Data Definition Language) adalah bagian dari SQL yang bertugas mendefinisikan struktur atau skema database. Ibaratnya, DDL itu adalah arsitek yang menggambar denah gedung sebelum pembangunan dimulai — bukan yang mengisi furniturnya.
Menurut Ramakrishnan & Gehrke dalam Database Management Systems (3rd ed., McGraw-Hill, 2003), DDL digunakan untuk membuat, mengubah, dan menghapus objek-objek database seperti tabel, indeks, dan view. Perintah DDL utama yang wajib kamu kuasai adalah: CREATE DATABASE, CREATE TABLE, ALTER TABLE, dan DROP.
1️⃣ CREATE DATABASE — Bikin "Folder" Datamu
Sebelum bisa bikin tabel apapun, kamu harus punya database dulu. Anggap saja database itu seperti folder besar di Google Drive-mu khusus untuk data rekam medis. Perintahnya sederhana banget:
utf8mb4 mendukung semua karakter Unicode termasuk aksara khusus dan karakter extended. utf8 biasa di MySQL hanya mendukung 3 byte, jadi bisa bermasalah dengan karakter tertentu.
2️⃣ CREATE TABLE — Desain Struktur Datamu
Ini adalah perintah DDL yang paling sering kamu pakai. CREATE TABLE digunakan untuk membuat tabel baru beserta kolom-kolomnya, tipe data, dan constraint-nya. Analoginya seperti membuat formulir rekam medis — kamu tentukan dulu kolom apa saja yang perlu diisi.
Tipe data yang sering dipakai dalam konteks rekam medis dan sistem informasi kesehatan:
| Tipe Data | Keterangan | Contoh Penggunaan |
|---|---|---|
| INT | Bilangan bulat | id_pasien, umur |
| VARCHAR(n) | String panjang variabel max n karakter | nama, no_rm, telepon |
| DATE | Tanggal (YYYY-MM-DD) | tanggal_lahir, tgl_masuk |
| DATETIME | Tanggal + waktu lengkap | created_at, updated_at |
| TEXT | Teks panjang tak terbatas | catatan, diagnosis, alamat |
| DECIMAL(m,d) | Bilangan desimal dengan presisi | biaya, berat_badan, suhu |
| ENUM | Nilai dari daftar pilihan tetap | jenis_kelamin, goldar, status |
3️⃣ ALTER TABLE — Edit Struktur Tabel yang Sudah Ada
Kadang kebutuhan berubah — misalnya kamu lupa tambahkan kolom email di tabel pasien, atau tiba-tiba perlu memperbesar ukuran kolom nama. Nah, ALTER TABLE adalah solusinya — tanpa perlu menghapus dan membuat ulang tabel, sehingga data kamu tetap aman.
Saat menggunakan ALTER TABLE pada tabel yang berisi jutaan baris data (seperti di SIMRS besar), operasi ini bisa memakan waktu lama dan bahkan mengunci tabel (table lock) sehingga operasi lain terhambat. Solusinya: gunakan pt-online-schema-change dari Percona Toolkit, atau fitur Online DDL di MySQL 8+/MariaDB 10.3+. Ini penting kamu tahu saat nanti kerja di fasilitas kesehatan!
4️⃣ DROP — Hapus dengan Penuh Kesadaran ⚠️
DROP adalah perintah DDL paling "berbahaya" karena sifatnya irreversible — tidak bisa di-undo! Kalau kamu DROP tabel, semua data di dalamnya ikut hilang. Makanya ada meme developer yang bilang: "Sebelum DROP, berdoa dulu..." 😅
Biar nggak bingung, ini perbedaan DROP, TRUNCATE, dan DELETE:
| Perintah | Hapus Data? | Hapus Struktur? | Bisa Rollback? | Kategori |
|---|---|---|---|---|
| DROP | Ya | Ya | Tidak | DDL |
| TRUNCATE | Ya (semua baris) | Tidak | Tidak* | DDL |
| DELETE | Ya (bisa kondisional) | Tidak | Ya | DML |
🏥 Studi Kasus: Skema Database Rekam Medis Mini
Sekarang saatnya kita praktikkan semua yang sudah dipelajari dengan membuat skema mini database rekam medis. Anggap saja ini tugas pertamamu sebagai calon petugas RMIK yang melek IT!
Perintah DDL (CREATE, ALTER, DROP) di MySQL/MariaDB bersifat auto-commit — artinya langsung tersimpan tanpa bisa di-rollback meskipun kamu belum COMMIT. Berbeda dengan DML. Jadi selalu backup dulu sebelum menjalankan DDL di database produksi. Di dunia SIMRS, satu kesalahan DROP TABLE bisa mengakibatkan kehilangan data rekam medis ribuan pasien.
- Selalu gunakan
IF NOT EXISTS/IF EXISTSuntuk menghindari error tak terduga - Tentukan
charset=utf8mb4dari awal agar tidak repot migrasi nanti - Gunakan
FOREIGN KEYuntuk menjaga integritas data relasional - Dokumentasikan skema database dengan komentar SQL (
-- komentar) - Selalu backup sebelum ALTER/DROP di database produksi!
📚 Referensi
- Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts (7th ed.). McGraw-Hill Education.
- Ramakrishnan, R., & Gehrke, J. (2003). Database Management Systems (3rd ed.). McGraw-Hill.
- Schwartz, B., Zaitsev, P., & Tkachenko, V. (2012). High Performance MySQL (3rd ed.). O'Reilly Media.
- Oracle Corporation. (2024). MySQL 8.0 Reference Manual. Tersedia di: https://dev.mysql.com/doc/refman/8.0/en/
- MariaDB Foundation. (2024). MariaDB Knowledge Base — DDL Statements. Tersedia di: https://mariadb.com/kb/en/data-definition/
- DB-Engines. (2024). DB-Engines Ranking. Tersedia di: https://db-engines.com/en/ranking
- Kementerian Kesehatan RI. (2022). Peraturan Menteri Kesehatan Nomor 24 Tahun 2022 tentang Rekam Medis. Jakarta: Kemenkes RI.
Gimana, Udah Nyoba Sendiri?
Coba langsung praktikkan contoh-contoh SQL di atas di XAMPP atau HeidiSQL kamu. Kalau ada yang bingung, error-nya apa, atau ada pertanyaan seputar materi basis data lainnya — tulis di kolom komentar! Aku akan bantu jawab. 🙌
Next artikel: DML — INSERT, SELECT, UPDATE, DELETE dengan Studi Kasus SIMRS. Stay tuned!