BAB 2 KAJIAN PUSTAKA 2.1 Artificial Intelligent...
Transcript of BAB 2 KAJIAN PUSTAKA 2.1 Artificial Intelligent...
8
BAB 2
KAJIAN PUSTAKA
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. Masih 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 teknik-
teknik 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 Mark I di University of
Manchester (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 McCarthy 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 Mises 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
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 Moravec 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 1990-
an 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
dengan pikiran manusia, seperti membuat
keputusan, menyelesaikan masalah, dan
pembelajaran (Bellman, 1978)
Studi tentang perhitungan yang
memungkinkan untuk melihat, akal, dan
bertindak (Winston, 1992)
Sistem yang bertindak seperti manusia Sistem yang bertindak rasional
Studi tentang bagaimana membuat
komputer melakukan hal-hal yang, pada
saat ini, orang-orang yang lebih baik (Rich
dan Knight, 1991).
Cabang ilmu komputer yang berkaitan
dengan otomatisasi perilaku cerdas (Luger
dan Stubblefield, 1993)
2.1.3 AI dan O tak Manusia
Menurut 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
Mikroprosesor Otak Manusia
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. Manusia
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. Manusia 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.
Mentransfer 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.
Menyediakan 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 Monitoring
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 pekerjaan-
pekerjaan 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 Computing
Menurut 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.
Metode-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 (JST) adalah sistem pemrosesan informasi yang memiliki
karakteristik mirip dengan jaringan saraf biologi (jaringan saraf manusia).
Beberapa karakteristik jaringan saraf biologi yang diadopsi oleh JST :
- Memiliki elemen pemrosesan (neuron) dalam jumlah yang masif.
- Neuron-neuron bekerja secara paralel.
- Memiliki 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 JST, 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 : Multilayer network
22
b. Metode 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” JST
untuk mengenali input yang dimasukkan beserta output hasil keluarannya.
Pada setiap kali pelatihan, suatu input diberikan ke JST. 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 Mc 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 :
11 …………… 2.3
Fungsi sigmoid bipolar dinotasikan dengan :
11 ………… 2.4
.
Gambar 2.4 : Grafik Sigmoid Biner dan Bipolar
Hingga kini terdapat lebih dari 20 model JST. Masing-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
Model yang masuk kategori ini antara lain ADALINE, Hopefield,
Perceptron, LVQ, dll.
b. Multi Layer Networks
Model 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 , dihitung faktor
1, 2, … , yang dipakai untuk mendistribusikan kesalahan di ke
semua unit di hidden layer yang terhubung langsung dengan .
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
11 _ ……… 2.6
Langkah 5 : Hitung semua keluaran jaringan di unit
1, 2, … ,
29
_ ……… 2.7
11 _ ………… 2.8
Fase II : Backward
Langkah 6 : Hitung faktor δ unit keluaran berdasarkan kesalahan
di setiap unit keluaran 1, 2, … ,
′ _ 1 ……… 2.9
merupakan unit kesalahan yang akan dipakai dalam perubahan
bobot layar sebelumnya (langkah 7)
Hitung suku perubahan bobot (yang akan dipakai nanti untuk
merubah bobot ) dengan laju percepatan α
α ; 1, 2, … , ; 0,1, … , …… 2.10
Langkah 7 : Hitung faktor δ unit tersembunyi berdasarkan
kesalahan di setiap unit tersembunyi 1, 2, … , )
_ ……… 2.11
Faktor δ unit tersembunyi :
_ ′ _ _ 1 ………… 2.12
Hitung suku perubahan bobot (yang akan dipakai nanti untuk
merubah bobot )
α ; 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 dianalisa
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. Maka 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. Manusia 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. Memperoleh citra digital
2. Melakukan teknik komputasi untuk memproses atau memodifikas i
data citra
3. Menganalisa 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)
Menggunakan 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 masing-
masing piksel adalah :
GRAYSCALE = ..........(2.18)
Menggunakan 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 pra-
pengolahan 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 batas-
batas 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
Masalah 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. Metode-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. Mendukung 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
Meskipun 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. Agar 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
Intensitas cahaya
2. 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 kotak-
kotak (jagged) bila resolusi diperbesar atau diperkecil. Untuk citra-
citra 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 barang-
barang 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