APLIKASI PENJUALAN BUKU BERBASIS WEB DENGAN MEMANFAATKAN TEKNOLOGI MIDDLEWARE CORBA Esha Almaarif*), Maman Somantri, dan Kodrat Iman Satoto Jurusan Teknik Elektro, Universitas Diponegoro Semarang Jl. Prof Sudharto, SH. Kampus UNDIP Tembalang, Semarang 50275, Indonesia *) E-mail: [email protected] Abstrak Teknologi informasi dan komunikasi saat ini sudah berkembang dengan sangat pesat. Perkembangan ini, baik secara langsung maupun tidak akan mempengaruhi kehidupan sosial ekonomi masyarakat. Bagi sebuah organisasi, kebutuhan informasi yang cepat, aktual, dan akurat tentunya menjadi sebuah prioritas utama dalam pengambilan suatu keputusan. Untuk menghubungkan beberapa aplikasi yang dibangun dengan pemrograman yang terdistribusi agar dapat bekerjasama membentuk sebuah sistem, salah satu cara adalah dengan memanfaatkan teknologi middleware. Pada penelitian ini penulis membuat aplikasi sistem terdistribusi sederhana yang akan menunjukkan implementasi dari teknologi framework CORBA untuk pemrograman terdistribusi dengan Java. Implementasi dari penelitian ini adalah membuat sebuah aplikasi penjualan buku dengan Java sebagai media untuk koneksi dengan database MySQL, serta layanan web server yang dibangun dengan JSP. Program aplikasi CORBA yang digunakan dalam penelitian ini adalah Java ORB dan JacORB. Langkah-langkah penelitian ini adalah: studi pustaka, perancangan perangkat lunak, pembuatan perangkat lunak, pengujian, dan analisis. Penelitian ini menghasilkan program aplikasi penjualan buku berbasis web dengan memanfaatkan teknologi middleware CORBA yang dapat memberikan informasi bagi pelanggan maupun administrator melalui web browser yang terkoneksi dengan jaringan aplikasi server. Berdasarkan perancangan, implementasi, dan pengujian, maka dapat diambil kesimpulan bahwa teknologi Java ORB dan JacORB sebagai middleware dapat diaplikasikan dalam aplikasi penjualan buku berbasis web. Middleware CORBA-ORB dapat digunakan untuk membangun dua buah sistem yang bisa saling melakukan interoperasi. Kata kunci: Aplikasi Penjualan Buku, Middleware, CORBA Abstract Information and communication technology is now growing very rapidly. This development, both directly and not will affect the socio-economic life of the community. For an organization, the need for quick information, current, and accurate certainly be the top priority in making a decision. For connecting several applications which built by distributed programming in order to work together to form a system, one way is by using middleware technology. In this study, the authors make a simple distributed application system that will demonstrate the implementation of CORBA technology framework for distributed programming with Java. Implementation of this research is to create a book sale application with Java as medium to connect to the MySQL database, also web server services built with JSP. CORBA application program used in this study is Java ORB and JacORB. The steps of this research are: literature study, software design, software creation, testing, and analysis. This research resulted in bookselling web-based application program by using CORBA middleware technology that can provide information for customers and administrators through a web browser connected to the network server applications. Based on the design, implementation, and testing, it can be concluded that technology of Java ORB and JacORB as middleware can be applied in the web-based application of book sales. CORBA-ORB middleware can be used to build two systems could each do interoperates. Keywords: Book Sales Application, Middleware, CORBA 1 1. c. Produk, bersisi daftar produk buku yang dijual. d. Pencarian digunakan untuk mencari buku berdasarkan kata kunci yang dimasukan. e. Pemesanan, dilakukan oleh pelanggan yang telah login. buku yang telah dipesan kemudian dapat disimpan dalam keranjang belanja untuk selanjutnya dilakukan pembayaran melalui transfer bank. Untuk pembayaran melalui transfer bank dilakukan di luar sistem berikut konfirmasi pembayarannya. 2. Kebutuhan modul pengelolaan data oleh admin. Berisi apa saja yang dibutuhkan dalam pengelolaan data yang berhubungan langsung dengan admin. Kebutuhannya yaitu : a. Login, merupakan cara masuk ke dalam sistem. b. Pengelolaan data, merupakan pengelolaan berbagai data sistem. Data yang diolah yaitu data admin, pelanggan, kategori, produk, promo, transaksi, dan detail transaksi. Pendahuluan Teknologi informasi dan komunikasi saat ini sudah berkembang dengan sangat pesat. Perkembangan ini, baik secara langsung maupun tidak akan mempengaruhi kehidupan sosial ekonomi masyarakat. Bagi sebuah organisasi, kebutuhan informasi yang cepat, aktual, dan akurat tentunya menjadi sebuah prioritas utama dalam pengambilan suatu keputusan. Internet dapat menjadi salah satu solusi sebagai media untuk menyajikan informasi dan komunikasi yang bersifat global dan tidak memandang ruang dan waktu. Dalam dunia perdagangan pun semakin berkembang, perusahaan perdagangan pun mulai menggunakan Internet sebagai media pemasaran untuk memudahkan pelanggan sekaligus perusahaan tersebut. Sehingga antara penjual dan pembeli tidak perlu melakukan tatap muka secara langsung bahkan penjual tidak perlu memiliki toko atau semacamnya untuk memasarkan barangnya. Dengan adanya aplikasi penjualan berbasis web untuk menunjang kinerja bisnis yang lebih cepat dan efisien. Sehingga dapat membantu bagian-bagian terkait dalam pengambilan keputusan. Untuk menghubungkan beberapa aplikasi yang dibangun dengan pemrograman yang terdistribusi agar dapat bekerjasama membentuk sebuah sistem, salah satu cara adalah dengan memanfaatkan teknologi middleware. Middleware bisa dijelaskan pada dua tataran, yaitu tataran konsep/paradigma dan tataran aplikasi pemrograman. Pada tataran konsep, middleware digunakan sebagai jembatan atau penghubung dua aplikasi atau lebih yang memiliki perbedaan. Pada tataran implementasi, middleware adalah sebuah paket program instan yang digunakan untuk menghubungkan dua program yang berbeda platform atau produk/vendor [2]. Pada penelitian ini penulis membuat aplikasi sistem terdistribusi sederhana yang akan menunjukkan implementasi dari teknologi framework CORBA untuk pemrograman terdistribusi dengan Java. Implementasi dari penelitian ini adalah membuat sebuah aplikasi penjualan buku dengan Java sebagai media untuk koneksi dengan database MySQL, serta layanan web server yang dibangun dengan JSP. 2.2 Perancangan Topologi Sistem Pada bagian ini akan membahas topologi dari aplikasi penjualan buku berbasis web dengan memanfaatkan teknologi middleware CORBA seperti yang ditunjukan pada Gambar 1. Database (MySql) JDBC JDBC Server 2 (Java) Server 1 (Java) ORBD Java ORB service JacORB Aplikasi Web Base (JSP) 2. Perancangan Sistem 2.1 Perancangan Kebutuhan Sistem Kebutuhan akan fasilitas untuk mencakupi aktivitas apa saja yang dilakukan oleh sistem secara umum. Dilihat dari sisi pengguna sistem, kebutuhan ini dapat dibagi menjadi 2 yaitu : 1. Kebutuhan modul pemesanan produk untuk pelanggan. Berisi apa saja yang dibutuhkan pelanggan dalam melakukan pemesanan produk dan pendaftaran. Kebutuhannya yaitu : a. Pendaftaran untuk menjadi pelanggan secara gratis. Selanjutnya pelanggan dapat login dan berbelanja di sistem. b. Login, merupakan cara masuk ke dalam sistem. User Gambar 1. Topologi Sistem Pada Gambar 1 diatas dapat dilihat 2 buah server yang masing-masing server memiliki tugas berbeda. Server 1 melayani pengelolaan data pelanggan dan data produk, sedangkan Server 2 melayani proses transaksi dan kedua server tersebut terhubung ke database. ORBD service berfungsi seperti domain yang menunjukan alamat suatu objek pada Server 1 atau pada Server 2 12 sesuai dengan kebutuhan. Aplikasi web base berfungsi sebagai antarmuka yang akan digunakan oleh user. ada pada sistem. Sedangkan Use Case diagram dari sistem ini seperti yang ditunjukkan pada Gambar 2. 2.3 Perancangan Sistem Berdasarkan Pemodelan Aplikasi Penjualan Buku Disini perancangan sistem akan menggunakan diagram UML untuk memodelkan sistem yang akan dibuat. * Mendaftarkan Diri * 2.3.1. Perancangan Diagram Use Case * Diagram use case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang <<include>> Admin -kode_admin : int -nama : string -alamat : string -telp : string -email : string -password : string +tambah admin() : boolean(idl) +list admin() : string(idl) +edit admin() : boolean(idl) +hapus admin() : boolean(idl) +login() : string(idl) * * <<extend>> Memesan Produk * * Mengirim Pesanan <<extend>> Gambar 2. Diagram Use Case Kategori Transaksi 1 0..* * Pelanggan Admin Pelanggan -kode_pelanggan : int -nama : string -alamat : string -kode_pos : string -telp : string -email : string -password : string +pendaftaran() : boolean(idl) +list pelanggan() : string(idl) +edit pelanggan() : boolean(idl) +hapus pelanggan() : boolean(idl) +login() : string(idl) Mengelola Data Produk -kode_transaksi : int -tgl_transaksi : Date -status : string -kode_pelanggan : int -total : float -bank : string -no_rekening : string -atas_nama : string -tujuan : string -tgl_checkout : Date -tgl_kirim : Date -tgl_confirm : Date -keterangan : Date -lampiran : string +mulai transaksi() : boolean(idl) +list transaksi() : string(idl) +checkout transaksi() : boolean(idl) +konfirmasi pembayaran() : boolean(idl) +kirim pesanan() : boolean(idl) 1 1..* Detil Transaksi -kode_transaksi : string -kode_produk : string -jumlah : int -harga kali jumlah : float +tambah detil transaksi() : boolean(idl) +list detil transaksi() : string(idl) +edit detil transaksi() : boolean(idl) +hapus detil transaksi() : boolean(idl) 1 -kode_kategori : int -nama : string +tambah kategori() : boolean(idl) +list kategori() : string(idl) +edit kategori() : boolean(idl) +hapus kategori() : boolean(idl) 1 1..* Produk 1 -kode_produk : int -judul : string -penulis : string -penerbit : string -tahun : int -harga : float -kode_kategori : int -gambar : string -isbn : string -sinopsis : string -stok : int +tambah produk() : boolean(idl) +list produk() : string(idl) +update stok produk() : boolean(idl) +edit produk() : boolean(idl) +hapus produk() : boolean(idl) 1 1..* Detil_produk -kode_pratinjau : int -kode_produk : int -pratinjau : string +tambah detil produk() : boolean(idl) +list detil produk() : string(idl) +edit detil produk() : boolean(idl) +hapus detil produk() : boolean(idl) Gambar 3. Diagram Kelas 13 2.3.2. Perancangan Diagram Kelas (Class Diagram) 2.3.3. Diagram Komponen Diagram komponen dibuat untuk menunjukkan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. Secara umum dapat dikatakan bahwa diagram komponen digunakan untuk menjelaskan ketergantungan antar beragam komponenkomponen perangkat lunak. Gambar 4 menunjukkan diagram komponen untuk implementasi aplikasi penjualan buku berbasis web dengan memanfaatkan teknologi middleware CORBA. Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Berdasarkan diagram-diagram diatas, maka diagram kelas dari aplikasi penjualan buku berbasis web dengan memanfaatkan teknoligi middleware adalah seperti pada Gambar 3. Server 1 AdminImpl.class ProdukImpl.class PelangganImpl .class DetilProdukImpl .class KategoriImpl.class Aplikasi Web JSP Admin.class Produk.class Pelanggan.class Detil Produk.class Server 2 Kategori.class TransaksiImpl .class Detil Transaksi .class Transaksi.class DetilTransaksiImpl .class Gambar 4 Diagram Komponen (Interface Definition Language). File IDL digunakan untuk mendefinisikan tipe-tipe objek dengan mendefinisikan interfacenya. Sebuah interface terdiri dari sekumpulan nama operasi dan parameter-parameter untuk operasi-operasi tersebut. 3. Implementasi dan Pengujian Sistem 3.1 Spesifikasi Sistem Dalam perancangan dan implementasi sistem yang dibuat digunakan spesifikasi sistem yang menyangkut perangkat lunak dan perangkat keras: 1. PC atau laptop sebagai alat pembuat dan pengelolaan data. 2. Windows 7 sebagai sistem operasi. 3. Jdk 1.7.0.13 sebagai development tool aplikasi Java dan middleware JAVA-ORB. 4. Jacorb 3.2 sebagai salah satu middleware. 5. MySQL 5.5.8 sebagai server basis data. 6. Apache Tomcat 6.0 sebagai development tool aplikasi web JSP. 7. Mozila Firefox sebagai web browser. 3.2 Implementasi Pemrograman 3.2.1. Membuat File IDL Definition Language) 3.2.2. Menjalankan Servis ORBD (Object Request Broker Daemon) Setelah selesai membuat IDL selanjutnya untuk menjalankan Server 1 dan Server 2 terlebih dahulu menjalankan servis ORBD (Object Request Broker Daemon). ORBD berfungsi mengikat nama object dengan IOR-nya. IOR (Interoperable Object References) adalah referensi letak objek yang dienkripsi dalam bentuk string. Peran ORBD seperti halnya pada DNS (Domain Name Server) yang mengikat alamat website dengan alamat IP-nya. (Interface 3.2.3. Menjalankan Program Aplikasi Sever Server 1 berfungsi menangani proses pengelolaan data admin, produk, dan pelanggan. Terdapat empat buah Untuk mengimplementasikan kode program pada aplikasi server terlebih dahulu membuat file IDL 4 file java yaitu: AdminImpl.java, KategoriImpl.java, ProdukImpl.java, DetilProdukImpl.java, dan PelangganImpl.java yang merupakan kelas publik yang berisikan operasi-operasi yang berfungsi untuk mengolah data pada tabel-tabel yang ada pada basisdata, berdasarkan fungsinya yang dibebankan pada Server 1 yaitu mengelola data admin, produk, dan pelanggan (Gambar 4). Server 2 berfungsi menangani proses pengelolaan data transaksi. Terdapat dua buah java file yaitu: TransaksiImpl.java dan DetilTransaksiImpl.java merupakan kelas publik yang berisikan operasi-operasi yang berfungsi untuk mengolah data pada tabel-tabel yang ada pada basisdata, berdasarkan fungsinya yang dibebankan pada Server 2 yaitu mengelola data transaksi (Gambar 4). 3.2.4. Membuat Inisialisasi Komponen Java Bean ORB 3.3 Implementasi Antarmuka JSP Hasil dari analisis kebutuhan dijadikan sebagai dasar perancangan interaksi proses-proses sistem dan jenis aliran data yang telibat. Dari rumusan perancangan tersebut maka diimplementasikan bentuk-bentuk interface berupa aplikasi JSP berbasis web untuk modulmodul kerja berdasarkan entitas yang ada dalam sistem. 3.4 Pengujian Sistem Pada bagian ini akan dibahas tentang pengujian sistem yang dilakukan untuk mengetahui sejauh mana kemampuan sistem yang telah dibuat dan pengujian ini dilakukan pada sistem terdistribusi secara keseluruhan serta pada aplikasi pengguna. 3.4.1 Pengujian Teknologi CORBA pada Sistem Terdistribusi pada Pengujian ini dilakukan menggunakan host yang berbeda untuk setiap server, tentunya dengan IP yang berbeda. Pada pengujian ini aplikasi Server 1 ditempatkan pada komputer desktop, termasuk basisdata „db_jualbuku‟ dan aplikasi JSP sebagai antarmuka pengguna dengan alamat IP (192.168.1.3/24). Kemudian Server 2 dan aplikasi ORBD ditempatkan pada mesin virtual yang ada pada komputer desktop dengan alamat IP (192.168.1.2/24). Untuk web browser ditempatkan pada komputer laptop dengan alamat IP (192.168.50.80/24). Sebuah komputer digunakan sebagai router. IP Public yang digunakan pada router dengan alamat IP (182.255.0.139) dan alamat IP (192.168.1.1/24) sebagai gateway dari jaringan lokal untuk server. Supaya lebih jelas dapat dilihat skema jaringan untuk pengujian ini pada Gambar 5. Komponen Java Bean terletak pada aplikasi JSP (Java Server Page) yang berfungsi sebagai antarmuka user untuk mengakses informasi yang ada pada Server. Kedua aplikasi Server dan aplikasi JSP dihubungkan oleh middleware, sehingga komponen Java Bean adalah suatu bagian dari aplikasi antarmuka bagi user yang akan berhubungan langsung dengan middleware. Pada aplikasi penjualan buku dengan memanfaatkan teknologi middleware ini letak suatu objek yang berfungsi mengelola informasi berada diluar komponen Java Bean yaitu pada Server 1 dan Server 2. Sehingga perlu adanya inisialisai ORB pada tiap objek atau kelas yang ada pada elemen aplikasi antarmuka JSP. Akses via internet 182.255.0.139 Wifi 192.168.1.1 192.168.50.80 192.168.1.3 Web Browser 192.168.1.2 Aplikasi JSP ORBD Server 1 service Server 2 db_jualbuku User Gambar 5. Skema Jaringan Lokal untuk Pengujian fungsi akses ke basisdata („db_jualbuku‟) yang ada pada server tersebut. Gambar 6 menampilkan output pengujian dari komputer Server 1. Server 1 merupakan server penyedia layanan pengolahan data admin, pelanggan, dan produk. Server ini ditempatkan pada komputer dengan alamat IP (192.168.1.3/24). Komputer tersebut juga memiliki 5 Gambar 6. Output Pengujian Komputer Server 1 Server 2 merupakan server penyedia layanan pengolahan data transaksi. Server ini ditempatkan pada komputer dengan alamat IP (192.168.1.2/24). Selain aplikasi Sever 2 yang merupakan aplikasi utama komputer ini, pada server ini juga menjalankan aplikasi ORBD yang berperan sebagai server penamaan yang akan dituju oleh semua server dan client dalam sistem ini. Gambar 7 menampilkan output pengujian dari komputer Server 2. Gambar 7. Output Pengujian Komputer Server 2 Aplikasi JSP merupakan penyedia layanan antarmuka bagi pengguna. Aplikasi ini ditempatkan pada komputer laptop dengan alamat IP (192.168.50.80/24). Pada komputer ini terdapat web browser untuk mengakses aplikasi antarmuka. Gambar 8 menampilkan output dari aplikasi JSP. 6 Gambar 8. Output Pengujian Pada Laptop saling melakukan interoperasi. Dari hasil implementasi teknologi middleware ini dapat diperoleh beberapa keuntungan diantaranya pembagian beban kerja sistem karena adanya pembagian fungsi antara Server 1 dan Server 2. Aplikasi dapat memberikan informasi dan mengelola data buku dan transaksi dari sisi admin. Bagi pelanggan aplikasi ini dapat memberikan fasilitas pencarian buku dan pemesanan buku. 3.5 Analisis Hasil Penelitian Pada subbab ini akan dijelaskan analisis dari implementasi CORBA (Common Object Request Broker Architecture) pada aplikasi penjualan buku berbasis web. Analisis ini mengacu pada konsep teknologi CORBAORB yang menyangkut suatu paradigma komunikasi client dan server yang merupakan dasar untuk framework pemrograman jaringan dimana server merupakan mesin yang menyimpan informasi dan menunggu client memanggilnya kemudian menyampaikan kemabali informasi yang diminta oleh client. Sedangkan client adalah mesin yang membutuhkan jenis informasi dan memintanya kepada server. Pada dasarnya konsep client-server dengan memanfaatkan CORBA-ORB sebagai middleware pada aplikasi ini, seluruh aktivitas basisdata ini terpusat di server dan client hanya sebagai peminta layanan dari server, hal ini sangat bermanfaat karena selain tingkat keamanan sistem akan lebih baik dan pembagian fungsi pada kedua server akan lebih meringankan beban kerja pada server. Proses pada server aplikasi ini memungkinkan untuk diakses oleh banyak client secara bersama-sama dan server mampu melayani permintaan client dan memberikan informasinya dengan benar sesuai dengan objek referensi. Sehingga dalam penelitian ini membuktikan bahwa middleware CORBA-ORB dapat digunakan untuk membangun dua buah sistem yang bisa saling melakukan interoperasi. Referensi [1.] Li, M., Puder, A., Schieferdecker, I., “A Test Framework for CORBA Interoperability”, Proceedings of the Fifth International Enterprise Distributed Object Computing Conference (EDOC’01), IEEE, 2001. [2.] Somantri, M. “Konsep Pemrograman Jaringan dengan Memanfaatkan Middleware ORB (Object Request Broker)”, Jurnal TRANSMISI Universitas Diponegoro, Vol.7, 41-45, Desember 2005. [3.] Blair, G., Coulouris, G., Dollimore, J., Kindberg, T., Distributed Systems: Concepts and Design, 5th Edition, Addison-Wesley, Boston, 2012. [4.] Steen, M.V. & Tanenbaum, A.S., Distributed Systems: Principles and Paradigms, 2nd Edition, Prentice Hall, Upper Saddle River, 2007. [5.] Pilhofer, F., Puder, A., Romer, K., Distributed Systems Architecture: A Middleware Approach, Morgan Kaufmann, San Francisco, 2006. [6.] Bukhres, O. & Tari, Z., Fundamentals of Distributed Object Systems: The CORBA Perspective, Wiley-Interscience, Hoboken, 2001. [7.] Koller, J. & Tobermann, J.C., Global CAPE-OPEN: D822 Migration Cookbook, http://www.colan.org/Download/D822_migration_c ookbook.pdf, 2002. 4. Kesimpulan Berdasarkan perancangan, implementasi, dan pengujian, maka dapat diambil kesimpulan bahwa teknologi Java ORB dan JacORB sebagai middleware dapat diaplikasikan dalam aplikasi penjualan buku berbasis web. Middleware CORBA-ORB dapat digunakan untuk membangun dua buah sistem yang bisa 7 [8.] Henning, M. & Vinoski, S., Advanced CORBA Programming with C++, Addison-Wesley, Boston, 1999. [9.] Sekler, M. & Zambon, G., Beginning JSP, JSF and Tomcat Web Development: From Novice to Professional, Apress, New York City, 2007. [10.] Armstrong, E. dkk, The J2EE 1.4 Tutorial For Sun Java System Application Server Platform, Edition 8.2, Sun Microsystems, California, 2005. [11.] Wicaksono, A., Dasar-Dasar Pemrograman Java 2, Elex Media Komputindo, Jakarta, 2002. [12.] Esakkirajan, S. & Sumathi, S., Fundamentals of Relational Database Management Systems, Springer, New York City, 2007. [13.] Gehrke, J. & Ramakrishnan, R., Database Management Systems, 2nd Edition, McGraw-Hill, Boston, 2000. [14.] Oestereich, B., Developing Software with UML: Object-Oriented Analysis and Design in Practice, 2nd Edition, Addison-Wesley, Boston, 2002. [15.] ----, The Common Object Request Broker: Architecture and Specification, Object Management Group, 1999. [16.] ----, Java Platform Standard Edition 7 Documentation, Oracle Corporation, http://docs.oracle.com/javase/7/docs/, 2012. [17.] ----, JacORB Programming Guide 3.2, The JacORB Team, http://www.jacorb.org, December 7, 2012. 8