Data Model ANALISA DAN PERANCANGAN SISTEM

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