BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB III LANDASAN TEORI. menggunakan komputer biasa disebut sistem informasi berbasis komputer (computer based

BAB II LANDASAN TEORI

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI. antara sistem dan informasi. Sistem adalah suatu kerangka kerja yang sangat

Data flow diagram (DFD) adalah representasi grafis yang mengalir. data visualisasi (desain terstruktur). Pada DFD, item data mengalir dari

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

Cara Membuat Aplikasi Facebook dengan Visual Studio 2010

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI. Bab ini akan membahas hal-hal yang mendasari dibuatnya SIS, bahasa pemrograman, dan tools yang digunakan dalam pembuatan SIS.

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. 2.1 Tinjauan Pustaka Penelitian yang membahas pembuatan aplikasi pembelajaran sejarah pernah

DASAR-DASAR SQL SERVER 2005

TEKNIK KOMPILASI Konsep & Notasi Bahasa

BAB III PEMROGRAMAN PADA SOFTWARE MICROSOFT VISUAL BASIC dan data-data yang saling terelasi yang memerintahkan apa yang harus

BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang

Grammar dan Tingkat Bahasa

UNIVERSITAS GUNADARMA

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

1. Pendahuluan. 2. Tinjauan Pustaka

BAB III LANDASAN TEORI. Menurut Firmansyah (2011:25) dalam bukunya Rancang Bangun Aplikasi

BAB III LANDASAN TEORI

FINITE STATE MACHINE / AUTOMATA

BAB III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

FINITE STATE AUTOMATA

BAB III LANDASAN TEORI. yang berasal dari kegiatan operasi, kegiatan investasi dan kegiatan pembiayaan dari

BAB III LANDASAN TEORI

DAFTAR ISTILAH. Activity Diagram

DAFTAR ISI HALAMAN JUDUL PERTAMA

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

BAB II KAJIAN PUSTAKA

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI. kumpulan atau himpunan dari unsur, komponen atau variable yang terorganisir,

Pertemuan XI Database Connectivity Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

LEMBAR JUDUL LEMBAR PENGESAHAN

Gambar Use Case Diagram

Kuliah#3 TSK-612 Sistem Embedded Terdistribusi - TA 2011/2012. Eko Didik Widianto

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB III LANDASAN TEORI. penyuluhan memberikan pengertian yang berbeda beda. Meskipun demikian,

BAB III LANDASAN TEORI

BAB III PERANCANGAN. aplikasi pencarian judul buku terdiri dari perangkat keras (hardware) dan perangkat

Teori Bahasa dan Otomata

BAB 2 LANDASAN TEORI

Tujuan perancangan bhs program

BAB II LANDASAN TEORI. membentuk satu kesatuan untuk mencapai satu tujuan tertentu. Dapat dilihat dari. menekankan pada komponen atau elemennya.

TEKNIK KOMPILASI Bahasa Regular

BAB III LANDASAN TEORI. Menurut Soemarso (2007:08) dalam buku Akuntansi Suatu Pengantar

STANDAR KOMPETENSI DAN KOMPETENSI DASAR KELOMPOK PROGRAM PRODUKTIF SEKOLAH MENENGAH KEJURUAN

BAB II LANDASAN TEORI

DATABASE SQL SERVER. Database SQL Server Halaman 1

Pemrograman Basis Data dan SQL

BAB II TINJAUAN PUSTAKA

BAB III LANDASAN TEORI

TEORI BAHASA DAN OTOMATA [TBO]

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

BAB I PENDAHULUAN 1-1

PRAKTIKUM 1. Framework adalah kerangka kerja yang terdiri dari kumpulan dari beberapa fungsi,

BAB III TINJAUAN PUSTAKA

Kegunaan tahap ini adalah untuk memobilisasi dan mengorganisir g SDM yang akan melakukan Reengineering

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

PENGANTAR RUP & UML. Pertemuan 2

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan dalam

Praktikum Basis Data 2. BAB 1 : Pendahuluan

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

BAB II TINJAUAN PUSTAKA. permintaan pengguna dengan tujuan tertentu. Jenis program ini mempunyai sifat

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA. bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan

Lampiran 1 - Pengenalan terhadap UML (Unified Model Language)

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

TEORI BAHASA DAN OTOMATA PENGANTAR

Aplikasi Pengelolaan Nilai Akademik Mahasiswa dan DPNA (Daftar Peserta dan Nilai Akhir)

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI. implementasi serta pasca implementasi.(rizky, 2011:21). performasi dan fungsi yang diinginkan.

BAB II LANDASAN TEORI. Teori teori yang digunakan sebagai landasan dalam desain dan. implementasi dari sistem ini adalah sebagai berikut :

BAB III LANDASAN TEORI. dibahas meliputi permasalahan yang ada dan solusi yang diusulkan

BAB II LANDASAN TEORI. Sistem dapat diartikan sebagai serangkaian komponen-komponen yang

UNIFIED MODELING LANGUAGE

DIALOG DESAIN. 2. Sintaksis - Yaitu urutan dan struktur dari input dan output. - Pada bahasa manusia, ekuivalen dengan grammar suatu kalimat.

DAFTAR ISI... LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR TABEL... DAFTAR GAMBAR...

BAB II LANDASAN TEORI. bidang media komunikasi dan informasi. Internet adalah suatu jaringan komputer

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

BAB II LANDASAN TEORI

Transkripsi:

BAB II LANDASAN TEORI 2.1 Pembelajaran Matematika Proses belajar dipengaruhi oleh faktor internal dan eksternal. Kondisi internal ini sebagai karakteristik siswa yang merupakan deskripsi umum dari sifatsifat siswa yang akan menerima pelajaran. Misalnya usia, minat, profesi, kesehatan, motivasi, tingkat prestasi, kemampuan, status sosial ekonomi, atau kemampuan berbahasa asing. (Dick & Carey, 1985 : 95). Kondisi eksternal dalam proses belajar mengajar dipengaruhi antara lain oleh pengajar serta sarana dan prasarana. Dalam hal ini bagaimana pengajar merancang dan menyediakan kondisi agar siswa berhasil dalam belajarnya. Kegagalan seseorang dalam belajar tidak semata-mata disebabkan oleh kemampuannya tetapi antara lain adanya gangguan dari informasi lain yang menghambat untuk mengingat kembali apa yang telah pernah dipelajarinya. Menurut Assubel (1978 : 151-153) bila bahan yang dipelajari masa lalu menghambat bahan yang dipelajari sesudahnya disebut hambatan proaktif. Sedangkan bila bahan baru yang dipelajari menghambat ingatan kembali tentang apa yang telah dipelajari di masa lalu disebut menjadi hambatan retroaktif. Materi pelajaran tidak dapat dipelajari dengan ingatan saja melainkan harus dengan percobaan atau praktek langsung. Hubungan antara informasi yang telah ada dalam struktur kognitif siswa dengan informasi baru oleh Aussubel disebut advanced organizer. Hal ini dapat dilakukan dengan menghubungkan pelajaran matematika menjadi pelajaran yang penekanannya pada belajar penemuan (discovery learning), yakni belajar untuk mencari dan menemukan konsep baru bagi siswa dan belajar bermakna (meaningful learning) yaitu hasil belajar dapat diaplikasikan dan dikembangkan bagi siswa. Sehingga diharapkan pelajaran matematika dasar yang diajarkan menjadi konsep-konsep dasar dan ikut dalam pembentukan konsep baru yang dapat benar- 7

8 benar dipahami, karena matematika merupakan salah satu cabang ilmu pengetahuan yang sebagian konsepnya bersifat abstrak meskipun beberapa konsep dalam isinya terdiri dari hal-hal yang konkrit serta sebagian materinya memerlukan pemahaman secara bermakna. 2.2 Tata Bahasa Indonesia Penulisan suatu kalimat dalam sebuah bahasa, akan mengikuti suatu aturan tertentu yang berlaku pada bahasa tersebut. Aturan tersebut dikenal sebagai Tata Bahasa (grammar). Kalimat sederhana terbentuk dari minimal dua kata yang mengandung unsur Subjek-Predikat. Bentuk dan kategori frase. Kata dapat dibedakan berdasar kategori sintaksnya. Artinya kata yang mempunyai bentuk dan perilaku yang sama dimasukkan dalam satu kelompok. Kategori sintaksis sering juga disebut kategori atau kelas kata. Kelas kata yang ada dalam bahasa Indonesia meliputi: 1. Verbal (kata kerja) 2. Nominal (kata benda) 3. Adjektiva (kata sifat) 4. Adverb (kata keterangan) 5. Kata tugas: a. Preposisi (kata depan) b. Konjungtor (kata sambung) c. Partikel penegas d. Artikula e. Interjeksi (kata seru)

9 frase. Kata kerja, kata benda dan kata sifat dalam kalimat bisa juga berbentuk 1. Kata kerja dan frase kata kerja Kata kerja mempunyai fungsi sebagai predikat, yang mengandung makna perbuatan(aksi), proses, dan keadaan yang bukan sifat/kualitas. Kata kerja ini dibagi menjadi kata kerja transitif dan intransitif. Kata kerja transitif merupakan kata kerja yang memerlukan objek. Misalnya menanam bunga. Sedangkan kata kerja intransitif adalah kata kerja yang tidak memerlukan objek. Misalnya berlari. Contoh dari frase kata kerja : lari lari tergesa-gesa (kata kerja + kata sifat) pergi sudah pergi (kata keterangan + kata kerja) 2. Kata benda dan frase kata benda Kata benda mengacu pada manusia, binatang, benda, konsep dan pengertian. Kata benda bisa menduduki posisi sebagai subjek, objek, pelengkap maupun keterangan. Contoh frase kata benda: - saya dan adik, (kata benda + kata benda) - dua buah mangga (keteranan numeralia/jumlah + kata benda) 3. Kata sifat dan frase kata sifat Kata sifat memberikan makna keterangan (bersifat atributif) terhadap kata benda maupun kata kerja. Contoh frase kata sifat: - tidak bodoh - cantik sekali Untuk menjabarkan soal matematika dalam kalimat harus mengikuti kaidah. Namun pada tulisan ini, bentuk kalimat yang digunakan dibatasi. Misalnya kalimat berita untuk menjelaskan kondisi apa yang diketahui, dan kalimat tanya atau kalimat perintah untuk menjelaskan apa yang harus dijawab. a) Kalimat Berita

