vii - repository.bsi.ac.id · normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel...

19

Upload: builien

Post on 02-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita
Page 2: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

vii

Daftar Isi

Persembahan ........................................................................................... iii

Prakata ..................................................................................................... v

Daftar Isi ................................................................................................ vii

Bab 1. Analisa Desain Basis Data (Data Base) ...................... 11.1. Proses Normalisasi ........................................................ 1

1.1.1. Bentuk Tidak Normal .......................................... 3

1.1.2. Bentuk Normal Kesatu (1NF) .............................. 3

1.1.3. Bentuk Normal Kedua (2NF) .............................. 5

1.1.4. Bentuk Normal Ketiga (3NF) .............................. 7

1.2. Rancangan Table ......................................................... 11

Bab 2. Persiapan Perangakat Basis Data............................... 152.1. Installasi MySQL Server .............................................. 15

2.2. Installasi MySQL ODBC Driver .................................. 24

2.3. Installasi SQLyog Community ................................... 27

Page 3: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

viii

Bab 3. Desain DBMS dengan SQLyog Community 6.11 ..... 313.1. Membuat Koneksi ke MySQL Host ............................ 31

3.2. Membuat Database ...................................................... 34

3.3. Membuat Table ........................................................... 36

3.3.1. Membuat Table tbBarang .................................. 39

3.3.2. Membuat Table tbSupplier ................................ 44

3.3.3. Membuat Table tbBagian ................................... 45

3.3.4. Membuat Table tbTerima ................................... 45

3.3.5. Membuat Table tbDtTerima ............................... 48

3.3.6. Membuat Table tbKeluar.................................... 52

3.3.7. Membuat Table tbDtKeluar................................ 54

Bab 4. Implementasi Perancangan Aplikasi Inventory ....... 594.1. Membuat Koneksi Data Source ke ODBC .................. 59

4.2. Pembuatan Form .......................................................... 64

4.2.1. Pembuatan Form Data Barang ........................... 65

4.2.2. Pembuatan Form Data Bagian ........................... 74

4.2.3. Pembuatan Form Data Supplier ......................... 82

4.2.4. Pembuatan Form Data Barang Masuk ............... 94

4.2.5. Pembuatan Form Data Barang Keluar ............. 112

Bab 5. Perancangan Report Inventory ............................. 1315.1. Pengaturan Data Environment ................................... 131

5.2. Membuat Report Barang ........................................... 134

5.2.1. Mengaktifkan Table Untuk Report Barang..... 134

5.2.2. Merancang Report Barang .............................. 136

5.3. Membuat Report Bagian ............................................ 142

Page 4: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

ix

5.3.1. Mengaktifkan Table Untuk Report Bagian ..... 143

5.3.2. Merancang Report Bagian............................... 143

5.4. Merancang Report Supplier ....................................... 145

5.4.1. Mengaktifkan Table Untuk Report Supplier ... 145

5.4.2. Merancang Report Supplier ............................ 146

5.5. Membuat Tanda Terima Barang Masuk..................... 148

5.5.1. Mengaktifkan Table Untuk Tanda Terima BarangMasuk.............................................................. 148

5.5.2. Merancang Tanda Terima Barang Masuk....... 152

5.5.3. Membuat Form Cetak Tanda Terima BarangMasuk.............................................................. 153

5.6. Membuat Tanda Terima Barang Keluar ..................... 156

5.6.1. Mengaktifkan Table Untuk Tanda Terima BarangKeluar.............................................................. 156

5.6.2. Merancang Tanda Terima Barang Keluar....... 160

5.6.3. Membuat Form Cetak Tanda Terima BarangKeluar.............................................................. 162

5.7. Membuat Laporan Pertanggal Barang Keluar ............ 165

5.7.1. Mengaktifkan Table Untuk Laporan PertanggalBarang Keluar ................................................. 165

5.7.2. Merancang Laporan Pertanggal Barang Keluar

......................................................................... 167

5.7.3. Merancang Form Cetak Laporan PertanggalTerima Barang Keluar..................................... 169

5.8. Membuat Laporan Pertanggal Barang Masuk ............ 171

5.8.1. Mengaktifkan Table Untuk Laporan PertanggalBarang Masuk ................................................. 171

5.8.2. Merancang Laporan Pertanggal Barang Masuk

......................................................................... 173

Page 5: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

x

5.8.3. Membuat Form Cetak Laporang PertanggalBarang Masuk ................................................. 175

Bab 6. Pembuatan Form Utama ........................................ 1796.1. Pembuatan Form Menu Utama................................... 179

