• Tidak ada hasil yang ditemukan

Dinatek April 2012 Edwin

N/A
N/A
Protected

Academic year: 2017

Membagikan "Dinatek April 2012 Edwin"

Copied!
7
0
0

Teks penuh

(1)

PENGEMBANGAN WEBSITE PENYEDIA JASA BABYSITTER DENGAN

FASILITAS INFORMATION EXTRACTION MENGGUNAKAN

FRAMEWORK JAVA STRUTS DAN HIBERNATE

Ir. Edwin Pramana, M.App.Sc.

Dosen Teknik Informatika Sekolah Tinggi Teknik Surabaya

e-mail: epramana@stts.edu

ABSTRAK

Saat mencari seorang babysitter, banyak para orang tua, khususnya ibu rumah tangga, mengalami kesulitan. Mereka tidak tahu harus mencari kemana dan bagaimana. Kesulitan tersebut ditambah dengan halangan waktu dan biaya yang tidak sedikit. Di sisi lain, kesulitan ditemui oleh para babysitter dalam menawarkan jasa babysitter yang dimilikinya. Oleh karena itu, aplikasi berbasis web ini dikembangkan untuk mengatasi masalah-masalah tersebut. Dengan aplikasi ini, diharapkan para ibu tumah tangga dengan para babysitter dapat melakukan komunikasi sehingga dapat memenuhi kebutuhan masing-masing. Pada aplikasi yang dibuat, babysitter dan ibu rumah tangga dapat melakukan registrasi untuk mendapatkan akun. Selain itu, deskripsi yang diberikan oleh seorang babysitter akan diolah untuk dapat diekstrak menjadi jenis-jenis informasi yang telah ditentukan. Hasil informasi tersebut dapat digunakan untuk menampilkan data yang relevan terhadap query yang diberikan oleh user seperti pengalaman kerja, umur, dan keahlian lainnya. Cabang ilmu yang digunakan untuk melakukan hal tersebut adalah Information Extraction dengan pendekatan Knowledge Engineering dan penyajian hasil dengan pendekatan best match. Tool yang digunakan untuk mengembangkan aplikasi ini adalah NetBeans IDE 6.8 dan bahasa yang digunakan adalah J2EE, dengan menggunakan Framework Struts dan Hibernate. Framework Struts digunakan untuk mengatur lapisan model, view, dan controller pada website. Sedangkan Framework Hibernate akan menangani koneksi aplikasi dan DBMS dengan pemetaan objek menjadi relasional secara otomatis. Ujicoba yang dilakukan terhadap aplikasi yang dibuat adalah ujicoba website dan ujicoba untuk information extraction.

Kata kunci: struts, hibernate, information extraction, babysitter

ABSTRACT

The search for a babysitter causes many problems and difficulties for parents, especially for mothers. They do not know how and where to find them. The amount of time and money required also aggravated the problem. On the other hand,babysitters also have problems to market their services. Those are the reasons why this web-based application is developed. With this application, mothers and babysitters can communicate and negotiate baby-sitting services.In the application, mothers and babysitters can register themselves to get an account. Moreover, the description of the registered babysitter will be processed so that the information can be extracted based on various information that have already been keyed-in before. The results can be used to show the relevant data to user query such as working experience, age, and other skills. The field of study used to carry out this process is Information Extraction with Knowledge Engineering Approach and the results are presented with best match approach.The tool used to develop this application is NetBeans IDE 6.8 and the language used is J2EE, using Hibernate and Struts Framework. Struts Framework is used to set the model, view, and controller layers of the website. The Hibernate Framework will handle the applications and DBMS connection with the automatic object to relational mapping. Testing of the system is web-based testing strategy and trials for information extraction.

(2)

PENDAHULUAN

Sehubungan dengan meningkatnya kebutuhan rumah tangga, banyak para ibu rumah tangga yang telah mempunyai anak merasa bingung. Kebingungan mereka disebabkan karena mereka merasa kesulitan untuk mencari penjaga atau perawat untuk anak-anak mereka, sedangkan mereka sendiri juga sibuk mengatur segala keperluan rumah tangga mereka. Selain itu, mereka harus mencari sendiri para tenaga kerja, khususnya

