Archive

Archive for the ‘Data Mining & IR’ Category

Pemrograman Aplikasi Temu-Kembali Informasi

7 November 2015 7 comments

Kali ini, saya mencoba berbagi sedikit pengalaman menulis aplikasi sistem temu-kembali (STKI) alias Information Retrieval (IR). Aplikasi ini sangat sederhana, hanya melalukan indexing, retrieval dan caching dalam penanganan query dari pengguna. Sebagaimana aplikasi IR lainnya, titik berat dari sistem demikian adalah perhitungan kemiripan antara Query Q dengan daftar dokumen di dalam koleksi (Di, i = 1 … n). Agar mudah dipahami, kali ini saya ketengahkan kode program lengkap (namun sederhana) dalam bahasa pemrograman PHP, bahasa yang sudah umum digunakan oleh pengembang aplikasi web, termasuk para pemula.

Silakan klik link-link berikut untuk mendapatkan tutorial dan source codenya:

1. Tutorial pengembangan aplikasi Sistem Temu-Kembali Informasi.

2. Kumpulan semua file dan database yang diperlukan agar aplikasi ini berjalan sesuai dengan Tutorial di atas. Silakan download file stbicode-v1.pdf kemudian ubah ekstensinya menjadi .zip. Ekstrak file tersebut dan siap digunakan. File stbicode-v1.zip berisi:

a. Daftar fungsi (fungsi.php) yang digunakan di dalam Sistem Temu-Kembali Informasi
b. File halaman web utama (index.php) dari aplikasi
c. File PHP untuk membangun koneksi ke server database MySQL (koneksi.php)
d. File backup database (SQL) yang berisi struktur dan isi database yang diperlukan oleh aplikasi STKI ini.

Semoga tulisan ini bermanfaat. Aamiin πŸ™‚

Membangun Layanan Web Hosting Modern

4 October 2015 Leave a comment

Salam rekan sekalian. Kali ini saya akan coba mengetengahkan mengenai proses pembangunan sistem web hosting modern, yaitu yang melibatkan teknologi virtual hosting. Ada beberapa tool atau server yang digunakan: Bind 9 DNS Server, Apache 2 Web Server, Nginx Web Server dan HA Proxy (Reverse Proxy dan Load Balancer). Penguasaan dengan baik apa yang dibahas dalam tutorial ini merupakan jaminan untuk mampu membangun dan mengelola suatu sistem layanan Web Hosting Modern, meskipun teknologi virtualiasi di dunia web hosting dan pengembangan aplikasi terus bergerak cepat.

Silakan download tutorial tersebut di sini!. Selamat belajar

Pengembangan Aplikasi Web dengan MEAN (1) – Mengelola Database Dokumen dengan MongoDB

30 September 2015 Leave a comment

MongoDB adalah salah satu database dokumen. Ia juga masuk kategori NoSQL (Not Only SQL). Database jenis ini sedang menjadi tren terutama untuk menyimpan dokumen-dokumen yang tentu saja tidak tepat dalam format Relasional. SQL, sebagaimana hadir pada banyak database, seperti MySQL, SQL Server, Oracle dan PostgreSQL, memerlukan waktu lama untuk menguasainya. MongoDB sangat sederhana dan dapat dipelajari dalam sekejap.

Pada database relasional, data disimpan dalam rangkaian baris dan tabel. MongoDB mempunyai koleksi dan dokumen. Koleksi dapat disamakan dengan tabel, dan dokumen diumpamakan sebagai baris. Meskipun sebetulnya analogi tersebut belum tentu tepat.

Read more…

Handout Kecerdasan Buatan

17 September 2012 Leave a comment

========================================= P E N G U M U M A N ================================================
Kuliah Tambahan/Pengganti di Minggu Tenang, diTIADAkan.

Kuliah Tambahan Kecerdasan Buatan, untuk kelas 10-03, 04 dan 05, ditiadakan. Silakan belajar sendiri, manfaatkan handout dan contoh-contoh dibuku referensi utama.

Selamat belajar, semoga sukses di UAS πŸ™‚
————————————————————————————————————–

Ini adalah halaman yang berisi pengumuman dan materi kuliah Kecerdasan Buatan (Artificial Intelligence, AI) yang saya ampu pada semester I 2012/2013 di STMIK Amikom Yogyakarta.

Kuliah ini mencoba mendiskusikan berbagai konsep dan teknik penting dalam ilmu kecerdasan buatan, secara luas, singkat, tepat namun tidak mendalam & tidak rumit. Fokusnya adalah pada pemahaman (understanding) konsep dasar. Materi kuliah mencakup konsep Pencarian, representasi pengetahuan, penalaran, s.d soft computing. Kuliah ini mengharuskan mahasiswanya telah lulus matakuliah Logika Informatika dan berakal sehat πŸ™‚

