86
PERANCANGAN S IS TEM YANG DIUS ULKAN
4.1 Rancangan Basis Data
4.1.1 Perancangan Basis Data Konseptual
Proses membangun model informasi yang digunakan dalam sebuah enterprise, terbebas dari semua pertimbangan fisik.
4.1.1.1 Identifikasi Tipe-tipe Entiti
Pada tahapan ini dilakukan identifikasi tipe entiti utama yang diperlukan oleh Karyawan view..
Tabel 4.1 Tabel Data Dictionary Tipe-tipe Entiti
Entity Name Desciption Aliases Occurance
Pasien Istilah yang digunakan untuk orang yang berobat
Pasien Setiap pasien melakukan registrasi
untuk pertama kali berobat. Kemudian pasien mendapatkan pelayanan
pengobatan. Setiap pasien dapat ditangani oleh satu
atau lebih pelayan medis
Entity Name Desciption Aliases Occurance
Pelayan medis Istilah yang digunakan pada profesional dalam menangani proses pengobatan pasien.
Dokter, Bidan, Perawat
Setiap pelayan medis yang hadir, wajib mengisi absensi sebelum melakukan praktek. Dalam prakteknya pelayan medis dapat melayani satu atau lebih pasien
Pelayanan M edis
Istilah untuk kamar perawatan yang digunakan dalam proses persalinan atau pun currete.
IKB, Pemeriksaan Rutin, Ruang Inap Setiap pelayanan medis dapat menerima satu atau
lebih pasien. Pelayanan medis juga
dilayani oleh satu atau lebih pelayan medis.
Karyawan Istilah yang digunakan untuk pegawai yang bekerja di Rumah Bersalin dan Praktek Dokter (selain Dokter dan Bidan).
Administrasi, Kasir
Setiap karyawan dapat melayani satu atau lebih pasien.
Entity Name Desciption Aliases Occurance
Tagihan Istilah yang digunakan untuk penagihan kepada pasien.
Tagihan Setiap tagihan dibuat oleh satu karyawan administrasi, sedangkan setiap karyawan
administrasi dapat membuat satu atau lebih tagihan. Dimana setiap pasien dapat menerima satu atau lebih tagihan dari pelayanan medis yang diterima.
Pembayaran Istilah yang digunakan untuk semua transaksi pembayaran dari pasien
Pembayaran Setiap transaksi pembayaran mencatat pembayaran yang dilakukan oleh pasien.
Jadwal Istilah yang digunakan untuk shift kerja dokter/bidan dan staff.
Jadwal Setiap dokter/bidan
dan karyawan memiliki shift kerja yang berbeda.
4.1.1.2 Identifikasi Tipe-tipe Relasi
Pada tahapan ini dilakukan identifikasi relasi penting yang ada antara tipe entiti yang telah teridentifikasi.
Tabel 4.2 Tabel Kamus Data yang Menunjukkan Relasi Antar Tipe Entiti
Entity Name Multiplicity Relationship Entity Name Multiplicity
Pasien 1..1 M enerima Tagihan 1..*
1..1 M elakukan Pembayaran 1..*
Pelayan M edis 1..* M emeriksa/merawat Pasien 0..*
1..1 M emperoleh Jadwal 1..*
Karyawan 1..1 M emberikan Tagihan 0..*
1..* M enerima Pembayaran 0..*
1..* M elayani Pasien 0..*
Pelayanan M edis 1..* M enerima Pasien 0..* 0..* M empunyai Pelayan M edis 0..*
Gambar 4.1 Entity Relationship Diagram (ERD) Model Data Konseptual
4.1.1.3 Identifikasi Atribut dan Domain Atribut
Pada tahapan ini, atribut dihubungkan dengan entiti atau tipe entiti yang tepat beserta penampung atributnya.
Tabel 4.3 Tabel Identifikasi Atribut dan Domain Atribut
Entity Name Attribute Description Data type
and Length
NULLS Multi Valued
Pasien KdPasien Secara unik
mengidentifikasi pasien
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
NamaDepanPasien Nama depan pasien Varchar (15)
NO NO
NamaBelakangPasien Nama belakang pasien,
Default value = ‘ ‘
Varchar (15)
YES NO
TempatLahirPasien Tempat lahir pasien Varchar (30)
NO NO
TanggalLahirPasien Tanggal lahir pasien
Date () NO NO
AlamatPasien Alamat pasien Varchar (100)
NO NO
UmurPasien Umur pasien Numeric, range 1-100
NO NO Pasien
GolDarahPasien Kategori darah yang dimiliki pasien varchar(2) , must be one of A,AB,B, or O YES NO
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
JnsKelaminPasien Jenis kelamin pasien, value(M=Male, F=Female) Char(1), must be one of’M’, or ‘F’ NO NO
TelpPasien Nomor telepon
pasien, Default value = ‘ ‘ Varchar (13), range [0-9] YES YES Pasien
AgamaPasien Agama yang dianut pasien char(1), must be I,K,P,H,B, O. value (i=islam, K=katolik, P=protest an, H=hindu, B=Budha, O=others) NO NO
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
NamaOrtuPasien Nama orang tua pasien (ibu atau bapak)
Varchar (30)
NO NO
NamaSuamiPasien Nama suami pasien, Default value = ‘ ‘
Varchar (30)
YES NO
KdKaryawan Secara unik
mengidentifikasi karyawan
Char (5) NO NO
NamaDepanKaryawan Nama depan karyawan Varchar (15) NO NO NamaBelakangKaryawan Nama belakang karyawan, Default value = ‘ ‘ Varchar (15) YES NO
Password Password yang
digunakan karyawan untuk login Varchar (10) NO NO Karyawan
TempatLahirKaryawan Tempat lahir karyawan
Varchar (30)
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
TanggalLahirKaryawan Tanggal lahir karyawan
Date () NO NO
AlamatKaryawan Alamat karyawan Varchar (100)
NO NO
JnsKelaminKaryawan Jenis kelamin karyawan, value(M=Male, F=Female) Char(1), must be one of ’M’, or ‘F’ NO NO
TelpKaryawan Nomor telepon
karyawan, Default value = ‘ ‘ Varchar (13), range [0-9] YES YES
AgamaKaryawan Agama yang dianut Karyawan char(1), must be I,K,P,H,B, O. NO NO
UmurKaryawan Umur karyawan Numeric, range 1-100
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
JabatanKaryawan Jabatan karyawan Varchar (30)
NO NO
KdPelM ed Secara unik
mengidentifikasika n pelayan medis
Char (5) NO NO
NamaDepanPelM ed Nama depan pelayan medis
Varchar (15)
NO NO
NamaBelakangPelM ed Nama belakang pelayan medis,
Default value = ‘ ‘
Varchar (15)
YES NO
TempatLahirPelM ed Tempat lahir pelayan medis
Varchar (30)
NO NO
TanggalLahirPelM ed Tanggal lahir pelayan medis
Date () NO NO
AlamatPelM ed Alamat pelayan medis
Varchar (100)
NO NO PelayanM edis
JnsKelaminPelM ed Jenis kelamin value(M=Male, F=Female)
Char(1),’ M’, or ‘F’
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
TelpPelM ed Nomor telepon
pelayan medis, Default value = ‘ ‘ Varchar (13), range [0-9] YES YES
AgamaPelM ed Agama yang dianut pelayan medis char(1), must be I,K,P,H,B, O. value (i=islam, K=katolik, P=protest an, H=hindu, B=Budha, O=others) NO NO
UmurPelM ed Umur pelayan
medis
Numeric, range 1-100
NO NO
JabatanPelM ed Jabatan pelayan medis
Varchar (30)
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
PendTerakhirPelM ed Pendidikan terakhir yang ditempuh
pelayan medis
Varchar (30)
NO NO
KdPelayanan Secara unik
mengidentifikasi pelayanan medis
Char (5) NO NO
NamaPelayanan Nama jenis
pelayanan medis yang diterima pasien Varchar (30) NO NO PelayananM edis
Tarif Biaya jasa yang
diterima oleh dokter, bidan, perawat
decimal NO NO
KdJadwal Secara unik
mengidentifikasi jadwal
Char (5) NO NO
Jadwal
WaktuJadwal Waktu kerja (shift) yang diterima oleh pelayan medis
Datetime ()
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
Jam Jam kerja Datetime
()
NO NO
Hari Hari kerja Date () NO NO
Bulan Bulan kerja Month () NO NO
Tahun Tahun kerja Year () NO NO
KdTagihan Secara unik
mengidentifikasika n tagihan yang dibebankan ke pasien
Char (5) NO NO
TglTagihan Tanggal pemberian
tagihan kepada pasien
Date () NO NO
Jumlah Bilangan jumlah
( berapa lama dalam proses pelayanan )
int NO NO
Tagihan
Tarif Biaya jasa yang
diterima oleh pelayan medis
Entity Name Attribute Description Data type and
Length
NULLS Multi
Valued
Subtotal Hasil dari jumlah dikali dengan tarif yang dikenakan pasien
decimal NO NO
Total Jumlah keseluruhan
dari subtotal yang akan dibayar pasien
decimal NO NO
Pembayaran KdPembayaran Secara unik mengidentifikasika
n pembayaran yang dilakukan pasien
Char (5) NO NO
4.1.1.4 Identifikasi Candidate Keys dan Primary Keys
Pada tahap ini mengidentifikasikan candidate key dan primary key yang dimiliki oleh setiap entity.
Tabel 4.4 Tabel Indentifikasi Candidate dan Primary Key S etiap Entiti
Entity Name Candidate Key Primary Key
Pasien KdPasien KdPasien
Pelayan M edis KdPelM ed KdPelM ed Pelayanan M edis KdPelayanan KdPelayanan
Jadwal KdJadwal KdJadwal
Tagihan KdTagihan KdTagihan
Pembayaran KdPembayaran KdPembayaran
Gambar 4.2 Entity Relationship Diagram (ERD) Model Data Konseptual dengan Primary Key
4.1.1.5 Identifikasi Penggunaan Enhanced Modelling Concepts
Tahap ini bertujuan untuk mempertimbangkan penggunaan Enhanced Modelling Concept, dimana didalamnya termasuk spsesialisasi / generalisasi, agregasi, dan komposisi.
Gambar 4.3 Enhanced Entity Relationship Diagram (EERD)
4.1.1.6 Pemeriksaan Model terhadap Redundansi
Langkah berikutnya adalah mengecek model redundansi. Ada dua tahap yang terdapat dalam langkah ini, yaitu :
1. M emeriksa kembali hubungan one-to-one (1:1)
Tahap ini dilakukan untuk menggabungkan dua entiti yang mewakili satu objek yang sama. Jika terdapat primary key yang berbeda, maka pilih salah satu untuk dijadikan primary key, sedangkan yang lainnya menjadi alternate key.
2. M enghilangkan relasi yang redundan
Tahap ini dilakukan untuk meminimalkan model data yang memiliki relasi redudan yang tidak perlu. Untuk mengidentifikasi entiti tersebut dapat dilihat dari jumlah path yang terbentuk dari dua entiti tersebut yang menunjukkan relasi yang sama.
Akan tetapi, pada perancangan basis data ini tidak ditemukan hubungan one-to-one dan tidak terdapat path yang menunjukkan relasi yang sama dari dua entiti, sehingga langkah ini tidak dilakukan.
4.1.1.7 Validasi Model Konseptual dengan Transaksi User
Tahapan ini bertujuan untuk memastikan model konseptual untuk mendukung transaksi yang dibutuhkan oleh user. Dalam validasi transaksi ini digunakan jalur pathways transaksi yang digambarkan dalam diagram ER untuk memeriksa model konseptual terhadap kebutuhan transaksi.
Adapun beberapa transaksi – transaksi yang terjadi adalah sebagai berikut :
a. Pencatatan data pasien baru
b. Pendaftaran pasien rawat inap pada instalasi rawat inap c. Daftar kelas kamar di instalasi rawat inap yang masih kosong
d. Pencatatan informasi diagnosa dan tindakan pada pasien pemeriksaan rutin
f. Pembayaran biaya pelayanan medis oleh pasien g. Pembagian jadwal untuk pelayan medis
h. Pembuatan laporan penerimaan pembayaran dari kasir ke administrasi
i. Pembuatan daftar laporan dari detail penggunaan instalasi kamar bersalin, ruang rawat inap
Gambar 4.4 Model Konseptual yang Mendukung Transaksi User dengan Menggunakan Pathways
4.1.2 Perancangan Basis Data Logikal
Pada tahapan ini, model data konseptual yang telah dibuat pada tahap perancangan basis data konseptual akan dipetakan ke dalam model data
0..*
logikal. Keseluruhan proses dari pengembangan pada tahap ini adalah penggunaan teknik normalisasi untuk menguji kebenaran model data logikal. Kemudian dari model data logikal lokal akan dikombinasikan menjadi model data logikal global tunggal.
Adapun langkah-langkah dalam tahapan ini adalah sebagai berikut : 4.1.2.1. Menghilangkan Fitur yang Tidak Kompatibel
Tujuan dari langkah ini adalah untuk memperbaiki model data konseptual lokal dengan menghilangkan fitur yang tidak kompatibel dengan model relasional. Adapun cara yang digunakan dalam tahapan ini adalah dengan menghilangkan hubungan many-to-many (*:*) binary relationship types. Hasil dari langkah ini secara keseluruhan dapat dilihat pada gambar diagram ER sebagai berikut : 1. M enghilangkan (*:*) many-to-many binary relationship
(b) Dekomposisi relasi (e) ke dalam dua relasi 1:* (merawat dan diperiksa)
(c) Karyawan menerima Pembayaran *:* relationship
(e) PelayananMedis menerima Pasien *:* relationship
(f) Dekomposisi relasi (e) ke dalam dua relasi 1:* (menerima dan berobat)
(h) Dekomposisi relasi (e) ke dalam dua relasi 1:* (menerima dan menangani)
(i) Karyawan melayani Pasien *:* relationship
(j) Dekomposisi relasi (e) ke dalam dua relasi 1:* (Melayani dan mendaftar) Gambar 4.5 Menghilangkan many-to-many Binary Relationship
2. M enghilangkan complex relationship types
M erupakan tipe relasi dimana tipe entiti yang sama berpartisipasi lebih dari satu kali dalam peranan yanng berbeda.
Dalam hal ini tidak ditemukan complex relationship pada ERD model konseptual.
3. M enghilangkan atribut multivalue
(a) Entiti Pasien dengan atribut TelpPasien yang multivalue
(b) Dekomposisi atribut TelpPasien pada entiti Pasien menjadi entiti baru bernama TelpPasien dengan atribut TelpPasien (primary key)
(c) Entiti Karyawan dengan atribut TelpKaryawan yang multivalue
(d) Dekomposisi atribut TelpKaryawan pad a entiti Karyawan menjadi entiti baru bernama TelpKary awan deng an atribut TelpKaryawan (primary key)
(e) Entiti PelayanMedis dengan atribut TelpPelMed yang multivalue
(f) Dekomposisi atribut TelpPelMed pada entiti PelayanMedis menjadi entiti baru bernama TelpPelMed dengan atribut TelpPelMed (primary key) Gambar 4.6 Menghilangkan Atribut Multivalue
4.1.2.2 Mendapatkan Relasi untuk Model Data Logikal Lokal 1. One to Many (1:*) binary relationship types
M asukkan KdPasien ke dalam Tagihan untuk membentuk relasi menerima (1:*)
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien,
UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien )
Tagihan ( KdTagihan, TglTagihan, subtotal, tarif, jumlah, total, KdPasien )
Primary Key KdPasien Primary Key KdTagihan Foreign Key KdPasien
M asukkan KdPasien ke dalam Pembayaran untuk membentuk relasi melakukan (1:*)
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien,
UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien )
Pembayaran ( KdPembayaran, KdPasien)
Primary Key KdPasien Primary Key KdPembayaran Foreign Key KdPasien
M asukkan KdPelMed ke dalam Jadwal untuk membentuk relasi memperoleh (1:*)
PelayanMedis ( KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, JabatanPelM ed, PendTerakhirPelM ed )
Jadwal ( KdJadwal, WaktuJadwal, Jam, Hari, Bulan, Tahun, KdPelM ed )
Foreign Key KdPelM ed
M asukkan KdKaryawan ke dalam Tagihan untuk membentuk relasi memberikan (1:*) Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan )
Tagihan ( KdTagihan, TglTagihan, subtotal, tarif, jumlah, total, KdPasien, KdKaryawan )
Primary Key KdKaryawan Primary Key KdTagihan
Foreign Key KdKaryawan, KdPasien
2. Superclass/ subclass relationship types
Pada model konseptual terdapat 1 entiti superclass (entiti Pelayanan M edis) dengan entiti subclassnya (entiti Instalasi Kamar Bersalin, Ruang Rawat Inap, Pemeriksaan Rutin :
Gambar 4.7 ERD Pelayanan Medis
PemeriksaanRutin ( KdPelayanan, NamaPemRutin, Tarif) Primary Key : KdPelayanan
InstalasiKamarBersalin ( KdPelayanan, NamaIKB, Tarif ) Primary Key : KdPelayanan
RuangRawatInap ( KdPelayanan, NamaRuangInap, Tarif, Keterangan )
Primary Key : KdPelayanan
3. Many-to-Many (*:*) binary relationship types PemeriksaanRutin ( KdPelayanan,
NamaPemRutin, Tarif)
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien,
UmurPasien, GolDarahPasien,
JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien ) Primary Key : KdPelayanan Primary Key : KdPasien
PemerikasaanRutin_Pasien (KdPelayanan, KdPasien, TglPeriksa, Deskripsi) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references PemeriksaanRutin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
InstalasiKamarBersalin (KdPelayanan, NamaIKB, Tarif )
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien ) Primary Key : KdPelayanan Primary Key : KdPasien
InstalasiKamarBersalin_Pasien (KdPelayanan, KdPasien, TglIKB, Deposit) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references InstalasiKamarBersalin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
RuangRawatInap ( KdPelayanan, NamaRuangInap, Tarif, Keterangan )
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien ) Primary Key : KdPelayanan Primary Key : KdPasien
RuangRawatInap_Pasien ( KdPelayanan, KdPasien, TglM asuk, TglKeluar, Deposit) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references RuangRawatInap (KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
PemeriksaanRutin ( KdPelayanan, NamaPemRutin, Tarif )
PelayanMedis ( KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed )
Primary Key : KdPelayanan Primary Key : KdPelM ed
PemeriksaanRutin_PelayanMedis (KdPelayanan, KdPelM ed) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references PemeriksaanRutin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
InstalasiKamarBersalin ( KdPelayanan, NamaIKB, Tarif )
PelayanMedis (KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed ) Primary Key : KdPelayanan Primary Key : KdPelM ed
InstalasiKamarBersalin_PelayanMedis (KdPelayanan, KdPelM ed) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references InstalasiKamarBersalin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
RuangRawatInap (KdPelayanan, NamaRuangInap, Tarif, Keterangan )
PelayanMedis (KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed ) Primary Key : KdPelayanan Primary Key : KdPelM ed
RuangRawatInap_PelayanMedis (KdPelayanan, KdPelM ed) Primary key KdRuangInap, KdPelM ed
Foreign Key KdRuangInap references RuangRawatInap (KdRuangInap) Foreign Key KdPelM ed references PelayanM edis(KdPelM ed)
Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan )
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, AgamaPasien, NamaOrtuPasien, NamaSuamiPasien )
Primary Key : KdKaryawan Primary Key : KdPasien
Karyawan_Pasien (KdKaryawan, KdPasien) Primary key KdKaryawan, KdPasien
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPasien references Pasien (KdPasien)
Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan ) Pembayaran ( KdPembayaran)
Primary Key : KdKaryawan Primary Key : KdPembayaran Foreign Key : KdTagihan
Karyawan_Pembayaran (KdKaryawan, KdPembayaran) Primary key KdKaryawan, KdPembayaran
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPembayaran references Pembayaran (KdPembayaran)
PelayanMedis (KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed )
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien,
TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien,
NamaOrtuPasien, NamaSuamiPasien )
Primary Key : KdPelM ed Primary Key : KdPasien
PelayanMedis_Pasien (KdPelM ed, KdPasien) Primary key KdPelM ed, KdPasien
Foreign Key KdPelM ed references PelayanM edis (KdPelM ed) Foreign Key KdPasien references Pasien (KdPasien)
4. Complex relationship types
Dalam hal ini analisa mengenai complex relationship types tidak ditemukan dalam relasi model data logikal.
5. Multi-valued attributes
M asukkan Pasien ke dalam TelpPasien
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien,
UmurPasien, GolDarahPasien, JnsKelaminPasien, A gamaPasien, NamaOrtuPasien, NamaSuamiPasien )
TelpPasien (KdPasien, TelpPasien)
Primary Key TelpPasien Primary Key Kdpasien
Foreign Key KdPasien
M asukkan Karyawan ke dalam TelpKaryawan
Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan ) TelpKaryawan (KdKaryawan, TelpKaryawan)
Primary Key TelpKaryawan Primary Key KdKaryawan
M asukkan PelayanMedis ke dalam TelpPelMed
PelayanMedis ( KdPelM ed, NamaDepanPelM ed,
NamaBelakangPelM ed, TempatLahirPelM ed,
TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed )
TelpPelMed (KdPelM ed, TelpPelM ed)
Primary Key TelpPelM ed Primary Key KdPelM ed
Foreign Key KdPelM ed
6. Document Relations and Foreign Key Attributes Tabel 4.5 Tabel Relasi Model Data Logikal Lokal
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, AgamaPasien, NamaOrtuPasien, NamaSuamiPasien )
Primary Key KdPasien
PelayanMedis ( KdPelM ed, NamaDepanPelM ed, NamaBelakangPelM ed,
TempatLahirPelM ed, TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed )
Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan )
Primary Key KdKaryawan
PemeriksaanRutin ( KdPelayanan, NamaPemRutin, Tarif ) Primary Key KdPelayanan
InstalasiKamarBersalin ( KdPelayanan, NamaIKB, Tarif ) Primary Key KdPelayanan
RuangRawatInap ( KdPelayanan, NamaRuangInap, Tarif, Keterangan ) Primary Key KdPelayanan
Jadwal ( KdJadwal, WaktuJadwal, Jam, Hari, Bulan, Tahun, KdPelM ed ) Primary Key KdJadwal
Foreign Key KdPelM ed references PelayanM edis ( KdPelM ed )
Tagihan ( KdTagihan, TglTagihan, subtotal, tarif, jumlah, total, KdKaryawan, KdPasien)
Primary Key KdTagihan
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPasien references Pasien ( KdPasien )
Pembayaran ( KdPembayaran, KdPasien ) Primary Key KdPembayaran
Foreign Key KdPasien references Pasien ( KdPasien ) TelpPasien ( KdPasien, TelpPasien )
Foreign Key KdPasien
TelpKaryawan ( KdKaryawan, TelpKasir ) Primary Key TelpKaryawan
Foreign Key KdKaryawan
TelpPelMed ( KdPelM ed, TelpPelM ed ) Primary Key TelpPelM ed
Foreign Key KdPelM ed
PemerikasaanRutin_Pasien ( KdPelayanan, KdPasien, TglPeriksa, Deskripsi ) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references PemeriksaanRutin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
InstalasiKamarBersalin_Pasien ( KdPelayanan, KdPasien, TglIKB, Deposit ) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references InstalasiKamarBersalin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
RuangRawatInap_Pasien ( KdPelayanan, KdPasien, TglM asuk, TglKeluar, Deposit ) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references RuangRawatInap (KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
PemeriksaanRutin_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references PemeriksaanRutin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
InstalasiKamarBersalin_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references InstalasiKamarBersalin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
RuangRawatInap_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdRuangInap, KdPelM ed
Foreign Key KdRuangInap references RuangRawatInap (KdRuangInap) Foreign Key KdPelM ed references PelayanM edis(KdPelM ed)
Karyawan_Pasien ( KdKaryawan, KdPasien ) Primary key KdKaryawan, KdPasien
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPasien references Pasien (KdPasien)
Karyawan_Pembayaran ( KdPembayaran, KdKaryawan ) Primary key KdPembayaran, KdKaryawan
Foreign Key KdKaryawan references Karyawan (KdKaryawan) PelayanMedis_Pasien ( KdPelM ed, KdPasien )
Primary key KdPelM ed, KdPasien
Foreign Key KdPelM ed references PelayanM edis (KdPelM ed) Foreign Key KdPasien references Pasien (KdPasien)
4.1.2.3 Validasi Relasi dengan Normalisasi
Tujuan dari normalisasi adalah untuk memvalidasi relasi-relasi dalam model data logikal lokal dengan menggunakan teknik-teknik normalisasi. Pasien KdPasien NamaDepanPasien NamaBelakangPasien TempatLahirPasien TanggalLahirPasien AlamatPasien UmurPasien GolDarahPasien JnsKelaminPasien AgamaPasien NamaOrtuPasien NamaSuamiPasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) TelpPasien TelpPasien KdPasien Primary Key Primary Key
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) Karyawan KdKaryawan NamaDepanKaryawan NamaBelakangKaryawan Password TempatLahirKaryawan TanggalLahirKaryawan AlamatKaryawan JnsKelaminKaryawan AgamaKaryawan UmurKaryawan
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
TelpKaryawan TelpKaryawan
KdKaryawan Primary Key
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) PelayanMedis KdPelMed NamaDepanPelM ed NamaBelakangPelM ed TempatLahirPelM ed TanggalLahirPelM ed AlamatPelM ed JnsKelaminPelM ed AgamaPelM ed UmurPelM ed PendTerakhirPelM ed
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
TelpPelMed TelpPelM ed KdPelM ed
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
PemeriksaanRutin KdPelayanan NamaPemRutin Tarif
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) InstalasiKamarBersalin KdPelayanan NamaIKB Tarif Primary Key Primary Key Primary Key
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) RuangRawatInap KdPelayanan NamaRuangInap Tarif Keterangan
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) Jadwal KdJadwal WaktuJadwal Jam Hari Bulan Tahun KdPelM ed Primary Key Primary Key Foreign Key
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) Tagihan KdTagihan TglTagihan Subtotal Tarif Jumlah Total KdPasien KdKaryawan 1NF KdTagihan TglTagihan Tarif Jumlah KdPasien KdKaryawan
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) Primary Key Foreign Key Foreign Key Foreign Key Foreign Key Primary Key
Pembayaran KdPembayaran KdPasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
PemerikasaanRutin_Pasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF
KdPelayanan KdPasien
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
InstalasiKamarBersalin_Pasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group) TglPeriksa Deskripsi partial dependen cies Primary Key Foreign Key
2NF
KdPelayanan KdPasien
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
RuangRawatInap_Pasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF
KdPelayanan KdPasien
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
PemeriksaanRutin_PelayanMedis = (KdPelayanan + KdPelM ed) KdPelayanan
KdPelMed
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial) TglIKB Deposit TglM asuk TglKeluar Deposit partial dependen cies partial dependen cies Primary key Primary key
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) InstalasiKamarBersalin_PelayanMedis = (KdPelayanan + KdPelM ed) KdPelayanan KdPelMed
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
RuangRawatInap_PelayanMedis KdPelayanan
KdPelMed
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
Primary key
Karyawan_Pasien KdKaryawan KdPasien
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
Karyawan_Pembayaran KdPembayaran
KdKaryawan
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif) PelayanMedis_Pasien KdPelMed KdPasien Primary key Primary key Primary key
1NF (Sudah memenuhi syarat 1NF karena tidak terdapat repeating group)
2NF (Sudah memenuhi syarat 2NF karena tidak terdapat ketergantungan parsial)
3NF (Sudah memenuhi syarat 3NF karena tidak terdapat ketergantungan transitif)
4.1.2.4 Validasi Relasi Melalui Transaksi Pengguna
Semua relasi yang ada sudah normal, karena tahap perancangan basis data sumberdaya manusia pada Rumah Bersalin dan Praktek Dokter Yayasan Dewi Adhi Suci telah mengikuti semua langkah dalam tahap perancangan basisdata.
Gambar 4.8 Validasi Relasi terhadap Transaksi
a. List data pasien
b. Insert, update data pasien
c. List data pemeriksaan rutin (imunisasi, KB, Kehamilan)
d. Insert, update data pemeriksaan rutin (imunisasi, KB, kehamilan) e. List data ruang rawat inap
f. Insert, update data ruang rawat inap g. List data instalasi kamar bersalin
h. Insert, update data instalasi kamar bersalin i. Insert, update data tagihan
j. Insert, update data pembayaran
k. Insert, update jadwal praktek dokter / bidan dan shift jaga dokter / bidan / perawat
4.1.2.5 Menentukan Integrity Constraint
Pada bagian ini didefinisikan tindakan yang akan dilakukan pada saat dilakukan update pada foreign key yang terdapat di setiap entity, sehingga terjadi kesamaan data antara data yang terdapat pada primary key di entity lain dengan data pada foreign key pada suatu entity.
4.1.2.5.4 Required Data
Beberapa kolom harus memiliki sebuah nilai yang valid (tidak mengandung null). Null berbeda dari kosong atau
nol, dan digunakan untuk merepresentasikan data yang tidak tersedia, hilang, atau tidak dapat dipakai.
Tabel 4.6 Required Data
Entiti Name Attribute Deskripsi Tipe Data & Panjang NULL Multi value Pasien KdPasien NamaDepanPasien NamaBelakangPasien TempatLahirPasien TanggalLahirPasien AlamatPasien UmurPasien GolDarahPasien JnsKelaminPasien AgamaPasien NamaOrtuPasien NamaSuamiPasien KdPasien NamaDepanPasien NamaBelakangPasien TempatLahirPasien TanggalLahirPasien AlamatPasien UmurPasien GolDarahPasien JnsKelaminPasien AgamaPasien NamaOrtuPasien NamaSuamiPasien Char (5) Varchar (15) Varchar (15) Varchar (30) Date () Varchar (100) Numeric(1-100) Varchar (2) A,B,AB,O Char(1) F or M Char(1) I,K,P,B,H,O Varchar (30) Varchar (30) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO TelpPasien TelpPasien KdPasien TelpPasien KdPasien Varchar (13) [0-9] Char (5) NO NO NO NO
Entiti Name Attribute Deskripsi Tipe Data & Panjang NULL Multi value Karyawan KdKaryawan NamaDepanKaryawan NamaBelakangKaryaw an Password TempatLahirKaryawan TanggalLahirKaryawan AlamatKaryawan JnsKelaminKaryawan AgamaKaryawan UmurKaryawan KdKaryawan NamaDepanKaryawan NamaBelakangKaryaw an Password TempatLahirKaryawan TanggalLahirKaryawan AlamatKaryawan JnsKelaminKaryawan AgamaKaryawan UmurKaryawan Char (5) Varchar (15) Varchar (15) Varchar (10) Varchar (30) Date () Varchar (100) Char(1) F or M Char(1) I,K,P,B,H,O Numeric(1-100) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO TelpKaryawan TelpKaryawan KdKaryawan TelpKaryawan KdKaryawan Varchar (13) [0-9] Char (5) NO NO NO NO PelayanMedis KdPelM ed NamaDepanPelM ed NamaBelakangPelM ed TempatLahirPelM ed TanggalLahirPelM ed AlamatPelM ed KdPelM ed NamaDepanPelM ed NamaBelakangPelM ed TempatLahirPelM ed TanggalLahirPelM ed AlamatPelM ed Char (5) Varchar (15) Varchar (15) Varchar (30) Date () Varchar (100) NO NO NO NO NO NO NO NO NO NO NO NO
Entiti Name Attribute Deskripsi Tipe Data & Panjang NULL Multi value JnsKelaminPelM ed AgamaPelM ed UmurPelM ed PendTerakhirPelM ed JnsKelaminPelM ed AgamaPelM ed UmurPelM ed PendTerakhirPelM ed Char(1) F or M Char(1) I,K,P,B,H,O Numeric(1-100) Varchar (30) NO NO NO NO NO NO NO NO TelpPelMed TelpPelM ed KdPelM ed TelpPelM ed KdPelM ed Varchar (13) [0-9] Char (5) NO NO NO NO PemeriksaanR utin KdPelayanan NamaPemRutin Tarif KdPelayanan NamaPemRutin Tarif Char (5) Varchar (20) Long NO NO NO NO NO NO InstalasiKamar Bersalin KdPelayanan NamaIKB Tarif KdPelayanan NamaIKB Tarif Char (5) Varchar (20) Long NO NO NO NO NO NO RuangRawat Inap KdPelayanan NamaRuangInap Tarif Keterangan KdPelayanan NamaRuangInap Tarif Keterangan Char (5) Varchar (20) Long Varchar (20) NO NO NO NO NO NO NO NO Jadwal KdJadwal WaktuJadwal Jam KdJadwal WaktuJadwal Jam Char (5) Char (5) Datetime NO NO NO NO NO NO
Entiti Name Attribute Deskripsi Tipe Data & Panjang NULL Multi value Hari Bulan Tahun Hari Bulan Tahun Date Date Date NO NO NO NO NO NO Tagihan KdTagihan TglTagihan tarif jumlah KdTagihan TglTagihan tarif jumlah Char (5) Date () Long Int() NO NO NO NO NO NO NO NO Pembayaran KdPembayaran KdPasien KdPembayaran KdPasien Char (5) Char (5) NO NO NO NO Pemerikasaan Rutin_Pasien KdPelayanan KdPasien TglPeriksa Deskripsi KdPelayanan KdPasien TglPeriksa Deskripsi Char (5) Char (5) Date Varchar (20) NO NO NO NO NO NO NO NO InstalasiKamar Bersalin_Pasie n KdPelayanan KdPasien TglIKB Deposit KdPelayanan KdPasien TglIKB Deposit Char (5) Char (5) Date Long NO NO NO NO NO NO NO NO RuangRawat Inap_Pasien KdPelayanan KdPasien TglM asuk TglKeluar KdPelayanan KdPasien TglM asuk TglKeluar Char (5) Char (5) Date Date NO NO NO NO NO NO NO NO
Entiti Name Attribute Deskripsi Tipe Data & Panjang
NULL Multi value
Deposit Deposit Long NO NO
PemeriksaanR utin_Pelayan Medis KdPelayanan KdPelM ed KdPelayanan KdPelM ed Char (5) Char (5) NO NO NO NO InstalasiKamar Bersalin_Pelay anMedis KdPelayanan KdPelM ed KdPelayanan KdPelM ed Char (5) Char (5) NO NO NO NO RuangRawatIn ap_PelayanMe dis KdPelayanan KdPelM ed KdPelayanan KdPelM ed Char (5) Char (5) NO NO NO NO Karyawan_Pas ien KdKaryawan KdPasien KdKaryawan KdPasien Char (5) Char (5) NO NO NO NO Karyawan_Pe mbayaran KdPembayaran KdKaryawan KdPembayaran KdKaryawan Char (5) Char (5) NO NO NO NO PelayanMedis _Pasien KdPelM ed KdPasien KdPelM ed KdPasien Char (5) Char (5) NO NO NO NO
4.1.2.5.2 Attribute Domain Constraints
Setiap kolom harus mempunyai sebuah domain, dengan kata lain, satu set nilai yang sah.
Tabel 4.7 Attribute Domain Constraints Entity Attribut Deskripsi Tipe Data
& Panjang NULL Mul tiVa lue Cons-traint
JnsKelaminPasien Jenis kelamin pasien
Char(1) NO NO (F/M )
GolDarahPasien Golongan Darah Pasien
Varchar (2) NO NO (A/B/ AB/O) Pasien
AgamaPasien Agama Pasien char(1) NO NO (I/K/P/ B/H/O) JnsKelaminAdmi nistrasi Jenis kelamin administrasi Char(1) NO NO (F/M ) Karyawan AgamaAdministr asi Agama Administrasi char(1) NO NO (I/K/P/ B/H/O) JnsKelaminPelM ed Jenis kelamin
PelM ed
Char(1) NO NO (F/M )
PelayanM e dis
AgamaPelM ed Agama PelM ed char(1) NO NO (I/K/P/ B/H/O)
4.1.2.5.4 Entity Integrity
Primary key dari sebuah tabel harus unik dan tidak mengandung nilai null untuk setiap baris.
Tabel 4.8 Entity Integrity
Entiti Name Attribut Deskripsi Tipe Data & Panjang
NULL Multi value
Pasien KdPasien Kode Pasien Char(5) NO NO
TelpPasien TelpPasien KdPasien
Nomor telepon pasien Kode pasien Varchar(13) Char(5) NO NO NO NO Karyawan KdKaryawan Kode Administrasi Char(5) NO NO TelpKaryawan TelpKaryawan KdKaryawan No telepon Karyawan Kode Karyawan Varchar(13) Char(5) NO NO NO NO PelayanMedis KdPelM ed Kode PelM ed Char(5) NO NO TelpPelMed TelpPelM ed KdPelM ed No telepon PelM ed Kode perawat Varchar(13) Char(5) NO NO NO NO PemeriksaanRu tin
KdPelayanan Kode Pemeriksaan Rutin
Char(5) NO NO
InstalasiKamar Bersalin
KdPelayanan Kode Instalasi Kamar Bersalin
Char(5) NO NO
RuangRawatIn ap
KdPelayanan Kode Ruang Rawat Inap
Char(5) NO NO
Entiti Name Attribut Deskripsi Tipe Data & Panjang
NULL Multi value Tagihan KdTagihan Kode Tagihan Char(5) NO NO Pembayaran KdPembayaran Kode Pembayaran Char(5) NO NO PemerikasaanR utin_Pasien KdPelayanan KdPasien Kode Pemeriksaan Rutin Kode Pasien Char(5) Char(5) NO NO NO NO InstalasiKamar Bersalin_Pasien KdPelayanan KdPasien
Kode Instalasi Kamar Bersalin Kode Pasien Char(5) Char(5) NO NO NO NO RuangRawatIn ap_Pasien KdPelayanan KdPasien
Kode Ruang Rawat Inap Kode Pasien Char(5) Char(5) NO NO NO NO PemeriksaanRu tin_PelayanMed is KdPelayanan KdPelM ed Kode Pemeriksaan Rutin
Kode Pelayan M edis
Char(5) Char(5) NO NO NO NO InstalasiKamar Bersalin_Pelaya nMedis KdPelayanan KdPelM ed
Kode Instalasi Kamar Bersalin
Kode Pelayan M edis
Char(5) Char(5) NO NO NO NO RuangRawatIn ap_PelayanMed is KdPelayanan KdPelM ed
Kode Ruang Rawat Inap
Kode Pelayan M edis
Char(5) Char(5) NO NO NO NO
Entiti Name Attribut Deskripsi Tipe Data & Panjang NULL Multi value Karyawan_Pasi en KdKaryawan Kdpasien Kode Karyawan Kode Pasien Char(5) Char(5) NO NO NO NO Karyawan_Pem bayaran KdKaryawan KdPembayaran Kode Karyawan Kode Pembayaran Char(5) Char(5) NO NO NO NO PelayanMedis_ Pasien KdPelM ed KdPasien Kode PelM ed KdPasien Char(5) Char(5) NO NO NO NO 4.1.2.5.4 Referential Integrity
Referential Integrity dimaksudkan untuk menguji apakah setiap tabel yang diuji telah dapat merujuk ke tabel lain yang saling berhubungan.
Tabel 4.9 Referential Integrity
Pasien ( KdPasien, NamaDepanPasien, NamaBelakangPasien, TempatLahirPasien, TanggalLahirPasien, AlamatPasien, UmurPasien, GolDarahPasien, JnsKelaminPasien, AgamaPasien, NamaOrtuPasien, NamaSuamiPasien )
Primary Key KdPasien ON UPDATE CASCADE
PelayanMedis ( KdPelM ed, NamaDepanPelM ed, NamaBelakangPelM ed,
TempatLahirPelM ed, TanggalLahirPelM ed, AlamatPelM ed, JnsKelaminPelM ed, AgamaPelM ed, UmurPelM ed, PendTerakhirPelM ed )
ON UPDATE CASCADE
Karyawan ( KdKaryawan, NamaDepanKaryawan, NamaBelakangKaryawan, Password, TempatLahirKaryawan, TanggalLahirKaryawan, AlamatKaryawan, JnsKelaminKaryawan, AgamaKaryawan, UmurKaryawan, JabatanKaryawan )
Primary Key KdKaryawan ON UPDATE CASCADE
PemeriksaanRutin ( KdPelayanan, NamaPemRutin, Tarif ) Primary Key KdPelayanan
ON UPDATE CASCADE
InstalasiKamarBersalin ( KdPelayanan, NamaIKB, Tarif ) Primary Key KdPelayanan
ON UPDATE CASCADE
RuangRawatInap ( KdPelayanan, NamaRuangInap, Tarif, Keterangan ) Primary Key KdPelayanan
ON UPDATE CASCADE
Jadwal ( KdJadwal, WaktuJadwal, Jam, Hari, Bulan, Tahun, KdPelM ed ) Primary Key KdJadwal
Foreign Key KdPelM ed references PelayanM edis ( KdPelM ed ) ON UPDATE CASCADE
Tagihan ( KdTagihan, TglTagihan, tarif, jumlah, KdKaryawan, KdPasien) Primary Key KdTagihan
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPasien references Pasien ( KdPasien )
ON UPDATE CASCADE
Pembayaran ( KdPembayaran, KdPasien ) Primary Key KdPembayaran
Foreign Key KdPasien references Pasien ( KdPasien ) ON UPDATE CASCADE
TelpPasien ( KdPasien, TelpPasien ) Primary Key TelpPasien
Foreign Key KdPasien ON UPDATE CASCADE
TelpKaryawan ( KdKaryawan, TelpKasir ) Primary Key TelpKaryawan
Foreign Key KdKaryawan ON UPDATE CASCADE
TelpPelMed ( KdPelM ed, TelpPelM ed ) Primary Key TelpPelM ed
Foreign Key KdPelM ed ON UPDATE CASCADE
PemerikasaanRutin_Pasien ( KdPelayanan, KdPasien, TglPeriksa, Deskripsi ) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references PemeriksaanRutin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
ON UPDATE CASCADE
Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references InstalasiKamarBersalin(KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
ON UPDATE CASCADE
RuangRawatInap_Pasien ( KdPelayanan, KdPasien, TglM asuk, TglKeluar, Deposit ) Primary key KdPelayanan, KdPasien
Foreign Key KdPelayanan references RuangRawatInap (KdPelayanan) Foreign Key KdPasien references Pasien(KdPasien)
ON UPDATE CASCADE
PemeriksaanRutin_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references PemeriksaanRutin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
ON UPDATE CASCADE
InstalasiKamarBersalin_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdPelayanan, KdPelM ed
Foreign Key KdPelayanan references InstalasiKamarBersalin (KdPelayanan) Foreign Key KdPelM ed references PelayanM edis (KdPelM ed)
ON UPDATE CASCADE
RuangRawatInap_PelayanMedis ( KdPelayanan, KdPelM ed ) Primary key KdRuangInap, KdPelM ed
Foreign Key KdRuangInap references RuangRawatInap (KdRuangInap) Foreign Key KdPelM ed references PelayanM edis(KdPelM ed)
ON UPDATE CASCADE
Karyawan_Pasien ( KdKaryawan, KdPasien ) Primary key KdKaryawan, KdPasien
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdPasien references Pasien (KdPasien)
ON UPDATE CASCADE
Karyawan_Pembayaran ( KdPembayaran, KdKaryawan ) Primary key KdPembayaran, KdKaryawan
Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE
PelayanMedis_Pasien ( KdPelM ed, KdPasien ) Primary key KdPelM ed, KdPasien
Foreign Key KdPelM ed references PelayanM edis (KdPelM ed) Foreign Key KdPasien references Pasien (KdPasien)
4.1.2.6 Pembentukan Model Data Logikal Global
Karena penulis hanya menggunakan satu user view yaitu Karyawan view maka model data global sama dengan model data logikal.
Gambar 4.9 Entity Relationship Diagam Logikal beserta entity hasil normalisasi beserta primary key, foreign key, dan atribut-atribut
4.1.3. Perancangan Basis Data Fisikal
4.1.3.1. Perancangan Relasional Dasar Basis Data
Tujuan dari tahap ini adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal global dalam DBM S yang diinginkan.
1. Pasien
Domain KdPasien : Variable length character string, length 5 Domain NamaDepanPasien : Variable length character string, length 15 Domain NamaBelakangPasien : Variable length character string, length 15 Domain TempatLahirPasien : Variable length character string, length 30 Domain TanggalLahirPasien : Date
Domain AlamatPasien : Variable length character string, length 100
Domain UmurPasien : Numeric (1-100)
Domain GolDarahPasien : Single character, must be one of A or B or AB or O
Domain JnsKelaminPasien : Single character, must be one of M or F Domain AgamaPasien : Single character, must be one of I or K or
H or B or O
Domain NamaOrtuPasien : Variable length character string, length 30 Domain NamaSuamiPasien : Variable length character string, length 30
Pasien (
KdPasien NOT NULL,
NamaDepanPasien NOT NULL,
NamaBelakangPasien NOT NULL DEFAULT ‘ ‘, TempatLahirPasien NOT NULL DEFAULT ‘ ‘, TanggalLahirPasien NOT NULL,
AlamatPasien NOT NULL DEFAULT ‘ ‘, UmurPasien NOT NULL DEFAULT ‘ ‘, GolDarahPasien NOT NULL DEFAULT ‘ ‘, JnsKelaminPasien NOT NULL DEFAULT ‘F’, AgamaPasien NOT NULL DEFAULT ‘ ‘, NamaOrtuPasien NOT NULL DEFAULT ‘ ‘, NamaSuamiPasien NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY (KdPasien),
);
2. TelpPasien
Domain TelpPasien : Variable length character string, length 13 Domain KdPasien : Variable length character string, length 5
TelpPasien (
Domain TelpPasien NOT NULL, Domain KdPasien NOT NULL, PRIM ARY KEY (TelpPasien),
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) ON UPDATE CASCADE
);
3. Karyawan
KdKaryawan : Variable length character string, length 5 NamaDepanKaryawan : Variable length character string, length 15 NamaBelakangKaryawan : Variable length character string, length 15
Password : Variable length character string, length 10 TempatLahirKaryawan : Variable length character string, length 30
TanggalLahirKaryawan : Date
AlamatKaryawan : Variable length character string, length 100
JnsKelaminKaryawan : Single character, must be one of M or F AgamaKaryawan : Single character, must be one of I or K or
H or B or O UmurKaryawan : Numeric (1-100)
Karyawan ( KdKaryawan
NamaDepanKaryawan NOT NULL,
NamaBelakangKaryawan NOT NULL DEFAULT ‘ ‘, Password NOT NULL DEFAULT ‘ ‘,
TanggalLahirKaryawan NOT NULL,
AlamatKaryawan NOT NULL DEFAULT ‘ ‘, JnsKelaminKaryawan NOT NULL DEFAULT ‘ F‘, AgamaKaryawan NOT NULL DEFAULT ‘ ‘, UmurKaryawan NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY ( KdKaryawan),
);
4. TelpKaryawan
TelpKaryawan : Variable length character string, length 13 KdKaryawan : Variable length character string, length 5
TelpKaryawan (
TelpKaryawan NOT NULL, KdKaryawan NOT NULL,
PRIM ARY KEY (TelpKaryawan),
FOREIGN KEY (KdKaryawan) REFERENCES Karyawan (KdKaryawan) ON UPDATE CASCADE ,
);
5. PelayanMedis
KdPelM ed : Variable length character string, length 5 NamaDepanPelM ed : Variable length character string, length 15 NamaBelakangPelM ed : Variable length character string, length 15
TempatLahirPelM ed : Variable length character string, length 30 TanggalLahirPelM ed : Date
AlamatPelM ed : Variable length character string, length 100 JnsKelaminPelM ed : Single character, must be one of M or F
AgamaPelM ed : Single character, must be one of I or K or H or B or O
UmurPelM ed : Numeric (1-100)
PendTerakhirPelM ed : Variable length character string, length 30
PelayanMedis (
KdPelM ed NOT NULL,
NamaDepanPelM ed NOT NULL,
NamaBelakangPelM ed NOT NULL DEFAULT ‘ ‘, TempatLahirPelM ed NOT NULL DEFAULT ‘ ‘, TanggalLahirPelM ed NOT NULL,
AlamatPelM ed NOT NULL DEFAULT ‘ ‘, JnsKelaminPelM ed NOT NULL DEFAULT ‘ F‘, AgamaPelM ed NOT NULL DEFAULT ‘ ‘, UmurPelM ed NOT NULL DEFAULT ‘ ‘,
PendTerakhirPelM ed NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY (KdPelM ed),
6. TelpPelMed
TelpPelM ed : Variable length character string, length 13 KdPelM ed : Variable length character string, length 5
TelpPelM ed (
TelpPelM ed NOT NULL DEFAULT ‘ ‘, KdPelM ed NOT NULL,
PRIM ARY KEY (TelpPerawat),
FOREIGN KEY (KdPelM ed) REFENCES PelM ed (KdPelM ed) ON UPDATE CASCADE ,
);
7. PemeriksaanRutin
KdPelayanan : Variable length character string, length 5 NamaPemRutin : Variable length character string, length 15 Tarif : Long
PemeriksaanRutin ( KdPelayanan NOT NULL, Tarif NOT NULL,
NamaPemRutin NOT NULL, PRIM ARY KEY (KdPelayanan), );
8. InstalasiKamarBersalin
KdPelayanan : Variable length character string, length 5 NamaIKB : Variable length character string, length 15
Tarif : Long
InstalasiKamarBersalin ( Tarif NOT NULL,
KdPelayanan NOT NULL, NamaIKB NOT NULL,
PRIM ARY KEY (KdPelayanan), );
9. RuangRawatInap
KdPelayanan : Variable length character string, length 5 NamaRuangInap : Variable length character string, length 15
Tarif : Long
Keterangan : Variable length character string, length 20
RuangRawatInap (
KdPelayanan NOT NULL, NamaRuangInap NOT NULL, Tarif NOT NULL,
Keterangan NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY (KdPelayanan), );
10. Jadwal
KdJadwal : Variable length character string, length 5 WaktuJadwal : char (5) Jam : Datetime Hari : Date Bulan : Date Tahun : Date Jadwal (
KdJadwal NOT NULL, WaktuJadwal NOT NULL, Jam NOT NULL,
Hari NOT NULL, Bulan NOT NULL, Tahun NOT NULL,
PRIM ARY KEY (KdJadwal), );
11. Tagihan
KdTagihan : Variable length character string, length 5 TglTagihan : Date
tarif : Long jumlah : Long
Tagihan (
KdTagihan NOT NULL, TglTagihan NOT NULL, tarif NOT NULL,
jumlah NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY (KdTagihan), );
12. Pembayaran
KdPembayaran : Variable length character string, length 5 KdPasien : Variable length character string, length 5 Pembayaran (
KdPembayaran NOT NULL, KdPasien NOT NULL,
PRIM ARY KEY (KdPembayaran),
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) ON UPDATE CASCADE ,
);
13. PemeriksaanRutin_Pasien
KdPelayanan : Variable length character string, length 5 KdPasien : Variable length character string, length 5 TglPeriksa : Date
PemeriksaanRutin_Pasien ( KdPelayanan NOT NULL, KdPasien NOT NULL, TglPeriksa NOT NULL,
Deskripsi NOT NULL DEFAULT ‘ ‘, PRIM ARY KEY (KdPelayanan, KdPasien),
FOREIGN KEY (KdPasien) REFERENCES PemeriksaanRutin (KdPelayanan) ON UPDATE CASCADE ,
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) ON UPDATE CASCADE );
14. InstalasiKamarBersalin_Pasien
KdPelayanan : Variable length character string, length 5 KdPasien : Variable length character string, length 5 TglIKB : Date
Deposit : Long
InstalasiKamarBersalin_Pasien ( KdPelayanan NOT NULL,
KdPasien NOT NULL, TglIKB NOT NULL,
Deposit NOT NULL DEFAULT ‘ ‘,
FOREIGN KEY (KdPasien) REFERENCES InstalasiKamarBersalin (KdPelayanan) ON UPDATE CASCADE ,
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) ON UPDATE CASCADE ,
);
15. RuangRawatInap_Pasien
KdPelayanan : Variable length character string, length 5 KdPasien : Variable length character string, length 5 TglM asuk : Date
TglKeluar : Date Deposit : Long
RuangRawatInap_Pasien ( KdPelayanan NOT NULL, KdPasien NOT NULL, TglM asuk NOT NULL, TglKeluar NOT NULL,
Deposit NOT NULL DEFAULT ‘ ‘,
PRIM ARY KEY (KdPelayanan, KdPasien),
FOREIGN KEY (KdPasien) REFERENCES RuangRawatInap (KdPelayanan) ON UPDATE CASCADE ,
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) ON UPDATE CASCADE );
16. PemeriksaanRutin_PelayanMedis
KdPelayanan : Variable length character string, length 5 KdPelM ed : Variable length character string, length 5
PemeriksaanRutin_PelayanMedis ( KdPelayanan NOT NULL,
KdPelM ed NOT NULL,
PRIM ARY KEY (KdPelayanan, KdPelM ed),
FOREIGN KEY (KdPelayanan) REFERENCES PemeriksaanRutin (KdPelayanan) REFERENCES ON UPDATE CASCADE ,
FOREIGN KEY (KdPelM ed) REFERENCES PelayanM edis (KdPelM ed) REFERENCES ON UPDATE CASCADE ,
);
17. InstalasiKamarBersalin_PelayanMedis
KdPelayanan : Variable length character string, length 5 KdPelM ed : Variable length character string, length 5
InstalasiKamarBersalin_PelayanMedis ( KdPelayanan NOT NULL,
KdPelM ed NOT NULL,
PRIM ARY KEY (KdPelayanan, KdPelM ed),
FOREIGN KEY (KdPelayanan) REFERENCES InstalasiKamarBersalin (KdPelayanan) REFERENCES ON UPDATE CASCADE ,
FOREIGN KEY (KdPelM ed) REFERENCES PelayanM edis (KdPelM ed) REFERENCES ON UPDATE CASCADE ,
);
18. RuangRawatInap_PelayanMedis
KdPelayanan : Variable length character string, length 5 KdPelM ed : Variable length character string, length 5
RuangRawatInap_PelayanMedis ( KdPelayanan NOT NULL,
KdPelM ed NOT NULL,
PRIM ARY KEY (KdPelayanan, KdPelM ed),
FOREIGN KEY (KdPelayanan) REFERENCES RuangRawatInap (KdPelayanan) REFERENCES ON UPDATE CASCADE ,
FOREIGN KEY (KdPelM ed) REFERENCES PelayanM edis (KdPelM ed) REFERENCES ON UPDATE CASCADE ,
);
19. Karyawan_Pasien
KdKaryawan : Variable length character string, length 5 KdPasien : Variable length character string, length 5
Karyawan_Pasien ( KdKaryawan NOT NULL, KdPasien NOT NULL,
PRIM ARY KEY (KdKaryawan, KdPasien),
FOREIGN KEY (KdKaryawan) REFERENCES Karyawan (KdKaryawan) REFERENCES ON UPDATE CASCADE ,
FOREIGN KEY (KdPasien) REFERENCES Pasien (KdPasien) REFERENCES ON UPDATE CASCADE ,
);
20. Karyawan_Pembayaran
KdPembayaran : Variable length character string, length 5 KdKaryawan : Variable length character string, length 5
Karyawan_Pembayaran ( KdPembayaran NOT NULL, KdKaryawan NOT NULL,
PRIM ARY KEY (KdKaryawan, KdPembayaran),
FOREIGN KEY (KdKaryawan) REFERENCES Karyawan (KdKaryawan) REFERENCES ON UPDATE CASCADE ,
FOREIGN KEY (KdPembayaran) REFERENCES Pembayaran (KdPembayaran) REFERENCES ON UPDATE CASCADE );
21. PelayanMedis_Pasien
KdPelM ed : Variable length character string, length 5 KdPasien : Variable length character string, length 5