BAB 2 LANDASAN TEORI 2.1 Artificial Intelligence Dewasa ini sering sekali kami merasa terkagum-kagum akan pesatnya perkembangan teknologi khususnya yang berhubungan komputer yang terjadi di dunia, mulai dari munculnya teknologi mengenai Robot-robot, Komputer yang bisa berdialog dengan manusia, sampai dengan Penggunaan Sturuktur Jaringan Nirkabel (Wireless), semua perkembangan tersebut pada dasarnya menggunakan AI (Artificial Intelegence) sebagai jantungnya, sebut saja fitur fuzzy logic, genetic algorithm, bayesian network atau neural networking yang ditanam di dalam mikroprocessor robot, yang membuat robot itu sangat pandai dalam menghitung sehingga dia bahkan bisa menghitung lebih cepat dari otak manusia. Sementara ini komputer memang sudah sangat pandai dalam menghitung atau menjalankan proses numerik. Kehebatan lainnya adalah kemampuan menyimpan data dan kemampuan mengerjakan operasi yang berulang-ulang dengan cepat dan tidak bosan-bosannya. Sejauh itu komputer belum memiliki intelegensi, dalam arti komputer hanya melakukan atau menjalankan program dengan prosedur atau sequence tetap. Dimana dalam intelegensi ini terdapat komponen yang paling vital yang tidak dimiliki oleh komputer, yaitu ‘common sense’. Sense = kemengertian; common = umum. Secara sederhana, common sense adalah sesuatu yang membuat kita tidak sekedar memproses informasi, namun kita mengerti informasi tersebut. Kemengertian ini dimiliki oleh umum atau semua orang (normal), jadi disebut ‘kemengertian umum’. 10 11 2.1.1 Sejarah (Menurut http://hermansyah21.blogspot.com/2007/10/kecerdasan-buatan.html), Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan" pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman LISP. Alan Turing memperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian. Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri. Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai 12 macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS. Tantangan Hebat DARPA, yang dimulai pada 2004 dan berlanjut hingga hari ini, adalah sebuah pacuan untuk hadiah $2 juta dimana kendaraan dikemudikan sendiri tanpa komunikasi dengan manusia, menggunakan GPS, komputer dan susunan sensor yang canggih, melintasi beberapa ratus mil daerah gurun yang menantang. . 2.1.2 Definisi Definisi dari Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) dapat ditarik dari dua hal, yakni pertama, kesuksesan komputer yang dapat meniru human performance, kedua, konsep ideal dari kecerdasan itu sendiri yang kita kenal dengan nama rasionalitas. Sistem yang rasional adalah sistem yang dapat melakukan apa yang ia bisa, berdasarkan dari pengetahuan yang ada padanya. Ada beberapa definisi dari Kecerdasan Buatan yang diambil dari delapan buku, yaitu : Systems that think like humans Systems that think rationally Sebuah usaha baru yang menarik untuk Studi membuat computer fakultas berpikir…mesin penggunaan mental model melalui komputasi. dengan pikiran yang penuh dengan (Charniak and McDermott, 1985) kepekaaan (Haughland, 1985) 13 Automasi dari aktivitas yang Studi komputasi yang membuatnya berhubungan dengan pikiran manusia, mungkin untuk menerima, berreaksi, seperti membuat keputusan, dan menyelesaikan bertingkah laku. (Winston, masalah, 1992) pembelajaran... (Bellman, 1978) Systems that act like humans Systems that act rationally Seni pembuatan mesin yang melakukan Kepintaran komputasi adalah studi fungsi-fungsi kepintaran yang ketika memerlukan dari mendesain agen. (Pooleet al., dilakukan oleh 1998) manusia. (Kurzweil, 1990) Studi dari bagaimana membuat Kecerdasan Buatan… adalah yang komputer melakukan hal-hal dimana, berhubungan dengan artifak saat itu, manusia lebih baik. (Rich and aktivitas kepintaran. (Nilsson, 1998) Knight, 1991) Tabel 2.1 : Tabel Definisi Kecerdasan Buatan 2.1.3 AI dan Otak Manusia Bagaimana cara kita dapat membuat komputer yang lebih berintelegensi? (Menurut http://www.elektroindonesia.com/elektro/el0400c.html) Bila kita melihat perbandingan antara otak manusia dengan mikroprosesor (otak komputer) pada tabel yang pernah digambarkan oleh Prof. Samaun Samadikun, otak manusia ‘kalah’ dalam hal waktu tunda propagasi (waktu yang diperlukan untuk melakukan pekerjaan 14 berikutnya), oleh karena itu manusia kalah dalam kecepatan perhitungan numerik. Dalam aspek lainnya otak manusia jauh di atas angin, terutama dalam tata letak dan jumlah elemennya. Sedangkan metoda pemrosesan secara paralel dalam komputer kini sudah dikembangkan untuk menggantikan kedudukan metoda pemrosesan yang diperkenalkan oleh Jon von Neumann, yaitu metoda pemrosesan sekuensial. Tabel 2.2 : Tabel Perbedaan Mikroprosesor dengan Otak Manusia Sekarang ini Artificial Intellegence, dalam usahanya menirukan intelegensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari segi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelegensi atau belum. Bila kita melihat bagaimana cara kerja komputer modern sekarang ini yang belum berlandaskan AI. Mula-mula kita memberikan suatu program. Lalu, komputer akan mengerjakan dengan proses secara numerik setahap demi setahap setiap instruksi 15 dari awal sampai akhir sesuai dengan program yang kita berikan. Di sini ada dua hal penting yang berbeda dengan cara kerja otak manusia. Pertama, komputer memproses secara numerik, sedangkan manusia cenderung memproses secara simbolik. Manusia memanipulasi simbol-simbol, sehingga ia bisa menurunkan rumus-rumus, suatu kemampuan yang belum dimiliki komputer. Dapat kita rasakan kapan kita berpikir dengan cara memanipulasi bilangan, tentu saja hanya ketika menghitung saja, selebihnya kita selalu memanipulasi simbol. Kedua, komputer memproses secara algoritmik, yaitu setahap demi setahap mengikuti suatu prosedur yang menuju suatu solusi. Sedangkan proses intelegensi lebih dari sekedar mengikuti prosedur yang setahap demi setahap, non-algoritmik. Arsitektur komputer konvensional memang dibuat untuk dapat memproses setahap demi setahap, dan bahasa-bahasa pemrogramannya juga berlandaskan algoritma. Bahasa-bahasa demikian disebut bahasa prosedural, misalnya Basic, Pascal, C, dan sejenisnya. Di lain pihak, AI tidak menggunakan bahasa prosedural, melainkan bahasa deklaratif. Dalam bahasa deklaratif, misalnya PROLOG, yang perlu adalah kita memberikan sejumlah fakta dan aturan-aturan yang mengkaitkan fakta tersebut, ia akan memecahkan masalah secara deduktif. Metoda memproses informasi dalam AI adalah heuristik. Heuristik adalah petunjuk praktis yang membantu kita untuk memutuskan apa yang akan kita lakukan. Dengan heuristik kita tidak perlu berpikir secara lengkap dalam menghadapi masalahmasalah. Sadar atau tidak sadar kita seringkali menggunakan heuristik. Jika kita memegang suatu petunjuk praktis untuk menghadapi suatu situasi, kita akan dapat bertindak. 16 Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki manusia), kecerdasan buatan (Menurut Sri Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya), 2003, halaman 3) memiliki beberapa keuntungan secara komersial, antara lain : Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak merubahnya. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan manusia itu dari satu orang ke orang lainnya membutuhkan proses yang lama, dan juga suatu keahlian tidak dapat diduplikasi dengan lengkap. Kecerdasan buatan lebih murah dibanding kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah. Kecerdasan buatan dapat didokumentasi. Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik. 17 Sedangkan keuntungan kecerdasan alami adalah : Kreatif. Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah pengetahuan, harus dilakukan melalui sistem yang dibangun. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan terbatas. 2.1.4 Bidang-bidang AI Ada beberapa bidang di dalam Penyelidikan AI (Menurut http://www.elektroindonesia.com/elektro/el0400c.html) yaitu : 1. Expert System Expert System adalah program komputer yang didisain untuk berlaku sebagai seorang ahli dalam suatu bidang khusus. Namun sekarang ini Expert System ‘hanya’ digunakan untuk membantu para ahli dalam memecahkan suatu masalah. Bahkan banyak orang yang tidak percaya bahwa Expert System dapat menggantikan para ahli, karena harus sedemikian banyaknya pengetahuan yang harus dimiliki oleh Expert System. 18 2. Natural Language Processing (NLP) NLP dimaksudkan untuk mengenal makna dari bentuk kalimat yang berbedabeda. Selain mampu mengerti bahasa kita sehari-hari, NLP juga mencakup kemampuan membentuk kalimat dalam bahasa sehari-hari. 3. Recognition Contohnya adalah Speech Recognition. Dengan ini suatu komputer dapat mengenali suara kita, dan sekaligus bisa membedakan berbagai macam bentuk sinyal. Contoh yang lain adalah Character Recognition. Dengan ini suatu komputer dapat mengenali karakter, dan sekaligus bisa membedakan berbagai macam bentuk karakter. 4. Computer Vision Kalau kita melihat, sebenarnya bukan hanya melihat, tapi kita juga harus tahu apa yang kita lihat. Komputer yang berintelegensi juga harus mempunyai kemampuan ini. 5. Robotic Robot adalah mesin yang dapat diprogram untuk melaksanakan tugas-tugas mekanik. Robot yang berintelegensi dapat memberi respon terhadap perubahan lingkungan. 6. Intelligent Computer Assisted Instruction Komputer dimaksudkan untuk membantu dalam pendidikan, sehingga dapat mengajar dengan cara sesuai keadaan pelajar. 19 7. Automatic Programming Komputer dapat membuat program sendiri sesuai dengan spesifikasi yang diinginkan oleh programmer. 8. Planning and Decision Support Komputer ini khusus membantu manager secara aktif dalam perencanaan dan pengambilan keputusan. 2.2 Soft Computing Soft Computing (Menurut Sri Kusumadewi dan Sri Hartati, Neuro- Fuzzy(Integrasi Sistem Fuzzy dan Jaringan Syaraf), 2006, halaman 1 dan 2) adalah koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dengan mudah, robustness, dan biaya penyelesaian yang murah (dikemukan oleh Prof. Lotfi A. Zadeh). Soft computing merupakan inovasi baru dalam membangun sistem cerdas. Sistem cerdas ini merupakan sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Unsur-unsur pokok dalam Soft Computing adalah : Jaringan Syaraf/ Neural Network (menggunakan pembelajaran) Bayesian Network / Probabilistic Reasoning (mengakomodasi ketidakpastian) Evolutionary Computing / Genetic Algorithm (optimasi) Sistem Fuzzy (mengakomodasi ketidaktepatan) 20 Karakteristik Soft Computing adalah : Soft Computing memerlukan keahlian manusia, apabila direpresentasikan dalam bentuk aturan (IF - THEN). Model komputasinya diilhami oleh proses biologis. Soft Computing merupakan Teknik optimasi baru. Soft Computing menggunakan komputasi numeris. Soft Computing memiliki toleransi kegagalan (meskipun kualitasnya berangsurangsur memburuk). 2.2.1 Neural Network Neural Network (Menurut http://en.wikipedia.org/wiki/Neural_network) dahulu kala selalu digunakan untuk mendeskripsikan ke sebuah jaringan atau sirkuit dari syaraf biologis, kemudian istilah ‘Neural Network’ memiliki 2 makna yang berbeda, yaitu : 1. Biological Neural Networks Tersusun dari Jaringan Sistem Syaraf Biologis yang terhubung atau secara fungsional terhubung ke dalam sistem syaraf tepi ( Peripheral nervous system ) atau sistem syaraf pusat ( Central Nervous System ). Dalam bidang Neuroscience, keduanya sering diidentifikasi sebagai sekumpulan syaraf (neurons) yang melakukan fungsi psikologis secara spesifik. 2. Artificial Neural Networks Tersusun dari Interkoneksi Syaraf buatan (pemrograman menciptakan tiruan dari atribut syaraf biologis). Artificial Neural Networks bisa digunakan untuk membangun pemahaman dari jaringan syaraf biologis, atau untuk 21 memecahkan masalah mengenai Artificial Intelegence tanpa perlu membuat sebuah model dari system biologis yang sebenarnya. Dalam Pengertian Umum (Menurut http://en.wikipedia.org/wiki/Neural_network ) sebuah Jaringan Syaraf Biologis ialah sekumpulan group, atau group-group yang terhubung secara kimiawi, atau syaraf yang berhubungan secara fungsional, dengan ketentuan sebuah syaraf bisa terhubung ke beberapa syaraf lainnya, dan jumlah syaraf beserta hubungan dalam sebuah jaringan bisa bertambah. Hubungannya biasa disebut sinapsis, biasanya dijalankan dari akson ke dendrit, melalui dendrodendritic microcircuit dan koneksi lainnya yang memungkinkan, terlepas dari signaling secara elektrik, ada bentuk lain dari signaling yang dihasilkan dari difusi neurotransmitter, yang menyebabkan efek pada signaling secara elektrik. Artificial Intelegence dan Cognitive Modeling mencoba untuk mensimulasikan cara kerja dari neural networks, dengan teknik yang sama, Artificial Neural Networks (yang disimulasikan oleh Artificial Intelegence dan Cognitive Model) bertujuan untuk melakukan tugas-tugas tertentu, dalam bidang Artificial Intelegence, misalnya untuk speech recognition, image analysis dan adaptive control. 22 Gambar 2.1 : Gambar Jaringan Syaraf Pada Artificial Neural Network, setiap neuron menerima satu input, setiap input dikalikan dengan bobot (weight) yang sesuai dengan kekuatan synapsis. Jumlah seluruh input yang berbobot tersebut menentukan kemungkinan neuron untuk menembakan sinyal. Nilai ini yang disebut dengan level aktivasi (activation level). Level aktivasi menggunakan fungsi aktivasi agar dapat dihitung. Adapun cara lain untuk menghitung nilai setiap neuron, yaitu dengan menggunakan Back Propagation dan Bidirectional Associative Memory (BAM). Kelebihan dari Metode ini adalah (Menurut http://hunch.net/?p=65): Dapat memecahkan problema non-linear yang umum dijumpai di aplikasi. Kemampuan memberikan jawaban terhadap pattern yang belum pernah dipelajari (generalization). Dapat secara otomatis mempelajari data numerik yang diajarkan pada jaringan tersebut. 23 2.2.2 Bayesian Network Jejaring Bayesian (Bayesian network) dipelopori oleh ahli ilmu genetika Sewall Wright (1921). Kemudian divariasikan dan dikembangkan pada berbagai bidang, misalnya dalam bidang ilmu pengetahuan kognitif dan intelegensia semu. Pada awal perkembangannya di akhir tahun 1970-an, jejaring Bayesian memenuhi kebutuhan semantic model (top-down) dan perceptual model (bottom-up), yaitu kombinasi dari cara pembacan bukti (evidence). Dengan kemampuan untuk mengambil kesimpulan dari banyak arah dan dikombinasikan dengan dasar probabilitas yang teliti, maka jejaring Bayesian menjadi metode yang dipilih untuk mengatasi uncertain reasoning (penalaran dalam ketidakpastian) dalam bidang intelegensia semu dan sistem pakar. Jejaring Bayesian merupakan sebuah dag (directed acyclic graph) di mana setiap node-nya (verteks) menggambarkan variabel-variabel acak yang dinyatakan dari suatu kejadian. Variabel-variabel ini mempunyai dua kemungkinan nilai, yaitu true (benar) dan false (salah). Sedangkan setiap arc (edge) dari jejaring Bayesian menggambarkan probabilitas ketergantungan antara variabel-variabelnya. Ketergantungan tersebut diukur oleh conditional probability untuk setiap node dengan parent node-nya. Maka jika variabel-variabel dari jejaring adalah { X i , i 1, , n} dan Pa(Xi) menggambarkan himpunan parent dari Xi, maka parameter dari jejaring ini adalah sebuah himpunan distribusi {P( X i | Pa ( X i )), i 1, , n} . Probabilitas ini menjelaskan joint probabilities distribution untuk seluruh jejaring sebagai berikut ini: n P( X 1 , , X n ) P( X i | Pa ( X i )) i 1 24 Untuk mendefinisikan sebuah jejaring Bayesian, harus dispesifikasikan: Variabel-variabel untuk X1, X2, ..., Xn. Hubungan antara variabel-variabel tersebut. Hubungan ini merepresentasikan pengaruh kasual antar variabel-variabel. Jejaring yang dibentuk dari variabelvariabel ini dan hubungan-hubungan di antaranya haruslah merupakan sebuah dag. Probabilitas setiap variabel terhadap parent-nya, yaitu P(Xi | Pa(Xi)) untuk i = 1, ..., n. Jadi jejaring Bayesian merupakan sebuah model dan alat acuan untuk memecahkan masalah-masalah yang tidak pasti dengan cara menggambarkan relasi probabilitas. 2.2.3 Genetic Algorithm Genetic Algorithm atau Algoritma Genetika (Menurut http://en.wikipedia.org/wiki/Genetic_algorithm) adalah sebuah teknik pencarian yang digunakan dalam komputasi untuk menemukan solusi terdekat atau tepat dalam optimasi dan masalah pencarian. Algoritma Genetika dikategorikan sebagai pencarian global secara heuristic. Algoritma Genetika adalah sebuah kelas dari evolutionary algorithm yang menggunakan teknik yang diinspirasi oleh evolutionary biology, seperti inheritance, mutation, selection, crossover. Algoritma Genetika diimplementasikan sebagai simulasi komputer dimana sebuah representasi abstrak dari populasi dari kandidat solusi pada sebuah masalah 25 optimasi berubah menjadi solusi yang lebih baik. Secara tradisional, solusi direpresentasikan dalam bentuk biner yaitu 0 dan 1. Algoritma Genetika memerlukan dua hal untuk didefinisikan : Representasi genetika dari sebuah domain solusi Fungsi fitness untuk mengevaluasi domain solusi Standard representasi dari sebuah solusi adalah sebuah array bits. Properti utama yang membuat representasi genetika ini nyaman adalah bagian-bagiannya yang mudah untuk diubah sehubungan dengan ukuran tetapnya, yang mengfasilitasi operasi crossover. Fungsi fitness didefinisikan representasi genetika dan mengukur kualitas solusi yang telah direpresentasikan. Fungsi fitness selalu berdasarkan atas masalah. Kelebihan – kelebihan yang dimiliki oleh Genetic Algorithm adalah (Menurut http://hunch.net/?p=65) : GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses kerjasama antara berbagai unit, yang disebut kromosom individu. GA tidak memerlukan perhitungan matematika yang rumit seperti differensial yang diperlukan oleh algoritma optimisasi yang lain. Sementara, Genetic Algorithm pun memiliki beberapa kekurangan, yaitu : Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan wawasan dari desainer. 26 Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan sesuai dengan yang diharapkan. Penentuan rumus menghitung fitness merupakan hal yang sangat penting dan mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur yang baku bagaimana menentukan rumus tsb. 2.2.4 Fuzzy Logic Teori Fuzzy (Menurut http://en.wikipedia.org/wiki/Fuzzy_logic) pertama kali diperkenalkan oleh Professor Lotfi Zaedah dari Universitas California di Berkeley pada tahun 1962. Logika fuzzy merupakan suatu teori himpunan logika yang dikembangkan untuk mengatasi konsep nilai yang terdapat diantara kebenaran (true) dan kesalahan (false). Logika fuzzy berbeda dengan logika digital biasa (logika Boolean), dimana pada logika digital biasa hanya dapat mengenal dua keadaan yaitu : ya/tidak, ON/OFF, 0/1, atau High/Low. Sedangkan logika fuzzy meniru cara berpikir manusia dengan menggunakan konsep sifat kesamaan suatu nilai. Dengan menggunakan logika fuzzy, nilai yang dihasilkan bukan hanya ya (1, high, on) atau tidak (0, low, off) tetapi seluruh kemungkinan diantara 0 dan 1. Teknologi fuzzy ini sudah sangat berkembang pesat dan banyak digunakan pada pemakaian pengaturan lalu lintas, sistem transmisi otomatis, industri, peralatan rumah tangga, dan lain-lain. Ada dua alasan utama yang mendasari pengembangan teknologi berbasis sistem fuzzy : Menjadi state-of-the-art dalam sistem kendali berteknologi tinggi. Jika diamati pengalaman pada negara-negara berteknologi tinggi, khususnya di negara 27 Jepang, pengendali fuzzy sudah sejak lama dan luas digunakan di industriindustri dan alat-alat elektronika. Daya gunanya dianggap melebihi daripada Teknik kendali yang pernah ada. Pengendali fuzzy terkenal karena kehandalannya, mudah diperbaiki, dan yang lebih penting lagi fuzzy dapat memberikan pengendalian yang sangat baik dibandingkan teknik lain, yang biasanya membutuhkan usaha dan dana yang lebih besar. Dalam perspektif yang lebih luas, pengendali fuzzy ternyata sangat bermanfat pada aplikasi-aplikasi sistem identifikasi dan pengendalian ill-structured, dimana linearitas dan invariansi waktu tidak bisa ditentukan dengan pasti, karakteristik proses mempunyai faktor lag, dan dipengaruhi oleh derau acak. Bentuk sistem seperti ini jika dipandang sistem konvensional sangat sulit untuk dimodelkan. Keberhasilan penerapan teknologi fuzzy dapat direalisasikan jika terdapat penelitian dan strategi pengembangan riset dan desain oleh sebuah industri untuk menemukan teknik terbaiknya untuk produksinya. Ada beberapa alasan mengapa orang menggunakan logika fuzzy : Konsep Logika Fuzzy lebih mudah dimengerti, karena didasari Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti. Logika Fuzzy sangat fleksibel. Logika Fuzzy memiliki toleransi terhadap data-data yang tidak tepat. 28 Logika Fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks. Logika Fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan. Logika Fuzzy dapat bekerja sama dengan Teknik-Teknik kendali konvensional. Logika Fuzzy didasarkan pada bahasa alami. Fuzzy diantaranya : memiliki kelebihan-kelebihan (Menurut http://hunch.net/?p=65), Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya “suhu ruangan yang nyaman” Pemakaian membership-function memungkinkan fuzzy untuk melakukan observasi obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membershipfunction ini dapat dikombinasikan untuk membuat pengungkapan konsep yang lebih jelas. Penerapan logika dalam pengambilan keputusan 2.2.4.1 Fungsi Keanggotaan Fungsi Keanggotaan (Membership Function) adalah suatu kurva yang menunjukan pemetaan titik input data ke dalam nilai keanggotaannya. Yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah melalui pendekatan fungsi. Beberapa fungsi yang dapat digunakan : 29 Representasi Kurva Bentuk Lonceng (Bell-Curve) Gambar 2.2 : Kurva Bentuk Lonceng Fungsi Keanggotaan : €(x) = 1 – 2 {(b-x) / (b-a)}2 ; a ≤ x ≤ b 2 {(c-x) / (c-b)}2 ; 2.3 b≤x≤c Computer Vision 2.3.1 Definisi Computer Vision juga merupakan ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati atau diobservasi (transparansi Computer Vision, Universitas Bina Nusantara, 2002). Menurut Wikipedia (http://en.wikipedia.org/wiki/Computer_vision), Computer Vision adalah ilmu pengetahuan dan teknologi dari mesin itu sendiri yang dapat melihat. Berdasarkan pengamat ilmu pengetahuan, Computer Vision berhubungan dengan teori dan teknologi untuk membangun sistem buatan yang bisa mendapatkan informasi dari gambar-gambar / images. Data gambar dapat berupa berbagai bentuk, seperti video, 30 gambar dari berbagai kamera, atau data lainnya dari hasil scan. Berdasarkan pengamat teknologi, Computer Vision dicari untuk mengimplementasi teori-teori dan model-model Computer Vision untuk membangun Computer Vision Systems. Berikut adalah skema hubungan Computer Vision dengan Machine Vision dengan Image Processing. Skema tersebut menjelaskan bobot unsur yang ada pada bidang-bidang pengetahuan, misalnya Imaging memiliki unsur Image Processing dan Machine Vision, Automatic Control Robotic memiliki unsur Computer Vision dan Machine Vision, sedangkan pada Optics dan Signal Processing hanya melibatkan Machine Vision. Gambar 2.3 : Gambar Skema hubungan computer vision dengan bidang lain 31 Computer Vision oleh beberapa ahli didefinisikan sebagai berikut: Michael C. Fairhurst (1995) Computer Vision sesuai dengan sifatnya, merupakan suatu subyek yang merangkul berbagai disiplin tradisional secara luas guna mendasari prinsipprinsip formalnya, dan dalam mengembangkan suatu metodologi yang berlainan dari apa yang dimilikinya, pertama-tama harus menggabungkan dan secara berurutan membangun materi yang mendasari ini. Adrian Low (1991) Computer Vision berhubungan dengan perolehan gambar, pemrosesan, klasifikasi, pengenalan, dan menjadi penggabungan, pengurutan pembuatan keputusan menuju pengenalan. J.R.Parker (1994) Computer Vision menyangkut pengekstrakan informasi dari citra, dan dalam identifikasi dan klasifikasi objek-objek dalam citra. Masalah umum dari Computer Vision adalah manusia tidak tahu bagaimana mereka mengenali objekobjek. 2.3.2 Image Processing 2.3.2.1 Histogram Menurut Idhawati Hestiningsih dalam paper berjudul Pengolahan Citra, Histogram adalah grafik 2 dimensi yang menunjukan frekuensi kemunculan intensitas dalam suatu citra. suatu 32 Gambar 2.4 : Gambar Citra dan Histogramnya 2.3.2.2 Grayscaling Menurut www.efg2.com/Lab/Library/ImageProcessing/Algorithms.htm, Grayscaling adalah proses konversi warna citra menjadi citra 8 bit atau keabuan. Citra tersebut dapat dihitung dengan rumus : Pixel(x,y) = red*0.30 + green*0.59 + blue*0.11 Dengan menghitung keseluruhan pixel pada citra, maka didapatkan citra 1 dimensi dengan intensitas antarai 0 sampai 255. Nilai 0 sampai 255 disebabkan karena citra bernilai 8 bit sehingga terdapat 28 warna atau 256 warna. 33 Gambar 2.5 : Gambar Citra RGB dan Grayscale-nya 2.3.2.3 Thresholding Thresholding adalah metode paling sederhana untuk melakukan segmentasi. Dengan menghitung nilai threshold pada suatu citra, maka citra tersebut dapat dibagi menjadi objek dan latar. Threshold tersebut disebut juga dengan batas ambang. Threshold dapat ditentukan dengan 2 cara, yaitu threshold statis, yaitu threshold yang nilainya sudah ditentukan terlebih dahulu sehingga threshold untuk setiap citra akan sama nilainya, dan threshold dinamis, yaitu threshold yang dihitung dari citra yang akan ditentukan thresholdnya. Dengan cara dinamis, threshold untuk setiap citra akan berbeda nilainya. Ada beberapa cara untuk menentukan nilai dari threshold dinamis, cara yang paling sederhana adalah dengan menghitung rata-rata nilai intensitas pada citra. 2.3.2.4 Binarisasi Menurut www.mathworks.com/products/image, Binarisasi adalah proses konversi warna citra menjadi citra 1 bit atau citra hitam putih. Citra tersebut terdiri atas 34 pixel yang bernilai 1 atau 0. Konversi citra ini dilakukan dengan menggunakan threshold. Jika nilai pixel lebih besar dari threshold, maka pixel tersebut akan dirubah menjadi 1 atau putih. Sebaliknya, jika pixel bernilai lebih kecil dari threshold maka pixel tersebut akan dirubah menjadi 0 atau hitam. Biasanya putih digunakan untuk melambangkan objek dan hitam digunakan untuk melambangkan latar. Gambar 2.6 : Gambar Citra Dengan Binarisasi Menggunakan Threshold Dinamis 2.3.2.5 Operasi Morfologi Dalam Image processing terdapat beberapa operasi morfologi dalam mengolah citra biner, yaitu erosi, dilasi, opening dan closing. Semua operasi di atas membutuhkan 2 buah input, yaitu citra dan structuring element. 35 2.3.2.5.1 Structuring Element Structuring Element adalah sebuah tabel berukuran kecil yang melambangkan pixel suatu bagian pada citra dengan titik pusat berupa pixel yang ingin dibandingkan. Bentuk dan ukuran dari Structuring Element pun dapat berbeda-beda sesuai dengan keperluan. 2.3.2.5.2 Erosi Menurut slide Computer Vision yang didownload dari www.binusmaya.ac.id, Erosi adalah suatu operasi morfologi yang digunakan untuk membuat foreground pada suatu citra mengecil sesuai dengan structuring element yang digunakan. Nilai pada pixel yang sedang dicari adalah nilai minimum yang ada pada structuring element. Gambar 2.15 : Gambar Erosi 2.3.2.5.3 Dilasi Menurut slide Computer Vision yang didownload dari www.binusmaya.ac.id, Dilasi merupakan kebalikan dari erosi. Dilasi bertujuan untuk membuat foreground pada 36 suatu citra membesar sesuai dengan structuring element yang digunakan. Nilai pada pixel yang sedang dicari adalah nilai maksimum yang ada pada structuring element. Gambar 2.8 : Gambar Dilasi 2.3.2.5.4 Opening Menurut slide Computer Vision yang didownload dari www.binusmaya.ac.id, Opening merupakan operasi morfologi yang dilakukan untuk membuka foreground yang lebih kecil dari structuring element. Operasi opening dilakukan dengan erosi terlebih dahulu, lalu hasilnya didilasikan. Keduanya menggunakan structuring element yang sama. 37 Gambar 2.9 : Gambar Opening 2.3.2.5.5 Closing Menurut slide Computer Vision yang didownload dari www.binusmaya.ac.id, Closing merupakan kebalikan dari opening. Operasi ini bertujuan untuk menutup lubang yang lebih kecil dari structuring element pada foreground. Operasi closing dilakukan 38 dengan dilasi terlebih dahulu, lalu hasilnya dierosikan. Keduanyapun menggunakan structuring element yang sama. Gambar 2.10 : Gambar Closing 39 2.3.2.5.6 Thinning/Skletonizing Menurut slide Computer Vision yang didownload dari www.binusmaya.ac.id, Thinning atau skletonizing merupakan operasi morfologi yang dilakukan terhadap citra untuk mendapatkan foreground yang sudah ditipiskan. Proses thinning merupakan erosi yang dilakukan terus menerus hingga foreground terdiri dari pixel tunggal dengan koneksi 8 arah. Gambar 2.11 : Gambar Thinning/Skletonizing 2.3.2.6 Image Resizing Image resizing adalah proses mengubah ukuran suatu citra menjadi ukuran lain. Perubahan ukuran suatu citra menjadi lebih kecil akan menyebabkan beberapa informasi yang terdapat dalam citra tersebut menjadi hilang. Sebaliknya, perubahan ukuran suatu citra menjadi lebih besar akan menyebabkan citra menjadi kelihatan pecah. (Menurut Farid pada papernya yang berjudul Fundamental of Image Processing) 40 Gambar 2.12 : Gambar Citra yang Mengalami Perbesaran dan Pengecilan 2.3.2.7 Image Cropping Image cropping adalah pemotongan bagian dari suatu citra menjadi suatu citra yang baru. (Menurut Farid pada papernya yang berjudul Fundamental of Image Processing) 41 Gambar 2.13 : Gambar Citra yang di-crop 2.3.2.8 Labeling Labeling adalah proses pengelompokan pixel putih yang memiliki konektivitas menjadi 1 objek yang terdapat dalam citra hitam-putih atau 1 bit. Proses pengelompokan dilakukan dengan mengubah pixel putih yang memiliki konektivitas (4-connected atau 8-connected) menjadi nilai yang sama sehingga setiap objek akan memiliki nilai yang berlainan selain 0. (Menurut Farid pada papernya yang berjudul Fundamental of Image Processing) 42 Gambar 2.14 : Gambar Citra dan Labeling 4-connected 2.3.2.9 Deteksi Sisi Sisi pada citra adalah tempat terjadinya diskontinuitas dalam nilai intensitas atau batas antara daerah-daerah yang berbeda. Tujuan dari deteksi sisi adalah untuk menandakan titik pada citra digital dimana intensitas cahaya berubah secara tajam. Ada beberapa metode dalam pemrosesan deteksi sisi, yaitu Sobel, Prewitt, Robert, Laplacian of Gaussian, dan Canny. Masing-masing memiliki operator dan algoritma tersendiri. (Menurut www.uweb.ucsb.edu/~shahnam/AfED.doc) 2.3.2.9.1 Operator Sobel Operator ini menggunakan konvolusi 3 x 3 seperti di bawah ini. 43 Gambar 2.15 : Gambar Operator Sobel Kernel tersebut didesain untuk mendapatkan gradien x dan y pada suatu titik pada citra. Lalu kedua gradien tersebut akan digabungkan dan didapat hasil sebuah sudut. (Menurut www.uweb.ucsb.edu/~shahnam/AfED.doc) 2.3.2.9.2 Operator Robert Operator Robert melakukan penghitungan gradien 2 dimensi yang sederhana dan cepat dalam pengukuran sebuah citra. Operator ini pun memiliki 2 konvolusi kernel seperti Sobel, yaitu : Gambar 2.16 : Gambar Operator Robert 44 Kernel ini didesain untuk merespon gradien dengan sudut 45†. Perhitungan selebihnya sama seperti pada operator Sobel. (Menurut www.uweb.ucsb.edu/~shahnam/AfED.doc) 2.3.2.9.3 Operator Prewitt Operator Prewitt sama seperti operator Sobel. Perbedaannya hanyalah di konvolusi yang ditetapkan, yaitu : Gambar 2.17 : Gambar Operator Prewitt Original Sobel 45 Prewitt Robert Laplacian Laplacian of Gaussian Gambar 2.18 : Gambar Hasil Perbandingan Metode dalam Deteksi Sisi 2.3.3 Recognition Masalah klasik dalam Computer Vision adalah menentukan apakah data gambar tersebut mempunyai objek spesifik, feature, atau aktivitas (Menurut http://en.wikipedia.org/wiki/Computer_vision). Bagian ini dapat diselesaikan secara normal dengan tepat dan tanpa bantuan manusia, tetapi hasilnya masih belum dibilang 46 memuaskan dalam berbagai objek atau berbagai situasi. Metode yang ada bisa menyelesaikan masalah ini namun hanya pada objek-objek spesifik, seperti objek geometri, wajah manusia, karakter yang ditulis oleh manusia (hand-written character), atau karakter pada plat kendaraan, dan hanya dalam situasi tertentu, biasanya dijelaskan dalam sudut pandang atau ruang lingkup yang terbatas. Contoh masalah-masalah dalam pengenalan : Recognition : satu atau beberapa objek dapat dikenali, biasanya dengan posisi 2 dimensi atau 3 dimensi Identification : objek / karakteristik dari seseorang dapat dikenali. Contoh, pengenalan wajah, atau sidik jari Detection : data gambar di-scan untuk tujuan tertentu. Contohnya, deteksi sel abnormal dalam gambar medic atau deteksi kendaraan dalam sistem otomatis jalan tol. Deteksi berdasarkan komputasi yang cepat dan relatif mudah dapat digunakan untuk menemukan bagian yang kecil dari data gambar yang dapat dianalisa lebih jauh untuk memberikan interpretasi yang tepat. (Menurut Dr. Stephen J. Elliott, Dr. Mathias J. Sutton dalam papernya yang berjudul Graduate Course Development in Biometrics) 2.3.3.1 Character Recognition Character Recognition adalah salah satu contoh sistem pengenalan berupa pengenalan huruf. Pengenalan huruf ini menggunakan citra sebagai medianya dan ditangkap menggunakan alat optik, contohnya kamera, scanner. Maka dari itu, Character Recognition sering disebut Optical Character Recognition atau OCR. 47 Pengenalan karakter ini dilakukan dengan mengambil fitur yang telah ditentukan sebelumnya dan membandingkannya. Fitur tersebut sangat banyak, dapat berupa zoning, end point, branch, dll. 2.3.3.2 Fingerprint Recognition Setiap manusia, memiliki sidik jari yang berbeda satu sama lainnya, bahkan orang yang kembar sekalipun. Karena itu, pengenalan sidik jari sangat berguna dalam bidang keamanan. Dengan melakukan pengenalan sidik jari maka dapat ditentukan sidik itu milik siapa. Proses pengenalan ini dilakukan dengan input sidik jari seseorang berupa citra, baik menggunakan tinta maupun digital scanner. Pengenalan dilakukan dengan membandingkan fitur yang ada dari sidik jari, seperti whorl, arch, loop, dan ridge. Keuntungan dari pengenalan ini adalah sidik jari sangat unik sehingga memberikan akurasi yang tinggi, stabilitas yang lama dan cara input yang beragam. Sementara kelemahannya adalah citra yang diambil dari sidik jari harus dilakukan preprocessing yang sedikit rumit mengingat banyaknya noise yang mengganggu. (Menurut Nimalan Solayappan and Shahram Latifi dalam papernya yang berjudul A Survey of Unimodal Biometric Methods) 2.3.3.3 Face Recognition Selain sidik jari, wajah setiap manusia pun memiliki keunikan, walaupun ada yang mengatakan bahwa di dunia ini ada 3 orang yang memiliki wajah yang sama. 48 Tetapi, walaupun begitu pengenalan wajah ini memiliki akurasi yang keunikan yang tinggi. Pengenalan ini dilakukan dengan melakukan pengukuran jarak secara keseluruhan antara mata, hidung, mulut dan bentuk rahang. Kelebihan dari sistem pengenalan ini adalah rendahnya biaya yang dikeluarkan, citra dapat diambil tanpa diketahui oleh orang yang bersangkutan. Sementara kelemahan dari sistem ini adalah citra yang diambil sebagai database harus beragam untuk satu orang, seperti wajah saat senyum, berkedip, tampil normal, dll. (Menurut Nimalan Solayappan and Shahram Latifi dalam papernya yang berjudul A Survey of Unimodal Biometric Methods) 2.3.3.4 Keystroke Recognition Pengenalan keystroke adalah pengenalan berdasarkan kebiasaan seseorang dalam mengetik keyboard. Pengguna akan diminta untuk mengetik kata-kata yang telah ditentukan sebelumnya. Fitur- fitur yang diambil adalah kecepatan kumulatif pengetikan, waktu tenggang per karakter, waktu penekanan keyboard hingga diangkat kembali, frekuensi seseorang menggunakan tombol lain dalam keyboard seperti num pad atau tombol lain dan urutan penekanan pada saat mengetik huruf kapital. (Menurut Nimalan Solayappan and Shahram Latifi dalam papernya yang berjudul A Survey of Unimodal Biometric Methods) 49 2.4 Citra Pengertian Citra Menurut berbagai sumber : Murni (1992, p5) Citra adalah keluaran suatu sistem perekaman data yang dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital sehingga dapat disimpan langsung pada suatu pita magnetik. Bariks (1990, p150) Citra diartikan sebagai representasi dan dimensi dari bentuk tiga dimensi yang nyata. Bentuknya dapat bervariasi dari foto hitam putih hingga sebuah gambar bergerak dari TV berwarna. Pearson (1991) Citra adalah representasi dua dimensi dari dunia visual, menyangkut berbagai macam disiplin ilmu yang mencakup seni, human vision, astronomi, Teknik, dsb. Citra merupakan suatu kumpulan pixel-pixel atau titik-titik yang berwarna yang berbentuk dua dimensi. Wolfram Research, Inc. (2002) Citra digital adalah sinyal diskrit 2 dimensi. Secara matematis, sinyal ini dapat direpresentasikkan sebagai fungsi dari variable-variabel 2 dimensi. Setiap elemen dari array disebut pixel. 50 2.4.1 Citra Biner Citra Biner adalah citra digital yang hanya mempunyai dua nilai pada setiap pixelnya, yaitu nol dan satu. Dalam konversi dari citra berwarna menjadi citra biner, dibutuhkan threshold sebagai pembatas antara background dan foreground. Warna pada citra biner juga sering disebut mono-cromatic, atau Black and White atau B&W. 2.4.2 Citra Digital Citra Digital adalah representasi dari dua dimensi citra sebagai suatu set nilai digital yang terbatas yang disebut elemen citra atau pixel. Citra digital terdiri dari jumlah pixel per baris dan jumlah pixel per kolom yang terbatas. Citra Digital dapat dibuat melalui variasi alat input dan Teknik, contohnya, kamera digital, scanner. 2.4.3 Model Warna 2.4.3.1 RGB RGB merupakan singkatan dari Red(merah), Green(Hijau), dan Blue(Biru). Sebuah model yang mendeskripsikan warna. Warna yang dimaksud disini lebih kepada warna yang dihasilkan oleh cahaya seperti cahaya dari layar monitor, bukan warna yang dipantulkan seperti tinta diatas kertas (Anonymous, 2004, Microsoft Windows XP Glossary). Ketiga macam sel kerucut didalam mata merspon warna merah, hijau, dan biru dengan baik. Dengan mengubah prosentase dari campuran ketiga warna tersebut, maka akan dihasilkan warna yang diinginkan. Jika nilai R, G, dan B bernilai nol, maka akan menghasilkan warna hitam. Sebaliknya, jika nilai R, G, dan B bernilai maksimal, maka 51 akan menghasilkan warna putih. (Menurut http://en.wikipedia.org/wiki/RGB_color_model) Gambar 2.19 : Gambar Model RGB 2.4.3.2 CMYK CMYK atau kependekan dari Cyan, Magenta, Yellow and Key (Black) adalah model warna yang subtraktif dan sering digunakan untuk mencetak warna dari printer. Tidak seperti RGB, CMYK tidak digunakan untuk menampilkan warna pada monitor, tetapi pada kertas. Selain itu jika pada model warna RGB, terdapat warna putih, yaitu cahaya yang masuk ke dalam warna sehingga tampak seperti lebih terang, warna hitam berarti ’absen’nya warna putih tersebut. Berbeda dengan model warna CMYK, warna hitam adalah kombinasi dari semua warna pada CMYK. http://en.wikipedia.org/wiki/CMYK_color_model) Gambar 2.20 : Gambar Model Warna CMYK (Menurut 52 2.4.3.3 HSL dan HSV HSL dan HSV (sering juga disebut HSB) adalah 2 representasi yang saling berkaitan dari model warna RGB, yang dapat mengkombinasikan warna lebih akurat daripada model warna RGB. HSL merupakan singkatan dari Hue, Saturation, dan Lightness, sedangkan HSV singkatan dari Hue, Saturation dan Value, dan HSB singkatan dari Hue, Saturation dan Brightness. HSV dan HSL mendeskripsikan warna sebagai titik dalam silinder di mana dari bawah ke atas merupakan warna gelap ke warna terang dengan warna netral di antaranya atau disebut dengan lightness, value atau brightness, sudut yang terbentuk pada badan silinder tersebut merupakan jenis warna atau hue, dan jarak dari pusat ke titik disebut saturation. (Menurut http://en.wikipedia.org/wiki/HSL_color_space) Gambar 2.21 : Gambar Model Warna HSV 53 Gambar 2.22 : Gambar Model Warna HSV Walaupun keduanya tampak sama, tetapi ada perbedaan di antara kedua model warna tersebut. Keduanya sama-sama silinder, tetapi HSV dapat disebut sebagai kerucut atas bawah, di mana paling bawah merupakan hitam dan paling atas merupakan putih. Selain itu, saturation untuk masing-masing model warna berbeda jauh. Gambar 2.23 : Gambar Perbedaan Model Warna HSL dan HSV 54 2.4.4 Pixel Pixel adalah elemen gambar yang berisi informasi mengenai lokasi dan warna. Pixel merupakan kependekan dari picture dan elemen, yakni elemen terkecil dari suatu digital image (Anonymous, Apple Developer Documentation). Pixel juga disebut ’dot’. Pixel berbentuk persegi dengan ukuran relatif kecil yang merupakan penyusun atau pembentuk gambar bitmap. Keanekaragaman warna pixel tergantung dari bit depth yang digunakan. Semakin banyak jumlah pixel tiap satuan luas, maka semakin baik kualitas image yang dihasilkan namun ukuran file akan menjadi semakin besar. Penggambaran pixel dapat terlihat jelas pada papan elektronik yang berfungsi untuk memberikan informasi, contohnya, papan elektronik yang berada di airport, supermarket, dan lain-lain. Dimana pada papan elektronik tersebut terdapat beberapa kumpulan titik-titik, namun ketika salah satu kumpulan titik tersebut dilihat, maka akan terlihat suatu karakter atau angka (Colberg, Christian, 2004 Assignment 8). Gambar 2.24 : Gambar pixel yang diperbesar Sebuah pixel pada titik P yang memiliki koordinat (x,y) memiliki hubungan titiktitik secara horizontal dan vertikal, dimana koordinat itu adalah 55 P (x, y-1) P (x-1, y) P (x, y) P (x+1, y) P (x, y+1) Menurut Gonzales dan Woods (1992, p40), kumpulan dari pixel-pixel ini disebut dengan 4 neighbours of P, yang dituliskan dengan N4(P). Selain itu juga terdapat empat diagonal neighbours terhadap titik P, yaitu : P (x-1, y-1) P(x+1, y-1) P (x, y) P(x-1, y+1) P(x+1, y+1) Empat diagonal neighbours ini dituliskan dengan ND(P). Kumpulan dari N4(P) dan ND(P) biasanya dituliskan dengan N8(P). 2.5 P (x-1, y-1) P (x, y-1) P(x+1, y-1) P (x-1, y) P (x, y) P (x+1, y) P(x-1, y+1) P (x, y+1) P(x+1, y+1) Feature Extraction Menurut Wikipedia, Ekstraksi Fitur (Feature Extraction) diperlukan untuk mengurangi dimensi dari data input yang ada. Ketika data diinput kedalam suatu algoritma untuk diproses dan dianggap datanya redundant, maka data input diubah kedalam suatu set representasi fitur (yang dinamakan vektor fitur). Pengubahan data input ke dalam set fitur disebut dengan Feature Extraction. Jika fitur yang diekstrak 56 dipilih secara tepat, maka diharapkan set fitur tersebut dapat memberikan informasi yang relevan dari data input untuk menjalankan tugas tertentu menggunakan suatu set representasi, bukan dengan data input awal yang banyak. Ekstraksi fitur merupakan tahap yang sangat penting dalam proses pengenalan. Karena dengan adanya proses ekstraksi fitur, maka data yang harus diproses untuk mengenali akan lebih sedikit dan akurat. Di samping itu fitur tersebut haruslah memiliki keunikan tersendiri yang dapat menjadikan data tersebut menjadi milik seseorang atau sesuatu secara unik. Beberapa Teknik ekstraksi fitur antara lain (Menurut Rathna Ramaswamy dalam papernya yang berjudul Performance Evaluation of Feature Extraction Algorithms for Character Recognition) Zoning Zoning adalah ekstraksi fitur paling mudah dan mendasar dalam ekstraksi fitur. Zoning membagi gambar ke dalam beberapa bagian, dan masing-masing bagian dihitung jumlah pixel hitam atau putih per jumlah pixel yang ada. Moments Teknik ini digunakan sebagai fitur pola untuk mengenali dua dimensi pola gambar. Fitur-fitur pola ini mengekstrak properti global dari gambar seperti, luas bentuk, center of mass, moment of inertia, dan lain-lain. Histogram Histogram adalah grafik yang menunjukan distribusi dari pixel-pixel gambar gray level (gray-level image). Histogram untuk gambar biasanya terdapat 2 jenis, 57 yaitu histogram yang memuat jumlah pixel dalam setiap titik X dan histogram yang memuat jumlah pixel dalam setiap titik Y. Image Registration Image Registration adalah perbandingan antara dua atau lebih gambar, keduanya spatially, dan berhubungan dengan intensitas. Hough Transform Teknik ini bisa digunakan untuk mendeteksi garis lurus, garis melengkung, atau garis lain yang bisa dirumuskan dengan persamaan garis. 2.6 Plat Nomor Plat nomor adalah salah satu jenis identifikasi kendaraan bermotor (Menurut http://id.wikipedia.org/wiki/Plat_nomor). Plat nomor juga disebut plat registrasi kendaraan, atau di Amerika Serikat dikenal sebagai plat izin (license plate). Bentuknya berupa potongan plat logam atau plastik yang dipasang pada kendaraan bermotor sebagai identifikasi resmi. Biasanya plat nomor jumlahnya sepasang, untuk dipasang di depan dan belakang kendaraan. Namun ada jurisdiksi tertentu atau jenis kendaraan tertentu yang hanya membutuhkan satu plat nomor, biasanya untuk dipasang di bagian belakang. Plat nomor memiliki nomor seri yakni susunan huruf dan angka yang dikhususkan bagi kendaraan tersebut. Nomor ini di Indonesia disebut nomor polisi, dan biasa dipadukan dengan informasi lain mengenai kendaraan bersangkutan, seperti tahun pembuatan, nomor identifikasi kendaraan atau VIN (Verification Identification Number). Semua data ini hanya tertera dalam Surat Tanda Nomor Kendaraan Bermotor 58 atau STNK yang merupakan surat bukti bahwa nomor polisi itu memang ditetapkan bagi kendaraan tersebut. Karena wujudnya yang spesifik/unik, plat nomor juga digunakan sebagai identifikasi kendaraan oleh banyak lembaga, seperti kepolisian, perusahaan asuransi mobil, bengkel, tempat parkir, dan juga armada kendaraan bermotor. Di beberapa wilayah jurisdiksi, plat nomor juga dipakai sebagai bukti bahwa kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau juga sebagai bukti pembayaran pajak kendaraan bermotor. Namun di beberapa negara, seperti Inggris misalnya, mobil selalu menggunakan plat nomor yang sama sejak saat pertama dijual hingga akhir masa operasinya, dengan pertimbangan semua informasi yang ada di plat nomor dan kendaraan bersangkutan juga tidak pernah berubah. Sementara di tempat lain, seperti Amerika Serikat, plat nomor perlu diganti secara berkala yakni saat habis masa berlakunya, atau karena dijual atau berpindah tangan. Ini yang dikenal dengan kebijakan "plate-to-owner" atau plat nomor yang terkait dengan kepemilikan. Artinya, ketika mobil dijual, penjual harus melepas plat nomornya sementara pembeli harus meminta plat nomor baru dari pihak berwenang sesuai wilayah tempat tinggalnya dan mendaftarkan kembali atas namanya (balik nama). Bila orang yang menjual mobil tersebut membeli mobil baru, ia dapat meminta agar plat nomornya yang lama dipasang di mobilnya yang baru. Bila tidak, ia harus mengembalikan plat nomor ke pihak berwenang, menghancurkannya, atau menyimpannya sebagai barang kenangan. 59 Di banyak negara, plat nomor dikeluarkan oleh badan pemerintahan nasional, kecuali di Kanada, Mexico, Australia, Jerman, Pakistan, dan Amerika Serikat, karena plat nomor diterbitkan oleh lembaga pemerintah provinsi, wilayah, atau negara bagian. Plat nomor usianya hampir sama dengan mobil, dan muncul saat periode awal transisi dari kendaraan berkuda yakni antara 1890 hingga 1910. Negara bagian New York di Amerika Serikat mengharuskan penggunaan plat nomor sejak tahun 1901. Awalnya plat nomor tidak dikeluarkan pemerintah, dan di banyak wilayah Amerika, para para pengendara diharuskan membuat plat nomor sendiri. Negara bagian Massachusetts dan West Virginia adalah yang pertama menerbitkan plat nomor pada tahun 1903. Plat nomor awal dibuat dari porselin yang dibakar menjadi besi, atau keramik biasa yang tidak dibakar, sehingga mudah pecah dan tidak praktis. Bahanbahan plat nomor yang kemudian termasuk karton, kulit, plastik, bahkan juga tembaga dan kedele. Plat nomor awal memiliki bermacam bentuk dan ukuran, sehingga kalau dipindahkan antar kendaraan harus dibuat lubang baru untuk memasukkan sekrup ke bumper. Standarisasi plat nomor baru dimulai tahun 1957 saat pabrik mobil sepakat dengan berbagai pemerintahan dan organisasi standar internasional. Meski masih ada variasi lokal, plat nomor umumnya mengikuti tiga standar dunia: Pertama yang dipakai di negara-negara di belahan Barat bumi, yakni berukuran 15 kali 30 cm (6 x 12 inci) Bentuk yang kedua memiliki standar Uni Eropa, yakni 11 x 52 cm 60 Bentuk ketiga dipakai di Australia and banyak negara Asia-Pasifik, yakni lebih panjang dibanding model negara belahan Barat bumi, namun lebih tinggi dari plat Uni Eropa. 2.6.1 Plat Nomor Kendaraan Bermotor di Indonesia Tanda Nomor Kendaraan Bermotor (TNKB), atau sering kali disebut plat nomor, adalah plat alumunium tanda kendaraan bermotor di Indonesia yang telah didaftarkan pada Kantor Bersama SAMSAT. 2.6.1.1 Sejarah Penggunaan Plat Nomor Kendaraan Bermotor di Indonesia Penggunaan tanda nomor kendaraan bermotor di Indonesia, terutama di Jawa, merupakan warisan sejak zaman Hindia Belanda, yang menggunakan kode wilayah berdasarkan pembagian wilayah keresidenan. 2.6.1.2 Spesifikasi Teknis Tanda Nomor Kendaraan Bermotor berbentuk plat aluminium dengan cetakan tulisan dua baris. Baris pertama menunjukkan: kode wilayah (huruf), nomor polisi (angka), dan kode/seri akhir wilayah (huruf) Baris kedua menunjukkan bulan dan tahun masa berlaku Bahan baku TNKB adalah aluminium dengan ketebalan 1 mm. Ukuran TNKB untuk kendaraan bermotor roda 2 dan roda 3 adalah 250x105 mm, sedangkan untuk 61 kendaraan bermotor roda 4 atau lebih adalah 395x135 mm. Terdapat cetakan garis lurus pembatas lebar 5 mm diantara ruang nomor polisi dengan ruang angka masa berlaku. Pada sudut kanan atas dan sudut kiri bawah terdapat tanda khusus (security mark) cetakan lambang Polisi Lalu Lintas; sedangkan pada sisi sebelah kanan dan sisi sebelah kiri ada tanda khusus cetakan "DITLANTAS POLRI" yang merupakan hak paten pembuatan TNKB oleh Polri. 2.6.1.3 Warna Warna Tanda Nomor Kendaraan Bermotor ditetapkan sebagai berikut: Kendaraan bermotor bukan umum : Warna dasar hitam dengan tulisan berwarna putih Kendaraan bermotor umum: Warna dasar kuning dengan tulisan berwarna hitam Kendaraan bermotor milik Pemerintah: Warna dasar merah dengan tulisan berwarna putih Kendaraan bermotor Corps Diplomatik Negara Asing: Warna dasar Putih dengan tulisan berwarna hitam 2.6.1.4 Nomor Urut Pendaftaran Nomor urut pendaftaran kendaraan bermotor, atau disebut pula nomor polisi, diberikan sesuai dengan urutan pendaftaran kendaraan bermotor. Nomor urut tersebut terdiri dari 1-4 angka, dan ditempatkan setelah Kode Wilayah Pendaftaran. Nomor urut pendaftaran dialokasikan sesuai kelompok jenis kendaraan bermotor(untuk wilayah dki jakarta): 62 1 - 2999, 8000 - 8999 dialokasikan untuk kendaraan penumpang 3000 - 6999, dialokasikan untuk sepeda motor 7000 - 7999, dialokasikan untuk bus 9000 - 9999, dialokasikan untuk kendaraan beban Apabila nomor urut pendaftaran yang telah dialokasikan habis digunakan, maka nomor urut pendaftaran berikutnya kembali ke nomor awal yang telah dialokasikan dengan diberi tanda pengenal huruf seri A - Z di belakang angka pendaftaran. Apabila huruf di belakang angka sebagai tanda pengenal kelipatan telah sampai pada huruf Z, maka penomoran dapat menggunakan 2 huruf seri di belakang angka pendaftaran. Khusus untuk DKI Jakarta, kendaraan motor dapat menggunakan hingga 3 huruf seri di belakang angka pendaftaran. 2.7 Kendaraan Kendaraan atau angkutan adalah alat transportasi selain makhluk hidup (Menurut http://id.wikipedia.org/wiki/Kendaraan). Mereka biasanya buatan manusia (mobil, motor, kereta, perahu, pesawat), tetapi bukan buatan manusia juga bisa disebut kendaraan, seperti gunung es, dan batang pohon yang mengambang. Kendaraan dapat digerak oleh hewan, seperti pedati. Definisi Kendaraan berdasarkan PP Nomor 44 Tahun 1993 Kendaraan Bermotor adalah kendaraan yang digerakkan oleh peralatan teknik yang berada pada kendaraan itu. Sepeda Motor adalah kendaraan bermotor beroda dua, atau tiga tanpa penutup. 63 Mobil Penumpang atau kendaraan umumadalah setiap kendaraan bermotor yang dilengkapi sebanyak-banyaknya 8 (delapan) tempat duduk tidak termasuk tempat duduk pengemudi, baik dengan maupun tanpa perlengkapan pengangkutan bagasi. Bis adalah setiap kendaraan bermotor yang dilengkapi lebih dari 8 (delapan) tempat duduk tidak termasuk tempat duduk pengemudi, baik dengan maupun tanpa perlengkapan pengangkutan bagasi. Mobil Barang adalah setiap kendaraan bermotor selain dari yang termasuk dalam sepeda motor, mobil penumpang dan mobil bus. 2.8 ANPR ANPR atau Automatic Number Plate Recognition adalah metode pengendalian massa yang menggunakan pengenal karakter pada citra yang membaca karakter pada plat nomor kendaraan bermotor. ANPR dapat digunakan untuk menyimpan citra yang diambil melalui kamera serta melakukan pengenalan pada plat nomor kendaraan yang ditangkap. Sistem ini pada umumnya menggunakan sinar infra merah pada kamera agar dapat mengambil gambar kapan pun, siang ataupun malam. ANPR memiliki banyak nama lain, yaitu Automatic Vehicle Identification (AVI), Car Plate Recognition (CPR), Car Plate Reader (CPR), Licence Plate Recognition (LPR). ANPR ditemukan pertama kali pada tahun 1976 oleh pengembangan ilmu dan teknologi kepolisian di Inggris. Rancangan dari sistem ini bekerja hingga tahun 1979 dan kontrak ditawarkan kepada industri-industri, pertama kepada EMI Electronics lalu kepada Computer Recognition System di Workingham, Inggris. Pertama kali sistem ini 64 diimplementasikan adalah di jalan A1 di Dartford Tunnel dan penangkapan pertama adalah pencurian mobil pada tahun 1981. Pada umumnya, sistem ANPR terdiri atas : Kamera, digunakan untuk mengambil citra kendaraan. Iluminasi, cahaya bantuan yang digunakan untuk meningkatkan kualitas citra yang diambil, pada umumnya menggunakan sinar infra merah. Frame Grabber, alat penghubung antara kamera dan PC, memungkinkan aplikasi untuk membaca informasi dari citra yang diambil. Komputer, alat bantu yang berisi sistem pengenal, database, dll yang dibutuhkan untuk memproses aplikasi tersebut. Software, aplikasi yang digunakan untuk melakukan pengenalan dan proses yang dibutuhkan lainnya. Hardware, berbagai macam alat input dan output yang digunakan untuk membantu sistem ini. Database, digunakan untuk menyimpan informasi yang didapat atau dibuat sebelumnya. Algoritma utama yang harus ada dalam sistem ANPR ini adalah : Plate Localization, digunakan untuk menemukan posisi plat nomor yang tertangkap dalam citra lalu memotongnya hingga citra hanya terdiri dari plat saja. 65 Plate Orientation and Sizing, digunakan untuk memperbaiki bentuk geografi dari citra sesuai dengan bentuk plat. Yang dilakukan seperti merotasi, skewing, dll agar bentuk plat menjadi bagus. Normalization, Mengatur terang dan kontras dari citra. Character Segmentation, menemukan dan memisahkan karakter yang terdapat dalam plat yang didapat menjadi masing-masing 1 karakter tersendiri. Optical Character Recognition, digunakan untuk mengenali citra yang telah disegmentasi sebelumnya merupakan karakter apa. Syntactical / Geometrical Analysis, melakukan pengecekan karakter dan posisinya berdasarkan aturan yang berlaku di masing-masing negara. Berikut adalah salah satu gambar diagram alir dari aplikasi pengenalan karakter pada plat nomor kendaraan yang pernah dibuat. 66 Gambar 2.25 : Gambar Diagram Alir Sistem ANPR Kesulitan-kesulitan yang biasa dihadapi oleh sistem ANPR adalah sebagai berikut : Rendahnya kualitas resolusi citra, biasanya terjadi karena plat tersebut terlalu jauh dan kamera yang digunakan berkualitas rendah. 67 Citra yang tidak jelas ataupun terdapat bagian yang tidak jelas dalam citra. Kurangnya pencahayaan dan kontras yang rendah dikarenakan pantulan dan bayangan. Objek yang menempel pada plat seperti kotoran, warna karakter yang pudar, dll. Plat yang tidak standar Teknik yang kurang baik. Saat ini aplikasi ini sudah banyak digunakan di berbagai negara maju dan beberapa tempat pada negara berkembang. Beberapa jenis penggunaan aplikasi ini adalah : Sistem Parkir Dalam sistem parkir, biasanya sistem ini digunakan untuk memasukkan input nomor plat kendaraan yang ingin masuk agar dapat diketahui apakah ia merupakan member ataupun menghitung biaya parkir yang dikenakan. Akses Kontrol Sistem ANPR juga sering digunakan untuk akses kontrol, yaitu untuk membuka palang secara otomatis bagi kendaraan yang memiliki otoritas untuk masuk serta mencatat waktu-waktu masuk dan keluar kendaraan tersebut untuk dokumentasi. 68 Pembayaran Jalan Tol Dalam pembayaran jalan tol, sistem ini digunakan untuk mencatat di pintu mana ia masuk, sehingga pada saat keluar dapat ditentukan berapa biaya yang dikenakan. Pelanggaran Lalu Lintas Sistem ini juga dapat mendeteksi pelanggaran lalu lintas yang dilakukan oleh sebuah kendaraan lalu mengambil nomor plat kendaraan tersebut. Misalnya kecepatan yang melebihi batas, melewati lampu merah, dll. Pencarian Mobil Hilang Dengan sistem ini dapat pula melakukan pencarian terhadap mobil yang hilang. Dengan memasukkan nomor plat dari mobil yang hilang, maka jika nomor plat tersebut ditemukan dapat segera dilaporkan keberadaan dan waktunya, bahkan foto pengendaranya. 2.9 Flowchart Menurut http://en.wikipedia.org/wiki/Flowchart, Diagram flowchart adalah sebuah representasi secara skema dari sebuah algoritma atau sebuah proses. Flowchart adalah satu dari tujuh alat dari pengontrolan kualitas yang biasa digunakan dalam presentasi bisnis atau ekonomi untuk membantu para pembaca atau penonton agar mereka dapat mengerti inti dari permasalahan yang ada. 69 Ada beberapa simbol dalam menggambarkan sebuah flowchart, yaitu : Simbol Start dan End. Simbol ini berupa oval, biasanya didalamnya terdapat tulian Start dan End, yang menyatakan tahap mulai atau tahap selesai suatu proses. Panah. Simbol ini berupa panah yang menyatakan pengalihan kontrol dari ujung panah yang satu ke yang lain (lancip). Tahapan proses, direpresentasikan dengan kotak, biasanya berisi sebuah proses. Misalnya, X=X+4 Input / Output, direpresentasikan dengan jajaran genjang. Misalnya, ambil nilai X / cetak X. Pengambilan keputusan, dirpresentasikan dengan kotak diamond. Biasanya berisi tentang pengmbilan keputusan atau pertanyaan Ya/Tidak atau True/False. Ada 2 panah yang keluar dari kotak diamond ini, yaitu panah yang satu menunjukan True / Benar dan panah yang lainnya menunjukan Salah / False. 70 Ada pula simbol yang lainnya yang jarang digunakan : o Dokumen, direpresentasikan dengan kotak dengan alas ombak. o Manual Input, direpresentasikan dengan kotak dengan atasnya berupa tanjakan keatas dari kiri ke kanan. o Manual Operation, direpresentasikan dengan trapesium terbalik. o Data, direpresentasikan dengan silinder. 71 o Halaman selesai / halaman baru, direpresentasikan dengan lingkaran. Di halaman pertama, jika sudah tidak memiliki tempat untuk meneruskan penggambaran diagram, maka panah dari simbol terakhir harus tertuju pada simbol ini. Di halaman kedua, diagram yang akan dilanjutkan harus dimulai dengan simbol ini. Kemudian, panah ini menuju pada simbol berikutnya. 2.10 State Transition Diagram Berdasarkan buku Systems analysis and design methods (Jeffrey L. Whitten, Lonnie D. Bentley, Kevin C. Systems analysis and design methods. Dittman 6th. Tahun 2004), State Transition Diagram adalah diagram yang digunakan untuk mewakili sekuensi dan variasi dari layar-layar yang akan muncul ketika pengguna sistem menjalankan sebuah program atau aplikasinya. Maksud dari layar adalah tampilan layar, jendela, ataupun sebuah box dialog (dapat berupa peringatan atau pesan). Ada pun 2 simbol yang digunakan dalam diagram ini : Kotak, mewakili tampilan layar. 72 Panah, mewakili arah kontrol dan menampilkan event yang menyebabkan layar menjadi aktif (aktif, dalam arti user dapat memasukkan input) atau mendapatkan fokus. Arah panah menunjukan aliran dimana layar akan muncul atau terjadi.