Abstrak
Pesatnya perkembangan perangkat
lunak Sistem Manajemen Basis Data (Database Management System - DBMS) pada
saat ini banyak sekali pilihan produknya. Dengan beragamnya pilihan produk DBMS
menjadikan kehadiran akan kebutuhan perangkat lunak yang dapat melakukan
migrasi data dari satu produk ke produk lain sangat diperlukan. Migrasi data
dapat diartikan sebagai melakukan suatu proses perpindahan data yang ada di
dalam basis data sedemikian rupa, sehingga data dapat digunakan lagi dengan
menggunakan perangkat lunak DBMS lain yang berbeda.
Migrasi data pada penelitian ini
merupakan sebuah proses untuk memindahkan data berupa obyek tabel atau relasi
dengan atau tanpa relationships yang
ada pada basis data Microsoft Access ke basis data MySQL dan Oracle. Selama
proses migrasi data, perangkat lunak melakukan konversi obyek tabel yang ada
pada basis data sumber ke dalam dokumentasi berformat SQL. Hasil dari konversi
tersebut kemudian di upload ke basis
data tujuan sesuai yang dipilih.
1.
Pendahuluan
Perkembangan perangkat lunak
manajemen basis data (Database Management
System - DBMS) pada saat ini banyak sekali pilihan produknya. Beragam
produk DBMS telah hadir untuk ukuran yang terpadu mulai dari aplikasi skala
kecil hingga skala besar (enterprise),
bentuk pemodelannya, komersial atau free,
open source dan sebagainya.
Adakalanya pengelola (administrator)
basis data harus memindahkan data dari produk DBMS yang satu ke dalam produk
DBMS yang lain. Hal ini dapat disebabkan karena pengelola basis data mengganti
perangkat lunak yang selama ini digunakan, atau memperoleh data dari luar untuk
digabung dengan data yang sudah ada, namun data yang masuk menggunakan
perangkat lunak yang berbeda dari yang digunakan selama ini.
Pada kasus di atas maka pengelola
harus melakukan suatu proses yang disebut migrasi data. Migrasi data dapat diartikan sebagai melakukan suatu
proses perpindahan data yang ada di dalam basis data sedemikian rupa sehingga
data dapat digunakan lagi dengan menggunakan perangkat lunak (DBMS) lain yang
berbeda.
2.
Identifikasi Masalah
Berdasarkan pada latar belakang
yang ada, maka identifikasi perumusan masalah dalam penelitian ini adalah
bagaimana cara membangun perangkat lunak untuk melakukan proses migrasi data
pada basis data MS Access ke basis data MySQL dan Oracle.
3.
Tujuan
Tujuan yang ingin dicapai dari penelitian antara lain
:
- Melakukan migrasi data tanpa mengakibatkan kehilangan atau kerusakan pada basis data aslinya.
- Menjaga konsistensi dan keutuhan struktur skema tabel hasil dari migrasi data khususnya pada pemetaan tipe data, agar sesuai dengan struktur yang ada pada basis data aslinya.
- Perangkat lunak dapat melakukan proses konversi data sebelum dilakukan proses upload data yaitu memasukan data hasil konversi ke basis data tujuan.
- Perangkat lunak dapat menghasilkan dokumentasi berformat SQL dari proses konversi, yang nantinya dapat dimanfaatkan dalam back up data.
4.
Batasan Masalah
Berdasarkan
pada penelitian dalam pembangunan perangkat lunak, Penulis membatasi masalah sebagai
berikut :
- Perangkat lunak yang dibuat hanya dapat melakukan proses migrasi data pada basis data MS Access ke basis data MySQL dan Oracle.
- Proses migrasi data tidak dapat melakukan proses sebaliknya yang ada pada point (1) di atas.
- Data yang dimigrasikan berupa objek tabel beserta record-record yang ada di dalamnya.
- Dokumentasi format SQL hasil dari konversi hanya berisi sintaks yang berupa perintah DDL (create, alter, drop) dan perintah DML (insert).
- Metodologi analisis yang digunakan adalah metode orientasi obyek dengan menggunakan perkakas pemodelan perangkat lunak UML.
- Pada penelitian ini produk DBMS yang digunakan adalah Microsoft Acess 2003, MySQL v5.0.2 dan Oracle 10g.
5. Analisis Pemetaan
Skema Relasi
Analisis
yang akan dibahas dalam hal ini dititikberatkan pada analisis terhadap pemetaan
tipe data dari struktur skema relasi basis data MS Access ke tipe data pada
struktur skema relasi basis data di MySQL maupun Oracle.
Tabel
atau relasi yang ada pada basis data MS Access dalam proses migrasi terlebih
dahulu dikonversikan ke dalam sebuah format SQL yang berisi perintah DDL (Create Table, Drop Table) dan perintah
DML (Insert). Isi format tersebut
harus sesuai dengan penulisan sintaks SQL yang didukung oleh kedua basis data
tujuan.
Penggunaan
tipe data untuk pengembangan basis data di masing-masing DBMS berbeda-beda,
tetapi masih menggunakan dasar tipe data yang sama menurut skalar standar ISO.
Pemilihan tipe data untuk struktur skema relasi atau tabel yang cocok
menyebabakan kinerja basis data menjadi optimal dan menjaga penggunaan ruang disk yang efisien.
Berikut
penulisan sintaks SQL dalam format MySQL yang nantinya dihasilkan dari proses
konversi. Urutan penulisan sintaks SQL tersebut dimulai dari perintah Drop Table, Create Table serta diakhiri dengan perintah Insert.
1.
Perintah Drop Table
berfungsi untuk menghapus suatu tabel pada basis data, penulisan sintaksnya
adalah sebagai berikut :
Drop
Table If Exists nama_tabel;
2.
Isi dalam format SQL tersebut diteruskan dengan perintah
pembuatan skema relasi dengan penulisan sintaksnya adalah sebagai berikut :
Create
Table nama_tabel (
[Primary key (nama_kolom),]
nama_kolom_1 tipe
data [(ukuran)] [Not Null] [Default
‘nilai’],
nama_kolom_2 tipe
data [(ukuran)] [Not Null] [Default
‘nilai’],
...,
nama_kolom_n tipe
data [(ukuran)] [Not Null] [Default
‘nilai’]
);
3.
Perintah SQL terakhir yang digunakan adalah perintah Insert yang berfungsi untuk memasukan record ke dalam skema relasi yang telah
dibuat. Penulisan sintaks yang digunakan adalah sebagai berikut :
Insert Into nama_tabel Values (nilai_1, nilai_2, ..., nilai_n);
Penggunaan
tipe data untuk masing-masing kolom yang ada pada tabel di basis data MS Access
setelah dikonversikan harus disesuaikan dengan tipe data yang didukung oleh
MySQL. Pada Tabel 5.1 di bawah ini memetakan hasil konversi skema relasi untuk
tipe data yang didukung MS Access ke dalam tipe data yang didukung MySQL.
Tipe Data MS Access
|
Tipe Data MySQL
|
Boolean(yes/no)
|
Smallint
|
Currency
|
Decimal
|
Date/Time
|
Datetime
|
LongBinary
|
Blob
|
Memo
|
Longblob
|
Number(Byte)
|
Tinyint
|
Number(Double)
|
Double
|
Number(Integer)
|
Int
|
Number(Single)
|
Float
|
Number(Long
Integer)
|
Integer/Int
|
Text
|
Varchar
|
Berikut
penulisan sintaks SQL dalam format yang didukung oleh Oracle yang nantinya akan
dihasilkan dari proses konversi. Urutan penulisan sintaks SQL tersebut dimulai
dari perintah Drop Table, Create Table, Alter Session serta diakhiri dengan perintah Insert.
1.
Perintah Drop Table
berfungsi untuk menghapus suatu tabel pada basis data, penulisan sintaksnya
adalah sebagai berikut :
Drop
Table nama_tabel;
2.
Isi dalam format SQL tersebut diteruskan dengan perintah
pembuatan skema relasi dengan penulisan sintaksnya adalah sebagai berikut :
Create
Table nama_tabel (
Constraint nama_constraint Primary key
(nama_kolom),
nama_kolom_1 tipe
data [(ukuran)][Not Null],
nama_kolom_2 tipe data [(ukuran)][Not
Null],
...,
nama_kolom_n tipe data [(ukuran)][Not
Null]
);
3.
Penggunaan perintah Alter
Session pada format SQL di Oracle berfungsi untuk mengembalikan format
tampilan nilai Date ke format default. NLS pada perintah tersebut
berarti National Language Standard
dengan penulisan sintaks selengkapnya adalah sebagai berikut:
Alter
Session Set nls_date_format = ’DD-MON-YYYY’;
4. Perintah SQL
terakhir yang digunakan adalah perintah Insert
yang berfungsi untuk memasukan data ke dalam skema relasi yang telah dibuat.
Penulisan sintaks yang digunakan adalah sebagai berikut:
Insert
Into nama_tabel Values (nilai_1, nilai_2, ..., nilai_n);
Pada
Tabel 5.2 di bawah ini memetakan hasil konversi skema relasi untuk tipe data
yang didukung MS Access ke dalam tipe data yang didukung Oracle.
Tabel 5. SEQ Tabel_3. \* ARABIC 2 Pemetaan tipe
data MS Access ke Oracle
Tipe Data MS Access
|
Tipe Data Oracle
|
Boolean(yes/no)
|
Number
|
Number(Byte)
|
Number
|
Number(Double)
|
Float
|
Number(Integer)
|
Number
|
Number(Single)
|
Float
|
Number(Long
Integer)
|
Number
|
Currency
|
Number
|
LongBinary
|
Blob
|
Memo
|
Clob
|
Date/Time
|
Date
|
Text
|
Varchar2
|
6. Perancangan
Sistem
Perangkat
lunak migrasi data adalah sebuah program atau perangkat lunak yang dibangun
guna melakukakan migrasi data yang ada pada vendor
DBMS Microsoft Access ke vendor DBMS
lainnya yang berbeda, yaitu MySQL dan Oracle.
6.1
Pemodelan Sistem
Pada Gambar 6.1 diagram use case di bawah, terdapat beberapa interaksi antara actor dengan use case yang ada. Interaksi tersebut menggambarkan secara global
proses kerja dari perangkat lunak yang dibangun.
6.2
Arsitektur Sistem
Pada Gambar 6.2 di bawah ini
merupakan arsitektur dari perangkat lunak migrasi basis data yang akan
diimplementasikan.
Gambar 6.2 Arsitektur perangkat lunak yang akan diimplementasikan
7. Pengujian
Pengujian perangkat lunak
ini menggunakan metode pengujian black
box. Pengujian black box berfokus
pada persyaratan fungsional perangkat lunak yang diimplementasikan.
Berikut
rencana pengujian untuk melakukan migrasi data dari basis data MS Access ke
basis data MySQL dan Oracle dengan menggunakan perangkat lunak yang diimplementasikan, lihat Tabel 7.1.
Tabel 7.1 Rencana pengujian pada perangkat lunak
Kelas Uji
|
Butir Uji
|
Input Parameter Awal
|
Input basis data sumber
|
Pilih basis data tujuan
|
|
Menentukan path
dan nama file untuk output
|
|
Proses Konversi Data
|
Login ke MS Access
|
Pilih tabel
|
|
Tentukan nama constraint
|
|
Proses Upload Data
|
Upload data ke MySQL
|
Upload data ke Oracle
|
|
Setting Program
|
Setting program untuk input/output
|
Setting program untuk login ke MySQL
|
|
Setting program untuk login ke Oracle
|
8. Kesimpulan
Berdasarkan
penelitian yang dilakukan oleh Penulis mengenai pembangunan perangkat lunak untuk
melakukan migrasi data dari basis data MS Acces ke basis data MySQL dan Oracle,
maka dapat disimpulkan sebagai berikut:
1. Keutuhan struktur data
pada basis data sumber tetap terjaga.
2. Pada proses migrasi data, menghasilkan dua proses sesuai yang di harapkan yaitu
proses konversi data dan proses upload data.
3.
Hasil konversi data ke dalam dokumentasi dapat dijadikan
sebagai back up data.
4.
Dari hasil pengujian, struktur skema relasi dengan data/record
yang ada di dalamnya telah sesuai dengan basis data aslinya.
9. Daftar Pustaka
[1] Heriyanto, Bambang. 2004. Sistem Manajemen Basisdata Pemodelan,
Perancangan dan Terapanya. Informatika. Bandung.
[2] Fathansyah.2002. Buku Teks Ilmu Komputer Basis Data.
Informatika Bandung.
[3] Tarigan, Edi Prima. 2003. Menguasai Oracle SQL Mencangkup Oracle 8i/9i. PT.
Elex Media Komputindo. Jakarta.
[4] Budhiharto, Widodo dan Rahadi,
Saftian. 2005. Aplikasi Basis data Oracle
10g dengan VB6/VB.Net. PT. Elex Media Komputindo. Jakarta.
[5] Rusmawan, Uus. 2005. Merancang Koneksi Basis data dalam Visual
Basic 6.0. PT. Elex Media Komputindo. Jakarta.
[6] MADCOMS. 2002. Seri Panduan Pemrograman Basis data Visual
Basic 6.0 Dengan Crystal Reports. Penerbit Andi. Yogyakarta.
[7] Kurniawan, Yahya. 2004. Belajar Sendiri Microsoft Office Access 2003.
Elex Media Komputindo. Jakarta.
[8] Pressman, Roger S. 2002. Rekayasa Perangkat Lunak. Penerbit Andi.
Yogyakarta.
[9] Dharwiyanti, Sri dan Wahono, Romi
Satria. 2003. Pengantar Unified Modeling
Language. IlmuKomputer.Com. Jakarta.
[10]Fowler, Martin.2005. UML
Distilled Edisi 3. Penerbit Andi. Yogyakarta.
[11]Kadir, Abdul. 2004. Dasar
Aplikasi Database MySQL Delphi. Penerbit Andi. Yogyakarta.
[12]http://www.icarz.com
Tidak ada komentar:
Posting Komentar