Logging database dengan pemanfaatan database proxy menggunakan php/java sebagai aplikasi pendukung

dokumen-dokumen yang mirip
PENERAPAN PHP/JAVA UNTUK PEMANFAATAN DATABASE PROXY

Pemrograman Database Java

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

Arsitektur Aplikasi Perangkat Enterprise JDBC. Antonius Rachmat C, S.Kom, M.Cs

Langkah-Langkah Pemrograman JDBC MENGIMPOR PACKAGE JAVA.SQL MEMANGGIL DRIVER JDBC

TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI. layanan (service) tertentu dalam sebuah jaringan komputer. Server. sebagai sistem operasi jaringan (network operating system).

Pengenalan APLIKASI DATABASE

SISTEM INFORMASI RUMAH SAKIT

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

BAB II LANDASAN TEORI. diperlukan dalam pembangunan website e-commerce Distro Baju MedanEtnic.

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI

BAB I PENDAHULUAN. I.1 Latar Belakang

BAB IV SISTEM MONITORING DAYA LISTRIK DENGAN MENGGUNAKAN WATTMETER DIGITAL BERBASIS WEB APLIKASI

Firewall. Pertemuan V

BAB III LANDASAN TEORI. sistem, pengertian sistem informasi, sumber dari sistem informasi, dan metodemetode. lainnya yang dipakai dalam pembahasan.

Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)

BAB II. KAJIAN PUSTAKA

SISTEM MONITORING PERALATAN BENGKEL MENGGUNAKAN METODE WATERFALL DENGAN MVC CODEIGNITER. Andriyani Siyoperman Gea ABSTRAK

APLIKASI BERBASIS WEB

PEMROGRAMAN JAVA : PENGENALAN JAVA

PHP + MySQL M. RUDYANTO ARIEF, MT

visit :

LAPORAN MATA KULIAH PERANCANGAN SISTEM BERBASIS JAVA

BAB 1 PENDAHULUAN. Komputer adalah kekuatan yang dominan di dalam masyarakat. Penggunaannya terus saja

SISTEM INFORMASI DATA SISWA

JDBC. Imam Fahrur Rozi

BAB II LANDASAN TEORI Sistem Informasi Pembelian dan Penjualan. terlebih dahulu akan menjelaskan pengertian masing-masing dari kata sebagai

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Mengenal Pemrograman Web Dengan JSP

IMPLEMENTASI DAN PENGUJIAN

No HP :

INSTALASI WEB SERVER PADA LINUX Oleh Dwi Kurnivan Setiono

Firewall. Pertemuan V

BAB 1 PENDAHULUAN. Sebagai universitas yang berkembang pesat dan memiliki rencana untuk

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

INTRODUCTION TO NETBEANS IDE

BAB II LANDASAN TEORI. di jaman sekarang, namun apakah Anda mengetahui sejarah nya itu?. Mungkin,

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

No Aplikasi Server Kegunaan

BAB II TINJAUAN PUSTAKA. Berkaca dari pesatnya laju perkembangan teknologi. modern, sistem penjadwalan guru di sebuah sekolah akan lebih

Perkenalan PBO (Java)

BAB III LANDASAN TEORI. permasalahan yang dibahas dan juga menjelaskan aplikasi-aplikasi yang akan

TUGAS FRAMEWORK 2 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA MOCHAMMAD ANNAS FAHRUDIN

PERANCANGAN TOOLS UNTUK NETWORK ADMINISTRATION BERBASIS PEMROGRAMAN SHELL PADA SISTEM OPERASI RASBIAN

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

Praktikum Sistem Basis Data. MySQL. Gentisya Tri Mardiani, M.Kom

Bab 4: Teknologi Yang Dipakai

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

BAB 2 LANDASAN TEORI

WAP (3) Muhammad Zen S. Hadi, ST. MSc. WAP - The Wireless Application Protocol

STANDAR KOMPETENSI DAN KOMPETENSI DASAR KELOMPOK PROGRAM PRODUKTIF SEKOLAH MENENGAH KEJURUAN

3.2 Membuat SQL Azure Server

BAB II LANDASAN TEORI. Pada tahap ini berisi pengertian dan penjelasan teori-teori yang digunakan penulis untuk pembangunan sistem.

BAB 2 LANDASAN TEORI. Bab ini akan menjelaskan masalah-masalah teoritis yang berkaitan dalam pembuatan

APLIKASI MANAJEMEN BANDWIDTH BERBASIS WEB MENGGUNAKAN PENGALAMATAN IPV6

BAB II LANDASAN TEORI

PERANCANGAN LibraryUMS-CMS MENGGUNAKAN CODEIGNITER

BAB III LANDASAN TEORI

Koneksi PHP -ODBC Persiapan

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TUGAS KEAMANAN JARINNGAN KOMPUTER

