Ujian Akhir Semester (UAS) untuk matakuliah Web Engineering telah berlalu. Berikut ini adalah soal dan jawabannya. Silakan cek jawaban anda dan kira-kira berapa persen jawaban benar anda tuliskan (jika anda ikut UAS-nya).
Soal 1:
Sebutkan 4 ukuran dasar untuk mengetahui kinerja dari suatu aplikasi web!
Jawaban:
1. Throughput. Jumlah permintaan yang dapat diselesaikan per satuan waktu
2. Response time (waktu respon). Total waktu dihabiskan antara pengajuan permohonan sampai dengan sampai respon ditangani
3. Utilisasi. Waktu yang dihabiskan sistem hanya untuk bekerja (sibuk), termasuk menangani request dari client. Misal: 12 jam dalam sehari = 50%.
4. Availability (ketersediaan). Waktu sistem beroperasi, siap menerima request dari client, misalnya 24 x 7.
Soal 2:
Pendekatan AJAX meningkatkan usability (kebergunaan) dari aplikasi web. Namun, setidaknya ada 3 kekurangan dari AJAX. Sebutkan!
Jawaban:
1. Aplikasi AJAX memerlukan bandwidth yang lebih besar karena sering terjadi proses update secara dinamis dan otomatis
2. Pengguna tidak mengetahui bagian mana saja yang telah diupdate, karena update terjadi tanpa menunggu interaksi langsung dari pengguna
3. Pengguna tidak dapat kembali ke tampilan sebelumnya pada web browser (tombol Back seolah tidak berfungsi).
Soal 3:
Sebutkan 6 masalah penting dan termasuk kebutuhan yang harus ditangani dalam suatu proses pengembangan aplikasi web!
Jawaban:
1. Siklus pengembangan yang singkat (waktunya pendek)
2. Requirement (kebutuhan stakeholder dan tuntutan teknologi) yang cepat berubah
3. Deadline rilis dari aplikasi web tidak dapat ditunda tetapi content-nya harus fleksibel
4. Pengembangan secara paralel dari beberapa rilis plikasi yang berbeda
5. Reuse (penggunaan ulang beberapa komponen atau framework) dan integrasi dengan berbagai aplikasi yang telah ada.
6. Menyesuaikan tingkat kompleksitas dari aplikasi web.
Soal 4:
Aplikasi web sulit dipisahkan dari server database. Penjahat biasanya memanfaatkan serangan SQL Injection untuk menyerang sistem web yang disediakan. Jelaskan apa yang harus dilakukan untuk mengamankan sistem dari serangan SQL Injection tersebut!
Jawaban:
1. Parameter verification. Setiap SQL yang masuk harus diperiksa untuk memastikan bahwa formatnya telah sesuai dengan yang diharapkan oleh pengembang aplikasi web.
2. Prepared statament. Merupakan fitur yang dimiliki banyak database modern. Pernyataan dan parameter dikirim ke server database secara terpisah. Database akan memeriksa tipe dari parameter.
3. Exception handling. Tangani kemungkinan error setiap transaksi (mengambil, mengubah atau menghapus) database dengan memasukkan transaksi tersebut ke dalam blok exception.
4. Prinsip least privilege. Berikan hak minimal kepada aplikasi web dalam mengakses ke server database, misalnya pengguna A (mewakili aplikasi web) hanya dapat memberikan perintah SELECT. Jika penyerang memberikan perintah UPDATE atau DELETE, maka transaksi yang dilakukan otomatis tertolak.
Soal 5:
Sebutkan 6 karakteristik utama dari Web Semantik yang dipaparkan oleh Koivunen dan Miller!
Jawaban:
1. Segala sesuatu dapat diidentifikasi dengan URI
2. Sumber daya dan link dapat diketik
3. Informasi yang tidak lengkap harus ditoleransi
4. Tidak ada klaim untuk kebenaran mutlak
5. Memungkikan terjadinya evolusi informasi atau sumber daya
6. Desain yang minimalis.
Semoga soal dan jawaban di atas bermanfaat 🙂