Data Warehousing Dengan Oracle Streams Pada Database ... · Pada hakikatnya data warehouse dibuat...

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 ... · Pada hakikatnya data warehouse dibuat...

  • 7

    Pendahuluan

    Perkembangan teknologi yang semakin maju telah memasuki segala aspek

    kehidupan seperti pendidikan, bisnis, dan lain sebagainya. Dalam aspek bisnis,

    perkembangan teknologi mempengaruhi perusahaan untuk terus berkembang

    dengan meningkatkan kinerjanya, yaitu melakukan analisis data yang ada di dalam

    perusahaan, baik itu data penjualan, data konsumen, data barang ataupun data

    lainnya. Analisis dapat dilakukan dengan mengumpulkan data historis dan melihat

    grafik kinerja perusahaan [1].

    Data merupakan aset penting bagi suatu perusahaan, karena data digunakan

    untuk membantu pembuat keputusan melakukan strategi atau memutuskan sebuah

    kebijakan. Namun, sebelum mengambil keputusan, data diubah terlebih dahulu

    menjadi informasi dengan cara diolah sesuai yang dibutuhkan oleh perusahaan [2].

    Pengolahan data sebagai proses analisis untuk mendapatkan informasi dan

    pengambilan keputusan membutuhkan sumber data yang banyak, yaitu dari data

    internal dan data eksternal yang dianggap mampu mendukung seluruh proses

    analisis dan pengambilan keputusan. Semakin banyaknya data yang digunakan,

    maka akan semakin baik pula hasil analisis yang didapatkan. Namun, untuk

    mendapatkan hasil analisis yang baik diperlukan integritas dari berbagai sumber

    data yang digunakan dan pencarian data yang efisien. Sehingga dibutuhkan sebuah

    teknologi yang mampu menampung banyaknya data yang dibutuhkan pihak

    manajemen perusahaan dalam memahami analisis yang akan dilakukan. Oleh

    karena itu, perusahaan membutuhkan arsitektur atau teknologi yang membantu

    perusahaan untuk melakukan proses pengolahan data yang efisien dan efektif, yaitu

    data warehouse.

    Data warehouse merupakan database relasional yang memiliki banyak

    sumber data yang berbeda dan mampu mengorganisir sumber data yang berbeda

    dalam jumlah yang banyak. Data warehouse memungkinkan integrasi berbagai

    macam jenis data dari berbagai macam aplikasi atau sistem [3]. Sehingga, ketika

    perusahaan memiliki banyak data dari berbagai sumber (multiplatform) dan

    tertampung dalam satu data warehouse, proses analisa yang dilakukan perusahaan

    akan semakin efisien. Proses analisis di dalam data warehouse dapat dilakukan

    dengan salah satu caranya menggunakan replikasi data yang dapat dikembangkan

    menggunakan Oracle Streams [4]. Oracle streams merupakan teknologi replikasi

    data yang mampu membantu perusahaan melakukan pembuatan data warehouse

    yang nantinya dapat membantu perusahaan untuk melakukan proses analisis.

    Namun yang menjadi permasalahannya adalah bagaimana Oracle Streams

    dapat membantu perusahaan membuat sebuah data warehouse untuk melakukan

    proses analisis dan bagaimana membuat satu kesatuan sumber data dari platform

    DBMS (Database Management System) yang berbeda serta cara replikasi data

    untuk mendukung pembuatan data warehouse menggunakan Oracle Streams.

    Berdasarkan permasalahan yang terjadi, tujuan dilakukannya penelitian ini

    adalah membuat simulasi untuk membangun data warehouse pada database yang

    berbeda menggunakan Oracle Streams, dalam hal ini fokus penelitian yang

    dilakukan adalah penerapan Oracle Streams pada data warehousing melalui fitur

    data warehouse loading. Oleh karena itu, penelitian ini diharapkan mampu

  • 8

    membangun simulasi untuk membangun data warehouse dari sumber data yang

    berbeda menggunakan Oracle Streams. Kemudian, penelitian ini akan

    menggunakan model staging area dalam melakukan penyatuan sumber database

    operasional dan menggunakan model one-way replication dalam pembuatan

    replikasi data, tetapi tidak membahas proses OLAP (online analytical processing)

    pada data warehouse.

    1. Tinjauan Pustaka

    Beberapa penelitian mengenai perancangan data warehouse sudah pernah

    dilakukan. Penelitian dengan judul “Perancangan dan Pembangunan Data

    Warehouse pada PLN Salatiga Menggunakan Skema Snowflake”. Penelitian ini

    membahas bagaimana membuat aplikasi data warehouse menggunakan skema

    snowflake. Hasil dari penelitian ini adalah terciptanya aplikasi data warehouse

    menggunakan skema snowflake yang bertujuan untuk melihat efektifitas dan

    efisiensi dari aplikasi data warehouse yang dibangun [5].

    Adapun penelitian yang membahas tentang penerapan data warehouse yang

    berjudul “Perbandingan Traditional Business Intelligence dan Service-oriented

    Business Intelligence (SoBI) untuk Integrasi Data Akademik dan Keuangan (Studi

    Kasus: Universitas Kristen Satya Wacana)”. Penelitian ini membahas perbandingan

    dari implementasi konsep traditional BI dengan konsep BI. Dimana data keuangan

    dan akademik dari SIASAT dan SIKASA disatukan dalam sebuah data warehouse

    dari sumber database yang berbeda. Pengambilan data dari sumber database

    dilakukan melalui aplikasi web service yang berguna untuk proses ETL dalam data

    warehouse untuk konsep SoBI [6].

    Penelitian lain yang membahas mengenai replikasi data, yaitu “Perancangan

    dan Implementasi Sistem Replikasi Data pada Multiplatform Database

    menggunakan Teknologi Goldengate”. Penelitian ini membahas bagaimana

    melakukan perancangan dan implementasi replikasi data ke dalam database

    management system yang berbeda menggunakan teknologi Oracle Goldengate.

    Database sumber yang digunakan adalah Microsoft SQL Server 2005 yang akan di

    replikasi menggunakan Oracle Goldengate ke database tujuan yaitu Oracle 10g.

    Sistem replikasi yang digunakan pada penelitian ini adalah replikasi satu arah [7].

    Penelitian lain yang membahas mengenai Oracle Streams adalah “Oracle

    Streams: A High Performance Implementation for Near Real Time Asynchronous

    Replication”. Penelitian ini membahas tentang cara mereplikasi data pada database

    sumber ke database tujuan menggunakan metode replikasi asynchronous. Metode

    asynchronous merupakan metode replikasi yang mengisi data pada kedua database,

    di mana akan terdapat delay atau jeda pada saat proses penyalinan data dari

    database sumber ke database tujuan. Hasil dari penelitian ini adalah replikasi data

    dapat diterpakan pada database dengan tersalinnya 20,000 LCR (Logical Change

    Record) setiap detiknya. Optimasi dari replikasi ini dibentuk dari pembuatan

    algoritma pada setiap optimasi yang dibuat dan setiap optimasi terdiri dari proses

    enkapsulasi LCR yang teridri dari proses capturing, propagating, serta applying

    logical change records dari database asal ke database tujuan [8].

  • 9

    Penelitian yang dilakukan dengan judul Data Warehousing dengan Oracle

    Streams pada database Multi-platform akan membahas mengenai bagaimana

    membangun sebuah data warehouse yang memiliki sumber database yang berbeda

    platform menggunakan replikasi data pada Oracle Streams khususnya

    menggunakan fitur data warehouse loading. Database multi-platform akan

    diintegrasikan dalam satu kesatuan menggunakan model staging area, setelah itu

    fitur data warehouse loading akan digunakan untuk mereplikasi data dari sumber

    data (staging area) yang kemudian direplikasikan ke data warehouse. Hasil dari

    penelitian ini adalah tersedianya data warehouse dari database multiplatform yang

    di replikasi menggunakan data warehouse loading dari Oracle Streams. Data warehouse adalah koleksi data yang mempunyai sifat berorientasi

    subjek, terintegrasi, time-variant, dan bersifat tetap dari koleksi data dalam

    mendukung proses pengambilan keputusan [9]. Data warehouse juga dapat

    diartikan sebagai database yang bersifat analisis dan read only yang digunakan

    sebagai fondasi dari sistem penunjang keputusan [10]. Berdasarkan penjelasan para

    ahli di atas dan digabungkan dengan pengertian dari dokumen Oracle Data

    Warehouse, data warehouse adalah sebuah database relasional yang dirancang

    untuk query dan analisis bukan untuk proses transaksi yang memiliki sumber

    database berbeda-beda [11]. Selain database relasional, data warehouse juga

    mencangkupi extraction, transportation, dan loading (ETL), analisis statistik,

    pelaporan, data mining, dan aplikasi lainnnya yang mengelola proses pengumpulan

    data [12]. Kaitannya dengan analisis, proses ETL diperlukan dalam pembuatan data

    warehouse dengan langkah-langkah sebagai berikut: (i) Data Extraction adalah

    proses mengekstrak sumber data dari jenis data yang berbeda maupun dari

    operating system yang berbeda (ii) Data Transform adalah proses untuk memilah

    kembali data yang telah diesktrak kedalam bentuk format dan struktur tabel sesuai

    dengan apa yang dibutuhkan (iii) Data Loading adalah proses pengisian data ke

    media penyimpanan data warehouse [3].Selain itu, pada dasarnya data warehouse

    berisi data historis dari data transaksi, tetapi bisa berisi data dari sumber yang lain.

    Data warehouse memiliki empat karakteristik, yaitu subject oriented

    (berorientasi subjek), integrated (terintegrasi), time variant (rentang waktu), dan

    non-volatile [3]. Berorientasi subjek adalah data warehouse di desain untuk

    menganalisis berdasarkan subjek bukan berdasarkan proses atau aplikasi.

    Tertintegrasi menunjukkan data warehouse memiliki sumber data yang banyak dan

    berbeda yang saling terintegrasi dalam bentuk format yang konsisten. Rentang

    waktu menunjukkan bahwa data warehouse dapat dikatakan akurat dan valid pada

    rentang waktu tertentu dengan membuat interval waktu yang digunakan dalam

    mengukur keakuratan data warehouse. Non Volatile berarti data warehouse tidak

    diperbaharui secara real-time tetapi data diperbaharui secara berkala yang

    kemudian secara bertahap data ditambahkan.

    Berdasarkan karakteristik tersebut data warehouse memberi manfaat antara

    lain (i) proses analisis mengguanakan query bisa lebih mudah karena data yang

    telah teroganisir dengan baik (ii) perbedaan data dari sumber data yang berbeda

    dapat disatukan dengan baik sehingga penggunaan waktu dapat lebih efisien (iii)

    memungkinkan suatu perusahaan melakukan perbaikan pada record data history

  • 10

    (iv) mengurangi penggunaan loading data yang berasal dari data operasional secara

    langsung [13].

    Pada hakikatnya data warehouse dibuat untuk yang menyimpan data

    historical dari beberapa sumber data dalam sebuah perusahaan. Data historical

    tidaklah menyimpan seribu atau seratus ribu data saja, namun penyimpanan data

    historical di data warehouse mampu menampung record hingga berjuta-juta record

    data. Banyaknya jumlah data di data warehouse dipengaruhi oleh terintegrasinya

    sumber-sumber data yang dipakai. Karena itulah, penggunaan data warehouse

    sangat mendukung perusahaan didalam melakukan analisa maupun mendukung

    pengambilan keputusan strategi bisnis. Penggunaan data warehouse juga akan

    membantu performa query didalam perusahaan karena selama penggunaan data

    warehouse, data warehouse tidak akan mengganggu kegiatan operasional di data

    operasional perusahaan.

    Perbedaan data warehouse dengan data operasional adalah (i) data

    operasional dirancang untuk berorientasi pada fungsi dan aplikasi tertentu

    sedangkan data warehouse dirancang untuk berorientasi pada subjek (ii) fokus pada

    data operasional adalah pada proses dan desain database sedangkan fokus dari data

    warehouse adalah pada pemodelan data dan desain data (iii) isi dari data

    operasional adalah sebuah rincian dari data sedangkan isi data warehouse berupa

    data historis yang berguna untuk pembuatan analisis (iv) bentuk data operasional

    selalu mengikuti aturan terbaru dalam relasi antar tabelnya seperti normalisasi pada

    tabel sedangkan bentuk data warehouse adalah tabel-tabel yang tersaji berdasarkan

    aturan bisnis [3].

    Untuk menampilkan data didalam data warehouse, dibutuhkan rancangan

    logikal untuk menampung rancangan tersebut yang biasa disebut model

    dimensional. Setiap model dimensi terdiri dari sebuah tabel dengan kumpulan dari

    primary key yang disebut sebagai tabel fakta dan satu set tabel yang lebih kecil yang

    menampung referensi data yaitu tabel dimensi. Model dimensional dalam data

    warehouse terdiri dari beberapa skema. Skema bintang (star schema) adalah

    struktur logikal yang memiliki tabel fakta dan dikelilingi oleh tabel dimensi sebagai

    referensi data. Skema snowflake adalah varian dari skema bintang dimana tabel

    dimensi yang terdapat di skema ini tidak terdapat data yang di denormalisasi. Yaitu

    dimana tabel dimensi tidak bergabung langsung dengan tabel fakta namun

    bergabung langsung dengan tabel dimensi lainnya yang dapat dilihat pada Gambar

    1 [13].

  • 11

    Gambar 1 Bentuk skema snowflake [3]

    Oleh karena itu, membuat sebuah desain data warehouse harus mengacu pada

    tujuan dibentuknya data warehouse yaitu membuat proses analisis dari banyak

    sumber data berupa data historical. Mendesain data warehouse diperlukan

    pengkategorian analisis yang akan dibuat dimana kategori dari analisis tersebut

    harus menjawab kebutuhan bisnis perusahaaan dan mengacu pada karakteristik

    data warehouse. Setelah kategori-kategori tersebut ditentukan, pemilihan database

    yang akan digunakan dalam pembuatan desain data warehouse dapat lebih mudah

    karena mengacu pada kategori tersebut. Karena pemilihan database yang tepat

    dalam data warehouse akan menjawab kebutuhan bisnis perusahaan tersebut secara

    akurat [3].

    Oracle streams merupakan sebuah teknologi replikasi data yang sudah

    dikembangkan sejak di Oracle 9i Release 2 [14]. Oracle streams memungkinkan

    pengguna untuk berbagi informasi mengenai manajemen data, transaksi dalam

    database Oracle maupun database non Oracle. Oracle streams dapat dikatakan

    fleksibel karena didalam Oracle Streams memungkinkan pengguna satu dengan

    yang lainnya dapat melakukan intervensi. Intervensi disini berarti pengguna dapat

    mengetahui informasi apa yang sedang terjadi di Oracle Streams, aliran data yang

    terjadi, dan mengetahui apa yang terjadi pada event di Oracle Streams dan

    mengetahui bagaimana Oracle Streams bisa berhenti. Oracle streams dapat

    digunakan pada waktu yang sama dalam arti ketika ingin melakukan perubahan

    konfigurasi atau perubahan lainnya, perubahan tersebut dapat langsung

    diimplementasikan tanpa harus menghapus konfigurasi yang lama.

    Oracle Streams adalah arus informasi baik dalam database tunggal atau dari

    satu database ke database yang lain. Oracle Streams dapat diatur dalam bentuk

    database homogen (semua database dengan platform Oracle) atau database

    heterogen (platform non - Oracle Database). Streaming Setup menggunakan

    serangkaian proses dan objek database untuk berbagi data dan pesan. Perubahan

  • 12

    database (DDL dan DML ) ditangkap atau diambil dari sumber datanya, yang

    kemudian dipentaskan (staging) dan disebarkan ke satu atau lebih database dengan

    tujuan untuk diterapkan di sana (streams setup). Didalam Oracle Streams terdapat

    3 area pokok didalam pemrosesannya yaitu (1) Capture, (2) Staging, dan (3)

    Consumption [15].

    Tahap pertama adalah Capture, merupakan proses awal pada Oracle

    Streams, yaitu menangkap perubahan semua data pada database baik secara DML

    (Data Manipultaion Language) atau DDL (Data Definition Language). Perubahan

    pada database akan secara otomatis tersimpan di redo logs. Capture processes

    menangkap perubahan dari redo logs dan format dari setiap perubahan lalu

    ditangkap dalam bentuk pesan atau message yang disebut sebagai logical change

    record (LCR). Pesan yang ditangkap melalui proses capture tadi disebut sebagai

    capture LCRs. Redo logs merekam semua perubahan yang dibuat pada datafile

    milik database kita. Menggunakan redo logs dan salinan lama datafile yang

    lengkap, database Oracle dapat menerapkan perubahan-perubahan yang direkam di

    redo logs untuk membuat ulang (re-create) database pada setiap titik di antara

    waktu backup dan saat terakhir dibuatnya redo logs. Setiap saat database berubah,

    perubahan akan dicatat di online redo log, sebelum nantinya akan dicatat di datafile.

    Tahap kedua adalah staging. Setelah perubahan data direkam pada proses

    capture, selanjutnya adalah perubahan akan dikirim ke database target yang

    disimpan dalam proses staging. Semua pesan yang diambil akan disimpan di

    staging area. Staging area adalah in-memory buffer dan bagian dari system global

    area (SGA) dari instance database. Biasanya staging area merupakan tempat

    sementara untuk menampung tabel di server data warehouse. Pesan yang sudah

    dibuat oleh aplikasi pengguna juga disimpan di staging area. LCR yang dibentuk

    dari proses synchronous capture tidak disimpan di antrian memori, namun disimpan

    di dalam disk queue table.

    Tahap ketiga adalah tahap consumption. Ketika pesan telah terambil dari

    staging area, itu sudah dianggap sebagai consumed atau telah terpakai. Jika pesan

    atau message digunakan dari proses yang telah diterapkan dan diterapkan pada

    objek database, maka database tersebut akan disebut sebagai destination database

    atau database tujuan. Proses terapan atau apply process berjalan secara local pada

    database tujuan. Di beberapa konfigurasi, sumber database dan database tujuan

    bisa sama. Rules akan mengenali pesan mana yang dequeued (pesan diambil dari

    antrian) dan pesan yang diambil dari proses yang diterapkan. Apply process dapat

    menerapkan pesan secara langsung ke objek database atau melewati pesan untuk

    menggunakan subprogram PL/SQL untuk pemrosesannya. Secara umum, apply

    process menerapkan capture dari LCR, tetapi kita bisa menghentikan atau menahan

    dan menerapkan LCR menggunakan prosedur PL/SQL yang telah dikostumisasi.

  • 13

    Gambar 2 Alur Replikasi Oracle Streams One Way Replication [15]

    Oracle streams memiliki beberapa metode dalam melakukan replikasi data,

    salah satunya adalah metode replikasi one-way replication yang dapat dilihat pada

    Gambar 2 [15]. Tahapan yang terjadi dalam replikasi ini sebagai berikut: pertama

    semua perubahan yang terjadi pada sumber database akan masuk ke dalam redo

    logs. Kemudian, redo logs akan direkam oleh capture process yang terdiri dari

    DML (data manipulation language) dan DDL (data definition language) menjadi

    LCR (logical change record). Selanjutnya, LCR dikirim oleh queue database asal

    ke queue database tujuan melalui proses yang disebut propagation [16].

    Di dalam database tujuan, queue akan mengalami proses dequeue, yaitu proses

    penerapan LCR dari database asal ke database tujuan yang disebut sebagai apply

    process. Pada tahap ini disebut juga sebagai data warehouse loading. Setelah itu,

    LCR yang membawa perubahan berupa database object masuk ke dalam redo logs

    database tujuan dan diterapkan di database tujuan.

    2. Metode Penelitian

    Metode penelitian berisi tahapan-tahapan untuk membuat perancangan model

    penelitian yaitu dari tahap perumusan masalah hingga ke tahap terakhir yaitu tahap

    analisis hasil pengujian. Tahapan penelitian ini terbagi kedalam empat tahapan,

    yaitu: (1) Identifikasi masalah dan pengumpulan data, (2) Perancangan model, (3)

    Implementasi model, dan (4) Hasil dan Pembahasan.

  • 14

    Gambar 3 Tahapan Penelitian

    Tahapan penelitian pada Gambar 3 dapat dijelaskan pada sebagai berikut.

    Tahap pertama adalah mengidentifikasi masalah dan melakukan pengumpulan data.

    Masalah yang diangkat dalam penelitian ini adalah bagaimana membuat sebuah

    data warehouse pada database multiplatform menggunakan Oracle Streams.

    Kemudian, langkah selanjutnya adalah pengumpulan data. Penelitian ini

    menggunakan populasi Universitas Kristen Satya Wacana (UKSW) dan sampel

    mahasiswa UKSW angkatan 2009 – 2011. Sumber data yang digunakan sebagai

    database multiplatform adalah data SIASAT dan data peminjaman buku

    perpustakaan tahun 2014. Data SIASAT terdiri dari NIM, nama, nilai, alamat, dan

    daerah asal mahasiswa UKSW. Sedangkan data peminjaman buku di Perpustakaan

    Umum (PU) UKSW berisi simulasi peminjaman buku yang dikaitkan dengan data

    buku dari indeks ke-0 hingga ke-300.

    Tahap kedua adalah merancang model sesuai dengan identifikasi masalah dan

    kebutuhan data. Metode perancangan model masuk ke dalam metode analisis

    simulasi (simulation analysis), yaitu proses perancangan model matematis atau

    logis dari sistem yang nyata dan kemudian melakukan eksperimen berbasis

    komputer dengan model untuk menggambarkan, menjelaskan, dan memprediksi

    kebiasaan sistem secara nyata, atau dapat dikatakan sebagai salah satu metode yang

    digunakan untuk memecahkan suatu masalah dengan cara menganalisis model yang

    akan dibuat [17].

    Identifikasi Masalah dan Pengumpulan Data

    Perancangan Model

    Implementasi Model

    Hasil dan Pembahasan

  • 15

    Gambar 4 Simulation Analysis [17]

    Metode simulation analysis terdiri dari enam langkah (Gambar 4), yaitu tahap

    formulasi masalah, tahap pengumpulan dan analisis data, tahap pengembangan

    model, tahap verifikasi dan validasi model, tahap percobaaan dan optimasi model,

    tahap eksperimen, serta tahap implementasi hasil simulasi. Tahap pengembangan

    model pada metode analisis simulasi akan diimplementasikan untuk perancangan

    model data warehouse. Model arsitektur data warehouse yang dibangun

    menggunakan arsitektur staging area, yaitu sumber data pada database operasional

    dimigrasikan ke tempat penampungan (staging area) terlebih dahulu yang dapat

    dilihat di Gambar 5 [18].

  • 16

    Gambar 5 Arsitektur Data Warehouse menggunakan Staging Area [18]

    Setelah membuat staging area, langkah berikutnya adalah melakukan

    peracangan skema data warehouse. Namun, sebelum perancangan skemanya,

    diperlukan indikator untuk proses analisis. Indikator analisis yang dibuat antara lain

    mahasiswa dari fakultas FTI, FEB, dan FKIP, lalu mahasiswa yang berasal di

    daerah Jawa, Kalimantan, Papua, dan Ambon. Kemudian, indikator yang terakhir

    adalah mahasiswa dengan rata-rata IPK 2,5-3,0; 3,0-3,5; 3,5-4,0. Untuk mendesain

    skema data warehouse diperlukan basis data fisik atau tabel dari data SIASAT dan

    data PU UKSW. Tabel dipilih sesuai dengan indikator yang telah dibuat agar dapat

    menjawab isi dari data warehouse. Tabel yang digunakan untuk kedua database

    adalah tabel program studi, tabel fakultas, tabel propinsi, tabel mahasiswa, dan tabel

    charge atau tabel peminjaman buku. Setelah tabel ditentukan, skema data

    warehouse dapat ditentukan sesuai dengan bentuk dari tabel-tabel tersebut.

    Setelah selesai menentukan indikator analisis, perancangan model data

    warehouse dirancang menggunakan topologi Snowflake Schema seperti yang

    terlihat dari Gambar 6. Rancangan data warehouse terdiri dari satu tabel fakta dan

    enam tabel dimensi, yaitu (1) TABEL_FAKTA_PEMINJAMAN (2)

    TABEL_MAHASISWA (3) TABEL_PROPINSI (4) TABEL_PROGDI (5)

    TABEL_FAKULTAS (6) TABEL_NILAI (7) TABEL_CHARGE.

  • 17

    Gambar 6 Topologi Data Warehouse Snowflake Schema

    Selanjutnya, setelah menentukan arsitektur staging area dan skema snowflake,

    langkah berikutnya adalah merancang alur Oracle Streams untuk proses data

    warehouse loading. Perancangan Oracle Streams menggunakan metode one-way

    replication atau metode satu arah, yaitu data yang ada pada database sumber akan

    direplikasi ke database tujuan [15].

    Pada tahap ketiga, perancangan Oracle Streams dilakukan sesuai dengan

    desain model yang terlihat dari gambar 2. Semua proses capture, staging, dan

    consumption dilakukan dengan cara pengkodean menggunakan bahasa

    pemrograman PL/SQL di database Oracle 11g.

    Tahap keempat adalah tahap hasil dan pembahasan berupa pengujian terhadap

    penerapan Oracle Streams di data warehouse. Pengujian dilakukan dengan cara

    melakukan penambahan data di setiap tabel pada kedua sumber data untuk melihat

    apakah penambahan data tersebut akan terimplementasi di data warehouse

    database target.

    3. Hasil dan Pembahasan

    Pembuatan data warehousing dengan Oracle Streams memiliki beberapa proses

    yang dilakukan, antara lain migrasi database ke Oracle database; konfigurasi

    Oracle Streams pada database sumber; dan yang terakhir konfigurasi Oracle

    Streams pada database target.

    Migrasi database non Oracle menjadi database Oracle dilakukan dengan cara

    memasukkan data yang sudah di extract ke dalam database MySQL dan SQL

    Server. Proses pengiriman data dari bentuk extract ke bentuk database disebut juga

    sebagai proses Transform pada data warehouse. Pada tahap ini proses migrasi akan

    dilakukan menggunakan SQL Developer pada kedua database secara online,

    karena MySQL dan SQL Server harus aktif.

    tb_chargeCHARGE_ID

    USER_ID

    ITEM_ID

    tb_fakultasKODE_FAKULTAS

    NAMA_FAKULTAS

    tb_mahasiswaNIM

    NAMA

    ALAMAT

    tb_nilai *KODE_NILAI

    IPK

    NIM

    tb_progdiKODE_PROGDI

    NAMA_PROGDI

    KODE_FAKULTAS

    tb_propinsi

    KODE_PROPINSI

    NAMA_PROPINSI

    tb_fakta_peminjaman *NIM

    KODE_PROPINSI

    KODE_PROGDI

    KODE_NILAI

    CHARGE_ID

    DISCHARGE_DATE

  • 18

    Setelah migrasi database selesai, untuk menentukan keberhasilan migrasi

    database, diperlukan koneksi baru di SQL Developer sesuai dengan nama database

    yang dimigrasikan. Kemudian, melihat user atau nama skema database yang masuk

    kedalam sistem database Oracle, dilakukan dengan cara menjalankan script “select

    username from dba_users order by username” pada sistem Oracle di komputer B.

    Dari script tersebut, akan memberi keluaran berupa nama-nama user yang ada

    didalam database source Oracle. Pada bagian ini dapat diketahui bahwa database

    DB_SIASAT dan DB_PERPUSTAKAAN sudah masuk ke dalam database Oracle.

    Kemudian setelah kedua database sudah menjadi satu dalam staging area,

    konfigurasi Oracle Streams diterapkan di kedua database Oracle seperti pada

    Gambar 7.

    Gambar 7 Alur Penerapan Konfigurasi Oracle Streams

    Pada database sumber, terdapat dua skema yang akan di-capture menggunakan

    Oracle Streams, yaitu skema DB_SIASAT dan skema DB_PERPUSTAKAAN.

    Dua skema ini terletak di sumber database dengan nama instance database adalah

    source. Penerapan Oracle Streams pada kedua schema tersebut menggunakan

    metode level-schema. Dalam mengimplementasikan Oracle Streams, keadaan pada

    kedua database harus berstatus archive log. Archive log berguna untuk merekam

    atau mencatat semua transaksi yang terjadi pada suatu database.

    Dalam melakukan replikasi data menggunakan Oracle Streams, diperlukan

    sebuah user baru (strmadmin) yang berperan sebagai admin replikasi dengan Kode

    Program 1. User strmadmin akan berguna untuk mengeksekusi semua perintah

    konfigurasi Oracle Streams pada database.

    Kode Program 1 kode program membuat user

    Selanjutnya, membuat konfigurasi capture seperti yang terlihat di Kode

    Program 2. Konfigurasi capture yang diterapkan di skema SIASAT dan skema

    connect SYS/oracle@source as SYSDBA

    create user STRMADMIN identified by STRMADMIN;

    ALTER USER STRMADMIN DEFAULT TABLESPACE USERS

    TEMPORARY TABLESPACE TEMP

    QUOTA UNLIMITED ON USERS;

    GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE,DBA to STRMADMIN;

    execute DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE('STRMADMIN');

  • 19

    PERPUSTAKAAN berfungsi untuk merekam semua perubahan obyek database

    baik perubahan secara DML dan DDL.

    Kode Program 2 kode program capture process

    Perubahan data di sumber database diterapkan di database tujuan dengan cara

    melakukan konfigurasi apply process pada skema database sumber, yaitu skema

    data warehouse DW_LIBRARY seperti pada Kode Program 3.

    Kode Program 3 kode program apply process

    Selanjutnya, untuk mengetahui perubahan apa yang harus diterapkan ke dalam

    database target, sistem Oracle Streams membutuhkan proses instantiation process.

    Instantiation process membantu proses penerapan perubahan pada database target

    dengan cara memberi penomoran pada setiap perubahan data di database yang telah

    tersimpan di redo logs. Dalam Oracle Streams, instantiation process dapat

    dilakukan dengan berbagai cara, antara lain melakukan export import data yang

    memakai data pump maupun export import data menggunakan RMAN (Recovery

    Manager). Kode program yang digunakan untuk export import data adalah sebagai

    berikut:

    Kode Program 4 kode program export import data pump

    Pada Kode Program 4 terdapat dua macam konfigurasi yaitu export dan import

    data. Proses export dilakukan di sumber database yang bertujuan untuk menyalin

    conn STRMADMIN/STRMADMIN@SOURCE

    BEGIN

    DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(

    schema_name => 'DB_SIASAT',

    streams_type => 'CAPTURE',

    streams_name => 'STRMADMIN_CAPTURE',

    queue_name => 'STRMADMIN.STREAMS_QUEUE',

    include_dml => true,

    include_ddl => true,

    source_database => 'SOURCE');

    END;

    /

    conn STRMADMIN/STRMADMIN@TARGET

    BEGIN

    DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(

    schema_name => 'DW_LIBRARY',

    streams_type => 'APPLY',

    streams_name => 'STRMADMIN_APPLY',

    queue_name => 'STRMADMIN.STREAMS_QUEUE',

    include_dml => true,

    include_ddl => true,

    source_database => 'SOURCE');

    END;

    /

    exp USERID=SYSTEM/oracle@source OWNER=db_siasat FILE=db_siasat.dmp

    LOG=db_siasat_exp.log OBJECT_CONSISTENT=Y STATISTICS = NONE

    imp USERID=SYSTEM/oracle@target FROMUSER=db_siasat TOUSER=dw_library

    CONSTRAINTS=Y FILE=db_siasat.dmp IGNORE=Y COMMIT=Y LOG=db_siasat_imp.log

    STREAMS_INSTANTIATION=Y

  • 20

    semua objek database di skema siasat. Setelah itu data yang sudah dieskpor di

    import ke database tujuan dimana proses import dilakukan di database tujuan.

    Pada tahap ini, pengujian berhasil atau tidaknya simulasi data warehousing

    dengan Oracle Streams dilakukan dengan cara memberi penambahan data pada

    database sumber (source) yang kemudian akan diterapkan di database tujuan

    (target).

    Proses pengujian dilakukan dengan cara melakukan penambahan data di

    database sumber pada salah satu tabel di skema DB_SIASAT yaitu pada tabel

    TB_NILAI. Data yang akan ditambahkan pada TB_NILAI adalah mahasiswa yang

    memiliki unsur NIM 972011. Keadaan awal tabel sebelum diberi penambahan data

    adalah enam baris dengan acuan mahasiswa yang memiliki NIM 972011 saja.

    Banyaknya jumlah record atau baris dapat dilihat dengan mengeksekusi perintah

    “select * from tb_nilai where nim like '972011%' order by nim;”. Kemudian

    dilakukan penambahan data dengan mengeksekusi perintah insert yang dapat

    dilihat pada Kode Gambar 5,

    Kode Program 5 kode program insert data mahasiswa

    Setelah dilakukan penambahan data sebanyak satu baris, keadaan banyaknya

    data pada tabel nilai di sumber database saat ini adalah sebanyak tujuh baris.

    Banyaknya data pada TB_NILAI dapat dilihat dengan mengeksekusi kembali

    perintah “select * from tb_nilai where nim like '972011%' order by nim;”.

    Keberhasilan dari penerapan Oracle Streams terlihat dari perubahan pada

    database target (data warehouse). Perubahan data dilihat dengan mengeksekusi

    perintah “select * from tb_nilai where nim like '972011%' order by nim;”. Eksekusi

    perintah tersebut memberi hasil berupa penambahan data pada data warehouse

    DW_LIBRARY dan diperlihatkan dengan bertambahnya record pada database

    target yang semula sebanyak enam baris menjadi tujuh baris. Hasil tersebut

    mendandakan bahwa proses Apply pada database target sudah berjalan dengan baik

    dan perubahan DML pada schema DB_SIASAT serta DB_PERPUSTAKAAN ke

    database target dapat berjalan dengan baik. Di mana perubahan yang dilakukan

    tetap mengacu pada bentuk topologi data warehouse yang sudah ditentukan.

    4. Simpulan Simpulan dari penelitian ini adalah database multiplatform dapat dijadikan satu

    ke dalam sebuah data warehouse menggunakan arsitektur staging area. Fungsi

    replikasi data di Oracle Streams dapat digunakan tidak hanya untuk melakukan

    replikasi database saja, namun replikasi data di Oracle Streams bisa digunakan

    dalam pembuatan data warehouse. Menggunakan fitur data warehouse loading,

    Oracle streams dapat diterapkan dalam pembuatan data warehouse tersebut.

    insert into tb_nilai values (12013,972011007,1,1,1,97);

  • 21

    5. Daftar Pustaka [1] Putra, Randy O., 2012, Rancang Bangun Data Warehouse Untuk Analisis

    Kinerja Penjualan Pada Industri Dengan Model Spa-Dw (Sales Performance

    Analysis – Data Warehouse) (Studi Kasus : Pt. Semen Padang), Semarang.

    [2] Amborowati, Armadyah, 2008, Perancangan Data Warehouse pada

    Perpustakaan STMIK AMIKOM Yogyakarta, Yogyakarta.

    [3] Ponniah, Paulraj, 2001, Data Warehousing Fundamentals: A Comprehensive

    Guide for IT Professionals, New York : John Wiley & Sons.

    [4] Oracle Doc, 2008, Oracle® Streams Concepts and Administration 10g Release

    2 (10.2), California: Oracle USA, Inc.

    [5] Handoyo, Priyo A., 2008, Perancangan dan Pembangunan Data Warehouse

    pada PLN Salatiga Menggunakan Skema Snowflake (Studi Kasus: PLN Salatiga),

    Salatiga.

    [6] Somya, Ramos, 2013, Perbandingan Traditional Business Intelligence dan

    Service-oriented Business Intelligence (SoBI) untuk Integrasi Data Akademik dan

    Keuangan (Studi Kasus: Universitas Kristen Satya Wacana), Salatiga.

    [7] Gadiel, Febrian, 2012, Perancangan dan Implementasi Sistem Replikasi Data

    pada Multiplatform Database menggunakan Teknologi Goldengate, Salatiga.

    [8] Wong, Lik, dkk, 2009, Oracle Streams: A High Performance Implementation

    for Near Real Time Asynchronous Replication, USA: IEEE Computer Society

    Washington.

    [9] Inmon , William H., Hackathorn, Richard D.,1994, Using the data warehouse,

    Wiley.

    [10] Poe, Vidette, 1995, Building A Data Warehouse for Decision Support, Prentice

    Hall .

    [11] Oracle Doc, 2003, Oracle® Database Data Warehousing Guide10g Release 1

    (10.1), California: Oracle USA, Inc.

    [12] Djoni, Darmawikarta, 2003, Mengenal Data Warehouse,

    http://ikc.dinus.ac.id/penulis/penulis-djoni.php. Diakses tanggal 12 Agustus 2014.

    [13] Gustiarahman, Irfan, 2006, Definisi Data Warehouse,

    http://zakki.dosen.narotama.ac.id/files/2012/02/Definisi-Data-Warehouse.doc.

    Diakses tanggal 10 Juni 2014.

    http://zakki.dosen.narotama.ac.id/files/2012/02/Definisi-Data-Warehouse.doc

  • 22

    [14] Garmany, John, 2004, Oracle Streams and ETL, http://www.dba-

    oracle.com/oracle9iAS_tips_streams.htm. Diakses pada tanggal 19 Februari 2014.

    [15] Oracle Doc, 2003, Oracle® Streams Concepts and Administration 11g Release

    1 (11.1), California: Oracle USA, Inc.

    [16] Yen E., McKinnel A.L.R., 2010, Oracle 11g Streams Implementer's Guide:

    Design, implement, and maintain a distributed environment with Oracle Streams:

    Birmingham: Packt Publishing Ltd.

    [17] Hoover, Steward V., & Perry, Ronald F., 1989, Simulation: A Problem –

    Solving Approach, Boston: Addison-WesleyLongman Publishing Co., Inc.

    [18] Oracle Doc, 2003, Oracle® Database Data Warehousing Guide10g Release 1

    (10.1), California: Oracle USA, Inc.

    http://www.dba-oracle.com/oracle9iAS_tips_streams.htmhttp://www.dba-oracle.com/oracle9iAS_tips_streams.htm