Parsing Top Down Parsing

2.4. Parsing

Parsing adalah proses pengenalan dan pengambilan Token hasil Tokenization dari sekumpulan unit dokumen. Yang biasanya kata – kata. Proses parsing tidak hanya dapat dilakukan dalam proses Information retrieval, melainkan juga pada bidang lain seperti pada pembuatan sebuah compiler dan Bahasa Alami. Sebelumnya perlu diketahui arti dari istilah parser yaitu program yang melakukan proses parsing. Untuk pemrosesan, dokumen dipilah menjadi unit-unit yang lebih kecil misalnya berupa kata, frasa atau kalimat. Unit pemrosesan tersebut disebut sebagai token. Parsing merujuk pada proses pengenalan token yang terdapat dalam rangkaian teks Grossman, 2002. Oleh karena itu bagian dasar dalam parsing adalah algoritma pengambil token dari teks yang disebut tokenizer. Proses ini memerlukan pengetahuan bahasa untuk menangani karakter- karakter khusus, serta menentukan batasan satuan unit dalam dokumen. Parser dapat diibaratkan sebagai “otak” dari sebuah kompiler: komponen inilah yang menginferensikan makna dari bahasa dalam string input berdasarkan grammar atau tata bahasa yang telah ditentukan sebelumnya oleh pemrogram. Dari makna atau nilai semantik sebuah rangkaian token, parser dapat segera memproses interpretasi, translasi struktur implisit dalam rangkaian token tersebut, atau menunda pemrosesan sampai didapat struktur utuh dari string input.

2.5. Top Down Parsing

Top-down parser bekerja dengan cara menguraikan sebuah kalimat mulai dari constituent yang terbesar yaitu sampai menjadi constituent yang terkecil. Hal ini dilakukan terus-menerus sampai semua komponen yang dihasilkan ialah constituent terkecil dalam kalimat, yaitu kata. Sebagai contoh, dengan menggunakan contoh grammar, dapat dilakukan proses top-down parsing untuk kalimat “The dog chased the cat” yang ditunjukkan pada gambar 2.1. Cara kerja top down parser. Dari gambar ini terlihat bahwa top-down parser menelusuri setiap node pada parse tree secara pre-order. Beberapa metode parsing yang bekerja secara top-down ialah : 1. Top-down parser biasa 2. Recursive-descent parser 3. Transition-network parser 4. Chart parser Gambar 2.1. Cara kerja top down parser. Sumber : Agosti, Maristella. “Hypertext and Information Retrieval”. Information Processing Management, 1993 Top-down parser dapat diimplementasikan dengan berbagai bahasa pemrograman, namun akan lebih baik jika digunakan declarative language seperti Prolog atau LISP. Hal ini disebabkan oleh karena pada dasarnya proses parsing ialah proses searching yang dilakukan secara rekursif dan backtracking, dimana proses ini sudah tersedia secara otomatis dalam bahasa Prolog. Dengan demikian parser yang ditulis dalam Prolog atau bahasa deklaratif lainnya akan menjadi jauh lebih sederhana daripada parser yang dibuat dalam bahasa prosedural biasanya seperti Pascal, C dan sebagainya. Program 1 menunjukkan implementasi top-down parser biasa dalam bahasa Prolog.

2.6. Bottom Up Parsing