Posted by : Unknown
Selasa, 21 November 2017
Konsep MVC (Model-View-Controller) merupakan salah satu
penerapan compound design pattern dalam pemrograman berorientasi objek, dimana
konsep ini membedakan kelas-kelas yang merepresentasikan data (Model)
dengan kelas-kelas yang mengatur tampilan program (View)
dan kelas-kelas pengaturan data (Controller).
Sesungguhnya, membangun program dengan menerapkan konsep
MVC akan lebih merepotkan dibandingkan cara biasa karena developer
harus membuat lebih banyak kelas dan package sesuai dengan konsep MVC di
atas. Membangun program dengan cara biasa umumnya hanya membuat 1 buah kelas
untuk satu tampilan (contoh: NewStudentForm.java) dan fungsi-fungsi seperti:
pengontrollan data, koneksi ke database, dan pemrosesan data dilakukan pada 1
kelas tersebut. Pada MVC, fungsi-fungsi tersebut dipisah menjadi kelas-kelas
baru dan saling terhubung.
Walaupun konsep MVC sangat merepotkan di awal, namun
dalam jangka panjang, kode-kode program yang telah dibuat akan lebih
mudah dalam maintenance karena developer bisa mengubah salah satu kode
program tanpa harus mengganggu kode program yang lainnya. Contohnya, jika anda
telah membangun Aplikasi Rumah Sakit yang berjalan pada Desktop dan anda ingin
membuatnya menjadi berbasis web, maka anda cukup mengganti kelas-kelas bagian
View-nya saja tanpa perlu mengubah kelas-kelas Controller dan Model.
Dalam hal koneksi aplikasi ke database,
penerapan MVC pada Java ditambahkan dengan pembuatan kelas DAO (Data
Access Object), yaitu kelas yang khusus menyediakan operasi Insert,
Update, Delete, dan Query ke database.
Menurut penulis, berdasarkan skema di
atas, developer hendaknya membuat 5 buah package, yaitu: view, controller,
model, dao, dan database.
2.) Bagian Controller merupakan kelas-kelas yang mengendalikan alur program secara keseluruhan, mengandung business logic, dan sebagai penghubung antara view dengan model dan dao. Kelas ini akan merespon permintaan atau aksi dari view ke kelas dao yang diinginkan.
3.) Bagian Model pada Java menggambarkan struktur data pada database. Bagian ini direpresentasikan oleh POJO (Plain Old Java Object), yaitu kelas Java biasa yang lengkap dengan property (atribut) dan method getter-setter terhadap atribut-atributnya. Biasanya tidak memiliki method lain selain getter-setter. Contoh: Kelas Mahasiswa yang memiliki atribut: nip, nama, jenisKelamin, alamat. Kelas Mahasiswa hanya memiliki method getter-setter yang sesuai dengan atributnya yaitu: getNip, setNip, getNama, setNama, getJenisKelamin, setJenisKelamin, getAlamat, setAlamat.
4.) Bagian DAO (Data Access Object) merupakan kelas-kelas yang melakukan manipulasi data yang terdapat pada database. Manipulasi bisa berupa Create, Read, Update, atau Delete (CRUD). Bagian ini terhubung ke Model (karena merupakan representasi data) dan Database (untuk mendapatkan koneksi).
5.) Bagian Database, berisi kelas yang bertugas untuk membuka koneksi dengan database tertentu dan memberikan objek connection ke kelas dao yang membutuhkan koneksi.
CONTOH STUDI KASUS: APLIKASI DAFTAR MENU RESTORAN
Anda sebagai developer Java diminta
membuatkan aplikasi untuk menginputkan daftar menu yang ada pada restoran dan
menampilkannya dalam bentuk tabel. Buatlah aplikasi dengan menerapkan konsep
MVC!
Jawaban: (Diasumsikan bahwa anda telah
memahami database MySQL dan koneksinya ke Java, pemakaian Java Swing, pembuatan
package, serta penggunaan interface).