Anda di halaman 1dari 5

Perancangan Data Warehouse untuk

Data Transaksi Penjualan Menggunakan Schema


Snowflake Studi Kasus : Online Market Dataset
Ivan Rivaldo Marbun Ramos Somya
Program Teknik Informatika Program Teknik Informatika
Universitas Kristen Satya Wacana Universitas Kristen Satya Wacana
Salatiga, Indonesia Salatiga, Indonesia
ivanr.marbun@gmail.com ramos.somya@uksw.edu

Abstrak – Database sebagai penyimpanan data banyak di banyak hal lain. Database merupakan jantung dari sistem
implementasi pada berbagai bidang saat ini, seperti informasi, oleh sebab itu dibutuhkan perancangan model
penggunaan database untuk menyimpan data transaksi desain database yang memenuhi efesiensi penyimpanan data
penjualan. Banyaknya data yang disimpan pada sebuah dan efisiensi pembacaan maupun update data. Data
database akan mempengaruhi kinerja dari database, seperti
warehouse yang terdiri dari beberapa tabel dimensi dan
saat melakukan pencarian dan load data. Perancangan desain
database yang tidak cermat dapat menyebabkan hilangnya fakta yang terintegrasi, mampu membentuk data menjadi
data, data yang tidak konsisten dan redudansi sebuah informasi trend atau analisis bisnis yang lebih baik.
data.Berdasarkan permasalah diatas diperlukan sebuah Pemanfaatan dataset online untuk dilakukan perancangan
perancangan data warehouse yang terdiri dari beberapa data warehouse, sehingga menjadi informasi penjualan
dimensi tabel yang terintegrasi dan mempunyai sisi rentang produk – produk yang menjadi trend atau negara yang
waktu. Perancangan data warehouse ini menggunakan metode paling banyak melakukan pembelian dapat berguna untuk
nine-steps Kimball dan skema snowflake sehingga dapat kemajuan bisnis.
memodelkan tabel menjadi dimensi – dimensi yang Berdasarkan latar belakang yang telah dijelaskan, maka
terintegrasi. Untuk melakukan proses pengolahan data (ETL)
akan dilakukan penelitian yang bertujuan untuk melakukan
menggunakan Talend Open Studio dan Cloudera sebagai
platform penyimpanan data. Pada perancangan data perancangan data warehouse untuk data transaksi sebuah
warehouse ini juga menggunakan Tableau untuk menampilkan online market. Pada perancangan data warehouse ini akan
data yang sudah diproses dalam bentuk dashboard dan report. menggunakan schema snowflake untuk data modeling.
Perancangan ini akan menghasilkan data warehouse yang Penggunaan schema snowflake pada perancangan ini
memuat data ke dalam dimensi – dimensi tabel sehingga data bertujuan untuk meminimalkan adanya data yang berlebihan
menjadi rapi dan terpusat serta data yang ditampilkan dalam (data redundancy) [2]. Perancangan data warehouse ini juga
bentuk report dan dashboard, akan mempermudah memanfaatkan teknologi Cloudera untuk HDFS (Hadoop
melakukan pencarian dan analisis data. Distributed File System) atau Sistem File untuk Distribusi
Kata kunci— Data warehouse, skema snowflake, nine-steps Hadoop, dan memanfaatkan impala dan hive untuk
Kimball, ETL (Extract, Transform dan Loading).
melakukan query pada HUE salah satu cluster Cloudera
Manager [3]. Pada penelitian ini menggunakan Talend
I. PENDAHULUAN Data Platform untuk melakukan data processing (ETL) [4]
Tindakan memanfaatkan wadah seperti internet untuk dan Tableau untuk menampilkan data yang informatif dari
menemukan dan menganalisa masalah menjadi suatu trend data warehouse yang telah dirancang [5].
dimasa kini. Pemanfaatan ini tidak menutup kemungkinan
pengembangan – pengembangan baru yang dapat dilakukan II. TINJAUAN PUSTAKA
oleh seseorang. Melakukan tindakan analisa terhadap Pengembangan sistem analisis data menggunakan
masalah yang sebelumnya telah diidentifikasi merupakan aplikasi OLAP Data Warehouse, membentuk data
tindakan yang penting dalam merumuskan keputusan dari warehouse dengan menggunakan model dimensional yang
masalah tersebut. Analisa merupakan kegiatan berpikir memberikan kemudahan dan fleksibilitas untuk melakukan
dalam menguraikan keseluruhan data menjadi komponen analisis dari berbagai sudut pandang bisnis [6]. Perancangan
yang setiap komponennya ketika digabungkan memiliki Data Warehouse yang di implementasikan untuk
hubungan dan fungsi yang sepadan dan terpadu [1]. mengetahui trend produk, laporan analisa dalam bentuk
Identifikasi dan analisa masalah ketika dikonversi ke dalam tabel dan pivot grafik didapat dari hasil rancangan data
sistem basis data, merupakan proses yang dapat memberikan warehouse menggunakan skema snowflake, yang
hasil yang beragam. Data yang tersedia melalui internet menormalisasikan tabel – tabel dimensi dalam bentuk
dijadikan sebagai pilar untuk mengembangkan suatu hirarki sebuah cube [7].
masalah. Pembentukan Data Warehouse menggunakan skema
Desain sebuah database sangatlah berpengaruh besar, snowflake untuk perancangan data warehouse perpustakaan
termasuk desain data, tipe data dan relasi antar tabel. di perguruan tinggi, dalam tahapan perancangan skema
Perancangan model desain database yang tidak cermat akan memilih skema snowflake karena dalam snowflake schema,
mempengaruhi data yang disimpan, seperti data yang tidak setiap tabel dimensi dapat memiliki sub-tabel lagi, yang
konsisten, redudansi data, proses update yang lambat dan bertujuan untuk meminimalkan adanya data yang berlebihan

