DATA RELASIONAL DALAM ADMINISTRASI KESEHATAN: Primary Key, Foreign Key, Kardinalitas, dan Integritas Relasional
STRUKTUR DATA KESEHATAN
DATA RELASIONAL DALAM ADMINISTRASI KESEHATAN
Program Studi S1 Administrasi Kesehatan
Fakultas Ilmu Kesehatan
Universitas Muhammadiyah Sidenreng Rappang
Dosen Pengampu: Sunandar Said, S.Kep., Ns., M.Kes.
2026
Orientasi Bab
Pada pertemuan sebelumnya mahasiswa telah belajar membaca proses pelayanan sebagai suatu model konseptual dengan mengenali entitas, atribut, hubungan, dan aturan bisnis. Model konseptual tersebut membantu kita memahami objek apa saja yang terdapat dalam suatu proses pelayanan kesehatan dan bagaimana objek tersebut saling berhubungan.
Pada Bab 6, pembelajaran bergerak satu tahap lebih lanjut. Mahasiswa mulai mempelajari bagaimana entitas-entitas tersebut diterjemahkan menjadi tabel yang dapat saling terhubung. Dengan kata lain, model konseptual mulai dikembangkan menjadi model data relasional.
Dalam administrasi kesehatan, data hampir tidak pernah berdiri sendiri. Data pasien perlu dihubungkan dengan data kunjungan. Data kunjungan perlu dihubungkan dengan unit pelayanan. Pelayanan perlu dikaitkan dengan tenaga kesehatan yang memberikan pelayanan. Pada kondisi tertentu, sebuah kunjungan juga dapat menghasilkan data rujukan.
Model relasional memungkinkan hubungan tersebut dibangun secara sistematis melalui penggunaan primary key, foreign key, dan aturan kardinalitas. Dengan struktur tersebut, informasi tidak perlu ditulis berulang kali pada setiap tabel.
Capaian Pembelajaran
- Menjelaskan prinsip model data relasional dalam administrasi kesehatan.
- Membedakan identifier, candidate key, primary key, dan foreign key.
- Menentukan primary key dan foreign key pada tabel pelayanan kesehatan.
- Menjelaskan hubungan one-to-one, one-to-many, dan many-to-many.
- Memecahkan hubungan many-to-many menggunakan tabel penghubung.
- Menjelaskan konsep integritas referensial dan orphan record.
- Menyusun skema relasional sederhana untuk administrasi Puskesmas.
6.1 Dari Model Konseptual ke Model Relasional
Model konseptual menggambarkan dunia nyata dalam bentuk entitas, atribut, dan hubungan. Pada tahap tersebut kita belum terlalu memikirkan bagaimana data akan disimpan secara teknis.
Ketika memasuki model relasional, setiap entitas mulai diterjemahkan menjadi sebuah tabel. Atribut menjadi kolom, sedangkan satu kejadian atau satu objek tertentu menjadi sebuah baris atau record.
Sebagai contoh, entitas PASIEN dapat diterjemahkan menjadi tabel PASIEN. Atribut seperti id_pasien, nama_pasien, tanggal_lahir, jenis_kelamin, dan alamat menjadi kolom dalam tabel tersebut.
Entitas KUNJUNGAN juga menjadi tabel tersendiri karena satu pasien dapat datang berkali-kali ke fasilitas kesehatan.
Entitas → Tabel
Atribut → Kolom
Instance/Kejadian → Baris atau Record
Relationship → Hubungan melalui Foreign Key
6.2 Memahami Tabel, Baris, dan Kolom
Dalam database relasional, setiap tabel sebaiknya memiliki satu tujuan yang jelas. Tabel PASIEN menyimpan fakta tentang pasien. Tabel KUNJUNGAN menyimpan fakta tentang kejadian kunjungan. Tabel PELAYANAN menyimpan fakta tentang pelayanan yang diberikan.
Sebelum membuat sebuah tabel, mahasiswa perlu menjawab pertanyaan: “Satu baris pada tabel ini mewakili apa?”
Jika satu baris pada tabel PASIEN mewakili satu pasien, maka seluruh kolom dalam tabel tersebut harus menggambarkan karakteristik pasien. Jika satu baris pada KUNJUNGAN mewakili satu kejadian kunjungan, maka atribut yang disimpan harus berkaitan dengan kejadian tersebut.
6.3 Identifier dan Candidate Key
Dalam sebuah tabel kita membutuhkan atribut yang dapat membedakan satu record dengan record lainnya. Atribut yang dapat digunakan sebagai calon pengenal unik disebut candidate key.
Sebagai contoh, NIK dapat menjadi candidate key pada tabel pasien. Namun, penggunaan NIK tidak selalu ideal karena terdapat kondisi tertentu ketika NIK belum tersedia, salah dicatat, atau mengalami masalah administrasi.
Oleh karena itu, sebuah organisasi dapat membuat identifier internal
seperti id_pasien. Identifier tersebut dibuat khusus oleh
sistem untuk membedakan setiap pasien secara unik.
6.4 Primary Key: Identitas Unik Setiap Record
Primary key adalah atribut yang dipilih untuk mengenali setiap record secara unik dalam sebuah tabel.
Primary key harus bersifat unik, tidak boleh digunakan oleh dua record yang berbeda, dan sebisa mungkin tidak berubah.
| Tabel | Primary Key | Fungsi |
|---|---|---|
| PASIEN | id_pasien | Mengenali setiap pasien secara unik |
| KUNJUNGAN | id_kunjungan | Mengenali setiap kejadian kunjungan |
| UNIT_PELAYANAN | id_unit | Mengenali setiap unit pelayanan |
| TENAGA_KESEHATAN | id_petugas | Mengenali setiap tenaga kesehatan |
| PELAYANAN | id_pelayanan | Mengenali setiap kejadian pelayanan |
| RUJUKAN | id_rujukan | Mengenali setiap kejadian rujukan |
6.5 Foreign Key: Penghubung Antartabel
Jika primary key berfungsi mengenali record dalam tabelnya sendiri, maka foreign key digunakan untuk menghubungkan record tersebut dengan record yang berada pada tabel lain.
Contohnya, tabel KUNJUNGAN memiliki kolom id_pasien.
Kolom tersebut bukan primary key KUNJUNGAN, tetapi merupakan foreign key
yang menunjuk kepada PASIEN.id_pasien.
Dengan demikian, kita mengetahui pasien mana yang melakukan suatu kunjungan tanpa perlu menulis nama pasien berulang kali pada tabel KUNJUNGAN.
| Tabel Anak | Foreign Key | Mengacu ke |
|---|---|---|
| KUNJUNGAN | id_pasien | PASIEN.id_pasien |
| KUNJUNGAN | id_unit | UNIT_PELAYANAN.id_unit |
| PELAYANAN | id_kunjungan | KUNJUNGAN.id_kunjungan |
| PELAYANAN | id_petugas | TENAGA_KESEHATAN.id_petugas |
| RUJUKAN | id_kunjungan | KUNJUNGAN.id_kunjungan |
Primary Key menjawab: “Record yang mana?”
Foreign Key menjawab: “Record ini berhubungan dengan record yang mana pada tabel lain?”
6.6 Integritas Referensial dan Orphan Record
Hubungan antartabel harus dijaga agar tetap valid. Prinsip ini disebut integritas referensial.
Misalnya pada tabel KUNJUNGAN terdapat id_pasien = P003.
Maka P003 harus benar-benar tersedia pada tabel PASIEN.
Jika tabel KUNJUNGAN mencatat id_pasien = P999, tetapi
P999 tidak terdapat pada tabel PASIEN, maka record kunjungan tersebut
tidak memiliki induk yang valid.
Orphan record dapat menyebabkan kesalahan laporan, kesulitan penelusuran riwayat pasien, serta menurunkan kualitas data fasilitas kesehatan.
6.7 Kardinalitas
Kardinalitas menjelaskan berapa banyak record dari satu entitas yang dapat berhubungan dengan record pada entitas lainnya.
6.7.1 One-to-One (1:1)
Hubungan 1:1 berarti satu record pada tabel pertama berhubungan dengan maksimal satu record pada tabel kedua, dan sebaliknya.
Contohnya harus selalu mengikuti aturan bisnis organisasi. Dalam sistem tertentu, satu kunjungan mungkin hanya memiliki satu dokumen khusus. Jika demikian, hubungan dapat bersifat 1:1.
6.7.2 One-to-Many (1:N)
Hubungan 1:N merupakan bentuk yang paling sering ditemukan dalam administrasi kesehatan.
Contohnya, satu pasien dapat melakukan banyak kunjungan, tetapi satu kunjungan hanya berkaitan dengan satu pasien.
Foreign key id_pasien ditempatkan pada tabel KUNJUNGAN
karena KUNJUNGAN berada pada sisi banyak.
Contoh lainnya adalah satu unit pelayanan dapat menerima banyak kunjungan.
6.7.3 Many-to-Many (N:M)
Hubungan N:M terjadi apabila satu record pada tabel pertama dapat berhubungan dengan banyak record pada tabel kedua, dan satu record pada tabel kedua juga dapat berhubungan dengan banyak record pada tabel pertama.
Sebagai contoh, satu kunjungan dapat melibatkan beberapa tenaga kesehatan. Pada sisi lain, satu tenaga kesehatan dapat memberikan pelayanan kepada banyak kunjungan.
Hubungan seperti ini tidak sebaiknya langsung ditulis dengan banyak ID dalam satu sel. Hubungan tersebut harus dipecah menggunakan tabel penghubung.
id_petugas = P001, P003, P005 dalam satu sel.
Setiap hubungan harus menjadi record tersendiri.
6.8 Composite Key dan Tabel Penghubung
Hubungan many-to-many biasanya dipecah menggunakan tabel penghubung atau associative entity.
Dalam kasus Puskesmas, tabel PELAYANAN dapat berfungsi sebagai penghubung antara KUNJUNGAN dan TENAGA_KESEHATAN.
Setiap baris pada PELAYANAN dapat menyimpan informasi mengenai kunjungan tertentu, tenaga kesehatan tertentu, jenis pelayanan, serta hasil pelayanan.
Dalam sistem tertentu, tabel penghubung dapat menggunakan
composite key, yaitu primary key yang terdiri atas lebih
dari satu atribut. Namun, dalam contoh praktikum kita dapat menggunakan
identifier sederhana seperti id_pelayanan.
6.9 Skema Relasional Puskesmas Harapan Sehat
Model konseptual pada pertemuan sebelumnya dapat dikembangkan menjadi enam tabel utama, yaitu PASIEN, UNIT_PELAYANAN, TENAGA_KESEHATAN, KUNJUNGAN, PELAYANAN, dan RUJUKAN.
| Tabel | PK | FK | Atribut Contoh |
|---|---|---|---|
| PASIEN | id_pasien | - | nama_pasien, tgl_lahir, jk |
| UNIT_PELAYANAN | id_unit | - | nama_unit, jenis_unit |
| TENAGA_KESEHATAN | id_petugas | - | nama_petugas, profesi |
| KUNJUNGAN | id_kunjungan | id_pasien, id_unit | tgl_kunjungan, keluhan_awal |
| PELAYANAN | id_pelayanan | id_kunjungan, id_petugas | jenis_pelayanan, hasil_pelayanan |
| RUJUKAN | id_rujukan | id_kunjungan | tgl_rujukan, alasan, fasilitas_tujuan |
6.10 Mengapa Nama Tidak Perlu Disalin ke Semua Tabel?
Salah satu kesalahan umum dalam pengelolaan data adalah menulis nama pasien pada setiap record pelayanan dan kunjungan.
Misalnya Andi Rahmat berkunjung sebanyak 20 kali. Jika setiap tabel kunjungan menyimpan nama lengkapnya, maka nama tersebut ditulis berulang sebanyak 20 kali.
Masalah muncul apabila suatu hari nama tersebut dikoreksi. Pengelola harus mencari semua baris dan memperbaikinya satu per satu.
Dalam model relasional, identitas pasien disimpan satu kali pada tabel
PASIEN. Tabel KUNJUNGAN cukup menyimpan id_pasien.
6.11 Kesalahan Umum dalam Membuat Relasi
Beberapa kesalahan yang sering terjadi ketika mahasiswa pertama kali membuat model relasional adalah menggunakan nama sebagai primary key, menempatkan foreign key pada sisi hubungan yang tidak tepat, memasukkan beberapa ID dalam satu sel, membuat ID pasien baru untuk pasien yang sebenarnya sama, dan membiarkan foreign key menunjuk ke record yang tidak tersedia.
Kesalahan lain adalah menentukan kardinalitas hanya berdasarkan perkiraan. Kardinalitas seharusnya ditentukan berdasarkan aturan proses pelayanan yang sebenarnya.
6.12 Studi Kasus: Puskesmas Harapan Sehat
Puskesmas Harapan Sehat sebelumnya menyimpan seluruh informasi pelayanan dalam satu spreadsheet besar. Nama pasien, alamat, unit pelayanan, nama tenaga kesehatan, dan jenis pelayanan ditulis berulang pada setiap baris.
Akibatnya terdapat banyak variasi penulisan. Nama unit dapat ditulis “Poli Umum”, “Umum”, atau “PU”. Nama petugas juga dapat ditulis secara berbeda pada beberapa record.
Untuk memperbaiki kondisi tersebut, data kemudian dipisahkan menjadi data master dan data transaksi.
PASIEN, UNIT_PELAYANAN, dan TENAGA_KESEHATAN digunakan sebagai data master. KUNJUNGAN, PELAYANAN, dan RUJUKAN digunakan untuk mencatat kejadian transaksi.
Ketika seorang pasien datang kembali, sistem tidak membuat pasien baru.
Sistem menggunakan id_pasien yang sama dan membuat
id_kunjungan baru.
6.13 Praktikum: Membangun Relasi Tabel Pelayanan Puskesmas
-
Langkah 1 – Buat struktur workbook.
Buat workbook baru kemudian siapkan sheet PASIEN, UNIT_PELAYANAN, TENAGA_KESEHATAN, KUNJUNGAN, PELAYANAN, dan RUJUKAN. -
Langkah 2 – Tetapkan arti satu record.
Tentukan apa yang diwakili satu baris pada setiap tabel. Pada PASIEN satu baris berarti satu pasien. Pada KUNJUNGAN satu baris berarti satu kejadian kunjungan. -
Langkah 3 – Tentukan primary key.
Gunakan id_pasien, id_unit, id_petugas, id_kunjungan, id_pelayanan, dan id_rujukan sebagai primary key. -
Langkah 4 – Masukkan master data.
Buat minimal 10 pasien, 4 unit pelayanan, dan 5 tenaga kesehatan. Seluruh data harus berupa data fiktif. -
Langkah 5 – Tambahkan foreign key pada KUNJUNGAN.
Buat kolom id_pasien dan id_unit. Isi 15–20 record kunjungan menggunakan ID yang tersedia pada tabel master. -
Langkah 6 – Tambahkan foreign key pada PELAYANAN.
Buat kolom id_kunjungan dan id_petugas. Satu kunjungan boleh memiliki lebih dari satu pelayanan. -
Langkah 7 – Uji hubungan 1:N.
Pilih satu pasien lalu buat tiga kunjungan. id_pasien tetap sama, sedangkan id_kunjungan berbeda. -
Langkah 8 – Uji hubungan N:M.
Gunakan beberapa petugas untuk beberapa kunjungan melalui tabel PELAYANAN. -
Langkah 9 – Uji integritas referensial.
Masukkan sementara id_pasien P999 pada tabel KUNJUNGAN. Periksa apakah P999 terdapat pada tabel PASIEN. Jika tidak, tandai sebagai orphan record. -
Langkah 10 – Tampilkan informasi tanpa menduplikasi data.
Gunakan XLOOKUP untuk menampilkan nama pasien berdasarkan id_pasien. -
Langkah 11 – Uji pertanyaan manajerial.
Hitung jumlah kunjungan per pasien, jumlah kunjungan per unit, jumlah pelayanan per tenaga kesehatan, dan kunjungan yang memiliki lebih dari satu pelayanan. -
Langkah 12 – Dokumentasikan skema relasional.
Buat diagram yang menunjukkan tabel, primary key, foreign key, dan kardinalitas.
Lembar Kerja Praktikum
| Tabel | Arti Satu Record | Primary Key | Foreign Key | Kardinalitas |
|---|---|---|---|---|
| PASIEN | ||||
| UNIT_PELAYANAN | ||||
| TENAGA_KESEHATAN | ||||
| KUNJUNGAN | ||||
| PELAYANAN | ||||
| RUJUKAN |
6.14 Tugas Kelompok Pertemuan 6
Mahasiswa diminta mengubah model konseptual yang telah dibuat pada Pertemuan 5 menjadi model data relasional. Struktur minimal harus memuat empat tabel yang saling berhubungan.
- Jelaskan arti satu record dari masing-masing tabel.
- Tentukan primary key dan foreign key.
- Jelaskan alasan pemilihan setiap key.
- Identifikasi sedikitnya dua hubungan 1:N.
- Jika terdapat hubungan N:M, gunakan tabel penghubung.
- Buat data simulasi dan tidak menggunakan data pasien nyata.
- Buat satu contoh orphan record kemudian jelaskan cara memperbaikinya.
- Presentasikan minimal dua informasi manajerial yang dapat dihasilkan.
Rubrik Penilaian
| Komponen Penilaian | Bobot |
|---|---|
| Ketepatan tabel dan granularitas | 15% |
| Ketepatan primary key | 15% |
| Ketepatan foreign key | 20% |
| Ketepatan kardinalitas | 15% |
| Penanganan hubungan N:M | 10% |
| Integritas referensial | 10% |
| Kualitas data simulasi | 10% |
| Presentasi dan argumentasi | 5% |
| Total | 100% |
6.15 Evaluasi Formatif
-
Fungsi utama primary key adalah ...
A. Menyimpan semua nama pasien
B. Mengenali setiap record secara unik
C. Menghubungkan semua tabel tanpa aturan
D. Mengganti seluruh atribut dengan angka -
Dalam hubungan PASIEN 1:N KUNJUNGAN, lokasi foreign key
yang paling tepat adalah ...
A. PASIEN.id_kunjungan
B. KUNJUNGAN.id_pasien
C. PASIEN.nama_pasien
D. UNIT.id_pasien -
KUNJUNGAN.id_pasien = P999, tetapi P999 tidak tersedia pada
tabel PASIEN. Kondisi ini disebut ...
A. Coding
B. Derived variable
C. Orphan record
D. Metadata -
Satu pasien dapat melakukan banyak kunjungan, sedangkan satu
kunjungan hanya terkait dengan satu pasien. Kardinalitasnya adalah ...
A. 1:1
B. 1:N
C. N:M
D. Tidak memiliki hubungan -
Mengapa nama pasien tidak ideal digunakan sebagai primary key?
A. Nama selalu numerik
B. Nama tidak dibutuhkan
C. Nama dapat sama, berubah, atau berbeda ejaan
D. Primary key wajib berupa tanggal -
Hubungan many-to-many sebaiknya ...
A. Disimpan sebagai banyak ID dalam satu sel
B. Dipecah menggunakan tabel penghubung
C. Dihapus dari model
D. Selalu diubah menjadi 1:1 -
Pada tabel PELAYANAN, id_kunjungan berfungsi sebagai ...
A. Foreign key menuju KUNJUNGAN
B. Nama petugas
C. Primary key PASIEN
D. Atribut alamat -
Contoh integritas referensial yang benar adalah ...
A. Setiap foreign key mengacu pada record induk yang tersedia
B. Semua tabel memiliki nama pasien
C. Semua field berupa angka
D. Satu sel berisi beberapa ID -
Satu baris pada KUNJUNGAN sebaiknya mewakili ...
A. Satu pasien sepanjang hidup
B. Satu kejadian kunjungan
C. Seluruh unit pelayanan
D. Seluruh tenaga kesehatan -
Tujuan utama memisahkan PASIEN dan KUNJUNGAN adalah ...
A. Memperbanyak tabel
B. Mengurangi redundansi dan memisahkan master dari transaksi
C. Menghilangkan hubungan pasien dengan pelayanan
D. Membuat laporan lebih sulit
Kunci dan Pembahasan Singkat
- B. Primary key membedakan setiap record secara unik.
- B. Foreign key ditempatkan pada sisi banyak, yaitu KUNJUNGAN.
- C. Record tersebut disebut orphan record.
- B. Hubungan PASIEN–KUNJUNGAN adalah 1:N.
- C. Nama tidak menjamin keunikan dan dapat berubah.
- B. N:M dipecah menggunakan tabel penghubung.
- A. id_kunjungan menunjuk tabel KUNJUNGAN.
- A. Foreign key harus menunjuk record induk yang valid.
- B. Granularitas KUNJUNGAN adalah satu kejadian kunjungan.
- B. Pemisahan tabel mengurangi redundansi data.
6.16 Refleksi Pembelajaran
- Mengapa id_pasien tetap sama ketika seorang pasien datang kembali, sedangkan id_kunjungan harus berbeda?
- Apa risiko jika KUNJUNGAN memiliki id_pasien yang tidak tersedia pada tabel PASIEN?
- Hubungan mana yang paling sulit Anda tentukan kardinalitasnya?
- Informasi apa yang sebaiknya cukup disimpan pada tabel master?
- Informasi manajerial apa yang menjadi lebih mudah diperoleh setelah data disusun secara relasional?
Ringkasan Bab
Model data relasional mengubah model konseptual menjadi kumpulan tabel yang saling terhubung. Primary key digunakan untuk memberikan identitas unik pada setiap record, sedangkan foreign key digunakan untuk menghubungkan record pada tabel yang berbeda.
Hubungan antarentitas dapat berbentuk one-to-one, one-to-many, atau many-to-many. Hubungan many-to-many tidak sebaiknya disimpan langsung, tetapi perlu dipecah menggunakan tabel penghubung.
Integritas referensial memastikan bahwa setiap foreign key menunjuk pada record yang valid. Penerapan model relasional yang tepat dapat mengurangi redundansi, meningkatkan konsistensi data, serta mempermudah penyusunan laporan dan analisis untuk mendukung pengambilan keputusan dalam administrasi kesehatan.
Daftar Pustaka
- Coronel, C., & Morris, S. (2023). Database Systems: Design, Implementation, & Management. Cengage.
- Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems (7th ed.). Pearson.
- Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). Database System Concepts (7th ed.). McGraw-Hill Education.
- World Health Organization. (2020). SCORE for Health Data Technical Package. Geneva: WHO.
Modul Struktur Data Kesehatan – Program Studi S1 Administrasi Kesehatan, Fakultas Ilmu Kesehatan, Universitas Muhammadiyah Sidenreng Rappang.
Komentar
Posting Komentar
Terima kasih atas komentarnya