8
BAB 2 KAJIAN PUS TAKA
2.1 Artificial Intelligent (Kecerdasan Buatan) Di zaman sekarang ini, teknologi sudah begitu berkembang dengan sangat hebat, terutama teknologi komputer. Sebagai contohnya robot, yang merupakan komputer, dapat berdialog dan bahkan melakukan pekerjaan-pekerjaan manusia sama seperti halnya manusia yang melakukan pekerjaan tersebut. M asih banyak bidang-bidang nyata yang dapat dikerjakan teknologi komputer untuk membantu menyelesaikan pekerjaan manusia sekarang ini. Semua perkembangan tersebut pada dasarnya menggunakan AI (artificial intelligent) sebagai otaknya, sebut saja fuzzy logic, genetic algorithm, bayesian network, dan juga neural network yang ditanam di dalam mikroprosessor sehingga perangkat keras atau alat-alat yang diciptakan dapat bekerja seperti bagaimana manusia bekerja. Sekarang ini komputer memang sudah sangat pandai dalam menghitung atau menjalankan
proses
numerik.
Kehebatan
lainnya yaitu
komputer
dapat
menjalankan suatu perintah secara berulang-ulang dengan cepat dan tanpa melakukan kesalahan. Namun keunggulan komputer yang seperti itu belum dapat dikatakan sebagai komputer yang ‘cerdas’ karena hanya melakukan set-set perintah yang diberikan oleh programmer saja. Dengan menggunakan teknikteknik AI, komputer diharapkan dapat mengerti hal yang dilakukan, sama seperti manusia, dan tidak hanya sekedar menjalankan set-set perintah statik saja.
8
9
2.1.1 Sejarah Berdasarkan Wikipedia, program AI pertama dibuat pada tahun 1951, digunakan untuk menjalankan mesin Ferranti M ark I di University of M anchester (UK) (http://id.wikipedia.org/wiki/Kecerdasan_buatan#Sejarah). Kemudian sebuah program permainan naskah dibuat oleh Christoper Strachey lalu diikuti oleh pembuatan program permainan catur oleh Dietrich Prinz. John M cCarthy membuat istilah “kecerdasan buatan” pada konferensi pertama yang disediakan untuk pokok persoalan ini pada 1956. Dia juga menemukan
bahasa
pemrograman
LISP.
Alan
Turing
kemudian
memperkenalkan “Turing Test” sebagai sebuah cara untuk mengoperasikan tes perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian. Selama tahun 1960-an dan 1970-an, Joel M ises mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program M acsyma, program berbasis pengetahuan yang sukses pertama kali dalam
bidang
matematika.
M arvin
M insky
dan
Seymour
Papert
memperkenalkan Perceptrons, suatu jaringan saraf sederhana dan Alain Colmeraurer
mengembangkan
bahasa
Prolog.
Ted
Shortliffe
mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahian dan inferensi dalam diagnosa dan terapi medis yang disebut sebagai sistem pakar pertama. Hans M oravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang (maze) secara mandiri.
10
Pada tahun 1974, Paul Werbos menerangkan teknik propagasi balik dalam jaringan saraf digunakan secara meluas dan pada tahun 1980-an teknik ini sudah banyak diterapkan dalam berbagai aplikasi AI. Tahun 1990an merupakan suatu perkembangan besar dalam bidang AI karena teknik AI sudah banyak diterapkan untuk berbagai macam aplikasi. Contohnya program Deep Blue, sebuah program permainan catur yang mengalahkan Garry Kasparov yang merupakan juara dunia catur pada saat itu dalam sebuah pertandingan yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang dihemat melalui penggunaan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintahan AS.
2.1.2 Definisi Definisi kecerdasan buatan dapat disimpulkan dari 2 aspek: ‐
Kesuksesan komputer yang dapat meniru manusia (human performance)
‐
Konsep ideal dari kecerdasan buatan itu sendiri, yang dikenal dengan rasionaliatas.
Sistem yang rasional adalah sistem yang dapat melakukan apa yang ia bisa berdasarkan pengetahuan yang diketahui oleh sistem itu. Definisi tujuan dari sistem Kecerdasan Buatan dapat dibagi menjadi empat kategori (Norvig, 1995): 1) Sistem yang berpikir seperti manusia 2) Sistem yang berpikir rasional
11
3) Sistem yang bertindak seperti manusia 4) Sistem yang bertindak rasional
Tabel 2.1 : Definisi Kecerdasan Buatan Sistem yang berpikir seperti manusia
Sistem yang berpikir secara rasional
Automasi aktivitas yang berhubungan
Studi tentang perhitungan yang
dengan pikiran manusia, seperti membuat
memungkinkan untuk melihat, akal, dan
keputusan, menyelesaikan masalah, dan
bertindak (Winston, 1992)
pembelajaran (Bellman, 1978) Sistem yang bertindak seperti manusia
Sistem yang bertindak rasional
Studi tentang bagaimana membuat
Cabang ilmu komputer yang berkaitan
komputer melakukan hal-hal yang, pada
dengan otomatisasi perilaku cerdas (Luger
saat ini, orang-orang yang lebih baik (Rich
dan Stubblefield, 1993)
dan Knight, 1991).
2.1.3 AI dan O tak Manusia M enurut elektroindonesia, bila kita ingin 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 berikutnya), oleh karena itu manusia kalah dalam hal kecepatan perhitungan numerik (www.elektroindonesia.com/elektro/el400c.html). Dalam aspek lainnya, otak manusia jauh melebihi mikroprosesor, terutama dalam hal tata
12
letak dan jumlah elemennya. Sedangkan metode pemrosesan secara paralel dalam komputer kini sudah dikembangkan untuk menggantikan kedudukan metode pemrosesan yang diperkenalkan oleh Jon Von Neumann, yaitu metode pemrosesan sekuensial.
Tabel 2.2 : Perbedaan Mikroprosesor dengan Otak Manusia M ikroprosesor
Otak M anusia
Layout
2 dimensi
3 dimensi
Jumlah Device
±5 juta transistor
±10 miliar neuron
Volume
± 0.01 cm3
± 1000 cm3
Waktu Tunda Propagasi
10 nanodetik/gate
1 milidetik/neuron
Perbedaan cara kerja komputer modern sekarang ini yang belum berlandaskan AI dengan otak manusia yaitu: o
Komputer mengerjakan suatu perintah secara numerik sedangkan manusia lebih mengerjakan perintah secara simbolik. M anusia memanipulasi simbol-simbol, sehingga ia bisa menurunkan rumus atau mendapatkan suatu kesimpulan.
o
Komputer mengerjakan suatu pekerjaan berdasarkan algoritmik, tahap demi tahap sesuai dengan prosedur yang diberikan. Sedangkan manusia tidak selalu mengerjakan suatu pekerjaan sacara algoritmik. M anusia lebih cenderung mengerjakan sesuatu secara non-algoritmik.
13
Arsitektur komputer konvensional memang dibuat untuk memproses secara tahap demi tahap, dan bahasa-bahasa pemrogramannya juga berlandaskan algoritma. Bahasa-bahasa demikian disebut bahasa prosedural, misalnya Basic, Pascal, C, dan sejenisnya. Disisi lain, bahasa-bahasa pemrograman AI tidak menggunakan bahasa prosedural, melainkan bahasa deklaratif. Dalam bahasa deklaratif misalnya PROLOG, hanya diperlukan pendeklarasian sejumlah aturan-aturan (rules) yang berhubungan dengan fakta-fakta lalu masalah akan terpecahkan secara deduktif. Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiiki manusia), kecerdasan buatan, menurut Kusuma Dewi (2003, p3), AI memiliki beberapa keuntungan secara komersial: ‐
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 diduplikasikan dan disebarkan. M entransfer pengetahuan manusia dari 1 orang ke orang lain membutuhkan proses yang lama, dan juga suatu keahlian tidak dapat diduplikasikan dengan lengkap.
‐
Kecerdasan buatan lebih murah dibanding kecerdasan alami. M enyediakan layanan komputer akan lebih mudah dan murah dibandingkan dengan harus mendatangkan seseorang untuk
14
mengerjakan sejumlah pekerjaan dalam jangka waktu yang panjang. ‐
Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut.
‐
Kecerdasan buatan bersifat konsisten. Hal ini karena kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah.
‐
Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat.
‐
Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik.
Sedangkan keunggulan kecerdasan alami yaitu: ‐
Kreatif. Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah pengetahuan harus dilakukan melalui sistem yang dibuat.
‐
Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja denga input-input simbolik.
‐
Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan terbatas.
15
2.1.4 Bidang-bidang AI Ada
beberapa
pencabangan
di
dalam
studi
AI
(menurut
http://www.elektroindonesia.com/elektro/el0400c.html) yaitu: 1.
Sistem Pakar (Expert Sistem) Sistem pakar adalah program komputer yang didesain untuk
membantu suatu pekerjaan dalam bidang khusus seperti seorang pakar. Contoh masalah yang dapat diselesaikan dengan sistem pakar yaitu : o
Intepretasi yaitu membuat kesimpulan atau deskripsi dari kumpulan data mentah
o
Prediksi yaitu memproyeksikan akibat-akibat yang mungkin terjadi dari suatu situasi tertentu
o
Diagnosis yaitu menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati
o
Desain yaitu menentukan konfigurasi sistem yang cocok dengan tujuan tertentu
o
Perencanaan yaitu merencanakan serangkaian tindakan yang dapat mencapai sejumlah tujuan dengan kondisi awal
16
o
Debugging and Repair yaitu menentukan dan mengintepretasikan cara-cara untuk mengatasi malfungsi
o
Instruksi yaitu
mendeteksi dan
mengoreksi defisiensi dalam
pemahaman domain subjek o
Pengendalian yaitu mengatur tingkah laku suatu environtment yang kompleks
o
Selection yaitu mendapatkan pilihan terbaik dari sekumpulan kemungkinan
o
Simulation yaitu pemodelan interaksi antara komponen-komponen sistem
o
M onitoring yaitu membandingkan hasil pengamatan dengan kondisi yang diharapkan
2.
Natural Language Processing (NLP) NLP merupakan suatu bidang AI yang berfungsi untuk mengenal
makna dari bentuk kalimat yang berbeda-beda. NLP mengubah informasi yang diekspresikan dalam bahasa pembicaraan dan tertulis dari manusia menjadi masukan bagi komputer.
17
3.
Recognition Recognition memiliki arti yaitu komputer dapat mengenali objek-
objek yang diberikan. Objek-objek yang dapat diberikan dapat berupa suara, gambar, pola, dll. Contoh aplikasinya seperti Character Recognition dimana aplikasi ini dapat mengenali karakter-karakter yang diberikan yang biasa berupa gambar. 4.
Computer Vision Computer Vision bermaksud bahwa komputer dapat melihat dan
memproses
suatu
objek
citra
seperti
bagaimana
manusia
melakukannya. Dengan computer vision ini, diharapkan pekerjaanpekerjaan manusia dapat diselesaikan oleh komputer sehingga tingkat kesalahan pekerjaan yang disebabkan oleh faktor manusia dapat berkurang. 5.
Robotic Robot adalah mesin yang diprogram untuk melaksanakan tugas-
tugas mekanik. Robot yang berintelegensi dapat memberi respon terhadap perubahan lingkungan. 6.
Intelligent Computer Aided Instruction Komputer digunakan untuk membantu proses belajar (edukasi),
sehingga dapat mengajar dengan cara sesuai keadaan user yang menggunakan. 7.
Automatic Programming Komputer dapat membuat program sendiri sesuai dengan
spesifikasi yang diinginkan programmer.
18
8.
Planning and Decision Support Komputer ini khusus membantu manager secara aktif dalam
kegiatan perencanaan dan pengambilan keputusan.
2.2 Soft C omputing M enurut Kusuma Dewi (2003, p7), soft computing adalah koleksi dari beberapa metodologi yang bertujuan untuk mengeksploitasi adanya tolerans i terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dengan mudah, dan tentunya biaya penyelesaian akan berkuran g (dikemukakan 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. M etode-metode pokok dalam soft computing meliputi : •
Jaringan saraf (Neural Network) Æ menggunakan metode pembelajaran
•
Bayesian Network / Probabilistic Reasoning Æ mengakomodasi ketidakpastian
•
Genetic Algorithm Æ untuk optimalisasi
•
Fuzzy Logic Æ mengakomodasi ketidakpastian
19
2.3 Jaringan Saraf Tiruan (Neural Network) Jaringan saraf tiruan (J ST) adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi (jaringan saraf manusia). Beberapa karakteristik jaringan saraf biologi yang diadopsi oleh JST : -
M emiliki elemen pemrosesan (neuron) dalam jumlah yang masif.
-
Neuron-neuron bekerja secara paralel.
-
M emiliki fault tolerant.
JST dibentuk sebagai suatu generalisasi model matematis dari jaringan saraf biologi yang didasarkan atas asumsi bahwa : -
Pemrosesan informasi terjadi pada banyak elemen sederhana yang disebut neuron.
-
Sinyal / isyarat dikirimkan di antara neuron melalui suatu sambungan penghubung.
-
Setiap penghubung antar neuron memiliki bobot yang akan memperkuat (excite) atau memperlemah (inhibit) sinyal.
-
Untuk menentukan sinyal keluaran (output), setiap neuron menggunakan fungsi aktivasi yang dikenakan terhadap sinyal masukan (input) yang diterima. Ketika efek kumulatif dari sinyal-sinyal tersebut melebihi suatu batas ambang, maka neuron yang bersangkutan akan menembakkan sinyal ke neuron lainnya.
Oleh karena itu, beberapa aplikasi yang telah berhasil dikembangkan dengan menggunakan J ST, antara lain :
-
Klasifikasi
-
Pengenalan Pola
20
-
Peramalan
-
Optimisasi
JST sangat ditentukan oleh 3 hal : a.
Pola hubungan antar neuron (disebut arsitektur jaringan). Seperti halnya otak manusia, JST juga terdiri dari beberapa neuron.
Neuron yang terdapat pada JST kemudian dimodelkan dari penyederhanaan sel syaraf manusia yang sebenarnya. Pada JST, neuron-neuron tersebut dikumpulkan ke dalam lapisan-lapisan yang disebut layer. Neuron yang terdapat pada satu lapisan kemudian dihubungkan terhadap neuron lainnya yang terdapat pada lapisan yang berbeda. Lapisan pertama adalah input layer yang berisi neuron-neuron yang bertugas menerima sinyal masukan, lapisan lainnya adalah output layer yang berisi neuron-neuron yang bertugas menerima sinyal keluaran. Terkadang, muncul juga lapisan tersembunyi (hidden layer) yang terletak di antara input layer dan output layer untuk menambah keakuratan proses training. Dalam suatu JST, hidden layer dapat berjumlah lebih dari satu lapisan. JST yang tidak memiliki hidden layer disebut sebagai single layer network, dalam arsitektur JST ini, setiap neuron yang terdapat pada input layer langsung terhubung dengan setiap neuron yang terdapat pada output layer.
21
Gambar 2.1 : Single layer network Sedangkan JST yang memiliki hidden layer disebut sebagai multi layer network, dalam arsitektur JST ini, sebelum terhubung dengan neuron-neuron yang ada di output layer, setiap neuron dari input layer terhubung dengan setiap neuron yang ada di hidden layer terlebih dahulu, baru kemudian setiap neuron yang ada di hidden layer meneruskan sinyal menuju ke neuron-neuron yang terdapat pada output layer.
Gambar 2.2 : M ultilayer network
22
b.
M etode penentuan bobot penghubung (disebut metode training / learning) Berdasarkan metode training-nya, ada 2 macam metode training yang
dikenal, yaitu supervised learning dan unsupervised learning. Dalam supervised learning, terdapat sejumlah pasangan data (data input dan data output target) yang dipakai untuk melatih JST hingga diperoleh bobot yang diinginkan. Pasangan data tersebut berfungsi “mengajarkan” J ST untuk mengenali input yang dimasukkan beserta output hasil keluarannya. Pada setiap kali pelatihan, suatu input diberikan ke J ST. JST akan memproses dan menghasilkan output. Selisih antara output yang dihasilkan dengan output target (output yang terdapat dalam pasangan data training) merupakan kesalahan (error) yang terjadi. JST akan memodifikasi bobot sesuai dengan kesalahan yang terjadi, hingga nilai kesalahannya konvergen. Sebaliknya dalam unsupervised learning, tidak ada pasangan pola yang bertugas untuk “mengajarkan” JST. Dalam pelatihannya, perubahan bobot JST dilakukan berdasarkan parameter tertentu dan JST dimodifikasi menurut ukuran parameter tersebut. c.
Fungsi aktivasi Dalam JST, fungsi aktivasi dipakai untuk menentukan keluaran suatu
neuron.
23
Gambar 2.3 : Neuron model M c Culloch dan Pitts Dari gambar di atas, jika : f = fungsi aktivasi x = sinyal masukan (input) y = sinyal keluaran (output) w = bobot (weight) maka : ∑
.
.
.
.
….
.
..(2.1)
atau : .
…….. 2.2
Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi syarat yaitu : kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range
24
(0,1). Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1,1). Fungsi sigmoid biner dinotasikan dengan : 1 1
…………… 2.3
Fungsi sigmoid bipolar dinotasikan dengan : 1 1
………… 2.4
.
Gambar 2.4 : Grafik Sigmoid Biner dan Bipolar Hingga kini terdapat lebih dari 20 model J ST. M asing-masing model menggunakan arsitektur, fungsi aktivasi, dan perhitungan yang berbeda-beda dalam prosesnya. Berdasarkan metode training / learning, model JST dibagi menjadi : a.
Supervised learning Contoh model yang termasuk dalam kategori ini antara lain model
Hebbian, Perceptron, ADALINE, Boltzman, Hopfield, Backpropagation, dll.
25
b.
Unsupervised learning Contoh model yang termasuk dalam kategori ini antara lain model
Competitive, Kohonen, LVQ (Learning Vector Quantization), Neocognitron, dll. Berdasarkan arsitekturnya, model JST dapat digolongkan menjadi : a.
Single Layer Networks M odel yang masuk kategori ini antara lain ADALINE, Hopefield,
Perceptron, LVQ, dll. b.
Multi Layer Networks M odel
yang
masuk
kategori
ini
antara
lain
MADALINE,
Backpropagation, Neocognitron, dll.
2.3.1 Backpropagation Backpropagation merupakan salah satu algoritma yang sering digunakan
dalam
menyelesaikan
masalah-masalah
yang
rumit.
Backpropagation menggunakan arsitektur multi layer networks dengan metode training-nya adalah supervised learning. Karena merupakan supervised learning, maka bobot-bobot yang menjadi penghubung setiap neuron dalam backpropagation baru akan menyesuaikan bila dimasukkan pasangan pola input-output sewaktu dilakukan training. Latihan ini dilakukan berulang-ulang hingga nilai kesalahan (error) yang dihasilkan konvergen, sehingga nilai keluaran / output yang dihasilkan sesuai dengan nilai output yang diinginkan (desired / target output).
26
Backpropagation terdiri dari 3 lapisan (layer) atau lebih. Lapisan pertama adalah input layer, yang kedua adalah hidden layer yang dapat berjumlah lebih dari satu lapisan, dan yang terakhir adalah output layer. Ketiga (atau lebih) lapisan ini terhubung secara penuh.
Gambar 2.5 : Backpropagation 3 layer Algoritma backpropagation menurut Jong Jek Siang (2004, p100) terdiri atas 3 langkah, yaitu feed forward, backward, dan modifikasi bobot untuk menurunkan kesalahan (error) yang terjadi. Ketiga fase ini dilakukan untuk setiap pola yang diberikan selama jaringan mengalami training dan dilakukan
secara berulang-ulang hingga nilai error-nya mengalami
konvergensi. -
Fase I : Feed Forward Selama fase ini, sinyal input
dipropagasikan ke hidden
layer menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap hidden layer
tersebut kemudian kembali dipropagasikan
maju menuju hidden layer selanjutnya (bila ada) menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan
27
output
. Berikutnya, output dibandingkan dengan desired output . Selisih
adalah nilai error yang terjadi. Jika nilai error
ini lebih kecil dari batas toleransi yang ditentukan, maka perulangan (iterasi) dihentikan. Akan tetapi bila nilai error masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasikan untuk mengurangi kesalahan yang terjadi. -
Fase II : Backward Berdasarkan nilai error
1, 2, … ,
, dihitung faktor
yang dipakai untuk mendistribusikan kesalahan di
semua unit di hidden layer yang terhubung langsung dengan
ke .
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit di output layer. Dengan cara yang sama, dihitung faktor di setiap unit di hidden layer sebagai dasar perubahan bobot semua garis yang berasal dari unit di hidden layer sebelumnya. Demikian seterusnya hingga semua faktor δ di hidden layer yang terhubung langsung dengan input layer dihitung. -
Fase III : Perubahan Bobot Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ neuron di lapisan selanjutnya. Ketiga fase tersebut dilakukan secara berulang-ulang, hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau nilai error. Iterasi akan dihentikan ketika jumlah
28
iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika nilai error yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan. Algoritma pelatihan untuk jaringan backpropagation dengan satu hidden layer dan dengan fungsi aktivasi sigmoid biner adalah sebagai berikut : Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9 Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3-8
Fase I : Feed Forward Langkah 3 : Tiap
unit masukan menerima sinyal dan
meneruskannya ke unit tersembunyi selanjutnya Langkah 4 : Hitung semua keluaran di unit tersembunyi 1, 2, … , _
……… 2.5 1 1
_
……… 2.6
Langkah 5 : Hitung semua keluaran jaringan di unit 1, 2, … ,
29
_
……… 2.7 1
………… 2.8
_
1
Fase II : Backward Langkah 6 : Hitung faktor δ unit keluaran berdasarkan kesalahan 1, 2, … ,
di setiap unit keluaran ′
_
1
……… 2.9
merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar sebelumnya (langkah 7) Hitung suku perubahan bobot merubah bobot
(yang akan dipakai nanti untuk
) dengan laju percepatan α ;
α
1, 2, … , ;
0,1, … , …… 2.10
Langkah 7 : Hitung faktor δ unit tersembunyi berdasarkan 1, 2, … , )
kesalahan di setiap unit tersembunyi _
……… 2.11
Faktor δ unit tersembunyi : ′
_
_
_
Hitung suku perubahan bobot
merubah bobot
)
α
;
1
………… 2.12
(yang akan dipakai nanti untuk
1, 2, … , ;
0,1, … , ……….. 2.13
30
Fase III : Perubahan Bobot Langkah 8 : Hitung semua perubahan bobot Perubahan bobot garis yang menuju ke unit keluaran ; 1, 2, … ,
;
0,1, … ,
………………….. 2.14
Perubahan bobot garis yang menuju ke unit tersembunyi : ; 1, 2, … , ;
0,1, … , …….. 2.15
Setelah training selaesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.
2.3.2 Pengenalan Pola Pengenalan pola (pattern recognition) merupakan teknik yang bertujuan untuk mengklasifikasikan citra yang telah diolah sebelumnya berdasarkan kesamaan atau kemiripan ciri yang dimilikinya. Sebuah pola pada suatu citra digital dapat dikenali oleh komputer dengan cara mengekstraksi fitur-fitur yang terdapat pada citra digital tersebut. Fitur-fitur tersebut kemudian dimasukkan ke dalam JST sehingga terjadi proses learning. Dalam pengenalan pola, terdapat beberapa tahapan, yaitu : -
Pola pertama kali ditangkap oleh sensor untuk kemudian dianalis a dan didapat berbagai fiturnya.
31
-
Setelah mendapat informasi dari fitur-fitur yang ada, maka selanjutnya adalah meng-generate fitur
-
Tidak semua fitur yang didapat dari sensor digunakan untuk melakukan pengenalan. M aka dalam tahap ini dipilih fitur yang dirasa paling tepat untuk melakukan klasifikasi.
-
Desain pengklasifikasian dengan menentukan metode klasifikas i yang akan digunakan.
Lakukan pengklasifikasian dan pengenalan pola dengan melakukan training terhadap komputer.
2.4 Computer Vision 2.4.1 Definisi Computer Vision merupakan ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek yang diamati. Computer vision adalah teknologi yang memungkinkan mesin untuk melihat, dimana melihat yang dimaksud memiliki arti mesin dapat mengekstrak informasi dari sebuah citra yang bertujuan untuk menyelesaikan suatu pekerjaan. Untuk dapat menyelesaikan pekerjaan, biasanya objek-objek, berupa citra, kumpulan citra, atau video, computer vision harus melakukan beberapa proses, antara lain: (http://en.wikipedia.org/wiki/Computer_vision)
•
Pengolahan Citra
•
Ekstraksi Fitur
•
Recognisi / Pengenalan
32
2.4.2 Pengolahan Citra Proses pengolahan citra merupakan hal yang tidak dapat dipisahkan dari computer vision. Pada hakikatnya, computer vision mencoba meniru cara kerja sistem pada pengelihatan manusia. Pengelihatan manusia sangatlah kompleks. M anusia melihat objek dengan indera pelihat (mata), lalu citra objek diteruskan ke otak untuk untuk diinterpretasikan sehingga manusia mengerti objek apa yang tampak dalam pandangannya. Hasil interpretasi ini kemudian digunakan untuk proses selanjutnya seperti pengambilan keputusan. Proses-proses dalam computer vision dapat dibagi menjadi tiga : 1.
M emperoleh citra digital
2.
M elakukan teknik komputasi untuk memproses atau memodifikas i data citra
3.
M enganalisa dan mengintepretasi citra dan menggunakan hasil pemrosesan untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan, memantau proses manufaktur dan lain-lain.
Pengolahan citra biasanya diikuti dengan proses pengenalan pola. Hasil yang diperoleh dari proses pengolahan citra kemudian dijadikan sebagai masukan untuk proses pengenalan pola. Gabungan dari kedua bidang ini sering diterapkan dalam pekerjaan bidang AI (Artificial Intelligent). Pengolahan citra merupakan proses awal, dan pengenalan pola merupakan proses untuk mengintrepretasikan citra. Teknik-teknik dalam pengenalan pola memainkan peranan penting dalam computer vision untuk proses pengenalan.
33
Pengolahan citra telah diaplikasikan dalam berbagai bentuk pekerjaan, dengan tingkat kesuksesan yang cukup besar. Teknik pengolahan citra berkaitan juga dengan berbagai gabungan cabang-cabang ilmu, diantaranya optik, elektronik, matematika, fotografi dan teknologi komputer. Banyak faktor yang meyebabkan perkembangan sistem pengolahan citra berkembang pesat. Salah satu yang utama adalah dibutuhkannya suatu teknologi yang dapat bekerja secara mandiri dalam arti teknologi yang dapat memproses data-data yang diterima dan pada akhirnya teknologi tersebut dapat mengambil keputusan dari hasil pengolahan sebelumnya. Selain itu penurunan biaya pada perangkat komputer yang dibutuhkan serta peningkatan ketersediaan peralatan untuk proses tampilan gambar juga menjadi salah satu faktor semakin berkembangnya pengolahan citra. Pada awalnya riset-riset teknologi computer vision ini banyak digunakan untuk aplikasi citra satelit, intepretasi foto medikal, pengenalan karakter, dan peningkatan kualitas foto. Tapi karena teknologi ini sangat membantu dalam berbagai pekerjaan, maka penggunaan teknologi ini sekarang sudah menjadi sangat umum dan sering ditemui. Teknik-teknik yang umum digunakan untuk mengolah citra meliputi:
-
Grayscaling
-
Histogram
-
Filtering
-
Thresholding
-
Thinning
-
Image Resizing
34
-
Image Cropping
-
Labeling
2.4.2.1 Grayscaling Grayscale adalah sebuah proses untuk merubah sebuah citra menjadi abu-abu. Citra ini hanya memiliki piksel tunggal. Cara konversi dari sistem warna RGB menjadi grayscale ini ada beberapa macam : Î
Dengan merata-rata setiap komponen warna pada RGB
GRAY = (R + G + B) / 3 ...........(2.16) Î
M enggunakan nilai maksimal dari komponen RGB
GRAY MAX { R,G,B } .................(2.17) Citra akan di konversi menjadi citra grayscale. Citra yang dimasukkan akan diproses menjadi citra grayscale, dengan cara diambil nilai R, G, dan B dari masing-masing piksel dari citra atau dengan
merata-rata setiap
komponen
warna pada RGB.
Perhitungan untuk mendapatkan nilai grayscaling untuk masingmasing piksel adalah : GRAYSCALE = Î
..........(2.18)
M enggunakan sistem warna pada NTSC (YUV), yaitu
dengan cara mengambil komponen Y (iluminasi). Komponen Y sendiri dapat diperoleh dari sistem warna RGB dengan konversi (Wikipedia, diakses Oktober 2010).
35
GRAY = Y = 0.299 x R + 0.587 x G + 0.114 x B ......(2.19) Cara yang paling terakhir ini yang paling sering digunakan untuk konversi sistem warna ke sistem grayscale. (http://en.wikipedia.org/wiki/Grayscale)
2.4.2.2 Linear Filtering Teknik filtering digunakan untuk menghikangkan noise pada citra. Noise dapat diartikan sebagai kotoran berupa piksel-piksel yang tidak diinginkan pada sebuah citra. Ada banyak cara yang digunakan dalam mereduksi noise, salah satunya adalah pepper and salt noise removal. Jenis-jenis noise : -
Amplifier Noise (Gaussian Noise) Contoh-contoh dasar dari Amplifier Noise adalah additive, Gaussian, yang bergantung pada masing-masing piksel dan bergantung pada intensitas sinyal mereka.
-
Salt and Pepper Noise Sebuah citra yang memiliki salt and pepper noise akan memiliki beberapa piksel hitam di daerah yang berwarna putih, dan memiliki piksel putih di daerah yang berwarna hitam. Jenis noise seperti ini dapat disebabkan oleh piksel-piksel yang telah “mati”, lalu bisa juga disebabkan oleh pengkonversian gambar analog ke digital, dan bit error.
36
-
Shot Noise Noise yang berada pada daerah yang lebih terang dari sebuah citra yang berasal dari sensor citra yang disebabkan oleh fluktuasi kuantum, yang sebenarnya merupakan variasi dari jumlah foton yang ada. Shot Noise sebenarnya tidak terlalu berbeda dengan Gaussian noise.
Adapun teknik yang digunakan untuk menghilangkan noise pada sebuah citra adalah Gaussian Blur. Gaussian Blur yang dikenal sebgagai Gaussian Smoothing adalah teknik dari penghalusan sebuah citra atau yang disebut blur (membuat menjadi tidak jelas atau samar-samar) dengan menggunakan fungsi Gaussian. Teknik ini sangat berguna didalam aplikasi berupa grafik, yang secara khas digunakan untuk mengurangi noise pada sebuah citra dan efek visual dari teknik ini adalah sebuah gambar blur yang sangat halus. Gaussian smoothing juga digunakan sebagai tahap prapengolahan dalam algoritma computer vision untuk meningkatkan kualitas citra pada skala yang berbeda. Secara matematika, menerapkan Gaussian Blur sama saja dengan mengkonvolusi citra dengan fungsi Gaussian, dan hal inilah yang disebut dengan Weierstrass transform dua dimensi. Sebaliknya, jika kita mengkonvolusi dengan lingkaran (yaitu, sebuah kotak melingkar blur) akan lebih akurat mereproduksi efek Bokeh. Bokeh adalah kualitas estetika Blur yang berada diluar daerah fokus dari sebuah citra. Karena Transformasi Fourier adalah bukan sekedar teknik
37
Gaussian biasa, menerapkan Gaussian Blur mempunyai dampak untuk meurunkan nilai-nilai frekuensi tinggi pada sebuah citra, karena hal inilah Gaussian Blur dikenal sebagai Low Pass Filtering. Berikut ini adalah persamaan dari sebuah fungsi Gaussian dalam bidang 1 dimensi 1 √2
……… 2.20
Jika didalam 2 dimensi adalah 1 √2
……… 2.21
Dimana X adalah jarak dari titik ke sumbu X (absis) dan Y adalah jarak titik ke sumbu Y (ordinat), dan σ adalah nilai dari standar deviasi dari distribusi Gaussian. Dalam implementasinya, Gaussian Blur adalah teknik terbaik karena teknik ini membagi prosesnya dalam 2 tahap. Pada tahap pertama, one dimensional kernel digunakan untuk mem-blur citra hanya pada bagian vertikal dan horizontal. Sebenarnya hasil dari proses ini sama seperti mengkonvolusi dengan Two dimensional kernel, tapi proses ini lebih menghemat proses penghitungan. Berikut ini adalah contoh gambar dari Gaussian Blur
38
Gambar 2.6 : Citra dan hasil smoothing
2.4.2.3 Histogram Histogram adalah grafik yang menunjukan frekuensi kemunculan setiap nilai gradasi warna. Bila digambarkan pada koordinat kartesian maka sumbu X (absis) menunjukan tingkat warna dan sumbu Y (ordinat) menunjukan frekuensi kemunculan. Untuk citra dengan 8-bit piksel, tingkat intensitas warna yang diperbolehkan adalah dari 0 (hitam) sampai 255 (putih). Berikut gambar beserta histogramnya.
Gambar 2.7 : Gambar citra dan histogramnya
39
Jika suatu gambar memiliki gambar lebih gelap, maka frekuensi histogram akan banyak muncul di level intensitas kecil dan sebaliknya. Pada dasarnya histogram memiliki manfaat sebagai berikut. 1.
Sebagai indikasi visual untuk menentukan skala keabuan
yang tepat sehingga diperoleh kualitas citra yang diinginkan. Contoh : pengubahan kontras, kecemerlangan, dan lain-lain. 2.
Untuk pemilihan batas ambang (threshold) Contoh : Proses segmentasi citra (memisahkan objek dari
latar belakangnya) pada hakikatnya adalah menentukan batasbatas nilai keabuan dari objek dan batas-batas nilai keabuan latar belakangnya sehingga antara objek dan latar belakangnya bisa dipisahkan.
2.4.2.4 Thresholding Kompleksitas citra biner dibatasi oleh nilai threshold. Untuk mendapatan warna hitam – putih dalam suatu image diperlukan proses thresholding. Thresholding adalah cara yang paling mudah dalam mengsegmentasi citra. Dari citra grayscale, proses thresholding dapat mengubah citra menjadi citra biner. Proses thresholding digunakan untuk mengubah nilai piksel bergantung pada besar kecilnya nilai piksel tersebut terhadap nilai threshold yang telah ditentukan. Jika suatu nilai piksel lebih besar atau sama dengan nilai threshold maka piksel tersebut akan di-set ke nilai maksimum atau disebut threshold above, dalam grayscale nilai piksel maksimum
40
adalah 255 (warna putih). Sedangkan bila suatu nilai piksel kurang dari nilai threshold, maka piksel tersebut akan di-set ke nilai minimum atau disebut threshold bawah, dalam grayscale nilai piksel minimumnya adalah 0 (warna hitam). Berikut adalah contoh citra beserta hasil dari proses thresholding-nya
Gambar 2.8 : citra dan hasil threshold
2.4.2.5 Thinning Thinning adalah suatu operasi morfologi yang dilakukan terhadap suatu citra untuk mendapatkan foreground yang sudah ditipiskan. Proses thinning merupakan erosi yang dilakukan terus menerus hingga foreground terdiri dari piksel tunggal dengan koneksi 8 arah.
Gambar 2.9 : Gambar sebelum dan sesudah proses Thinning (http://homepages.inf.ed.ac.uk/rbf/HIPR2/figs/thnskxmp.gif)
41
2.4.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 terkandung dalam citra menjadi
hilang,
sedangkan
memperbesar
ukuran
citra
akan
menyebabkan citra menjadi kelihatan pecah.
Gambar 2.10 : Citra yang diperkecil dan di perbesar
2.4.2.7 Image Cropping Image Cropping adalah pengambilan bagian dari suatu citra menjadi suatu citra yang baru.
Gambar 2.11 : Pengambilan bagian dari citra
42
2.4.2.8 Labeling Labeling adalah proses memberikan nilai yang unik terhadap piksel-piksel yang berhubungan dengan piksel lainnya (connected component) dalam suatu area. Ada 2 metode pelabelan, yaitu dengan hanya mencari konektivitas 4 arah (4-connected) dan konektivitas 8 arah (8-connected).
Gambar 2.12 : a). labeling dengan 8 konektivitas, b). 4 konektivitas
2.4.3 Ekstraksi Fitur (Feature Extraction) Fitur merupakan hal yang sangat penting dalam bidang artificial intelligent, terutama dalam sistem pengenalan pola. Tingkat akurasi pengenalan pola bergantung pada fitur-fitur yang diekstrak. Semakin baik fitur yang diekstrak, maka tingkat ketepatan pengenalan objek menjadi semakin tinggi. Fitur adalah sekumpulan pengukuran yang diambil dari suatu objek inputan. Fitur yang baik harus memiliki tingkat perbedaan yang tinggi dan tidak terpengaruh dengan adanya variasi dan distorsi pada objek
43
yang berbeda. Contohnya pada huruf ‘i’ dan huruf ‘l’, walaupun terdapat kesamaan pada kedua huruf, fitur yang diekstrak harus memiliki tingkat perbedaan yang signifikan. Fitur juga tidak boleh mengandung terlalu banyak redundansi. Kesalahan dalam mengekstrak fitur sangat berpengaruh pada sistem pengenalan pola. Pada manusia, ketika seseorang salah mengintepretasikan suatu informasi, maka aksi yang akan dilakukan akan berbeda dengan yang seharusnya dilakukan. Contoh sederhananya seperti A dan B mengadakan janji untuk berenang bersama di tempat penyewaan kolam renang. A datang lebih dulu dan telah memesan 1 kotak lemari locker untuk menaruh baju ganti. Tidak lama kemudian, datang temannya B. Lalu A memberitahukan B bahwa A telah memesan 1 kotak lemari locker bernomor 1 disebelah kiri ruangan. B pun pergi ke tempat lemari locker tersebut dan mencoba membuka lemari locker bernomor 1 yang berada disebelah kiri arah B masuk ruangan. Ternyata lemari tersebut tidak bisa dibuka karena yang dimaksud A adalah lemari yang berada disebelah kiri pada saat dia keluar (seharusnya arah berlawanan B). Dari contoh tersebut, kita dapat mengetahui jika informasi yang diberikan tidak sepenuhnya benar, maka kesalahan intepretasi akan terjadi. Begitu juga dengan komputer jika memproses informasi yang kurang jelas. Kesalahan intepretasi akan terjadi sehingga kinerjanya pun tidak bisa diandalkan. Untuk mencegah hal-hal kesalahan atau kekurangan informasi, maka banyak peneliti yang mengadakan penelitian tentang teknik-teknik yang dapat digunakan dan juga efektif dalam melakukan ekstraksi fitur.
44
Setelah proses ekstraksi fitur dilakukan, untuk proses pengenalan pola bisa digunakan metode pengenalan pola, seperti neural network, dan atau fuzzy logic. Fitur hasil ekstraksi akan dijadikan sebagai inputan untuk pengklasifikasian. Dalam neural network, fitur-fitur ekstraksi dijadikan sebagai inputan di layer pertama yang selanjutnya akan diproses dalam hidden-hidden layer berikutnya sampai mendapatkan nilai output untuk proses pengklasifikasian.
2.4.4 Recognition M asalah klasik dalam computer vision adalah menentukan apakah data gambar tersebut memiliki objek spesifik, fitur atau aktivitas menurut wikipedia. Bagian ini dapat diselesaikan tanpa bantuan manusia, tetapi hasilnya masih belum dapat dibilang memuaskan dalam berbagai objek dan situasi. M etode-metode yang ada dikembangkan untuk keperluan pekerjaan tertentu / pekerjaan spesifik, seperti pengenalan wajah manusia, pengenalan karakter, pengenalan tulisan, pembaca nomor plat kendaraan, dll. Contohnya pada aplikasi pengenalan karakter, aplikasi ini berfungsi untuk membaca karakter-karakter yang ada dari suatu citra. Citra itu didapat dari alat optik seperti kamera dan scanner. Oleh karena itu, pengenalan karakter sering disebut sebagai Optical Character Recognition (OCR). Pengenalan karakter ini dilakukan dengan mengambil fitur yang telah ditentukan sebelumnya lalu diklasifikasikan menurut teknik AI yang digunakan, seperti jaringan saraf tiruan atau fuzzy logic.
45
2.5 Citra (Image) Citra dapat didefinisikan sebagai fungsi 2 dimensi, dimana x dan y adalah koordinat titik yang berisikan informasi-informasi intensitas dari citra itu sendiri. Citra digital terbentuk dari sejumlah elemen, dimana setiap elemen mempunyai lokasi dan nilai. Elemen yang dimaksud dalam citra digital adalah piksel. Nilai yang terkandung dalam tiap piksel disebut intensitas. Adapun struktur pada citra digital berupa matriks dimana nilai dari matriks tersebut dapat diakses melalui indeksnya (baris dan kolom). Berikut ini adalah beberapa format dari citra digital : -
Tagged Image Format (.tif, .tiff) ‐ sering digunakan dalam format citra, karena
mendukung
citra
compressed
(berbagai
metode)
dan
uncompressed. -
Portable Network Graphics (.png) ‐ mendukung citra grayscale dan warna. M endukung alpha channel.
-
JPEG (.jpg) ‐ paling banyak digunakan untuk transmisi citra, lossy encoding berdasarkan parameter kualitas
-
MPEG (.mpg) ‐ paling banyak digunakan untuk video di web
-
Graphics Interchange Format (.gif) ‐ palet warnanya hanya 8‐bit
-
RGB (.rgb) ‐ berkas citra berwarna standar dari Silicon Graphics
-
Postscript (.ps, .eps, .epsf) ‐ paling populer untuk citra / grafik dari buku untuk dicetak. Citra level keabuan dinilai dengan desimal atau hexadesimal, dikode secara ASCII.
Pada proses penangkapan citra, intensitas diperoleh dari cahaya yang dipantulkan. Sumber cahaya menerangi objek, dan objek memantulkan kembali
46
sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai, dan sebagainya, sehingga bayangan objek, yang disebut citra, terekam. Ketika objek tersebut terekam, intensitas cahaya yang tertangkap diubah menjadi nilai-nilai intensitas sehingga citra tersebut dapat ditampilkan dalam alat elektronik, seperti komputer. Proses mengkonversi objek yang ditangkap oleh alat sensor menjadi citra digital diperlukan 2 proses, yaitu : 1.
Sampling Sampling merupakan proses awal dalam proses pengkonversian objek
menjadi citra digital. Proses sampling berfungsi untuk mendijitasi nilai koordinat objek menjadi koordinat raster. Proses ini yang menentukan besar kecilnya ukuran citra. Contoh pada gambar dibawah, gambar asli (sebelah kiri) dikonversi menjadi gambar dengan ukuran 10x10 piksel.
Gambar 2.13 : Citra dan hasil sampling-nya 2.
Kuantisasi Kuantisasi merupakan proses lanjutan setelah proses sampling. Proses
kuantisasi berfungsi untuk mendigitalisasi nilai intensitas (amplitudo) objek pada piksel yang di sampel atau dengan kata lain memberikan nilai pada piksel.
47
Contoh level kuantisasi pada suatu citra.
Gambar 2.14 : Citra dan hasil kuantisasinya Contoh sampling dan kuantisasi pada suatu citra
Gambar 2.15 : Proses sampling
Gambar 2.16 : Proses kuantisasi
48
M eskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu, seperti warnanya terlalu kontras, kurang tajam, kabur dan sebagainya. Citra yang seperti ini tentu saja lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut kurang. A gar citra yang mengalami gangguan mudah diinterpretasi, maka citra tersebut perlu dimanipulasi menjadi citra yang kualitasnya lebih baik. Proses manipulasi citra digital dilakukan dengan teknik pengolahan citra (Image Processing).
2.5.1 Elemen pada citra digital Elemen-elemen yang terkandung dari sebuah citra adalah : 1.
Kecerahan Î
2.
Intensitas cahaya
Kontras Î
Sebaran terang dan gelap dalam sebuah citra. Citra kontras rendah : komposisi sebagian besar terang atau sebagian besar gelap.
3.
Kontur Î
Keadaan yang ditimbulkan oleh perubahan intensitas pada piksel-piksel yang bertetangga dan mendeteksi tepi (edge) objek dalam citra.
4.
Warna Î
Persepsi yang dirasakan mata terhadap panjang gelombang cahaya λ yang dipantulkan objek. Panjang gelombang tertinggi : merah, terendah : ungu (violet).
49
5.
Bentuk Î
Citra yang terlihat mata adalah citra 2D, sedangkan objek aslinya adalah 3D. Informasi bentuk objek diperoleh dari citra yang ditangkap sistem visual.
6.
Tekstur Î
Distribusi spasial dari derajat keabuan didalam sekumpulan piksel yang bertetangga. Sistem visual manusia tidak menerima informasi per piksel.
2.5.2 Jenis citra digital Citra digital dapat dikelompokan menjadi dua menurut jumlah tingkat kuantitas dan warnanya, yaitu: a.
Citra raster, yaitu citra yang disimpan dalam bentuk array dari
piksel. Pada citra raster, banyaknya kemungkinan warna dalam satu piksel disebut dengan sebutan kedalaman warna (color depth) b.
Citra vektor, yaitu citra yang disimpan dalam bentuk geometri,
seperti baris, lengkung dan berbagai bentuk geometri lainnya.
2.5.2.1 Citra Raster Citra rastrer
terdiri atas
titik-titik
individual,
tiap
titik
menunjukkan secara tepat warna, ukuran dan posisi pada citra. Citra raster banyak dikenal dengan nama citra Bit-mapped. Sejumlah besar representasi citra di komputer berbentuk citra raster yaitu representasi citra secara elektronik dimana citra tersebut disimpan sebagai larik
50
larik dimensi yang berisi harga-harga tingkat keabuan. Citra-citra raster ini menghabiskan banyak memori untuk memprosesnya, menghabiskan banyak tempat untuk proses-proses tertentu, tetapi citra raster atau bit-mapped mampu untuk menunjukan kehalusan gradasi dan warna dari sebuah citra. Oleh karena itu, citra bitmap paling tepat untuk gambar dengan gradasi warna yang rumit seperti foto atau lukisan. Namun kelemahan dari citra raster adalah, format bitmap sangat tergantung pada resolusi gambar, yang artinya citra memiliki piksel yang tetap, yang mengakibatkan gambar bisa terlihat seperti kotakkotak (jagged) bila resolusi diperbesar atau diperkecil. Untuk citracitra yang hanya terdiri dari garis-garis seperti teks (cetakan maupun tulisan tangan), peta, grafik, berbagai macam tabel, angka-angka, dan simbol matematis dapat dilakukan proses vektorisasi yaitu proses yang mengubah citra raster ke citra vektor. Proses vektorisasi ini mencari sekelompok piksel yang memenuhi persamaan garis Y = mX + b dengan faktor kesalahan tertentu untuk m dan b, dimana X dan Y adalah koordinat vertikal dan horisontal dari piksel. Proses ini menghasilkan citra vektor yang hanya menyimpan posisi titik awal dan titik akhir dari vektor-vektor di dalam citra tersebut sehingga menghemat memori dan proses seperti rotasi, pengskalaan, dan translasi dapat dilaksanakan jauh lebih cepat.
51
Citra raster dibagi kedalam: a)
Citra biner (binary image), yaitu citra dimana setiap
pikselnya hanya memiliki dua kemungkinan warna yaitu hitam atau putih. b)
Citra keabuan (grayscale), yaitu citra yang memiliki
tingkat kuantisasi lebih dari dua c)
Citra warna (true color), yaitu citra yang setiap pikselnya
selain memiliki nilai tingkat kuantisasi juga memiliki nilai warna. Citra warna memiliki komponen RGB (Red, Green, Blue) Semua warna yang ada merupakan perpaduan dari 3 macam warna primer, yaitu : ‐
Warna merah
‐
Warna Hijau
‐
Warna biru
Perpaduan dari ketiga warna ini dipakai pada sistem warna RGB. Bila ketiga warna primer ini dicampur, maka akan dihasilkan suatu warna tertentu, tergantung dari komposisi ketiga warna primer tersebut. Gambar pada sistem digital dapat diwakili dengan format RGB untuk setiap titiknya, dimana setiap komponen R, G, dan B mempunyai variasi dari 0 sampai 255. Total variasi yang dihasilkan untuk sistem digital ini adalah 256 x 256 x 256 atau 16.777.216 jenis warna. Karena setiap warna diwakili dengan satu byte atau delapan bit,
52
maka total bit yang digunakan untuk mempresentasikan warna RGB adalah 8 + 8 + 8 atau 24 bit. Kalkulasi pada pemrosesan gambar dengan sistem RGB sangat memboroskan memori pada komputer dan juga boros waktu, untuk itu diperlukan reduksi warna. Dalam pemrosesan gambar terutama pengenalan objek, sistem RGB sendiri tidaklah memberikan respon yang baik, sehingga digunakan sistem format grayscale atau gray level, dimana format gambar warna dikonversi menjadi format gambar abu-abu. Sistem grayscale memerlukan 1 byte atau delapan bit untuk penyimpanan data, mempunyai kemungkinan warna dari 0 (hitam) sampai 255 (putih).
2.5.2.1.1 Citra Biner Citra biner merupakan citra yang telah melalui proses pemisahan piksel-piksel berdasarkan derajat keabuan yang dimiliki. Pembentukan citra biner memerlukan nilai batas keabuan yang akan digunakan sebagai nilai patokan. Piksel dengan derajat keabuan lebih besar dari nilai batas akan diberi nilai 1 dan sebaliknya piksel dengan derajat keabuan lebih kecil dari nilai batas akan diberi nilai 0.
........(2.23)
53
Gambar 2.17 : Citra dan nilai binernya
2.5.2.1.2 Citra Keabuan Seperti yang telah dijelaskan diatas, bahwa citra dapat terbagi menjadi tiga, yaitu citra warna (true color), citra keabuan (grayscale), dan citra biner. Citra biner adalah citra yang hanya memiliki dua jenis warna yaitu hitam dan putih atau 0 dan 1. Berbeda dengan citra biner, citra keabuan memiliki kemungkinan warna yang lebih banyak dari citra biner. Banyaknya kemungkinan warna pada citra keabuan bergantung pada jumlah bit
yang
digunakan. Sebagai contoh, jika suatu citra memiliki nilai 8 bit, maka kemungkinan warna yang dapat tercapai adalah 28 = 256 warna. Format citra ini disebut sebagai skala keabuan, karena memiliki nilai minimum yang dimilikinya adalah warna hitam, nilai maksimumnya adalah warna putih, dan nilai diantaranya adalah warna abu-abu.
54
Gambar 2.18 : Citra keabuan
2.5.2.1.3 Citra Warna Setiap citra warna,memiliki piksel yang terdiri dari tiga warna yang spesifik, yaitu merah, hijau, dan biru. Format citra ini disebut dengan citra RGB (Red, Green, Blue). Setiap warna dasar memiliki intensitasnya sendiri dengan nilai minimum 0 dan nilai maksimum 255 (8 bit). Sebagai contoh, warna kuning merupakan kombinas i RGB-nya adalah 255 255 0. Dari contoh diatas, dapat kita lihat bahwa sebuah piksel dari citra warna akan membutuhkan ukuran data 3 byte. Jumlah kombinasi warna yang mungkin dari sebuah citra adalah 224 atau lebih dari 16.000.000 warna. Hal inilah yang membuat citra warna disebut dengan
istilah true color, karena
dianggap telah mencakup seluruh warna yang ada.
55
Gambar 2.19 : Citra warna
2.5.2.2 Citra Vektor Citra bertipe vektor adalah citra yang dibentuk oleh objek berupa garis dan kurva berdasarkan rumus matematika. Citra vektor menampilkan
sebuah
citra berdasarkan
perhitungan
koordinat
geometris gambar tersebut dan kualitas tampilan citra vektor tidak bergantung pada resolusi gambar. Citra vektor merupakan pilihan terbaik ketika harus menampilkan
gambar-gambar yang harus bisa
dipertahankan ketajaman serta kehalusannya. Citra vektor itu sendiri hanya memerlukan tempat penyimpanan yang relatif kecil, dan cocok untuk gambar-gambar sederhana yang tidak rumit pewarnaannya. Dalam bentuk file, citra vektor memiliki format :
‐
Eps (Encapsulated postscript), dan
‐
Wmf (Windows metafile).
56
2.6 Surat Pesanan Surat pesanan adalah sebuah dokumen yang dikirimkan oleh pihak pemesan (konsumen atau distributor) kepada penyedia (supplier) perihal permintaan pembelian barang. Dengan adanya surat pesanan ini, maka terjadi hubungan antar kedua belah pihak, penyedia dan pemesan, dimana pihak pemesan meminta baran g yang ada pada surat pesanan itu untuk disediakan dan dikirimkan pada pihak pemesan dalam jangka waktu yang telah ditentukan. Isi yang umum tertera didalam surat pesanan yaitu informasi nama dan alamat pemesan dan penyedia, tanggal, nomor surat, dan deskripsi produk yang dipesan beserta jumlah dan harganya. Setelah surat pesanan masuk, maka pihak penyedia akan menyiapkan barangbarang yang dipesan disertai dengan surat jalan, yaitu surat yang menerangkan bahwa barang-barang yang dikirim merupakan barang-barang yang dipesan dari surat pesanan yang dikirimkan oleh pemesan. Sering kali yang menjadi masalah adalah jangka waktu yang diminta tidaklah panjang (barang-barang yang dipesan harus dikirim dalam jangka waktu singkat). Setelah pihak penyedia menyiapkan barang-barang pesanan tersebut, pihak penyedia harus menyertakan surat jalan sebagai surat penyerta pengiriman barang. Biasanya pembuatan surat jalan ini masih diketik ulang. Tentu pekerjaan manual ini memakan banyak waktu. Setelah barang dan surat jalan disiapkan, kemudian barang dan surat jalan itu dikirimkan kepada pemesan. Lalu pihak penyedia akan melanjutkan urutan proses bisnis lainnya seperti pembuatan surat tagihan, dll. Untuk mempercepat proses pembacaan surat pesanan yang masuk, sistem pengenalan karakter dapat digunakan. Sistem ini akan sangat membantu
57
pengerjaan pengetikan surat pesanan yang datang, sehingga dapat mempercepat proses pengetikan dan tentunya akan menghemat waktu pekerjaan.
Gambar 2.20 : Alur Proses Pemesanan dan Pengiriman Barang