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
7
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].
8
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
9
(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].
10
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
11
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.
12
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.
13
Identifikasi Masalah dan Pengumpulan Data Perancangan Model
Implementasi Model Hasil dan Pembahasan 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].
14
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].
15
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.
16
tb_mahasiswa
tb_fakta_peminjaman *
NIM
tb_progdi
NIM
KODE_PROGDI
NAMA
KODE_PROPINSI
NAMA_PROGDI
ALAMAT
KODE_PROGDI
KODE_FAKULTAS
KODE_NILAI CHARGE_ID DISCHARGE_DATE
tb_fakultas KODE_FAKULTAS NAMA_FAKULTAS
tb_propinsi
tb_charge
KODE_PROPINSI
CHARGE_ID
NAMA_PROPINSI
USER_ID
KODE_NILAI
ITEM_ID
IPK
tb_nilai *
NIM
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.
17
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 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');
Selanjutnya, membuat konfigurasi capture seperti yang terlihat di Kode Program 2. Konfigurasi capture yang diterapkan di skema SIASAT dan skema
18
PERPUSTAKAAN berfungsi untuk merekam semua perubahan obyek database baik perubahan secara DML dan DDL. Kode Program 2 kode program capture process 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; /
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 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; /
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 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
Pada Kode Program 4 terdapat dua macam konfigurasi yaitu export dan import data. Proses export dilakukan di sumber database yang bertujuan untuk menyalin 19
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 insert into tb_nilai values (12013,972011007,1,1,1,97);
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.
20
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.
21
[14] Garmany, John, 2004, Oracle Streams and ETL, http://www.dbaoracle.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.
22