-
7
Pendahuluan
Perkembangan teknologi yang semakin maju telah memasuki segala
aspek
kehidupan seperti pendidikan, bisnis, dan lain sebagainya. Dalam
aspek bisnis,
perkembangan teknologi mempengaruhi perusahaan untuk terus
berkembang
dengan meningkatkan kinerjanya, yaitu melakukan analisis data
yang ada di dalam
perusahaan, baik itu data penjualan, data konsumen, data barang
ataupun data
lainnya. Analisis dapat dilakukan dengan mengumpulkan data
historis dan melihat
grafik kinerja perusahaan [1].
Data merupakan aset penting bagi suatu perusahaan, karena data
digunakan
untuk membantu pembuat keputusan melakukan strategi atau
memutuskan sebuah
kebijakan. Namun, sebelum mengambil keputusan, data diubah
terlebih dahulu
menjadi informasi dengan cara diolah sesuai yang dibutuhkan oleh
perusahaan [2].
Pengolahan data sebagai proses analisis untuk mendapatkan
informasi dan
pengambilan keputusan membutuhkan sumber data yang banyak, yaitu
dari data
internal dan data eksternal yang dianggap mampu mendukung
seluruh proses
analisis dan pengambilan keputusan. Semakin banyaknya data yang
digunakan,
maka akan semakin baik pula hasil analisis yang didapatkan.
Namun, untuk
mendapatkan hasil analisis yang baik diperlukan integritas dari
berbagai sumber
data yang digunakan dan pencarian data yang efisien. Sehingga
dibutuhkan sebuah
teknologi yang mampu menampung banyaknya data yang dibutuhkan
pihak
manajemen perusahaan dalam memahami analisis yang akan
dilakukan. Oleh
karena itu, perusahaan membutuhkan arsitektur atau teknologi
yang membantu
perusahaan untuk melakukan proses pengolahan data yang efisien
dan efektif, yaitu
data warehouse.
Data warehouse merupakan database relasional yang memiliki
banyak
sumber data yang berbeda dan mampu mengorganisir sumber data
yang berbeda
dalam jumlah yang banyak. Data warehouse memungkinkan integrasi
berbagai
macam jenis data dari berbagai macam aplikasi atau sistem [3].
Sehingga, ketika
perusahaan memiliki banyak data dari berbagai sumber
(multiplatform) dan
tertampung dalam satu data warehouse, proses analisa yang
dilakukan perusahaan
akan semakin efisien. Proses analisis di dalam data warehouse
dapat dilakukan
dengan salah satu caranya menggunakan replikasi data yang dapat
dikembangkan
menggunakan Oracle Streams [4]. Oracle streams merupakan
teknologi replikasi
data yang mampu membantu perusahaan melakukan pembuatan data
warehouse
yang nantinya dapat membantu perusahaan untuk melakukan proses
analisis.
Namun yang menjadi permasalahannya adalah bagaimana Oracle
Streams
dapat membantu perusahaan membuat sebuah data warehouse untuk
melakukan
proses analisis dan bagaimana membuat satu kesatuan sumber data
dari platform
DBMS (Database Management System) yang berbeda serta cara
replikasi data
untuk mendukung pembuatan data warehouse menggunakan Oracle
Streams.
Berdasarkan permasalahan yang terjadi, tujuan dilakukannya
penelitian ini
adalah membuat simulasi untuk membangun data warehouse pada
database yang
berbeda menggunakan Oracle Streams, dalam hal ini fokus
penelitian yang
dilakukan adalah penerapan Oracle Streams pada data warehousing
melalui fitur
data warehouse loading. Oleh karena itu, penelitian ini
diharapkan mampu
-
8
membangun simulasi untuk membangun data warehouse dari sumber
data yang
berbeda menggunakan Oracle Streams. Kemudian, penelitian ini
akan
menggunakan model staging area dalam melakukan penyatuan sumber
database
operasional dan menggunakan model one-way replication dalam
pembuatan
replikasi data, tetapi tidak membahas proses OLAP (online
analytical processing)
pada data warehouse.
1. Tinjauan Pustaka
Beberapa penelitian mengenai perancangan data warehouse sudah
pernah
dilakukan. Penelitian dengan judul “Perancangan dan Pembangunan
Data
Warehouse pada PLN Salatiga Menggunakan Skema Snowflake”.
Penelitian ini
membahas bagaimana membuat aplikasi data warehouse menggunakan
skema
snowflake. Hasil dari penelitian ini adalah terciptanya aplikasi
data warehouse
menggunakan skema snowflake yang bertujuan untuk melihat
efektifitas dan
efisiensi dari aplikasi data warehouse yang dibangun [5].
Adapun penelitian yang membahas tentang penerapan data warehouse
yang
berjudul “Perbandingan Traditional Business Intelligence dan
Service-oriented
Business Intelligence (SoBI) untuk Integrasi Data Akademik dan
Keuangan (Studi
Kasus: Universitas Kristen Satya Wacana)”. Penelitian ini
membahas perbandingan
dari implementasi konsep traditional BI dengan konsep BI. Dimana
data keuangan
dan akademik dari SIASAT dan SIKASA disatukan dalam sebuah data
warehouse
dari sumber database yang berbeda. Pengambilan data dari sumber
database
dilakukan melalui aplikasi web service yang berguna untuk proses
ETL dalam data
warehouse untuk konsep SoBI [6].
Penelitian lain yang membahas mengenai replikasi data, yaitu
“Perancangan
dan Implementasi Sistem Replikasi Data pada Multiplatform
Database
menggunakan Teknologi Goldengate”. Penelitian ini membahas
bagaimana
melakukan perancangan dan implementasi replikasi data ke dalam
database
management system yang berbeda menggunakan teknologi Oracle
Goldengate.
Database sumber yang digunakan adalah Microsoft SQL Server 2005
yang akan di
replikasi menggunakan Oracle Goldengate ke database tujuan yaitu
Oracle 10g.
Sistem replikasi yang digunakan pada penelitian ini adalah
replikasi satu arah [7].
Penelitian lain yang membahas mengenai Oracle Streams adalah
“Oracle
Streams: A High Performance Implementation for Near Real Time
Asynchronous
Replication”. Penelitian ini membahas tentang cara mereplikasi
data pada database
sumber ke database tujuan menggunakan metode replikasi
asynchronous. Metode
asynchronous merupakan metode replikasi yang mengisi data pada
kedua database,
di mana akan terdapat delay atau jeda pada saat proses
penyalinan data dari
database sumber ke database tujuan. Hasil dari penelitian ini
adalah replikasi data
dapat diterpakan pada database dengan tersalinnya 20,000 LCR
(Logical Change
Record) setiap detiknya. Optimasi dari replikasi ini dibentuk
dari pembuatan
algoritma pada setiap optimasi yang dibuat dan setiap optimasi
terdiri dari proses
enkapsulasi LCR yang teridri dari proses capturing, propagating,
serta applying
logical change records dari database asal ke database tujuan
[8].
-
9
Penelitian yang dilakukan dengan judul Data Warehousing dengan
Oracle
Streams pada database Multi-platform akan membahas mengenai
bagaimana
membangun sebuah data warehouse yang memiliki sumber database
yang berbeda
platform menggunakan replikasi data pada Oracle Streams
khususnya
menggunakan fitur data warehouse loading. Database
multi-platform akan
diintegrasikan dalam satu kesatuan menggunakan model staging
area, setelah itu
fitur data warehouse loading akan digunakan untuk mereplikasi
data dari sumber
data (staging area) yang kemudian direplikasikan ke data
warehouse. Hasil dari
penelitian ini adalah tersedianya data warehouse dari database
multiplatform yang
di replikasi menggunakan data warehouse loading dari Oracle
Streams. Data warehouse adalah koleksi data yang mempunyai sifat
berorientasi
subjek, terintegrasi, time-variant, dan bersifat tetap dari
koleksi data dalam
mendukung proses pengambilan keputusan [9]. Data warehouse juga
dapat
diartikan sebagai database yang bersifat analisis dan read only
yang digunakan
sebagai fondasi dari sistem penunjang keputusan [10].
Berdasarkan penjelasan para
ahli di atas dan digabungkan dengan pengertian dari dokumen
Oracle Data
Warehouse, data warehouse adalah sebuah database relasional yang
dirancang
untuk query dan analisis bukan untuk proses transaksi yang
memiliki sumber
database berbeda-beda [11]. Selain database relasional, data
warehouse juga
mencangkupi extraction, transportation, dan loading (ETL),
analisis statistik,
pelaporan, data mining, dan aplikasi lainnnya yang mengelola
proses pengumpulan
data [12]. Kaitannya dengan analisis, proses ETL diperlukan
dalam pembuatan data
warehouse dengan langkah-langkah sebagai berikut: (i) Data
Extraction adalah
proses mengekstrak sumber data dari jenis data yang berbeda
maupun dari
operating system yang berbeda (ii) Data Transform adalah proses
untuk memilah
kembali data yang telah diesktrak kedalam bentuk format dan
struktur tabel sesuai
dengan apa yang dibutuhkan (iii) Data Loading adalah proses
pengisian data ke
media penyimpanan data warehouse [3].Selain itu, pada dasarnya
data warehouse
berisi data historis dari data transaksi, tetapi bisa berisi
data dari sumber yang lain.
Data warehouse memiliki empat karakteristik, yaitu subject
oriented
(berorientasi subjek), integrated (terintegrasi), time variant
(rentang waktu), dan
non-volatile [3]. Berorientasi subjek adalah data warehouse di
desain untuk
menganalisis berdasarkan subjek bukan berdasarkan proses atau
aplikasi.
Tertintegrasi menunjukkan data warehouse memiliki sumber data
yang banyak dan
berbeda yang saling terintegrasi dalam bentuk format yang
konsisten. Rentang
waktu menunjukkan bahwa data warehouse dapat dikatakan akurat
dan valid pada
rentang waktu tertentu dengan membuat interval waktu yang
digunakan dalam
mengukur keakuratan data warehouse. Non Volatile berarti data
warehouse tidak
diperbaharui secara real-time tetapi data diperbaharui secara
berkala yang
kemudian secara bertahap data ditambahkan.
Berdasarkan karakteristik tersebut data warehouse memberi
manfaat antara
lain (i) proses analisis mengguanakan query bisa lebih mudah
karena data yang
telah teroganisir dengan baik (ii) perbedaan data dari sumber
data yang berbeda
dapat disatukan dengan baik sehingga penggunaan waktu dapat
lebih efisien (iii)
memungkinkan suatu perusahaan melakukan perbaikan pada record
data history
-
10
(iv) mengurangi penggunaan loading data yang berasal dari data
operasional secara
langsung [13].
Pada hakikatnya data warehouse dibuat untuk yang menyimpan
data
historical dari beberapa sumber data dalam sebuah perusahaan.
Data historical
tidaklah menyimpan seribu atau seratus ribu data saja, namun
penyimpanan data
historical di data warehouse mampu menampung record hingga
berjuta-juta record
data. Banyaknya jumlah data di data warehouse dipengaruhi oleh
terintegrasinya
sumber-sumber data yang dipakai. Karena itulah, penggunaan data
warehouse
sangat mendukung perusahaan didalam melakukan analisa maupun
mendukung
pengambilan keputusan strategi bisnis. Penggunaan data warehouse
juga akan
membantu performa query didalam perusahaan karena selama
penggunaan data
warehouse, data warehouse tidak akan mengganggu kegiatan
operasional di data
operasional perusahaan.
Perbedaan data warehouse dengan data operasional adalah (i)
data
operasional dirancang untuk berorientasi pada fungsi dan
aplikasi tertentu
sedangkan data warehouse dirancang untuk berorientasi pada
subjek (ii) fokus pada
data operasional adalah pada proses dan desain database
sedangkan fokus dari data
warehouse adalah pada pemodelan data dan desain data (iii) isi
dari data
operasional adalah sebuah rincian dari data sedangkan isi data
warehouse berupa
data historis yang berguna untuk pembuatan analisis (iv) bentuk
data operasional
selalu mengikuti aturan terbaru dalam relasi antar tabelnya
seperti normalisasi pada
tabel sedangkan bentuk data warehouse adalah tabel-tabel yang
tersaji berdasarkan
aturan bisnis [3].
Untuk menampilkan data didalam data warehouse, dibutuhkan
rancangan
logikal untuk menampung rancangan tersebut yang biasa disebut
model
dimensional. Setiap model dimensi terdiri dari sebuah tabel
dengan kumpulan dari
primary key yang disebut sebagai tabel fakta dan satu set tabel
yang lebih kecil yang
menampung referensi data yaitu tabel dimensi. Model dimensional
dalam data
warehouse terdiri dari beberapa skema. Skema bintang (star
schema) adalah
struktur logikal yang memiliki tabel fakta dan dikelilingi oleh
tabel dimensi sebagai
referensi data. Skema snowflake adalah varian dari skema bintang
dimana tabel
dimensi yang terdapat di skema ini tidak terdapat data yang di
denormalisasi. Yaitu
dimana tabel dimensi tidak bergabung langsung dengan tabel fakta
namun
bergabung langsung dengan tabel dimensi lainnya yang dapat
dilihat pada Gambar
1 [13].
-
11
Gambar 1 Bentuk skema snowflake [3]
Oleh karena itu, membuat sebuah desain data warehouse harus
mengacu pada
tujuan dibentuknya data warehouse yaitu membuat proses analisis
dari banyak
sumber data berupa data historical. Mendesain data warehouse
diperlukan
pengkategorian analisis yang akan dibuat dimana kategori dari
analisis tersebut
harus menjawab kebutuhan bisnis perusahaaan dan mengacu pada
karakteristik
data warehouse. Setelah kategori-kategori tersebut ditentukan,
pemilihan database
yang akan digunakan dalam pembuatan desain data warehouse dapat
lebih mudah
karena mengacu pada kategori tersebut. Karena pemilihan database
yang tepat
dalam data warehouse akan menjawab kebutuhan bisnis perusahaan
tersebut secara
akurat [3].
Oracle streams merupakan sebuah teknologi replikasi data yang
sudah
dikembangkan sejak di Oracle 9i Release 2 [14]. Oracle streams
memungkinkan
pengguna untuk berbagi informasi mengenai manajemen data,
transaksi dalam
database Oracle maupun database non Oracle. Oracle streams dapat
dikatakan
fleksibel karena didalam Oracle Streams memungkinkan pengguna
satu dengan
yang lainnya dapat melakukan intervensi. Intervensi disini
berarti pengguna dapat
mengetahui informasi apa yang sedang terjadi di Oracle Streams,
aliran data yang
terjadi, dan mengetahui apa yang terjadi pada event di Oracle
Streams dan
mengetahui bagaimana Oracle Streams bisa berhenti. Oracle
streams dapat
digunakan pada waktu yang sama dalam arti ketika ingin melakukan
perubahan
konfigurasi atau perubahan lainnya, perubahan tersebut dapat
langsung
diimplementasikan tanpa harus menghapus konfigurasi yang
lama.
Oracle Streams adalah arus informasi baik dalam database tunggal
atau dari
satu database ke database yang lain. Oracle Streams dapat diatur
dalam bentuk
database homogen (semua database dengan platform Oracle) atau
database
heterogen (platform non - Oracle Database). Streaming Setup
menggunakan
serangkaian proses dan objek database untuk berbagi data dan
pesan. Perubahan
-
12
database (DDL dan DML ) ditangkap atau diambil dari sumber
datanya, yang
kemudian dipentaskan (staging) dan disebarkan ke satu atau lebih
database dengan
tujuan untuk diterapkan di sana (streams setup). Didalam Oracle
Streams terdapat
3 area pokok didalam pemrosesannya yaitu (1) Capture, (2)
Staging, dan (3)
Consumption [15].
Tahap pertama adalah Capture, merupakan proses awal pada
Oracle
Streams, yaitu menangkap perubahan semua data pada database baik
secara DML
(Data Manipultaion Language) atau DDL (Data Definition
Language). Perubahan
pada database akan secara otomatis tersimpan di redo logs.
Capture processes
menangkap perubahan dari redo logs dan format dari setiap
perubahan lalu
ditangkap dalam bentuk pesan atau message yang disebut sebagai
logical change
record (LCR). Pesan yang ditangkap melalui proses capture tadi
disebut sebagai
capture LCRs. Redo logs merekam semua perubahan yang dibuat pada
datafile
milik database kita. Menggunakan redo logs dan salinan lama
datafile yang
lengkap, database Oracle dapat menerapkan perubahan-perubahan
yang direkam di
redo logs untuk membuat ulang (re-create) database pada setiap
titik di antara
waktu backup dan saat terakhir dibuatnya redo logs. Setiap saat
database berubah,
perubahan akan dicatat di online redo log, sebelum nantinya akan
dicatat di datafile.
Tahap kedua adalah staging. Setelah perubahan data direkam pada
proses
capture, selanjutnya adalah perubahan akan dikirim ke database
target yang
disimpan dalam proses staging. Semua pesan yang diambil akan
disimpan di
staging area. Staging area adalah in-memory buffer dan bagian
dari system global
area (SGA) dari instance database. Biasanya staging area
merupakan tempat
sementara untuk menampung tabel di server data warehouse. Pesan
yang sudah
dibuat oleh aplikasi pengguna juga disimpan di staging area. LCR
yang dibentuk
dari proses synchronous capture tidak disimpan di antrian
memori, namun disimpan
di dalam disk queue table.
Tahap ketiga adalah tahap consumption. Ketika pesan telah
terambil dari
staging area, itu sudah dianggap sebagai consumed atau telah
terpakai. Jika pesan
atau message digunakan dari proses yang telah diterapkan dan
diterapkan pada
objek database, maka database tersebut akan disebut sebagai
destination database
atau database tujuan. Proses terapan atau apply process berjalan
secara local pada
database tujuan. Di beberapa konfigurasi, sumber database dan
database tujuan
bisa sama. Rules akan mengenali pesan mana yang dequeued (pesan
diambil dari
antrian) dan pesan yang diambil dari proses yang diterapkan.
Apply process dapat
menerapkan pesan secara langsung ke objek database atau melewati
pesan untuk
menggunakan subprogram PL/SQL untuk pemrosesannya. Secara umum,
apply
process menerapkan capture dari LCR, tetapi kita bisa
menghentikan atau menahan
dan menerapkan LCR menggunakan prosedur PL/SQL yang telah
dikostumisasi.
-
13
Gambar 2 Alur Replikasi Oracle Streams One Way Replication
[15]
Oracle streams memiliki beberapa metode dalam melakukan
replikasi data,
salah satunya adalah metode replikasi one-way replication yang
dapat dilihat pada
Gambar 2 [15]. Tahapan yang terjadi dalam replikasi ini sebagai
berikut: pertama
semua perubahan yang terjadi pada sumber database akan masuk ke
dalam redo
logs. Kemudian, redo logs akan direkam oleh capture process yang
terdiri dari
DML (data manipulation language) dan DDL (data definition
language) menjadi
LCR (logical change record). Selanjutnya, LCR dikirim oleh queue
database asal
ke queue database tujuan melalui proses yang disebut propagation
[16].
Di dalam database tujuan, queue akan mengalami proses dequeue,
yaitu proses
penerapan LCR dari database asal ke database tujuan yang disebut
sebagai apply
process. Pada tahap ini disebut juga sebagai data warehouse
loading. Setelah itu,
LCR yang membawa perubahan berupa database object masuk ke dalam
redo logs
database tujuan dan diterapkan di database tujuan.
2. Metode Penelitian
Metode penelitian berisi tahapan-tahapan untuk membuat
perancangan model
penelitian yaitu dari tahap perumusan masalah hingga ke tahap
terakhir yaitu tahap
analisis hasil pengujian. Tahapan penelitian ini terbagi kedalam
empat tahapan,
yaitu: (1) Identifikasi masalah dan pengumpulan data, (2)
Perancangan model, (3)
Implementasi model, dan (4) Hasil dan Pembahasan.
-
14
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3 dapat dijelaskan pada sebagai
berikut.
Tahap pertama adalah mengidentifikasi masalah dan melakukan
pengumpulan data.
Masalah yang diangkat dalam penelitian ini adalah bagaimana
membuat sebuah
data warehouse pada database multiplatform menggunakan Oracle
Streams.
Kemudian, langkah selanjutnya adalah pengumpulan data.
Penelitian ini
menggunakan populasi Universitas Kristen Satya Wacana (UKSW) dan
sampel
mahasiswa UKSW angkatan 2009 – 2011. Sumber data yang digunakan
sebagai
database multiplatform adalah data SIASAT dan data peminjaman
buku
perpustakaan tahun 2014. Data SIASAT terdiri dari NIM, nama,
nilai, alamat, dan
daerah asal mahasiswa UKSW. Sedangkan data peminjaman buku di
Perpustakaan
Umum (PU) UKSW berisi simulasi peminjaman buku yang dikaitkan
dengan data
buku dari indeks ke-0 hingga ke-300.
Tahap kedua adalah merancang model sesuai dengan identifikasi
masalah dan
kebutuhan data. Metode perancangan model masuk ke dalam metode
analisis
simulasi (simulation analysis), yaitu proses perancangan model
matematis atau
logis dari sistem yang nyata dan kemudian melakukan eksperimen
berbasis
komputer dengan model untuk menggambarkan, menjelaskan, dan
memprediksi
kebiasaan sistem secara nyata, atau dapat dikatakan sebagai
salah satu metode yang
digunakan untuk memecahkan suatu masalah dengan cara
menganalisis model yang
akan dibuat [17].
Identifikasi Masalah dan Pengumpulan Data
Perancangan Model
Implementasi Model
Hasil dan Pembahasan
-
15
Gambar 4 Simulation Analysis [17]
Metode simulation analysis terdiri dari enam langkah (Gambar 4),
yaitu tahap
formulasi masalah, tahap pengumpulan dan analisis data, tahap
pengembangan
model, tahap verifikasi dan validasi model, tahap percobaaan dan
optimasi model,
tahap eksperimen, serta tahap implementasi hasil simulasi. Tahap
pengembangan
model pada metode analisis simulasi akan diimplementasikan untuk
perancangan
model data warehouse. Model arsitektur data warehouse yang
dibangun
menggunakan arsitektur staging area, yaitu sumber data pada
database operasional
dimigrasikan ke tempat penampungan (staging area) terlebih
dahulu yang dapat
dilihat di Gambar 5 [18].
-
16
Gambar 5 Arsitektur Data Warehouse menggunakan Staging Area
[18]
Setelah membuat staging area, langkah berikutnya adalah
melakukan
peracangan skema data warehouse. Namun, sebelum perancangan
skemanya,
diperlukan indikator untuk proses analisis. Indikator analisis
yang dibuat antara lain
mahasiswa dari fakultas FTI, FEB, dan FKIP, lalu mahasiswa yang
berasal di
daerah Jawa, Kalimantan, Papua, dan Ambon. Kemudian, indikator
yang terakhir
adalah mahasiswa dengan rata-rata IPK 2,5-3,0; 3,0-3,5; 3,5-4,0.
Untuk mendesain
skema data warehouse diperlukan basis data fisik atau tabel dari
data SIASAT dan
data PU UKSW. Tabel dipilih sesuai dengan indikator yang telah
dibuat agar dapat
menjawab isi dari data warehouse. Tabel yang digunakan untuk
kedua database
adalah tabel program studi, tabel fakultas, tabel propinsi,
tabel mahasiswa, dan tabel
charge atau tabel peminjaman buku. Setelah tabel ditentukan,
skema data
warehouse dapat ditentukan sesuai dengan bentuk dari tabel-tabel
tersebut.
Setelah selesai menentukan indikator analisis, perancangan model
data
warehouse dirancang menggunakan topologi Snowflake Schema
seperti yang
terlihat dari Gambar 6. Rancangan data warehouse terdiri dari
satu tabel fakta dan
enam tabel dimensi, yaitu (1) TABEL_FAKTA_PEMINJAMAN (2)
TABEL_MAHASISWA (3) TABEL_PROPINSI (4) TABEL_PROGDI (5)
TABEL_FAKULTAS (6) TABEL_NILAI (7) TABEL_CHARGE.
-
17
Gambar 6 Topologi Data Warehouse Snowflake Schema
Selanjutnya, setelah menentukan arsitektur staging area dan
skema snowflake,
langkah berikutnya adalah merancang alur Oracle Streams untuk
proses data
warehouse loading. Perancangan Oracle Streams menggunakan metode
one-way
replication atau metode satu arah, yaitu data yang ada pada
database sumber akan
direplikasi ke database tujuan [15].
Pada tahap ketiga, perancangan Oracle Streams dilakukan sesuai
dengan
desain model yang terlihat dari gambar 2. Semua proses capture,
staging, dan
consumption dilakukan dengan cara pengkodean menggunakan
bahasa
pemrograman PL/SQL di database Oracle 11g.
Tahap keempat adalah tahap hasil dan pembahasan berupa pengujian
terhadap
penerapan Oracle Streams di data warehouse. Pengujian dilakukan
dengan cara
melakukan penambahan data di setiap tabel pada kedua sumber data
untuk melihat
apakah penambahan data tersebut akan terimplementasi di data
warehouse
database target.
3. Hasil dan Pembahasan
Pembuatan data warehousing dengan Oracle Streams memiliki
beberapa proses
yang dilakukan, antara lain migrasi database ke Oracle database;
konfigurasi
Oracle Streams pada database sumber; dan yang terakhir
konfigurasi Oracle
Streams pada database target.
Migrasi database non Oracle menjadi database Oracle dilakukan
dengan cara
memasukkan data yang sudah di extract ke dalam database MySQL
dan SQL
Server. Proses pengiriman data dari bentuk extract ke bentuk
database disebut juga
sebagai proses Transform pada data warehouse. Pada tahap ini
proses migrasi akan
dilakukan menggunakan SQL Developer pada kedua database secara
online,
karena MySQL dan SQL Server harus aktif.
tb_chargeCHARGE_ID
USER_ID
ITEM_ID
tb_fakultasKODE_FAKULTAS
NAMA_FAKULTAS
tb_mahasiswaNIM
NAMA
ALAMAT
tb_nilai *KODE_NILAI
IPK
NIM
tb_progdiKODE_PROGDI
NAMA_PROGDI
KODE_FAKULTAS
tb_propinsi
KODE_PROPINSI
NAMA_PROPINSI
tb_fakta_peminjaman *NIM
KODE_PROPINSI
KODE_PROGDI
KODE_NILAI
CHARGE_ID
DISCHARGE_DATE
-
18
Setelah migrasi database selesai, untuk menentukan keberhasilan
migrasi
database, diperlukan koneksi baru di SQL Developer sesuai dengan
nama database
yang dimigrasikan. Kemudian, melihat user atau nama skema
database yang masuk
kedalam sistem database Oracle, dilakukan dengan cara
menjalankan script “select
username from dba_users order by username” pada sistem Oracle di
komputer B.
Dari script tersebut, akan memberi keluaran berupa nama-nama
user yang ada
didalam database source Oracle. Pada bagian ini dapat diketahui
bahwa database
DB_SIASAT dan DB_PERPUSTAKAAN sudah masuk ke dalam database
Oracle.
Kemudian setelah kedua database sudah menjadi satu dalam staging
area,
konfigurasi Oracle Streams diterapkan di kedua database Oracle
seperti pada
Gambar 7.
Gambar 7 Alur Penerapan Konfigurasi Oracle Streams
Pada database sumber, terdapat dua skema yang akan di-capture
menggunakan
Oracle Streams, yaitu skema DB_SIASAT dan skema
DB_PERPUSTAKAAN.
Dua skema ini terletak di sumber database dengan nama instance
database adalah
source. Penerapan Oracle Streams pada kedua schema tersebut
menggunakan
metode level-schema. Dalam mengimplementasikan Oracle Streams,
keadaan pada
kedua database harus berstatus archive log. Archive log berguna
untuk merekam
atau mencatat semua transaksi yang terjadi pada suatu
database.
Dalam melakukan replikasi data menggunakan Oracle Streams,
diperlukan
sebuah user baru (strmadmin) yang berperan sebagai admin
replikasi dengan Kode
Program 1. User strmadmin akan berguna untuk mengeksekusi semua
perintah
konfigurasi Oracle Streams pada database.
Kode Program 1 kode program membuat user
Selanjutnya, membuat konfigurasi capture seperti yang terlihat
di Kode
Program 2. Konfigurasi capture yang diterapkan di skema SIASAT
dan skema
connect SYS/oracle@source as SYSDBA
create user STRMADMIN identified by STRMADMIN;
ALTER USER STRMADMIN DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS;
GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE,DBA to
STRMADMIN;
execute
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE('STRMADMIN');
-
19
PERPUSTAKAAN berfungsi untuk merekam semua perubahan obyek
database
baik perubahan secara DML dan DDL.
Kode Program 2 kode program capture process
Perubahan data di sumber database diterapkan di database tujuan
dengan cara
melakukan konfigurasi apply process pada skema database sumber,
yaitu skema
data warehouse DW_LIBRARY seperti pada Kode Program 3.
Kode Program 3 kode program apply process
Selanjutnya, untuk mengetahui perubahan apa yang harus
diterapkan ke dalam
database target, sistem Oracle Streams membutuhkan proses
instantiation process.
Instantiation process membantu proses penerapan perubahan pada
database target
dengan cara memberi penomoran pada setiap perubahan data di
database yang telah
tersimpan di redo logs. Dalam Oracle Streams, instantiation
process dapat
dilakukan dengan berbagai cara, antara lain melakukan export
import data yang
memakai data pump maupun export import data menggunakan RMAN
(Recovery
Manager). Kode program yang digunakan untuk export import data
adalah sebagai
berikut:
Kode Program 4 kode program export import data pump
Pada Kode Program 4 terdapat dua macam konfigurasi yaitu export
dan import
data. Proses export dilakukan di sumber database yang bertujuan
untuk menyalin
conn STRMADMIN/STRMADMIN@SOURCE
BEGIN
DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
schema_name => 'DB_SIASAT',
streams_type => 'CAPTURE',
streams_name => 'STRMADMIN_CAPTURE',
queue_name => 'STRMADMIN.STREAMS_QUEUE',
include_dml => true,
include_ddl => true,
source_database => 'SOURCE');
END;
/
conn STRMADMIN/STRMADMIN@TARGET
BEGIN
DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
schema_name => 'DW_LIBRARY',
streams_type => 'APPLY',
streams_name => 'STRMADMIN_APPLY',
queue_name => 'STRMADMIN.STREAMS_QUEUE',
include_dml => true,
include_ddl => true,
source_database => 'SOURCE');
END;
/
exp USERID=SYSTEM/oracle@source OWNER=db_siasat
FILE=db_siasat.dmp
LOG=db_siasat_exp.log OBJECT_CONSISTENT=Y STATISTICS = NONE
imp USERID=SYSTEM/oracle@target FROMUSER=db_siasat
TOUSER=dw_library
CONSTRAINTS=Y FILE=db_siasat.dmp IGNORE=Y COMMIT=Y
LOG=db_siasat_imp.log
STREAMS_INSTANTIATION=Y
-
20
semua objek database di skema siasat. Setelah itu data yang
sudah dieskpor di
import ke database tujuan dimana proses import dilakukan di
database tujuan.
Pada tahap ini, pengujian berhasil atau tidaknya simulasi data
warehousing
dengan Oracle Streams dilakukan dengan cara memberi penambahan
data pada
database sumber (source) yang kemudian akan diterapkan di
database tujuan
(target).
Proses pengujian dilakukan dengan cara melakukan penambahan data
di
database sumber pada salah satu tabel di skema DB_SIASAT yaitu
pada tabel
TB_NILAI. Data yang akan ditambahkan pada TB_NILAI adalah
mahasiswa yang
memiliki unsur NIM 972011. Keadaan awal tabel sebelum diberi
penambahan data
adalah enam baris dengan acuan mahasiswa yang memiliki NIM
972011 saja.
Banyaknya jumlah record atau baris dapat dilihat dengan
mengeksekusi perintah
“select * from tb_nilai where nim like '972011%' order by nim;”.
Kemudian
dilakukan penambahan data dengan mengeksekusi perintah insert
yang dapat
dilihat pada Kode Gambar 5,
Kode Program 5 kode program insert data mahasiswa
Setelah dilakukan penambahan data sebanyak satu baris, keadaan
banyaknya
data pada tabel nilai di sumber database saat ini adalah
sebanyak tujuh baris.
Banyaknya data pada TB_NILAI dapat dilihat dengan mengeksekusi
kembali
perintah “select * from tb_nilai where nim like '972011%' order
by nim;”.
Keberhasilan dari penerapan Oracle Streams terlihat dari
perubahan pada
database target (data warehouse). Perubahan data dilihat dengan
mengeksekusi
perintah “select * from tb_nilai where nim like '972011%' order
by nim;”. Eksekusi
perintah tersebut memberi hasil berupa penambahan data pada data
warehouse
DW_LIBRARY dan diperlihatkan dengan bertambahnya record pada
database
target yang semula sebanyak enam baris menjadi tujuh baris.
Hasil tersebut
mendandakan bahwa proses Apply pada database target sudah
berjalan dengan baik
dan perubahan DML pada schema DB_SIASAT serta DB_PERPUSTAKAAN
ke
database target dapat berjalan dengan baik. Di mana perubahan
yang dilakukan
tetap mengacu pada bentuk topologi data warehouse yang sudah
ditentukan.
4. Simpulan Simpulan dari penelitian ini adalah database
multiplatform dapat dijadikan satu
ke dalam sebuah data warehouse menggunakan arsitektur staging
area. Fungsi
replikasi data di Oracle Streams dapat digunakan tidak hanya
untuk melakukan
replikasi database saja, namun replikasi data di Oracle Streams
bisa digunakan
dalam pembuatan data warehouse. Menggunakan fitur data warehouse
loading,
Oracle streams dapat diterapkan dalam pembuatan data warehouse
tersebut.
insert into tb_nilai values (12013,972011007,1,1,1,97);
-
21
5. Daftar Pustaka [1] Putra, Randy O., 2012, Rancang Bangun Data
Warehouse Untuk Analisis
Kinerja Penjualan Pada Industri Dengan Model Spa-Dw (Sales
Performance
Analysis – Data Warehouse) (Studi Kasus : Pt. Semen Padang),
Semarang.
[2] Amborowati, Armadyah, 2008, Perancangan Data Warehouse
pada
Perpustakaan STMIK AMIKOM Yogyakarta, Yogyakarta.
[3] Ponniah, Paulraj, 2001, Data Warehousing Fundamentals: A
Comprehensive
Guide for IT Professionals, New York : John Wiley &
Sons.
[4] Oracle Doc, 2008, Oracle® Streams Concepts and
Administration 10g Release
2 (10.2), California: Oracle USA, Inc.
[5] Handoyo, Priyo A., 2008, Perancangan dan Pembangunan Data
Warehouse
pada PLN Salatiga Menggunakan Skema Snowflake (Studi Kasus: PLN
Salatiga),
Salatiga.
[6] Somya, Ramos, 2013, Perbandingan Traditional Business
Intelligence dan
Service-oriented Business Intelligence (SoBI) untuk Integrasi
Data Akademik dan
Keuangan (Studi Kasus: Universitas Kristen Satya Wacana),
Salatiga.
[7] Gadiel, Febrian, 2012, Perancangan dan Implementasi Sistem
Replikasi Data
pada Multiplatform Database menggunakan Teknologi Goldengate,
Salatiga.
[8] Wong, Lik, dkk, 2009, Oracle Streams: A High Performance
Implementation
for Near Real Time Asynchronous Replication, USA: IEEE Computer
Society
Washington.
[9] Inmon , William H., Hackathorn, Richard D.,1994, Using the
data warehouse,
Wiley.
[10] Poe, Vidette, 1995, Building A Data Warehouse for Decision
Support, Prentice
Hall .
[11] Oracle Doc, 2003, Oracle® Database Data Warehousing
Guide10g Release 1
(10.1), California: Oracle USA, Inc.
[12] Djoni, Darmawikarta, 2003, Mengenal Data Warehouse,
http://ikc.dinus.ac.id/penulis/penulis-djoni.php. Diakses
tanggal 12 Agustus 2014.
[13] Gustiarahman, Irfan, 2006, Definisi Data Warehouse,
http://zakki.dosen.narotama.ac.id/files/2012/02/Definisi-Data-Warehouse.doc.
Diakses tanggal 10 Juni 2014.
http://zakki.dosen.narotama.ac.id/files/2012/02/Definisi-Data-Warehouse.doc
-
22
[14] Garmany, John, 2004, Oracle Streams and ETL,
http://www.dba-
oracle.com/oracle9iAS_tips_streams.htm. Diakses pada tanggal 19
Februari 2014.
[15] Oracle Doc, 2003, Oracle® Streams Concepts and
Administration 11g Release
1 (11.1), California: Oracle USA, Inc.
[16] Yen E., McKinnel A.L.R., 2010, Oracle 11g Streams
Implementer's Guide:
Design, implement, and maintain a distributed environment with
Oracle Streams:
Birmingham: Packt Publishing Ltd.
[17] Hoover, Steward V., & Perry, Ronald F., 1989,
Simulation: A Problem –
Solving Approach, Boston: Addison-WesleyLongman Publishing Co.,
Inc.
[18] Oracle Doc, 2003, Oracle® Database Data Warehousing
Guide10g Release 1
(10.1), California: Oracle USA, Inc.
http://www.dba-oracle.com/oracle9iAS_tips_streams.htmhttp://www.dba-oracle.com/oracle9iAS_tips_streams.htm