Identifikasi Masalah dan Analisis Kebutuhan Analisis Kebutuhan Gudang Data

BAB III ANALISIS DAN PERANCANGAN

3.1. Identifikasi Masalah dan Analisis Kebutuhan

Tahap ini digunakan untuk mengetahui kebutuhan toko buku AB cabang klaten melalui administrator kepala toko dalam hasil transaksi penjualan. Transaksi penjualan akan digunakan untuk laporan dan evaluasi pengadaan seluruh barang dari berbagai penerbit, supplier, kategori, dan topik yang dijual di toko buku. Setiap bulan administrator melakukan pelaporan transaksi penjualan dari hasil yang diperoleh dan hasil pelaporan tersebut dikirimkan ke kantor pusat melalui email. Kebutuhan bagian administrator yaitu untuk melihat banyaknya jumlah penjualan dari hasil transaksi penjualan yang terjadi. Contoh laporan transaksi penjualan yang terjadi dapat dilihat pada tabel 3.1 contoh transaksi penjualan. Tabel 3.1 Contoh Transaksi Penjualan Supplier No.Nota Kd.Brg Judul Pengarang Qty Jual ANDI - PBR 12304 10136 BAHANA MEI 2014 ANDI OFFSET 1 ANDI STAR CONCAT 12313 10178 BUKU 40 PL 10 FLOWERY ECER 3 ANDISTAR JOGJA 12291 10232 BUKU TULIS SIDU 38 2 ANDISTAR JOGJA 12289 10232 BUKU TULIS SIDU 38 2 CV.TIRO INTERNATIONAL 12301 8460 RAUTAN R 620-2 2 DIVA PRESS 12301 8593 PERCOBAAN SAINS SEDERHANA UNTUK ANAK 1 MITRA NUGRAHA 12292 9734 DIARY DUS MKY TG YH64K-YS0567990B002 3 MITRA NUGRAHA 12295 9639 BPN DISNEY ISI 48 T48DMKT 3 MITRA NUGRAHA 12298 9504 KERTAS MAS KUNING 3

3.2. Pemrosesan Awal

Setelah melakukan identifikasi masalah dan analisis kebutuhan, ditemukan bahwa struktur data yang ada dalam sistem belum memenuhi kaidah basis data relasional yang baik dan benar, dimana basis data relasional berisi data dalam bentuk tabel-tabel yang saling berhubungan, maka dari itu dilakukan pemrosesan awal terlebih dahulu berupa: 1 Struktur tabel basis data dari toko buku AB 2 Perancangan basis data 3 Restrukturisasi tabel 4 Pembersihan data 5 Transformasi data 6 Analisis kebutuhan gudang data Dalam melakukan restrukturisasi tabel, dilakukan pengambilan data terlebih dahulu dengan menggunakan kettle pentaho, data yang digunakan berbentuk .sql, penggunaan kettle digunakan hanya untuk memudahkan dalam pemindahan data saja. Berikut ini merupakan bagian yang akan menguraikan lebih rinci proses dari tahap-tahap yang telah dijelaskan diatas.

3.2.1 Struktur Tabel Basis Data Toko Buku AB