10 Kalimat berita harus memenuhi aturan S-P (Subjek-Predikat) atau S-P-O (Subjek-Predikat-Objek) atau S-P-O-K (Subjek-Predikat-Objek- Keterangan). Tetapi pada tulisan ini, kalimat berita yang dianggap valid hanya kalimat berita yang memenuhi pola S-P-O atau S-P-O-K atau kalimat transitif. Pola kalimat ini bisa digambarkan dengan diagram berikut: Kalimat Berita Subjek atau, Predikat Kalimat Berita Subjek Predikat Objek atau, Kalimat Berita Subjek Predikat Objek Keterangan Dengan masing-masing format sebagai berikut: Subjek Kata benda, atau Kata Sandang + Kata benda, atau Kata Benda + Kata Keterangan, atau Kata Sandang + Kata Benda + Kata Keterangan Predikat Kata kerja, atau Kata kerja + kata keterangan Objek Kata benda, atau Kata Sandang + Kata benda, atau Kata Benda + Kata Keterangan, atau Kata Sandang + Kata Benda + Kata Keterangan

11 Keterangan Kata keterangan tempat, waktu Contoh: Pola S P (intransitif) - Adik menggambar Pola S P O (transitif) - Adik menyimpan buah Pola S P O K - Adik menyimpan buah di meja b) Kalimat Perintah Kalimat perintah adalah kalimat yang bertujuan memberikan perintah kepada orang lain untuk melakukan sesuatu. Biasanya diakhiri dengan tanda seru (!). Dalam bentuk lisan, kalimat perintah ditandai dengan intonasi tinggi. Macam-macam kalimat perintah : 1. Kalimat perintah biasa, ditandai dengan partikel -lah. Contoh : Hitunglah jumlah kambing di padang rumput itu! 2. Kalimat larangan, ditandai dengan penggunaan kata jangan. Contoh Jangan membuang sampah sembarangan! 3. Kalimat ajakan, ditandai dengan kata mohon, tolong, silahkan. Contoh : Tolong temani nenekmu di rumah! c) Kalimat Tanya Kalimat tanya adalah kalimat yang isinya menanyakan sesuatu atau seseorang sehingga diperoleh jawaban tentang suatu masalah. Biasanya diakhiri dengan tanda tanya (?). Secara lisan, kalimat tanya ditandai dengan intonasi yang rendah. Contoh : - Berapakah jumlah itik di kolam itu? - Siapa yang membeli buku ini? Struktur kalimat tanya yang dianggap valid memenuhi pola: Kata tanya + Objek, atau

