bab iii analisis dan rancangan sistem 3.1....
TRANSCRIPT
18
BAB III
ANALISIS DAN RANCANGAN SISTEM
3.1. Metode Penilitian
Berikut merupakan metode-metode penelitian yang digunakan dalam
mengumpulkan data yang terkait dengan penelitian.
3.1.1. Metode Pengumpulan data:
3.1.1.1. Wawancara
Wawancara dilakukan di Perpustakaan Daerah Kabupaten Lumajang
bersama dengan teknisi server perpustakaan pada tanggal 03 Oktober 2016. Pada
wawancara pertama dilakukan tanya jawab mengenai permasalahan-permasalahan
yang sering dijumpai teknisi, bagaimana sistem database operasional bekerja, dan
meminta keseluruhan data di database terhitung hingga tanggal 03 Oktober 2016.
Pada wawancara kedua pada tanggal 20 Januari 2017, dilakukan tanya jawab
mengenai proses bisnis pada transaksi peminjaman, pengembalian dan bagaimana
perpustakaan melakukan pengadaan buku sehingga terdapat komparasi pada
pengambilan keputusan ketika adanya data warehouse dengan tidak adanya data
warehouse.
3.1.1.2. Studi pustaka
Studi pustaka dilakukan dengan membaca buku jurnal maupun penelitan
yang serupa pada bidang data warehouse. Membaca buku jurnal maupun penelitan
yang serupa bertujuan agar bisa mengkomparasi dan menghindari adanya
plagiarisme dan bisa menjadi acuan sumber yang dapat digunakan dalam
pengerjaan penelitian. Selain buku jurnal dan penelitan, dalam penelitian ini juga
menggunakan buku yang berkaitan dengan data warehouse seperti buku Kimball
dan buku Inmon sebagai sumber terpecaya untuk mendukung teori-teori yang ada
pada penelitian ini. Buku yang berkaitan dengan perpustakaan dan informasi juga
menjadi acuan studi pustaka untuk mendukung teori mengenai perpustakaan dan
informasi.
19
memiliki
Relationship_2
Relationship_3
Relationship_7
Relationship_5
user_account
userID
userType
registerTimeStamp
userAccount
userPassword
lostPasswordQuestion
lostPasswordAnswer
lastUpadate
lastLogin
activationCode
isApproved
userName
userReligion
userSex
userBirthday
userBirthPlace
userAddress
userPhone
userAffi l iation
userCompany
userInterest
userSignature
userEmail
userWebsite
userICQ
userAIM
userYIM
userMSNM
userLanguage
userImage
userNoktp
userKec
userInstansi
userKel
<pi>
<pi>
Integer
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<M>
<M>
Identifier_1 <pi>
loan
loanID
userName
libraryTitle
loanDate
returnDate
returnedDate
extendedCount
loanType
<pi> <Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<M>
Identifier_1 <pi>
library_dataunit
date
staffAccount
libraryMainNumber
libraryPrice
libraryOrderDate
libraryArriveDate
libraryLocation
libraryCondition
<pi>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<M>
Identifier_1 <pi>
library
libraryDate
staffAccount
libraryID
libraryMaterialType
libraryCollection
libraryCallNumber
libraryISBN
libraryAuthor
library_nama_depan_pengarang
library_nama_blk_pengarang
libraryAdditionalAuthor
libraryCooperate
libraryTitle
no_induk
no_reg
jml_buku
price
dms_buku
libraryLocation
librarySubTitle
libraryEdition
libraryCityPublished
libraryPublisher
libraryYearPublished
libraryVolume
libraryDesc
librarySeries
libraryIsReference
librarySubject
libraryKeyword
libraryGain
libraryNotes
libraryImage
<pi>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<M>
Identifier_1 <pi>
faculty
facultyID
facultyName
facultyDesc
<Undefined>
<Undefined>
<Undefined>
department
departmentID
departmentName
departmentDesc
<pi> <Undefined>
<Undefined>
<Undefined>
<M>
Identifier_1 <pi>
Gambar 3.1 Conceptual Data Model (CDM) database
3.2. CDM dan PDM database
Di setiap penelitian yang berhubungan dengan database selalu
menggunakan Conceptual Data Model (CDM) dan Physical Data Model (PDM).
Berikut adalah CDM dan PDM mengenai database dan pada penelitan ini
3.2.1. Database Conceptual Data Model (CDM)
20
3.2.2. Database Physical Data Model (PDM)
Gambar 3.21 Physical Data Model (PDM) database
user_account
userID
userType
registerTimeStamp
userAccount
departmentID
userPassword
lostPasswordQuestion
lostPasswordAnswer
lastUpadate
lastLogin
activationCode
isApproved
userName
userReligion
userSex
userBirthday
userBirthPlace
userAddress
userPhone
userAffi l iation
userCompany
userInterest
userSignature
userEmail
userWebsite
userICQ
userAIM
userYIM
userMSNM
userLanguage
userImage
userNoktp
userKec
userInstansi
userKel
integer
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<pk>
<pk>
<fk>
loan
loanID
libraryMainNumber
userID
userAccount
userName
libraryTitle
loanDate
returnDate
returnedDate
extendedCount
loanType
<Undefined>
<Undefined>
integer
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<pk>
<fk2>
<fk1>
<fk1>
library_dataunit
date
staffAccount
libraryMainNumber
libraryID
libraryPrice
libraryOrderDate
libraryArriveDate
libraryLocation
libraryCondition
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<pk>
<fk>
library
libraryDate
staffAccount
libraryID
libraryMaterialType
libraryCollection
libraryCallNumber
libraryISBN
libraryAuthor
library_nama_depan_pengarang
library_nama_blk_pengarang
libraryAdditionalAuthor
libraryCooperate
libraryTitle
no_induk
no_reg
jml_buku
price
dms_buku
libraryLocation
librarySubTitle
libraryEdition
libraryCityPublished
libraryPublisher
libraryYearPublished
libraryVolume
libraryDesc
librarySeries
libraryIsReference
librarySubject
libraryKeyword
libraryGain
libraryNotes
libraryImage
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<Undefined>
<pk>
faculty
facultyID
facultyName
facultyDesc
<Undefined>
<Undefined>
<Undefined>
department
departmentID
departmentName
departmentDesc
<Undefined>
<Undefined>
<Undefined>
<pk>
21
Berikut adalah database OLTP ( yang didapat dari Perpustakaan Daerah
Kabupaten Lumajang):
Gambar 3.3 Database Perpustakaan Kabupaten Daerah Lumajang
Di database ini berisikan data mengenai transaksi peminjaman buku yang
dilakukan oleh pengguna Perpustakaan Daerah Kabupaten Lumajang pada
tanggal tertentu.
3.3. Metode desain data warehouse (nine step design method)
Dalam perancangan data warehouse pada penelitian ini digunakan metode
yang bernama nine step design method yang digagas oleh Kimball.
3.3.1. Memilih Proses Bisnis yang Bersangkutan dengan Kebutuhan
Proses bisnis yang diperoleh dari hasil wawancara bisa menjadi acuan
dalam pemilihan dan juga pembatasan kebutuhan sistem. Laporan yang sering kali
dibutuhkan adalah laporan peminjaman dan pengembalian buku dengan proses
bisnis sebagai berikut.
22
Proses bisnis peminjaman buku
Gambar 3.4 Proses bisnis peminjaman buku perpustakaan
Proses bisnis pengembalian buku:
Gambar 3.5 Proses bisnis pengembalian buku perpustakaan
23
Setelah mengetahui kebutuhan sistem, maka database yang digunakan
tidaklah semua tapi yang benar-benar berkaitan dengan kebutuhan sistem. Berikut
adalah nama tabel database yang dipakai dalam perancangan sistem.
No Database Keterangan
1 Faculty Tabel berisi identitas faculty perpustakaan
yang bersangkutan.
2 Department Tabel berisi identitas department perpustakaan
yang bersangkutan.
3 User_account Tabel berisi identitas anggota perpustakaan.
4 Loan Tabel transaksi yang berisi tanggal
peminjaman dan pengembalian.
5 Library_dataunit Tabel berisi informasi mengenai tanggal buku
didapat dan terletak dibagian apa buku
dipajang.
6 Library Tabel berisi informasi mengenai identitas buku
Tabel 3.1 Database yang dipakai
3.3.2. Menentukan Grain Bersumberkan Proses Bisnis
Beberapa data yang menjadi calon tabel fakta untuk proses bisnis dan
database operasional, yaitu analisis pada proses transaksi peminjaman dan
pengembalian:
1. Perbandingan persentase pengembalian buku tiap tahun.
2. Penunjang data pengadaan buku dari frekuensi tipe-tipe buku yang sering
dipinjam.
Analisis yang dihasilkan memiliki kedetilan data yaitu data fakta disimpan
per hari, per data unit buku, per anggota perpustakaan.
3.3.3. Mengidentifikasi dan Menyesuaikan Tabel Dimensi dengan yang Lain
Beberapa hal yang menjadi acuan penyesuaian dimensi adalah adanya
relation diantara tabel fakta dan dimensi.
24
Pada kasus ini bisa ditemukan bahwa tabel fakta (loan) memiliki foreign key
dari tabel dimensi-dimensi yang berelasi dengan tabel fakta. Berikut merupakan
primary key dan foreign key yang berelasi:
Untuk dimensi user_account memiliki primary key bernama userAccount
dan terdapat juga foreign key di tabel fakta dengan nama yang sama. Untuk dimensi
time_dim terdapat primary key bernama tanggal yang berelasi dengan loanDate di
tabel loan. Untuk dimensi lib_dataunit terdapat relasi terhadap attribute bernama
libraryMainNumber. Bisa juga dilihat kembali di gambar 3.5 untuk relasi antar
dimensi dan fakta. Dengan adanya relasi antar tabel menunjukkan bahwa yang
berelasi dengan tabel fakta merupakan tabel dimensi pendukung tabel fakta.
3.3.4. Memilih data-data fakta
Pada proses ini akan ditampilkan record data yang ada pada tabel fakta. Pada
umumnya berisikan agregasi dan foreign key dari tabel dimensi. Berikut adalah
record tabel fakta.
1. loanID
2. libraryMainNumber
3. userAccount
4. loanDate
5. returnDate
6. returnedDate
3.3.5. Menyimpan Kalkulasi Awal dalam Tabel Fakta.
Pada tahap ini dilakukan penentuan rumus (pre-kalkulasi) dari grain.
Biasanya dibuat untuk agregasi di tabel fakta ataupun dilakukan ketika pivot tabel
atau chart dibentuk.
1. Perbandingan persentase pengembalian buku yang sesuai dengan tanggal
pengembalian dengan yang tidak sesuai setiap tahun dilakukan dengan
membandingkan ([COUNT (loanID)] berdasarkan row returnDate) (tanggal
pengembalian yang ditentukan oleh perpustakaan) dengan banyaknya
peminjaman keseluruhan [COUNT (loanID)] berdasarkan row returnedDate.
(returnedDate merupakan tanggal buku dikembalikan oleh peminjam).
25
2. Penunjang data pengadaan buku ditentukan dari banyaknya peminjaman
keseluruhan [COUNT (loanID)] berdasarkan row libraryMaterialType (tipe-
tipe buku).
3.3.6. Melihat Kembali Tabel Dimensi
Pada tahap ini akan dijelaskan detail setiap tabel pada database OLAP.
Dimensi yang pertama adalah lib_dataunit dengan primary key libraryMainNumber
berfungsi sebagai dimensi yang menjelaskan tentang data-data mengenai buku yang
ada pada transaksi. Dimensi selanjutnya adalah time_dim dengan primary key
bernama tanggal yang berelasi dengan yang menjelaskan tentang waktu transaksi
terjadi. Dimensi waktu adalah dimensi penting yang dibuat berdasarkan waktu
transaksi terjadi. Dimensi selanjutnya adalah useraccount yang berisikan data
tentang anggota perpustakaan yang melakukan transaksi peminjaman buku. Semua
dimensi yang dipilih memiliki keterkaitan dan memiliki fungsi untuk menunjang
tabel fakta.
Berikut adalah star schema dari database perpustakaan dengan tabel dimensi berupa
useraccount, time_dim, dan lib_dataunit dengan tabel fakta berupa loan.
Gambar 3.6 Star schema database Perpustakaan Daerah Kabupaten Lumajang
26
Untuk masalah normalisasi data, di penelitian ini tidak mengalami
normalisasi baik di tabel dimensi maupun tabel fakta karena skema yang dipakai
adalah star schema. Berbeda jika skema yang dipakai adalah snowflake schema,
jika memakai snowflake schema mengharuskan normalisasi pada tabel dimensi
namun di tabel fakta tetap dalam keadaan denormalisasi. Star schema tidak
dilakukan normalisasi karena memang dibiarkan redundan datanya. Meskipun
datanya redundan query yang dipakai tidak terlalu kompleks dan mudah
dimengerti. Selain itu juga cocok dengan corak database perpustakaan. Untuk
mengatasi data yang redundan, star schema cenderung menghiraukan data yang
redundan karena efeknya tidak terlalu besar untuk hasil analisisnya. Dampak
negatif dari menggunakan star skema adalah semakin banyak data yang redundan
maka semakin besar ukuran databasenya. Jika ingin database yang sedikit lebih
ringan, bisa dilakukan normalisasi pada tabel dimensi sehingga mengurangi data
yang redundan dan membuat ukuran database tidak membengkak namun memiliki
dampak negatif yaitu query yang rumit dan susah dimengerti.
3.3.7. Memilih Durasi Database
Durasi database terhitung dari tahun 2007.
3.3.8. Menelusuri Perubahan-Perubahan yang Terjadi pada Dimensi
Perubahan dari dimensi yang berupa manipulasi data update dari database
OLTP-nya akan ikut berubah pada load data selanjutnya. Jika berupa manipulasi
data delete maka data OLAP tidak akan berubah pada load selanjutnya. Jika berupa
manipulasi data berupa insert maka akan melakukan load data yang baru ke
database OLAP.
3.3.9. Memutuskan Prioritas Query dan Tipe Query
Untuk data warehouse, pekerjaan query dan tipe query terjadi pada proses
ETL (extract, transform, dan load) menggunakan aplikasi:
a. Talend sebagai aplikasi proses ETL dan pembentukan aplikasi .bat.
b. MySQL sebagai pengolahan dan pemrosesan database yang berlangsung.
c. Microsoft Excel sebagai tempat keluaran dari hasil OLAP menjadi hasil analisis
berbentuk pivot chart.
d. ODBC sebagai konektor antara Microsoft Excel dan MySQL.
27
3.4. Perancangan Sistem Data Warehouse
Deskripsi Penelitan
Tools yang dipakai:
a. Talend sebagai aplikasi proses ETL dan pembentukan aplikasi .bat.
b. MySQL sebagai pengolahan dan pemrosesan database yang berlangsung.
c. Microsoft Excel sebagai tempat keluaran dari hasil OLAP menjadi hasil analisis
berbentuk pivot chart.
d. ODBC sebagai konektor antara Microsoft Excel dan MySQL.
Pengimplementasian sistem dilakukan pada tempat penelitian, yaitu
Perpustakaan Daerah Kabupaten Lumajang. Hal-hal yang diimplementasikan
adalah proses ETL yang dikonversi menjadi sebuah aplikasi .bat yang bisa bekerja
secara periodik ke dalam komputer server perpustakaan secara remote. Sesuai
dengan yang dibahas di bab sebelumnya, berikut adalah proses pembentukan
hingga hasil ETL yang akan diimplementasikan di perpustakaan.
3.4.1. Proses Pembentukan ETL
Proses ETL adalah proses pengintegrasian database-database operasional
menjadi satu jenis database dengan tipe data yang sama. Proses ETL terdiri dari
extract dimana dilakukan pengambilan data-data dari database operasional. Setelah
itu dilakukan proses transform agar database-database operasional terintegrasi
menjadi sama dan satu bentuk database yang biasa disebut database OLAP. Setelah
itu di load kembali ke database menjadi sebuah database yang terintegrasi. Pada
penelitian ini digunakan software bernama talend. Berikut adalah perancangan ETL
yang telah dilakukan.
Gambar 3.7 Pembangunan ETL
28
Pertama klik DB Connection lalu klik Create connection,
Gambar 3.8 Pembangunan ETL
Isi kolom Name dan klik next
Gambar 3.9 Pembangunan ETL
Selanjutnya pilih DB Type sesuai dengan software database yang dipakai, pada
kasus ini yang dipakai adalah MySQL. Setelah itu klik check dan tunggu hingga
muncul notifikasi sebagai berikut.
29
Gambar 3.11 Pembangunan ETL
Gambar 3.10 Pembangunan ETL
Jika koneksi telah berhasil klik OK dan klik Finish. Lakukan hal yang sama untuk
menambahkan koneksi OLAP. Setelah itu buat job baru bernama
ETL_dim_user_account. Setelah itu tambahkan tMysqlInput pada tabel berikut:
30
Setelah itu akan muncul gambar sebagai berikut:
Gambar 3.12 Pembangunan ETL
Klik dua kali pada komponen tMysqlInput dan lakukan konfigurasi hingga seperti
berikut:
Gambar 3.13 Pembangunan ETL
Pada tahap ini dilakukan input sql dari tabel “user_account”. Untuk tabel “faculty”
dan tabel “department” lakukan hal yang sama pada job yang sama hingga
terbentuk tiga tMysqlInput dengan konfigurasi tiap-tiap tabel.
Setelah itu tambahkan Tmap sehingga menjadi seperti gambar berikut:
31
Gambar 3.14 Pembangunan ETL
Hubungkan semua tMysqlInput ke tMap.
Keterangan tMysqlInput:
tMysqlInput_1: tabel “user_account”
tMysqlInput_2: tabel “department”
tMysqlInput_3: tabel “faculty”
Pertama hubungkan tabel “user_account” karena tabel “user_account” adalah inti
tabel dimensi yang berhubungan langsung dengan tabel fakta dan tabel lain menjadi
lookup row.
Setelah dihubungkan maka akan terbentuk menjadi seperti berikut.
Gambar 3.15 Pembangunan ETL
32
Tambahkan komponen tMysqlOutput dan hubungkan terlebih dahulu tmap dengan
tMysqlOutput
Setelah selesai menghubungkan, dobel klik pada tMap.
Gambar 3.16 Pembangunan ETL
Hubungkan foreign key “departmentID” di row 1 ke primary key “departmentID”
di row 2
Gambar 3.17 Pembangunan ETL
33
Gambar 3.19 Pembangunan ETL
Setelah itu dilakukan penghubungan yang selanjutnya dari foreign key “facultyID”
di row2 ke primary key “departmentID” di row 3.
Gambar 3.18 Pembangunan ETL
Lalu tambahkan output
Masukkan setiap field di row yang akan ditampilkan pada hasil output.
34
Gambar 3.20 Pembangunan ETL
Setelah selesai, klik ok dan run hingga data OLTP di transfer ke data OLAP. Perlu
diketahui bahwa sistem ini adalah sistem yang digunakan secara universal oleh
pembuat sistem untuk perpustakaan sekolah, kampus, maupun perpustakaan
daerah. Jadi fungsi sebenarnya dari tabel faculty dan department adalah jika sistem
digunakan dalam lingkup kampus atau universitas karena isinya untuk
membedakan jurusan dan fakultas dari user peminjam, karena sistem digunakan
dalam lingkup perpustakaan umum maka nilai dari departmentID dan facultyID
adalah 0 atau tidak ada relasi karena tidak ada primary key departmentID dan
facultyID yang bernilai 0.
35
Gambar 3.21 Pembangunan ETL
Untuk dimensi library_dataunit dilakukan hal yang serupa. Kemudian dilanjutkan
dengan penambahan dimensi waktu yang harus ada pada OLAP meskipun tidak ada
di database OLTP. Pada dimensi waktu yang dibuat pada penelitan ini memiliki
logika yaitu setiap adanya peminjaman, maka dimensi waktu akan mencatat tanggal
peminjaman yang pernah terjadi. Setelah itu dipecah menjadi bulan, hari, dan tahun
untuk mendapatkan data OLAP secara periodik dalam harian, bulanan, maupun
tahunan. Berikut gambaran ETL pada dimensi waktu.
Job design
Gambar 3.22 Pembangunan ETL
36
Komponen tMysqlInput_1 pada tabel dimensi time_dim
Gambar 3.23 Pembangunan ETL
Di tMysqlInput_1 yang ada pada job time_dim ini berfungsi untuk mengekstrak
data dari database OLTP dengan tabel loan dan atribut yang diekstrak hanya
loanDate saja.
Format tMap_2 dan query yang terjadi di dalamnya
Gambar 3.24 Pembangunan ETL
Query yang terjadi di dalamnya adalah pemisahan hari, bulan, dan tahun menjadi
atribut tabel tersendiri.
37
Komponen tMysqlOutput_1 pada tabel dimensi time_dim
Di tMysqlOutput_1 dilakukan load ke database olap dengan nama tabel time_dim
dengan batasan aksi yaitu insert or update on duplicate key or unique key yang
berarti melakukan penimpaan data pada data yang duplicate.
Setelah terbentuk semua dimensi, dilakukan perancangan dan pembentukan tabel
fakta bernama loan. Berikut adalah penjelasan dan gambaran perancangan dan
pembentukan tabel loan.
Job Design Tabel Fakta loan
Gambar 3.25 Pembangunan ETL
38
Komponen tMysqlInput_1 (main) Tabel Fakta loan
Gambar 3.26 Pembangunan ETL
Di tMysqlImput_1 (main) ini dilakukan ekstrak semua data dari database OLTP
yang bernama loan (calon tabel fakta).
Komponen tMysqlInput_2, tMysqlInput_3, tMysqlInput_5 (lookup) pada
Tabel Fakta loan
Pada komponen ini dilakukan ekstrak pada primary key setiap tabel dimensi dari
tabel OLAP untuk dijadikan acuan relasi yang terjadi antara tabel fakta dan tabel
dimensi.
Komponen tMysqlInput_4 pada Tabel Fakta loan
Pada komponen ini dilakukan ekstrak pada primary key loan (tabel fakta) yang
berada pada database OLAP sebagai acuan incremental load data. Incremental load
data adalah sebuah proses load data yang dilakukan tidak secara keseluruhan,
namun hanya melakukan load data yang belum pernah di load sebelumnya. Untuk
penjelasan query bisa dilihat pada tMap berikut.
Query tMap pada Tabel Fakta loan
Disini tabel loan akan di join-kan dengan tabel-tabel lookup namun perbedaanya
pada row4.
39
Gambar 3.27 Pembangunan ETL
Pada row 4 (berisikan data primary key yang ada pada tabel loan database OLAP)
untuk dijadikan pembatas load data karena memakai metode load incremental load
data. Di join model row 4 diganti dengan inner join dan pada output diubah value
catch lookup inner join reject menjadi true sehingga terbentuk batasan load dimana
nantinya load data akan dilakukan pada primary key loan yang belum ada pada
OLAP.
Komponen tMysqlOutput_1 pada Tabel Fakta loan
Gambar 3.28 Pembangunan ETL
Di komponen tMysqlOutput_1 dilakukan load data ke tabel loan yang berada pada
database OLAP. Disinilah hasil tabel fakta yang telah mengalami proses ETL.
3.4.2. Penampilan dalam Bentuk Pivot Chart.
Setelah pembentukan data warehouse selesai, dilakukan pengambilan data
mart. Data mart bisa didapatkan dari berbagai macam bentuk dan dari berbagai
40
macam aplikasi, namun pada penelitian ini data mart didapatkan dengan
menggunakan aplikasi microsoft excel dengan dibantu dengan aplikasi konektor
bernama ODBC. Berikut merupakan cara pembentukan koneksi antara mysql
(database) dengan excel.
Lakukan penginstalan ODBC dengan sesuai platform komputer. Setelah
penginstalan selesai, buka aplikasi excel dan mulai membuat hubungan antar
aplikasi.
Klik data pada kolom menu excel.
Gambar 3.29 Pembangunan pivot tabel dan chart
Setelah itu klik pada from other sources dan pilih from Microsoft query
Gambar 3.30 Pembangunan pivot tabel dan chart
Terbuka menu baru
Gambar 3.31 Pembangunan pivot tabel dan chart
41
Pilih new data sources lalu klik OK. Setelah itu akan muncul tampilan baru yang
mengharuskan input nama koneksi dan tipe koneksi.
Gambar 3.32 Pembangunan pivot tabel dan chart
Setelah selesai mengisi, klik connect untuk melakukan koneksi dengan database
OLAP yang diinginkan
Gambar 3.33 Pembangunan pivot tabel dan chart
42
Klik test untuk mengecek keberhasilan koneksi, lalu klik OK.
Setelah selesai mengkoneksikan, masuk ke koneksi yang telah dibuat.
Gambar 3.34 Pembangunan pivot tabel dan chart
Klik OK untuk masuk.
Perlu diingat bahwa di Microsoft Excel, semua query bisa dilakukan dengan
aplikasi dari excel itu sendiri bernama microsoft query. Menggunakan microsoft
query sendiri memiliki kelemahan tersendiri yaitu untuk menampilkan semua data
dari tabel dimensi dan tabel fakta (berbeda tabel) harus digabungkan (join) terlebih
dahulu. Namun penggabungan (join) menggunakan Microsoft query membuat
komputer berhenti bekerja. Maka dari itu dilakukan join dengan fungsi tabel view
pada Mysql terlebih dahulu untuk menghindari penggunaan microsoft query.
Dari keterbatasan excel ini dibuatlah tabel view di mysql dengan query sebagai
berikut:
Create View ini sendiri berfungsi untuk menampilkan tabel yang telah dilakukan
proses join untuk bisa ditampilkan ke dalam Microsoft excel tanpa melalui
Microsoft query.
Setelah terbentuk create view buka lagi excel dan load semua data yang ada pada
tabel view. Setelah load yang dilakukan selesai, mulailah query dalam pembuatan
data mart. Sesuai dengan grain dan pre-kalkulasi pada nine design method
CREATE VIEW Hasil_olap_inner AS SELECT lib_dataunit.*,
time_dim.*, useraccount.*, loan.loanID, loan.loanDate,
loan.returnDate, loan.returnedDate, loan.extendedCount,
loan.loanType FROM loan INNER JOIN lib_dataunit ON
loan.libraryMainNumber = lib_dataunit.libraryMainNumber INNER
JOIN time_dim ON loan.loanDate = time_dim.tanggal INNER JOIN
useraccount ON loan.userAccount = useraccount.userAccount
43
sebelumnya, query bisa dilakukan dengan melakukan drag and drop pada
pivottable fields yang ada pada excel.
Persentase Pengembalian Tiap Tahun.
Gambar 3.35 Pembangunan pivot tabel dan chart
Drag and drop loanID di field Values dan returnedDate di field Rows.
44
Perbandingan persentase pengembalian buku yang sesuai dengan tanggal
pengembalian dengan yang tidak sesuai setiap tahun.
Drag and drop loanID di field Values dan returnedDate di field Rows dan juga
tambahkan returnDate di field rows pada pivottable fields yang berbeda untuk
melihat perbandingannya.
Gambar 3.36 Pembangunan pivot tabel dan chart