Tugas individu 3

14
NAMA: DENDY ALFIANI SATRIO NIM:1412511600 TUGAS REKWEB INDIVIDU 3 KELOMPOK:KA

Transcript of Tugas individu 3

Page 1: Tugas individu 3

NAMA: DENDY ALFIANI SATRIO

NIM:1412511600

TUGAS REKWEB INDIVIDU 3

KELOMPOK:KA

Page 2: Tugas individu 3

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 !

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.

Page 3: Tugas individu 3

CODEIGNITER ADALAH FRAMEWORK PENGEMBANG APLIKASI YANG DIGUNAKAN OLEH PARA WEB DEVELOPER DALAM MEMBANGAUN WEB. TUJUANNYA ADALAH UNTUK MEMUNGKINKAN ANDA UNTUK MENGEMBANGKAN PROYEK-PROYEK JAUH LEBIH CEPAT DARI YANG ANDA BISA JIKA ANDA SEDANG MENULIS KODE DARI AWAL, DENGAN MENYEDIAKAN SATU SET KAYA PERPUSTAKAAN UNTUK TUGAS-TUGAS YANG BIASA DIPERLUKAN, SERTA ANTARMUKA YANG SEDERHANA DAN STRUKTUR LOGIS UNTUK MENGAKSES PERPUSTAKAAN. CODEIGNITER MEMUNGKINKAN ANDA KREATIF FOKUS PADA PROYEK ANDA DENGAN MEMINIMALKAN JUMLAH KODE YANG DIBUTUHKAN UNTUK TUGAS YANG DIBERIKAN.• KELEBIHAN:

MUDAH DIGUNAKAN DAN TIDAK MEMERLUKAN KONFIGURASI YANG RUMIT FUNGSI-FUNGSI PENDUKUNG YANG CUKUP LENGKAP MENDKUNG PHP4 DAN PHP5 MUNGKIN MERUPAKAN FRAMEWORK MVC PALING POPULER DAN PALING BANYAK DIGUNAKAN DOKUMENTASI YANG SANGAT BAGUS, FRIENDLY DAN DIDUKUNG OLEH FORUM, WIKI, DAN KOMUNITAS YANG BESAR• KEKURANGAN:

TIDAK MENDUKUNG AJAX, DAN ORM MEYEDIAKAN DAN MEMISAHAN FILE-FILE DALAM MVC PATTERN, TAPI MASIH MEMBERIKAN KEBEBASAN USER UNTUK MELANGGAR ATURAN MVC

Page 4: Tugas individu 3

YIIFRAMEWORK ADALAH COMPONENT BASED HIGH PERFORMANCE PHP KERANGKA KERJA UNTUK MENGEMBANGKAN SKALA BESAR APLIKASI WEB. YII DITULIS DALAM OOP DAN DILENGKAPI DENGAN REFERENSI KELAS MENYELURUH DAN TUTORIAL YANG KOMPREHENSIF. DARI MVC, DAO / ACTIVERECORD, WIDGET, CACHING, RBAC HIRARKIS, LAYANAN WEB, UNTUK TEMA, I18N DAN L10N, YII MENYEDIAKAN HAMPIR SEMUA FITUR YANG DIBUTUHKAN OLEH SAAT INI PENGEMBANGAN APLIKASI WEB 2.0.

KELEBIHAN:YII ADALAH SALAH SATU FRAMEWORK YANG SANGAT RINGAN DAN DILENGKAPI DENGAN SOLUSI CACHING YANG MEMUASKAN.• YII SANGAT COCOK UNTUK PENGEMBANGAN APLIKASI DENGAN LALU LINTAS-TINGGI, SEPERTI PORTAL,

MANAJEMEN KONTEN (CMS), SISTEM E-COMMERCE, DLL.• YII DIDOKUMENTASIKAN DENGAN JELAS, EFISIEN, DAN KAYA-FITUR.KEKURANGAN:• TIDAK BANYAK KEKURANGAN YANG DITEMUI PADA PENGGUNAAN YII. YII CUKUP MENCAKUP SEGALA

MACAM FITUR-FITUR YANG DIPERLUKAN DALAM MEMBANGUN SEBUAH WEB. NAMUN, BUKAN BERARTI YII TIDAK MEMPUNYAI KEKURANGAN. SALAH SATU KEKURANGAN YII YANG CUKUP SIGNIFIKAN ADALAH TIDAK COMPATIBLE NYA YII DENGAN PHP 4.

Page 5: Tugas individu 3

