Data Warehousing Dengan Oracle Streams Pada Database...

16
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

Transcript of Data Warehousing Dengan Oracle Streams Pada Database...

Page 1: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 2: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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].

Page 3: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 4: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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].

Page 5: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 6: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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.

Page 7: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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.

Page 8: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 9: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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].

Page 10: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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.

Page 11: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 12: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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');

Page 13: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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

Page 14: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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);

Page 15: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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.

Page 16: Data Warehousing Dengan Oracle Streams Pada Database ...repository.uksw.edu/bitstream/123456789/8822/3/T1_682010042_Full...database. relasional yang memiliki banyak sumber data yang

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.