tugas 3 0317-fahreza yozi-1612510832

34
TUGAS 3 Nama : Fahreza Yozi NIM : 1612510832 Matakuliah: Rekayasa Web Dosen: Andry sunandar, S.T. m.kom

Upload: fahreza-yozi

Post on 12-Apr-2017

77 views

Category:

Education


1 download

TRANSCRIPT

TUGAS 3 Nama : Imelda Felicia NIM : 1412510545 Matakuliah : Rekayasa Web Dosen : Andry sunandar, S.T. m.kom

TUGAS 3

Nama: Fahreza YoziNIM: 1612510832Matakuliah: Rekayasa WebDosen: Andry sunandar, S.T. m.kom

1. Apa yang anda ketahui tentang konsep MVC (Model, View, Controller) pada pemrograman web?jelaskan!, berikan contoh web framework yang menggunakan konsep MVC serta jelaskan kelebihan dan kekurangannya !

Model View Controller (MVC)Model-View-Controller (MVC)adalah pola arsitektur yang memisahkan aplikasi dalam tiga komponen utama Logis:Model,ViewdanController. Masing - masing komponen ini dibangun untuk menangani aspek-aspek tertentu pembangunan aplikasi.MVCadalah salah satu kerangka pembangunan web standar industri paling sering digunakan untuk menciptakan proyek yang terukur an besar dan extensible. 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.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.

2. Apa yang anda ketahui tentang XML, JSON? jelaskan dan berikan contohnya !

Pengertian XMLDefinisi XML adalah kependekkan dari "Extensible Markup Language". Ya tepat sekali, secara teknis itu harusnya EML. Loh kenapa?

XML di manfaatkan dalam mendefinisikan dokumen dengan format standar dimana yang dapat dibaca dan di dukung oleh aplikasi-XML yang kompatibel.

Bahasa format xml bisa digunakan dengan halaman HTML, akan tetapi XML itu sendiri bukan bahasa markup. Sebaliknya, XML itu merupakanmetabahasa yang dapat di pakai dalam membuat bahasa markup untuk aplikasi khusus. Sebagai contoh nya itu, dapat menggambarkan item yang bisa diakses di saat membuka halaman Web. Dimana pada dasarnya, XML ini dapat memungkinkan Anda untuk membuat database informasi tanpa memiliki database yang sebenarnya. Yaa meskipun secara default hanya digunakan dalam aplikasi Web, banyak program lainnya juga yang dapat menggunakan dokumen XML, misalnya kode sumber aplikasi Android.

Mungkin jelasnya pengertian dari XML (Extensible Markup Language) adalah bahasa markup untuk keperluan umum yang telah disarankan oleh W3C dalam hal membuat dokumen markup untuk kepentingan pertukaran data antar sistem yang beraneka ragam. Tepatnya XML yaitu kelanjutan dari HTML (HyperText Markup Language) dimana yang merupakan bahasa standar untuk melacak Internet. Jadi, untuk membaca bahasa markup ada kesinambungannya. Baca dan cari tahulah selengkap-lengkap nya.

XML justru didesain untuk mempu menyimpan data secara lengkap, ringkas serta mudah dalam mengatur. Kata kunci utama dari XML ini adalah data (jamak dari datum) apabila jika diolah bisa memberikan informasi.

XML juga menyediakan suatu cara terstandarisasi namun dapat dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat di gunakan dalam menggambarkan sembarang view database, akan tetapi hanya dengan suatu cara yang standar.

Kegunaan dan cara menggunakan XMLKegunaan dan Cara dalam Menggunakan XML XML ini memiliki kepanjangan (eXtensible Markup Language) dimana dapat digunakan dalam berbagai aspek pengembangan web, lumrah dipakai dalam menyederhanakan penyimpanan dan juga pertukaran data. Berikut di bawah ini ada beberapa penggunaan umum XML untuk web saat ini:Banyak digunakan dalam pengembangan webSebagai dokumentasiSebagai pengembangan database

Keunggulan XMLPintar (Intelligence). XML dapat menangani berbagai tingkat (level) kompleksitas.Dapat beradaptasi. Dapat mengadaptasi untuk membuat bahasa sendiri. Seperti Microsoft membuaat bahasa MSXML atau Macromedia mengembangkan MXML.Mudah pemeliharaannya.Sederhana. XML lebih sederhana.Mudah dipindah-pindahkan (Portability). XML mempunyai kemudahan perpindahan (portabilitas) yang lebih bagus.