• ZENDFRAMEWORK MEMPERLUAS SENI & SEMANGAT PHP, ZEND FRAMEWORK DIDASARKAN PADA KESEDERHANAAN, BERORIENTASI OBJEK PRAKTIK TERBAIK, LISENSI RAMAH PERUSAHAAN, DAN BASIS KODE TANGKAS DIUJI KETAT. ZEND FRAMEWORK DIFOKUSKAN PADA MEMBANGUN WEB LEBIH AMAN, HANDAL, DAN MODERN 2.0 APLIKASI & LAYANAN WEB, DAN API TERSEDIA LUAS MENGKONSUMSI DARI VENDOR TERKEMUKA SEPERTI GOOGLE, AMAZON, YAHOO, FLICKR, SERTA PENYEDIA API DAN CATALOGUERS SEPERTI STRIKEIRON DAN PROGRAMMABLEWEB.

• KELEBIHAN:

DUKUNGAN TERHADAP AJAX, ORM. BERDASARKAN INFORMASI DARI SITUS RESMINYA, DISEBUTKAN BAHWA FOKUS DARI ZEND FRAMEWORK INI ADALAH UNTUK MEMBANGUN APLIKASI BERBASIS WEB DAN UNTUK MEMUDAHKAN DALAM MENGAKSES API DARI BERBAGAI VENDOR SEPERTI GOOGLE, AMAZON, YAHOO!, DAN FLICKR.

• KEKURANGAN:

TIDAK MENDUKUNG PHP4.

MANUAL YANG ADA KURANG MENGAKOMODASI KEBUTUHAN.

PERFORMANYA RELATIF LAMBAT (MUNGKIN KARENA BANYAKNYA LIBRARY).

KONON KATANYA FRAMEWORK INI HANYA COCOK UNTUK ORANG DENGAN SKILL PHP YANG SUDAH SANGAT TINGGI

Page 6: Tugas individu 3

• CAKEPHP ADALAH KERANGKA PEMBANGUNAN YANG CEPAT UNTUK PHP YANG MENGGUNAKAN POLA DESAIN UMUM DIKENAL SEPERTI ACTIVERECORD, ASOSIASI PEMETAAN DATA, FRONT CONTROLLER DAN MVC. TUJUAN UTAMANYA ADALAH UNTUK MENYEDIAKAN KERANGKA KERJA TERSTRUKTUR YANG MEMUNGKINKAN PENGGUNA PHP DI SEMUA TINGKATAN UNTUK SECARA CEPAT MENGEMBANGKAN APLIKASI WEB YANG KUAT, TANPA KEHILANGAN FLEKSIBILITAS.

• KELEBIHAN:DUKUNGAN TERHADAP AJAX, ORM

AUTOMAGIC FUNCTION SEPERTI VALIDASI INPUT, DLL, YANG MEMPERCEPAT CODING SUPPORT PHP4 DAN PHP5 LEBIH MENCERMINKAN MVC YANG SESUNGGUHNYA DIBANDINGKAN CI KOMUNITAS PENGGUNA YANG BESAR DAN FORUM CUKUP BAIK• KEKURANGAN:

MANUAL YANG ADA TIDAK SELENGKAP CI. BUTUH WAKTU BELAJAR YANG LEBIH LAMA UNTUK MENGUASAI FRAMEWORK INI DIBANDING CI. TAPI JIKA SUDAH BENAR-BENAR MENGERTI, BANYAK KELEBIHAN DIBANDING CI. BEBERAPA SITUS MENYARANKAN ANDA UNTUK BELAJAR DAN TERBIASA DULU DENGAN CODEIGNITER BARU KEMUDIAN MEMPELAJARI CAKEPHP.

Page 7: Tugas individu 3

APA YANG ANDA KETAHUI TENTANG XML,JSON?JELASKAN DAN BERIKAN CONTOHNYA !

• XML DIDESAIN UNTUK MEMPU MENYIMPAN DATA SECARA RINGKAS DAN MUDAH DIATUR. KATA KUNCI UTAMA XML ADALAH DATA (JAMAK DARI DATUM) YANG JIKA DIOLAH BISA MEMBERIKAN INFORMASI.XML MENYEDIAKAN SUATU CARA TERSTANDARISASI NAMUN BISA DIMODIFIKASI UNTUK MENGGAMBARKAN ISI DARI DOKUMEN.DENGAN SENDIRINYA, XML DAPAT DIGUNAKAN UNTUK MENGGAMBARKAN SEMBARANG VIEW DATABASE, TETAPI DENGAN SUATU CARA YANG STANDAR.

Page 8: Tugas individu 3

• CONTOH XML

<?XML VERSION=”1.0″ ENCODING=”UTF-8″?>

<RESEP NAMA=”ROTI” WAKTU_PERSIAPAN=”5 MENIT” WAKTU_MASAK=”3 JAM”>

<JUDUL>ROTI TAWAR</JUDUL>