12 Kata tanya + Objek + keterangan Jenis Kalimat 1. Kalimat Tunggal Kalimat tunggal adalah kalimat yang hanya terdiri atas dua unsur inti pembentukan kalimat (subjek dan predikat) dan boleh diperluas dengan salah satu atau lebih unsur-unsur tambahan (objek dan keterangan), asalkan unsur-unsur tambahan itu tidak membentuk pola kalimat baru. Kalimat Tunggal Ayah merokok. Adik minum susu. Ibu menyimpan uang di dalam laci. Susunan Pola Kalimat S-P S-P-O S-P-O-K 2. Kalimat Majemuk Kalimat majemuk adalah kalimat-kalimat yang mengandung dua pola kalimat atau lebih. Kalimat majemuk dapat terjadi dari: a. Sebuah kalimat tunggal yang bagian-bagiannya diperluas sedemikian rupa sehingga perluasan itu membentuk satu atau lebih pola kalimat baru, di samping pola yang sudah ada. Misalnya: Anak itu membaca puisi. (kalimat tunggal) Anak yang menyapu di perpustakaan itu sedang membaca puisi. (subjek pada kalimat pertama diperluas) b. Penggabungan dari dua atau lebih kalimat tunggal sehingga kalimat yang baru mengandung dua atau lebih pola kalimat. Misalnya: Susi menulis surat (kalimat tunggal I) Bapak membaca koran (kalimat tunggal II) Susi menulis surat dan Bapak membaca koran.