87
SEMINAR NASIONAL Dinamika Informatika 2021 Universitas PGRI Yogyakarta

(redudancy data). Dimensi data tersebut akan menjadi Tabel II. CHOOSING THE GRAIN
subjek informasi dalam pengambilan keputusan, karena Grain Deskripsi Proses bisnis
yang terlibat
pada setiap tabel dimensi data memungkinkan pemecahan Informasi Informasi transaksi penjualan Data transaksi
yang lebih mendetail lagi sehingga dapat membuat transaksi online market terdiri dari tanggal online market
informasi bisa menjadi lebih banyak dan detail [2]. penjualan transaksi, pembeli yang
Pembentukan desain data warehouse untuk pengukuran melakukan transaksi dan banyak
barang yang dibeli baik transaksi
kinerja kereta api dalam mendistribusikan jumlah yang sukses maupun yang tidak.
penumpang kereta api, yang berfokus pada pembagian tabel
- table fakta dan dimensi ke dalam skema untuk  Identifikasi dan menyesuaikan dimensi (Identifying and
mendapatkan desain organisasi data warehouse yang baik conforming the dimensions), langkah ketiga dalam
dan membuat proses integrasi data source ke data perancangan data warehouse yaitu mengidentifikasikan
warehouse menjadi lebih efisien. Untuk mendapatkan dimensi yang berhubungan dengan tabel fakta, dapat
output berupa report yang mampu menganalisa pembagian dilihat di Tabel III.
kinerja kereta api secara optimal untuk kebutuhan jumlah
penumpang [1]. Tabel III. IDENTIFYING AND CONFORMING THE DIMENSIONS
Tabel Dimensi Deskripsi Grain
III. METODE PENELITIAN dim_calendar Mempunyai atribut date_transaction, Informasi
day, month dan year transaksi
A. Analisis penjualan
dim_product Mempunyai atribut product_id, Informasi
Terdapat 2 analisis yang dilakukan dalam tahap ini, yaitu product_name dan id_category transaksi
analisis masalah dan analisis kebutuhan data. Analisis penjualan
masalah dari penelitian ini adalah perancangan data dim_category Mempunyai atribut id_category dan Informasi
warehouse untuk mengetahui trend dengan memanfaatkan category transaksi
penjualan
teknologi untuk melakukan data processing (ETL), dim_customer Mempunyai atribut customer_id dan Informasi
penyimpanan data dan pembentukan report. Analisis country_id transaksi
kebutuhan data dari penelitian ini adalah, dibutuhkan data penjualan
mentah dengan format .csv, .xlx atau dataset lainnya. dim_country Mempunyai id_country dan country Informasi
transaksi
B. Pengumpulan Data penjualan
dim_transaction Mempunyai atribut transaction_id, Informasi
Metode yang digunakan adalah studi literature untuk payment_method dan transaksi
menemukan data yang akurat dan memenuhi krtiteria transaction_status penjualan
analisis kebutuhan data. Data yang digunakan merupakan
data transaksi sebuah online market sebanyak 159.042 data  Menentukan fakta (Choosing the fact), pada tahap ini
dari sumber data set url : pemilihan tabel fakta merupakan tabel yang dapat
(https://archive.ics.uci.edu/ml/datasets/online+retail) mengimplementasikan semua grain yang digunakan.
Dalam hal ini fakta yang ditentukan adalah : fact_sale,
C. Pemodelan Data
dapat dilihat di Tabel IV.
Pemodelan data menggunakan metode nine-steps
Kimball, dengan tahap – tahap sebagai berikut : Tabel IV. CHOOSING THE FACT
 Menentukan proses bisnis (Choosing the process), sesuai Fakta Deskripsi Dimensi
fact_sale fact_sale berisikan informasi dim_calendar,
dengan hasil analisis berdasarkan data yang digunakan,
transaksi penjualan baik dim_product, dim_category,
maka proses bisnis yang ditetapkan terkait penelitian ini transaksi yang sukses maupun dim_customer, dim_country,
adalah proses pengolahan data transaksi online market, yang tidak. dim_transaction
dapat dilihat di Tabel I.
 Menyimpan hasil perhitungan sementara pada tabel fakta
Tabel I. CHOOSING THE PROCESS (Storing pre-calculations in the fact table), pada tahap
Proses Bisnis Deskripsi Fungsi yang
terlibat
ini dilakukan proses kalkulasi terhadap tabel fakta, dan
Pengolahan Data Mengumpulkan data transaksi dari Data transaksi, menyimpan hasil pre-kalkulasi tersebut, sebagai berikut
Transaksi Online sebuah online market, baik data pembeli, : fact_sale , tanggal transaksi, jumlah barang, harga dan
Market transaksi yang sukses maupun data produk, diskon perlu dihitung dan disimpan sementara.
yang tidak.
 Melengkapi tabel – tabel dimensi (Rounding-out the
dimension tables), pada tahap ini dilakukan untuk
 Menentukan granularity (Choosing the grain), pada melengkapi tabel dimensi dengan atribut dan keterangan,
bagian ini memutuskan secara pasti apa yang akan dapat dilihat di Tabel V.
dipresentasikan oleh sebuah tabel fakta. Pada tahap ini
ditentukan tingkat detail data yang bisa didapatkan dari TABEL V. ROUNDING-OUT THE DIMENSION TABLES
model dimensional. Sehingga granularity yang dipilih Type
Dimensi Atribut Keterangan
adalah informasi transaksi penjualan, dapat dilihat di (length)
Tabel II. date_transaction date Tanggal transaksi
day int (10) Hari transaksi
dim_calendar
month int (10) Bulan transaksi
year int (10) Tahun transaksi
customer_id varchar (10) ID pelanggan
dim_customer
country_id varchar (10) ID negara

88
SEMINAR NASIONAL Dinamika Informatika 2021 Universitas PGRI Yogyakarta

dim_country
id_country varchar (10) ID negara menambahkan partisi date dalam proses load-nya. Database
country varchar (30) Nama negara historical dan staging disini merupakan data lake yang akan
transaction_id varchar (10) ID transaksi
Metode digunakan untuk pembentukan data warehouse. Database
dim_transaction payment_method varchar (10) historical merupakan penampungan seluruh data yang
pembayaran
transaction_status varchar (20) Status transaksi ditarik dari data source, sedangkan database staging hanya
product_id int (10) ID produk menampung data sesuai dengan partisi date yang ingin
dim_product product_name varchar (40) Nama produk
category_id varchar (10) ID kategori dimuat. Setelah melalui proses ETL untuk pembentukan
id_category varchar (10) ID kategori data lake dan data warehouse, selanjutnya data akan
dim_category
category varchar (30) Nama kategori ditampilkan dalam bentuk report dan dashboard
menggunakan Tableau. Untuk menguji pembentukan tabel,
 Menentukan durasi dimensi (Choosing the duration of penarikan data dan kesamaan data akan dilakukan pengujian
the dimension), untuk perancangan data warehouse ini menggunakan metode black box.
ditetapkan data yang digunakan adalah data transaksi
dari tanggal 01 – 01 – 2011 sampai 31 – 05 – 2011, IV. PEMBAHASAN DAN HASIL
dengan jumlah data sebanyak 159.042. Penentuan durasi Berikut merupakan hasil dari perancangan model skema
dapat dilakukan dengan penambahan partisi pada data data warehouse berdasarkan metode nine-steps Kimball.
mart sebelum ditarik untuk pembentukan data Skema yang dipakai dalam perancangan data warehouse ini
warehouse. adalah skema snowflake, penggunaan skema snowflake
 Menelusuri dimensi yang termasuk slowly changing dikarenakan skema ini terorganisir sehingga membuat data
dimension (Tracking slowly changing dimension), pada tidak akan mengalami redundant dan dalam segi
tahap ini memperhitungkan dimensi yang perlahan dapat kompleksitas query skema snowflake lebih unggul dari
telusuri perubahannya. Pada perancangan data skema lain seperti skema star.
warehouse ini, data harga dan diskon selalu dapat
berubah dengan perlahan mengikuti standar harga
pasaran. Selain itu data transaksi dan data pelanggan
selalu berubah secara dinamis.
 Memutuskan prioritas query dan bentuknya (Deciding
the query priorities and the query modes), tahap ini
menggunakan perancangan fisik untuk menghasilkan
data warehouse yang siap diimplementasikan. Pada Gambar 2. Skema Snowflake
tahap ini juga dibuat ketetapan query – query atau Pada Gambar 2 dapat dilihat merupakan skema data
laporan (reporting) untuk dapat menampilkan data yang warehouse yang terdiri dari 6 tabel dimensi dan 1 tabel fakta,
diinginkan [8]. dimana setiap tabel memiliki primary key (PK) untuk
D. Proses ETL (Extract, Transform dan Loading) mengindentifikasi setiap baris data dengan menggunakan
suatu data yang unik dan beberapa tabel memiliki foreign key
Proses ETL menggunakan Talend Open Studio sebagi (FK) sebagai relation untuk menunjukkan ke induk tabel
data platform. Proses Extract merupakan tahap penarikan biasanya di gunakan pada saat melakukan query join serta
data dan cleaning data dari source data (.txt, .xls atau ada beberapa atribut sebagai mandatory yang dimana nilai
database lain). Proses Transform dilakukan untuk mengubah data pada atribut tersebut tidak boleh kosong atau null seperti
format tabel sesuai dengan model yang telah dirancang yang ditunjukkan pada Tabel VI.
mengikuti metode nine-steps Kimball. Proses Loading
dilakukan setelah proses Extract dan Transform selesai data Tabel VI. DETAIL TABEL
akan tujukan ke dalam database yang baru atau sistem yang No Nama Tabel Deskripsi Atribut
baru. Proses ETL pada Talend dapat dilihat pada Gambar 1. 1 fact_sale Berisi informasi a. payment_receipt
lengkap seluruh (PK)
transaksi, seperti b. transaction_date
tanggal, (FK)
customer, produk c. id_transaction (FK)
dan jumlah d. id_customer (FK)
produk. e. id_product (FK)
f. qty
g. price
h. discount
2 dim_transaction Berisi informasi a. transaction_id (PK)
ID transaksi, b. payment_method
metode c. transaction_status
pembayaran dan
status transaksi.
3 dim_calendar Berisi seluruh a. date_transaction
tanggal transaksi. (PK)
b. day
c. month
Gambar 1. Proses ETL Talend d. year
4 dim_customer Berisi informasi a. customer_id (PK)
Gambar 1 merupakan proses penarikan data dari data seluruh b. country_id (FK)
source ke dalam database staging dan historical dengan pelanggan.
5 dim_country Berisi Negara a. id_country (PK)

89
SEMINAR NASIONAL Dinamika Informatika 2021 Universitas PGRI Yogyakarta

dari pelanggan. b. country


6 dim_produt Berisi seluruh a. product_id (PK)
produk yang b. product_name
dijual. c. id_category (FK)
7 dim_category Berisi seluruh a. id_category (PK)
kategori yang b. category
dijual.

A. Proses ETL (Extract, Transform dan Loading)


Pada prose ETL menggunakan Talend sebagai data
Gambar 4. Cloudera’s cluster for monitoring job development
platform, cloudera sebagai server penyimpanan data dan
tableau untuk menampilkan data dalam bentuk report.
 Extract
Proses penarikan data atau extraction data source dari
file .csv untuk dibentuk tabel pada database historical
dan staging.

Gambar 5. Cloudera’s cluster for query monitoring.

B. Report
Data yang telah dibentuk ke dalam tabel – tabel dimensi
dan fakta akan ditampilkan dalam bentuk report
menggunakan Tableau, penggunaan Tableau untuk
pembentukan report mempermudah untuk menampilkan
data dan pencarian data transaksi tanpa melakukan query.

Gambar 2. Job create table untuk data historical dan staging

 Trasnform
Proses transformation tabel berdasarkan model
perancangan data warehouse, dengan melakukan join
antar tabel menggunakan komponen Talend
tELTHiveMap

Gambar 6. Tableau’s Report.

Gambar 3. Proses Transformation tabel

 Loading
Gambar 7. Query compare data Tableau report
Tabel yang telah dibentuk akan disimpan ke dalam
cloudera server, cloudera memiliki beberapa cluster C. Dashboard
yang berguna untuk developer dalam pembentukan Pembentukan Dashboard menggunakan Tableau untuk
table. Salah satunya adalah cluster untuk melakukan menampilkan berbagai informasi seperti kategori produk
monitoring pembentukan tabel dan query pada server yang paling banyak dibeli, negara paling banyak melakukan
cloudera. transaksi dan jumlah transaksi setiap bulannya.

90
SEMINAR NASIONAL Dinamika Informatika 2021 Universitas PGRI Yogyakarta

pemeriksaan
pada job ETL.
5. Data a. Jika berhasil Server
ditampilkan maka data terkoneksi dan
dalam bentuk akan muncul dapat
report dan dan dapat membentuk
dashboard dibentuk report dari
pada Tableau. menjadi report database data
dan warehouse.
dashboard. Berhasil
b. Jika gagal
maka perlu
melakukan
pemeriksaan
koneksi pada
cloudera
Gambar 8. Tableau’s Dashboard. server.
6. Validasi data a. Jika berhasil Data dari
D. Pengujian Sistem pada Tableau maka data Tableau dan
Pengujian sistem dilakukan untuk memastikan sistem dan database yang database
data ditampilkan datawarehouse
berjalan dengan baik atau belum. Pengujian dilakukan pada warehouse Tableau dan sama.
laptop Razer Stealth Blade 2016 dengan spesifikasi sebagai query database
berikut : (1) Sistem Operasi Windows 10 Pro 64bit; (2) akan sama.
Berhasil
Processor Intel(R) Core(TM) i7-7500U CPU @ 2.70Ghz - b. Jika gagal
maka perlu
2.90GHz; (3) RAM DDR3 16GB. Pengujian dilakukan dilakuka
dengan cara alpha testing dengan menggunakan metode pemeriksaan
black box, poin – poin pengujian dapat dilihat pada Tabel pada koneksi
VII. Tableau atau
TABEL VII. PENGUJIAN MENGGUNAKAN METODE BLACK BOX. query.
No. Daftar Proses Hasil yang Hasil Uji Status
Pengujian diharapkan Pengujian V. PENUTUP
1. Test Koneksi a. Jika berhasil Koneksi Talend Penelitian ini dilakukan untuk merancang sebuah Data
pada server maka Talend dengan server
cloudera dapat cloudera
warehouse data transaksi online market dengan
melakukan berhasil. menggunakan Cloudera sebagai server untuk penyimpanan
data data, Talend sebagai tool data platform untuk proses ETL,
processing di Tableau sebagai tool untuk menampilkan data dan
server melakukan analisis dan skema snowflake sebagai model data
cloudera. sangat membantu dalam proses perancangan data warehouse
Berhasil
b. Jika gagal
maka akan pada penelitian dan hasil dari perancangan data warehouse
muncul pada dapat diaplikasikan pada Tableau yang membuat data – data
Talend dan yang diolah menjadi informasi yang berguna. Adapun saran
perlu yang diperlukan adalah dibutuhkannya perangkat dengan
pemeriksaan spesifikasi lebih untuk mempermudah beban pekerjaan saat
pada set-up
koneksi server.
proses ETL dan pembentukan tabel.
2. Job Penarikan a. Jika berhasil Tabel berhasil
data source maka data dibentuk dan DAFTAR PUSTAKA
dan dibentuk pada berisi data.
pembentukan database Hive. [1] Musadek, Ahmad & Tjahyanto, A. (2008). Desain Data Warehouse
data lake b. Jika gagal Berhasil Pengukur Kinerja Setiap KA Penumpang dengan Distibusi Jumlah
maka akan Penumpang – Studi Kasus Daop I-IX.
muncul error [2] Dahlan, A. (2013). Perancangan Data Warehouse Perpustakaan
pada job Perguruan Tinggi XYZ Menggunakan Metode Snowflake Schema.
talend. [3] O’Driscoll, A., Daugelaite, J., & D.Sleator, R. (2013). Journal of
3. Job a. Jika berhasil Tabel berhasil Biomedical Informatics.‘Big Data’, Hadoop and Cloud Computing in
pembentukan maka tabel dibentuk dan Genomics, 46(5), Hal. 774–781.
tabel dimensi akan dibentuk berisi data. [4] Kimball, R., & Margy, R. (2010). The Kimball Group Reader:
dan fakta dan berisi data. Relentlessly Practical Tools For Data Warehousing and Business
b. Jika gagal Intelligence. First Edition. Indianapolis: John Wiley & Sons.
Berhasil [5] Sellis, Timos, & Miller, Renne J. (2011) ‘ SIGMOD 2011 : Proceeding
maka akan
muncul error of the 2011 ACM SIGMOD International Conference on Management
pada job talend of data’, An analytic data engine for visualization in tableau, Hal.1185
atau data – 1194.
kosong. [6] Supriyatna, A. (2016). Sistem Analis Data Mahasiswa Menggunakan
4. Query count a. Jika berhasil Data dari Aplikasi Online Analytical Processing (Olap) Data Warehouse.
row pada data maka jumlah database staging [7] Busiarli, Novia & Hayati, M. (2017). Perancangan dan Implementasi
lake dan data data dari data dan database Data Warehouse Menggunakan Snowflake Schema. Untuk
warehouse. warehouse dan datawarehouse Mengetahuin Trend Produksi dan Pemasaran Produk.
Berhasil [8] Suni, E. K., & Ridwan, W. (2018). ‘Jurnal Teknik Informatika’,
data lake sama. sama.
b. Jika gagal Analisis dan Perancangan Data Warehouse untuk Mendukung
maka perlu Keputusan Redaksi Televisi Menggunakan Metode Nine-Step Kimball
melakukan (Studi Kasus pada Redaksi Kompas TV Jakarta), 11(2), Hal. 197.

91