TEKNIK REVERSE ENGINEERING

Posted: February 23, 2011 in Software Engineering

Kita mengenal E-R Diagram atau jika sering menggunakan aplikasi Power Designer kita akan mengenal Conceptual Data Model(CDM) dan Physical Data Model(PDM), sebenarnya baik E-R atau CDM maupun PDM itu mirip dan tujuannya sama yaitu memodelkan data.

Sebelum database dibuat, biasanya database dirancang terlebih dahulu dengan E-R Diagram/CDM/PDM, itu idealnya, lalu bagaimana jika database nya sudah ada namun E-R Diagram nya tidak ada/tidak dibuat? Teknik seperti ini dinamakan Reverse Engineering. Ada beberapa software yang bisa melakukan reverse engineering (menghasilkan Diagram dari database), di phpmyadmin kalau tidak salah sudah ada. Pada kesempatan kali ini saya ingin share aplikasi untuk reverse engineering opensource yang small tapi powerfull. Dikatan small karena ukurannya kecil, dikatakan powerfull karena fiturnya cukup lengkap sehingga memudahkan developer dalam memahami database. Aplikasi yang dimaksud adalah SchemaSpy.

Untuk men-download SchemaSpy klik disini.

SchemaSpy adalah aplikasi java (berekstensi jar), sehingga untuk menjalankannya butuh Java Runtime Environment yang bisa di download di situs SUN (pengembang Java). SchemaSpy juga membutuhkan program GraphViz untuk menampilkan output grafik. Selain itu SchemaSpy juga membutuhkan JDBC untuk berkoneksi dengan database server, misalkan database yang akan di reverse adalah postgresql, maka kita membutuhkan JDBC untuk postgresql. JDBC bisa di-download gratis di situs resmi database server, misalkan kita menggunakan postgresql maka JDBC bisa di download di sini.

Berikut software dependencies dari SchemaSpy:
1. JRE -> Download dan instalkan JRE di komputer
2. GraphViz -> Download dan instalkan GraphViz di komputer
3. JDBC -> Dibutuhkan pada saat me-running SchemaSpy.

Setelah semua software terkumpul dan telah diinstalkan, maka SchemaSpy siap untuk di-running. Caranya, jalankan script berikut ini di command prompt/terminal:

java -jar [file schemaspy] -t [dbtype] -host [alamat server] -db [nama database] [-s [nama skema jika ada]] -u [username] [-p [password jika ada]] -dp [path ke JDBC] -o [output folder]

Misalkan database kita adalah postgresql, servernya di lokal komputer, nama databasenya = spp2007, skemanya = public, usernamenya = spp, passwordnya = l3rd0rf, lokasi JDBCnya = C:\schemaspy\postgresql-8.4-701.jdbc4.jar, dan output direktori tempat menyimpan output SchemaSpy nya di = C:\schemaspy, scriptnya menjadi seperti ini:

java -jar schemaSpy_4.1.1.jar -t pgsql -host localhost -db spp2007 -s public -u spp -p l3rd0rf -dp C:\schemaspy\postgresql-8.4-701.jdbc4.jar -o C:\schemaspy

Setelah di-running, SchemaSpy akan menghasilkan file-file HTML di folder C:\schemaspy. Output yang dihasilkan dari SchemaSpy berisi penjelasan tiap objek (tabel,view, dll) di database, diagram relasi antar tabel (bisa kita bilang PDM), dan anomali tabel. Berikut screenshot diagram yang dihasilkan SchemaSpy:

Untuk lebih jelas dan lengkapnya bisa lihat contoh outputnya disini.  Selamat mencoba.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s