Sebelum masuk pada proses perancangan basis data, terlebih dahulu membaca struktur basis data yang ada pada toko buku AB guna untuk mendapatkan data seperti tabel 3.1 seperti dibawah ini: Gambar 3.1 Struktur Tabel Basis Data Toko Buku AB Gambar 3.1 merupakan struktur tabel basis data dari toko buku AB. Tabel yang berada pada toko buku AB terdiri dari 39 tabel dan dari semua tabel tersebut hanya digunakan 9 tabel, yaitu : 1 Tabel data_barang Gambar 3.2 Tabel data_barang Pada gambar 3.2 merupakan data dari tabel yang bernama data_barang. Pada tabel ini terdiri dari kolom Kode_Barang, Produk_ID, Topik_ID, ID_Lokasi, ID_Lokasi2, ID_Penerbit, ISBN, Judul_Buku, Pengarang, Stok_Barang, Harga_Jual dan Tgl_input. 2 Tabel data_beli Gambar 3.3 Tabel data_beli Pada gambar 3.3 merupakan data dari tabel yang bernama data_beli. Pada tabel ini terdiri dari kolom Nomor_Beli, Nomor_Nota, Tanggal_Beli, ID_Supplier, Tipe_Beli, Tempo, dan Tgl_Jatuh_Tempo. 3 Tabel data_jual Gambar 3.4 Tabel data_jual Pada gambar 3.4 merupakan data dari tabel yang bernama data_jual. Pada tabel ini terdiri dari kolom Nomor_Jual, Tanggal_Jual, Waktu_Jual, ID_Customer, N_User, ID_Cabang, Total_Item, Total_Qty_Brg, dan Tipe_Jual. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4 Tabel detail_jual Gambar 3.5 Tabel detail_jual Pada gambar 3.5 merupakan data dari tabel yang bernama detail_jual. Pada tabel ini terdiri dari kolom Nomor_Jual, Kode_Barang, N_User, Qty_Barang, H_Jual, dan Disc_Jual. 5 Tabel detail_beli Gambar 3.6 Tabel detail_beli Pada gambar 3.6 merupakan data dari tabel yang bernama detail_beli. Pada tabel ini terdiri dari kolom Nomor_Beli, Kode_Barang, N_User, Qty, Qty_Label, Harga_Beli, Persen_Disc_Item, dan Harga_Disc_Item. 6 Tabel supplier Gambar 3.7 Tabel supplier Pada gambar 3.7 merupakan data dari tabel yang bernama supplier. Pada tabel ini terdiri dari kolom ID_Supplier, Nama, Alamat, dan Kota. 7 Tabel penerbit Gambar 3.8 Tabel penerbit Pada gambar 3.8 merupakan data dari tabel yang bernama penerbit. Pada tabel ini terdiri dari kolom ID_Penerbit, Nama_Penerbit, Alamat, dan Telpon. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 Tabel produk Gambar 3.9 Tabel produk Pada gambar 3.9 merupakan data dari tabel yang bernama produk. Pada tabel ini terdiri dari kolom Produk_ID, Keterangan, Tgl_Input, dan Tgl_Edit. 9 Tabel topik Gambar 3.10 Tabel topik Pada gambar 3.10 merupakan data dari tabel yang bernama topik. Pada tabel ini terdiri dari kolom Topik_ID, Keterangan, Tgl_Input, dan Tgl_Edit.

3.2.1 Perancangan Basis Data

Pada bagian perancangan basis data ini dilakukan untuk memperbaiki relasi basis data yang ada di toko buku sebelumnya. Proses perancangan basis data bertujuan untuk membuat relasi data PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI sesuai dengan kaidah basis data relasional. Berikut ini merupakan tahapan dalam perancangan basis data.

1. Perancangan Basis Data Konseptual

TOPIK_KOMPLIT ID_TOPIK {PK} NAMA_TOPIK SUPPLIER_KOMPLIT ID_SUPPLIER {PK} NAMA_SUPPLIER PENERBIT_KOMPLIT ID_PENERBIT {PK} NAMA_PENERBIT KATEGORI_KOMPLIT ID_KATEGORI {PK} NAMA_KATEGORI TRANSAKSI_KOMPLIT ID_TRANSAKSI {PK} NOMOR_NOTA TGL_JUAL JUMLAH_PENJUALAN DETAIL_PENJUALAN JUMLAH_PENJUALAN PUNYA PUNYA P UN Y A PUNYA P UN Y A 1..1 1..1 1..1 1 ..1 1.. 1.. 1.. 1 .. 1.. 1.. BARANG_KOMPLIT ID_BARANG {PK} NAMA_BARANG Gambar 3.11 ER Diagram

2. Perancangan Data Logikal

TOPIK_KOMPLIT ID_TOPIK {PK} NAMA_TOPIK SUPPLIER_KOMPLIT ID_SUPPLIER {PK} NAMA_SUPPLIER PENERBIT_KOMPLIT ID_PENERBIT {PK} NAMA_PENERBIT BARANG_KOMPLIT ID_BARANG {PK} NAMA_BARANG ID_PENERBIT {FK} ID_TOPIK {FK} ID_KATEGORI {FK} ID_SUPPLIER {FK} KATEGORI_KOMPLIT ID_KATEGORI {PK} NAMA_KATEGORI TRANSAKSI_KOMPLIT ID_TRANSAKSI {PK} NOMOR_NOTA TGL_JUAL JUMLAH_PENJUALAN DETAIL_PENJUALAN ID_BARANG {FK} JUMLAH_PENJUALAN ID_TRANSAKSI {FK} PUNYA PUNYA PU N YA PUNYA PU N YA 1..1 1..1 1..1 1.. 1 1.. 1.. 1.. 1 .. 1.. 1.. Gambar 3.12 Database Logical Design

3. Perancangan Data Fisikal

