Kenalan dengan DBMS dan DDL: Membangun Rumah untuk Data Pasien
Pahami fungsi DBMS dan tiga perintah DDL (CREATE, ALTER, DROP) lewat studi kasus registrasi pasien dan kunjungan klinik.
#DBMS#DDL#CreateTable#SQLDasar
⏱️
±10 menit
Estimasi baca
๐ฏ
Pemula
Level
๐
2026
Tahun
Bayangkan kamu bertugas di loket pendaftaran. Seorang pasien lansia datang kontrol, tapi berkas rekam medisnya terselip di antara ribuan map di rak belakang. Antrean memanjang, dan pasien mulai gelisah. Di era rekam medis elektronik, masalah ini diselesaikan oleh DBMS dan DDL SQL. DBMS adalah "pengelola gedung" yang menjaga data pasien tetap rapi, cepat dicari, dan aman. DDL adalah "denah bangunan" yang menentukan bentuk rumah tempat data itu tinggal. Sebagai calon perekam medis, kamu perlu paham cara rumah data dibangun, bukan hanya cara memakainya. Di artikel ini kamu belajar fungsi DBMS dan tiga perintah DDL: CREATE, ALTER, dan DROP, lengkap dengan contoh data pasien.
๐ Artikel 13 dari 16 · Seri "Kuliah Basis Data"
Ini bahan kuliah teori untuk Sub-CPMK T4. Setelah membaca, kamu mampu: (1) menjelaskan fungsi DBMS, (2) membedakan DDL dari kelompok perintah SQL lain, dan (3) menulis perintah CREATE, ALTER, dan DROP untuk data kesehatan.
Memahami DBMS dan DDL SQL: Pengelola Gedung dan Denahnya
Mulai dari istilah dasarnya. Basis data adalah kumpulan data yang saling berhubungan dan tersusun rapi, misalnya data pasien, kunjungan, diagnosis, dan tenaga kesehatan. Adapun DBMS (Database Management System) adalah perangkat lunak yang memungkinkan kamu mendefinisikan, membangun, dan mengelola basis data tersebut (Elmasri & Navathe, 2016). Contohnya MySQL, MariaDB, PostgreSQL, Oracle, dan Microsoft SQL Server.
๐ DEFINISI KUNCI
DBMS = perangkat lunak pengelola basis data DDL = perintah SQL untuk mendefinisikan struktur basis data Struktur = database, tabel, kolom, tipe data, dan aturan (constraint)
Analoginya begini. Rumah sakit adalah gedung, DBMS adalah manajemen gedungnya, dan SQL adalah bahasa yang kamu pakai untuk memberi perintah kepada manajemen itu. Perintah SQL dibagi ke dalam beberapa kelompok berdasarkan tugasnya.
Kelompok
Perintah
Tugas
Contoh di data kesehatan
DDL
CREATE, ALTER, DROP
Mengatur struktur
Membuat tabel pasien
DML
INSERT, UPDATE, DELETE, SELECT
Mengelola isi data
Mencatat pasien baru
DCL
GRANT, REVOKE
Mengatur hak akses
Dokter boleh melihat diagnosis
TCL
COMMIT, ROLLBACK
Mengatur transaksi
Membatalkan entri yang salah
⚡ Insight Penting
Basis data dan DBMS itu dua hal berbeda. Basis data adalah isinya, DBMS adalah pengelolanya. Beberapa buku memasukkan SELECT ke kelompok DQL, jadi pengelompokan di tabel ini bisa berbeda antarsumber. Cek selalu buku acuan mata kuliahmu.
Fungsi DBMS: Lebih dari Sekadar Lemari Arsip Digital
Kalau DBMS hanya menyimpan data, kamu cukup memakai lembar kerja biasa. Nilai tambah DBMS ada pada tujuh fungsi berikut (Silberschatz, Korth, & Sudarshan, 2019):
๐ ANALISIS: TUJUH FUNGSI DBMS DI RUMAH SAKIT
1. Definisi data. Kamu menentukan struktur tabel dan tipe data. Inilah tugas DDL.
2. Manipulasi data. Menambah, mengubah, menghapus, dan mencari data lewat DML.
3. Keamanan. Petugas pendaftaran hanya melihat data demografi, sedangkan dokter melihat diagnosis. Ini penting karena Permenkes No. 24 Tahun 2022 mengatur keamanan dan kerahasiaan data rekam medis, dan UU No. 27 Tahun 2022 melindungi data pribadi.
4. Integritas data. Aturan seperti primary key dan foreign key mencegah kunjungan tercatat untuk pasien yang tidak ada.
5. Kontrol konkurensi. Dua petugas bisa mengakses data bersamaan tanpa saling menimpa.
6. Backup dan pemulihan. Data bisa dikembalikan setelah listrik padam atau server rusak.
7. Kamus data (katalog). DBMS menyimpan metadata, yaitu data tentang data, seperti nama tabel dan tipe kolom. Kamu sudah mengenalnya di artikel sebelumnya.
Supaya terasa bedanya, bandingkan dua cara menyimpan data pasien ini:
๐️
Rak arsip kertas
Mencari berkas butuh menit. Satu pasien bisa punya dua map. Hanya satu orang yang bisa memegang berkas. Kalau ruangan banjir, data hilang.
๐ก️
Dengan DBMS
Pencarian hitungan detik. Duplikasi dicegah lewat kunci unik. Banyak petugas mengakses bersamaan. Ada backup untuk pemulihan.
๐ฅ Fakta Menarik
SQL lahir dari model relasional yang diusulkan Edgar F. Codd (1970). Bahasa ini dikembangkan di IBM pada 1970-an dengan nama awal SEQUEL, lalu menjadi standar internasional dan terus diperbarui hingga kini.
DDL SQL Bagian 1: CREATE untuk Membangun Struktur Data Pasien
CREATE adalah perintah DDL untuk membangun objek baru, seperti database dan tabel. Pikirkan ini sebagai fase konstruksi: tanah disiapkan, lalu denah ruangan digambar. Ikuti langkah berikut untuk membangun basis data klinik sederhana. Contoh memakai sintaks MySQL.
1
Rancang dulu di kertas. Tentukan entitas dan atributnya. Di klinik kita ada tiga: tenaga kesehatan, pasien, dan kunjungan.
2
Buat databasenya. Gunakan CREATE DATABASE lalu aktifkan dengan USE.
3
Buat tabel induk lebih dulu. Tabel tenaga_kesehatan dan pasien dibuat sebelum kunjungan, karena kunjungan merujuk ke keduanya.
4
Buat tabel kunjungan. Tambahkan foreign key agar setiap kunjungan terhubung ke pasien dan tenaga kesehatan yang sah.
5
Periksa hasilnya. Jalankan SHOW TABLES; dan DESCRIBE pasien; untuk memastikan struktur sesuai rancangan.
๐งพ SQL · buat_database.sql
-- 1. Membuat database klinik
CREATE DATABASE IF NOT EXISTS klinik_sehat
CHARACTER SET utf8mb4;
USE klinik_sehat;
-- 2. Tabel induk: tenaga kesehatan
CREATE TABLE tenaga_kesehatan (
id_nakes INT AUTO_INCREMENT PRIMARY KEY,
nama_nakes VARCHAR(100) NOT NULL,
profesi VARCHAR(50) NOT NULL
);
-- 3. Tabel induk: pasien
CREATE TABLE pasien (
no_rm VARCHAR(10) PRIMARY KEY,
nik CHAR(16) UNIQUE,
nama_pasien VARCHAR(100) NOT NULL,
tgl_lahir DATE NOT NULL,
jenis_kelamin CHAR(1) NOT NULL,
alamat VARCHAR(200),
tgl_registrasi DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 4. Tabel anak: kunjungan
CREATE TABLE kunjungan (
id_kunjungan INT AUTO_INCREMENT PRIMARY KEY,
no_rm VARCHAR(10) NOT NULL,
id_nakes INT NOT NULL,
tgl_kunjungan DATETIME NOT NULL,
keluhan VARCHAR(255),
kode_icd10 VARCHAR(10),
FOREIGN KEY (no_rm) REFERENCES pasien(no_rm),
FOREIGN KEY (id_nakes) REFERENCES tenaga_kesehatan(id_nakes)
);
-- 5. Verifikasi
SHOW TABLES;
DESCRIBE pasien;
Perhatikan beberapa keputusan desain di atas. no_rm menjadi primary key karena nomor rekam medis harus unik untuk setiap pasien. NOT NULL memaksa kolom penting selalu terisi. Kolom kode_icd10 menyimpan kode diagnosis menurut klasifikasi penyakit internasional (WHO, ICD-10). Aturan seperti inilah yang menjaga mutu data sejak hari pertama.
๐ก Tips
Pakai nama huruf kecil dengan garis bawah (no_rm, tgl_lahir) dan hindari spasi. Tambahkan IF NOT EXISTS supaya skripmu tidak error saat dijalankan dua kali. Kebiasaan kecil ini membuat skripmu rapi dan aman diulang.
DDL SQL Bagian 2: ALTER dan DROP, Merenovasi atau Meruntuhkan
Rumah jarang selesai sekali jadi. Suatu hari manajemen meminta kolom golongan darah, atau kolom alamat terasa kurang panjang. Di sinilah ALTER bekerja: mengubah struktur tabel yang sudah ada tanpa membangun ulang dari nol. Sementara itu, DROP menghapus objek beserta seluruh isinya.
๐งพ SQL · alter_drop.sql
-- Menambah kolom golongan darah setelah jenis kelamin
ALTER TABLE pasien
ADD COLUMN golongan_darah CHAR(3) AFTER jenis_kelamin;
-- Memperpanjang kolom alamat
ALTER TABLE pasien
MODIFY COLUMN alamat VARCHAR(255);
-- Menambah lalu menghapus kolom percobaan
ALTER TABLE pasien ADD COLUMN no_telp VARCHAR(15);
ALTER TABLE pasien DROP COLUMN no_telp;
-- Menghapus tabel latihan (HATI-HATI!)
DROP TABLE IF EXISTS tabel_latihan;
⚖️ ANALISIS: CREATE vs ALTER vs DROP
Perintah
Analogi
Contoh kasus
Tingkat risiko
CREATE
Membangun ruangan baru
Tabel kunjungan
๐ข Rendah
ALTER
Merenovasi ruangan
Menambah kolom golongan darah
๐ก Sedang
DROP
Meruntuhkan ruangan
Menghapus tabel pasien
๐ด Tinggi
⚠️ Perhatian
Di MySQL, perintah DDL menyebabkan implicit commit, sehingga tidak bisa dibatalkan dengan ROLLBACK (Oracle, 2024). DROP TABLE pasien pada data sungguhan berarti riwayat pasien lenyap, padahal rekam medis wajib disimpan sesuai ketentuan Permenkes No. 24 Tahun 2022. Latih DROP hanya di database latihan, dan di lingkungan nyata batasi hak aksesnya.
✏️ Latihan Mini
Buat tabel tindakan_medis berisi id_tindakan (kunci utama), id_kunjungan (kunci asing ke kunjungan), nama_tindakan, dan tgl_tindakan. Lalu gunakan ALTER untuk menambah kolom keterangan. Cocokkan jawabanmu dengan pola di atas, lalu bawa ke sesi praktikum.
๐ Kesimpulan: DBMS dan DDL SQL sebagai Fondasi Data Kesehatan
Kamu sudah mengenal pasangan penting dalam pengelolaan data pasien: DBMS dan DDL SQL. Ringkasnya:
✅ DBMS mengelola basis data lewat tujuh fungsi, dari definisi data sampai pemulihan.
✅ DDL mengatur struktur: CREATE membangun, ALTER merenovasi, DROP meruntuhkan.
✅ Bangun tabel induk lebih dulu, dan perlakukan DROP dengan sangat hati-hati.
Di artikel berikutnya, kamu akan mengisi rumah ini dengan data lewat INSERT, UPDATE, DELETE, dan SELECT. Pernah salah menjalankan perintah saat praktikum? Ceritakan di kolom komentar, dan bagikan artikel ini ke temanmu yang masih bingung dengan DDL.
Codd, E. F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377–387.
Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems (7th ed.). Pearson.
Oracle Corporation. (2024). MySQL 8.0 Reference Manual: CREATE TABLE, ALTER TABLE, DROP TABLE, dan statement yang menyebabkan implicit commit. https://dev.mysql.com/doc/refman/8.0/en/
Peraturan Menteri Kesehatan Republik Indonesia Nomor 24 Tahun 2022 tentang Rekam Medis.
Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts (7th ed.). McGraw-Hill.
Undang-Undang Republik Indonesia Nomor 27 Tahun 2022 tentang Pelindungan Data Pribadi.
World Health Organization. (2019). International Statistical Classification of Diseases and Related Health Problems, 10th Revision (ICD-10).
#BasisData#Database#RMIK#DBMS#DDL#CreateTable
๐ Topik: DBMS dan DDL SQL untuk Data Rekam Medis
ARTIKEL UTAMA
๐ Daftar Isi Kuliah Basis Data
Lihat seluruh 16 artikel dalam seri ini dan pilih materi yang ingin kamu pelajari berikutnya.
saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux
No comments:
Post a Comment