BAB 4 – PERANCANGAN FILE
Tujuan Perancangan File :
1. Ketersediaan data (data avaibility) 2. Akurat dan konsistensi (data integrity) 3. Penggunaan stroage yang efisien 4. Kemudahan dalam updating 5. Kemudahan dalam reviewing data
Jenis-Jenis File :
1. File Master
Berisi record suatu entitas
Atribut (field)-nya boleh diupdate
Jumlah recordnya relatif permanen Contoh :
- File Master Mahasiswa
- File Master Dosen
- File Master Barang
- File Master Pelanggan 2. File Table
Mirip file master , umumnya hanya read only Contoh :
- File Tabel Bulan - File Tabel Mata Kuliah
3. File Transaksi
Merekam data transaksi
Mengupdate file master
Jumlah recornya terus bertambah Contoh :
- File Transaksi Penjualan
- File Transaksi Retur Penjualan
- File Transaksi Perkuliahan 4. File Pelantara/Sementara/Kerja
Dibentuk supaya proses lebih cepat Contoh
- File indeks ======= Berisi record key yang terurut - File Sort ======= File / transaksi terurut
A.
NORMALISASI Pengertian Normalisasi
Normalisasi adalah proses dekomposisi struktur data yang kompleks menjadi bentuk yang normal berdasarkan aturan mengenai data dependency
Normalisasi juga merupakan suatu pendekatan formal yang menguji data elemen dan data secara bersama ke dalam suatu bentuk yang dapat menampung perubahan pada masa yang akan datang
Data store berfungsi sebagai :-
Penampung data masukan (formulir)-
Sumber data untuk menghasilkan informasi keluaran (laporan, inquiry)
Data store pada DFD berisi data yang redudansi
Normalisasi biasanya dilakukan terhadap data storeTahapan dalam Normalisasi : Normal Pertama (1NF).
Hilang kan semua kelompok data yang berulang (repeating group) dan tentukan primary key. Hasilnya adalah relasi dibagi-bagi menjadi relasi yang lebih sederhana.
Normal Kedua (2NF).
Semua non – key attribute (Field yang bukan record key) harus full dependent kepada primary key
Normal Ketiga (3NF).
Hilangkan transitive dependency, yaitu sebuah non-key attribute yang tergantung pada non -key attribute yang lain dalam satu relasi. `
Contoh Soal : CV.SAHABAT JAKARTA SURAT ORDER No. SO : xxxxxx Tanggal SO : dd-mm-yyyy Kode Pelanggan : xxxx Nama Pelanggan : xxxxxxxxxxxxxxxxxxxxxxxxx Alamat : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Tgl Rencana Kirim : dd-mm-yyyy Jangka Pembayaran : 99 Hari
Kode
Barang Barang Nama Jumlah Order Satuan Harga Total
Xxxx Xxxx Xxxx Xxxxxxxxxxxxxxx Xxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxx 9,999 9,999 9,999 99,999 99,999 99,999 999,999,999 999,999,999 999,999,999 Total Seluruh 9,999,999,999
Diketahui :
Ms_Barang = @Kode_Brg + Nama_Brg + Jumlah + Harga_satuan Ms_Pelanggan = @Kode_Plg + Nama_Plg + Alamat + Telepon + E-mail Pertanyaan :
Buatlah Normalisasi sampai bentuk normal ketiga menurut E.F.Codd dan James Martin?... Menurut cara E.F.Codd
UN NF.
Tr_Order = No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pemby + {Kode_Brg + Nama_Brg + Jumlah _Order+ Harga_Satuan + Total } + Total_Seluruh.
1 NF.
Tr_Order = @No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pembayaran + @Kode_Brg + Nama_Brg + Jumlah_Order + Harga_Satuan + Total + Total_Seluruh.
2 NF.
Tr_Order_Header = @No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pembayaran + Total_seluruh
Tr_Order_Detail = @#No_Order + @#Kode_Brg + Jumlah_Order Ms_Barang = @Kode_Brg + Nama_Brg + Jumlah + Harga_satuan
3 NF.
Tr_Order_Header = @No_Order + Tgl_Order + #Kd_Plg + Tgl_Rencana_Kirim +Jangka_Pembayaran+
Total_seluruh
Ms_Pelanggan = @Kode_Plg + Nama_Plg + Alamat + Telepon + E-mail
Tr_Order_Detail = @#No_Order +@ #Kode_Brg + Jumlah_Order Ms_Barang = @Kode_Brg + Nama_Brg + Jumlah + harga_satuan Menurut cara James Martin
UN NF.
Tr_Order = @No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pembayaran + {Kode_Brg + Nama_Brg + Jumlah_Order + Harga_Satuan + Total } + Total_Seluruh.
1 NF.
Tr_Order_Header =
@No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pembayaran + Total_Seluruh.
Tr_Order_Detail =
2 NF.
Tr_Order_Header =
@No_Order + Tgl_Order + Kd_Plg + Nama_Plg + Alamat + Tgl_Rencana_Kirim + Jangka_Pembayaran +
Total_seluruh
Tr_Order_Detail =@#No_Order + @#Kode_Brg + Jumlah_Order Ms_Barang = @Kode_Brg + Nama_Brg + Jumlah + harga_satuan
3 NF.
Tr_Order_Header = @No_Order + Tgl_Order + #Kd_Plg + Tgl_Rencana_Kirim+ Jangka_Pembayaran+
Total_seluruh
Ms_Pelanggan = @Kode_Plg + Nama_Plg + Alamat + Telepon + E-mail
Tr_Order_Detail = @#No_Order + @#Kode_Brg + Jumlah_Order Ms_Barang = @Kode_Brg + Nama_Brg + Jumlah + harga_satuan
Kesimpulan :
Dengan demikin dapat dilihat bahwa perbedaan melakukan normalisasi menurut cara E.F.Codd dan James Martin hanya pada langkah untuk melakukan Normalisasi ke satu saja, pada Normalisasi kedua sudah sama. Apalagi pada Normalisasi ketiga sudah pasti sama.
CONTOH KASUS
Kamus Data Aliran Masukan
1. Daf_brg = periode_cetak_brg+hal_cetak+{no_u+kd_brg+jns_brg+nm_brg+ sat_brg+Jml_stok} 2. Daf_Dept_prsh = periode_cetak_dept+hal_cetak+{no_u+kd_dept+nm_dept+ Nm_ka_dept+nip_ka_dept} 3. FPB = no_FPB+tgl_FPB+ kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+ {no_u+ kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta} 4. Daf_minta_dept_verifikasi = {no_u+tgl_FPB+{no_FPB+nm_dept+{kd_brg+jns_brg+nm_brg+ sat_brg+jml_minta+jml_realisasi}}}
Kamus Data Aliran Keluaran
1. Daf_brg_prsh = periode_cetak_brg+hal_cetak+{no_u+kd_brg+jns_brg+nm_brg+
sat_brg+Jml_stok}
2. FPB_kembali = no_FPB+tgl_FPB+ kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
{no_u+ kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta}
3. Daf_minta_dept = {no_u+tgl_FPB+{no_FPB+nm_dept+{kd_brg+jns_brg+nm_brg+
sat_brg+jml_minta}}}
4. BPB = no_FPB+tgl_FPB+ kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
{no_u+ kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta+jml_realisasi}
Kamus Data Laporan
Lap_permintaan = periode_awal+periode_akhir+{no_u+tgl_FPB+{no_FPB+nm_dept+
Tot_FPB}+tot_tgl}+tot_sel
Kamus Data Datastore
BRG = @kd_brg+jns_brg+nm_brg+sat_brg+Jml_stok+periode_cetak_brg
DEPT_PRSH = @kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+periode_cetak_dept
PERMINTAAN = @no_FPB+tgl_FPB+#kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
{#kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta+jml_realisasi}
NORMALISASI (E.F.CODD) UNF (Un Normalized Form)
PERMINTAAN = no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
{kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta+jml_realisasi}
INF (First Normalized Form)
PERMINTAAN = @no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
@kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta+jml_realisasi
2NF (Second Normalized Form)
PERMINTAAN_HEADER = @no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept
PERMINTAAN_DETAIL = @#no_FPB+@#kd_brg+Jml_minta+jml_realisasi
BRG = @kd_brg+jns_brg+nm_brg+sat_brg+Jml_stok+periode_cetak_brg
3NF (Third Normalized Form)
PERMINTAAN_HEADER = @no_FPB+tgl_FPB+#kd_dept
DEPT_PRSH = @kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+periode_cetak_dept
PERMINTAAN_DETAIL = @#no_FPB+@#kd_brg+Jml_minta+jml_realisasi
BRG = @kd_brg+jns_brg+nm_brg+sat_brg+Jml_stok+periode_cetak_brg
NORMALISASI (JAMES MARTIN) UNF (Un Normalized Form)
PERMINTAAN = no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+
{kd_brg+jns_brg+nm_brg+sat_brg+Jml_minta+jml_realisasi}
INF (First Normalized Form)
PERMINTAAN_HEADER = @no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept
PERMINTAAN_DETAIL = @no_FPB+@kd_brg+Jml_minta+jml_realisasi
2NF (Second Normalized Form)
PERMINTAAN_HEADER = @no_FPB+tgl_FPB+kd_dept+nm_dept+nm_ka_dept+nip_ka_dept
PERMINTAAN_DETAIL = @#no_FPB+@#kd_brg+Jml_minta+jml_realisasi
3NF (Third Normalized Form) PERMINTAAN_HEADER = @no_FPB+tgl_FPB+#kd_dept DEPT_PRSH = @kd_dept+nm_dept+nm_ka_dept+nip_ka_dept+periode_cetak_dept PERMINTAAN_DETAIL = @#no_FPB+@#kd_brg+Jml_minta+jml_realisasi BRG = @kd_brg+jns_brg+nm_brg+sat_brg+Jml_stok+periode_cetak_brg
B.
SPESIFIKASI FILE
Hasil normalisasi data hanya menunjukkan atribut (field) apa saja yang terdapat dalam sebuah file
Spesifikasi file memberikan rincian yang lebih lengkap
Spesifikasi file berisi : Kode File, Nama File, Organisasi, Primary Key, Foreign Key, Panjang Record dan Diskripsi Field (No, Nama Field, Type Field, Panjang, Decimal, Keterangan)
Primary Key hanya satu sedangkan Foreign Key boleh lebih dari satu jenis (disesuaikan dengan keperluan) dan boleh beberapa field
Tipe field : Numeric, Character, Date, BooleanContoh :
Nama File : Master_Pelanggan
Kode File : Ms_Plg
Organisasi : Indexed Sequential
Primary Key : Kd_Plg
Foreign Key : -
Panjang Record : 95
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 5 Kd_Plg Nm_Plg Alamat Telepon E-mail Character Character Character Character Character 4 25 30 11 25 - - - - - Kode Pelanggan Nama Pelanggan Alamat Telepon E-Mail Pelanggan
Nama File : Master_Barang
Kode File : Ms_Brg
Organisasi : Indexed Sequential
Primary Key : Kd_Brg
Foreign Key : -
Panjang Record : 28
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 Kd_Brg Nm_Brg Jumlah Harga_satuan Character Character Numeric Numeric 4 15 4 5 - - 0 0 Kode Barang Nama Barang Jumlah Barang Harga Satuan
Contoh Spesifikasi File Setelah di Lakukan Normalisasi
Nama File : Transaksi_Order_Header
Kode File : Tr_Order
Organisasi : Indexed Sequential
Primary Key : No_Order
Foreign Key : Kd_Plg
Panjang Record : 28
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 5 No_Order Tgl_Order Kd_Plg Tgl_Renc_Kirim Jangka_Pembaya ran Character Date Character Date Numeric 6 8 4 8 2 - - - - - Nomor Order Tanggal Order Kode Pelanggan Tgl Rencana Kirim Jangka Pembayaran
Nama File : Transaksi_Order_Detail
Kode File : Tr_Order
Organisasi : Indexed Sequential
Primary Key : No_order
Foreign Key : No_Order, Kode_Brg
Panjang Record : 15
No Nama Field Type Panjang Decimal Keterangan
1 2 3 No_Order Kd_Brg Jumlah_Order Character Numeric Numeric 6 5 4 - 0 0 Nomor Order Kode Barang Jumlah Barang CONTOH KASUS
Nama File : Master_Barang
Kode File : Brg
Organisasi : Indexed Sequential
Primary Key : Kd_Brg
Foreign Key : -
Panjang Record : 60
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 Kd_Brg Jns_Brg Nm_Brg Jml_stok Character Character Character Numeric 7 15 30 2 - - 0 0 Kode Barang Jenis Barang Nama Barang Jumlah Barang
Nama File : Master_Departemen_perusahaan
Kode File : Dept_prsh
Organisasi : Indexed Sequential
Primary Key : Kd_dept
Foreign Key : -
Panjang Record : 56
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 Kd_dept Nm_dept Nm_ka_dept Nip_ka_dept Character Character Character Character 5 30 15 6 - - - - Kode Departemen Nama Departemen Nama Kepala Departemen NIP Kepala Departemen
Nama File : Transaksi_Permintaan_Header
Kode File : Permintaan_header
Organisasi : Indexed Sequential
Primary Key : No_FPB
Foreign Key : Kd_Dept
Panjang Record : 22
No Nama Field Type Panjang Decimal Keterangan
1 2 3 No_FPB Tgl_FPB Kd_dept Character Date Character 9 8 5 - - -
Nomor Form Minta Barang Tanggal Form minta Brg Kode Departemen
Nama File : Transaksi_Permintaan_Detail
Kode File : Permintaan_Detail
Organisasi : Indexed Sequential
Primary Key : No_FPB
Foreign Key : No_FPB, Kd_brg
Panjang Record : 20
No Nama Field Type Panjang Decimal Keterangan
1 2 3 4 No_FPB Kd_Brg Jumlah_Minta Jumlah_realisasi Character Numeric Numeric Numeric 9 7 2 2 - 0 0 0
Nomor Form Minta Barang Kode Barang
Jumlah Barang Minta Jumlah Barang Realisasi
ENTITY RELATIONSHIP DIAGRAM (ERD)
A. VERSI CHEN
Diagram yang digunakan untuk menggambarkan hubungan antar entity dalam suatu sistem.
ERD tidak menggambarkan aliran data atau proses. Komponen ERD :
1. Entity 2. Relationship 3. Attribute 1. Entity
Segala sesuatu yang dapat dijelaskan dengan data, kelompok benda / objek, diberi nama denga
kata benda.
2. Relationship
Asosiasi antara satu atau beberapa entity, diberi nama dengan kata kerja
3. Attribute
Propety / karakteristik suatu entity atau relationship
SIMBOL YANG DIGUNAKAN Segi empat, menyimbolkan entity
Belah ketupat, menyimbolkan relationship
JENIS RELATIONSHIP (CARDINALITY) One – to – One (1 : 1)
Nama
Entity relationship Nama
Milik
One – to – Many atau Many-To-One ( 1 : M atau M : 1)
Many – to – Many (N : M)
A. VERSI JAMES MARTIN
Simbol-simbol yang digunakan :
Entity / Terminal
Relationship
Garis relasi / hubungan dilengkapi dengan cardinality (frekuensi hubungan)
CARDINALITY / JENIS-JENIS RELATIONSHIP
1. A berasosiasi dengan satu dan hanya B
A
B
Nama Entity Lakukan PELANGGAN1
M
SEWA VCD Kurangi1
M
Memesan Pelanggan N M Barang2. A berasosiasi dengan Nol atau satu B
3. A berasosiasi dengan satu atau lebih B
4. A berasosiasi denga Nol, satu atau lebih B
5. A berasosiasi dengan lebih dari satu B
Pelanggan Barang Rincian Pesanan Pesanan
A
B
A
B
A
B
A
B
CONTOH
Seorang pelanggan melakukan satu atau beberapa pesanan
Sebuah pesanan mempunyai satu rincian pesanan (detail order)
Satu rincian pesanan terdiri dari satu atau beberapa barang Contoh 1 : ERD menurut CHEN
Mliki Order Detail Order 1 1 Barang Pelanggan Kurangi Lakukan N 1 1 N
Contoh 2 : ERD Menurut JAMES MARTIN
Order Detail
Order
Barang Pelanggan
CONTOH KASUS Versi Chen
DEPT_PRSH LAKUKAN PERMINTAAN
PERMINTAAN DETAIL Miliki BRG Kurangi 1 M 1 1 1 M @kd_dept @kd_brg @no_FPB #kd_dept @no_FPB #kd_brg #kd_dept #kd_brg
Versi James Martin
DEPT_PRSH PERMINTAAN
PERMINTAAN DETAIL BRG