BAB 2 TINJAUAN PUSTAKA 2.1 Perangkat Lunak - Perancangan Perangkat Lunak Pengenalan Pola Huruf Menggunakan Algoritma Perceptron

BAB 2 TINJAUAN PUSTAKA

2.1 Perangkat Lunak

  Perangkat lunak pada dasarnya berperan ganda. Perangkat lunak merupakan suatu produk dan merupakan wahana untuk mengantarkan suatu produk. Sebagai suatu produk, perangkat lunak menghantarkan suatu potensi yang dibentuk oleh perangkat keras komputer atau lebih luas lagi menghantarkan potensi yang dibentuk komputer yang dapat diakses oleh perangkat keras yang bersifat lokal. Perangkat lunak merupakan pelaksana transformasi membuat, mengatur, memperoleh, mengubah, menampilkan, dan mengirimkan informasi yang sekecil ukuran 1 bit atau sebesar dan sekompleks ukuran materi presentasi multimedia yang berasal dari lusinan sumber data. Suatu deskripsi tentang perangkat lunak menjabarkan beberapa definisi seperti: 1.

  Intruksi-intruksi (program komputer) yang ketika dijalankan menyediakan fitur , fungsi, dan kinerja yang dikehendaki.

  2. Struktur data yag memungkinkan program-program memanipulasi informasi.

  3. Informasi deskriptif pada salinan tercetak dan berbentuk maya yang menggambarkan pengoperasian dan penggunaan program-program (Roger S.

  Pressman, 2012).

  Perangkat lunak memiliki karakteristik yang berbeda dari karakteristik yang dimiliki perangkat keras:

1. Perangkat lunak atau dikembangkan atau direkayasa, bukan diproduksi dalam konteks manufaktur.

  2. perangkat lunak tidak mengalami kelelahan.

3. Perangkat lunak masi buat berdasarkan spesifikasi yang yang diminta para user.

  Perangkat lunak kercerdasan buatan yaitu menggunakan algoritma non- numerik untuk memecahkan permasalahan-permasalahan rumit yang tidak bisa diselesaikan dengan komputasi atau analisis permasalahan secara langsung. Aplikasi- aplikasi yang berada dalam kategori ini menyertakan di dalam robotika, sistim pakar, pengenalan pola (gambar dan suara), jaringan saraf tiruan, pembuktian teorema- teorema, dan permainan (game) komputer (Roger S. Pressman, 2012).

2.2 Kecedasan Buatan

  Alan Turing, seorang pionir AI dan ahli matematika Inggris melakukan percobaan pada tahun 1950 yang dinamakan Turing Test. Turing (Turing Test) yaitu sebuah komputer melalui terminalnya ditempatkan pada jarak jauh. Di ujung yang satu ada terminal dengan software AI dan diujung lain ada sebuah terminal dengan seorang operator. Operator tidak mengetahui kalau di ujung terminal lain dipasang software AI. Mereka berkomunikasi dimana terminal di ujung memberikan respon terhadap serangkaian pertanyaan yang diajukan oleh operator. Turing beranggapan bahwa jika mesin dapat membuat seseorang percaya, bahwa mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas (Muhammad Dahria, 2008).

  Kecerdasan Buatan (Artificial Intelligence) merupakan salah satu bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik dari pada yang dilakukan manusia. Manusia cerdas (pandai) dalam menyelesaikan permasalahan karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari belajar, semakin banyak bekal pengetahuan yang dimiliki tentu akan lebih mampu menyelesaikan permasalahan. Tapi bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang dimiliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.

  Demikian juga dengan kemampuan penalaran yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik.

  Demikian juga agar mesin bisa cerdas (bertindak seperti dan sebaik manusia) maka harus diberi bekal pengetahuan, sehingga mempunyai kemampuan untuk menalar. Untuk membuat aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan:

  1. Basis Pengetahuan (Knowledge Base), bersifat fakta-fakta, teori, pemikiran dan hubungan antar satu dengan yang lainnya.

  2. Motor Inferensi (Inference Engine), kemampuan menarik kesimpulan berdasarkan pengetahuan dan pengalaman (Muhammad Dahria, 2008).

