BAB IV IMPLEMENTASI SISTEM
4.1. Pembuatan Database
Pada tahap ini dilakukan pembuatan database baru pada MySQL, yang di dalamnya berisi semua tabel yang dibutuhkan dalam pembuatan sistem informasi asrama ibu hamil ini. Database yang digunakan nantinya diberi nama syantikara_permatahati, dengan tabel-tabel sebagai berikut :
1. Tabel biaya, yang digunakan untuk menyimpan data tarif untuk asrama ibu hamil dan data tarif untuk perawatan bayi, seperti gambar di bawah ini :
Gambar 4.1 Gambar Tabel biaya
Tabel biaya dibuat dengan sintak SQL sebagai berikut : DROP TABLE IF EXISTS `biaya`;
CREATE TABLE `biaya` (
`keterangan` varchar(255) default ' ', `biaya` double default '0',
`statusAktif` varchar(5) default ' ', `pengurus` varchar(255) default ' ',
`tglInput` timestamp NULL default CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2. Tabel cetakbayi, yang digunakan untuk menyimpan data yang berkaitan untuk setiap kejadian kedatangan bayi yang akan dititipkan dan
kejadian keluarnya bayi dari lokasi penitipan, seperti gambar di bawah ini :
Gambar 4.2 Gambar Tabel cetakbayi
Tabel cetakbayi dibuat dengan sintak SQL sebagai berikut : DROP TABLE IF EXISTS `cetakbayi`;
CREATE TABLE `cetakbayi` (
`noRegIbu` varchar(20) default ' ', `statusBayi` varchar(7) default ' ', `tanggal` date default '2010-01-01',
`statusPengantar` varchar(17) default ' ', `infoPengantar` varchar(15) default ' ', `namaPengantar1` varchar(255) default ' ', `namaPengantar2` varchar(255) default ' ', `statusPenerima` varchar(17) default ' ', `infoPenerima` varchar(15) default ' ', `namaPenerima1` varchar(255) default ' ', `namaPenerima2` varchar(255) default ' ', `keterangan` varchar(255) default 'OK', `lokasiPindah` varchar(255) default ' ' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
3. Tabel cetakibuhamil, yang digunakan untuk menyimpan data yang berkaitan untuk setiap kejadian kedatangan ibu hamil yang akan tinggal
sementara selama kehamilan sampai masa melahirkan dan kejadian keluarnya ibu yang telah melahirkan tersebut dari lokasi K, seperti gambar di bawah ini :
Gambar 4.3 Gambar Tabel cetakibuhamil
Tabel cetakibuhamil dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `cetakibuhamil` */ DROP TABLE IF EXISTS `cetakibuhamil`;
CREATE TABLE `cetakibuhamil` (
`noRegIbu` varchar(20) default ' ', `statusIbu` varchar(30) default ' ', `tanggal` date default '2010-01-01',
`statusPengantar` varchar(20) default ' ', `infoPengantar` varchar(10) default ' ', `namaPengantar1` varchar(255) default ' ', `namaPengantar2` varchar(255) default ' ', `statusPenerima` varchar(20) default ' ', `infoPenerima` varchar(10) default ' ', `namaPenerima1` varchar(255) default ' ', `namaPenerima2` varchar(255) default ' ', `keterangan` varchar(255) default ' ' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4. Tabel dataanakortu, yang digunakan untuk menyimpan data anak dari orang tua pihak laki-laki/ayah kandung bayi maupun data anak dari
orang tua pihak perempuan/ibu kandung bayi/ibu hamil, seperti gambar di bawah ini :
Gambar 4.4 Gambar Tabel dataanakortu
Tabel dataanakortu dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `dataanakortu` */ DROP TABLE IF EXISTS `dataanakortu`;
CREATE TABLE `dataanakortu` (
`kodeOrtu` varchar(20) default ' ', `noUrut` int(3) default '0',
`namaLengkap` varchar(50) default ' ', `umur` int(3) default '1',
`agamaAnak` varchar(20) default 'KATOLIK', `pendidikanAnak` varchar(100) default ' ', `pekerjaanAnak` varchar(100) default ' ', `statusAnak` varchar(30) default ' ', `keterangan` varchar(100) default ' ', `kodeAnak` int(3) default '0'
5. Tabel datadonatur, yang digunakan untuk menyimpan data identitas setiap donatur yang masuk ke lokasi K, seperti gambar di bawah ini :
Gambar 4.5 Gambar Tabel datadonatur
Tabel datadonatur dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `datadonatur` */ DROP TABLE IF EXISTS `datadonatur`;
CREATE TABLE `datadonatur` ( `noD` varchar(7) NOT NULL,
`namaD` varchar(255) NOT NULL default ' ', `kontakD` varchar(255) default ' ',
`alamatD` varchar(255) default ' ', `noTlpD` varchar(20) default ' ', PRIMARY KEY (`noD`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
6. Tabel dataortul, yang digunakan untuk menyimpan data orang tua dari pihak laki-laki/ayah kandung bayi, meliputi identitas pribadi dari ayah
dan ibu, sesuai yang tercantum di kartu keluarga, seperti gambar berikut ini :
Gambar 4.6 Gambar Tabel dataortul
Tabel dataortul dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `dataortul` */ DROP TABLE IF EXISTS `dataortul`;
CREATE TABLE `dataortul` (
`noRegistrasi` varchar(20) default ' ', `kodeOrtu` varchar(20) default ' ', `namaAyah` varchar(50) default ' ',
`tempatLahirAyah` varchar(30) default ' ', `tglLahirAyah` date default '2010-01-01', `agamaAyah` varchar(10) default 'Katolik', `statusAyah` varchar(10) default 'Kandung', `pendidikanAyah` varchar(100) default ' ', `pekerjaanAyah` varchar(100) default ' ', `alamatAyah` varchar(250) default ' ', `noTlpAyah` varchar(20) default '+62', `kartuIdenAyah` varchar(20) default ' ', `tglBerlakuAyah` date default '2010-01-01', `kebangsaanAyah` varchar(4) default 'WNI', `namaIbu` varchar(40) default ' ',
`tempatLahirIbu` varchar(30) default ' ', `tglLahirIbu` date default '2010-01-01', `agamaIbu` varchar(20) default NULL,
`statusIbu` varchar(10) default 'Kandung', `pendidikanIbu` varchar(100) default ' ', `pekerjaanIbu` varchar(100) default ' ', `alamatIbu` varchar(250) default ' ', `noTlpIbu` varchar(20) default '+62', `kartuIdenIbu` varchar(20) default ' ', `tglBerlakuIbu` date default '2010-01-01', `kebangsaanIbu` varchar(4) default 'WNI', `jumlahAnakOrtu` int(11) default '1', `fotoAyah` varchar(255) default ' ', `fotoIbu` varchar(255) default ' ' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
7. Tabel dataortup, yang digunakan untuk menyimpan data orang tua dari pihak perempuan/ibu kandung bayi/ibu hamil, meliputi identitas pribadi dari ayah dan ibu, sesuai yang tercantum di kartu keluarga, seperti gambar di bawah ini :
Tabel dataortup dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `dataortup` */ DROP TABLE IF EXISTS `dataortup`;
CREATE TABLE `dataortup` (
`noRegistrasi` varchar(20) default ' ', `kodeOrtu` varchar(20) default ' ', `namaAyah` varchar(255) default ' ',
`tempatLahirAyah` varchar(255) default ' ', `tglLahirAyah` date default '2010-01-01', `agamaAyah` varchar(20) default 'Katolik', `statusAyah` varchar(20) default 'Kandung', `pendidikanAyah` varchar(255) default ' ', `pekerjaanAyah` varchar(255) default ' ', `alamatAyah` varchar(255) default ' ', `noTlpAyah` varchar(255) default '+62', `kartuIdenAyah` varchar(255) default ' ', `tglBerlakuAyah` date default '2010-01-01', `kebangsaanAyah` varchar(4) default 'WNI', `namaIbu` varchar(255) default ' ',
`tempatLahirIbu` varchar(255) default ' ', `tglLahirIbu` date default '2010-01-01', `agamaIbu` varchar(20) default 'Katolik', `statusIbu` varchar(20) default 'Kandung', `pendidikanIbu` varchar(255) default ' ', `pekerjaanIbu` varchar(255) default ' ', `alamatIbu` varchar(255) default ' ', `noTlpIbu` varchar(255) default '+62', `kartuIdenIbu` varchar(255) default ' ', `tglBerlakuIbu` date default '2010-01-01', `kebangsaanIbu` varchar(4) default 'WNI', `jumlahAnakOrtuP` int(10) default '1', `fotoAyah` varchar(255) default ' ', `fotoIbu` varchar(255) default ' ' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
8. Tabel datapihakperempuan, yang digunakan untuk menyimpan data yang berkaitan dengan identitas ibu hamil beserta bayinya, juga identitas ayah kandung bayi, identitas ayah dan ibu wali dari ibu hamil, seperti gambar berikut ini :
Gambar 4.8 Gambar Tabel datapihakperempuan
Tabel datapihakperempuan dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `datapihakperempuan` */ DROP TABLE IF EXISTS `datapihakperempuan`;
CREATE TABLE `datapihakperempuan` (
`noRegistrasi` varchar(20) NOT NULL default ' ', `nama` varchar(255) NOT NULL,
`alamatLengkap` varchar(255) default ' ', `asalKelurahan` varchar(255) default ' ', `kartuIdentitas` varchar(255) default ' ', `tglBerlaku` date default '2010-01-01', `noTelp` varchar(255) default '+62', `agama` varchar(8) default 'Katolik',
`tempatLahir` varchar(255) default ' ', `tanggalLahir` date default '2010-01-01', `pendidikan` varchar(255) default ' ', `pekerjaan` varchar(255) default ' ', `anakNomor` int(3) default '1',
`totalSaudara` int(3) default '1', `kebangsaan` varchar(4) default 'WNI', `status` varchar(20) default 'Lajang',
`keteranganMedisG` varchar(255) default ' ', `keteranganMedisP` varchar(255) default ' ', `keteranganMedisAB` varchar(255) default ' ', `umurKehamilan` int(3) default '0',
`noSuratNikah` varchar(255) default ' ', `tglSuratNikah` date default '2010-01-01', `lokasiSuratNikah` varchar(255) default ' ', `namaL` varchar(255) default ' ',
`tempatLahirL` varchar(255) default ' ', `tglLahirL` date default '2010-01-01', `alamatL` varchar(255) default ' ',
`kartuIdentitasL` varchar(255) default ' ', `tglBerlakuL` date default '2010-01-01', `kelurahanL` varchar(255) default ' ', `kebangsaanL` varchar(5) default 'WNI', `agamaL` varchar(20) default 'Katolik', `pendidikanL` varchar(255) default ' ', `pekerjaanL` varchar(255) default ' ', `noTlpL` varchar(255) default '+62', `statusL` varchar(30) default 'Lajang', `noSuratNikahL` varchar(255) default ' ', `tglSuratNikahL` date default '2010-01-01', `lokasiSuratNikahL` varchar(255) default ' ', `noIndukBayi` varchar(20) default ' ',
`namaBayi` varchar(255) default ' ',
`tempatLahirBayi` varchar(255) default ' ', `tglLahirBayi` date default '2010-01-01', `wetonBayi` varchar(255) default ' ',
`lokasiLahirBayi` varchar(255) default ' ', `jenisKelaminBayi` varchar(255) default ' ', `bbBayi` varchar(5) default '0',
`panjangBayi` varchar(5) default '0', `penolongBayi` varchar(255) default ' ', `namaPenolongBayi` varchar(255) default ' ', `partusBayi` varchar(255) default ' ',
`ketBayi` varchar(255) default ' ', `namaAWP` varchar(255) default ' ',
`tempatLahirAWP` varchar(255) default ' ', `tglLahirAWP` date default '2010-01-01', `kebangsaanAWP` varchar(5) default 'WNI', `agamaAWP` varchar(20) default 'Katolik', `statusAWP` varchar(255) default ' ', `pendidikanAWP` varchar(255) default ' ', `pekerjaanAWP` varchar(255) default ' ', `alamatAWP` varchar(255) default ' ', `noTlpAWP` varchar(255) default '+62',
`kartuIdentitasAWP` varchar(255) default ' ', `tglBerlakuAWP` date default '2010-01-01',
`hubDarahAWP` varchar(255) default ' ', `namaIWP` varchar(255) default ' ',
`tempatLahirIWP` varchar(255) default ' ', `tglLahirIWP` date default '2010-01-01', `kebangsaanIWP` varchar(5) default 'WNI', `agamaIWP` varchar(20) default 'Katolik', `statusIWP` varchar(255) default ' ', `pendidikanIWP` varchar(255) default ' ', `pekerjaanIWP` varchar(255) default ' ', `alamatIWP` varchar(255) default ' ', `noTlpIWP` varchar(255) default '+62',
`kartuIdentitasIWP` varchar(255) default ' ', `tglBerlakuIWP` date default '2010-01-01', `hubDarahIWP` varchar(255) default ' ', `fotoIbuHamil` varchar(255) default ' ', `fotoAyahBayi` varchar(255) default ' ', `fotoBayi` varchar(255) default ' ', `fotoAWP` varchar(255) default ' ', `fotoIWP` varchar(255) default ' ', PRIMARY KEY (`noRegistrasi`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
9. Tabel kasgl, yang digunakan untuk menyimpan data transaksi kas masuk maupun kas keluar.
Gambar 4.9 Gambar Tabel kasgl
Tabel kasgl dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `kasgl` */
DROP TABLE IF EXISTS `kasgl`; CREATE TABLE `kasgl` (
`noKas` char(12) NOT NULL,
`tglBayarKas` date NOT NULL default '2010-01-01', `keterangan` varchar(255) NOT NULL default ' ', `debet` double NOT NULL default '0',
`kredit` double NOT NULL default '0', `accKas` char(12) default NULL,
`referensi` varchar(50) default ' ', `terbilang` varchar(100) default NULL, `penerima` varchar(30) default ' ', `sisaFaktur` double default '0',
`tglUpdate` timestamp NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`noKas`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
10. Tabel kasgldetail, yang digunakan untuk menyimpan data rincian dari setiap transaksi yang terjadi baik kas keluar maupun kas masuk, seperti gambar di bawah ini :
Gambar 4.10 Gambar Tabel kasgldetail
Tabel kasgldetail dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `kasgldetail` */ DROP TABLE IF EXISTS `kasgldetail`;
CREATE TABLE `kasgldetail` ( `noUrut` int(11) NOT NULL, `noKas` char(12) NOT NULL,
`kodeRekening` varchar(12) NOT NULL, `namaRekening` varchar(40) default NULL,
`keterangan` varchar(255) NOT NULL default ' ', `jumlah` double NOT NULL default '0'
11. Tabel kasgldetail_temp, yang digunakan untuk menampung data perincian transaksi kas masuk/kas keluar sementara, dan akan selalu dikosongkan ketika data yang sah telah disetujui oleh user yang ditandai dengan menekan tombol Simpan di halaman antarmuka, seperti gambar di bawah ini :
Gambar 4.11 Gambar Tabel kasgldetail_temp
Tabel kasgldetail_temp dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `kasgldetail_temp` */ DROP TABLE IF EXISTS `kasgldetail_temp`;
CREATE TABLE `kasgldetail_temp` (
`noUrut` int(11) NOT NULL default '0', `noKas` char(12) NOT NULL default '',
`kodeRekening` varchar(12) NOT NULL default '', `namaRekening` varchar(40) default ' ',
`keterangan` varchar(255) NOT NULL default ' ', `jumlah` double NOT NULL default '0'
12. Tabel laporanpiutang, yang digunakan untuk menyimpan data piutang dan data pelunasan secara urut waktu dari seorang ibu hamil, seperti gambar berikut ini :
Gambar 4.12 Gambar Tabel laporanpiutang
Tabel laporanpiutang dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `laporanpiutang` */ DROP TABLE IF EXISTS `laporanpiutang`;
CREATE TABLE `laporanpiutang` (
`nokas` char(12) NOT NULL default '',
`tglbayarkas` date NOT NULL default '2010-01-01', `keterangan` varchar(35) NOT NULL default '', `debet` double NOT NULL default '0',
`kredit` double NOT NULL default '0', `subtotal` double NOT NULL default '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
13. Tabel nourutkas, menyimpan angka yang menunjukkan banyaknya kejadian yang berkaitan dengan kas. Digunakan untuk mengatur angka dalam variabel lblRandom, seperti gambar berikut ini :
Tabel nourutkas dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `nourutkas` */ DROP TABLE IF EXISTS `nourutkas`;
CREATE TABLE `nourutkas` ( `noUrut` bigint(20) NOT NULL, PRIMARY KEY (`noUrut`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
14. Tabel pegawai, yang digunakan untuk menyimpan data pegawai/pengurus lokasi asrama ibu hamil dan penitipan bayi, seperti gambar berikut ini :
Gambar 4.15 Gambar Tabel pegawai
Tabel pegawai dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `pegawai` */ DROP TABLE IF EXISTS `pegawai`;
CREATE TABLE `pegawai` (
`kodePegawai` varchar(10) NOT NULL, `namaPegawai` varchar(30) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
15. Tabel pelunasan, yang digunakan untuk menyimpan semua data transaksi pelunasan piutang ibu hamil, seperti gambar berikut ini :
Gambar 4.16 Gambar Tabel pelunasan
Tabel pelunasan dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `pelunasan` */ DROP TABLE IF EXISTS `pelunasan`;
CREATE TABLE `pelunasan` ( `noKas` char(12) default '',
`kodeIbuHamil` varchar(20) default ' ', `tglBayarKas` date default '2010-01-01', `kredit` double default '0',
`accKas` char(10) default '',
`totalPembayaran` double default '0', `totalTerbilang` varchar(255) default ' ', `penerimaUang` varchar(40) default ' ',
`tglUpdate` timestamp NULL default CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
16. Tabel pelunasandetail, yang digunakan untuk menyimpan perincian data dari semua transaksi pelunasan, seperti gambar berikut ini :
Tabel pelunasandetail dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `pelunasandetail` */ DROP TABLE IF EXISTS `pelunasandetail`;
CREATE TABLE `pelunasandetail` ( `noUrut` int(11) default '1', `noKas` char(12) default '',
`kodeTransaksi` varchar(12) default ' ', `keterangan` varchar(35) default ' ', `jumlahTagihan` double default '0', `jumlahSisaTagihan` double default '0', `jumlahPembayaran` double default '0', `jumlahDiscount` double default '0', `tglFaktur` date default '2010-01-01' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
17. Tabel pelunasandetail_temp, yang digunakan untuk menampung data perincian pelunasan sementara, dan akan selalu dikosongkan ketika data yang sah telah disetujui oleh user yang ditandai dengan menekan tombol Simpan di halaman antarmuka, seperti gambar berikut :
Gambar 4.18 Gambar Tabel pelunasandetail_temp
Tabel pelunasandetail_temp dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `pelunasandetail_temp` */ DROP TABLE IF EXISTS `pelunasandetail_temp`;
CREATE TABLE `pelunasandetail_temp` ( `noUrut` int(11) default '1',
`noKas` char(12) default '',
`kodeTransaksi` varchar(12) default ' ', `tglFaktur` date default '2010-01-01', `keterangan` varchar(35) default ' ', `jumlahTagihan` double default '0', `jumlahSisaTagihan` double default '0', `jumlahPembayaran` double default '0', `jumlahDiscount` double default '0', `jumlahEdar` double default '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
18. Tabel t_akunutama, digunakan untuk menyimpan nama-nama akun beserta kode masing-masing, seperti gambar berikut :
Gambar 4.19 Gambar Tabel t_akunutama
Tabel t_akunutama dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `t_akunutama` */
DROP TABLE IF EXISTS `t_akunutama`; CREATE TABLE `t_akunutama` (
`kode_tipeakun` varchar(7) NOT NULL default '', `nama_tipeakun` varchar(30) NOT NULL default '', `default_saldo` char(1) NOT NULL default 'D', `aktif_tidak` char(1) default 'A',
`saldo` double default '0', `terakhir` char(1) default 'Y', `tglsaldoawal` date default NULL, `saldoawal` double default '0', `pertanggal` date default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
19. Tabel user_table, digunakan untuk menyimpan username serta password yang digunakan setiap kali akan melakukan pengubahan data
dari berkas transaksi yang sudah tersimpan sebelumnya. Gambar tabel seperti berikut ini :
Gambar 4.21 Gambar Tabel user_table
Tabel user_table dibuat dengan sintak SQL sebagai berikut : /*Table structure for table `user_table` */ DROP TABLE IF EXISTS `user_table`;
CREATE TABLE `user_table` (
`username` varchar(12) NOT NULL default '', `password` varchar(12) NOT NULL default '', `level` varchar(30) default 'Operator' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;