MEMBUAT WEB SERVICE DENGAN MENGGUNAKAN JAVA (STUDI KASUS E- COMMERCE PORTAL)

BAB I PENDAHULUAN I.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB III LANDASAN TEORI. Bab ini akan membahas hal-hal yang mendasari dibuatnya SIS, bahasa pemrograman, dan tools yang digunakan dalam pembuatan SIS.

Web Programming (WP) m telp : Rolly Yesputra

PENGEMBANGAN APLIKASI SMS MENGGUNAKAN GAMMU. Budi Maryanto. Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

BAB 2 LANDASAN TEORI. Istilah Komputer (Computer) diambil dari bahasa Latin Computare yang berarti menghitung

PEMROGRAMAN JAVA Sistem gudang

BAB III IDENTIFIKASI DAN KLASIFIKASI WEB LOG

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

BAB 2 LANDASAN TEORI. merupakan beberapa komputer yang terhubung satu sama lain dengan memakai kabel

BAB III ANALISA DAN PERANCANGAN

KONEKSI NETBEANS DENGAN DATABASE SQLITE

BAB III LANDASAN TEORI

MODUL PRAKTIKUM KE 9

Keamanan Web Server. Pertemuan XI WEB HACKING

BAB II LANDASAN TEORI. suatu maksud tertentu adalah bagian dari suatu sistem, yang mana sistem

Ruko Jambusari No. 7A Yogyakarta Telp. : ; Fax. :

BAB 3 PERANCANGAN SISTEM

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

BAB II TINJAUAN PUSTAKA

Internet Database. by: Ahmad Syauqi Ahsan

BAB III LANDASAN TEORI. dengan istilah web adalah sebuah sistem terhubung dari hypertext document yang

Pertemuan XI Database Connectivity Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

BAB II LANDASAN TEORI. Dalam pembangunan suatu sistem informasi, terdapat dua kelompok

KEKURANGAN KELEBIHAN APLIKASI DATA BASE

Makalah Tentang Konten Manajemen Sistem Untuk Ujian Kompetensi Online

BAB III LANDASAN TEORI. sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan

PENGERTIAN PHP DAN MYSQL

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Transkripsi:

Logging database dengan pemanfaatan database proxy menggunakan php/java sebagai aplikasi pendukung AFRIYUDI 1 M. Akbar 2 1 Program Studi Sistem Informasi Fakultas Ilmu Komputer. Universitas Bina Darma Palembang. email : babeyudi@yahoo.com, babeyudi@mail.binadarma.ac.id 2 Program Studi Teknik Informatika Fakultas Ilmu Komputer. Universitas Bina Darma Palembang. email : akbar@mail.binadarma.ac.id Abstrak PHP/java adalah extension yang digunakan sebagai jembatan untuk mengakses objek java dari script php. PHP/Java Bridge, merupakan integrasi teknologi php dan java yang tidak menggunakan java Native Interface (JNI), sehingga memungkinkan komunikasi antara php dan teknologi java seperti JSP, Servlet dapat terjalin. Penggunaan php/java ini merupakan salah satu cara untuk memanfaatkan teknologi java yang memungkinkan dibuat program logging yang merupakan media pencatat segala aktifitas penggunaan database seperti operasi data query yaitu select, update dan delete. Data logging ini nantinya digunakan sebagai bahan analisa untuk mengetahui trafik penggunaan database dan analisa keamanan data. Kata kunci: Database Proxy,Data Logging, PHP/JAVA 1. Pendahuluan Aktifitas database dalam program, terutama pada program yang digunakan oleh banyak pemakai seperti program web, apalagi menyangkut data penting seperti data nilai, data keuangan, dan lain-lainnya. Tentunya sangat dibutuhkan sebuah media yang bisa mencatat segala transaksi yang berhubungan dengan database seperti operasi query seperti select, update, delete. Pentingnya memonitoring segala aktifitas ini adalah untuk menjaga agar data penting tersebut tidak dapat disalahgunakan oleh user. Agar monitoring tersebut dapat dianalisa nantinya maka monitoring tersebut harus disimpan yaitu dalam sebuah log, yang berisi segala aktifitas query database. 2. Tinjauan Pustaka 2.1. Database Database adalah sekumpulan informasi yang disusun sedemikian rupa untuk dapat diakses oleh sebuah software tertentu. Database tersusun atas bagian yang disebut field dan record yang tersimpan dalam sebuah file. Sebuah field merupakan kesatuan terkecil dari informasi dalam sebuah database. Sekumpulan field yang saling berkaitan akan membentuk record. 2.2. Proxy Mekanisme dimana satu sistem menyediakan diri untuk sistem lain sebagai tanggapan atas permintaan untuk suatu protokol. 2.3. Data Logging Data Logging adalah aktivitas pencatatan secara sequensial pada suatu tindakan yang ingin diketahui prosesnya secara kronologis. Aktivitas logging digunakan sebagai bahan analisa atas suatu proses yang ingin diketahui. 2.4. RMI Remote Method Application (RMI) pada Java adalah mekanisme yang mengijinkan sebuah objek untuk mengakses metode objek lainnya yang berada pada alamat lain pada mesin yang sama ataupun mesin yang berbeda 2.5. PHP/JAVA extension