babysitter dan mereka terkadang tidak tahu harus mencari dimana dan melalui siapa. Terkadang mereka harus mencari melalui para agen tenaga kerja atau makelar, dan hal tersebut juga membutuhkan biaya yang tidak murah. Selain itu, mereka juga kurang mengerti akan pengalaman dari babysitter yang bekerja pada mereka, sehingga sering terjadi ketidakcocokan antara kedua belah pihak.

Oleh karena itu, pengembangan website ini dimaksudkan untuk menjadi penghubung antara para babysitter dengan para ibu rumah tangga yang sedang mencari babysitter. Sehingga dengan adanya fasilitas melalui website ini, maka masalah para ibu rumah tangga dapat teratasi. Mereka hanya perlu mencari babysitter yang cocok dengan keinginan hati dan kriteria yang ditentukan oleh mereka dan dapat langsung menghubungi babysitter tersebut untuk melakukan negosiasi dan persetujuan kerja.

FRAMEWORK STRUTS

Pada bagian ini akan dijelaskan mengenai teori– teori yang menjadi landasan dalam pengembangan website ini. Bagian ini menjelaskan mengenai pengenalan Framework Struts.

Proyek Struts ini dikembangkan pada bulan Mei 2000. Proyek tersebut dikembangkan oleh Craig McClanahan. Proyek ini disponsori oleh Apache Software Foundation (ASF) sebagai bagian dari proyek Jakarta.

Dari gambar 1 dapat dilihat bahwa Struts terbagi menjadi 3 komponen utama, yaitu Model, View, dan Controller. Model bertanggung jawab untuk menyediakan data dari database sekaligus melakukan perubahan data pada database. View merepresentasikan tampilan aplikasi kepada user dan bertanggung jawab untuk meminta inputan

dari user, mengirimkan request kepada lapisan controller dan menampilkan hasil dari request tersebut kepada user. Controller adalah perantara atau penghubung antara lapisan model dan lapisan view.

Gambar 1. Arsitektur Struts

Pada bagian ini akan dijelaskan mengenai teori yang berhubungan dengan Hibernate, termasuk arsitektur dari Hibernate, komponen-komponen apa yang diperlukan oleh Hibernate untuk dapat melakukan operasi-operasi database.

Hibernate adalah implementasi dari object-relational mapping yang bersifat open source. Hibernate merupakan suatu proyek yang dikerjakan dengan lisensi dibawah Lesser GNU Public. Source code untuk Hibernate tersedia pada website www.hibernate.org/. Proyek ini bertujuan untuk membuat suatu solusi yang terjadi dalam masalah pengaturan persistent data pada Java. Baris pengodean Hibernate diperkirakan mencapai 80.000 baris, disertai dengan 25.000 baris sebagai unit pengujian pada proyek ini .

Gambar 2 menjelaskan mengenai arsitekur Hibernate. Hibernate memiliki 3 komponen utama dalam melakukan tugasnya untuk melakukan pemetaan. Komponen-komponen tersebut adalah sebagai berikut:

(3)

• Connection management

Komponen ini akan mengatur service yang digunakan untuk menghubungkan aplikasi dengan sistem manajemen database yang digunakan.

• Transaction management

Komponen ini akan memampukan pengembang software untuk dapat menjalankan operasi database lebih dari satu pada waktu yang bersamaan.

• Object relational mapping

Komponen ini merupakan suatu teknik pemetaan data yang berasal dari model objek menjadi data dengan model relasional.

1. Sistem Information Extraction

Ada dua macam pendekatan dasar dalam mengembangkan sistem Information Extraction, yaitu Knowledge Engineering Approach dan Automatic Training Approach. Knowledge Engineering Approach adalah pengembangan sistem information extraction dengan melakukan pendekatan menggunakan pola bahasa yang digunakan oleh knowledge engineer atau pengembang pengetahuan. Rule based information Extraction merupakan penerapan Knowledge Engineering Approach.

