SQL DML | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: SQL DML

Wednesday, April 1, 2026

SQL DML

BASIS DATA SQL DML REKAM MEDIS DIPLOMA 3 RMIK

SQL — DML Dasar: INSERT, SELECT, UPDATE, DELETE & Klausa WHERE, ORDER BY
dalam Skenario Data Pasien & Kunjungan Rekam Medis

Kalau kamu pikir SQL itu susah — tunggu sampai kamu tahu betapa powerful-nya empat perintah ini buat mengelola data pasien di rumah sakit. Serius, ini game changer.

4
Perintah DML Core
2
Klausa Penting
10+
Contoh Query
1
Studi Kasus Nyata

Bayangkan kamu lagi kerja sebagai petugas rekam medis di sebuah rumah sakit. Di depan kamu ada ratusan folder fisik pasien, tumpukan kertas kunjungan, dan petugas lain yang sudah antre minta data. Kaos, kan? Nah, itulah kenapa SQL DML (Data Manipulation Language) — khususnya perintah INSERT, SELECT, UPDATE, dan DELETE — menjadi tulang punggung sistem informasi rekam medis modern.

Artikel ini bukan sekadar teori kering. Kamu akan belajar cara kerja SQL DML dasar lewat skenario nyata: mengelola data pasien dan kunjungan rekam medis. Setiap query punya konteks, setiap perintah punya "cerita". Siap? Mari kita mulai.

💡
FAKTA MENARIK

Menurut Connolly & Begg (2015) dalam Database Systems: A Practical Approach to Design, Implementation, and Management, DML adalah komponen SQL yang paling sering digunakan dalam aplikasi sehari-hari — lebih dari 80% operasi database adalah operasi DML, bukan DDL. Artinya, skill ini yang paling "laku" di dunia kerja! [1]

🗄️ Apa Itu SQL DML dan Kenapa Penting di RMIK?

SQL (Structured Query Language) terbagi jadi beberapa sublanguage. DDL untuk bikin struktur tabel, DCL untuk hak akses, dan DML untuk manipulasi data. Dalam konteks rekam medis, DML adalah "tangan" yang menyentuh data pasien setiap hari.

📊 Empat Pilar DML dalam Rekam Medis
INSERT
Mendaftarkan pasien baru
🔍
SELECT
Mencari data kunjungan
✏️
UPDATE
Memperbarui diagnosa
🗑️
DELETE
Menghapus data duplikat

Menurut Silberschatz, Korth, & Sudarshan (2020) dalam Database System Concepts (7th ed.), DML memungkinkan pengguna untuk mengakses dan memanipulasi data sebagaimana yang telah diorganisir oleh model data yang berlaku. [2] Dalam sistem rekam medis, ini berarti kamu bisa dengan presisi mengelola ribuan rekaman pasien tanpa takut data kacau.

🏥 Skenario: Database Rekam Medis Puskesmas Harapan

Sepanjang artikel ini, kita akan pakai skenario Puskesmas Harapan yang punya dua tabel utama. Anggap kamu adalah petugas IT rekam medis yang baru onboarding. Database-nya sudah ada, tinggal kamu yang pegang kendali query-nya!

📋 Tabel 1: pasien
Kolom Tipe Data Constraint Keterangan
no_rm VARCHAR(10) PRIMARY KEY Nomor rekam medis unik
nama_pasien VARCHAR(100) NOT NULL Nama lengkap pasien
tanggal_lahir DATE Format YYYY-MM-DD
jenis_kelamin ENUM('L','P') L = Laki-laki, P = Perempuan
alamat TEXT Alamat lengkap domisili
📋 Tabel 2: kunjungan
Kolom Tipe Data Constraint Keterangan
id_kunjungan INT AUTO_INCREMENT PRIMARY KEY ID otomatis
no_rm VARCHAR(10) FOREIGN KEY Referensi ke tabel pasien
tanggal_kunjungan DATE NOT NULL Tanggal datang
keluhan TEXT Keluhan utama pasien
diagnosa VARCHAR(200) Diagnosa dokter (ICD-10)