13 2.3 Teori Bahasa dan Automata Teori bahasa dan automata merupakan bagian dari teori komputasi pada ilmu komputer. Istilah automata berasal dari bahasa Yunani automatos yang berarti self acting(mesin yang bekerja sendiri). Dalam dunia matematika, teori automata berkaitan dengan teori mengenai mesin abstrak. Automata adalah suatu mesin sekuensial yang menerima input dan menghasilkan output yang masingmasing dalam bentuk diskrit. Teori bahasa merupakan suatu gagasan mendasar dalam komputasi yang menjadi tools untuk mengenali persoalan. Gagasan tersebut dimodelkan dengan simbol-simbol yang merepresentasikan suatu fungsi dari komputer digital. Teori bahasa pada awalnya lebih diarahkan untuk mengenali suatu tata bahasa dan dapat mendefinisikan spesifikasi format dari data tersebut. Sehingga dapat didefinisikan langkah-langkah algoritmik dalam pemrosesan tata bahasa. Pengertian mesin bukan hanya mesin elektronis/mekanis saja melainkan segala sesuatu (termasuk perangkat lunak) yang memenuhi ketiga ciri di atas. Penggunaan automata pada perangkat lunak terutama pada pembuatan compiler bahasa pemrograman. Secara garis besar ada dua fungsi automata dalam hubungannya dengan bahasa, yaitu : - Fungsi automata sebagai pengenal (recognizer) string-string dari suatu bahasa, dalam hal ini bahasa sebagai masukan dari automata. - Fungsi automata sebagai pembangkit (generator) string-string dari suatu bahasa, dalam hal ini bahasa sebagai keluaran dari automata. Mesin pengenal bersifat deterministik bila dalam setiap konfigurasi, hanya ada satu kemungkinan yang dapat dilakukan mesin, jika tidak, mesin pengenal bersifat non deterministik. Noam Chomsky (1959) melakukan penggolongan tingkatan bahasa menjadi empat, yang dikenal dengan Hirarki Chomsky. 1. Regular Grammar/Regular Language (RG/RL)

14 Mesin Pengenal : Finite State Automata (FSA) yang meliputi Deterministic Finite Automata (DFA) dan Nondeterministic Finite Automata (NFA). Dapat dibagi menjadi dua subkelas : a) left linear grammar/left linear language (LLG/LLL), jika P berbentuk A Bx x b) right linear grammar/right linear language (RLG/RLL), jika P berbentuk A xb x, di mana A,B Є N dan x Є T* 2. Context Free Grammar/Context Free Language (CFG/CFL) Mesin Pengenal : Push Down Automata (PDA) Ciri-ciri : bentuk produksi P A β, di mana A Є N dan β Є (T Є N)* 3. Context Sensitive Grammar/Context Sensitive Language (CSG/CSL) Mesin Pengenal : Linear Bounded Automata (LBA) Ciri-ciri : bentuk produksi P α β, α,β Є (T Є N) +, α β 4. Unrestricted Grammar/Unrestricted Language (UG/UL) Mesin Pengenal : Turing Machine Ciri-ciri : bentuk produksi P α β, α,β Є (T Є N) + Pada tulisan ini hanya akan dibahas Bahasa Reguler (kelas bahasa yang pertama), yang merupakan kelas bahasa yang paling sederhana, beserta mesin pengenalnya (FSA). Dengan menggunakan FSA sudah cukup untuk menganalisa kalimat matematika yang diinput pengguna.

15 2.4 Finite State Automata Finite State Automata(FSA) merupakan suatu mesin abstrak yang digunakan untuk merepresentasikan penyelesaian suatu persoalan dari suatu sistem diskrit. Sebagai sebuah mesin, FSA akan bekerja jika diberikan suatu input, dengan hasil proses berupa nilai kebenaran. FSA memiliki state yang banyaknya berhingga, jika diberikan suatu input maka dapat terjadi perpindahan state dari sebuah state ke state lainnya. Perubahan state tersebut dinyatakan oleh suatu simbol transisi. Mekanisme FSA tidak memiliki memory sehingga selalu mendasarkan prosesnya pada posisi state saat ini. Misalnya pada mekanisme kontrol pada sebuah lift, selalu didasari pada posisi lift saat itu pada suatu lantai, pergerakan ke atas atau ke bawah dan sekumpulan permintaan yang belum terpenuhi. Finite State Automata merupakan suatu tools yang berguna untuk merancang sistem nyata. Berikut contoh kasus yang dimodelkan dengan diagram transisi dalam mesin automata: seorang petani dengan seekor serigala, kambing dan seikat rumput berada pada suatu sisi sungai. Hanya ada sebuah perahu kecil yang dapat dimuati dengan petani tersebut dengan salah satu serigala, kambing atau rumput. Petani tersebut harus menyeberangkan ketiga bawaannya kesisi lain sungai. Tetapi jika petani meninggalkan serigala dan kambing pada suatu saat, maka kambing akan dimakan serigala. Begitu pula jika kambing ditinggalkan dengan rumput, maka rumput akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan kambing atau rumput dimakan? Masalah ini dapat dimodelkan dengan memperhatikan mereka yang menempati setiap sisi sungai. Misalnya kita akan menggunakan kombinasi pada setiap sisi sungai sebagai keadaan/state yang mungkin. Terdapat 16 kombinasi state untuk Petani (P), serigala (S), kambing (K) dan rumput (R) yaitu :

