F. Menggabungkan Semua Model Logikal Data ke Dalam Model Global
4.2.3 Perancangan Basis Data Fisikal A. Pemilihan DBMS
4.2.3 Perancangan Basis Data Fisikal A. Pemilihan DBMS Platform: SQL Server 2005: Berbasiskan windows, seperti Windows 9x,Windows NT, Windows 2000, Windows CE dan Windows Xp . Oracle 9i: Windows‐based, AIX based system, Compaq Tru64 Unix, HP 9000 series HP‐UX system, Linux Intel, Sun Solaris.
MySQL: Di semua platform seperti Windows‐based platforms, AIX‐based systems, HP‐UX systems, Linux Intel, Sun Solaris dan lainnya. Keuntungan: SQL Server 2005:
3. Secara umum diterima karena mudah diinstalasi, mudah dipakai dan mudah diatur
4. Gaya bahasa SQL lebih kuat dibanding gaya bahasa MySQL MySQL:
5. Dapat mendukung platform lain tidak hanya berdasarkan platform windows
6. Hardware yang dibutuhkan lebih sedikit
• Dapat diperoleh tanpa perlu membeli karena merupakan software open source atau free software
Hardware:
DBMS Hardware Spesifikasi
Sql server 2005 Processor Pentium 166Mhz atau lebih
memory 32 MB RAM (minimal untuk desktop engine) 64 MB RAM (minimal untuk semua edisi) 128 MB RAM atau lebih Hard disk
space 270 MB (full instalation), 250 MB (typical), 95 MB (minimal) Desktop engine : 44 MB
Analysis Services: Minimal 50 MB dan130 MB
Virtual Memory: Initial Size 200 MB, ukuran maksimal 400 MB
Hard disk
space 140 MB pada System Drive + 4.5 GB untuk the Oracle Home Drive (FAT) atau 2.8 GB untuk the Oracle Home Drive (NTFS) Typical installation: Minimal 450 s/d 550 Mb Compact installation : Minimal 350 s/d 400 Mb Custom installation: Minimal 350 s/d 700 Mb.
MySQL Processor Untuk Windows: Pentium 166 MHz atau lebih Untuk Linux : Intel 32‐bit, Intel 64‐bit, S/390 9672 generation atau lebih, Multiprise3000, eServer z‐Series. Untuk Solaris : Solaris UltraSPARC‐ based computer Memory RAM: 128 MB (256 MB diutamakan) Virtual Memory: Initial Size 50 MB, ukuran maksimal 400 MB Hard disk space 100 MB (diutamakan) Tabel 4.7 Pemilihan DBMS Atas pertimbangan‐pertimbangan yang ada untuk pemilihan DBMS, yaitu dari sisi platform, keuntungan, dan hardware, maka penulis memilih MySQL sebagai DBMS yang
akan digunakan karena sangat cocok dengan aplikasi yang akan dibuat dan sesuai dengan kebutuhan dari perusahaan. C. Merancang Relasi Dasar Tujuan dari tahap ini adalah untuk mengidentifikasikan relasional basis data dalam model data logikal pada DBMS dengan menggunakan DBDL (Database Design Language). • Db_pasien
Domain Id_pasien : numeric Domain Tanggal : datetime Domain jam : datetime Domain Id_dokterPengirim : numeric Domain Id_karyawan : numeric Domain Id_detailPasien : numeric Db_pasien
(
Id_pasien id_pasien NOT NULL,
Tanggal Tanggal NOT NULL,
Jam Jam NOT NULL,
Id_dokterPengirim Id_dokterPengirim NOT NULL, Id_karyawan Id_karyawan NOT NULL, Id_detailPasien Id_detailPasien NOT NULL, Primary key (Id_pasien));
Foreign key (Id_dokterPengirim) references Db_dokterPengirim (Id_dokterPengirim) ON UPDATE CASCADE ON DELETE NO ACTION,
Foreign key (Id_karyawan) references Db_karyawan (Id_karyawan) ON UPDATE CASCADE ON DELETE NO ACTION,
Foreign key (Id_detailPasien) references Db_detailPasien (Id_detailPasien) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_detailPasien
Domain Id_detailPasien: numeric Domain noKtp : numeric
Domain namaPasien : variable length characterstring,Length 32 Domain alamatPasien : variable length character string, Length 50 Domain umurPasien : datetime
10 Domain Id_detailPasien : numeric Db_telpPasien
(
Id_telpPasien id_telpPasien NOT NULL, telpPasien telpPasien NOT NULL, Id_detailPasien Id_detailPasien NOT NULL, Primary key (Id_telpPasien));
Foreign key (Id_detailPasien) references Db_detailPasien (Id_detailPasien) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_karyawan
Domain Id_karyawan : numeric Domain Status_karyawan : numeric
Domain jenisKaryawan : variable length character string, Length 15
Domain Id_resep : numeric Domain Id_usg : numeric Domain Id_lab : numeric Domain Id_rontgent : numeric Db_karyawan
(
Id_karyawan id_karyawan NOT NULL, jenisKaryawan JenisKaryawan NOT NULL, Id_resep Id_resep NULL,
Id_usg Id_usg NULL,
Id_lab Id_lab NULL,
Id_rontgent Id_rontgent NULL, Primary key (Id_karyawan));
Foreign key (Id_usg) references Db_usg ( Id_usg ) ON UPDATE CASCADE ON DELETE NO ACTION,
Foreign key (Id_resep) references Db_resep (Id_resep) ON UPDATE CASCADE ON DELETE NO ACTION,
Foreign key (Id_lab) references Db_lab (Id_lab) ON UPDATE CASCADE ON DELETE NO ACTION;
Foreign key (Id_rontgent) references Db_rontgent (Id_rontgent) ON UPDATE CASCADE ON DELETE NO ACTION;
Domain Id_detailKaryawan : numeric
Domain namaKaryawan : variable length character string, Length 32
Domain alamatKaryawan : variable length character string, Length 50
Domain jenisKelaminKaryawan :fixed length character string, Length 2
Domain id_karyawan : numeric Db_detailKaryawan
(
Id_detailKaryawan Id_detailKaryawan NOT NULL,
namaKaryawan namaKaryawan NOT
NULL,
alamatKaryawan alamatKaryawan NOT NULL,
jenisKelaminKaryawan jenisKelaminKaryawan NOT NULL,
id_Karyawan id_Karyawan NOT
NULL,
Primary key (Id_detailKaryawan));
Foreign key (Id_Karyawan) references Db_Karyawan(Id_Karyawan) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_telpKaryawan
Domain telpKaryawan : variable length character string,
Length 10
Domain Id_detailKaryawan : numeric Db_telpKaryawan
(
Id_telpKaryawan id_telpKaryawan NOT NULL, telpKaryawan telpKaryawan NOT NULL, Id_detailKaryawan Id_detailKaryawan NOT NULL, Primary key (Id_telpKaryawan));
Foreign key (Id_detailKaryawan) references Db_detailKaryawan (Id_detailKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_user
Domain Id_user : numeric
Domain username : variable length character string,Length 6
Domain pass : fixed length character string,Length 6 Domain status : numeric
Id_karyawan : numeric Db_user
Domain Id_karyawan : numeric Db_pemeriksaan
(
Id_pemeriksaan Id_pemeriksaan NOT NULL, keluhanSakit keluhanSakit NOT NULL,
diagnosa diagnosa NOT NULL,
Id_karyawan Id_karyawan NOT NULL, Primary key (Id_pemeriksaan));
Foreign key (Id_karyawan) references Db_karyawan (Id_karyawan) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_resep
Domain Id_resep : numeric
Domain resep : variable length character string, Length 50
Domain id_pasien : numeric Db_resep
(
Id_resep Id_resep NOT NULL,
Resep resep NOT NULL,
Id_pasien Id_pasien NOT NULL, Primary key (Id_resep));
Foreign key (Id_pasien) references Db_pasien (Id_pasien) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_usg
Domain Id_usg : numeric Domain noFotoUsg : numeric
Domain hasilUsg : variable length character string, Length 50
Domain kesan : variable length character string, Length 50
Domain Id_pasien : numeric Db_resep
(
Id_usg Id_usg NOT NULL,
noFotoUsg noFotoUsg NOT NULL,
hasilUsg hasilUsg NOT NULL,
Id_pasien Id_pasien NOT NULL, Primary key (Id_usg));
Foreign key (Id_pasien) references Db_pasien (Id_ pasien) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_rontgent
Domain Id_rontgent : numeric Domain noFotoRontgent : numeric
Domain hasilRontgent : variable length character string, Length 50
Domain pengirimRongent : variable length character string, Length 15
Domain Id_pasien : numeric Db_resep
(
Id_rontgent Id_usg NOT NULL, noFotoRontgent noFotoUsg NOT NULL, hasilRontgent hasilUsg NOT NULL, pengirimRontgent kesan NOT NULL, Id_pasien Id_pasien NOT NULL, Primary key (Id_rontgent));
Foreign key (Id_pasien) references Db_pasien (Id_ pasien) ON UPDATE CASCADE ON DELETE NO ACTION;
• Db_lab
Domain Id_lab : numeric Domain Id_pasien : numeric
Domain permintaanLab : variable length character string, Length 200
Domain Id_urine : numeric Domain Id_faeces : numeric Domain Id_haematologi : numeric Domain Id_sperma : numeric Domain Id_ms : numeric Domain Id_karyawan : numeric Db_lab
(
Id_lab Id_lab NOT NULL,
Id_pasien Id_pasien NOT NULL, permintaanLab permintaanLab NOT NULL, Id_urine Id_urine NULL, Id_faeces Id_faeces NULL, Id_haematologi Id_haematologi NULL, Id_sperma Id_sperma NULL,
Id_ms Id_ms NULL,
Id_karyawan Id_karyawan NOT NULL, Primary key (Id_lab));
ON UPDATE CASCADE ON DELETE NO ACTION • Db_urine
Domain Id_urine : numeric
Domain uWarna : variable length character string,Length 11
Domain uNitrite : variable length character string,Length 11
Domain uPh : variable length character string,Length 11
Domain uKeton : variable length character string,Length 11
Domain uBd : variable length character string,Length 11
Domain uProtein : variable length character string,Length 11
Domain uReduski : variable length character string,Length 11
Domain uUrobilin : variable length character string,Length 11
Domain uBilirublin : variable length character string,Length 11
Domain uSedimen : variable length character string,Length 11
Domain uLeukosit : variable length character string,Length 11
Domain uEritrosit : variable length character string,Length 11
Domain uSelEphitel : variable length character string,Length 11
Domain uSelEphitelBulat : variable length character string,Length 11
Domain uSilinder : variable length character string,Length 11
Domain uKristal : variable length character string,Length 11
Db_urine (
uWarna uWarna NULL, uNitrite uNitrite NULL,
uPh uPh NULL,
uKeton uKeton NULL,
uBd uBd NULL,
uProtein uProtein NULL, uReduski uReduski NULL, uUrobilin uUrobilin NULL, uBilirublin uBilirublin NULL, uSedimen uSedimen NULL, uLeukosit uLeukosit NULL, uEritrosit uEritrosit NULL uSelEphitel uSelEphitel NULL uSelEphitelBulat uSelEphitelBulat NULL uSilinder uSilinder NULL uKristal uKristal NULL Primary key (Id_urine));
• Db_mS
Domain Id_mS : numeric
Domain mWIDAL : variable length character string, Length 11
Domain mS_typhi_O : variable length character string ,Length 11
Domain mS_paratyphi_AO : variable length character string, Length 11
Domain mS_paratyphi_BO : variable length character string, Length 11
Domain mS_paratyphi_CO : variable length character string, Length 11
Domain mVDRL : variable length character string,
Length 11
Domain mASTO : variable length character string, Length 11
Domain mCRP : variable length character string, Length 11
Domain mRATes : variable length character string, Length 11
Domain mPregnosticonPlanoMTest : variable length character string,
Length 11
Domain mHbsAG : variable length character string, Length 11
Domain mAntiHbs : variable length character string, Length 11
Domain mAntiHAV : variable length character string, Length 11
Domain mAntiHCV : variable length character string, Length 11
mRATes mRATes NULL, mPregnosticonPlanoMTest mPregnosticonPlanoMTest NULL,
mHbsAG mHbsAG NULL,
mAntiHbs mAntiHbs NULL
mAntiHAV mAntiHAV NULL
mAntiHCV mAntiHCV NULL
mBTA mBTA NULL
Primary key (Id_mS)); • Db_haematologi
Domain Id_haematologi : numeric
Domain hHb : variable length character string, Length 11
Domain hLeukosit : variable length character string, Length 11
Domain hEritrosit : variable length character string, Length 11
Domain hLED : variable length character string, Length 11
Domain hBasophil : variable length character string,Length 11
Domain hEosinophil : variable length character string,Length 11
Domain hN_Staf : variable length character string,Length 11
Domain hN_Segmen : variable length character string,Length 11
Domain hMonosit : variable length character string, Length 11
Domain hHematoktrit : variable length character string,Length 11
Domain hTrombosit : variable length character string,Length 11
Domain hRetikulosit :variable length character string,Length 11
Domain hEosinophil : variable length character string,Length 11
Domain hMsPembekuan : variable length character string,Length 11
Domain hMsPerdarahan : variable length character string,Length 11
Domain hGolDarah : variable length character string,Length 11
Db_mS (
Id_haematologi Id_haematologi NOT NULL,
hHb hHb NULL,
hLeukosit hLeukosit NULL,
hEritrosit hEritrosit NULL,
hLED hLED NULL,
hBasophil hBasophil NULL,
hEosinophil hEosinophil NULL,
hN_Staf hN_Staf NULL,
hN_Segmen hN_Segmen NULL,
hMonosit hMonosit NULL,
hHematoktrit hHematoktrit NULL, hTrombosit hTrombosit NULL, hRetikulosit hRetikulosit NULL, hEosinophil hEosinophil NULL, hMsPembekuan hMsPembekuan NULL, hMsPerdarahan hMsPerdarahan NULL,
hGolDarah hGolDarah NULL,
Primary key (Id_haematologi)); • Db_faeces
Domain Id_faeces : numeric
Domain fWarna : variable length character string,Length 11
Domain fBau : variable length character string,Length 11
Domain fKonsistensi : variable length character string,Length 11
Domain fLendir : variable length character string,Length 11
Domain fPlus : variable length character string,Length 11
Domain fEritrosit : variable length character string,Length 11
Domain fLeukosit : variable length character string,Length 11
Domain fAmuba : variable length character string,Length 11
Domain fSisaPencernaan : variable length character string,Length 11
Domain fTelurCacing : variable length character string, Length 11
• Db_kimiaKlinik
Domain Id_kimiaKlinik : numeric
Domain kGulaDarahN : variable length character string, Length 6
Domain kGulaDarah2jPP : variable length character string, Length 6
Domain kGulaDarahSewaktu : variable length character string, Length 6
Domain kCholesterol : variable length character string, Length 6
Domain kTriglyceride : variable length character string, Length 6
Domain kHDL-CHOL : variable length character string, Length 6
Domain kLDL-CHOL : variable length character string, Length 6
Domain kProteinTotal : variable length character string, Length 6
Domain kAlbumin : variable length character string, Length 6
Domain kGlobulin : variable length character string, Length 6
Domain kBilirubinTotal : variable length character string, Length 6
Domain kDirect : variable length character string, Length 6
Domain kIndirect : variable length character string, Length 6
Domain kAlkaliPhosophatase : variable length character string, Length 6
Domain kGOT : variable length character string, Length 6
Domain kGPT : variable length character string, Length 6
Domain kGAMMA-GT : variable length character string, Length 6
Domain kGCK : variable length character string, Length 6
Domain kUricAcid : variable length character string, Length 6
Domain kUrea : variable length character string, Length 6
Db_kimiaKlinik (
Id_kimiaKlinik Id_kimiaKlinik NOT NULL, kGulaDarahN kGulaDarahN NULL, kGulaDarah2jPP kGulaDarah2jPP NULL, kGulaDarahSewaktu kGulaDarahSewaktu NULL, kCholesterol kCholesterol NULL, kTriglyceride kTriglyceride NULL,
kHDL-CHOL kHDL-CHOL NULL,
kLDL-CHOL kLDL-CHOL NULL,
kProteinTotal kProteinTotal NULL,
kAlbumin kAlbumin NULL,
kGlobulin kGlobulin NULL,
kBilirubinTotal kBilirubinTotal NULL,
kDirect kDirect NULL,
kIndirect kIndirect NULL,
kAlkaliPhosophatase kAlkaliPhosophatase NULL,
kGOT kGOT NULL,
kGPT kGPT NULL,
kGAMMA-GT kGAMMA-GT NULL,
kGCK kGCK NULL,
kUricAcid kUricAcid NULL,
kUrea kUrea NULL,
Primary key (Id_kimiaKlinik)); • Db_sperma
Domain Id_sperma numeric
Domain sDidapat : variable length character string,Length 6
Domain sAbstinensi : variable length character string,Length 6
Domain sDiperiksaSetelah : variable length character string,Length 6
Domain sViscositas : variable length character string,Length 6
Domain sVolume : variable length character string,Length 6
Domain sJumlahTotal : variable length character string,Length 6
Domain sJumlahHidup : variable length character string,Length 6
Domain sKepalaLonjong : variable length character string,Length 6
Domain Id_rekap : numeric Domain hargaPemeriksaanDokter : numeric Domain hargaPemeriksaanRontgent : numeric Domain hargaPemeriksaanLab : numeric
Domain hargaObat : numeric Domain hargaPemeriksaanUsg : numeric Doamin Id_usg : numeric Domain Id_lab : numeric Domain Id_rontgent : numeric Domain Id_resep : numeric Domain Id_pemeriksaan : numeric Db_rekapKlinik
(
Id_rekap Id_rekap NOT
NULL,
hargaPemeriksaanDokter hargaPemeriksaanDokter NOT NULL,
hargaPemeriksaanRontgent hargaPemeriksaaRontgent NULL, hargaPemeriksaanLab hargaPemeriksaanLab NULL, harga Obat hargaObat NULL,
hargaPemeriksaanUsg hargaPemeriksaanUsg NULL,
Id_usg Id_usg NOT NULL,
Id_lab Id_lab NOT NULL,
Id_rontgent Id_rontgent NOT NULL,
Id_resep Id_resep NOT NULL,
Id_pemeriksaan Id_pemeriksaan NOT NULL,
Primary key (Id_rekap));
Foreign key (Id_usg) references Db_usg (Id_usg) ON UPDATE CASCADE ON DELETE NO ACTION;
Foreign key (Id_rontgent) references Db_rontgent (Id_rontgent ) ON UPDATE CASCADE ON DELETE NO ACTION;
Foreign key (Id_lab) references Db_lab (Id_lab) ON UPDATE CASCADE ON DELETE NO ACTION;
Foreign key (Id_resep) references Db_resep(Id_ resep) ON UPDATE CASCADE ON DELETE NO ACTION;
Foreign key (Id_pemeriksaan) references Db_pemeriksaan (Id_pemeriksaan) ON UPDATE CASCADE ON DELETE NO ACTION;
Domain Id_persedianFilm : numeric Domain pfS35t : numeric Domain pfS30t : numeric Domain pfS24t : numeric Domain pfS18t : numeric Domain pfS35r : numeric Domain pfS30r : numeric Domain pfS24r : numeric Domain pfS18r : numeric Domain Id_inventoryRontgent : numeric Db_persediaanFilm
(
Id_persediaanFilm Id_persediaanFilm NOT NULL,
pfS35t pfS35t NULL, pfS30t pfS30t NULL, pfS24t pfS24t NULL, pfS18t pfS18t NULL, pfS35r pfS35r NULL, pfS30r pfS30r NULL, pfS24r pfS24r NULL, pfS18r pfS18r NULL,
Id_inventoryRontgent Id_inventoryRontgent NOT NULL, Primary key (Id_detailRontgent));
Foreign key (Id_detailRontgent) references Db_detailRontgent (Id_detailRontgent) ON UPDATE CASCADE ON DELETE NO ACTION
• Db_inventoryRontgent
Domain Id_inventory : numeric Domain s35t : numeric Domain s30t : numeric Domain s24t : numeric Domain s18t : numeric Domain s35r : numeric Domain s30r : numeric Domain s24r : numeric Domain s18r : numeric Domain Id_rontgent : numeric Db_inventoryRontgent ( s35t s35t NOT NULL, s30t s30t NULL, s24t s24t NULL, s18t s18t NULL, s35r s35r NULL, s30r s30r NULL, s24r s24r NULL, s18r s18r NULL,
Id_dokterPengirim Id_dokterPengirim NOT NULL, namaDokterPengirimRontgent namaDokterPengirimRontgent NOT NULL,
asalRsRontgent asalRsRontgent NULL, namaDokterPengirimUsg namaDokterPengirimUsg NOT NULL,
asalRsUsg asalRsUsg NULL,
Primary key (Id_dokterPengirim));