2.2.1 Perbedaan Kecerdasan Buatan dan Kecerdasan Alami

  Ada beberapa keuntungan kecerdasan buatan dibandingkan kecerdasan alamiah, yaitu: 1.

  Lebih permanen.

  2. Memberikan kemudahan dalam duplikasi dan penyebaran.

  3. Relatif lebih murah dari kecerdasan alamiah.

  4. Konsisten dan teliti.

  5. Dapat didokumentasi.

  6. Dapat mengerjakan beberapa task dengan lebih cepat dan lebih baik dibanding manusia.

  Keuntungan kecerdasan alamiah dibandingkan kecerdasan buatan: 1.

  Bersifat lebih kreatif.

  2. Dapat melakukan proses pembelajaran secara langsung, sementara AI harus mendapatkan masukan berupa simbol dan representasi.

  3. Fokus yang luas sebagai referensi untuk pengambilan keputusan, sebaliknya AI menggunakan fokus yang sempit (Anita Desiani dan Muhammad Arhami, 2006).

2.3 Jaringan Saraf tiruan

  Dalam beberapa dekade, ilmu pengetahuan dan teknologi mempunyai tujuan mengembangkan mesin cerdas dengan sejumlah elemen sederhana. Selama tahun 1940, para peneliti yang ingin menduplikasikan otak manusia, telah mengembangkan model neuron biologis dan sistim interaksi dalam perangkat keras sederhana. Pada tahun 1950 sampai dengan 1960, sekelompok peneliti mengkombinasikan sifat biologis dan psikologis untuk menghasilkan jaringan saraf tiruan (JST) pertama kali (Lanny W. Pandjaitan, 2007).

  Jaringan saraf tiruan didefinisikan sebagai suatu sistim pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan saraf manusia. Jaringan saraf tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia (Andry, 2004). Jaringan saraf tiruan adalah sistim proses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi (Siang, 2005). Jaringan saraf tiruan merupakan sistim komputasi yang didasarkan atas pemodelan sistim saraf biologis (neuron) melalui pendekatan dari sifat-sifat komputasi biologis (biological computation ) (Sekarwati ,2004).

  Secara prinsip, jaringan saraf tiruan dapat melakukan komputasi terhadap semua fungsi yang dapat dihitung (computable function). Jaringan saraf tiruan dapat melakukan apa yang dapat dilakukan oleh komputer digital normal.

  Dalam praktiknya, jaringan saraf tiruan sangat berguna bagi klasifikasi dan permasalahan-permasalahan yang dapat menolerir ketidaktepatan, yang memiliki banyak data pelatihan, namun memiliki aturan-aturan yang tidak dapat di aplikasikan secara mudah.

  Pembangunan sistim AI yang di dasarkan pendekatan jaringan saraf tiruan secara umum meliputi langkah-langkah berikut ini (Limin Fu, 1994):

1. Memilih model jaringan saraf tiruan yang sesuai didasarkan pada sifat dasar permasalahannya.

  2. Membangun jaringan saraf tiruan sesuai dengan karakteristik domain aplikasinya.

  3. melatih jaringan saraf tiruan dengan prosedur pembelajaran dari model yang dipilih.

  4. Mengunakan jaringan yang telah dilatih sebagai pembuatan inferensi atau pemecahan masalah. Jika hasilnya tidak memuaskan maka kembali ke langkah sebelumnya.

  Ada beberapa ciri jaringan saraf tiruan yang diilhami dari jaringan saraf biologis, yaitu:

  1. Pemrosesan informasi bersifat lokal.

  2. memori terbagi atas LTM (Long Time Memory) yang merupakan bobot keterhubungan dan STM (Short Term Memory) yang dihubungkan neuron ke sinyal yang dijalankan.

  3. Tegangan pembobotan dapat berubah menurut pengalaman.

  4. Neurontrasmitter dari synaptic dapat bersifat penyalaan (exitatory) atau pemadaman (inhibitory).

  Jaringan saraf tiruan digunakan untuk menyelesaikan permasalahan di mana formulasi lengkapnya tidak diketahui seperti tidak ada model representasi matematikanya. Jaringan saraf tiruan memiliki kemampuan untuk dapat melakukan pembelajaran dan pendeteksian terhadap sesuatu objek. Keuntungan penggunaan Jaringan saraf tiruan : 1.

  Perangkat yang mampu untuk mengenali suatu objek secara non-linier.

  2. Mempermudah pemetaan input menjadi suatu hasil tanpa mengetahui proses sebenarnya.

  3. Mampu melakukan pengadaptasian terhadap pengenalan suatu objek.

  4. Perangkat yang memiliki toleransi terhadap suatu kesalahan dalam pengenalan objek.

  5. Jaringan saraf tiruan mampu diimplementasikan pada suatu Hardware.

  Perangkat yang mampu diimplementasikan secara parallel.

