PERANCANGAN DAN PEMBANGUNAN PRANGKAT LUNAK MIGRASI DATA LINTAS DBMS DENGAN VB.NET (Studi Kasus: MySQL and Oracle) DESIGN AND DEVELOPMENT OF CROSS DBMS DATA MIGRATION SOFTWARE USING VB.NET (Case Study: MySQL and Oracle) Muhammad Dwi Aldhi1, Wahyu Hidayat2, Dahliar Ananda3 1,2
1
Prodi D3 Manajemen Informatika, Fakultas Ilmu Terapan, Universitas Telkom
[email protected],
[email protected], 3
[email protected]
Abstrak Proses migrasi data antar DBMS sangat mungkin terjadi dalam penggunaan sebuah basis data yang sebabkan oleh perubahan sistem, format, atau tipe storage. Migrasi data biasanya dilakukan dengan bantuan komputer dengan metode atau tool tertentu seperti CSV file, ODBC, Sql Dump atau dengan 3rd Party Tools. Dengan banyaknya metode dan tool migrasi data, muncul beberapa kendala bagi pengguna seperti masalah ketersediaan tools, driver, bahkan perlunya tingkat pemahaman tertentu untuk suatu tool yang digunakan untuk memigrasikan suatu data. Dari permasalahan tersebut penulis merancang dan melakukan pembangunan sebuah perangkat lunak migrasi data lintas DBMS. Perangkat lunak ini dapat menjadi salah satu alternatif solusi untuk melakukan proses migrasi data lintas DBMS antara DBMS MySQL dan Oracle.Perangkat lunak yang dibangun dapat menangani proses migrasi data meliputi proses konfigurasi koneksi, menampilkan informasi struktur tabel, memilih level migrasi baik secara penuh atau parsial, melakukan konversi tipe data, serta mencatat hasil migrasi dalam sebuah log file. Perangkat lunak yang dikembangkan menggunakan metode Software Development Life Cicle (SDLC) waterfall, dengan menggunakan bahasa pemrograman Visual Basic.Perangkat lunak ini dapat melakukan proses migrasi data penuh untuk skema HR dengan rata-rata waktu 20,43 detik dari DBMS Oracle ke MySQL dan 12,96 detik untuk skenario sebaliknya. Perangkat lunak ini juga dapat melakukan proses migrasi data parsial untuk tabel Employees dengan rata-rata waktu 5,95 detik dari DBMS Oracle ke MySQL dan 2,19 detik untuk skenario sebaliknya.Dengan adanya perangkat lunak ini dapat menjadi tambahan solusi bagi pengguna untuk melakukan proses migrasi data lintas DBMS untuk DBMS MySQL dan Oracle. Kata Kunci: Migrasi Data, Lintas DBMS, MySQL, Oracle. Abstract Cross DBMS data migration process is very possible to do when using a database which caused by transformation of system, format, and storage type. Data migrationis usually done with a computer help using a specific tool or method such as CSV file, ODBC, Sql Dump or 3rd Party Tools. With allthis data migration tools and methods, there are some problem like availablility of tools, driver even need of a certain level of data migration tools understanding. From those problems, writer designed and developed a cross DBMS data migration.This software may become an alternative solution to do a cross DBMS data migration process between MySQL and Oracle. This software could handle data migration process including connection configuration process, show table structure information, choose data migration software level full or partial, do data type convertion, and also save migration process result in a log file. This software developed using waterfall SDLC method, using visual basic programming language. This software can do a full data migration process for HR schema with average time around 20,43 second from DBMS Oracle to MySQL and 12,96 second for the opposite scenario.This software can do a partial data migration process for table Employees with average time around 5,95 second from DBMS Oracle to MySQL and 2,19 second for the opposite scenario. This software can be an additional solution for users to do cross DBMS data migration between MySQL and Oracle DBMS. Keywords: Data Migration, Cross DBMS, MySQL, Oracle.
1. Pendahuluan Setiap Database Management System (DBMS) memiliki perbedaan dan ciri masing-masing, contoh DBMS yang banyak digunakan saat ini adalah MySQL dan Oracle.Dalam penggunaannya, sangat memungkinkan terjadi proses migrasi data antara kedua DBMS ini. Migrasi data dapat dilakukan dengan berbagai cara seperti dengan menggunakan CSV file, ODBC, Sql Dump atau dengan 3rd Party Tools.Tetapi masih beberapa kendala dalam melakukan migrasi data dengan cara-cara tersebut.Contohnya, untuk membuat koneksi ke sebuah DBMS diperlukan beberapa driver khusus dan harus memiliki pemahaman dalam penggunaannya, sedangkan tidak semua pengguna memiliki driver atau tool yang diperlukan serta memahami bagaimana melakukan konfigurasinya. Sebelum melakukan proses migrasi data, terkadang pengguna membutuhkan informasi mengenai struktur tabel yang akan dipindahkan. Oleh karena itu dibutuhkan perangkat lunak yang bisa menyajikan informasi tersebut kepada pengguna.Selain itu, untuk bisa melakukan konfigurasi migrasi data seperti memilih tabel atau skema yang akan dimigrasikan biasanya menggunakan tooltertentucontohnya SQL Loader yang dilakukan melalui konsol dan harus memiliki pemahaman sintaksis sedangkan tidak semua orang menguasai konsol dan sintaks pada tool yang akan digunakan. Dalam proses migrasi data, terkadang pengguna juga membutuhkan data mengenai proses migrasi yang telah dilakukan. Tetapi tidak semua metode atau tool migrasi data dapat menyajikan informasi tersebut.Berdasarkan beberapa permasalahan tersebut, penulis melakukan perancangan dan pembangunan sebuah perangkat lunak migrasi data yang nantinya diharapkan dapat menjadi salah satu alternatif solusi dalam melakukan proses migrasi data lintas DBMS. 2. Dasar Teori dan Metodologi 2.1. Dasar Teori Migrasi data adalah teknik atau proses pemindahan data, untuk data yang mengalami perubahan karena alasan tertentu seperti adanya perubahan sistem, dimana sistem baru yang akan diimplementasikan membutuhkan data dari sistem yang lama [1]. Database Management System (DBMS) adalah software yang dirancang untuk membantu memelihara dan memanfaatkan koleksi data yang besar [2]. MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi General Public License (GPL). MySQL merupakan turunan dari salah satu konsep Structured Query Language (SQL). Sebagai perangkat lunak basis data yang bersifat open source, MySQL dapat dikatakan lebih unggul dibandingkan perangkat lunak basis data lain dalam query data [3]. Oracle adalah salah satu perangkat lunak basis data yang banyak dipakai oleh perusahaan si seluruh dunia saat ini karena memiliki sistem keamanan yang handal.Selain itu, Oracle merupakan perangkat lunak basis data yang dapat menampung serta mengelola data dengan kapasitas yang sangat besar serta dapat mengaksesnya dengan sangat cepat.Sintaks SQL Oracle hampir seluruhnya telah memenuhi standar ANSI-92 [4]. Visual Basic (VB) merupakan salah satu bagian dari produk pemrograman yang dikeluarkan oleh Microsoft. VB merupakan turunan bahasa pemrograman Basic yang menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat. Programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan [5]. Pengujian Black-Box adalah salah satu metode pengujian yang berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian pengujian Black-Box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional suatu program [6].
2.2. Metodologi Metode yang digunakan dalam pembuatan proyek akhir ini adalah pendekatan metodeWaterfall. Menurut waterfall adalah metode pengembangan klasik yang sistematis dimana setiap hasil dari suatu tahap akan menjadi masukan awal untuk tahapan selanjutnya.
Gambar 1 Metode Waterfall [7]
a.
Requirements Definition Pada tahap ini dilakukan analisis mengenai kebutuhan fungsional yang harus dimiliki oleh perangkat lunak migrasi data yang akan dibangun dalam proyek akhir ini. b. System and Software Design Proses yang menggambarkan fitur perangkat lunak yang diinginkan secara detail dan umum. Dalam proyek akhir ini pada tahap desain digunakan teknik analisis dan perancangan berorientasi objek. Adapun model yang dihasilkan adalah diagram use case, diagram aktivitas, diagram kelas dan diagram sekuen. c. Implementation and Unit Testing Pada tahap pengembangan, desain yang telah ada dari tahap selanjutnya diterjemahkan kedalam kode program.Dalam proyek akhir ini digunakan bahasa pemrograman visual basic dengan pemrograman berorientasi objek. d. Integration and System Testing Tahap pengujian perangkat lunak dilakukan untuk memastikan kebenaran dan kelengkapan perangkat lunak. Adapun teknik pengujian yang digunakan adalah teknik pengujian black box testing untuk menguji fungsionalitas sistem. Selain itu juga dilakukan uji performa untuk mengukur waktu yang dibutuhkan untuk melakukan proses migrasi. Adapun proses dokumentasi proyek akhir dilaksanakan sejak awal pengerjaan sampai akhir pengerjaan proyek akhir. 3.
Pembahasan 3.1. Gambaran Umum Sistem Perangkat lunak migrasi data ini dibangun untuk menjadi salah satu alternatif solusi untuk melakukan proses migrasi data lintas DBMS antara DBMS MySQL dan Oracle.Perangkat lunak yang dibangun dapat menangani proses migrasi data meliputi proses konfigurasi koneksi, menampilkan informasi struktur tabel, memilih level migrasi baik secara penuh atau parsial, melakukan konversi tipe data, serta mencatat hasil migrasi dalam sebuah log file.
3.2. Kebutuhan Sistem Berikut ini adalah perangkat-perangkat yang digunakan dalam mengimplementasikan sistem informasi. 3.2.1 Spesifikasi Hardware Berikut ini merupakan spesifikasi perangkat keras yang digunakan dalam membangun sistem informasi ini. Tabel 1 Spesifikasi Perangkat Keras
No 1 2 3
Perangkat Keras Processor RAM Hard Disk
Spesifikasi yang Digunakan Core i3 2,53 GHz 2 GB 320 GB
3.2.2
Spesifikasi Software Berikut ini merupakan spesifikasi perangkat lunak yang digunakan dalam membangun sistem informasi ini. Tabel 2 Spesifikasi Perangkat Lunak No 1 2 3 4
Perangkat Lunak Sistem operasi DBMS IDE Bahasa Pemrograman
Spesifikasi yang Digunakan Windows 8.1 pro 32-bit MySQL 5.0.8, Oracle 11g XE Microsoft Visual Basic 2010 express VB.NET
3.3. Perancangan Perangkat Lunak Perangkat lunak migrasi data yang dibangun memiliki enam fungsionalitas utama dalam penggunaanya antara lain. a. Membentuk koneksi ke DBMS asal Sebelum terhubung ke DBMS asal, pengguna harus melakukan konfigurasi koneksi. Proses konfigurasi dilakukan dengan memasukkan data username, passworddan konfigurasi servis DBMS. b. Membentuk koneksi ke DBMS tujuan Untuk membentuk koneksi ke DBMS tujuan, pengguna harus melakukan konfigurasi koneksi ke DBMS asal terlebih dahulu. Proses konfigurasi koneksi ke DBMS tujuan dilakukan dengan memasukkan data username, password dan konfigurasi servis DBMS. c. Menampilkan struktur skema dan tabel pada DBMS asal dan tujuan Jika pengguna sudah berhasil terhubung ke DBMS maka user dapat melihat struktur skema dan tabel yang ada pada DBMS tersebut. d. Memilih level proses migrasi data untuk skema atau tabel Sebelum melakukan proses migrasi data, pengguna harus memilih level data yang akan dimigrasikan (seluruh tabel atau satu tabel tertentu) sesuai dengan kebutuhan migrasi data. e. Melakukan konversi tipe data Dalam proses migrasi data sistem akan memeriksa perbedaan tipe data antara kedua DBMS. Jika ada perbedaan tipe data, maka sistem akan melakukan konversi tipe data sesuai dengan padanan tipe datanya. f. Melakukan pencatatan hasil migrasi Selama proses migrasi berlangsung, perangkat lunak akan melakukan pencatatan hasil migrasi data kedalam sebuah log file yang berisi keterangan seperti tanggal dan waktu, jumlah tabel serta jumlah data yang dipindahkan.
4. Kesimpulan Kesimpulan yang dapat diambil dari keseluruhan proses proyek akhir ini adalah perangkat lunak migrasi data lintas DBMS yang dibuat memiliki fungsional sebagai berikut. a. Konfigurasi koneksi untuk kedua DBMS asal dan tujuan untuk kepentingan proses migrasi data. b. Dapat menampilkan informasi struktur tabel seperti data kolom, constraints dan index. c. Dapat memilih level migrasi data baik secara penuh atau parsial (migrasi spesifik tabel). d. Melakukan proses migrasi data dan konversi tipe data dari DBMS asal ke DBMS tujuan. e. Menyajikan informasi hasil proses migrasi data dalam sebuah log file. 5. Daftar Pustaka [1] J. Morris, Practical Data Migration, Swindon: The British Computer Society, 2009. [2] J. G. Raghu Ramakrishnan, Database Management System, New York: Mcgraw Hill, 1999. [3] F. S. Suryantoro, Pengolahan Database dengan MySQL, Semarang: Penerbit Andi, 2006. [4] B. R. Imam Heryanto, Menguasai Oracle SQL dan PL/SQL, Bandung: Informatika Bandung, 2009. [5] W. Komputer, Microsoft Visual Basic 2010 & MySQL, Semarang: Andi Offset, 2011. [6] R. S. Pressman, Rekayasa Perangkat Lunak, Yogyakarta: Penerbit Andi, 2002. [7] I. Sommerville, Software Engineering(Rekayasa Perangkat Lunak)/Edisi 6/Jilid I, Jakarta: Erlangga, 2003.