16 Sisi kiri Sisi Kanan Simbol State PSKR Ø PSKR Ø SR PK SR PK SK PR SK PR KR PS KR PS PSR K PSR K PSK R PSK R PKR S PKR S PK SR PK SR PR SK PR SK PS KR PS KR K PSR K PSR R PSK R PSK S PKR S PKR SKR P SKR P P SKR P SKR Ø PSKR Ø PSKR Dari 16 kombinasi state tersebut, hanya 10 state yang mungkin, yaitu : Sisi kiri Sisi Kanan Simbol State PSKR Ø PSKR Ø SR PK SR PK PSR K PSR K PSK R PSK R PKR S PKR S PK SR PK SR K PSR K PSR R PSK R PSK S PKR S PKR Ø PSKR Ø PSKR

17 Berdasarkan kemungkinan state tersebut, dapat digambarkan diagram transisi dari persoalan tersebut dengan mesin automata, sbb : Gambar 1. Diagram Transisi

18 Dengan 1. Lingkaran merepresentasikan kedudukan (state), 2. Label pada lingkaran adalah nama state tersebut. 3. Busur menyatakan transisi 4. Label pada busur adalah masukan / input 5. Lingkaran didahului dengan sebuah busur tanpa label adalah state awal 6. Lingkaran ganda menyatakan state akhir (final) Untuk kasus petani dengan bawaanya, dapat didefinisikan FSA sebagai berikut : Q = { PSKR Ø, SR PK, PSR K, PSK R, PKR S, PK SR, K PSR, R PSK, S PKR, Ø PSKR} = {P, PK, PR, PS } δ = P PK PR PS PSKR Ø SR - PK - - - SR PK PSR - K PSKR Ø - - PSR K SR - PK - S - PKR R - PKS PSK R - S - PKR - K - PSR PKR S - R - PKS K - PSR - PK SR K - PSR Ø-PSKR K PSR PK - SR - PKR - S PKS R R PSK - PKR - S - PSR - K S PKR - PKS - R PSR - K - Ø PSKR - PK SR - - S = PSKR Ø F = { Ø PSKR } 2.4.1 Deterministic Finite Automata(DFA) Kata Deterministic mengacu pada setiap input hanya memiliki satu transisi dari state saat ini. Suatu Deterministic Finite Automata (DFA) didefinisikan dengan fungsi (DFA) M = (Q,,, S, F) Dimana :

19 Q : himpunan state/kedudukan : himpunan simbol input : fungsi transisi, dimana Є Q Q S : State awal (initial state) F : State akhir (final state) Sebagai contoh, mesin automata B = ({q 0, q 1, q 2 }, {0, 1}, δ B, q 0, {q 2 }) dimana δ B = { ((q 0,0), q 1 ), ((q 0,1), q 0 ), ((q 1,0), q 1 ), ((q 1,1), q 2 ), ((q 2,0), q 2 ), ((q 2,1), q 2 ) } FSA tersebut dikatakan DFA, jika selalu memenuhi tabel transisi berikut : 0 1 q 0 q 1 q 0 q 1 q 1 q 2 * q 2 q 2 q 2 Tabel merepresentasikan fungsi, sebagai contoh untuk menemukan nilai dari (q,x) kita harus melihat pada baris dengan label q dan pada kolom dengan label x. State awal ditandai dengan dan semua state akhir ditandai dengan *. Dengan diagram transisi yang digambarkan sebagai berikut: Gambar 2. Diagram transisi DFA menerima semua string dengan substring 01 2.4.2 Nondeterministic Finite Automata(NFA) Pada mesin nondeterministic, beberapa pilihan muncul pada state selanjutnya dari suatu titik. Nondeterminsitic merupakan generalisasi dari deterministic, sehingga setiap deterministic finite automata secara otomatis merupakan nondeterministic finite automata. Suatu Nondetereministic Finite Automata (NFA) didefinisikan dengan fungsi (NFA) M = (Q,,, S, F) Dimana :

