BAB II DASAR TEORI
ANALISIS DAN PERANCANGAN SISTEM
B. Perancangan Sistem
B.2 Perancangan Basis Data .1 Diagram Relasi Entitas
Pasien id_pasien nama alamat jns_kel agama usia pekerjaan gol_darah tempat_lahir tgl_lahir telepon Puskesmas id_puskesmas nama alamat telepon terdaftar di menerima Resep mempunyai
supply Gudang PusatPegawai memiliki Pegawai id_pegawai nama alamat jns_kel usia jabatan tempat_lahir tgl_lahir masa_kerja perkawinan password username id_PP nama alamat jns_kel agama telepon password username id_produk tgl_kirim jumlah id_resep tgl_resep M 1 1 M M M N N 1 jumlah aturan_pakai tgl_kadaluarsa Kepala Dinkes id_dinkes nama alamat telepon password username obat id_obat nama jenis dosis N agama telepon M stok jns_kel ttl agama status ttl Admin id_admin nama password username memiliki 1 M
49
Diagram relasi di atas mempunyai beberapa entitas yang digunakan untuk merancang sistem. Entitas tersebut antara lain entitas puskesmas, entitas pegawai, entitas petugas gudang pusat, entitas obat, entitas resep, entitas pasien, entitas kepala dinkes, entitas admin. Entitas-entitas tersebut ada yang saling berhubungan ada juga yang sama sekali tidak ada hubungannya dengan entitas lainnya.
Hubungan antar entitas tersebut dapat dijelaskan sebagai berikut : pasien terdaftar di Puskesmas, kemudian Puskesmas memiliki Pegawai dan Admin. Entitas Puskesmas juga berelasi dengan entitas Obat dan entitas Pegawai Gudang Pusat, nama relasinya adalah supply. Selain itu Pasien juga berelasi dengan resep yaitu relasi menerima. Sedangkan antara entitas Resep dengan entitas Obat dihubungkan dengan relasi mempunyai. Dan untuk kepala dinkes tidak mempunyai relasi apa-apa dengan entitas-entitas yang lain.
B.2.2 Mapping
¾ Puskesmas
Tabel 3.1 Tabel Puskesmas
¾ Pasien
Tabel 3.2 Tabel Pasien
id_pasien id_puskesmas nama alamat jns_kel pekerjaan agama tempat_lahir tgl_lahir gol_darah
Entitas pasien mempunyai atribut id_pasien yang merupakan kunci utama sedangkan untuk atribut id_puskesmas merupakan kunci tamu karena berasal dari entitas lain. Karena relasi antara pasien dengan puskesmas M to 1 maka id_puskesmas masuk ke entitas pasien dan menjadi kunci tamu.
¾ Pegawai
Tabel 3.3 Tabel Pegawai
id_pegawai id_puskesmas nama alamat telp jns_kel TTL jabatan status username password
Entitas pegawai mempunyai atribut id_pegawai yang merupakan kunci utama sedangkan untuk atribut id_puskesmas merupakan kunci tamu karena berasal dari entitas lain. Karena relasi antara puskesmas dengan pegawai 1 to M maka id_puskesmas masuk ke entitas petugas gudang obat dan menjadi kunci tamu.
¾ Petugas Gudang Pusat
Tabel 3.4 Tabel Petugas Gudang Pusat
51
¾ Resep
Tabel 3.5 Tabel Resep
id_resep id_pasien tgl_resep
Pada tabel resep, id_resep merupakan kunci utama, sedangkan id_pasien merupakan kunci tamu. Karena relasi antara entitas resep dengan pasien M to 1 maka kunci utama pasien yaitu id_pasien masuk ke entitas resep menjadi kunci tamu.
¾ Obat
Tabel 3.6 Tabel Obat
id_obat id_puskesmas nama dosis jenis stok
¾ Admin
Tabel 3.7 Tabel Admin
id_admin id_puskesmas nama alamat telepon password username
¾ Mempunyai
Tabel 3.8 Tabel Mempunyai
Untuk entitas mempunyai sama id_obat dan id_resep dijadikan kunci utama. Kunci tersebut terbentuk karena terdapat hubungan M to N pada entitas Mempunyai. id_obat dan id_resep merupakan kunci tamu pada entitas Mempunyi. Entitas mempunyi muncul karena terdapat entitas yang saling berelasi, atau sering disebut entitas hasil relasi.
¾ Supply
Tabel 3.9 Tabel Supply
tgl_kirim id_PP id_obat id_puskesmas id_produk jumlah tgl_kadaluarsa status
Untuk entitas supply tgl_kirim, id_PP, id_obat, id_puskesmas dan id_produk dijadikan kunci utama. Entitas supply muncul karena antara entitas obat dengan entitas petugas gudang pusat mempunyai relasi M to N. Karena M to N maka kunci utama petugas gudang pusat dan obat masuk ke entitas supply dan menjadi tetap menjadi kunci utamanya.
¾ Kepala Dinas Kesehatan
Tabel 3.10 Tabel Kepala Dinkes
53
B.2.3 Normalisasi • 1NF
Tabel yang terdapat di dalam entitas di atas telah memenuhi syarat bentuk normal 1NF, karena setiap atribut dalam entitas bernilai tunggal atau tidak dapat dibagi lagi..
• 2NF
Tabel dikatakan normal 2NF adalah :
- Relasi tersebut sudah dalam bentuk 1NF.
- Setiap atribut bukan kunci tergantung penuh pada kunci primer. Jadi
tidak ada ketergantungan parsial pada relasi tersebut. Tabel-tabel di atas telah memenuhi syarat normal kedua.
• 3NF
Semua tabel sudah memenuhi bentuk normal 3NF, karena relasi yang ada sudah berada dalam bentuk 2NF dan tidak memuat ketergantungan transitif.
B.2.4 Integritas Basis Data
Suatu sistem informasi dikatakan baik apabila telah mempunyai karakteristik yang dapat memberikan suatu informasi yang cepat dan akurat. Informasi tersebut diperolah dengan adanya perancangan dan implementasi yang baik pula. Untuk itu, suatu basis data harus dapat menjamin integritas
(keutuhan) data yang akan disimpan. Aturan integritas yang akan digunakan oleh sistem adalah sebagai berikut :
1. Aturan Integritas Entitas(Entity Integrity Constraints)
Entitas-entitas yang terdapat dalam sistem pengelolaan obat yang di bangun, seperti terlihat di bawah ini :
Pasien(id_pasien,id_Puskesmas,nama,alamat,umur,jns_kel,pekerjaan,temp at_lahir,tgl_lahir)
Puskesmas (id_Puskesmas,nama,alamat,telepon)
Pegawai (id_pegawai,id_Puskesmas,nama,alamat,telp,jns_kel, tempat_lahir,tgl_lahir,masa_kerja,jabatan,status,username,password) Obat (id_obat, id_Puskesmas ,nama,jenis,dosis,stok)
Mempunyai (id_resep, id_obat,aturan_pakai,jumlah) Petugas Gudang Pusat (id_PP,nama,password,username) Resep (id_resep,id_pasien,tgl_resep)
Supply(tgl_kirim,id_produk,id_obat,id_PP,id_Puskesmas,jumlah,status, tgl_kadaluarsa)
Admin (id_admin, id_Puskesmas, nama,password,username)
Di dalam setiap tabel terdapat kunci utama yaitu ditandai dengan garis bawah. Sedangkan garis bawah putus-putus merupakan kunci tamu.
55
2. Aturan Domain(Domain Constraints)
a. Entitas Admin
Tabel 3.11 Aturan Domain Entitas Admin
b. Entitas Puskesmas
Tabel 3.12 Aturan Domain Entitas Puskesmas
c. Entitas Resep
d. Entitas Pegawai
Tabel 3.14 Aturan Domain Entitas Pegawai
e. Entitas Obat
Tabel 3.15 Aturan Domain Entitas Obat
f. Entitas Pasien
Tabel 3.16 Aturan Domain Entitas Pasien
57
g. Entitas Mempunyai
Tabel 3.17 Aturan Domain Entitas Mempunyai
h. Entitas Pegawai Gudang Pusat
Tabel 3.18 Aturan Domain Entitas Pegawai Gudang Pusat
i. Entitas Supply
j. Entitas Dinkes
59
3. Aturan Integritas Referensial (Referential Integrity Constraints)
Aturan Integritas Referensial pada sebuah sistem informasi ditunjukkan pada anak panah antara tabel satu dengan tabel lain yang mempunyai hubungan.
Pasien(id_pasien,id_Puskesmas,nama,alamat,umur,jns_kel,pekerjaan,tempat_la hir, tgl_lahir, agama, gol_darah)
Puskesmas (id_Puskesmas,nama,alamat,telepon)
Pegawai (id_pegawai,id_Puskesmas,nama,alamat,telp,jns_kel,
tempat_lahir,tgl_lahir,masa_kerja,jabatan,status,username,password)
Resep (id_resep,id_pasien,tgl_resep)
Obat (id_obat, id_Puskesmas ,nama,jenis, stok ,dosis)
Mempunyai (id_resep, id_obat,aturan_pakai,jumlah) Petugas Gudang Pusat (id_PP,nama,password,username)
Supply (tgl_kirim, id_produk, id_PP, id_obat , id_Puskesmas tgl_kadaluarsa ,jumlah,status)
Admin (id_admin, id_Puskesmas ,nama,password,username) Kepala Dinkes (id_dinkes,nama,password,username)
Keterangan :
Tabel yang ditunjuk dengan anak panah merupakan tabel yang dirujuk, sedangkan tabel yang ditunjuk garis tanpa ada anak panahnya merupakan tabel yang merujuk.
Sebagai contoh adalah :
Tabel obat merupakan tabel yang dirujuk. Tabel mempunyai adalah tabel yang merujuk.
Jika terjadi suatu perubahan dalam basis data, maka dapat mengakibatkan pelanggaran terhadap aturan integritas referensial. Untuk itu terdapat aturan untuk melakukan operasi insert, delete dan update sebagai berikut :
a. Insertion Rule
Aturan ini hanya berlaku untuk tabel yang dirujuk yaitu tabel pasien, puskesmas, pegawai, resep, obat,label_produksi, pegawai gudang pusat, kepala dinkes, admin dan supply. Sedangkan untuk tabel mempunyai aturan ini tidak berlaku karena dalam tabel tersebut terdapat atribut yang hanya berperan sebagi kunci tamu.
b. Deletion Rule
Untuk menjamin integritas basis data maka diberlakukan suatu perlakuan khusus apabila terjadi penghapusan suatu baris terhadap sebuah tabel yang dirujuk , dimana tabel tersebut memiliki nilai yang bersesuaian dengan tabel yang merujuk. Terdapat tiga perlakuan yaitu
61
restrict, nullify dan cascading deletion. Dari ketiga perlakuan tersebut,
hanya perlakuan restrict yang dapat dilakukan yaitu tidak mengijinkan
penghapusan terhadap baris dalam tabel yang dirujuk.