➕ INSERT: Mendaftarkan Pasien Baru ke Sistem

Perintah INSERT ibarat formulir pendaftaran pasien yang langsung masuk ke database. Saat pasien baru datang ke loket, petugas TPPRJ (Tempat Penerimaan Pasien Rawat Jalan) harus memasukkan data ke sistem. Inilah momennya INSERT bekerja.

📐 Sintaks Dasar INSERT
INSERT INTO nama_tabel (kolom1, kolom2, ...)
VALUES (nilai1, nilai2, ...);
📌 Skenario: Pasien Baru Bernama Budi Santoso Datang Berobat
1
Masukkan data pasien ke tabel pasien
INSERT INTO pasien (no_rm, nama_pasien, tanggal_lahir, jenis_kelamin, alamat)
VALUES ('RM-2024-001', 'Budi Santoso', '1990-05-15', 'L', 'Jl. Merdeka No. 12, Banjarmasin');
2
Catat kunjungan pertamanya di tabel kunjungan
INSERT INTO kunjungan (no_rm, tanggal_kunjungan, keluhan, diagnosa)
VALUES ('RM-2024-001', '2024-03-15', 'Batuk dan demam 3 hari', 'J06.9 - ISPA');
3
Bonus: INSERT banyak data sekaligus (Multi-Row INSERT)
INSERT INTO pasien (no_rm, nama_pasien, tanggal_lahir, jenis_kelamin, alamat)
VALUES
  ('RM-2024-002', 'Siti Rahayu', '1985-11-20', 'P', 'Jl. Ahmad Yani Km. 5'),
  ('RM-2024-003', 'Ahmad Fauzi', '2001-07-30', 'L', 'Jl. Lambung Mangkurat No. 3');
TIP PRAKTIS

Selalu sertakan nama kolom saat INSERT, meski kamu mengisi semua kolom. Kenapa? Karena kalau suatu hari struktur tabelnya berubah (kolom ditambah), query kamu tetap aman dan tidak error. Ini kebiasaan yang akan kamu syukuri saat kerja di proyek besar! Best practice ini dianjurkan oleh Date (2012) dalam An Introduction to Database Systems. [3]

🔍 SELECT, WHERE & ORDER BY: Menggali Data Seperti Detektif

Perintah SELECT adalah perintah yang paling sering kamu gunakan — jauh melebihi yang lain. Kalau INSERT seperti menulis catatan, SELECT adalah membaca dan mencari catatan itu kembali. Tambahkan klausa WHERE sebagai filter spesifik dan ORDER BY untuk mengurutkan hasilnya.

📐 Sintaks Lengkap SELECT
SELECT kolom1, kolom2, ...    -- atau * untuk semua kolom
FROM   nama_tabel
WHERE  kondisi               -- opsional: filter data
ORDER BY kolom [ASC|DESC];   -- opsional: urutan tampil
📌 Beragam Skenario SELECT di Rekam Medis:
🔹 1. Tampilkan SEMUA data pasien
SELECT * FROM pasien;

⚠️ Tanda bintang (*) = ambil semua kolom. Di production, hindari ini jika tabelnya besar!

🔹 2. Cari pasien berdasarkan nomor RM (WHERE)
SELECT no_rm, nama_pasien, alamat
FROM pasien
WHERE no_rm = 'RM-2024-001';
🔹 3. Cari kunjungan pasien di bulan Maret 2024 + urutkan terbaru (WHERE + ORDER BY)
SELECT id_kunjungan, no_rm, tanggal_kunjungan, diagnosa
FROM kunjungan
WHERE tanggal_kunjungan BETWEEN '2024-03-01' AND '2024-03-31'
ORDER BY tanggal_kunjungan DESC;

💡 DESC = terbaru tampil di atas. ASC = terlama tampil di atas (default).