6.2. Pembuatan Form About ............................................. 186

Bab 7. Membuat File Distribusi ......................................... 1877.1. Membuat File Execute ............................................... 187

7.2. Membuat File Setup ................................................... 189

7.3. Menjalankan File Setup ............................................. 192

7.4. Sistem Informasi Inventory ....................................... 196

7.4.1. Form Bagian .................................................... 198

7.4.2. Form Barang .................................................... 199

7.4.3. Form Supplier .................................................. 200

7.4.4. Form Pengolahan Barang Masuk ..................... 201

7.4.5. Form Pengolahan Barang Keluar ..................... 201

Daftar Pustaka ...................................................................... 203

Page 6: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

1

ANALISA DESAIN BASISDATA (DATABASE)

Pada pengimplementasian sistem akan digunakan beberapa permodelanseperti Normalisasi, Logical Relationships Structure dan Entity RelationshipDiagram.

Pada contoh kasus yang diangkat adalah perancangan Basis Data pada sistemaplikasi Inventory Barang.

1.1 Proses NormalisasiNormalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yangredundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarangkita akan bahas satu persatu dari tahapan Normalisasi ini.

Pada sistem Inventory Barang, memiliki beberapa objek table, yaitu misalkanBarang, Supplier, Bagian, Terima Barang, DetailTerima Barang, KeluarBarang dan DetailKeluar Barang. Berikut kita analisa sampai dengan bentuknormalisasi.

Untuk melakukan proses normalisasi kita bisa mengambil dari salah satudokumen yang ada, kita ambil contoh dokumen Bukti Barang Masuk danBukti Barang Keluar.

BAB

1

Page 7: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

2

Gambar 1.1 Bukti Terima Barang atau Barang Masuk

Gambar 1.2 Bukti Barang Keluar

Page 8: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

3

1.1.1 Bentuk Tidak Normal (UnNormalize)Bentuk Tidak Normal ini, merupakan bentuk dari data yang direkam yangtidak memiliki format tertentu, data bisa saja terduplikasi atau tidak lengkap,hal itu tidak jadi soal.

Berikut atribut-atribut dari Invetory Barang:

Gambar 1.3 Bentuk Tidak Normal

Pada bentuk tidak normal diatas, masih kita lihat record-record yang tidaklengkap karena datangnya atribut-atribut apa adanya, apabila dokumendengan bentuk yang lebih komplek maka akan sulit untuk record yang harusdibentuk.

1.1.2 Bentuk Normal Kesatu (1 NF)Sekarang pada bentuk normal kesatu ini dari atribut-atribut yang tepat danmemiliki nilai atomic dan membentuk suatu table yang flat atau disebutdengan flat table atau flat file. Apabila jika kedatangan atribut-atribut tersebutterdapat kerangkapan, maka atribut-atribut yang rangkap harus dibuang,

Page 9: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

4

hingga tersisa hanya ada atribut yang memiliki arti satu saja, misal, KDBRG,NMBRG dan sebagainya.

Pada bentuk Normal kesatu ini belumlah normal karena ada atribut yangmempunyai ketergantungan dengan atribut yang lain. Seperti contoh atributTGLBM, JMLTERIMA, NMSUPPLIER, NMBRG, SATUAN, STOK,NOPOREFF, TGLPOREFF masih tergantung pada NOBM, NOSUPPLIER,KDBRG

Table 1.1. Nomal KeSatu

Pada tahap normal kesatu ini masih banyak kelemahan didalam pendataantransaksi, kelemahan tersebut antara lain yaitu :

1. Penyisipan Data ( Insert )

Pada penyisipan data, tidak dapat memasukan kode Kode Suppler tanpa adatransaksi Barang Masuk, sehingga Suppler harus memasok barang terlebihdulu. Serta pada penyisipan data, tidak dapat memasukan kode Kode Bagiantanpa ada transaksi Barang Keluar, sehingga Bagian harus meminta barangterlebih dulu.

2. Penghapusan Data ( Delete ).

Jika salah satu transaks Barang Masuk dibatalkan, maka berakibat terhapusjuga data Supplier tersebut, serta ika salah satu transaksi Barang Keluardibatalkan, maka berakibat terhapus juga data Bagian tersebut.

3. Pengubahan (Updating).

Pendataan Supplier berulang kali, sehingga jika nama supplier diubah, makaakan mengubah record yang berhubungan dengan supplier tersebut, begitu

Page 10: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

5

pula dengan data barang. Serta pendataan Bagian berulang kali, sehingga jikanama bagian diubah, maka akan mengubah record yang berhubungan denganbagian tersebut, begitu pula dengan data barang.

