Dokumen tersebut menjelaskan konsep MVC (Model-View-Controller) dan REST (Representational State Transfer) dalam pengembangan aplikasi web. MVC memisahkan komponen utama aplikasi menjadi model, view, dan controller. REST merupakan jenis web service yang bekerja dengan menukar state sumber daya melalui permintaan HTTP seperti GET, POST, PUT, DELETE.
2. MVC (Model-View-Controller) adalah sebuah metode dalam membuat aplikasi dengan
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun
sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi
kontrol utama aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat
dikembangkan secara terpisah antara layer application-logic dan presentation, sehingga
dalam sebuah tim pengembangan website, seorang programmer bisa berkonsentrasi pada
pengembangan core-system saja, sedangkan web designer bisa berkonsentrasi pada tampilan
web saja. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan
designer
Ada tiga layer utama dalam arsitektur web MVC, yang disebut sebagai best practices :
– Model
– View
– Controller
MVC(model-view-controller)
3. Model, bukan sebuah database tetapi merupakan bagian (fungsi-fungsi) yang berhubungan
langsung dengan database untuk memanipulasi data seperti memasukkan data, pembaruan
data, hapus data, dan lain-lain, namun tidak dapat berhubungan langsung dengan bagian
view.
View, merupakan bagian yang mengatur tampilan ke pengguna. Pada suatu aplikasi web
bagian ini biasanya berupa file template HTML, yang diatur oleh controller. Viewberfungsi
untuk menerima dan merepresentasikan data kepada pengguna. Bagian ini tidak memiliki
akses langsung terhadap bagian model.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian
view, controller berfungsi untuk menerima request dan data dari user kemudian
menentukan apa yang akan diproses oleh aplikasi.
Layer utama
4. Saat user mengeksekusi program anda, user akan dipilihkan
sebuah controller yang sesuai dengan apa yang user inginkan,
anggap saja user mengakses sebuah controller bernama 'home'.
Kemudian anda membuat program-program pada controller
bernama home, program tersebut harus menghasilkan sebuah
output, anda tidak boleh membuat output pada sebuah
controller, jadi pada controller tersebut buatah sebuah
panggilan ke sebuah view.
Di file view anda harus menyesuaikan output sesuai controller
yang anda buat.
Bila anda membutuhkan data (kebanyakan program pasti
membutuhkan), bisa dari database atau yang lain. Sebelum
anda memanggil view, anda harus memanggil sebuah model,
buat program pada model untuk mengambil/menyaring data,
data dari model tersebut kemudian diserahkan kepada
controller sebelum akhirnya ke view.
Konsep MVC
5. Method get fungsinya sama seperti post yaitu mengirimkan nilai dari dari client ke server,
namun perbedaannya terletak pada informasi yang dikirim bersifat public, artinya nilai dari
form yang telah diinputkan tersebut akan terlihat di address browser dan informasi yang
dikirimkan pun terbatas karena method ini tidak bisa menyimpan variabel yang nilainya
lebih dari 2000 karakter maka method get ini tidak akan cocok untuk nilai variabel yang
jumlahnya besar.
Method post merupakan sebuah fungsi yang digunakan untuk mengumpulkan nilai dari
form yang telah diisi untuk selanjutnya akan dikirimkan dari client ke server dengan metode
post, informasi yang dikirim dengan method post ini tidak akan bisa dilihat secara public
dan tidak memiliki batasan pada banyaknya infomasi yang dikirim, untuk ukuran defailt
dari method post ini adalah 8mb. Method ini biasanya digunakan pada form seperti
pendaftaran, login dll.
Perintah GET,POST pada pemrograman web
6. Perbedaan POST GET
History Parameter/nilai tidak tersimpan di browser
Parameter/nilai tersimpan dibrowser
dan bisa diakses ulang karena nilai
menjadi kesatuan URL
Bookmark Parameter/nilai tidak dapat dibookmark Parameter bisa dibookmark
Tombol
Kembali/Kirim
Ulang
Biasanya browser
memberitahukan/menanyakan apakah data
akan dikirim ulang
Dengan methot get, halaman
sebelumnya langsung ditampillkan
tanpa mengeksekusi kembali karena
tersimpan dalam cache browser
Encoding type
(enctype attribute)
Mendukung pengiriman data binner dengan
teknik multipart/form-data atau application/x-
www-form-urlencoded
hanya mendukung application/x-
www-form-urlencoded
Parameters
Dapat mengirimkan parameter url sekaligus
mengirimkan data tersembunyi ke server
Hanya bisa mengirimkan parameter
melalui URL
Kecurangan data Lebih sulit karena tertutup Lebih terbuka karena data terlihat
Keamanan
Dengan method POST lebih aman karena data
langsung dikirim ke server
Dengan jelas bisa ketahui data apa saja
yang dikirim
Penggunaan
POST digunakan untuk mengirim data yang
lebih rahasia seperti password
Digunakan lebih untuk keperluan
mengambil data
7. REST adalah salah satu jenis web service yang menerapkan konsep
perpindahan antar state. State disini dapat digambarkan seperti jika
browser meminta suatu halaman web, maka serverakan mengirimkan
state halaman web yang sekarang ke browser. Bernavigasi melalui
link-link yang disediakan sama halnya dengan mengganti state dari
halaman web. Begitu pula REST bekerja, dengan bernavigasi melalui
link-link HTTP untuk melakukan aktivitas tertentu, seakan-akan
terjadi perpindahan state satu sama lain. Perintah HTTP yang bisa
digunakan adalah fungsi GET, POST, PUT atau DELETE. Balasan yang
dikirimkan adalah dalam bentuk XML sederhana tanpa ada protokol
pemaketan data, sehingga informasi yang diterima lebih mudah
dibaca dan diparsing disisi client.
Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web
service yang berorientasi pada resource. Maksud orientasi pada
resource adalah orientasi yang menyediakan resource-resource
sebagai layanannya dan bukan kumpulan kumpulan dari aktifitas
yang mengolah resource itu. Resource adalah setiap informasi yang
dapat diberikan nama, misalnya twit seseorang, image yang di upload
user. Beberapa contoh web service yang menggunakan REST adalah:
Flickr API (Application Program Interface), YouTube API, Amazon
API.
REST (Representational State Transfer)