BAB III ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem Pada bagian ini akan dijelaskan lebih detail tentang sistem perusahaan ini, gambaran yang lebih jelas mengenai sistem perusahaan saat ini, permasalahanpermasalahan yang sering muncul serta kebutuhan-kebutuhan perusahaan. 3.1.1
Analisis Sistem Perusahaan
Pada saat ini Shafira Tour&Travel telah mengunakan Microsoft Office Excel untuk membantu pencatatan transaksi harian ( OLTP). Secara garis besar proses bisnis perusahaan saat ini adalah seperti berikut :
49
50
Gambar 3.1 Proses bisnis Shafira tour & travel
1. Proses Pendaftaran
Konsumen datang pada bagian pelayanan (CS) untuk melakukan pendaftaran umroh atau haji dengan membawa berkas persyaratan yang telah ditentukan. Kemudian bagian pelayanan memasukan (input) data ke komputer,
sedangkan berkas-berkas tersebut diserahkan pada bagian
operasional untuk diolah ke dalam sistem yang kemudian akan diproses menjadi passport, visa, surat muhrim, dan lain sebagainya.
51
2. Proses Pembayaran
Setelah proses pendaftaran,
konsumen melakukan pembayaran baik
melalui transfer atau secara langsung di kantor Shafira.
Apabila
pembayaran dilakukan melalui transfer bank, bukti pembayaran dapat difaks ke Shafira atau diantar langsung ke kantor Shafira untuk mendapatkan invoice.
Konsumen dapat membayar secara langsung
dikantor dengan menemui bagian pelayanan,
kemudian pembayaran
dilakukan di kasir dan konsumen mendapatkan invoice. Invoice dibuat rangkap empat, yaitu : putih untuk jamaah, hijau untuk arsip bagian pelayanan, merah untuk arsip kasir, kuning untuk arsip accounting.
3. Proses Pembuatan Laporan
Proses pembuatan laporan saat ini dilakukan secara manual oleh manajer setiap bagian dengan menyerahkan data atau dokumen kepada pimpinan sebagai bahan analisis.
Pimpinan akan menganalisis secara manual
informasi-informasi yang ada dalam tiap-tiap laporan dan melakukan pengambilan keputusan. Banyaknya data atau dokumen yang diserahkan kepada pimpinan maka proses pengambilan keputusan membutuhkan waktu yang cukup lama karena semua analisis masih dilakukan secara manual.
52
3.1.2
Analisis Permasalahan
Permasalahan yang dihadapi oleh Shafira Tour & Travel saat ini banyak disebabkan karena proses-proses yang dikerjakan saat ini masih secara manual. Berikut ini adalah permasalahan yang sering muncul : 1. Kesulitan untuk menghasilkan informasi yang dibutuhkan oleh pimpinan perusahaan karena laporan yang dihasilkan hanya menampilkan data tentang kegiatan bisnis sehari-hari. 2. Laporan-laporan yang ada saat ini dinilai tidak dapat memberikan gambaran keseluruhan transaksi secara periodik. 3. Untuk dapat membantu proses pengambilan keputusan maka semua laporan masih harus dianalisis secara manual oleh pimpinan perusahaan untuk menghasilkan informasi yang diinginkan.
Hal ini dinilai
memperlambat proses pengambilan keputusan yang dilakukan.
3.1.3
Analisis Kebutuhan
Dari permasalahan yang muncul,
maka beberapa hal berikut ini dibutuhkan
Shafira Tour & Travel dalam pembuatan sistem pembantu pembuatan laporan dan analisis data antara lain sebagai berikut : 1. Sistem yang dibuat harus dapat menerangkan fakta-fakta bisnis (pendaftaran dan pembayaran) yang terjadi dalam suatu periode tertentu.
53
2. Sistem yang dibuat harus dapat memberikan informasi yang mudah dimengerti oleh semua pihak dalam bentuk tabel dan grafik.
3.1.4
Sistem Yang Berjalan
Berikut merupakan gambaran dari sistem Shafira Tour & Travel yang sedang berjalan saat ini beserta lampiran dari tabel-tabel yang digunakan oleh Shafira Tour & Travel. Data pada tabel-tabel tersebut berasal dari data excel yang telah di-convert ke dalam sebuah database sederhana.
Gambar 3.2 Skema relasi OLTP Shafira
Gambar 3.2 menjelaskan database pendaftaran dan pembayaran pada perusahaan.
54
Adapun keterangan dari tiap tabel adalah sebagai berikut : 1. Tabel Jamaah Tabel ini berisi data yang berhubungan dengan pelanggan Shafira yang melakukan transaksi. Tabel 3.1 Tabel Jamaah Nama field no_jamaah nama namaID namaIMI title psp_tmp_lahir psp_tgl_lahir jenis_kelamin alamat kota kodepos telepon hp flexi email nip tgl_update
Keterangan Kode pelanggan Nama pelanggan Nama pelanggan pada label name tag Nama pelanggan dengan nama keluarga Keterangan gelar seperti Mr, Mrs, Tempat lahir sesuai yang tertera pada passport Tanggal lahir sesuai yang tertera pada passport Data jenis kelamin pelanggan Alamat pelanggan Nama kota dari alamat pelanggan Kode pos dari alamat pelanggan Nomor telepon rumah dari pelanggan Nomor telepon selular dari pelanggan Nomor telepon cdma / flexi pelanggan Alamat email pelanggan Untuk mengetahui pegawai yang melayani pelanggan tersebut Tanggal data dimasukkan
2. Tabel Jamaah_Detail Tabel ini berisi detil data pelanggan Shafira yang melakukan transaksi. Tabel 3.2 Tabel Jamaah_Detail Nama field no_jamaah krj_instansi krj_alamat krj_kota krj_telp krj_fax krj_bagian
Keterangan Kode pelanggan Nama perusahaan tempat pelanggan bekerja Alamat perusahaan tempat pelanggan bekerja Nama kota dari alamat perusahaan tempat pelanggan bekerja Nomor telepon dari perusahaan tempat pelanggan bekerja Nomor fax dari perusahaan tempat pelanggan bekerja Data dibagian mana pelanggan bekerja
55
psp_no psp_tgl_issued psp_tgl_expired psp_instansi psp_alamat psp_kota nama_ortu no_porsi no_spph no_reg desa kecamatan kabupaten propinsi
No id paspor pelanggan Tanggal paspor berlaku pelanggan Tanggal paspor berakhir pelanggan Kantor / perusahaan tempat bekerja pelanggan Alamat tempat tinggal pelanggan sesuai paspor Nama kota pelanggan sesuai paspor Nama orangtua Nomor keberangkatan haji Nomor Surat Pendaftaran Pergi Haji Nomor registrasi pelanggan Nama desa pelanggan Nama kecamatan tempat tinggal pelanggan Nama Kabupaten tempat tinggal pelanggan Nama Propinsi tempat tinggal pelanggan
3. Tabel Kabupaten Tabel ini berisi data tentang kabupaten dan propinsi. Tabel 3.3 Tabel Kabupaten Nama field kode nama propinsi
Keterangan Nomor kode kabupaten Nama kabupaten Nama propinsi
4. Tabel Paket Tabel ini berisi data tentang jenis-jenis paket perjalanan umroh dan haji yang tersedia di Shafira Tour & Travel. Tabel 3.4 Tabel Paket Nama field kode_paket jenis jenis2 tgl_berangkat tgl_pulang pesawat paket_dws
Keterangan Kode dari jenis paket Nama jenis paket Nama jenis paket apabila paket tersebut mempunyai turunan alternatif pilihan Tanggal keberangkatan Tanggal kepulangan Nama pesawat yang ditumpangi Nama paket yang dipilih
56
fiskal apt surat_muhrim paspor biaya_lain Hemat2 Hemat3 Hemat4 kamar_other VIP2 VIP3 VIP4 GOLD2 GOLD3 GOLD4 aktif seat lama tahun bulan
Biaya fiskal jamaah haji Biaya Apt jamaah haji Biaya surat muhrim jamaah haji Biaya pembuatan paspor Biaya lain-lain Nama paket hemat 2 Nama paket hemat 3 Nama paket hemat 4 Biaya sewa kamar lain Biaya VIP 2 Biaya VIP 3 Biaya VIP 4 Biaya GOLD 2 Biaya GOLD 3 Biaya GOLD4 Status Pelanggan Nomor tempat duduk Lama waktu berangkat Tahun aktif Bulan aktif
5. Tabel Pendaftaran_Paket Tabel ini menyimpan data yang berhubungan dengan pemesanan paket oleh pelanggan. Tabel 3.5 Tabel Pendaftaran_Paket Nama field no_pendaftaran rp_fiskal rp_apt rp_muhrim rp_paspor rp_lainnya tipe_kamar diskon diskon_rp bayar_dollar ket_bayar
Keterangan Nomor pendaftaran Jumlah uang fiskal Jumlah uang apt Jumlah uang muhrim Jumlah uang paspor Jumlah uang lainnya Tipe kamar yang dipesan Diskon Jumlah yang dipesan Jumlah uang yang harus dibayar Keterangan bayar
57
6. Tabel Pendaftaran Tabel ini menyimpan data yang berhubungan dengan pemesanan oleh pelanggan. Tabel 3.6 Tabel Pendaftaran Nama field no_pendaftaran kode_paket jns_paket no_jamaah tgl_daftar tgl_berangkat umur remark_id owner_bayar remark penerima lunas ukuran_baju permintaan_khusus nip tgl_update no_urut_muhrim surat paket_haji keterangan wajib_fiskal cv_id mahram hub_mahram tempel1 hub_tempel1 tempel2 hub_tempel2 tempel3 hub_tempel3 tempel4 hub_tempel4 status no no_tiket no_visa
Keterangan Nomor pendaftaran Nomor kode paket haji Jenis paket haji Nomor kode jamaah Tanggal daftar Tanggal berangkat haji Umur pelanggan Kode muhrim Nama pembayar Kode status muhrim Nama pelanggan Status pembayaran Ukuran baju seragam pelanggan Special request pelanggan Nama petugas shafira Tanggal perubahan terakhir Nomor urut sesuai kelompok muhrim Status pengiriman surat Jenis paket haji Keterangan lain Status pembayaran fiskal Kode pengelompokan muhrim Nama muhrim pelanggan Hubungan muhrimnya Nama keluarga satu Hubungan keluarga satu Nama keluarga dua Hubungan keluarga dua Nama keluarga tiga Hubungan keluarga tiga Nama keluarga empat Hubungan keluarga empat Status pendaftaran (open/close) Nomor pendaftaran Nomor tiket digunakan pelanggan Nomor visa pelanggan
58
visa_issued visa_expired
Tanggal pengeluaran visa Tanggal kadaluarsa visa
7. Tabel Pendaftaran_Dokumen Tabel ini berisi keterangan status kelengkapan dokumen yang diserahkan oleh pelanggan. Tabel 3.7. Tabel Pendaftaran_Dokumen Nama field no_pendaftaran dok_paspor dok_foto46 dok_foto34 dok_foto23 dok_kk dok_ktp copy_kk copy_ktp dok_aktanikah dok_aktalahir dok_lainnya dok_npwp dok_keterangan dok_buku_kuning no_npwp atas_nama
Keterangan Nomor pendaftaran Status penerimaan paspor Status penerimaan foto 4x6 Status penerimaan foto 3x4 Status penerimaan foto 2x3 Satus penerimaan kartu keluarga Status penerimaan kartu tanda penduduk Status penerimaan copy kartu keluarga Status penerimaan copy kartu tanda penduduk Status penerimaan surat nikah Status penerimaan akta lahir Status penerimaan dokumen lain apabila diperlukan Status penerimaan nomor npwp Status penerimaan dok keterangan lainnya Status penerimaan bukti bahwa jamaah telah melakukan vaksin Nomor NPWP Nama pelanggan sesuai NPWP
8. Tabel Pembayaran Tabel ini berisi data tentang transaksi pembayaran yang telah dilakukan oleh pelanggan. Tabel 3.8 Tabel Pembayaran Nama field no_invoice tgl_bayar no_pendaftaran
Keterangan No invoice pembayaran Tanggal pembayaran Nomor pendaftaran
59
keterangan dollar rupiah nip tgl_update phones
Keterangan lainnya Jumlah pembayaran dollar Jumlah uang pembayaran rupiah Petugas entry Shafira Tanggal perubahan terakhir Nomor telepon pelanggan
9. Tabel Rekap_Bayar Tabel ini berisi data tentang kewajiban transaksi pembayaran yang harus dipenuhi oleh pelanggan. Tabel 3.9 Tabel Rekap_Bayar Nama field id_rekap_bayar kode_paket no_pendaftaran nama_jamaah jml_pengikut kewajiban_usd kewajiban_rp cicilan_usd cicilan_rp
Keterangan Menyimpan id_rekap_bayar Kode paket No pendaftaran Nama pelanggan Jumlah anggota group Jumlah uang harus dibayar pelanggan dollar Jumlah uang harus dibayar pelanggan dalam Rupiah Cicilan uang harus dibayar dalam dollar Cicilan uang harus dibayar dalam rupiah
10. Tabel Pegawai Tabel ini berisi data tentang pegawai yang bekerja di Shafira. Tabel 3.10 Tabel Pegawai Nama field nip nama alamat kota telepon hp tgl_lahir tempat_lahir jk agama
Keterangan Nomor induk pegawai Nama pegawai Alamat pegawai Kota tinggal pegawai Nomor telepon pegawai Nomor HP pegawai Tanggal lahir pegawai Tempat lahir pegawai Jenis kelamin pegawai Agama pegawai
60
status pendidikan tgl_masuk departemen useraktif username userpassword foto
Status pernikahan pegawai Tingkat pendidikan pegawai Tanggal awal masuk kerja Bagian tempat pegawai kerja Status pegawai yang menggunakan aplikasi Nama user untuk menggunakan aplikasi Kata sandi untuk masuk aplikasi Photo pegawai
11. Tabel Rate Tabel ini berisi data nilai tukar mata uang yang digunakan sebagai alat pembayaran di Shafira. Tabel 3.11 Tabel Rate Nama field tgl_bayar usd sgd aud euro jpy myr
Keterangan Tanggal pembayaran Nilai tukar rupiah terhadap dolar AS Nilai tukar rupiah terhadap dolar Singapura Nilai tukar rupiah terhadap dolar Australia Nilai tukar rupiah terhadap euro Nilai tukar rupiah terhadap yen Jepang Nilai tukar rupiah terhadap ringgit Malaysia
3.2 Perancangan Sistem Data warehouse Tahap ini merupakan kelanjutan dari tahap analisis yang telah dilakukan. Pada tahap ini akan dibuat perancangan data warehouse berupa arsitektur warehouse yang akan digunakan, tabel-tabel fakta dan dimensi, di mana tabel-tabel tersebut menggambarkan fakta-fakta bisnis yang terjadi dalam suatu periode tertentu.
61
3.2.1
Analisis Data warehouse
Menurut Kimball ada sembilan tahap metodologi dalam perancangan database untuk data warehouse, yaitu : 1. Pemilihan proses Untuk tahapan merancang data warehouse adalah sesuai dengan kebutuhan bisnis dari pihak perusahaan, sebagai contoh perusahan ingin menganalisa pendaftaran dan pembayaran yang berdasarkan dari berbagai sumber yang berbeda atau dimensi. 2. Pemilihan sumber Perancangan data model data warehouse berdasarkan dari tabel fakta dan dimensi, untuk pemilihan sumber harus mengacu pada kemampuan untuk merepresentasikan fakta-fakta yang diambil dari berbagai sumber dimensi pada OLTP. Sebagai contoh fact_pendaftaran, adalah mengambarkan rincian jamaah secara detail. 3. Mengidentifikasi dimensi Dimensi ini untuk menggambarkan fakta-fakta pada tabel fakta, sebagai contoh setiap data pada tabeldimensi jamaah dilengkapi dengan no_jamaah, nama, jenis_kelamin.
62
4. Pemilihan fakta Pemilihan sumber dari sebuah tabel fakta akan menentukan fakta mana yang akan digunakan. Sebagai contohpada fact_pendaftaran terdiri dari no_pendaftaran, id_waktu yang menggambarkan fakta dari berbagai tabel dimensi yaitu pendaftaran dan waktu. 5. Menyimpan pre-kalkulasi di tabel fakta Hal ini akan terjadi jika tabel fakta kehilangan statement sesuai dengan fakta yang dibutuhkan. 6. Melengkapi tabel dimensi Pada tahap ini, ditambahkan keterangan selengkap-lengkapnya pada tabel dimensi.
Keterangan harus bersifatintuitif dan mudah dipahami oleh
pengguna. 7. Pemilihan durasi database Berkaitan dengan penyimpanan data warehouse,
misalnya untuk data
pendaftaran yang diambil dari 5 tahun yang lalu. 8. Menelusuri perubahan dimensi yang perlahan Ada tiga tipe perubahan dimensi yaitu atribut dimensi yang telah berubah tertulis ulang, menimbulkan sebuah dimensi baru dan dimensi yang telah berubah menimbulkan alternatif, sehingga nilai atribut lama dan yang baru dapat diakses secara bersama pada dimensi yang sama.
63
9. Menentukan prioritas dan mode query, berkaitan dengan perancangan fisik.
3.2.2
Arsitektur Data warehouse
Menurut Poe,
arsitektur adalah sekumpulan atau struktur yang memberikan
kerangka untuk keseluruhan rancangan suatu sistem atau produk. Arsitektur data menyediakan kerangka dengan mengidentifikasikan dan memahami bagaimana data akan pindah melalui sistem dan digunakan dalam perusahaan. Arsitektur data untuk data warehouse mempunyai komponen utama yaitu read-only database. Prinsip kerja data warehouse dapat dilihat pada gambar 3.3 di bawah ini :
Gambar 3.3 Arsitektur data warehouse
64
Arsitektur yang akan digunakan adalah Two – Layer Architecture. Arsitektur ini terdiri dari empat lapisan aliran data. 1. Lapisan pertama adalah source layer. Pada lapisan ini, data masih berupa operasional data.
Data operasional yang akan digunakan pada
pembangunan data warehouse kali ini sudah berupa data logic yang ada di database server. 2. Lapisan kedua adalah data staging. Pada lapisan ini, data operasional akan diekstrak (lebih dikenal dengan proses ETL) ke dalam data warehouse. 3 Lapisan ketiga adalah data warehouse layer. Informasi akan disimpan pada sebuah penyimpanan logic yang tersentralisasi,
yaitu data
warehouse. Data warehouse dapat diakses secara langsung, dan juga bisa digunakan sebagai sumber untuk membuat data marts yang merupakan sebagian dari duplikasi data warehouse dan dirancang khusus bagian khusus. 4 Lapisan keempat adalah analysis.
Analisis disini nantinya akan
menggunakan OLAP sebelum dijadikan sebuah laporan khusus.
65
Gambar 3.4 Arsitektur data warehouse Shafira Gambar 3.4 menjelaskan arsitektur data warehouse Shafira. Data diambil dari sistem asal yang telah ada (sistem informasi Shafira) dan database UMHAJ (Umroh dan Haji). Sumber data dari data warehouse dapat diambil langsung dari mainframe, basis data relasional. Data diekstrak dari sistem utama atau sumbersumber data yang ada dan data hasil ekstrasi tersebut dibersihkan kemudian data di-load ke warehouse.
Proses selanjutnya adalah Warehouse Manager.
Warehouse manager melakukan seluruh operasi-operasi yang berhubungan dengan kegiatan manajemen data di dalam warehouse. Operasi-operasi tersebut meliputi : 1.
Analisis terhadap data untuk memastikan konsistensi.
2.
Transformasi dan penggabungan sumber data dari tempat penyimpanan sementara menjadi tabel-tabel data warehouse.
3.
Penciptaan indeks-indeks dan view berdasarkan tabel-tabel dasar.
66
4.
Melakukan denormalisasi dan agregasi jika diperlukan Backing-Up dan mengarsipkan data.
Proses Query manager merupakan lanjutan dari warehouse manager. manager disebut komponen back-end,
Query
melakukan operasi-operasi yang
berhubungan dengan manajemen user queries. Operasi-operasi yang dilakukan oleh komponen ini termasuk mengarahkan query kepada tabel-tabel yang tepat dan menjadwalkan eksekusi dari query tersebut. Proses terakhir adalah End-user Access Tools. Tujuan utama dari dibangunnya data warehouse adalah untuk menyediakan informasi bisnis kepada manajemen dan pimpinan untuk dapat melakukan pengambilan keputusan secara cepat dan tepat. User berinteraksi dengan warehouse melalui end-user access tools. Data warehouse harus secara efisien mendukung secara khusus kebutuhan user serta secara rutin melakukan analisis.
Performa yang baik dapat dicapai dengan
merencanakan dahulu keperluan-keperluan untuk melakukan pembuatan laporanlaporan per periode dengan end-users.
3.2.3
Perancangan ETL( Extract, Transform, Loading)
ETL merupakan proses yang sangat penting dalam data warehouse, dengan ETL inilah data dari operational dapat dimasukkan ke dalam data warehouse. ETL dapat digunakan untuk mengintegrasikan data dengan sistem yang sudah ada sebelumnya.
67
Tujuan ETL adalah mengumpulkan, menyaring, mengolah, dan menggabungkan data-data yang relevan dari berbagai sumber untuk disimpan ke dalam data warehouse. Hasil dari proses ETL adalah dihasilkannya data yang memenuhi kriteria data warehouse seperti data yang historis, terpadu, terangkum, statis, dan memiliki struktur yang dirancang untuk keperluan proses analisis.
Gambar 3.5 Arsitektur ETL
3.2.3.1. Extract Langkah pertama pada proses ETL adalah mengekstrak data dari sumber-sumber data.
Data warehouse dapat menggabungkan data dari sumber-sumber yang
berbeda dengan sistem-sistem terpisah yang menggunakan format data yang berbeda. Ektraksi adalah mengubah data ke dalam suatu format yang berguna untuk proses transformasi. warehouse Shafira.
Berikut adalah proses ekstrak pada aplikasi data
68
Gambar 3.6 Data sebelum proses ekstrak pada database OLTP
Gambar 3.7. Flowchart proses ekstrak
69
Gambar 3.8 Data sesudah proses ekstrak pada database warehouse
3.2.3.2. Transform Tahapan transformasi menggunakan serangkaian aturan atau fungsi untuk mengekstrak data dari sumber dan selanjutnya akan dimasukkan ke data warehouse. Fungsi transform yang dilakukan antara lain : 1. Memilih kolom tertentu untuk dimasukkan ke dalam data warehouse. 2. Menterjemahkan nilai-nilai yang berupa kode. 3. Mengkodekan nilai-nilai ke dalam bentuk bebas (contohnya memetakan “Pria” dengan “P” dan“Wanita” ke dalam “W”). 4. Melakukan perhitungan nilai-nilai baru. 5. Menggabungkan data secara bersama-sama dari berbagai sumber. 6. Membuat ringkasan dari sekumpulan baris data. 7. Men-generate nilai surrogate key. 8. Menggunakan berbagai bentuk validasi data baik yang sederhana maupun kompleks.
70
Berikut adalah proses transform pada aplikasi data warehouse Shafira. no_jamaahnama namaID namaIMI title psp_tmp_lahir psp_tgl_lahir jenis_kelamin alamat kota kodepos telepon THOHIR ASHARI ERNAWATI THOHIR ASMrs THOHIR ASHARI SURABAYA 16/04/1981 P BABATAN PILANG SURABAYA GG.8 NO.29 60228 1 ERNAWATIERNAWATI 2 JAKA SURYAATMAJA JAKA SURYAATMAJA JAKA SURYAATMAJA Mr GRESIK 22/08/1978 L PSR. 27 CERME GRESIK LOR RT/RW. 02/01 44444 DS. 031-7990102 CERME 3 HASSANUDDIN HASSANUDDIN ABU ALI HASSANUDDIN ABU Mr ABU ALI SURABAYA 09/03/2009 L KARANG MENJANGAN SURABAYA 78 45455 031-5036023 6 BARLIAN FARIDHAH BARLIAN FARIDHAH AJENG BARLIAN P. FARIDHAH Miss AJENG SURABAYA P. 12/05/1976 P KARANG MENJANGAN SURABAYA 78 34343 031-5036023 INDAH RAHMADANI AJENG INDAHP.RAHMADANI Miss AJENG SURABAYA P. 11/11/1976 P KARANG MENJANGAN SURABAYA 78 12121 031-5036023 7 INDAH RAHMADANI 8 IKHSAN BINIKHSAN SAWADAK BINIKHSAN SAWADAK BINMrSAWADAK 0000-00-00 L Psr. 27 Cerme GRESIK Lor Rt/Rw. 02/01 Ds. Cerme 031-7990102 9 SURYATI TAKRIP SURYATI SURODIHARJO SURYATI TAKRIP Mrs SURODIHARJO GRESIK 29/08/1954 P PSR. 27 CERME GRESIK LOR RT/RW. 02/01 DS. 031-7990102 CERME ROUF ABDULSOFI ROUF ABDULMrROUF 0000-00-00 L Bromo 20 SURABAYA Pepelegi - Waru 78787 031-8537514 10 SOFI ABDULSOFI
hp flexi email nip tgl_update 081-553000233031-91192662 P0008 05/04/2010
[email protected] P0001 22/01/2009 8123547862
[email protected] melly 09/03/2009
[email protected] P0001 23/01/2009
[email protected] P0001 23/01/2009 8123125357 P0001 09/05/2006 031-71229526 P0001 22/02/2010 081-23152541P0001 06/09/2006
Gambar 3.9 Data sebelum proses transform pada database OLTP
Gambar 3.10. Flowchart proses transform
71
no_jamaah nama 1 ERNAWATI THOHIR ASHARI 2 JAKA SURYAATMAJA 3 HASSANUDDIN ABU ALI 6 BARLIAN FARIDHAH AJENG P. 7 INDAH RAHMADANI AJENG P. 8 IKHSAN BIN SAWADAK 9 SURYATI TAKRIP SURODIHARJ 10 SOFI ABDUL ROUF
jenis_kelamin Wanita Pria Pria Wanita Wanita Pria Wanita Pria
Gambar 3.11 Data sesudah proses transform pada database warehouse
3.2.3.1. Load Fase load merupakan tahapan yang berfungsi untuk memasukkan data ke dalam target akhir, yang biasanya ke dalam suatu data warehouse. Jangka waktu proses ini tergantung pada kebutuhan perusahaan. Beberapa data dapat setiap minggu mengisi keseluruhan informasi yang ada secara kumulatif,
data diubah,
sementara data yang lain (atau bagian lain dari data warehouse yang sama) dapat menambahkan data baru dalam suatu bentuk yang historikal.
3.2.4
Pemodelan Data Dimensional
Skema yang digunakan untuk pemodelan data adalah skema constellation yang merupakan stuktur logical yang memilih tabel fakta yang terdiri atas dua atau lebih data faktual yang berbagi tabel-tabel dimensi yang berisi referensi data. Tabel dimensi adalah tabel yang umumnya berisi data keterangan, di mana datadata tersebut jarang sekali mengalami perubahan. Tabel fakta adalah suatu tabel
72
yang umumnya berisi data yang sering berubah-ubah, atau umumnya disebut fakta bisnis. Tabel fakta pada umumnya berisi data-data bertipe numerik. Perbedaan antara ERD yang digunakan oleh perusahaan dengan desain sistem constellation schema yang dibuat adalah : constellation schema ini dirancang untuk mempermudah pencarian data menggunakan query dan membantu menyimpan semua data yang dimiliki oleh perusahaan dalam suatu tempat penyimpanan khusus, dan hanya dengan OLAP Tools data-data tersebut dapat diimplementasi.
Pembuatan tabel fakta berdasarkan transaksi-transaksi yang
digunakan oleh perusahaan,
sedangkan pembuatan dimensi berdasarkan
keterangan-keterangan yang diperlukan oleh tabel fakta. Semua data yang terdapat pada database perusahaan telah melewati proses cleansing dan proses transformasi ke dalam database constellation schema. Proses cleansing ini berguna untuk menghilangkan data-data yang kurang valid dan membuat data-data yang ditransformasi menjadi lebih konsisten.
3.2.4.1 Menentukan Dimensi Tabel dimensi merupakan tabel yang berisi data yang menunjukan tinjauan dari berbagai perspektif adanya dimensi memungkinkan pembuatan laporan dinamis yang dapat ditinjau dari berbagai perspektif sekaligus mengatur tingkat perinciannya. Tabel-tabel dimensi yang ada dalam rancangan data warehouse :
73
1.
dim_rekap_bayar Merupakan parameter yang digunakan untuk membuat laporan berdasarkan kewajiban pembayaran yang harus dipenuhi oleh pelanggan. Field-field dari tabel ini beserta tipe data, ukuran dan keterangannya dapat dilihat pada Tabel 3.12 Tabel dim_rekap_bayar. Tabel 3.12 Tabel dim_rekap_bayar Tipe Data
Nama field
Ukuran
id_rekap_bayar char kewajiban_rp
double
kewajiban_usd
double
5
Key Primary key
Keterangan Menyimpan id_rekap_bayar Jumlah uang harus dibayar pelanggan dollar Jumlah uang harus dibayar pelanggan dalam Rupiah
2. dim_jamaah Merupakan parameter yang digunakan untuk membuat laporan berdasarkan jenis kelamin jamaah. Tabel ini berisi data tentang pelanggan Shafira Tour & Travel. Field-field dari tabel ini beserta tipe data, ukuran dan keterangannya dapat dilihat pada Tabel 3.13. Tabel 3.13Tabel dim_jamaah Nama field
Tipe Data
Ukuran
no_jamaah
Int
10
nama
Varchar
60
jenis_kelamin
Char
1
Key Primary key
Keterangan Menyimpan id pelanggan yang melakukan transaksi Menyimpan nama pelanggan Menyimpan data jenis kelamin pelanggan
74
3. dim_paket Tabel ini berisi data tentang jenis-jenis paket perjalanan umroh dan haji yang tersedia di Shafira Tour & Travel. Field-field dari tabel ini beserta tipe data, ukuran dan keterangannya dapat dilihat pada Tabel 3.14 Tabel 3.14 Tabel dim_paket Tipe Data
Nama field
Ukuran
kode_paket
Varchar
30
jenis1
Varchar
5
jenis2
Varchar
20
tgl_berangkat
Date
bulan tahun
Varchar Year
Key Primary key
15
Keterangan Menyimpan kode dari jenis paket Menyimpan nama jenis paket Menyimpan nama jenis paket apabila paket tersebut mempunyai turunan alternatif pilihan Menyimpan tanggal keberangkatan Menyimpan bulan aktif Menyimpan tahun aktif
4. dim_waktu Tabel ini berisi data tentang waktu transaksi yang terdapat pada constellation schema. Field-field dari tabel ini beserta tipe data, ukuran dan keterangannya dapat dilihat pada Tabel 3.15. Tabel 3.15 Tabel dim_waktu Nama field
Tipe Data
id_waktu
Int
tanggal
Date
bulan
Varchar
tahun
Year
Ukuran 5
15
Key Primary key
Keterangan Menyimpan id waktu terjadinya transaksi Menyimpan tanggal terjadinya transaksi Menyimpan bulan terjadinya transaksi Menyimpan tahun terjadinya transaksi
75
3.2.4.2 Menentukan Fact Table dan Measure Fact table dapat diartikan sebagai hasil evakuasi setiap parameter dari setiap dimensi yang ada. Measure adalah parameter yang digunakan dalam tabel fakta yang berupa data numerik. Program data warehouse ini terdapat dua tabel fakta yaitu tabel fakta_pendaftaran dan tabel fakta_pembayaran. 1. Fakta Pendaftaran Tabel ini berisi data tentang fakta bisnis yang terjadi pada transaksi pemesanan (pendaftaran) suatu paket perjalanan umrah atau haji oleh pelanggan. Tabel fakta ini memiliki relasi dengan tabel dim_waktu,
dim_jamaah,
dan
dim_paket berdasarkan dari id_waktu, no_jamaah, dan kode_paket. Fieldfield dari tabel ini beserta tipe data, ukuran dan keterangannya dapat dilihat pada Tabel 3.16. Tabel 3.16 Tabel fact_pendaftaran Nama field no_pendaftaran
Tipe Data Ukuran Int 10
id_waktu
Int
10
kode_paket
Varchar
30
no_jamaah
Int
10
tgl_daftar
date
jumlah
Int
10
Key Primary key
Keterangan Menyimpan nomor pendaftaran Menyimpan id waktu terjadinya transaksi Menyimpan kode dari jenis paket Menyimpan id pelanggan yang melakukan transaksi Tanggal pelanggan melakukan pendaftaran Menyimpan jumlah jamaah yang daftar atau jumlah paket yang dipesan pada transaksi pendaftaran
76
2. Fakta Pembayaran Tabel ini berisi data tentang fakta bisnis yang terjadi pada transaksi pembayaran paket oleh pelanggan. Tabel fakta ini memiliki relasi dengan tabel dim_waktu,
dim_pendaftaran dan dim_pembayaran berdasarkan dari
id_waktu, no_pendaftaran dan no_invoice. Field-field dari tabel ini beserta tipe data , ukuran dan keterangannya dapat dilihat pada Tabel 3.17.
Tabel 3.17 Tabel fact_pembayaran
no_invoice
Tipe Data Int
10
kode_paket
Varchar
30
id_rekap_bayar
char
5
id_waktu
Int
10
tgl_bayar
date
total_usd
double
total_rp
double
Nama field
Ukuran
Key Primary key
Keterangan Menyimpan nomor invoice pembayaran Menyimpan kode dari jenis paket Menyimpan id_rekap_bayar Menyimpan id waktu terjadinya transaksi Tanggal pelanggan melakukan pembayaran Menyimpan jumlah pendapatan mata uang dollar Menyimpan jumlah pendapatan mata uang rupiah
77
3.2.4.3 Constellation Schema Data warehouse Shafira
Gambar 3.12 Constellation schema data warehouse Shafira
Pada skema constellation di atas terdapat dua tabel fakta, fact_pendaftaran dan fact_pembayaran.
Kedua tabel fakta ini berbagi tabel dimensi,
yaitu tabel
dim_waktu dan dim_paket. Adapun keterangan dari constellation schema yang dibuat adalah sebagai berikut :
78
1. Fact_pendaftaran Fact_pendaftaran menggambarkan fakta-fakta yang terjadi pada sistem pendaftaran jamaah dari tiap kantor Shafira. Fact_pendaftaran berisi data yang terkait dengan transaksi pendaftaran yang diambil dari database umhaj lama. Fakta yang diukur dalam fact_pendaftaran ini adalah jumlah jamaah yang daftar atau jumlah paket yang dipesan pada transaksi pendaftaran. 2. Fact_pembayaran Fact_pembayaran menggambarkan fakta-fakta yang terjadi pada sistem pembayaran paket.
Fact_pembayaran berisi data yang terkait dengan
transaksi pembayaran yang diambil dari database umhaj lama. Fakta yang diukur dalam constellation schema ini adalah total_usd, dan total_rp.
3.2.4.4 Tabel yang Tidak Digunakan Dalam Database Constellation Schema Dalam database constellation schema, tidak semua tabel dan field dari database umhaj terdapat di dalamnya. Hanya tabel dan field yang berhubungan dengan data yang ingin dianalisis saja yang digunakan. Tabel 3.18 menjelaskan daftar tabel dan field dalam database umhaj yang tidak digunakan dalam database constellation schema. Tabel 3.18Tabel dan FieldDatabase UMHAJ yang tidak Digunakan Nama Tabel kabupaten
Nama Field Semua
Alasan Tabel ini hanya berisi kode, nama kabupaten
79
Tabel ini hanya berisi kurs mata uang asing terhadap rupiah Tabel ini hanya berisi Pendaftaran__ Semua status kelengkapan dokumen dokumen Tabel ini berisi Jamaah_detail Semua tentang detail dari jamaah Namaid, namaimi, title, psp_tmp_lahir, Tabel ini berisi jamaah psp_tgl_lahir, alamat, kota, kodepos, tentang biodata telepon, hp, flexi, email, nip, tgl_update jamaah No_pendaftaran, keterangan, nip, Tabel ini berisi pembayaran tgl_update, phone tentang pembayaran Pendaftaran__ Tabel ini berisi detail Semua paket harga paket kode_paket, jns_paket, tgl_berangkat, umur, owner_bayar, penerima, lunas, ukuran_baju ,permintaan_khusus, nip, tgl_update, no_urut_muhrim, surat, paket_haji, keterangan, wajib_fiskal, Tabel ini berisi data Pendaftaran cv_id, mahram, hub_mahram, tempel1, pendaftaran jamaah hub_temple1, tempel2, hub_temple2, tempel3, hub_temple3, tempel4, hub_temple4, status, no, no_tiket, no_visa, visa_issued, visa_expired Tgl_pulang, pesawat, paket_dws, fiskal, Tabel ini berisi data apt, surat_muhrim, paspor, biaya_lain, paket yang Paket hemat2, hemat3, hemat4, kamar_other, ditawarkan kepada vip2, vip3, vip4, gold2, gold3, gold4, aktif, jamaah seat, lama Kode_paket, no_pendaftaran, Tabel ini berisi Rekap_bayar nama_jamaah, jml_pengikut, cicilan_usd, tentang pembayaran cicilan_rp jamaah Tabel ini berisi Pegawai semua tentang biodata pegawai rate
Semua
80
3.2.5 OLAP (On-Line Analytical Processing) OLAP adalah suatu sistem atau teknologi yang dirancang untuk mendukung proses analis kompleks dalam rangka mengungkapkan kecendrungan pasar dan faktor-faktor penting dalam bisnis.
OLAP ditandai dengan kemampuannya
menaikan atau menurunkan dimensi data sehingga kita dapat menggali data sampai level yang sangat detail dan memperoleh pandangan yang lebih luas mengenai objek yang sedang dianalisis. Kemampuan OLAP diantaranya konsolidasi dimana melibatkan pengelompokan data, Drill-down yaitu suatu bentuk yang merupakan kebalikan dari konsolidasi, yang memungkinkan data yang ringkas dijabarkan menjadi data yang lebih detail, Roll up adalah proses generalisasi satu atau beberapa dimensi dengan merangkum atau meringkas nilai-nilai ukurannya, slicing and dicing (atau dikenal dengan istilah pivoting) menjabarkan pada kemampuan untuk melihat data dari berbagai sudut pandang. Proses operasi OLAP yang akan digunakan pada data warehouse Shafira antara lain : 1. Roll up Operator roll-up menyebabkan peningkatan agregasi data dan menghapus level data yang lebih detail dari sebuah hierarki. Rolling-up juga dapat mengurangi jumlah dimensi dengan cara menghapus semua detail dalam sebuah hierarki. Sebagai contoh, Gambar 3.13 menunjukkan query yang menampilkan jumlah jamaah berdasarkan jenis kelamin yang mengambil jenis paket haji atau umrah
81
pada tahun 2009 dan 2010. Roll up dapat menghapus informasi tentang jamaah dan menampilkan jumlah jamaah tahunan per jenis paket.
Gambar 3.13 Kubus roll up
jenis Haji umrah
tahun 2009 2010 2009 2010
jenis_kelamin
jumlah L P 307 205 380 335 560 420 549 450
↓ jenis Haji umrah
tahun 2009 2010 2009 2010
jumlah 512 715 980 999
82
2. Drill Down Operator drill-down adalah kebalikan dari operator roll-up.
Gambar 3.14
menunjukkan query yang mengurangi agregasi data dan menambah level data baru yang lebih detail dalam sebuah hierarki. Sebagai contoh, tabel di bawah menunjukkan agregasi berdasarkan jenis paket yang berubah menjadi agregasi baru berdasarkan subjenis paket. Operator drill-down menyebabkan kenaikan jumlah tabel dimensi setelah menambahkan rician jenis paket.
Gambar 3.14 Kubus drill down
tahun 2009 2010
jenis paket
jumlah umroh haji 980 512 999 715
↓ jumlah tahun 2009 2010
paket jenis
umroh Gold hemat 475 505 486 513
plus 382 406
haji arabian 130 309
83
3. Slicing Slicing adalah proses mengambil potongan kubus berdasarkan nilai tertentu pada satu dimensi atau beberapa dimensi. Contoh slicing ditunjukkan oleh gambar 3.15, jika user ingin menampilkan data pendapatan paket umroh dan haji pada tahun 2009,
maka lakukan seleksi data berdasakan dimensi tahun.
jelasnya ditunjukkan pada gambar 3.15
Gambar 3.15 Kubus slicing
jenis Haji umrah
tahun 2009 2010 2009 2010
total kewajiban usd kewajiban rp 450000 4050000000 550000 6400000000 650000 5850000000 721000 64890000000 ↓
Report filter Tahun = 2009 paket umroh haji
total kewajiban usd kewajiban rp 450000 4050000000 650000 5850000000
Ilustrasi
84
3.3 Kebutuhan Fungsional 3.3.1
Aliran Proses
Diagram konteks atau disebut juga dengan model sistem fundamental merepresentasikan seluruh elemen sistem sebagai sebuah bubble tunggal dengan data input output yang ditunjukkan oleh anak panah yang masuk dan keluar secara berurutan.
Data_login Data_operasional
Pilih_file Periode_ETL Data_filter Request_cetak
File_excel
Data_umhaj 0. Aplikasi Data Warehouse
User
Database umhaj Data_operasional
laporan Hasil_analisis Hasil_ETL Info_upload Info_login
Gambar 3.16 Diagram konteks
85
3.3.1.1 DFD Level 1
il _ f lih P i
e
lo u p o _ nI f
ad
D a
m _u ta
j ha
Gambar 3.17 DFD level 1
86
3.3.1.2 DFD Level 2 Proses ETL Aplikasi Data Warehouse
Gambar 3.18 DFD level 2
3.3.1.3 DFD Level 2 Proses Analisis Aplikasi Data Warehouse
an al is
is
s il_ a n a lis is
H a s il _
Ha
Gambar 3.19 DFD level 2
87
3.3.2
Spesifikasi Proses
Spesifikasi proses digunakan untuk menggambarkan proses model aliran yang terdapat pada DFD. Spesifikasi proses dari gambaran DFD diatas akan dijelaskan pada tabel 3.19 dibawah ini : Table 3.19 Spesifikasi Proses No Proses 1 No.Proses Nama Source Input Output Destination Logika proses
2
No.Proses Nama Source Input Output Destination Logika proses
3
No.Proses Nama Source Input Output Destination
Keterangan 1.0 Login User, tabel pegawai Data_login, info_pegawai Data_pegawai, info_login User, tabel pegawai Begin {user memasukan data login} If data login ada then {menampilkan halaman utama} Else {tampil info gagal login} endif End 2.0 Upload data User, file_excel Pilih_file Info_upload Database Umhaj, user Begin File_excel ← upload_data() Input(pilih_file) If (pilih_file = true) then Simpan_data(database umhaj) Endif end 3.0 ETL User, Database Umhaj Periode _ETL, data _umhaj Data_paket, data_jamaah, data_rekap_bayar, data_waktu, data_pembayaran, data_pendaftaran Dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran
88
Logika proses
4
No.proses Nama Source Input
Output Destination Logika proses
5
No.Proses Nama Source Input Output Destination Logika proses
6
No.Proses Nama Source Input Output Destination Logika proses
Begin Data_umhaj ← ETL() Input(periode_waktu) If (periode_waktu = true) then Simpan_data(database warehouse) Else Output(“Proses ETL gagal”) Endif end 4.0 Analisis User, dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran Data_analisis, info_paket, info_jamaah, info_rekap_bayar, info_waktu, info_pembayaran, info_pendaftaran Hasil_analisis user Begin Input(data_analisis) {tampilkan data yang dianalisis} Data_hasil_analisis end 3.1 Input periode ETL User Periode _ETL Data_periode Proses_ekstrak Begin Input(data_filter) {user memasukkan waktu} end 3.2 Proses_ekstrak Input periode ETL, Database Umhaj Data_periode, data _umhaj Hasil_ekstrak Proses transform Begin Data_umhaj ← Proses_ekstrak() Input(periode_waktu) If (periode_waktu = true) then {mengestrak tabel yang dibutuhkan dalam data warehouse}
89
7
No.Proses Nama Source Input Output Destination Logika proses
8
No.Proses Nama Source Input Output Destination Logika proses
9
No.Proses Nama Source Input
Output Destination Logika proses
Simpan_data() end 3.3 Proses transform Proses_ekstrak Hasil_ekstrak Hasil_transform Proses_load Begin Input(hasil_ekstrak) If (hasil_ekstrak= true) then Simpan_data() Else {merubah kode menjadi bentuk standar} Endif end 3.4 Proses_load Proses transform Hasil_transform Data_paket, data_jamaah, data_rekap_bayar, data_waktu, data_pembayaran, data_pendaftaran Dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran Begin Input(Hasil_transform) If (Hasil_transform= true) then Simpan_data(database warehouse) Else Output(“Proses ETL gagal”) Endif end 3.5 Tampil hasil ETL User, dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran Pilihan_data, data_paket, data_jamaah, data_rekap_bayar, data_waktu, data_pembayaran, data_pendaftaran Hasil_ETL User Begin {menampilkan hasil ETL} End
90
10
No.proses Nama Source Input Output Destination Logika proses
11
No.proses Nama Source Input Output Destination Logika proses
12
3.3.3
No.proses Nama Source Input Output Destination Logika proses
4.1 Input filter data User Data_filter Data_analisis Dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran Begin Input(data_filter) {user memilih data yang akan dianalisis} end 4.2 Tampil analisis data Dim_paket, dim_jamaah, dim_rekap_bayar, dim_waktu, fact_pembayaran, fact_pendaftaran info_paket, info_jamaah, info_rekap_bayar, info_waktu, info_pembayaran, info_pendaftaran hasil_analisis User, cetak laporan Begin {menampilkan hasil analisis data} end 4.3 Cetak laporan User, hasil analisis data Request_cetak Laporan User Begin {user menekan tombol cetak untuk mencetak laporan hasil analisis data} end
Kamus Data
Kamus data merupakan deskripsi formal mengenai seluruh elemen yang tercakup dalam DFD. Kamus data untuk diagram alir data pada aplikasi data warehouse ini akan dijelaskan sebagai berikut :
91
Table 3.20 Kamus Data Nama aliran data : Digunakan pada : Deskripsi : Struktur data : Username password Nama aliran data : Digunakan pada : Deskripsi : Struktur data :
Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data : Digunakan pada : Deskripsi : Struktur data :
Kode_paket jenis1 jenis2 tgl_berangkat
Data_login Proses 1.0 Login Berisi data username dan password Username+password [A-Z|a-z|0-9] [A-Z|a-z|0-9] Data_operasional Proses 2.0 upload data Berisis data yang akan disimpan di database umhaj Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [A-Z|a-z] Year [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9] [0-9] [0-9] [0-9] Date Date data_umhaj Proses 3.0 ETL Proses 3.2 proses ekstrak Berisi data yang digunakan untuk proses ETL Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date
92
bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data Digunakan pada Deskripsi Struktur data tanggal_awal tanggal_akhir Nama Aliran data Digunakan pada Deskripsi Struktur data
Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data Digunakan pada Deskripsi
[A-Z|a-z] Year [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9] [0-9] [0-9] [0-9] Date Date periode_ETL Proses 3.0 ETL Proses 3.1 input periode ETL periode untuk ekstraksi data operasional tanggal_awal+tanggal_akhir Date Date data_analisis Proses 4.0 Analisis Data yang akan dianalisis Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [A-Z|a-z] Year [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9] [0-9] [0-9] [0-9] Date Date Data_periode Proses 3.2 proses ekstrak periode untuk ekstraksi data operasional
93
Struktur data tanggal_awal tanggal_akhir Nama Aliran data Digunakan pada Deskripsi Struktur data
Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data Digunakan pada Deskripsi Struktur data
Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp
tanggal_awal+tanggal_akhir Date Date Hasil_ekstrak Proses 3.3 proses transform Data yang akan ditransform Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [A-Z|a-z] Year [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9] [0-9] [0-9] [0-9] Date Date Hasil_transform Proses 3.3 proses load Data yang akan diload ke data warehouse Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [A-Z|a-z] Year [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9]
94
kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data Digunakan pada Deskripsi Struktur data
Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun no_jamaah nama_jamaah jenis_kelamin id_rekap_bayar kewajiban_rp kewajiban_usd no_invoice no_pendaftaran tgl_bayar tgl_daftar Nama Aliran data Digunakan pada Deskripsi Struktur data
no_invoice id_waktu Kode_paket id_rekap_bayar tgl_bayar total_rp total_usd no_pendaftaran no_jamaah tgl_daftar jumlah
[0-9] [0-9] [0-9] Date Date Data_filter Proses 4.1 input filter data data yang akan diolah Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun+no_jamaah+nama_jamaah+jenis_kelami n+id_rekap_bayar+kewajiban_rp+kewajiban_us d+no_invoice+no_pendaftaran+tgl_bayar+tgl_da ftar [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [A-Z|a-z] Date [0-9] [A-Z|a-z] [A-Z|a-z] [A-Z|a-z|0-9] [0-9] [0-9] [0-9] [0-9] Date Date Hasil_analisis Proses 4.3 Cetak Laporan Data hasil analisis no_invoice+id_waktu+Kode_paket+id_rekap_ba yar+tgl_bayar+total_rp+total_usd+no_pendaftar an+no_jamaah+tgl_daftar+jumlah [0-9] [0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [0-9] [0-9] [0-9] [0-9] Date [0-9]
95
Nama Aliran data Digunakan pada Deskripsi Struktur data
no_invoice id_waktu Kode_paket id_rekap_bayar tgl_bayar total_rp total_usd no_pendaftaran no_jamaah tgl_daftar jumlah Nama Aliran data Digunakan pada Deskripsi Struktur data Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun Nama Aliran data Digunakan pada Deskripsi Struktur data No_jamaah nama_jamaah jenis_kelamin Nama Aliran data Digunakan pada Deskripsi Struktur data id_rekap_bayar kewajiban_rp kewajiban_usd Nama Aliran data Digunakan pada Deskripsi
laporan user Cetakkan data hasil analisis no_invoice+id_waktu+Kode_paket+id_rekap_ba yar+tgl_bayar+total_rp+total_usd+no_pendaftar an+no_jamaah+tgl_daftar+jumlah [0-9] [0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [0-9] [0-9] [0-9] [0-9] Date [0-9] Data_paket Tabel dim_paket Berisi data dimensi paket Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date Date Date Data_jamaah Tabel dim_jamaah Berisi data dimensi jamaah No_jamaah+nama_jamaah+jenis_kelamin [0-9] [A-Z|a-z] [A-Z|a-z] Data_rekap_bayar Tabel dim_rekap_bayar Berisi data dimensi rekap bayar id_rekap_bayar+kewajiban_rp+kewajiban_usd [A-Z|a-z|0-9] [0-9] [0-9] Data_waktu Tabel dim_paket Berisi data dimensi waktu
96
Struktur data Id_waktu Tanggal Bulan tahun Nama Aliran data Digunakan pada Deskripsi Struktur data no_invoice id_waktu Kode_paket id_rekap_bayar tgl_bayar total_rp total_usd Nama Aliran data Digunakan pada Deskripsi Struktur data id_waktu Kode_paket no_pendaftaran no_jamaah tgl_daftar jumlah Nama Aliran data Digunakan pada
Deskripsi Struktur data Kode_paket jenis1 jenis2 tgl_berangkat bulan tahun Nama Aliran data Digunakan pada
Id_waktu+tanggal+bulan+tahun [0-9] Date Date Date Data_pembayaran Tabel fact_pembayaran Berisi data fakta pembayaran no_invoice+id_waktu+Kode_paket+id_rekap_ba yar+tgl_bayar+total_rp+total_usd [0-9] [0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [0-9] [0-9] Data_pendaftaran Tabel fact_pendaftaran Berisi data fakta pendaftaran id_waktu+Kode_paket+no_pendaftaran+no_jam aah+tgl_daftar+jumlah [0-9] [A-Z|a-z|0-9] [0-9] [0-9] Date [0-9] Info_paket Proses 3.0 ETL Proses 3.5 tampil hasil ETL Proses 4.0 Analisis Proses 4.2 tampil analisis data Berisi data dimensi paket Kode_paket+jenis1+jenis2+tgl_berangkat+bulan +tahun [A-Z|a-z|0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date Date Date Info_jamaah Proses 3.0 ETL Proses 3.5 tampil hasil ETL
97
Deskripsi Struktur data No_jamaah nama_jamaah jenis_kelamin Nama Aliran data Digunakan pada Deskripsi Struktur data id_rekap_bayar kewajiban_rp kewajiban_usd Nama Aliran data Digunakan pada
Deskripsi Struktur data Id_waktu Tanggal Bulan tahun Nama Aliran data Digunakan pada Deskripsi Struktur data no_invoice id_waktu Kode_paket id_rekap_bayar tgl_bayar total_rp total_usd Nama Aliran data Digunakan pada
Deskripsi Struktur data
Proses 4.0 Analisis Proses 4.2 tampil analisis data Berisi data dimensi jamaah No_jamaah+nama_jamaah+jenis_kelamin [0-9] [A-Z|a-z] [A-Z|a-z] info_rekap_bayar Proses 2.2 Analisis data Berisi data dimensi rekap bayar id_rekap_bayar+kewajiban_rp+kewajiban_usd [A-Z|a-z|0-9] [0-9] [0-9] info_waktu Proses 3.0 ETL Proses 3.5 tampil hasil ETL Proses 4.0 Analisis Proses 4.2 tampil analisis data Berisi data dimensi waktu Id_waktu+tanggal+bulan+tahun [0-9] Date Date Date info_pembayaran Proses 2.2 Analisis data Berisi data fakta pembayaran no_invoice+id_waktu+Kode_paket+id_rekap_ba yar+tgl_bayar+total_rp+total_usd [0-9] [0-9] [A-Z|a-z|0-9] [A-Z|a-z|0-9] Date [0-9] [0-9] info_pendaftaran Proses 3.0 ETL Proses 3.5 tampil hasil ETL Proses 4.0 Analisis Proses 4.2 tampil analisis data Berisi data fakta pendaftaran id_waktu+Kode_paket+no_pendaftaran+no_jam aah+tgl_daftar+jumlah
98
id_waktu Kode_paket no_pendaftaran no_jamaah tgl_daftar jumlah
[0-9] [A-Z|a-z|0-9] [0-9] [0-9] Date [0-9]
3.3.4. Perancangan Arsiterktur Pada subbab ini akan dibahas perancangan arsitektur untuk aplikasi penunjang data warehouse yang akan dibangun. Dalam subbab ini akan ada perancangan struktur menu,
perancangan antarmuka,
perancangan pesan,
dan jaringan
semantik. 3.3.4.1 Perancangan Struktur Menu Berikut ini adalah perancangan struktur menu dari aplikasi yang akan dibangun :
Gambar 3.20 Struktur menu aplikasi data warehouse shafira
99
3.3.4.2 Perancangan Antarmuka Pada subbab ini akan dibahas tentang perancangan antarmuka aplikasi yang akan dibangun. 1 : Form Login Halaman login adalah halaman yang pertama kali muncul saat aplikasi dijalankan. User harus memasukkan username dan password terlebih dahulu untuk masuk ke halaman utama.
Gambar 3.21 Form login aplikasi
2 : FormUtama Pada form utama terdapat tiga menu yang dapat dipilih user. Gambar 3.19 adalah perancangan tampilan form utama.
100
Gambar 3.22 Form utama aplikasi
3 : Form Upload Data Form upload data ini berfungsi untuk memasukkan data dari format excel ke dalam database OLTP umhaj.
Gambar 3.23 Form upload data
101
4 : Form Periode ETL Form ini berfungsi untuk memilih waktu (periode) data dari database yang akan mengalami prose ETL.
Gambar 3.24 Form pemilihan periode ETL
5 : Form Hasil ETL Form ini akan menampilkan data sebelum dan sesudah proses ETL. User hanya perlu memilih tabel untuk menampilkan data yang diinginkan.
Gambar 3.25 Form hasil ETL
102
6 : Form Analisis Data Form ini digunakan untuk proses analisis data OLAP. User dapat memilih data yang akan dianalisis sesuai kebutuhan dengan adanya menu filter data. Analisis data pada form ini ditampilkan dalam bentuk tabel dan grafik.
User dapat
mencetak laporan hasil analisis data dengan menekan tombol cetak.
Gambara 3.26 Form analisis data
3.3.4.3 Perancangan Pesan Pada subbab ini akan dibahas perancangan pesan yang akan muncul dalam aplikasi yang akan dibangun ini. M01 : Pesan Login Gagal Form ini menampilkan pesan ketika login gagal dilakukan karena user belum memasukkan username atau password dan ketika user salah memasukkan username atau password.
103
Gambar 3.27 Form pesan peringatan
M02 : Pesan Error Pilih File Upload Pesan ini akan muncul ketika user belum memilih tabel data yang akan di-upload.
Gambar 3.28 Form pesan peringatan
M03 : Pesan Error Data Analisis Pesan ini akan muncul ketika user belum memilih data yang akan dianalisis pada form analisis data.
104
Gambar 3.29 Form pesan error data analisis
3.3.4.4 Jaringan Semantik Pada aplikasi data warehouse Shafira terdapat enam form, yaitu T.01 form login, T.02 form utama aplikasi,T.03 form upload data, T.04 form periode ETL, T.05 form hasi ETL, dan T.06 form analisis data. T.01 adalah form yang akan pertama tampil pada saat aplikasi ini dijalankan. Pada form T.01 atau form login user harus memasukkan username dan password terlebih dahulu untuk menggunakan aplikasi ini, jika username dan password yang dimasukkan benar maka akan tampil form T.02 tetapi jika username dan password yang dimasukkan salah atau tidak diisi maka akan tampil form pesan M.01. T.02 adalah form utama aplikasi ini. Pada form ini terdapat tiga menu utama yaitu menu file, ETL, dan analisis data. Menu file berisi pilihan upload data dan keluar. Menekan menu upload data maka akan menuju ke form T.03. Menu ETL berisi pilihan pilih periode waktudan hasil ETL. Menekan menu pilih periode waktumaka akan menuju ke form T.04. Pilih menu hasil ETL maka akan menuju ke formT.05. Pilih menu analisis maka akan menuju ke form T.06. Menekan menu keluar atau tombol [x] untuk keluar dari Aplikasi.
105
T.03 adalah form upload data.
Form upload data ini berfungsi untuk
memasukkan data dari format excel ke dalam database OLTP umhaj. Jika terjadi kesalahan dalam proses ini maka akan tampil pesan M.02. Ketika user menekan tombol keluar atau tombol [x] maka akan kembali ke formT.02. T.04 adalah form yang berfungsi untuk memilih waktu (periode) data dari database yang akan mengalami prose ETL. Jika proses ETL berhasil maka akan menuju ke form T.05. T.05 adalah form hasil ETL. Form ini akan menampilkan data sesudah proses ETL. Jika user menekan tombol tutup atau tombol [x] maka keluar dari form ini dan kembali ke form T.02. T.06 adalah form analisis data. Form ini digunakan untuk proses analisis data OLAP. Jika terjadi kesalahan dalam proses ini maka akan tampil pesan M.03. Ketika user menekan tombol keluar atau tombol [x] maka akan kembali ke form T.02.
106
Gambar 3.30 Jaringan semantik