Pendekatan kedua, yaitu Automatic Training Approach, sangat berbeda dengan pendekatan yang pertama. Automatic Training Approach merupakan suatu pendekatan dalam membangun sistem information extraction tanpa adanya bantuan dari tangan manusia, khususnya knowledge engineer, dalam menentukan anotasi dari teks untuk informasi yang diinginkan. Salah satu komponen yang dapat digunakan dalam melakukan training yaitu coreference.

2. Rule Based Information Extraction

Rule based information extraction adalah suatu jenis information extraction dimana dalam melakukan ekstraksi digunakan rule atau aturan-aturan untuk mendapatkan informasi sesuai dengan field-field yang telah ditentukan. Dalam pengembangan rule based information extraction diperlukan sekumpulan aturan, dimana aturan-aturan yang digunakan ditulis dengan format tertentu dan setiap kalimat yang akan diekstrak akan dicocokkan dengan aturan tersebut. Apabila terdapat kesamaan antara aturan dengan kalimat, maka informasi tersebut akan dimasukkan atau disimpan ke database sesuai dengan field yang cocok. Dan setiap field akan mempunyai aturannya masing-masing.

Segmen Program 1 rule untuk jenis industri

01: Rule 1:: (“we are work at” | “company in” |

“specialized in”) <industry> “.”

02: Rule 2:: “growing” <industry> “looking for”

Segmen program 1 merupakan segmen program yang menunjukkan bagaimana menulis sebuah rule. Rule tersebut ditujukan untuk mendapatkan informasi mengenai jenis industri yang ada. Pada rule 1 diberikan rule bahwa sebuah kalimat yang jenis industri dapat dimulai dengan kata we are work at, company in, atau specialized in. Tanda | menunjukkan arti atau sehingga sebuah kalimat yang berisi mengenai jenis pekerjaan, dapat diawali dengan salah satu dari kata-kata tersebut. Terdapat dua jenis rule atau rumus untuk dapat mendapatkan informasi mengenai jenis pekerjaan, dapat diawali dengan salah satu dari kata-kata tersebut. Rule 2 digunakan untuk mendapatkan jenis pekerjaan dengan kata-kata yang berbeda.

Pendekatkan hasil yang diperoleh dapat disajikan dalam dua bentuk, yaitu best match dan exact match. Sistem best match adalah memberikan hasil ekstraksi dengan menggunakan prioritas dimana hasil yang ditampilkan adalah mirip atau mendekati dari query yang diberikan. Sistem exact match adalah pendekatan hasil ekstraksi dimana informasi yang diberikan harus benar-benar mirip dengan query yang diinputkan.

DESKRIPSI SISTEM

Pada bagian ini akan dijelaskan mengenai analisa dari sistem website yang yang akan dikembangkan. Berikutnya akan dijelaskan mengenai deskripsi dan kebutuhan dari sistem baru yang akan dikembangkan. Pada bagian tersebut, akan diberikan penjelasan juga mengenai hal-hal apa yang dibutuhkan oleh sistem baru untuk dapat mengatasi masalah yang terjadi pada sistem saat ini. Selain itu, dijelaskan juga mengenai kebutuhan-kebutuhan tambahan untuk mendukung sistem yang baru dan korelasi antara Struts, Hibernate, dan Information Extraction dengan sistem yang dikembangkan.

1. Deskripsi dan Kebutuhan Sistem Baru

(4)

Profile

kapanpun selama tersedia koneksi internet. Dengan aplikasi berbasis website ini, kebutuhan biaya dapat ditekan lebih rendah untuk pihak-pihak yang terlibat.

Pada website yang akan dikembangkan, diperlukan suatu fasilitas yang dapat mengatasi masalah-masalah yang terjadi. Fasilitas tersebut sekiranya dapat memberikan kemudahan baik untuk pihak yang mencari jasa babysitter maupun bagi pihak babysitter yang hendak mencari pekerjaan. Fasilitas yang dibuat akan berfokus pada fasilitas pesan, fasilitas pendaftaran, dan fasilitas pencarian. Selain fasilitas-fasilitas tersebut, akan dikembangkan juga fasilitas tambahan yang berguna untuk memberikan pertimbangan bagi para orang tua sebelum menggunakan jasa babysitter. Fasilitas tersebut adalah fasilitas memberikan tinjauan dan peringkat untuk para babysitter.