Pada tahap normal kesatu ini, kita dapat lihat dari transaksi diatas memilikikunci NOBM+NOBK+KDBRG+KDSUPPLIER+KDBAGIAN dan ini bisadipakai sebagai candidate key.

Bentuk normal kesatu dapat digambarkan seperti dibawah ini :

Gambar 1.4 Bentuk Normalisasi Satu

Simbol bintang pada masing-masing field NOBM, NOBK, KDBAGIAN,KDSUPPLIER dan KDBRG, menunjukan bahwa field-field tersebut sebagaiCandidate Key atau Kunci Kandidat

1.1.3 Bentuk Normal Kedua (2 NF)Sekarang pada bentu normal kedua ini dari tidak ada atribut-atribut non-kuncitergantung pada sebagian atribut-atribut kunci.

Dalam hal ini Nama Barang dan Harga Barang tergantung fungsional padaKode Barang (KDBRG) dan tidak tergatung pada keempat key,NOBM+NOBK+KDBAGIAN+KDSUPPLIER.

Begitu juga halnya dengan Nama Barang, Satuan dan Stok tergantungfungsional pada Kode Barang (KDBRG).

Page 11: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

6

Bentuk normalisasi bentuk kedua ini bisa digambarkan seperti dibawah ini :

Gambar 1.5 Bentuk Normalisasi Kedua

Pada bentuk normal kedua ini, masih belum normal, karena masih terdapatbeberapa masalah yaitu :

1. Masih terdapat kerangkapan data, apabila dilakukan transaksi BarangKeluar sebanyak 3(tiga), maka sebanyak 3(tiga) kali pula No. BarangKeluar (NOBK) akan dituliskan. Sedangkan NOBK adalah primary key,maka NOBK tidak bisa berganda.

2. Masih terdapat kerangkapan data, apabila dilakukan transaksi BarangTerima sebanyak 3(tiga), maka sebanyak 3(tiga) kali pula NOBM akandituliskan. Sedangkan NOBM adalah primary key, maka NOBM tidakbisa berganda.

Sebagai solusi harus dipisahkan kedalam tabel baru supaya NOBK tidakberulang dalam Tabel Barang Keluar dan NOBM tidak berulang dalam TabelBarang Terima.

Page 12: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

7

Simbol Satu Bintang ( * ) pada NOBM, NOBK, KDBRG, KDBAGIAN danKDSUPPLIER, menandakan sebagai Primary Key atau Kunci Utama darimasing-masing tabel. Terdapat simbol dua bintang (**) pada KDBRG danKDBAGIAN dalam tabel Barang Keluar dan KDBRG dan KDSUPPLIERdalam Tabel Barang Terima, menandakan sebagai Foreign Key atau KunciTamu pada Tabel Barang Terima dan Tabel Barang Keluar.

Dari beberapa hal diatas, maka haruslah dilakukan tahap selanjutnya yaituNormalisasi ketiga.

1.1.4 Bentuk Normal Ketiga (3 NF)Sekarang pada bentu normal ketiga ini memiliki syarat yaitu setiap tabeltidak diperbolehkan memiliki atribut yang tergantung transitif dan harusbergantung penuh dangan kunci utamanya.

1. Normal Ketiga Table Barang Terima

Tabel Barang Masuk akan dipisahkan menjadi 2 (dua) yaitu table BarangTerima sebagai tabel utama dan table Detail Barang Terima sebagaipendetailan barang-barang yang diterima. Sebagai penghubung kedua tableini adalah atribut NOBM. Atribut NOBM didalam tbDETAILTERIMAsebagai superkey untuk mengontrol barang-barang dan jumlah barang yangditerima

Gambar 1.6 Bentuk Pemisahan pada tabel Barang Terima (tbTERIMA)

Page 13: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

8

Sekarang sudah tidak ada kerangkapan data lagi, bahwa setiap transaksidengan barang terima lebih dari 3 (tiga) buah, Nomor Barang Masuk(NOBM) tidak lagi dituliskan sebanyak 3(tiga) kali. KDSUPPLIER disinimerupakan Kunci Tamu (Foreign Key) didalam tabel Barang Terima.

Hasil dari penerapan normaslisasi ketiga diatas bisa dilihat pada gambardibawah ini:

Gambar 1.7 Tabel Barang Terima (tbTERIMA)

Gambar 1.8 Tabel Detail Barang Masuk (tbDETAILTERIMA)

Page 14: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

9

2. Normal Ketiga Table Barang Keluar