a. Tabel Barang_Komplit Tabel 3.2 Tabel Barang_Komplit Nama Field Tipe Keterangan ID_BARANG int 11 Primary Key untuk tabel Barang. NAMA_BARANG varchar80 Field untuk nama barang. ID_PENERBIT int 11 Foreign key untuk menghubungkan ke tabel Penerbit. ID_TOPIK int 11 Foreign key untuk menghubungkan ke tabel Topik. ID_KATEGORI int 11 Foreign key untuk menghubungkan ke tabel Kategori. ID_SUPPLIER int 11 Foreign key untuk menghubungkan ke tabel Supplier. b. Tabel Kategori_Komplit Tabel 3.3 Tabel Kategori_Komplit Nama Field Tipe Keterangan ID_KATEGORI int 11 Primary Key untuk tabel Kategori. NAMA_ KATEGORI varchar25 Field untuk nama Kategori. c. Tabel Topik_Komplit Tabel 3.4 Tabel Topik_Komplit Nama Field Tipe Keterangan ID_TOPIK int 11 Primary Key untuk tabel Topik. NAMA_TOPIK varchar25 Field untuk nama Topik. d. Tabel Penerbit_Komplit Tabel 3.5 Tabel Penerbit_Komplit Nama Field Tipe Keterangan ID_PENERBIT int 11 Primary Key untuk tabel Penerbit. NAMA_PENERBIT varchar25 Field untuk nama Penerbit. e. Tabel Supplier_Komplit Tabel 3.6 Tabel Supplier_Komplit Nama Field Tipe Keterangan ID_SUPPLIER int 11 Primary Key untuk tabel Supplier. NAMA_SUPPLIER varchar25 Field untuk nama Supplier. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI f. Tabel Transaksi_Komplit Tabel 3.7 Tabel Transaksi_Komplit Nama Field Tipe Keterangan ID_TRANSAKSI int 11 Primary Key untuk tabel Transaksi. NOMOR_NOTA int 11 Field untuk nomor_nota. TGL_JUAL int 11 Field untuk tgl_jual. JUMLAH_PENJUALAN int 11 Field untuk Jumlah_Penjualan. g. Tabel Detail_Penjualan Tabel 3.8 Tabel Detail_penjualan Nama Field Tipe Keterangan ID_BARANG int 11 Foreign key untuk menghubungkan ke tabel Barang. JUMLAH_PENJUALAN int 11 Field untuk Jumlah_Penjualan. ID_TRANSAKSI int 11 Foreign key untuk menghubungkan ke tabel Id_Transaksi.

3.2.2 Restrukturisasi Tabel

Restrukturisasi tabel dibuat karena adanya beberapa kendala, diantaranya yaitu : 1. Relasi struktur tabel-tabel basis data toko buku AB belum memenuhi kaidah basis data relasional yang baik dan benar, contohnya yaitu satu id_barang dimiliki oleh banyak id_supplier sehingga membuat administrator toko buku mengalami kendala. 2. Terjadinya duplikasi data pada semua tabel yang menghambat proses transaksi penjualan di toko buku AB. Dari alasan tersebut, maka dilakukan restrukturisasi tabel guna untuk memperbaiki relasi tabel-tabel di toko buku AB, dan untuk memudahkan didalam melakukan pembuatan gudang data. Bagian berikut ini akan menguraikan lebih rinci proses- proses restrukturisasi tabel : 1. Membaca relasi data dari transaksi penjualan. 2. Memperbaiki relasi database pada tabel-tabel yang belum benar dengan cara melakukan restrukturisasi.

3.2.1.1 Membaca relasi data dari transaksi penjualan