🔹 4. Filter pasien perempuan, urutkan nama A-Z (WHERE + ORDER BY multi-guna)
SELECT nama_pasien, tanggal_lahir, alamat
FROM pasien
WHERE jenis_kelamin = 'P'
ORDER BY nama_pasien ASC;
🔹 5. Cari kunjungan dengan diagnosis tertentu menggunakan LIKE
SELECT no_rm, tanggal_kunjungan, keluhan, diagnosa
FROM kunjungan
WHERE diagnosa LIKE '%ISPA%'
ORDER BY tanggal_kunjungan DESC;

💡 LIKE '%ISPA%' = cari yang mengandung kata "ISPA" di mana saja dalam kolom diagnosa.

🎯
INSIGHT PENTING

Klausa WHERE bisa dikombinasikan dengan operator AND, OR, dan NOT untuk membuat kondisi yang lebih kompleks. Menurut Ramakrishnan & Gehrke (2003) dalam Database Management Systems, kemampuan filter SQL inilah yang menjadikannya jauh lebih efisien dibanding pemrosesan manual — bayangkan mencari 10 dari 10.000 rekam medis dalam milidetik! [4]

✏️ UPDATE & DELETE: Merawat Akurasi Data Rekam Medis

Data rekam medis bukan sesuatu yang statis. Alamat pasien berubah, diagnosa direvisi dokter, bahkan ada data yang harus dihapus karena duplikat. Di sinilah UPDATE dan DELETE menjadi senjata andalan — tapi juga senjata yang harus dipakai dengan hati-hati!

✏️ UPDATE: Perbarui Data yang Berubah

📐 Sintaks UPDATE
UPDATE nama_tabel
SET    kolom1 = nilai_baru1,
       kolom2 = nilai_baru2
WHERE  kondisi;
🔹 Skenario: Pasien Budi Santoso pindah alamat dan nomor RM yang dicatat salah perlu dikoreksi diagnosa
-- Update alamat pasien
UPDATE pasien
SET alamat = 'Jl. Sultan Adam No. 88, Banjarmasin'
WHERE no_rm = 'RM-2024-001';
-- Revisi diagnosa kunjungan (dokter mengoreksi kode ICD)
UPDATE kunjungan
SET diagnosa = 'J11.1 - Influenza dengan pneumonia'
WHERE id_kunjungan = 1;
⚠️
PERINGATAN KRITIS!

UPDATE tanpa WHERE = bencana! Kalau kamu nulis UPDATE pasien SET alamat = 'Jakarta' tanpa klausa WHERE, semua baris di tabel pasien akan diubah alamatnya jadi Jakarta. Ini salah satu human error paling sering terjadi di database production. Selalu verifikasi kondisi WHERE sebelum eksekusi UPDATE!

🗑️ DELETE: Hapus Data dengan Penuh Tanggung Jawab

📐 Sintaks DELETE
DELETE FROM nama_tabel
WHERE       kondisi;
🔹 Skenario: Hapus kunjungan yang ternyata diinput ganda (duplikat)
-- Step 1: CEK DULU sebelum hapus
SELECT * FROM kunjungan WHERE id_kunjungan = 7;

-- Step 2: Baru hapus setelah yakin
DELETE FROM kunjungan
WHERE id_kunjungan = 7;

Pro tip: Selalu jalankan SELECT dengan kondisi yang sama dulu sebelum DELETE. Pastikan kamu hapus yang benar!

🛡️
TIPS KEAMANAN DATA REKAM MEDIS
📌 Gunakan transaksi (BEGIN/COMMIT/ROLLBACK) saat melakukan UPDATE atau DELETE massal agar bisa dibatalkan jika ada kesalahan.
📌 Terapkan soft delete — daripada benar-benar hapus, tambahkan kolom is_deleted BOOLEAN dan ubah nilainya. Di rekam medis, data pasien tidak boleh dihapus permanen tanpa prosedur resmi.
📌 Hal ini sesuai dengan Permenkes No. 269/MENKES/PER/III/2008 tentang Rekam Medis yang mewajibkan penyimpanan data rekam medis minimal 5 tahun. [5]