20 Q : himpunan state/kedudukan : himpunan simbol input S Є Q: State awal (initial state) F Q : State akhir (final state) : fungsi transisi, dimana : Q { Ù ε} P(Q) ε merupakan string kosong Sebagai contoh, mesin automata B = ({q 0, q 1, q 2 }, {0, 1}, δ B, q 0, {q 2 }) dimana δ B = { ((q 0,0), q 0 ).((q 0,0), q 1 ), ((q 0,1), q 0 ), ((q 1,1), q 2 ), } FSA tersebut dikatakan NFA, jika selalu memenuhi tabel transisi berikut : 0 1 q 0 {q 0, q 1 } q 0 q 1 Ø q 2 * q 2 Ø Ø Diagram berikut merupakan contoh dari NFA Gambar 3. Diagram transisi NFA menerima semua string yang berakhir di 01 NFA bekerja dengan satu input string dan menghasilkan output dengan banyak pilihan. Seperti terlihat pada state q0. Dari state q0 terdapat dua panah dengan input 0. Pada NFA ini, memiliki pilihan untuk ke state q0 atau q1. Pada state q1, NFA memeriksa apakah input merupakan 1, dan jika ya, menuju ke state q2 sebagai state akhir.

21 2.5 Natural Language Processing Natural language processing, biasanya disingkat dengan NLP, mencoba membuat komputer mampu memahami suatu perintah yang dituliskan dalam bentuk bahasa sehari-hari dan diharapkan komputer juga merespon dalam bahasa yang mirip dengan bahasa natural. Perlu diketahui pula, speech synthesis dan speech recognition sebenarnya bukan merupakan bagian dari NLP. Natural Language processor tidak memperdulikan bagaimana suatu kalimat diinputkan ke komputer. Tugasnya adalah mengekstrak informasi dari kalimat. NLP tidak bisa digunakan sendirian, kecuali dalam riset. Tetapi NLP dapat menyediakan front end untuk program komputer yang lain terutama database manager dan generalized problem solver. Juga untuk menjalankan sistem operasi, banyak riset yang mengarah ke NLP driven Operating System. Dan yang paling utama adalah pada pengembangan robotika, dimana dituntut interaksi yang efektif antara mesin dan manusia. Pendekatan untuk NLP Inti dari sistem NLP adalah parser. Parser adalah bagian dari program atau sistem yang membaca setiap kalimat, kata demi kata. Ada banyak jenis parser yang bisa digunakan, pada tulisan ini akan digunakan teknik State machine Parser. Ada 2 pendekatan yang bertolak belakang pada NLP. Pendekatan yang pertama mencoba untuk menggunakan semua informasi dalam satu kalimat seperti yang dilakukan manusia. Tujuan dari pendekatan ini adalah memungkinkan komputer melakukan percakapan. Pendekatan yang lain memungkinkan komputer menerima perintah dalam bahasa natural, tetapi cukup dengan cara meng-ekstrak informasi yang esensial dari perintah tersebut. Dalam penyelesaian menerjemahkan makna leksikal suatu kalimat, akan dibuat satu tabel aturan data yang berisi kata atau frase yang mengindikasikan jika kata maupun frase tersebut sebagai sebuah operator. Dalam hal ini, digunakan akan digunakan metode compiler atau kompilator, seperti terlihat pada gambar berikut:

22 Gambar 4. Model Kompilator Dimana program melakukan proses analisis dan sintesis. Bagian analisis berhubungan dengan pemisahan bagian-bagian dasar (token). Secara lebih rinci, setiap elemen analisis melakukan tugas-tugas berikut: 1. Penganalisa leksikal (scanner) Fungsi scanner adalah membaca seluruh teks program sumber per karakter, mengenali bagian dasar teks (bagian leksikografis terkecil/token) dan memisahkannya dengan spasi kosong. Keluaran dari penganalisa leksikal adalah token. Setiap token dalam daftar token dilengkapi dengan kode penanda token(id) dan keterangan jenis token. Id dibangkitkan dengan mereferensi kepada informasi yang tersimpan dalam tabel simbol. 2. Penganalisa sintaks (parser) Daftar token yang dihasilkan scanner, oleh parser selanjutnya akan dikelompokkan atas kalimat-kalimat sesuai urutan keberadaan token dalam program sumber. Kalimat dapat berupa ekspresi, statement/pernyataan, dan prosedur. Dengan mengacu pada tata aturan penulisan kalimat (tata bahasa/grammar), kalimat yang terbentuk akan dianalisa untuk menghasilkan pohon sintaks atau yang sejenisnya. Pohon sintaks mengidentifikasi kalimat yang