2. Korelasi Struts, Hibernate dan Information Extraction pada Sistem yang Dikembangkan

Framework Struts merupakan framework yang menggunakan sistem MVC (Model View Controller) dalam implementasinya. Oleh karena itu, website yang dikembangkan juga akan dibagi menjadi tiga lapisan, yaitu lapisan model, lapisan view, dan lapisan controller. Pada lapisan model, akan dituliskan semua aturan-aturan bisnis yang menjadi standar dalam sistem website ini. Aturan-aturan dapat berupa validasi data atau relasi antar data. Contohnya adalah fasilitas lupa password. Fasilitas ini akan melakukan pengecekan apakah email yang diinputkan ada dalam database atau tidak. Jika tidak ada, maka email tidak akan dikirim.

Pada lapisan model ini, framework Hibernate akan berperan aktif dalam proses select, insert, update, dan delete data pada database. Selain itu, information extraction yang dipakai juga akan mendukung sistem yang dikembangkan melalui lapisan model.

MODEL

Bagian ini akan membahas implementasi domain model pada Hibernate. Domain model yang akan digunakan mencakup semua desain class yang akan digunakan untuk mendukung proses-proses pada website yang dikembangkan. Selain itu, implementasi dari information extraction juga akan dibahas pada bagian ini.

1. Domain Model

Pada sistem yang dikembangkan, akan terdapat lima class, yaitu class profile, class babysitter, class member, class message dan class review.

Gambar 3. Class Profile

Gambar 3 merupakan gambar dari class review. Class ini akan digunakan untuk menangani profil-profil para anggota pada bagian akun. Class profil-profile ini akan diturunkan pada class-class yang lain. Selain itu, hasil penurunan class akan membuat class profile mempunyai tabel sendiri, atau dengan kata lain terpisah dengan tabel anaknya.

2. Implementasi Information Extraction

Jenis information extraction yang dikembangkan pada pembuatan website ini adalah rule based information extraction. Kemudian, pendekatan hasil yang akan diberikan menggunakan pendekatan best match.

02: Rule D2 :: <tahun> ("tahun"|"bulan") "pengalaman"

(5)

Untuk menghitung hasil yang didapat akan digunakan algoritma Levenshtein Distance. Untuk menentukan prioritas dari hasil algoritma ini, maka akan dilakukan perhitungan dengan cara angka 5 dibagi dengan 1 ditambah hasil dari algoritma ini. Kemudian, hasil pembagian tersebut akan ditambahkan pada field prioritas pada tiap informasi yang didapat. Jadi, semakin besar hasil algoritma, maka nilai yang ditambahkan akan semakin kecil.

VIEW

Bagian ini akan membahas mengenai lapisan view yang ada pada framework Struts. Pada bagian ini, akan dijelaskan mengenai site map yang menggambarkan mengenai hubungan antar halaman. Kemudian, desain-desain dari halaman website akan dibahas. Desain untuk template akan dibagi menjadi topMenu, leftMenu, content, dan footer. Kemudian, desain untuk layout yang akan menjadi standar untuk semua halaman website yang dibuat. Selain itu, bagaimana cara menggunakan layout tersebut untuk dimasukkan ke dalam halaman website juga dapat dilihat pada penjelasan dibagian ini.

Gambar 4 adalah site map dari halaman-halaman website yang disediakan. Semua halaman website dibuat dengan menggunakan JSP. Pada gambar 4 terlihat bahwa hampir semua fasilitas yang ada pada website dapat diakses dari halaman homepage, yaitu index.jsp. Kemudian, user dapat menuju ke halaman lain dari homepage. Akan tetapi, terdapat juga halaman lain yang diakses bukan dari halaman awal, seperti viewProfile.jsp, createMessage.jsp, dll. Selain itu terdapat halaman web untuk memberikan informasi lainnya kepada user, seperti forgotPassSuccess.jsp dan contactUsSuccess.jsp.