🔎 Referensi Cepat: Operator WHERE & ORDER BY

Ini cheat sheet yang wajib kamu tempel di dinding kamar — atau minimal disave di notesmu. Semua operator ini bisa dipakai di semua DML yang pakai WHERE.

Operator Fungsi Contoh di Rekam Medis
= Sama dengan WHERE no_rm = 'RM-001'
<> atau != Tidak sama dengan WHERE jenis_kelamin <> 'L'
BETWEEN ... AND Antara dua nilai WHERE tgl BETWEEN '2024-01-01' AND '2024-12-31'
LIKE '%..%' Pencocokan pola teks WHERE diagnosa LIKE '%diabetes%'
IN (...) Cocok salah satu dari daftar WHERE no_rm IN ('RM-001','RM-002')
IS NULL Nilai kosong/tidak terisi WHERE diagnosa IS NULL
AND / OR / NOT Gabungkan kondisi WHERE jk='P' AND umur > 40
🌟
INSIGHT DUNIA KERJA RMIK

Dalam standar HL7 FHIR (Fast Healthcare Interoperability Resources) yang menjadi acuan interoperabilitas data kesehatan global, kemampuan query SQL dasar — termasuk SELECT dengan WHERE dan ORDER BY — masih menjadi fondasi back-end sistem informasi rumah sakit. Menurut Benson & Grieve (2021) dalam Principles of Health Interoperability, petugas rekam medis yang paham SQL minimal pada level query dasar punya nilai tambah signifikan dalam era SIMRS (Sistem Informasi Manajemen Rumah Sakit) berbasis digital. [6]

📚 Referensi

  1. Connolly, T. M., & Begg, C. E. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management (6th ed.). Pearson Education.
  2. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). Database System Concepts (7th ed.). McGraw-Hill Education.
  3. Date, C. J. (2012). An Introduction to Database Systems (8th ed.). Addison-Wesley.
  4. Ramakrishnan, R., & Gehrke, J. (2003). Database Management Systems (3rd ed.). McGraw-Hill.
  5. Kementerian Kesehatan RI. (2008). Peraturan Menteri Kesehatan RI Nomor 269/MENKES/PER/III/2008 tentang Rekam Medis. Jakarta: Kemenkes RI.
  6. Benson, T., & Grieve, G. (2021). Principles of Health Interoperability: SNOMED CT, HL7 and FHIR (4th ed.). Springer.
🎓 Kesimpulan: Kamu Sudah Pegang Kuncinya!

Dalam satu artikel ini, kamu sudah mempelajari empat perintah inti SQL DML yang menjadi tulang punggung sistem rekam medis digital:

INSERT — Tambah data baru pasien dan kunjungan
SELECT — Ambil dan tampilkan data sesuai kebutuhan
UPDATE — Perbarui informasi yang berubah
DELETE — Hapus data duplikat dengan bijak

Ditambah dua klausa super penting: WHERE untuk filter presisi dan ORDER BY untuk menampilkan data secara terurut. Ini bukan teori belaka — ini keahlian yang langsung kamu pakai saat kerja di TPPRJ, coding SIMRS, atau proyek skripsi kamu nanti.

💬 Yuk Diskusi Bareng!

Artikel ini bermanfaat? Coba tantangan kecil ini: Tulis query SELECT untuk menampilkan semua kunjungan pasien perempuan di bulan Januari 2024, diurutkan berdasarkan nama pasien A-Z. Tulis jawaban kamu di kolom komentar — biar kita koreksi bareng! 🎯

📝 Tulis Komentar 🔔 Subscribe Blog 📤 Share ke Teman
#SQL #BasisData #RekamMedis #DML #RMIK #Diploma3 #SIMRS #MySQL
📋 Meta Description (155 karakter)

Pelajari SQL DML INSERT, SELECT, UPDATE, DELETE + WHERE & ORDER BY lewat skenario data pasien rekam medis. Cocok untuk mahasiswa D3 RMIK semester 4!

No comments:

Post a Comment

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