23 benar secara tata bahasa jika semua simpul daun berupa token dan setiap simpul yang bukan daun mewakili suatu tipe kelas sintaks. 3. Penganalisa semantik Pohon sintaks yang dihasilkan oleh parser kemudian digunakan oleh penganalisa semantik untuk menangkap makna yang dimaksud oleh kalimat tersebut. Keluaran dari proses analisa semantik adalah Kode Antara (intermediate code). Salah satu model kode adalah Notasi Polish. Keluaran dari bagian analisa selanjutnya digunakan oleh bagian sintesis untuk membangkitkan program objek yang sesuai dengan program sumber dan mesin. 1. Pembangkit kode (code generator) Intermediate code akan diterjemahkan ke dalam bahasa rakitan (assembly) atau langsung ke dalam bahasa mesin. 2. Pengoptimal kode (code optimizer) Pada kompilator yang canggih, kode-kode objek dari pembangkit kode akan dianalisa dan langkah-langkah operasi serta kemunculan berulang dari suatu ekspresi akan direduksi. Hasil reduksi tersebut dimaksudkan untuk menghasilkan program objek yang lebih efisien. 2.6 Waterfall Model Dalam pengembangan aplikasi yang menggunakan waterfall model, produk dibagi ke dalam beberapa elemen yang dirancang dan di-built secara terpisah. Dalam setiap increment satu fitur/fungsionalitas di-review pengguna dan dilanjutkan ke fitur berikutnya. Pada tahap awal development, aplikasi yang dikembangkan merupakan fitur utama. Setiap tahap biasanya membutuhkan waktu yang relatif singkat. Model pengembangan ini membantu dalam memperkenalkan suatu sistem baru secara lengkap, tidak dalam sekali waktu. Secara umum, tahap pengembangan menggunakan Incremental Model dapat dilihat pada gambar 4.

24 Gambar 4. Model Incremental 2.7 UML UML (Unified Modelling Language) adalah salah satu alat untuk menggambarkan metode analisa dan design berorientasi objek (OOA&D) yang berkembang pada tahun 90-an. UML disebut juga sebagai bahasa pemodelan dan bukan merupakan metode. Banyak metode terdiri dari beberapa prinsip, baik bahasa pemodelan maupun proses. Bahasa pemodelan adalah notasi dari metode yang digunakan untuk menggambarkan desain. (Fowler, 1999)

25 Berikut adalah notasi-notasi yang digunakan dalam UML: (Larman, 1996) Tabel 1. Tabel Notasi UML Nama Fungsi Notasi Use Case Menjelaskan requirement Action Diagram fungsional dan hubungannya dengan requirement <Actor Name> (f rom Actors) NewUseCase nonfungsional. Interaction Diagram Menggambarkan hubungan objek secara dinamis yang menjelaskan bagaimana grup dalam objek berhubungan dalam satu proses. Adalah generalisasi dari Sequence diagram dan Collaboration diagram Class Diagram Menggambarkan definisi class secara hubungan yang statik dan mendeksripsikan tipe-tipe objek dalam sistem. NewClass attributes1 attributes2 setattributes1() setattributes2() getattributes1() getattriutes2() NewClass2 attributesn setattributesn() getattributesn() Sequence Diagram Mengilustrasikan interaksi actor dan operasi yang diinisiasi olehnya. Object 1 ObjectMessage/Function Object n Message to self Return Message Collaboration Mengilustrasikan interaksi Link to Self Diagram objek dalam format graf atau jaringan. Object 1 Link Message/function Object N

26 Package Diagram Mengilustrasikan layerlayer pada sistem dan ketergantungan diantaranya. SubPackage NewPackage SubPackageN State Teknik untuk menjelaskan Diagram perilaku sistem. Menjelaskan semua Start Transition kemungkinan state pada suatu objek. NewState Transition NewState2 End Activity Diagram Menggambarkan rangkaian aktivitas suatu sistem. Activity1 Start Activity2 Decision Acitivity3 Activity4 End Activity5 Deployment Mengilustrasikan Diagram hubungan fisik antara komponen software dan <processor name> <device name> hardware dalam delivery sistem. preemptive <process name> <thread name> Component Menggambarkan Diagram bermacam-macam NewComponent NewCom ponent2 komponen dalam sistem dan ketergantungannya.

27 2.5 Microsoft Visual Studio Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic.Net, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe. Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas.net Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas.net Compact Framework). Visual Studio kini telah menginjak versi Visual Studio 9.0.21022.08, atau dikenal dengan sebutan Microsoft Visual Studio 2008 yang diluncurkan pada 19 November 2007, yang ditujukan untuk platform Microsoft.Net Framework 3.5. Versi sebelumnya, Visual Studio 2005 ditujukan untuk platform.net Framework 2.0 dan 3.0. Visual Studio 2003 ditujukan untuk.net Framework 1.1, dan Visual Studio 2002 ditujukan untuk.net Framework 1.0. Versi-versi tersebut di atas kini dikenal dengan sebutan Visual Studio.Net, karena memang membutuhkan Microsoft.Net Framework. Sementara itu, sebelum muncul Visual Studio.Net, terdapat Microsoft Visual Studio 6.0 (VS1998). 2.8 Microsoft.Net Framework Microsoft.Net Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi Windows

