Post on 19-Mar-2019
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.
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.