Perancangan Aplikasi Pencarian Data Digital Library
Perancangan Aplikasi Pencarian Data Digital Library
Abstract
Digital Library is one of the applications developed in line with
science and technology. The development conditions tend to bring
difficulties in the application development process. In respond to such
condition, it requires an Object Oriented Design (OOD) method that form
application into separate components. The components have their own
task and communicate to each other through functions. OOD is also
supported by Hibernate in mapping objects into the database. The data
search on digital library application is an unstructured data search, using
Lucene framework. The research produces application for digital librarys
data search with a more accurate search result, because searching is
done through the entire content of the documents.
Keyword: Object Oriented Design, Lucene, Hibernate.
1. Pendahuluan
Perpustakaan yang disajikan melalui media internet atau yang biasa disebut
perpustakaan digital memungkinkan akses informasi yang lebih cepat. Oleh karena
itu dalam penelitian ini, dikembangkan sebuah aplikasi yang dapat membantu dalam
menyediakan sarana sumber pendidikan yaitu berupa perpustakaan digital.
Perpustakaan digital ini dapat diterapkan di berbagai lembaga pendidikan yang ada
di Indonesia. Hal ini juga merupakan sebuah terobosan baru dalam rangka
menerapkan teknologi informasi ke dalam dunia pendidikan Indonesia. Perpustakaan
digital ini di dalamnya hanyalah berisi dokumen-dokumen digital seperti buku-buku
digital, artikel dan jurnal terbaru yang bisa diakses dengan mudah dan juga sangat
memudahkan dalam pemeliharaan data karena semuanya berbentuk digital. Aplikasi
perpustakaan digital ini merupakan salah satu contoh aplikasi yang terus mengalami
perkembangan, sesuai dengan perkembangan ilmu pengetahuan dan teknologi.
Karena aplikasi ini cenderung terus berkembang, maka ketika aplikasi ini dibangun
dibutuhkan sebuah pemikiran dan dasar perancangan yang tepat untuk memudahkan
38
2. Kajian Pustaka
Desain berorientasi objek merupakan pengembangan sistem yang berorientasi
objek untuk menerapkan kebutuhan-kebutuhan yang telah diidentifikasi sebelumnya
pada tahap analisis berorientasi objek [1]. Desain berorientasi objek ini sendiri
merupakan bagian dari pengembangan berorientasi objek yang di dalamnya juga
terdapat analisis berorientasi objek dan pemrograman berorientasi objek. Secara
spesifik, pengertian berorientasi objek berarti pengorganisasi perangkat lunak sebagai
kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini
yang membedakannya dengan pemrograman konvensional dimana struktur data dan
perilaku hanya berhubungan secara terpisah. Desain berorientasi objek merupakan
cara pandang baru dalam memikirkan suatu masalah dengan menggunakan model
yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek
yang merupakan kombinasi antara struktur data dan perilaku dalam suatu entitas.
Objek merupakan entitas dalam sebuah program komputer yang memiliki tiga
karakteristik yaitu state, behavior dan identity [2]. Objek dapat menyimpan
informasi. Informasi tersebut akan menentukan perilaku (behavior) selanjutnya dari
objek. Kumpulan dari informasi-informasi yang ditangani oleh sebuah objek disebut
state objek. State objek meliputi semua properti objek (biasanya statis) ditambah
nilai-nilai yang ada pada saat itu (biasanya dinamis) dari masing-masing properti.
State ini dapat berubah setiap waktu ketika sebuah operasi dijalankan oleh objek
tersebut. Misalnya sebuah mail box di dalam sistem voice mail. Objek mail box
dapat berupa state kosong (pada saat baru dibuat) atau penuh (setelah menerima
sejumlah besar pesan). State ini mempengaruhi perilaku objek berikutya Mail box
yang penuh akan menolak pesan baru yang masuk. Perilaku dari sebuah objek
ditentukan oleh operasi (dalam Java biasa disebut dengan istilah method) yang
mendukung objek. Objek dapat mengizinkan beberapa operasi dan juga menolak
yang lainnya. Operasi adalah fungsi atau transformasi yang dapat diterapkan ke
objek. Semua objek di kelas yang sama berbagi operasi yang sama. Identity adalah
properti objek yang membedakan dirinya dari semua objek yang lain. Setiap objek
yang diciptakan selama eksekusi di sistem berorientasi objek adalah unik, mempunyai
identitas yang unik.
Objek dibentuk berdasarkan definisi dari sebuah kelas objek.Objek
merupakan implementasi dari kelas. Sedangkan kelas merupakan pola atau template
untuk membentuk sebuah objek atau kumpulan objek yang memiliki sifat yang sama,
39
JOBC
JEE Server
TCP/IP
Client
Components
Web Browser
Use case diagram ini dirancang untuk identifikasi semua aktor yang akan
terlibat di dalam aplikasi dan proses yang akan berjalan pada aplikasi yang akan
dibangun. Diagram use case mendeskripsikan rangkaian kegiatan yang dijalankan
oleh sistem. Diagram use case pada Gambar 4 menggambarkan hubungan antara
masing-masing aktor dengan setiap proses yang ada di dalam sistem. Masing-masing
use-case menggambarkan sebuah proses yang berjalan di dalam sistem. Misalnya
untuk aktor administrator dapat melakukan proses deleted, update atau insert namun
harus melewati proses login terlebih dahulu. Sedangkan untuk user tidak dapat ikut
di dalam proses deleted, namun bisa terlibat di dalam proses simple searching atau
yang lainnya.
Application Server
Hibernate Framework
Artifacts
Hibernate Configuration
Hibernate Mapping
Database Server
JODC
<<artifact>>
POJOs
<<artifact>>
DAO Class
Lucene Framework
Components
LuceneIndex
<<artifact>>
Action Class
Struts Framework
Client
TCP/IP
Components
Web Browser
Artifacts
Struts Configuration
Struts Validator
Validation Rule
45
Setelah melakukan perancangan terhadap arsitektur dan objek yang berada di dalam
aplikasi, selanjutnya perlu dilakukan perancangan terhadap antar muka yang akan
digunakan untuk aplikasi. Antar muka ini merupakan media dimana user akan
berkomunikasi dengan aplikasi. Perancangan antar muka untuk aplikasi ini antara
lain.
Administrator
System
Browse Document
Advance Searching
Simple Searching
Deleted
User
Login
Update
Index Document
<< include >>
<< extend >>
Upload Document
Insert
46
47
Contoh file Hibernate pemetaan pada Gambar 9 menjelaskan spesifikasi dari tabel
admin yang akan dibentuk di dalam basisdata. Objek admin memiliki id sebagai
primary key dan terdapat dua kolom lainnya, yaitu kolom username dan password,
yang masing-masing memiliki tipe dan ukuran yang juga telah ditentukan. Setelah
file pemetaan dari setiap model telah terbentuk, maka dibutuhkan sebuah file yang
akan mengatur koneksi dengan basisdata dan menginformasikan dimana letak file
pemetaan setiap model berada, file yang dimaksud adalah file Hibernate config.
Contoh dari file Hibernate config diilustrasikan pada Gambar 10.
Gambar 10, menunjukkan file konfigurasi yang baru akan dijalankan, yang
ditandai dengan informasi create yang berarti tabel-tabel baru yang akan dibuat.
Untuk penggunaan selanjutnya, ketika tabel-tabel telah terbentuk dan aplikasi telah
berjalan, status tersebut dapat diubah menjadi update. Itu berarti setiap kali ada
program yang dieksekusi dan mengarah ke basisdata, tabel-tabel tersebut hanya
akan mengalami perubahan-perubahan sesuai dengan keinginan administrator. Namun
jika status tersebut tidak diubah ketika aplikasi telah berjalan, maka setiap kali ada
eksekusi perintah ke basisdata maka Hibernate akan melakukan overwrite terhadap
tabel yang sebelumnya telah dibentuk. Ketika tabel telah terbentuk melalui Hibernate, maka administrator dapat melakukan pengisian data, baik secara manual maupun
dapat melalui aplikasi. Menggunakan konsep objek berarti semua komponen di
48
Tampilan pada Gambar 11 merupakan salah satu contoh lain dari kelas-kelas
sesuai dengan yang telah ditentukan pada tahap perancangan. Gambar 11 tersebut
juga merupakan salah satu model yang juga memiliki metode setter dan getter.
49
Setelah model dari semua objek terbentuk dan file-file yang diperlukan untuk
hibernate selesai dikonfigurasi, maka untuk menggunakan model tersebut diperlukan
fungsi-fungsi yang akan mengakses model-model tersebut. Fungsi-fungsi tersebut di
dalam Java disebut dengan method, dimana setiap method akan mengembalikan
nilai yang berbeda sesuai dengan tugas dari method tersebut. Setiap method yang
memiliki relasi dengan basisdata diletakkan di dalam sebuah kelas DAO (pada
arsitektur MVC). Semua kembalian dari method yang dijalankan di dalam kelas
DAO, akan ditampilkan kembali kepada pengguna melalui view tertentu. Untuk
menghubungkan view dengan kelas DAO dibutuhkan sebuah kelas action yang
ditangani oleh framework struts. Framework ini bertugas untuk menghubungkan
dan mengatur jalannya alur komunikasi antara view dengan model dan DAO. Sebagai
contoh sederhana, ketika seorang admin ingin melakukan login dan validasi ke dalam
aplikasi untuk mulai melakukan manajemen aplikasi, maka admin memasukan
username dan password melalui sebuah form login yang disediakan pada view.
Ketika admin menekan tombol submit untuk login. Maka alur program berjalan
dan diarahkan ke sebuah kelas action (controller). Di dalam controller tersebut,
dipanggil method dari DAO yang akan mengambil data username dan password
yang ada di basisdata, hasil kembalian dari method tersebut akan dicocokan dengan
data yang dimasukan oleh admin di dalam form login, jika cocok maka kelas action
akan menyatakan bahwa operasi tersebut berhasil. Framework struts memiliki sebuah
file konfigurasi yang di dalamnya mengatur jika sebuah operasi di dalam kelas action
berhasil dilakukan maka selanjutnya alur program akan diarahkan ke view ataupun
kelas tertentu. Jadi ketika operasi cek login dinyatakan berhasil, maka Struts akan
50
5. Simpulan
Menggunakan Object Oriented Design (OOD) memudahkan dalam
menangani masalah yang lebih besar. Dengan menggunakan OOD, memungkinkan
53
9. Daftar Pustaka
[1]
[2]
[3]
[4]
[5]
[6]
54