2.3.1 Arsitektur Jaringan Saraf Tiruan

  Arsitektur jaringan saraf tiruan terdiri beberapa lapisan, yaitu lapisan masukan (input

layer ), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer).

  Masing-masing lapisan mempunyai jumlah node atau neuron yang berbeda-beda.

  1. Lapisan masukan (input layer) Merupakan lapisan yang terdiri dari beberapa neuron yang akan menerima sinyal dari luar dan kemudian meneruskan ke neuron-neuron lain dalam jaringan. berdasarkan ciri-ciri dan cara kerja sel-sel saraf sensori pada jaringan saraf biologis.

  2. Lapisan tersembunyi (hidden layer) Merupakan tiruan dari sel-sel saraf konektor pada jaringan saraf biologis. lapisan tersembunyi berfungsi meningkatkan kemampuan jaringan dalam memecahkan masalah. Konsekuensi dari adanya lapisan ini adalah pelatihan menjadi makin sulit dan lama.

3. Lapisan keluaran (output layer) Berfungsi menyalurkan sinyal-sinyal keluaran hasil dari pemrosesan jaringan.

  Lapisan keluaran juga terdiri dari sejumlah neuron. Lapisan keluaran merupakan tiruan sel-sel saraf motor pada jaringan saraf biologis (Siggit Pamungkas, 2003).

  Beberapa arsitektur jaringan yang sering dipakai dalam jaringan saraf tiruan, antara lain: a.

  Jaringan dengan lapisan tunggal (Single layer network) Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan mengelolahnya menjadi output tanpa harus melalui lapisan tersembunyi.

  b.

  Jaringan dengan banyak lapisan (Multilayer net) Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak di antara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi).

  c.

  Jaringan dengan lapisan kompetitif (competitive layer net) Hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur.

2.4 Proses Pembelajaran

  Ada 2 jenis proses pembelajaran, yaitu: 1.

  Pembelajaran terawasi (supervised learning) Metode pembelajaran pada jaringan saraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya.

2. Pembelajaran tidak terawasi (Unsupervised learning) Pada metode pembelajaran tak terawasi tidak memerlukan target output.

  Selama proses pembelajaran, nilai bobot disusun dalam satu range tertentu tergantung pada nilai input yang diberikan.