XML dalam Pengembangan WebDi sisi lain, Anda bisa berpendapat bahwa ini merupakan penggunaan paling luas dari XML, sebagai XHTML.Hal ini di karenakan XHTML hanya sebatas pengerjaan ulang HTML 4.0, banyak situs HTML 4.0 yang memang benar-benar menggunakan bentuk valid di XHTML.Akan tetapi dalam hal manfaat XML itu sudah tidak ada sebagai XHTML, tetapi disini Anda boleh membuat dokumen web dari XML dengan menggunakan XSLT dimana untuk mengubah dokumen Anda ke dalam bentuk HTML. Lalu kemudian Anda dapat mengirim XML untuk prosesor XSLT kepada server web dan pada akhirnya melayani hasil nya yang ke browser web. Hal ini lah yang membuat dokumentasi Anda tersedia dalam bentuk format apapun yang Anda butuhkan untuk menjadi di dalamnya.

XML dan dalam Pengelolaan KontenBanyak dari sekian situs-situs yang menggunakan XML. Ironisnya, begitu banyak para desainer web dan juga pengembang konten tidak tahu bahwa mereka sedang menggunaka XML padahal XML ada disana. Hal ini bisa jadi karena umumnya ada CMS atau dikenal dengan sistem manajemen konten yang berada di depan XML yang dalam membuatnya lebih mudah bagi si penulis konten.Kemudian untuk menulis konten web mereka pun tidak perlu khawatir atau panik dengan menulis HTML atau pun saat mendesain halaman web nya bagi para si pengguna.

XML dan DokumentasiBegitu banyak perusahaan yang berpindah ke XML dimana dalam hal menulis dokumentasi internal mereka. Keunggulan dari XML pada bagian dokumentasi adalah bisa digunakan untuk menentukan bagaimana ciri-ciri umum dalam sebuah buku-buku, koran, majalah, cerita, iklan, dan lainnya.Kisah menarik tentang XML untuk dokumentasi ini adalah bahwa XML begitu mudah dipahami bagi si pengguna pemula, baik dari dokumentasi yang sebenarnya, dan juga kode XML sekitarnya. XML mampu digunakan untuk semua macam dari dokumentasi, untuk penerbitan dalam bahan pemasaran:

XML ini merupakan standar format dari struktur berkas (file).XSL ini merupakan standar dimana bertugas memodifikasi data yang diimpor dan diekspor.XSD ini merupakan standar yang memiliki arti sebagai struktur database dalam XML.Pintar (Intelligence). XML juga dapat menangani berbagai level yang kompleksitas.Bisa dengan mudah dalam menyesuaikan. Dapat mengadaptasi untuk membuat bahasa sendiri. Seperti Microsoft membuaat bahasa MSXML atau pun Macromedia mengembangkan MXML.Mudah dalam pemeliharaannya.Sederhana yaa benar sekali XML lebih sederhana.Mudah pada dipindah-pindahkan (Portability).

Pengertian JSONJSON : JavaScript Object NotationsJSON merupakan suatu syntax atau format untuk menyimpan data atau digunakan dalam sebuah proses pertukaran data.JSON merupakan sebuah format penukaran data yang mudah dibaca da ditulis oleh manusia, serta mudah diterjemahkan serta dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur utama, yaitu:Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

Contoh Sintaks Script JSON{"siswa":[ {"Nama":"Tama", "Umur":"17"}, {"Nama":"Adhi", "Umur":"17"}, {"Nama":"Septian", "Umur":"18"} ]}

Penggunaan JSON Sebagai Objek pada JavaScriptFormat yang digunakan JSON secara sintaks indentik aatau memiliki kesamaan dengan code yang digunakan JavaScript untuk membuat sebuah objek.Karena kesamaan inilah dibandingkan dengan menggunakan parser (seperti yang dilakukan XML) sebuah program JavaScript dapat menggunakan function JavaScipt Standard untuk mengubah data pada JSON menjadi sebuah objek asli JavaScript. Hal ini merupakan salah satu faktor yang menjadikan JSON sebagai alternatif yang lebih baik dibandingkan XML sebagai bahasa format pernyimpanan dan pertukaran data.

Keunggulan JSONJSON memiliki beberapa keunggulan dibandingkan dengan XML terutama dapat penggunaan apikasi AJAX. Beberapa kelebihan JSON antara lain :Mudah dibaca atau ditulis oleh komputer atau manusiaHampir semua bahasa pemrograman menyediakan library atau function yang memudahkan untuk membaca atau membuat struktur JSONJSON mudah sekali dipetakan pada struktur data yang digunakan oleh sebagian besar bahasa pemrograman terkait data berupa number, string, boolean, null, array dan associative array.