Pada bagian ini, membaca relasi data sangatlah penting. Relasi data dibutuhkan untuk mengetahui hubungan antar tabel dalam basis data. Tabel basis data dari toko buku tidaklah semua diambil, hanya tabel yang berkaitan dengan transaksi penjualan saja dan beberapa tabel yang dibuat guna untuk memperbaiki relasi antara tabel satu dengan tabel yang lain sehingga transaksi penjualan pada tabel 3.1 dapat sesuai dengan perancangan yang diharapkan dan mempermudah untuk proses pembuatan gudang data selanjutnya. Pada bagian struktur tabel basis data toko buku AB ada 9 tabel yang akan digunakan untuk proses restrukturisasi tabel. Berikut ini merupakan penjelasan dari 9 tabel tersebut. 1 Tabel data_barang Gambar 3.13 Tabel data_barang Gambar 3.13 adalah tabel data_barang yang digunakan untuk membuat tabel barang. Pada tabel data_barang ini terdapat beberapa kolom data, tetapi hanya ada lima kolom data yang digunakan, yaitu: Kode_Barang, Produk_ID, Topik_ID, ID_Penerbit, dan Judul_Buku. 2 Tabel data_beli Gambar 3.14 Tabel data_beli Gambar 3.14 adalah tabel data_beli. Pada tabel data_beli terdapat beberapa kolom data tetapi hanya satu kolom data yang digunakan, yaitu: Nomor_Beli. Nomor_Beli ini akan digunakan untuk mendapatkan id_supplier berdasarkan no beli. Untuk lebih lanjutnya dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel bagian tampung supplier barang. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 Tabel data_jual Gambar 3.15 Tabel data_jual Gambar 3.15 adalah tabel data_jual. Pada tabel data_jual terdapat beberapa kolom data, tetapi hanya tiga kolom data yang digunakan, yaitu: Nomor_Jual, Tanggal_Jual dan Total_Qty_Brg. Nomor_Jual, Tanggal_Jual dan Total_Qty_Brg ini digunakan untuk mendapatkan kode barang yang sesuai dengan nomor jual. Untuk lebih rincinya, dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel di pembentukan tabel Data Detail Jual. 4 Tabel detail_jual Gambar 3.16 Tabel detail_jual Gambar 3.16 adalah tabel detail_jual. Pada tabel detail_jual, terdapat beberapa kolom data, tetapi hanya tiga kolom data yang digunakan, yaitu: Nomor_Jual, Kode_Barang, dan Qty_Barang. Data Nomor_Jual, Kode_Barang, dan Qty_Barang berfungsi untuk menghubungkan nomor_jual yang ada pada data_jual. Untuk lebih rincinya, dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel di pembentukan tabel Data Detail Jual. 5 Tabel detail_beli Gambar 3.17 Tabel detail_beli Gambar 3.17 adalah tabel detail_jual. Pada tabel detail_beli terdapat beberapa kolom data tetapi hanya tiga kolom data yang digunakan, yaitu: Nomor_Beli, Kode_Barang. Data Nomor_Beli, dan Kode_Barang berfungsi untuk menghubungkan Kode_Barang yang berada di tabel data_barang, dan Nomor_Beli di tabel data_beli. Untuk lebih rincinya, dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel di pembentukan tabel Tampung Supplier Barang. 6 Tabel supplier PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 3.18 Tabel supplier Gambar 3.18 adalah tabel supplier. Pada tabel supplier, terdapat beberapa kolom data tetapi hanya dua kolom data yang digunakan, yaitu: ID_Supplier, dan Nama. ID_Supplier, dan Nama. ID_Supplier sendiri digunakan untuk banyak tabel, salah satu kegunaannya yaitu untuk mendapatkan data barang yang sesuai dengan data supplier. Tabel supplier ini akan digunakan di tabel: data_beli, transaksi, tampung supplier barang, tampung_barang_supplier, barang_jadi, sementara transaksi dan tabel woo. Untuk lebih rincinya, dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel. 7 Tabel penerbit Gambar 3.19 Tabel penerbit Gambar 3.19 adalah tabel penerbit. Pada tabel penerbit, terdapat beberapa kolom data tetapi hanya dua kolom data yang digunakan, yaitu: ID_Penerbit, dan Nama_Penerbit. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel penerbit digunakan dalam proses restrukturisasi tabel. Untuk lebih rincinya, dapat dilihat pada bagian lampiran mengenai restrukturisasi tabel di pembentukan tabel penerbit. 8 Tabel produk Gambar 3.20 Tabel produk Gambar 3.20 adalah tabel produk. Pada tabel produk, terdapat beberapa kolom data tetapi hanya dua kolom data yang digunakan, yaitu: Produk_ID, dan Keterangan. Tabel produk sendiri akan digunakan dalam proses restrukturisasi tabel di bagian pembentukan tabel produk. 9 Tabel topik Gambar 3.21 Tabel topik Gambar 3.21 adalah tabel topik. Pada tabel topik, terdapat beberapa kolom data tetapi hanya dua kolom data yang digunakan, yaitu: Topik_ID, dan Keterangan. Tabel topik sendiri akan digunakan dalam proses restrukturisasi tabel di bagian pembentukan tabel topik.

3.2.1.2 Memperbaiki relasi database pada tabel-tabel yang belum

