Tugas membahas konsep MVC dan REST dalam pemrograman web. MVC memisahkan komponen utama aplikasi menjadi model, view, dan controller, sedangkan REST menggunakan prinsip stateless dan metode HTTP untuk berinteraksi dengan sumber daya melalui URI.
2. Apa yang anda ketahui tentang konsep MVC(model-view-controller) dalam
pemrogram web, berikan illustrasi yang tepat untuk meggambarkan konsep MVC
tersebut !
Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi
web, berawal pada bahasa pemrograman Small Talk (Wikipedia), MVC memisahkan
pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti
manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis
komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian
ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima
dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap
bagian model.
Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert,
update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan
langsung dengan bagian view.
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.
3. Singkat kata Model untuk mengatur alur database, View untuk menampilkan
web,
sedangkan Controller untuk mengatur alur kerja antara Model dan View. Jadi
misalnya
Anda ingin membuat akun facebook atau e-mail. Pertama Anda akan melihat
tampilan
sign-up / register itulah View, kemudian Anda menuliskan form pengisian seperti
username, password, dll dan Anda klik sign-up / register maka di sini View
memanggil
Controller dan Controller memanggil Model, sedangkan Model mengecek
apakah Anda
sudah sesuai dengan kriteria pendaftaran seperti sudah mengisi username,
password dan
lain sebagainya. Kemudian Model menggembalikan (callback) ke Controller dan
Controller mengembalikan ke View, dan kita akan melihat berhasil atau tidak kita
sign-
up/register. Lebih jelas berikut:
5. Jelaskan perintah GET,POST pada pemrograman web,
dan berikan perbedaannya !
Get adalah metode pengiriman data menggunakan query string, jadi seluruh
nilai pada form anda akan di kirim ke sisi server/file dan nilai dari form anda
akan tampil pada barus URL/ Address bar
contoh,
http://www.namadomain.com/file.php?nama=ian+lubis&alamat=denpasar
file.php adalah file yang menerima dari nilai query string, dan disana terdapat
dua buah variable “nama” dan “alamat”, setiap varibale GET selalu di akhiri
dengan tanda =, hal ini bertujuan untuk mengisikan nilai dari variable
tersebut.
Contoh penulisan untuk mengambil nilai dari query string adalah :
<?php echo $_GET[nama_variable]; ?>
POST, post sendiri mengirimkan data ke sisi lain/ file namun tidak menampilkan
nilai dari form pada address bar seperti GET/ Query String.
Contoh penulisan untuk mengambil nilai dari form POST adalah:
<?php echo $_POST[nama_variable]; ?> biasanya penggunaan post untuk
Password
6. Jelaskan konsep REST (Representational
State Transfer) pada web service !
REST merupakan singkatan dari Representational State Transfer. Istilah ini pertama
kali digunakan oleh Roy Fielding, salah seorang pelopor proyek web server Apache,
dalam disertasinya di University of California tahun 2000.
REST adalah salah satu jenis web service yang menerapkan konsep perpindahan antar
state. State dapat digambarkan seperti jika browser meminta suatu halaman web, maka
server akan 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 di
sisi 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.
7. Prinsip-prinsip REST
Di dalam REST, dikenal beberapa prinsip yaitu:
Setiap resource diberikan ID yang unik. Setiap resource memiliki sebuah identifier, yaitu
URI. Setiap informasi resource tersebut memiliki URI-nya masing-masing yang tidak akan
sama dengan yang lain. Terdapat hubungan antara resource yang satu dengan yang lain.
Resource dimiliki oleh server, sedangkan client yang akan menggunakan resource tersebut.
Menggunakan metode standar seperti HTML, XML atau JavaScript Object Notation
(JSON). REST mudah diimplementasikan karena menggunakan metode yang sama seperti
ketika membuat web, yaitu menggunakan HTML. Sedangkan untuk pertukaran data, REST
tidak hanya dapat menggunakan XML saja, tetapi juga dapat menggunakan JSON.
Komunikasi yang dilakukan adalah stateless. Stateless web service membuat sebuah
respon yang terhubung dengan halaman resource. Hal ini berbeda dengan stateful service
yang menyimpan variabel dari request sebelumnya dan menggunakannya kembali dengan
tambahan variabel baru untuk mengakses resource yang diminta oleh sebuah request baru.
Ketika client membuat sebuah HTTP request, semua informasi yang dibutuhkan server untuk
memenuhi request harus dikirim. Server tidak bergantung pada informasi yang dikirim dari
request sebelumnya.
Menggunakan method HTTP secara eksplisit. Salah satu prinsip kunci dari REST web
service adalah penggunaan method HTTP secara eksplisit. Prinsip dasar desain REST
membuat pemetaan one-to-one antara operasi create, read, update, dan delete (CRUD) dan
method HTTP POST, GET, PUT, DELETE. POST untuk membuat sebuah resource di server.