2.5 Perceptron

  Tahun 1940-an, para ilmuan menemukan bahwa psikologi otak sama dengan model pemrosesan yang dilakukan oleh komputer. Tahun 1943, McCullochdan Pitts merancang model formal yang pertama kali sebagai perhitungan dasar neuron. Tahun 1954, Farleydan Clark mensetup model-model untuk relasi adaptif stimulus-respon dalam jaringan random. Tahun 1958, Rosenblatt mengembangkan konsep dasar tentang perception untuk klasifikasi pola. Tahun 1960, Widrowdan Hoff mengembangkan ADALINE yang dilatih dengan pembelajaran Least Mean Square (LMS). Tahun 1974, Werbos memperkenalkan algoritma backpropagation. Tahun 1975, Littledan Shaw menggambarkan jaringan saraf dengan probabilistik. Tahun 1982, Kohonen mengembangkan metode pembelajaran jaringan saraf yang tidak terawasi untuk pemetaan. Tahun 1982, Grossberg mengembangkan teori jaringan.

  Tahun 1982, Hopfield mengembangkan jaringan saraf reccurent. Tahun 1985, algoritma pembelajaran dengan mensin Boltzmann. Tahun 1987, Kosko mengembangkan jaringan Adaptive Bidirectional Associative Memory (BAM). Tahun 1988, dikembangkan fungsi radial bebas.

  Perceptron terdiri dari suatu input dan output. Perceptron merupakan bentuk paling sederhana dari jaringan saraf tiruan yang biasanya digunakan untuk pengklasifikasian jenis pola khusus yang biasa disebut linearly separable (pola-pola yang terletak pada sisi yang berlawanan pada suatu bidang). Fungsi aktivasi yang digunakan algoritma perceptron adalah fungsi hard limiting. Output unit akan diasumsikan bernilai 1 jika jumlah bobot inputnya lebih besar dari pada threshold.

  Nilai threshold pada fungsi aktivasi adalah non-negatif (Siggit Pamungkas, 2003).

2.6 Mengenal MATLAB

  Ketika MATLAB pertama kali dibuka, maka akan muncul tampilan dialog seperti Gambar 2.1.

Gambar 2.1 Tampilan Awal MATLAB

  MATLAB adalah sebuah bahasa dengan kinerja tinggi untuk komputasi masalah teknik. MATLAB mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai di mana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi:

  a) Matematika dan komputasi.

  b) Pembentukan algoritma.

  c) Akusisi data.

  d) Pemodelan, simulasi, dan pembuatan prototyp.

  e) Analisa data, explorasi, dan visualisas.

  f) Grafik keilmuan dan bidang rekayasa.

  MATLAB merupakan singkatan dari matrix laboratory. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan keilmuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan produktifitas yang tinggi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih dikenal dengan nama toolbox. Sangat penting bagi seorang pengguna MATLAB, toolbox mana yang mandukung untuk learn dan apply

  

technology yang sedang dipelajarinya. Toolbox ini merupakan kumpulan dari fungsi-

  fungsi MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, sistim kontrol,

  

neural networks, fuzzy logic, wavelets, dan lain-lain. Sebagai sebuah sistim,

  MATLAB tersusun dari 5 bagian utama: 1.

  Development Environment, merupakan sekumpulan perangkat dan fasilitas yang membantu kita untuk menggunakan fungsi-fungsi dan file-file MATLAB.

  Beberapa perangkat ini merupakan sebuah Graphical User Interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan Command Window,

  Command History , sebuah editor dan debugger, dan browsers untuk melihat help , workspace, files, dan search path. Dapat dilihat pada Gambar 2.2.

Gambar 2.2 Halaman Command Window 2.

  MATLAB Mathematical Function Library, merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex

  arithmetic, sampai dengan fungsi-fungsi yang lebih kompek seperti matrix

inverse , matrix eigenvalues, Bessel functions, dan fast Fourier transforms.

  3. MATLAB Language, merupakan suatu high-level matrix/array language dengan control flow statements, functions, data structures, input/output, dan

  fitur-fitur object-oriented programming . Ini memungkinkan bagi kita untuk

  melakukan kedua hal baik “pemrograman dalam lingkup sederhana ” untuk mendapatkan hasil yang cepat, dan “pemrograman dalam lingkup yang lebih be sar” untuk memperoleh hasil-hasil dan aplikasi yang komplek.

  4. Graphics, MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik. Dalam hal melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dimensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan untuk membiasakan diri untuk memunculkan grafik mulai dari bentuk yang sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi MATLAB.

  5. MATLAB Application Program Interface (API), merupakan suatu library yang memungkinkan program yang telah di tulis dalam bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB sebagai sebuah computational engine, dan untuk membaca dan menuliskan MAT-files.