benar dengan cara melakukan restrukturisasi. Dalam melakukan proses restrukturisasi tabel, dilakukan proses import dari database toko menuju ke database data_jadi_monsi dengan menggunakan kettle. Kettle disini hanya untuk memudahkan di dalam pengambilan data saja. Tabel yang digunakan yaitu : 1 barang 2 topik 3 produk 4 penerbit 5 supplier 6 data_beli 7 detail_beli 8 data_jual 9 data_detail_jual 10 tampung supplier barang 11 transaksi 12 tampung_barang_supplier_monsi 13 barang_jadi 14 sementara transaksi 15 woo Beberapa tabel yang dibuat seperti transaksikucoba, sementara_transaksi, dan tabel woo bertujuan untuk mencocokan data agar hasil dari restrukturisasi sesuai dengan basis data relasional. Dalam pengambilan atau import tabel- tabel diatas dapat dilihat pada bagian lampiran. Setelah mengambil dan membuat tabel-tabel diatas, kemudian dilakukan penyederhanaan tabel, yaitu mengambil tabel-tabel dengan data yang akan diperlukan, kemudian dilakukan import data ke database yang bernama monica_skripsi dimana di dalam database tersebut sudah sesuai dengan basis data relasional seperti perancangan basis data yang dijelaskan sebelumnya. Hasil tabel di database monica_skripsi dapat dilihat pada gambar berikut : Gambar 3.22 Hasil Restrukturisasi Basis Data monica_skripsi

3.2.3 Pembersihan Data

Setelah tahap restrukturisasi selasai, kemudian dilakukan proses pembersihan guna untuk mendapatkan data yang konsisten dan relevan. Tahap ini bertujuan agar di dalam pemrosesan data, dapat berlangsung dengan cepat, sebagai contoh ada data transaksi yang null atau tidak adanya data yang berkaitan dengan tabel yang lain maka dilakukan pembersihan data.

3.2.4 Transformasi Data

Transformasi dilakukan untuk mengubah format lama menjadi format baru yang digunakan untuk format gudang data. Sebagai contoh atribut pada barang terdapat ID BARANG, NAMA BARANG maka pada proses transformasi ini atribut akan diubah menjadi ID_BARANG, NAMA_BARANG. Proses ini bertujuan untuk memudahkan dalam pengimplementasian di gudang data.

3.3. Analisis Kebutuhan Gudang Data

3.3.1 Use Case

Diagram use case ini menggambarkan kebutuhan admin dari Kepala toko buku, dari gudang data yang akan dibangun. Pada gambar 3.23 menerangkan gambar use case untuk gudang data transaksi penjualan. Gambar 3.23 Diagram Use Case Dari diagram use case diatas, dapat di deskripsikan sebagai berikut : Tabel 3.9 Deskripsi Diagram Use Case Admin Kepala Toko OLAP Melihat Laporan transaksi penjualan Login Kode Use Case Nama Use Case Deskripsi Aktor US001 Login Use case ini mejelaskan proses dimana admin kepala toko melakukan login sebelum masuk ke sistem. Untuk dapat masuk ke sistem, kepala toko harus memasukkan username dan password terlebih dahulu. Admin Kepala Toko US002 Melihat laporan transaksi penjualan Use case ini berfungsi untuk melihat hasil pembangunan gudang data transaksi penjualan. Admin Kepala Toko

3.3.2 Narasi Use Case

1 Narasi Use Case Login Kepala Admin Tabel 3.10 Narasi Use Case Login Kode Use case US001 Nama Use case Login Aktor Admin Kepala Toko Deskripsi Use Case Use case ini mejelaskan proses dimana admin kepala toko melakukan login sebelum masuk ke sistem. Untuk dapat masuk ke sistem, kepala toko harus memasukkan username dan password terlebih dahulu Kondisi Awal Admin Kepala Toko belum memasukkan username dan password PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Trigger - Kegiatan Aktor Respon Sistem 1. Sistem menampilkan halaman utama 2. Kepala admin mengklik menu “LOGIN” 3. Sistem menampilkan halaman login Langkah umum 4. Kepala admin memasukkan username dan password 5. Sistem mengecek username dan password sesuai dengan database 6. menampilkan halaman utama admin kepala toko Langkah Alternatif - Kondisi Akhir Kepala admin berhasil login jika password dan username sesuai dengan database 2 Narasi Use Case melihat laporan transaksi penjualan Tabel 3.11 Narasi Use Case Melihat Laporan Transaksi Penjualan Kode Use case US002 Nama Use case Melihat laporan transaksi penjualan Aktor Admin Kepala Toko Deskripsi Use Case Use case ini berfungsi untuk melihat hasil dari pembangunan gudang data transaksi penjualan Kondisi Awal Admin Kepala Toko belum mendapatkan hasil PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI pembangunan gudang data laporan transaksi penjualan Trigger - Langkah umum Kegiatan Aktor Respon Sistem 1. Menampilkan halaman utama 2. Admin Kepala Toko memilih menu “Lihat Laporan Transaksi Penjualan” 3. Menampilkan hasil Langkah Alternatif - Kondisi Akhir Admin Kepala Toko mendapatkan hasil pembangunan gudang data transaksi penjualan

3.4. Pembuatan Gudang Data