Gambar 5 merupakan desain dari halaman utama, yaitu halaman yang akan muncul pertama kali saat user membuka website ini. Pada halaman ini terdapat informasi-informasi mengenai website yang dikembangkan. Informasi yang ditunjukkan tidak semua, akan tetapi terdapat link baca selengkapnya untuk dapat membuka halaman website yang berisi informasi secara lengkap dan jelas.

Gambar 4. Site Map

Gambar 5. Desain Halaman Utama

CONTROLLER

Bagian ini akan membahas mengenai lapisan controller, yang merupakan lapisan penghubung antara lapisan model dengan lapisan view. Controller akan menentukan halaman website selanjutnya yang akan dituju baik oleh sebuah action maupun oleh halaman website yang lain. File konfigurasi Struts adalah struts-config.xml. Pada file ini, semua form bean, global forward, action mapping, dan pengaturan yang lain akan diatur. Pengaturan yang lain adalah konfigurasi untuk file-file properti. File-file properti tersebut akan digunakan untuk menangani fasilitas dua bahasa pada website yang dikembangkan. Selain itu, konfigurasi plug in pada Struts juga diatur pada

Home page

aboutUs

contactUsSuccess createMessage

editProfile FAQ.

jsp

detailMessage advancedSearch

contactUs

inbox listData

registration

report

viewProfile .jsp

setMessageReview setBabysitter

(6)

file ini. Plug in ini berguna untuk mendefinisikan Tiles dan Validator.

Sedangkan konfigurasi pada Hibernate dilakukan pada file hibernate.cfg.xml. pada file tersebut, dilakukan pengaturan untuk koneksi ke database, file-file pemetaan semua class yang digunakan, serta komponen-komponen lain pada Hibernate. Komponen-komponen lain tersebut adalah hbm2ddl.auto dan show_sql.

UJI COBA

Uji coba akan dilakukan untuk dua macam hal, yaitu uji coba terhadap website dan uji coba terhadap fasilitas information extraction. Uji coba terhadap website akan dilakukan dengan cara menjalankan fasilitas-fasilitas utama dengan input data.

Uji coba dimulai dengan registrasi babysitter dan user pemakai jasa babysitter. Lalu dilanjutkan dengan ujicoba pencarian babysitter dengan menggunakan berbagai kriteria. Setelah menemukan babysitter yang memenuhi kriteria, ujicoba dilanjutkan dengan mengontak babysitter via halaman pesan.

Uji coba terhadap fasilitas information extraction dilakukan dengan memberikan deskripsi babysitter dan contoh query untuk melihat tingkat relevansi yang didapatkan.

KESIMPULAN

Adapun beberapa kesimpulan yang didapatkan antara lain:

1. Dengan menggunakan framework Struts, pengembang website dapat melakukan upaya pemeliharaan atau maintenance website dengan mudah dan tidak memerlukan waktu yang relatif lama. Hal tersebut dikarenakan Struts telah membagi struktur website menjadi 3 lapisan sehingga lapisan untuk aturan-aturan bisnis dibedakan dengan tampilan untuk website. Misalkan pengembang website ingin mengubah sebuah link pada beberapa halaman, maka hal tersebut cukup dilakukan dengan mengubah link atau actionForward pada controller saja. Karena sebagian besar link pada halaman maupun action, semua mengarah pada actionForward.

2. Manajemen file untuk website dapat diatur dengan mudah karena Struts memiliki lapisan controller yang mengatur semua file-file yang ada. Sehingga, pengembang website yang hendak mengubah satu atau lebih file, hanya perlu mengubah pengaturan pada controller Struts. Jika pengembang website ingin menghapus salah satu halaman website, maka hal tersebut cukup hanya mengubah konfigurasi pada controller Struts, dan mengubah link-link atau actionForward yang menuju ke halaman tersebut, menuju ke halaman yang lain.

