MVC di Microsoft Visual Foxpro

VFP9

MVC atau Modem-View-Controller adalah design arsitektur dari aplikasi yang biasa diterapkan pada pemrograman berbasis web. PHP adalah salah satu tools pemrograman yang paling banyak digunakan untuk hal tersebut. kali ini saya ingin membahas tentang implementasi arsitektur di aplikasi desktop menggunakan Microsoft Visual Foxpro.
Microsoft Visual Foxpro merupakan bahasa pemrograman yang berbasis data, karena dari awal kelahirannya (foxpro for DOS) telah dirancang untuk digunakan sebagai pengolah data yang unggul. selain itu VFP atau Visual Foxpro dapat pula digunakan untuk Object Oriented Programming (OOP), oleh karena itu seharusnya penerapan MVC dapat pula digunakan di VFP.

Model adalah bagian yang mengatur bagaimana data diolah dan diambil, oleh karena itu bagian inilah yang mengetahui apa dan bagaimana aplikasi terhubung dengan database atau database server. Bagian ini yang bertanggung jawab atas perubahan data dan bagaimana data diambil dari database. Model ini lebih berfungsi sebagai service sebenarnya, jadi model hanya menerima dan menjalankan permintaan dari controller nantinya tapi tidak mengubah apapun di controller atau bahkan model tidak tahu tentang controller selain apa yang direferensikan oleh controller, yaitu object yang mereprentasikan field-field di database. Model di VFP dapat dibuat dengan class berbasis session, tujuannya agar data dapat terisolasi sesuai dengan session nya masing-masing dan tidak saling mengganggu satu data dengan data yang lain.

View adalah bagian yang dilihat oleh user atau pengguna aplikasi, bagian ini yang bertugas menerima input dari user dan menerima perubahan data kemudian menampilkannya untuk user. bagian ini hanya berkomunikasi dengan controller, setiap event dari view dikaitkan ke controller dengan cara referensi atau bindevents jika menggunakan VFP 8 atau 9. Dengan begitu sebenarnya pada saat kita meng-klik tombol maka isi dari event clik tersebut mengeksekusi methods yang ada di controller, kemudian saat controller telah selesai memproses perintah tersebut maka controller akan merubah/mengatur view sesuai dengan yang dimaksud oleh perintah yang diterima kemudian merefresh view agar perubahannya dapat dilihat oleh user. View di VFP dapat dibuat dengan class berbasis form, karena form merupakan container yang dapat menampung control-control lainnya seperti textbox, grid, listbox, combobox, button dan lain-lain.

Controller adalah bagian yang mengatur model serta view agar dapat berkolaborasi dengan baik sesuai dengan aturan yang telah ditentukan. Saat controller menerima input dari view, kemudian mengolahnya, mengambil data atau mengubah data melalui model, kemudian hasilnya dikembalikan lagi kepada view dengan cara mengupdate view dan kemudian merefresh view dengan data yang baru dan telah di-update. Sesuai dengan namanya, controller mengatur segala sesuatu dalam arsitektur MVC. controller di VFP dapat dibuat dengan class berbasis session juga. Controller mengkondisikan agar model yang digunakan dalam controller memiliki session yang sama dengan session di controller.

Selain ketiga bagian tersebut, implementasi MVC di VFP juga membutuhkan beberapa pendukung lain seperti class database yang mereprentasikan tabel dan field-field yang ada di database yang akan digunakan sebagai acuan untuk memanipulasi data. Selain itu juga ada class lain yang digunakan oleh model untuk bisa berkomunikasi atau terhubung dengan database, yaitu class koneksi. serta class-class lain yang menunjang implementasi MVC di VFP agar dapat berjalan menjadi aplikasi yang utuh dan terstruktur.

Di post berikutnya, kita akan bahas satu per satu bagian-bagian tersebut beserta dengan contoh coding nya, agar dapat memudahkan kita untuk bisa lebih memahami implementasi MVC di VFP. so stay tune !!