bab 2 kajian pustaka 2.1 artificial intelligent...

50
BAB 2 KAJ IAN 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. 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

Upload: hoangthu

Post on 24-Mar-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

  

  

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

  

  

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