3.2. Data Model
Tahap Data Model ini akan dibagi menjadi 2 bagian, yaitu Conceptual Data Model CDM dan Physical Data Model PDM. CDM untuk Sistem
Informasi Terintegrasi ini dapat dilihat pada Gambar 3.6 dan 3.7 di bawah ini.
Gambar 3.6 CDM part I
Gambar 3.7 CDM part II
CDM di atas terdiri atas 16 buah tabel. Pembahasan bagian CDM ini akan dibagi menjadi bagian untuk menekan tingkat kerumitannya. Bagian yang pertama
terdiri atas 2 buah tabel, yaitu Admin dan Info. Kedua tabel ini erat kaitannya dengan tugas Admin membuat info atau pengumuman yang kemudian akan
disajikan pada front end website. Tabel Admin menyimpan semua informasi administrator website dan digunakan untuk kepentingan Login Admin. Tabel ini
berelasi 1 to many ke tabel Info. Bagian selanjutnya terdiri atas 3 buah tabel, yaitu User, Unit_Usaha dan
Urusan_Unit. Sama seperti tabel Admin, tabel User juga menyimpan semua informasi terkait user yang mengakses Sistem Informasi Terintegrasi ini, termasuk
di dalamnya level_user. Field level_user inilah yang merupakan bentuk nyata dari hak akses yang banyak disinggung dalam sub bab DFD di atas. Tabel User
berkaitan erat dengan tabel Unit_Usaha danUrusan_Unit, karena setiap user dikelompokkan ke dalam unit usaha dan urusan unit tertentu di dalam setiap
proses bisnis yang terjadi sehari-harinya. Dua bagian sisanya akan membahas seputar transaksi dan biaya. Yang
dimaksud dengan istilah transaksi di sini adalah setiap transaksi yang dilakukan oleh masing-masing urusan unit dan mendatangkan pendapatan bagi perusahaan.
Sedangkan istilah biaya digunakan untuk beban yang harus dibayarkan perusahaan setiap bulannya.
Tabel Biaya dan Keluar berelasi many to 1 karena tabel Keluar berisi kategori yang digunakan untuk mengelompokkan biaya. Jadi untuk beban yang
dibayar oleh perusahaan setiap bulannya, akan dimasukkan dalam kategori tertentu, misalnya biaya pegawai, bahan dan utilitas dan lain-lain.
Tabel Transaksi merupakan tabel yang paling banyak berelasi dengan tabel-tabel lainnya. Pertama-tama tabel ini berelasi many to 1 dengan tabel
Member. Hal ini menggambarkan informasi membership akan disimpan dalam setiap transaksi yang dilakukan oleh seorang member perusahaan.
Kemudian tabel Transaksi juga berelasi dengan 6 tabel detail transaksi, yaitu Detail_Hall, Detail_Perdagangan, Detail_Kantin, Detail_Puri,
Detail_Laundry dan Detail Travel. Keenam tabel detail ini akan digunakan untuk menyimpan semua informasi detail dari transaksi yang dilakukan. Karena berelasi
1 to many pada keenam tabel tersebut, maka pada setiap transaksi memungkinkan penjualan lebih dari 1 barang atau jasa. Alasan mengapa sampai diperlukan 6
buah tabel untuk menyimpan informasi transaksi adalah karena setiap urusan unit memiliki bidang yang berbeda-beda, jadi tentu saja membutuhkan field yang
berbeda-beda pula. Misalnya pada urusan Laundry tidak akan memerlukan field check_in check_out seperti yang ada pada urusan Puri. Sehingga sangat tidak
memungkinkan apabila keenam bidang yang digeluti oleh urusan unit PT. Graha Sarana Gresik dipaksakan dalam sebuah tabel saja.
Masing-masing tabel detail tersebut juga berelasi dengan tabel Masuk. Tabel Masuk ini memiliki fungsi yang sama persis dengan tabel Keluar pada
konteks biaya. Tabel Masuk ini menyimpan informasi kategori yang digunakan untuk mengelompokkan transaksi yang dilakukan. Perbedaannya terletak pada
relasi tabel Masuk dengan tabel Urusan_Unit. Hal ini menandakan bahwa kategori masing-masing urusan unit berbeda-beda. Sedangkan dalam tabel Keluar tidak
berelasi dengan tabel Urusan_Unit, dikarenakan kategori biaya diseragamkan untuk semua urusan unit.
PDM hasil generate dari CDM yang telah dibahas panjang lebar di atas dapat dilihat pada Gambar 3.8 berikut ini.
ADMIN kode_admin
password_admin nama_admin
email_admin session_admin
level_admin blokir_admin
varchar50 varchar50
varchar50 varchar50
varchar50 varchar15
char1 pk
INFO kode_info
kode_admin judul_info
isi_info gambar_info
tanggal_dibuat int
varchar50 varchar50
text varchar100
timestamp pk
fk
USER kode_user
kode_urusan kode_unit
password_user nama_user
email_user session_user
level_user blokir_user
varchar50 varchar15
varchar10 varchar50
varchar50 varchar50
varchar50 varchar15
char1 pk
fk2 fk1
UNIT_USAHA kode_unit
nama_unit varchar10
varchar25 pk
URUSAN_UNIT kode_urusan
kode_unit nama_urusan
potongan_urusan varchar15
varchar10 varchar50
int pk
fk
TRANSAKSI kode_transaksi
kode_user kode_unit
kode_member kode_urusan
atas_nama t t l d t il
... int
varchar50 varchar10
varchar10 varchar15
varchar50 i t
pk fk3
fk2 fk1
fk4 MEMBER
kode_member nomor_ktp
nama_member alamat_member
telepon_member urutan_member
varchar10 varchar25
varchar25 varchar50
varchar20 int
pk
MASUK kode_masuk
kode_urusan nama_masuk
harga_masuk varchar20
varchar15 varchar50
int pk
fk BIAYA
kode_biaya kode_user
kode_urusan kode_keluar
kode_unit keterangan_biaya
jumlah_biaya harga_biaya
nominal_biaya tanggal_biaya
tanggal_input_biaya int
varchar50 varchar15
varchar5 varchar10
varchar100 int
int int
date timestamp
pk fk4
fk3 fk1
fk2
KELUAR kode_keluar
nama_keluar varchar5
varchar50 pk
DETAIL_TRAVEL kode_transaksi
kode_masuk keterangan_travel
urutan_travel jumlah_tiket
harga_tiket nominal_travel
kota_keberangkatan kota_tujuan
jenis kelas
atas_nama_tiket tanggal_keberangkatan
tanggal_kedatangan int
varchar20 varchar100
int int
int int
varchar50 varchar50
varchar50 varchar50
varchar50 datetime
datetime fk2
fk1 DETAIL_PURI
kode_transaksi kode_masuk
keterangan_puri urutan_puri
res_dari_tanggal res_sampai_tanggal
check_in check_out
lama_inap tarif_inap
nominal_puri int
varchar20 varchar100
int date
date datetime
datetime int
int int
fk1 fk2
DETAIL_HALL kode_transaksi
kode_masuk keterangan_hall
urutan_hall sewa_dari_tanggal
sewa_sampai_tanggal lama_sewa
harga_sewa nominal_hall
tanggal_lunas_hall int
varchar20 varchar100
int date
date int
int int
datetime fk1
fk2 DETAIL_PERDAGANGAN
kode_masuk kode_transaksi
keterangan_dagang urutan_dagang
jumlah_dagang jenis_dagang
harga_dagang nominal_dagang
tanggal_lunas_dagang varchar20
int varchar100
int int
varchar25 int
int datetime
fk2 fk1
DETAIL_LAUNDRY kode_transaksi
kode_masuk keterangan_laundry
urutan_laundry jumlah_laundry
harga_laundry nominal_laundry
tanggal_pengambilan int
varchar20 varchar100
int int
int int
datetime fk1
fk2 DETAIL_KANTIN
kode_transaksi kode_masuk
keterangan_kantin urutan_kantin
jumlah_kantin harga_kantin
nominal_kantin int
varchar20 varchar100
int int
int int
fk1 fk2
Gambar 3.8 PDM
3.3. Desain User Interface