28 terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini..net Framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows. Pada dasarnya,.net Framework memiliki 2 komponen utama: CLR dan.net Framework Class Library. Program - program yang ditulis untuk.net Framework dijalankan pada suatu lingkungan software yang mengatur persyaratanpersyaratan runtime program. Runtime environment ini, yang juga merupakan suatu bagian dari.net Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program. CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, garbage collection dan exception handling / penanganan kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti dari.net Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan. CLR adalah turunan dari CLI (Common Language Infrastructure) yang saat ini merupakan standar ECMA. Solusi-solusi program pembentuk class library dari.net Framework melingkupi area yang luas dari kebutuhan program pada bidang user interface, pengaksesan data, koneksi basis data, kriptografi, pembuatan aplikasi berbasis web, algoritma numerik, dan komunikasi jaringan. Fungsi-fungsi yang ada dalam class library dapat digabungkan oleh programmer dengan kodenya sendiri untuk membuat suatu program aplikasi baru. Pada berbagai literatur dan referensi di Internet,.Net Framework seringkali disingkat menjadi.net saja.net seringkali juga dapat diartikan sebagai platform, yang merupakan suatu lingkungan terpadu untuk pengembangan dan eksekusi untuk berbagai macam bahasa pemrograman dan kumpulan library untuk bekerja sama membuat dan

29 menjalankan aplikasi berbasis Windows yang lebih mudah untuk dibuat, diatur, didistribusikan, dan diintegrasikan dengan sistem jaringan lain. Dalam perkembangannya,.net seringkali dikaitkan pula dengan versi Visual Studio yang sesuai dengan dukungan versi yang bersangkutan untuk pengembangan aplikasi. Berikut ini versi.net dan versi Visual Studio yang terkait:.net 1.0 dan Visual Studio.Net (atau seringkali disebut juga dengan Visual Studio.Net 2002).Net 1.1 dan Visual Studio.Net 2003.Net 2.0 dan Visual Studio 2005.Net 3.0 dan Visual Studio 2005 dengan tambahan addin untuk WPF, WCF dan WF.Net 3.5 dan Visual Studio 2008.Net 4.0 dan Visual Studio 2010.Net 2.0, 3.0 dan 3.5 memiliki CLR yang sama. Dengan demikian, struktur IL juga sama. Adapun fasilitas penambahan kata kunci pemrograman seperti pada LINQ yang sebenarnya lebih mengarah sebagai fitur bahasa pemrograman (programming language feature) sehingga bukan merupakan fitur CLR. 2.9 Microsoft SQL Server 2005 Microsoft SQL Server merupakan sistem manajemen basis data relasional (RDBMS) produk Microsoft. Query utamanya adalah T-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar. Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database

30 Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh worm komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003. Dalam SQL Server, basis data bukanlah sebuah file tetapi merupakan sebuah konsep logis yang berisi sekumpulan objek-objek yang berhubungan. Objek-objek dalam sebuah basis data antara lain tabel, kolom, tipe data, stored procedure, trigger, rule, kunci utama (primary key), kunci tamu(foreign key), constraint, default, view dan index. Pernyataan-pernyataan dalam SQL Server dibagi menjadi dua yaitu DDL (Data Definition Language) untuk membuat tabel, indeks dan relasi basis data. Yang kedua adalah DML (Data Manipulation Language) untuk memilih, mengurutkan, dan melakukan perhitungan terhadap data. SQL Server 2005 memberikan bahasa dan antarmuka yang baik untuk pemrograman dan komunikasi pada server. Bahasa pemrograman server yang merupakan superset dari ANSI-SQL adalah Transact-SQL. Transact-SQL terdiri dari tiga kelompok perintah yaitu : Data Manipulation Language yaitu SELECT, INSERT, UPDATE dan DELETE. Data Definition Language, yang digunakan untuk membuat objek basis data baru seperti CREATE, ALTER dan DROP tabel, index, mengatur sekuritas dan mengelola basis data. Control Of Flow, untuk menambahkan logika pemrograman seperti pernyataan IF dan pengulangan WHILE. Dalam SQL Server 2000, terdapat alat bantu dan utilitas antara lain: Books Online Merupakan kumpulan halaman HTML. Bagian kiri buku dibagi menjadi 4 yaitu Contents, Index, Search dan Favorites. Service Manager

31 Utilitas yang digunakan untuk menjalankan (start) dan memberhentikan (stop dan pause) komponen-komponen server. Enterprise Manager Alat bantu administratif, hal-hal yang dapat dilakukan adalah mendefinisikan kelompok-kelompok server, membuat basis data, objek, login, user dan hak-hak pada setiap server, memanggil Query Analyzer dan lain-lain. Query Analyzer Alat bantu grafis yang bisa digunakan untuk mendesain, mengetes, dan menjalankan perintah-perintah Transact-SQL, stored procedure, batch, dan script secara interaktif. Analysis Service Alat bantu untuk menganalisis data yang disimpan di dalam data warehouse dan data marts. Client Network Utility Server Network Utility