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: almaarif.esha@gmail.com
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.
1. 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. 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.
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 pengelolaanberbagai data sistem. Data yang diolah yaitu data admin, pelanggan, kategori, produk, promo, transaksi, dan detail transaksi
.
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.
Aplikasi Web Base (JSP)
User Server 2 (Java) Server 1 (Java) Database (MySql) Java ORB JacORB JDBC JDBC ORBD service
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
sesuai dengan kebutuhan. Aplikasi web base berfungsi sebagai antarmuka yang akan digunakan oleh user.
2.3 Perancangan Sistem Berdasarkan
Pemodelan
Disini perancangan sistem akan menggunakan diagram UML untuk memodelkan sistem yang akan dibuat.
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
ada pada sistem. Sedangkan Use Case diagram dari sistem ini seperti yang ditunjukkan pada Gambar 2.
Admin Memesan Produk Pelanggan * * Mengelola Data Produk Mengirim Pesanan Mendaftarkan Diri * * * * * *
Aplikasi Penjualan Buku
<<extend>> <<extend>> <<include>>
Gambar 2. Diagram Use Case
+tambah admin() : boolean(idl) +list admin() : string(idl) +edit admin() : boolean(idl) +hapus admin() : boolean(idl) +login() : string(idl) -kode_admin : int -nama : string -alamat : string -telp : string -email : string -password : string Admin
+tambah produk() : boolean(idl) +list produk() : string(idl) +update stok produk() : boolean(idl) +edit produk() : boolean(idl) +hapus produk() : boolean(idl) -kode_produk : int -judul : string -penulis : string -penerbit : string -tahun : int -harga : float -kode_kategori : int -gambar : string -isbn : string -sinopsis : string -stok : int Produk +tambah kategori() : boolean(idl) +list kategori() : string(idl) +edit kategori() : boolean(idl) +hapus kategori() : boolean(idl) -kode_kategori : int -nama : string
Kategori
+mulai transaksi() : boolean(idl) +list transaksi() : string(idl) +checkout transaksi() : boolean(idl) +konfirmasi pembayaran() : boolean(idl) +kirim pesanan() : boolean(idl) -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 Transaksi
+tambah detil transaksi() : boolean(idl) +list detil transaksi() : string(idl) +edit detil transaksi() : boolean(idl) +hapus detil transaksi() : boolean(idl) -kode_transaksi : string
-kode_produk : string -jumlah : int -harga kali jumlah : float
Detil Transaksi +pendaftaran() : boolean(idl)
+list pelanggan() : string(idl) +edit pelanggan() : boolean(idl) +hapus pelanggan() : boolean(idl) +login() : string(idl) -kode_pelanggan : int -nama : string -alamat : string -kode_pos : string -telp : string -email : string -password : string Pelanggan 1 1..* 1 0..* 1 1..* 1 1
+tambah detil produk() : boolean(idl) +list detil produk() : string(idl) +edit detil produk() : boolean(idl) +hapus detil produk() : boolean(idl) -kode_pratinjau : int -kode_produk : int -pratinjau : string Detil_produk 1 1..*
2.3.2. Perancangan Diagram Kelas (Class
Diagram)
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.
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 komponen-komponen perangkat lunak. Gambar 4 menunjukkan
diagram komponen untuk implementasi aplikasi
penjualan buku berbasis web dengan memanfaatkan teknologi middleware CORBA.
AdminImpl.class PelangganImpl .class ProdukImpl.class KategoriImpl.class TransaksiImpl .class DetilTransaksiImpl .class Server 1 Server 2 Aplikasi Web JSP Admin.class Pelanggan.class Produk.class Kategori.class Transaksi.class Detil Transaksi .class Detil Produk.class DetilProdukImpl .class
Gambar 4 Diagram Komponen
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
(Interface
Definition Language)
Untuk mengimplementasikan kode program pada aplikasi server terlebih dahulu membuat file IDL
(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.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.
3.2.3. Menjalankan Program Aplikasi Sever
Server 1 berfungsi menangani proses pengelolaan data admin, produk, dan pelanggan. Terdapat empat buah
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 ORB pada
Komponen Java Bean
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.
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
modul-modul 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
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.
182.255.0.139 User 192.168.1.3 192.168.50.80 Web Browser db_jualbuku
Akses via internet
Wifi 192.168.1.1 192.168.1.2 ORBD service Server 1 Server 2 Aplikasi JSP
Gambar 5. Skema Jaringan Lokal untuk Pengujian
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
fungsi akses ke basisdata („db_jualbuku‟) yang ada pada server tersebut. Gambar 6 menampilkan output pengujian dari komputer Server 1.
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
Gambar 8. Output Pengujian Pada Laptop
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 CORBA-ORB 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.
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
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.
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.
[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