PHP/java adalah extension yang digunakan sebagai jembatan untuk mengakses objek java dari script php. Ada 3 macam php/java yang bisa digunakan yaitu : 1. Zend PHP/Java Bridge (comersial), produk buatan Zend ini menawarkan fitur yang menarik yaitu Single JVM Instantiation (hanya membutuhkan Satu JVM untuk seluruh script PHP), Direct Calls from PHP (Mengakses java langsung dari php) dan Seamless Integration (Library dan class terintegrasi langsung dengan script php) masing-masing jvm sedangkan php/java bridge seluruh script php yang menggunakan java diproses oleh satu JVM. Jadi untuk segi kecepatan maka php/java bridge lebih cepat dibandingkan dengan php/java extension. 3. Metodologi Penelitian 3.1. Arsitektur Sistem Merancang arsitektur pada awal pembangunan suatu sistem adalah suatu hal yang penting. Dengan merancang arsitektur, suatu sistem yang dibentuk akan memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya. Java Memiliki teknologi RMI yang memungkinkan membuat aplikasi basisdata dapat dijadikan database proxy. Tetapi tentunya tidak cukup sampai disini database proxy ini akan diakses melalui web. Tentunya perlu dipilih mekanisme yang tepat untuk mewujudkannya. Oleh sebab itu diperlukan kolaborasi antara java dengan bahasa pemrograman web seperti php. Gambar 1 : Zend php/java bridge 2. Java PHP Extension (free Source), dibuat oleh Sam Ruby dan team merupakan experiment untuk mengintegrasikan java dengan php menggunakan Java Native Interface(JNI). Pada awalnya disediakan pada source PHP namun perkembangannya kemudian, untuk versi linux(mandrake,redhat dan lainnya) produk ini dihentikan pada php versi 5.0 tetapi masih di support untuk versi 4.X.X sedangkan untuk versi windows sampai php versi 5.2.0 produk ini masih masih digunakan tetapi dalam bentuk binary code. 3. PHP/Java Bridge (free Source), merupakan integrasi teknologi php dan java yang tidak menggunakan java Native Interface (JNI), sehingga memungkinkan komunikasi antara php dan teknologi java seperti JSP, Servlet dapat terjalin. Sumber : http://www.zend.co.jp/products/platform/ Gambar 2 : php/java extension vs php/java bridge Perbedaan mendasar dari php/java extension dan php/java bridge adalah pada php/java extension masingmasing script php yang menggunakan java diproses oleh Gambar 3 : Arsitektur JetProxy 3.2. Alur Sistem Penggunaan php/java merupakan solusi sebagai jembatan penghubung yang memungkinkan pemanfaatan teknologi java pada php. Teknologi ini memungkinkan menarapkan aplikasi java di php. Ide utamanya adalah bagaimana agar Mysql dapat dimonitoring aktifitas data querynya.. Pertanyaannya adalah bagaimana hal ini bisa dilakukan?. Cara yang umum di terapkan pada database sekelas server adalah memungkinkan berkomunikasi dengan database melalui port, misalkan untuk mengakses MySQL dapat dilakukan dengan mengakses port 3306 dan SQL server dapat diakses melalui port 133. Menerapkan teknologi ini tentunya tidak bisa dengan php oleh sebab itu dimanfaatkanlah teknologi php/java. Solusinya adalah membuat Interface yang memungkinkan komunikasi tersebut dapat dilakukan yaitu dengan membuat Database Proxy, dengan sedikit modifikasi pada program jetproxy maka aktifitas query dapat disimpan. JetProxy merupakan java opensource yang memungkinkan mengakses database melalui IP dan Port. Kemudian

