2. model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan
memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam
implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi
seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
MODEL
Model mewakili struktur data. biasanya model berisi fungsi-fungsi yang membantu seseorang
dalam pengelolaan basis data seperti memasukan data ke basis data, pembaruan data dan lain-lain.
VIEW
View adalah bagian yang mengatur tampilan ke pengguna. bisa di katakan berupa halaman web.
CONTROLLER
Controller merupakan bagian yang menjembatani model dan view. controller berisi perintah-
perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
3. Contoh Web FrameWork yang Menggunakan konsep MVC :
No Bahasa Pemrograman Web FrameWork
1 Php Laravel, CodeIgniter
2 Ruby Ruby on Rails
3 Python Django, Flask
4. KELEMAHAN MENGGUNAKAN MVC
Kelemahan MVC :
Adanya peningkatan kompleksifitas sehingga pada aplikasi kecil yang tidak
membutuhkan loose coupling pada Model yang menjadi blok penghalang dalam
pola MVC ini sendiri.
5. KEUNTUNGAN MENGGUNAKAN MVC
Keuntungan MVC :
1. Programmer akan sangat terbantu dalam membuat kodingan-kodingan yang
bersifat repetitif
2. Source code secara otomatis akan mengikuti struktur file yang ada di
framework tersebut sehingga memudahkan manajemen source code
3. Kebanyakan perusahaan sekarang membutuhkan programmer yang bisa
menggunakan framework MVC, artinya peluang kerja semakin besar dibanding
yang ngoding dari awal
4. Biasanya gaji programmer yang menggunakan framework MVC lebih mahal
dibanding yang ngoding dari awal
6. XML (Extensible Markup Language)
Adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk
membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka
ragam.
XML merupakan kelanjutan dari HTML (HyperText Markup Language) yang
merupakan bahasa standar untuk melacak Internet.
8. JSON
(dilafalkan "Jason"), singkatan dari JavaScript Object Notation (bahasa Indonesia: notasi objek
JavaScript), adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks
dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan
larik asosiatif (disebut objek). Format JSON sering digunakan untuk mentransmisikan data
terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi
utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif
terhadap penggunaan tradisional format XML.
Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript (secara spesifik, edisi
ketiga standar ECMA-262, Desember 1999 ) dan umumnya digunakan dengan bahasa tersebut,
JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk
pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman.
Situs json.org menyediakan daftar komprehensif pengikatan JSON yang tersedia, disusun
menurut bahasa.
Format JSON dispesifikasikan di RFC 4627 oleh Douglas Crockford. Tipe media Internet resmi
JSON adalah application/json sedangkan ekstensi berkasnya adalah .json.
Pada Desember 2005, Yahoo! mulai menawarkan opsi format JSON untuk layanan webnya.
Google mulai menyediakan umpan JSON untuk protokol web GData-nya pada Desember 2006
10. Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis
web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar
interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga
halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan
perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi
dari:
DOM yang diakses dengan client side scripting language, seperti VBScript dan implementasi ECMAScript,
seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang
ditampilkan.
Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di implementasikan pada beberapa
browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa
framework AJAX, element HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk
melakukan pertukaran data dengan web server.
XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan, seperti
HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya
dengan memakai DOM.
JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON adalah JavaScript itu sendiri
sehingga penanganannya lebih mudah.
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi spesifik, melainkan merupakan gabungan
dari teknologi yang dipakai bersamaan. Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti
AFLAX sudah mulai bermunculan.
12. CSRF (Cross-site Request Forgery) merupakan suatu teknik hacking untuk
mendapatkan atau bahkan menguasai suatu account dengan cara menyerang web
yang dieksekusi atas wewenang korban, tanpa dikehendakinya.
CSRF merupakan teknik pemalsuan permintaan yang berasal dari halaman web atau
situs yang berbeda, saat halaman situs dieksekusi oleh korban maka akan muncul
account baru yang tanpa dikehendaki si admin.
Celah keamanan banyak di temukan di berbagai CMS.
13. Tentang websocket
WebSocket adalah standar baru untuk komunikasi realtime pada Web dan aplikasi mobile.
WebSocket dirancang untuk diterapkan di browser web dan server web, tetapi dapat digunakan
oleh aplikasi client atau server.
WebSocket adalah protokol yang menyediakan saluran komunikasi full-duplex melalui koneksi
TCP tunggal. Protokol WebSocket sudah di standarisasi oleh IETF sebagai RFC 6455 pada
tahun 2011, dan API WebSocket di Web IDL sedang distandarisasi oleh W3C.