3. Apa yang anda ketahui tentangAJAX(asynchronous JavaScript and XML)?Jelaskan dan berikan contohnya!

Pengertian AJAX AJAX, singkatan dari Asynchronous JavaScript and XML, merupakan metode suatu laman web menggunakan JavaScript untuk mengirim dan menerima data dari server tanpa harus menyegarkan (refresh) laman itu. XML adalah sejenis markup language seperti HTML, yang kerap dipakai untuk mengirimkan data melalui internet. Belakangan ini, JSON (JavaScript Object Notation) lebih populer dan bisa dibaca secara bawaan (native) oleh JavaScript.Berikut uraian yang lebih ringkas:AJAX: Asynchronous JavaScript and XML. Sebuah sistem untuk mengirim dan menerima data dari server tanpa penyegaran laman (page refresh). (contoh di bawah)

XML: eXtensible Markup Language. Sebuah bahasa untuk mengorganisir data arbitrer. Menggunakan banyak sekali kurung sudut (angle brackets): . (contoh)HTML: HyperText Markup Language. Sebuah subset XML yang khususnya berfungsi untuk menjelaskan dan mengorganisir laman web. (contoh)JSON: JavaScript Object Notation. Metode yang lebih modern untuk memindahkan paket data yang sering dipakai bersama dengan AJAX. Bisa dibaca secara bawaan oleh JavaScript. (contoh)Sebuah contoh perintah AJAX bisa berjalan seperti berikut:Client memanggil laman dari serverServer merespon panggilan dan mengirimkan lamanClient membuat perintah AJAX ke server dan memanggil lebih banyak dataServer mengirimkan data tersebutClient memutakhirkan laman dengan data tersebut tanpa me-refresh laman.

Facebook, Gmail, dan Pinterest adalah contoh situs-situs yang banyak menggunakan AJAX.Bagian Asynchronous merujuk pada fakta bahwa ketika JavaScript menyampaikan panggilan AJAX ke webserver, ia terus berjalan sampai memperoleh respon ia tidak memblokir dan berhenti saat data sedang diproses oleh server.

4. Jelaskan mengenaiCross-site request forgery(csrf)!

Pengertian CSRF (Cross-site Request Forgery)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, contohnya CMS VCalendar.

Penulis buat sebuah cerita agar mudah di mengerti, ada seorang admin memiliki situs yang dibangun dengan VCalendar, suatu saat dia login ke halaman administrator.

Setelah si admin login dan masuk ke menu pilihan user maka akan tampil para user di situs tersebut.

Terlihat ada 3 buah account, pada saat itu juga diminta oleh seseorang temannya untuk membuka suatu halaman situs.

Saat admin melakukan klik tiba-tiba muncul halaman daftar user untuk login.

5. Apa yang anda ketahui tentang WebSocket serta berikan contohnya!

Pengertian WebSocketWebSocket 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.WebSocket merupakan bagian dari HTML5. WebSocket menghadirkan pengurangan besar dalam lalu-lintas jaringan yang tidak penting dan latency dibandingkan dengan solusi polling dan long-polling yang telah digunakan untuk mensimulasikan koneksi dua arah dengan cara menjaga dua koneksi tetap terhubung.

Kapan WebSocket Pertama Kali Di temukan ?WebSocket pertama kali dirujuk sebagai TCP Connection dalam spesifikasi HTML5, sebagai tempat untuk berbasis TCP socket API. Pada bulan Juni 2008, Nama WebSocket diciptakan oleh Ian Hickson dan Michael Carter, serangkaian diskusi yang dipimpin oleh Michael Carter yang mengakibatkan versi pertama dari protokol dikenal sebagai WebSocket.

Manfaat WebSocketWebsocket memungkinkan server untuk mendorong data kepada klien yang terhubungMengurangi traffic atau lalu lintas jaringan yang tidak perlu dan latency menggunakan full duplex melalui koneksi tunggal.Streaming melalui proxy dan firewall, mendukung komunikasi simultan hulu dan hilir.Kompatibel dengan pre-WebSocket dunia dengan cara beralih dari koneksi HTTP ke WebSockets.

Membuat WebSocketSebelum memulaitutorial, anda sebelumnya harus memahami:Java programming languageBasic knowledge Java EE 7Basic knowledge HTML 5, JavaScript, dancascading style sheets (CSS)Cara paling mudah untuk memahami WebSocket dengan menggunakancontoh aplikasi chat sederhana. Berikut ini langkah membuat aplikasi WebSocket chat sederhana dalam bahasa Java menggunakan annotation :Kebutuhan:Install JAVA EE7Netbeans IDE reccomendedversion 7.3.1Glassfish Server4.0