Kemiripan & Klasifikasi Teks – Contoh Perhitungan

Sebagian besar aplikasi web berbasis search engine, information retrieval atau text mining, biasanya melibatkan penanganan query dan klasifikasi dokumen. Penanganan query biasanya menghitung tingkat kemiripan atau relevansi antara query dan daftar dokumen yang tersedia di dalam sistem. Sedangkan klasifikasi adalah pengelompokan dokumen-dokumen ke dalam kelas-kelas yang telah didefinisikan sebelumnya.

Penanganan query dan klasifikasi adalah dua proses yang berbeda, meskipun keduanya dapat menggunakan pendekatan yang beririsan. Perlu dipahami pula, ada perbedaan antara klasifikasi dan clustering, meskipun banyak orang menggunakan 2 istilah ini secara bergantian untuk maksud yang sama. Klasifikasi telah menyiapkan daftar kelas tujuan (pre-defined) sedangkan clustering tidak – hasil clustering dibiarkan membentuk kelas masing-masing. Detailnya tentu dapat dijumpai pada paper yang membahas tentang clustering dan klasifikasi.

Berikut ini adalah 2 file yang berisi:

1. Cosine Similarity. Langkah-langkah praktis menghitung kemiripan antara suatu Query (Q) dengan daftar dokumen (dengan semua dokumen). Kemudian dilakukan pengurutan dan dikembalikan kepada pengguna. Contoh ini memperlihatkan perhitungan kemiripan menggunakan cosine similaity.

Klik dan download!

2. Klasifikasi kNN. Langkah-langkah praktis mengelompokkan suatu dokumen ke dalam salah satu dari 2 kelas tujuan yang pre-defined. Pendekatan yang digunakan adalah kNN. Perhitungan kemiripan digunakan untuk mendapatkan k tetangga terdekat dari dokumen yang akan diklasifikasikan. Nilai k=4 dijadikan default.

Klik dan Download!.

Semoga dua contoh di atas bermanfaat 🙂

UAS Metodologi Penulisan Ilmiah

Para mahasiswa yang mengambil kuliah MPI yang saya ampu. Semua proposal TA yang masuk telah saya koreksi. Sementara hanya Saiful, Rohmi, Hapso dan Sulis yang dinyatakan lulus (dan mereka memang sudah maju seminar proposal). Lainnya harus melakukan revisi.

Proposal yang telah saya koreksi ada di meja Admin labjar, mas Saiful. Silakan di ambil dan lakukan revisi sesuai dengan panduan penulisan proposal TA Teknik Informatika Unijoyo, versi terbaru. Selain itu, kesalahan utama ada pada Rumusan Masalah dan Tujuan yang tidak jelas, salah atau mengambang.

Proposal baru (hasil revisi) dan proposal yang telah dikoreksi harus dikumpulkan kembali paling Jumat, 14 Januari 2011, jam 09.00. Keterlambatan tidak ditolerir. Jangan lupa absen kehadiran UAS pada saat pengumpulan revisi.

Selamat belajar dan berkarya, semoga sukses selalu 🙂

Soal + Jawaban UAS Web Engineering 2010

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 🙂

True SE: Web Portal + Search Engine trunojoyo.ac.id

Hampir semua universitas atau perguruan tinggi di Indonesia mempunyai situs, baik untuk level universitas, unit/fakultas, jurusan/program studi sampai dengan laboratorium, dosen, unit kegiatan mahasiswa bahwa blog. Begitu pula pada Universitas Trunojoyo. Makin lama makin banyak informasi yang tersedia pada website-website di bawah domain trunojoyo.ac.id, bukan hanya http://www.trunojoyo.ac.id.

Sayangnya, ada beberapa hal yang sangat menyusahkan pengunjung mendapatkan informasi secara lengkap dan terpadu dari website-website tersebut. Pertama, situs web utama, http://www.trunojoyo.ac.id tidak menyediakan akses ke berbagai situs lain yang berada di bawah domain yang sama. Pengunjung harus mengetahui setiap alamat (URL) yang perlu dikunjungi. Kedua, pengunjung tidak dapat mengetahui dimana saja informasi terkait tersedia. Misalnya beasiswa, jika pada situs web Fakultas Teknik terdapat pengumuman beasiswa XYZ, dimana informasi lebih detail atau terkait tersedia? di Fakultas lain atau di Universitas?

Continue reading