dengan sedikit modifikasi pada engine JetProxy Aktivitas monitoring disimpan dalam database. 2. Menjalankan jet Proxy server, dengan menjalankan script jetproxy.bat pada directory bin. Gambar 4 : Alur Kerja Sistem Port yang digunakan untuk mengakses database proxy adalah port 52372. Agar transaksi dilakukan dengan aman digunakan teknik tunneling dan server di firewall. 4. Pembahasan 4.1. Loging Aktifitas Database studi kasus pada database Mysql Pertama-tama kita jalankan Database Server dengan konfigurasi database mysql sebagai database server. Berikut ini akan dijelaskan bagaimana menggunakan Jet Proxy sehingga dapat digunakan pada php/java. Mekanisme untuk menjalankan jet Proxy adalah : 1. Setting Database Server yaitu dengan memperbaiki file jetproxy.properties pada directory config. Beberapa hal yang perlu di rubah adalah - REGISTRY_HOST="xx.xx.xx.xx", diisi ip address server. - REGISTRY_PORT="52372", diisi nilai port server. - SINGLE_PORT_OPERATION="true", diisi nilai true jika akan mengunakan satu port - FIREWALL_PROXY="xx.xx.xx.xx", disi nilai ip address jika firewall di aktifkan di server. - Kemudian menentukan database yang bisa di share, database yang dishare yaitu MYSQL. SHARES= datababe= DRIVER_CLASS="org.gjt.mm.mysql.Driver" CONNECTION_URL="jdbc:mysql://xx.xx.xx.xx /jadwal" CONNECTION_PROPERTIES= user="xxxx" password="xxxx" Gambar 5 : Menjalankan Server Jet Proxy Setelah server jetproxy berjalan maka langkah selanjutnya adalah membuat program clientnya yang merupakan program untuk mengakses database, yang nantinya query datanya dapat dilogging sehingga nantinya dapat dianalisa jika terjadi hal yang tidak diinginkan seperti perubahan nilai yang mencurigakan. 1. Membuat File java yang berfungsi sebagai library untuk mengakses query pada jetproxy. import java.util.*; import java.sql.*; import com.jet.jdbc.pdriver.*; public class test_jetproxy_client public ResultSet baca_data() // menentukan alamat host JET Proxy Server String host="xx.xx.xx.xx"; // Menentukan port untuk komunikasi dengan server int port=52372; // nama database share pada ProxyServer String share="datababe"; ResultSet rs=null; try PDriver pdriver=pdriver.getinstance(); Vector shares=pdriver.getavailableshares(host, port); String connectionurl="jdbc:jet:proxy@"+host+":"+port+ "?share="+share; Connection con=drivermanager.getconnection(connectionurl ); Statement state=con.createstatement(); String sql=" select hari_kul,kd_matkul,kelas from jadkul where kd_pa='if006' "; rs=state.executequery(sql);

catch (Exception ex) ex.printstacktrace(); return rs; 2. membuat file php yang berfungsi untuk memanfaat library yang telah di buat sebelumnya untuk mengakses database. <?php java_require("/java_prog/jetproxy/jpdriver.jar;/java_p rog/jetproxy/jars/jet_util.jar;/java_prog/jetproxy/"); $obj = new Java("test_jetproxy_Client"); $rs=new Java("java.sql.ResultSet"); $system = new Java('java.lang.System'); $mulai=$system->currenttimemillis (); $rs = $obj->baca_data (); $selesai=$system->currenttimemillis (); echo <table border=1><tr><td>hari Kuliah</td><td>Kode Matkul</td><td>Kelas</td></tr> ; while($rs->next()) $v1=$rs->getstring(1); $v2=$rs->getstring(2); $v3=$rs->getstring(3); echo <tr><td>$v1</td><td>$v2</td><td>$v3</td></tr> ; $selesai1=$system->currenttimemillis (); echo </table> ; @java_reset();?> 3. Menjalankan program php di browser 4. Pada sisi server yang tercatat adalah perintah query select hari_kul,kd_matkul,kelas from jadkul where kd_pa='if006', alamat client yang melakukan query, tanggal, nama database dan user, data ini tersimpan dalam database logquery pada table log. Gambar 7 : hasil Data logging 4. Kesimpulan Penggunaan php/java sebagai jembatan penghubung yang memungkinkan penggunaan database proxy, sehingga data query dapat di monitoring dan dicatat sehingga sewaktu-waktu dibutuhkan, data ini dapat membantu administrator mengambil keputusan lebih lanjut. Kelemahan penggunaan Database Proxy adalah akses yang sedikit lebih lambat. Dan kelebihannya adalah dapat diakses pada Sistem operasi apapun yang support php/java seperti LINUX, Windows dan MAC OS kemudian database yang digunakan bisa lebih dari satu database. 5. Daftar Pustaka Afriyudi, Pemrograman Web Dinamis dengan kolaborasi php dan java, Andi Offset, Jogjakarta, 2008. BÖekermier, Jost and Koerber, Jon., What is php/java bridge, http://php-java-bridge.sourceforge.net/pjb, November 2007. JETProxy A Type 3 JDBC proxy Driver, http://jmatrix.net/content/jetproxy_home.jsp JETProxy JDBC server, http://jmatrix.net/content/jetproxy_server.jsp Gambar 6 : Menjalankan Jet Proxy client