Tabel Barang Keluar akan dipisahkan menjadi 2 (dua) yaitu table BarangKeluar sebagai tabel utama dan table Detail Barang Keluar sebagaipendetailan barang-barang yang diterima. Sebagai penghubung kedua tableini adalah atribut NOBK. Atribut NOBK didalam tbDETAILKELUARsebagai superkey untuk mengontrol barang-barang dan jumlah barang yangkeluar.

Gambar 1.9 Bentuk Pemisahan pada tabel Barang Keluar (tbKELUAR)

Sekarang sudah tidak ada kerangkapan data lagi, bahwa setiap transaksidengan Barang Keluar lebih dari 3 (tiga) buah, Nomor Barang Keluar(NOBK) tidak lagi dituliskan sebanyak 3(tiga) kali. KDBAGIAN disinimerupakan Kunci Tamu (Foreign Key) didalam tabel Barang Keluar.

Gambar 1.10. Tabel Barang Keluar (tbKELUAR)

Page 15: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

10

Gambar 1.11. Tabel Detail Barang Keluar (tbDETAILKELUAR)

Hasil Normalisasi bentuk ketiga ini secara keseluruhan , dapat digambarkanseperti gambar dibawah ini :

Gambar 1.12. Gambar Normalisasi Ketiga

Page 16: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

11

1.2 Rancangan TabelSetelah semua tahapan Analisa sekarang kita akan mulai melakukanrancangan struktur table yang akan digunakan pada perancangan databasedan table. Berikut struktur table yang dihasilkan dari Normalisasi denganpenambahan field yang dibutuhkan (penambahan field pada baris yangdiarsir).

1. Rancangan Table tbBarang

Berikut rancangan table tbBarang dengan struktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

KDBRG CHAR 7 PRIMARY KEYNMBRG CHAR 35SATUAN CHAR 10JNSBRG CHAR 10STOK INT 5

Tambahan pada table Barang field JNSBRG.

2. Rancangan Table tbSupplier

Berikut rancangan table tbBagian dengan struktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

KDSUPPLIER CHAR 6 PRIMARY KEYNMSUPPLIER CHAR 35ALAMAT CHAR 50KOTA CHAR 15KODEPOS CHAR 5NOTELP CHAR 12NOHP CHAR 15NMKONTAK CHAR 25

Tambahan pada table tbSupplier membutuhkan ALAMAT, KOTA,KODEPOS, NOTELP, NOHP, dan NMKONTAK.

Page 17: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

12

3. Rancangan Table tbBagian

Berikut rancangan table tbBagian dengan struktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

NOBAGIAN CHAR 7 PRIMARY KEYNMBAGIAN CHAR 35NMKABAK CHAR 35EXTENTION CHAR 4

Tambahan pada table tbBagian membutuhkan NMKABAK danEXTENTION.

4. Rancangan Table Barang Terima (tbTERIMA)

Berikut rancangan table Barang Terima (tbTERIMA) dengan struktur tablesebagai berikut :

Nama Field Tipe Data Ukuran Kunci

NOBM CHAR 15 PRIMARY KEYTGLBM DATENOFTRREFF CHAR 10TGLFTRREFF DATENOSUPPLIER CHAR 6 FOREIGN KEY

5. Rancangan Table Detail Barang Terima (tbDTTERIMA)

Berikut rancangan table Table Detail Barang Masuk (tbDTTERIMA) denganstruktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

NOBM CHARACTER 15 FOREIGN KEYKDBRG CHARACTER 7 FOREIGN KEYJMLTERIMA INT 4

Page 18: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

13

6. Rancangan Table Barang Keluar (tbKELUAR)

Berikut rancangan table Barang Keluar dengan struktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

NOBK CHAR 15 PRIMARY KEYTGLBK DATENOMEMOREFF CHAR 10TGLMEMOREFF DATEKDBAGIAN CHAR 3 FOREIGN KEY

7. Rancangan Table Detail Barang Keluar (tbDTKELUAR)

Berikut rancangan table Detail Barang Keluar (tbDTKELUAR) denganstruktur table sebagai berikut :

Nama Field Tipe Data Ukuran Kunci

NOBK CHAR 15 FOREIGN KEYKDBRG CHARACTER 7 FOREIGN KEYJMLKELUAR INT 4KET CHAR 25

Page 19: vii - repository.bsi.ac.id · Normalisasi bertujuan untuk mengurangi ketidaknormalan desain tabel yang redundansi atau tabel yang mempunyai struktur atau nilai ganda. Sekarang kita

14

Lembar ini sengaja dikosongkan