Tujuan Kuliah ini:

Mahasiswa mampu memahami konsep paradigma kecerdasan buatan dan soft computing, beserta keunggulannya dibandingkan komputasi tradisional.

Mahasiswa mampu memahami fondasi teoritis berbagai teknologi sistem cerdas sehingga cukup mampu untuk mengembangkan kemampuan untuk meng-evaluasi sistem cerdas, terutama pas/tidaknya itu bagi aplikasi tertentu dan mengelola aplikasi dari berbagai tool yang tersedia untuk mengembangkan sistem cerdas.

Rencana Materi Kuliah:

01. Mengenal Sistem Cerdas [Download Slide]

A. Konsep Fundamental
————————————————–
02. Penyelesaian masalah dengan Pencarian, fokus pada Uninformed/Blind Search [Download Slide]
03. Pencarian Informed (terpandu, heuristik), terutama Pencarian Greedy dan A* [Download Slide]
04. Variasi A* (IDA*, SMA*, D*) dan Pencarian Hill Climbing [Download Slide]
05. Pencarian Adversarial (Min-Max dan Alpha-Beta Pruning) [Tugas Mandiri]
06. Representasi Pengetahuan dan Penalaran [Download Slide]

UJIAN TENGAH SEMESTER (UTS)

07. Sistem Pakar berbasis Aturan (Rule-based Expert Systems, RBES), terutama penalaran Forward dan Backward Chaining [Download Slide]
08. Ketidakpastian (Uncertainty) dalam Sistem Pakar, mencakup Teorema dan Jaringan Bayes, dan Faktor Kepastian (CF) [Download Slide]

xx. Dasar Pemrograman Prolog, ditunda atau bakal dicancel πŸ™‚

B. Soft Computing
————————————————–
09. Sistem [Pakar] Fuzzy, (Fuzzy Logic), mencakup Himpunan Fuzzy dan Operasinya, model penalaran Fuzzy: Mamdani, Sugeno dan Tsukamoto [Download Slide]
10. Pembelejaran Mesin (Machine Learning), terutama mengenai Decision Tree dan Pendekatan Bayesian [Download Slide]

11. Jaringan Syaraf Tiruan (Neural Network) [Download Slide]
12. Jaringan Syaraf Tiruan (lanjutan).

UJIAN AKHIR SEMESTER (UAS)

Buku Teks:

Crina Grosan dan Ajith Abraham, Intelligent Systems: A Modern Approach, Springer, 2011

Buku Pendukung:

Wolfgang Ertel, Introduction to Artificial Intelligence, Springer, 2011
Stuart Russell dan Peter Norvig, Artificial Intelligence: A Modern Approach, 3rd Edition, Prentice Hall, 2011

Hal-hal lain terkait kuliah ini dapat ditanyakan melalui email Lunix96@gmail.com

Focused Web Crawler

30 May 2012 1 comment

Focused Web Crawler merupakan suatuΒ  web crawler yang bertujuan secara selektif mencari halaman-halaman web yang relevan dengan himpunan topik tertentu yang telah didefinisikan sebelumnya sehingga crawler tidak mencari seluruh web secara mendalam. Focused Crawler memanfaatkan aturan-aturan keputusan berdasarkan pada analisis isi, struktur link dan teks anchor untuk menjaga agar crawler fokus pada topik tertentu, seperti ”bersepeda” atau ”HIV”. Di sisi lain, web crawler juga dapat difokuskan pada target format dokumen atau non-dokumen tertentu (PDF, Doc, audio dan video).

Read more…

Ilustrasi Preprocessing & Searching Dalam Text Mining

1 November 2011 Leave a comment

Bidang Text Mining atau Information Retrieval semakin maju dan banyak digunakan. Dua tugas penting dalam bidang ini adalah PreProcessing dan Searching. Kualitas Dokumen yang dikembalikan ke pengguna oleh suatu Search Engine sangat tergantung pada kualitas fitur yang dihasilkan pada tahapan Preprocessing dan kemampuan pendekatan perankingngan yang dipakai saat pencarian atau perhitungan kemiripan.

Kali ini, kami coba memberikan sebuah contoh ilustratif bagaimana preprocessing dilakukan. Kemudian, jika terdapat suatu query, bagaimana query ini diperlakukan dan kemudian dihitung kemiripannya dengan daftar dokumen yang tersedia.

Klik link berikut dan nikmati file PDF-nya πŸ˜‰

Kemiripan & Klasifikasi Teks – Contoh Perhitungan

11 January 2011 3 comments

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 πŸ™‚