<BAHAN JUMLAH=”3″ SATUAN=”CANGKIR”>TEPUNG</BAHAN>

<BAHAN JUMLAH=”0,25″ SATUAN=”ONS”>RAGI</BAHAN>

<BAHAN JUMLAH=”1,5″ SATUAN=”CANGKIR”>AIR HANGAT</BAHAN>

<BAHAN JUMLAH=”1″ SATUAN=”SENDOK TEH”>GARAM</BAHAN>

<CARA_MEMBUAT>

<LANGKAH>CAMPUR SEMUA BAHAN DAN ULENI ADONAN SAMPAI MERATA.</LANGKAH>

<LANGKAH>TUTUP DENGAN KAIN LEMBAB DAN BIARKAN SELAMA SATU JAM DI RUANGAN YANG HANGAT.</LANGKAH>

<LANGKAH>ULANGI LAGI, LETAKKAN DI LOYANG DAN PANGGANG DI OVEN.</LANGKAH>

<LANGKAH>KELUARKAN, HIDANGKAN</LANGKAH>

</CARA_MEMBUAT>

</RESEP>

Page 9: Tugas individu 3

• 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 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.

• CONTOH{"SISWA":[ {"NAMA":"TAMA", "UMUR":"17"}, {"NAMA":"ADHI", "UMUR":"17"}, {"NAMA":"SEPTIAN", "UMUR":"18"}

]}

Page 10: Tugas individu 3

APA YANG ANDA KETAHUI TENTANG AJAX(ASYNCHRONOUS

JAVASCRIPT AND XML)?JELASKAN DAN BERIKAN CONTOHNYA!

• 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.

SEBUAH CONTOH PERINTAH AJAX BISA BERJALAN SEPERTI BERIKUT:

1. CLIENT MEMANGGIL LAMAN DARI SERVER

2. SERVER MERESPON PANGGILAN DAN MENGIRIMKAN LAMAN

3. CLIENT MEMBUAT PERINTAH AJAX KE SERVER DAN MEMANGGIL LEBIH BANYAK DATA

4. SERVER MENGIRIMKAN DATA TERSEBUT

5. CLIENT 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.

Page 11: Tugas individu 3

• CONTOH <!DOCTYPE HTML><HTML><BODY><DIV ID="DEMO"><H2>LET AJAX CHANGE THIS TEXT</H2></DIV><BUTTON TYPE="BUTTON" ONCLICK="LOADDOC()">CHANGE CONTENT</BUTTON><SCRIPT>FUNCTION LOADDOC() {VAR XHTTP = NEW XMLHTTPREQUEST();XHTTP.ONREADYSTATECHANGE = FUNCTION() {IF (XHTTP.READYSTATE == 4 && XHTTP.STATUS == 200) { DOCUMENT.GETELEMENTBYID("DEMO").INNERHTML = XHTTP.RESPONSETEXT; } };XHTTP.OPEN("GET", "AJAX_INFO.TXT", TRUE);XHTTP.SEND();}</SCRIPT></BODY></HTML>

Page 12: Tugas individu 3

JELASKAN MENGENAI CROSS-SITE REQUEST FORGERY(CSRF)!

• 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.

Page 13: Tugas individu 3

APA YANG ANDA KETAHUI TENTANG WEBSOCKET SERTA BERIKAN CONTOHNYA!

• WEBSOCKET MERUPAKAN SEBUAH PROTOKOL KOMUNIKASI DUA ARAH YANG DAPAT DIGUNAKAN OLEH BROWSER. JIKA PADA AJAX KITA HANYA DAPAT MELAKUKAN KOMUNIKASI SATU ARAH DENGAN MENGIRIMKAN REQUEST KEPADA SERVER DAN MENUNGGU BALASANNYA, MAKA MENGGUNAKAN WEBSOCKET KITA TIDAK HANYA DAPAT MENGIRIMKAN REQUEST KEPADA SERVER, TETAPI JUGA MENERIMA DATA DARI SERVER TANPA HARUS MENGIRIMKAN REQUEST TERLEBIH DAHULU. HAL INI BERARTI KETIKA MENGGUNAKAN WEBSOCKET PENGGUNA HARUS TERUS MENERUS TERKONEKSI DENGAN SERVER, DAN KITA MEMERLUKAN SEBUAH SERVER KHUSUS UNTUK DAPAT MENJALANKAN APLIKASI WEBSOCKET DENGAN BENAR.

Page 14: Tugas individu 3

• CONTOH:@OnOpenpublic void onNewConnection(Session session){//...}@OnMessagepublic void onIncomeMessage(String message, Session session){//...} @onClosepublic void onCloseConnection(Session session){//...}