3. Untuk membuat fasilitas dua bahasa atau lebih pada website, pengembang website tidak perlu membuatnya secara manual. Struts menyediakan fitur internationalization untuk mendukung fasilitas tersebut. Pengembang website cukup membuat beberapa file-file properti dengan tambahan karakter penanda bahasa pada tipe file, seperti en untuk Inggris, in untuk Indonesia. Kemudian design pada setiap halaman dapat menggunakan tag <bean:message /> untuk memanggil variabel dalam file-file properti tersebut.

4. Dengan Hibernate, pengembang website dapat mengimplementasikan pemetaan objek/relasional dengan lebih mudah. Pengembang website hanya perlu membuat class-class yang diperlukan beserta dengan file pemetaan dari class tersebut. Hal tersebut akan membuat Hibernate memetakannya menjadi tabel pada database secara relasional dengan otomatis.

5. Rule Based Information Extraction, sistem Information Extraction yang dikembangkan dengan pendekatan Knowledge Engineering, merupakan teknik untuk mendapatkan informasi dengan cara melakukan analisa pola pada sebuah inputan user. Pada website ini, inputan user berupa deskripsi babysitter dan query pencarian. Setelah mendapatkan pola pada inputan user, maka pembuatan rule dari pola-pola tersebut dilakukan. Dan proses ekstraksi dapat dilakukan.

DAFTAR PUSTAKA

1. Apache Software Foundation, 2000-2010 http://struts.apache.org/

2. Appelt, Douglas E., dan David J. Israel. 1999. Introduction to Information Extraction Technology

(7)

4. Complete Hibernate 3.0 Tutorial, 2008

http://www.roseindia.net/hibernate/index.shtml 5. Goodwill, James. 2002. Mastering Jakarta

Struts

6. HIBERNATE - Relational Persistence for Idiomatic Java, 2004

http://docs.jboss.org/hibernate/core/3.3/referenc e/en/html/index.html

7. Husted, Ted, Cedric Dumoulin, David Winterfeldt, dan George Franciscus. 2003. Struts in Action: Building web applications with the leading Java framework

8. Information extraction, 2009 http://wikipedia.org/wiki/ Information_extraction

9. Pemetaan_objek-relasional, 2010

http://id.wikipedia.org/wiki/Pemetaan_objek-relasional

Gambar

Gambar 2. Arsitektur Hibernate
Gambar 3. Class Profile
Gambar 4. Site Map

Referensi

Dokumen terkait

Demikian Berita Acara Penjelasan Pekerjaan ini dibuat dengan sebenarnya dan ditandatangani bersama wakil penyedia barang/jasa serta Panitia, untuk dipergunakan

menggunakan kendaraan pribadi sebagai alat transportasi untuk mencapai tempat tujuan. Keadaan ini disebabkan pada masyarakat kalangan atas masih melekat budaya feodal,

Masyarakat yang bersikap baik mau melaksanakan imunisasi lebih dari tiga perempat (80,0%), sedikit lebih besar dibandingkan dengan 83,3 persen responden yang memiliki sikap

memperdalam materi dan dapat pula mengecek materi yang telah dipahami.. Tugas tersebut dapat merangsang peserta didik untuk aktif belajar.. baik secara individual

menganalisis perbedaan rerata konsumsi buah dan sayur, IMT, frekuensi olahraga serta durasi olahraga sebelum dan setelah intervensi antara kelompok yang diberi konseling

biaya yang akan digunakan untuk suatu penggunaan tertentu (bukan nilai historis, tetapi lebih pada biaya sekarang atau biaya yang diproyeksikan dimasa yang akan

a) Komisi yang dilarang. Seorang akuntan dalam praktik publik tidak boleh menerima komisi untuk merekomendasikan atau mereferensikan produk atau jasa kepada

Menganalisis perbedaan jumlah kepadatan Plasmodium falciparum berdasarkan pemeriksaan mikroskopis yang diambil sebelum dan sesudah penderita diberikan pengobatan menggunakan obat