7
BAB 2
LANDASAN TEORI
Pada bab ini diuraikan tentang definisi, teori, konsep yang terkait dengan Artificial
Intelligence (kecerdasan buatan), Image Processing (pemrosesan citra) dan Expert System
(sistem pakar), sebagai landasan dalam merancang sistem pengenalan dan penentuan
kesesuaian kondisi akuarium ikan hias air laut.
2.1 Kecerdasan Buatan
Teori mengenai kecerdasan buatan terdiri Definisi Kecerdasan Buatan,
Perbandingan Kecerdasan Buatan dan Kecerdasan Alami, serta Lingkup Kecerdasan
Buatan.
2.1.1 Definisi Kecerdasan Buatan
Kecerdasan buatan merupakan bagian dari ilmu komputer yang digunakan
untuk menciptakan perangkat lunak dan perangkat keras dengan tujuan untuk
menghasilkan sesuatu seperti yang dihasilkan oleh manusia. Definisi – definisi
tentang kecerdasan buatan, antara lain :
a. Luger dan Stubblefield (Turban dan Frenzel, 1992, p3).
Kecerdasan buatan adalah cabang dari ilmu komputer yang berkaitan dengan
perilaku dari kecerdasan.
b. Rich dan Knight (Turban dan Frenzel, 1992, p3).
Kecerdasan buatan adalah salah satu bagian dari ilmu komputer yang
membuat komputer dapat melakukan pekerjaan seperti dan sebaik yang
8
dilakukan oleh manusia.
Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang
sangat dibutuhkan, yaitu :
1) Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan
hubungan antara satu dengan lainnya.
2) Mesin Inferensi (Inference Engine), yaitu kemampuan untuk menarik
kesimpulan berdasarkan pengalaman yang diperoleh sebelumnya.
Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer
2.1.2 Kecerdasan Buatan dan Kecerdasan Alami
Menurut Turban dan Frenzel (1992), jika dibandingkan dengan kecerdasan
alami, kecerdasan buatan memiliki beberapa keuntungan secara komersil,
diantaranya :
a. Kecerdasan buatan lebih permanen dalam knowledgenya. Kecerdasan alami
akan mengalami perubahan yang cepat. Hal ini disebabkan karena sifat
manusia yang pelupa (lupa akan suatu hal). Kecerdasan buatan tidak akan
berubah sepanjang sistem komputer dan program tersebut tidak dirubah.
b. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer
pengetahuan manusia dari satu orang ke orang lain membutuhkan waktu
proses yang sangat lama, dan juga keahlian itu tidak akan pernah diduplikasi
9
secara lengkap. Oleh karena itu, jika pengetahuan terletak pada suatu sistem
komputer, pengetahuan tersebut dapat disalin dari komputer dan dipindahkan
dengan mudah kedalam komputer lainnya.
c. Kecerdasan buatan lebih murah dibandingkan dengan kecerdasan alami.
Menyediakan layanan komputer akan lebih mudah dan lebih murah
dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan
sejumlah pekerjaan dalam jangka waktu yang sangat lama.
d. Kecerdasan buatan lebih bersifat konsisten. Hal ini disebabkan karena
kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan
kecerdasan alami yang merupakan bagian dari manusia akan senantiasa selalu
berubah-ubah.
e. Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat oleh
komputer dapat didokumentasikan dengan mudah dengan cara melacak setiap
aktivasi dari sistem tersebut. Kecerdasan alami sangat sulit untuk
direproduksi.
f. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibandingkan
dengan kecerdasan alami.
g. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibandingkan
dengan kecerdasan alami.
Keuntungan dari kecerdasan alami adalah :
1) Kecerdasan alami sangat kreatif. Kemampuan untuk menambah ataupun
memenuhi pengetahuan sangat melekat pada jiwa manusia. Pada kecerdasan
buatan, untuk menambah pengetahuan harus dilakukan melalui sistem yang
10
akan dibangun.
2) Kecerdasan alami memungkinkan seseorang untuk menggunakan pengalaman
secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan
input–input yang simbolik.
3) Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan
sangat terbatas.
2.1.3 Lingkup Kecerdasan Buatan
Lingkup utama dalam kecerdasan buatan menurut Turban dan Frenzel
(1992) adalah :
a. Sistem Pakar (Expert System). Komputer digunakan sebagai suatu sarana
untuk menyimpan pengetahuan dari para pakar untuk dapat digunakan
dikemudian hari sebagai suatu sistem yang akan membantu bagi pengguna.
Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan
permasalahan dengan menggunakan dan meniru keahlian yang dimiliki oleh
pakar yang telah disimpan tersebut.
b. Pengolahan Bahasa Alami (Natural Languange Processing). Dengan
pengolahan bahasa alami ini diharapkan pengguna dapat berkomunikasi
dengan komputer menggunakan bahasa yang digunakan oleh pengguna sehari-
hari.
c. Pengenalan Ucapan (Speech Understanding). Melalui pengenalan ucapan
diharapkan manusia dapat berkomunikasi dengan komputer dengan
menggunakan suara.
d. Robotika dan Sistem Sensori (Robotic and Sensory System). Dengan
11
robotika dan sistem sensori membuat komputer menjadi suatu sistem yang
dapat meniru pergerakan dari manusia.
e. Computer Vision dan Scene Recognition. Mencoba untuk dapat
menginterpretasikan gambar atau obyek-obyek yang terlihat melalui
komputer.
f. Intelligent Computer-aided Instruction. Komputer dapat digunakan
sebagai tutor yang dapat melatih dan mengajar kepada manusia atau
pengguna.
2.2 Computer Vision
Computer Vision atau juga disebut machine vision adalah ilmu pengetehuan
yang mengembangkan teori-teori dan algoritma dimana informasi yang berguna
mengenai dunia dapat secara otomatis diekstraksi dan dianalisis dari sebuah citra
penelitian, sekumpulan citra, atau citra yang berurutan dari sebuah komputasi yang
dibuat oleh komputer.
Computer Vision berhubungan dengan otomatisasi interpretasi citra untuk
membuat berbagai pengukuran yang objektif atau untuk meningkatkan visibilitas
ketelitian.
Computer Vision oleh beberapa ahli didefinisikan sebagai berikut :
• Michael C. Fairhurst (1995)
Computer Vision sesuai dengan sifatnya, merupakan suatu subjek yang
merangkul berbegai disiplin tradisional secara luas guna mendasari prinsip-
prinsip formalnya, dan dalam mengembangkan suatu metodologi yang berlainan
12
dari apa yang dimilikinya, pertama-tama harus menggabungkan dan secara
berurutan membangun materi yang mendasari ini.
• Adrian Low (1991)
Computer Vision berhubungan dengan perolehan gambar, pemrosesan,
klasifikasi, pengenalan, dan menjadi penggabungan, pengurutan pembuatan
keputusan menuju pengenalan.
• J. R. Parker (1994)
Computer Vision menyangkut pengekstrakan informasi dari citra, dan dalam
identifikasi dan klasifikasi objek-objek dalam citra. Masalah umum dari
Computer Vision adalah manusia tidak tahu bagaimana mereka mengenali objek-
objek.
2.2.1 Teori Pengenalan Objek
Dalam kehidupan sehari-hari manusia melihat dan mengenali berbagai
bentuk objek disekitarnya. Objek dikenali berdasarkan perbedaan titik-titik
(dari sisi depan, samping dan belakang) pada tempat yang berbeda dan ukuran
yang berbeda. Ada beberapa teori pengenalan objek, masing-masing dengan
cara pengenalan yang berbeda, diantaranya PFT (Particulate Feature Theory)
dan RBC (Recognition by Components).
PFT merupakan teori pengenalan objek dimana objek hanya dilihat
secara lokal saja, jika seluruh keistimewaan lokal dipenuhi maka objek tetap
dikenali dengan tidak mempertimbangkan hubungan antar komponen lokal
yang seharusnya dipenuhi. Sebagai ilustrasinya, suatu objek tetap dikenali
13
sebagai manusia ketika komponen-komponennya dapat dikenali (adanya
kepala, badan dan kaki) walaupun hubungan antar komponennya tidak sesuai
dengan yang seharusnya (misalnya, kepala di bawah, kaki di tengah dan badan
di atas).
RBC adalah sebuah teori tentang pengenalan objek pada manusia yang
bekerja untuk keberhasilan identifikasi objek meskipun terdapat perubahan
dalam ukuran atau orientasi objek.
Dalam hal ini RBC merupakan penerapan pengenalan PFT tetapi
dengan mempertimbangkan hubungan komponen-komponen lokal yang harus
dipenuhi agar suatu objek dapat dikenali secara tepat. Jika dikenali sebagai
manusia tetapi harus dipenuhi agar suatu objek dapat dikenali secara tepat.
Jika dikenali sebagai manusia tetapi memiliki kaki di atas, kepala di bawah
dan kepala di antaranya maka pengenalan tersebut adalah pengenalan yang
salah. RBC tidak akan mengenali objek seperti itu sebagai manusia, karena
selain melakukan pengenalan lokal juga pengenalan secara global.
2.2.2 Pengertian Citra pada Computer Vision
• Pearson (1991)
Citra adalah representasi 2 dimensi dari dunia visual, menyangkut
berbagai macam disiplin ilmu yang mencakup seni, human vision,
astronomi, teknik dsb. Citra merupakan sutu kumpulan piksel-piksel atau
titik-titik yang berwarna yang membentuk 2 dimensi.
• Michael C. Fairhurst (1995)
14
Citra adalah suatu fungsi 2 dimensi, dimana harga-harga fungsi tersebut
f(x,y) pada koordiat spasial (x,y) di bidang x-y mendefinisikan suatu
ukuran intensitas cahaya atau kecemerlangan titik tersebut.
• Foley, James D (1996, p816)
Citra adalah array dari nilai-nilai dimana sebuah nilai adalah sekumpulan
angka yang mendeskripsikan atribut dari piksel di dalamnya.
• J.R Parker (1994)
Sebuah gambar yang tersimpan dalam komputer adalah 2 dimensi dan
terbatas pada 2 dimensi itu, terdiri dari sejumlah warna atau tingkat
keabuan. Gambar itu juga tersimpan dalam bentuk numerik. Representasi
dari yang mengkarakterisasi semua properti diatas disebut raster image
dan itu adalah cara yang paling umum dalam menyimpan gambar dalam
komputer. Raster image juga dikenal sebagai format image bitmap,
dimana format ini sering digunakan pada foto hasil kamera digital. Ukuran
dari format ini adalah yang terbesar diantara format-format gambar lain
seperti GIF (Graphic Interchange Format), JPEG (Joint Photographic
Expert Group) dan PNG (Portable Network Graphic), karena pada format
ini tidak dilakukan kompresi.
• Wolfram Research, Inc. (2002)
Citra digital adalah sinyal diskrit 2 dimensi. Secara matematis, sinyal ini
dapat dipresentasikan sebagai fungsi dari variabel-variabel 2 dimensi.
Setiap elemen array disebut piksel.
15
• Anonymous (2001)
Suatu citra yang menggambarkan “dunia nyata” dianggap sebagai suatu
fungsi dari 2 variabel, sebagai contoh, a(x,y) dimana a adalah brightness
dari citra yang terletak pada posisi koordinat (x,y).Citra 2 dimensi a(x,y)
ini dibagi menjadi N baris dan M kolom. Pemotongan dari baris dan
kolom disebut piksel. Nilai yang terdapat pada koordinat [m,n] dengan
{m=0,1,2,...,M-1} dan {n=0,1,2,...,N-1} adalah a[m,n]. Dalam beberapa
kasus a(x,y) adalah sebuah fungsi dengan variabel seperti depth(z),
color(λ) dan time(t).
• Windows XP Experiences Glossary
“A stored description of a graphic picture, either as a set of brightness
and color values of pixels or as a set of instruction for reproducing the
picture”. Dimana citra adalah deskripsi dari gambar grafik yang tersimpan
sebagai kumpulan nilai warna dan tingkat cahaya dari piksel atau
kumpulan instruksi untuk mengasilkan gambar.
Berdasarkan pengertian citra pada Computer Vision diatas maka dapat
disimpulkan bahwa citra pada Computer Vision adalah citra yang terdiri dari
array 2 dimensi dari titik-titik piksel.
Dimana definisi piksel itu sendiri menurut para ahli adalah :
Michael C. Fairhurst (1995)
Piksel adalah titik pada suatu citra yang telah didigitkan secara spasial dan
terdiri dari NxN sampel yang terdistribusi secara sama.
16
J.R Parker (1994)
Piksel adalah bagian array 2 dimensi dari suatu raster image. Setiap
piksel merepresentasikan warna atau tingkat keabuan dan terletak pada
posisi vertikal dan horizontal, atau yang lebih dikenal dengan baris dan
kolom.
Murni (1992)
Piksel (picture element) merupakan bagian terkecil dari gambar yang
mengandung informasi.
Adrian Low (1991)
Piksel dianggap sebagai bagian terkecil dari citra. Dapat berupa logic
maupun fisik. Dengan kata lain dapat berupa lokasi elemen dari suatu citra
atau menampilkan salah satu dari tingkat keabuan.
Oliver (1996)
Piksel adalah titik yang merupakan penyusun dari citra yang ditampilkan
komputer.
2.2.3 Representasi Citra
Menurut J.R Parker (1994), hal-hal yang harus dibuat agar suat gambar
dapat tampil pada komputer adalah resolusi.
Setiap piksel merepresentasikan area kecil dari gambar aslinya dan
tidak ada yang lebih kecil daripada piksel. Ukuran dari piksel bergantung pada
jumlah piksel yang dibutuhkan untuk merepresentasikan gambar dan
17
medefinisikan resolusi dari suatu gambar. Sebuah gambar yang beresolusi
tinggi, terdiri dari sejumlah piksel, dimana masing-masing meyimpan daerah
kecil dari gambar. Sebuah gambar yang beresolusi rendah, terdiri dari piksel
yang berjumlah lebih sedikit, dimana masing-masing menyimpan daerah yang
lebih besar dari setiap gambar.
Pada image bitmap keanekaragaman warna diperoleh dari perpaduan
nilai dari masing-masing unsur warna R, G dan B dimana pada umumnya
bernilai dari 0 sampai 255 atau bisa dikatakan merupakan format piksel 24-bit.
Hal ini dikarenakan masing-masing unsur R,G dan B mempunyai nilai sebesar
yang menghasilkan kombinasi warna sebanyak
warna. Menurut Oliver (1996, p566), pada
model piksel RGB direpresentasikan dengan 24-bit warna. 8-bit untuk masing-
masing R,G dan B. Dengan ini masing-masing warna R,G dan B memiliki 256
tingkatan intensitas, yang menghasilkan sekitar 16 juta kombinasi warna.
2.2.4 Pengolahan Citra
Pengolahan citra adalah suatu pernyataan yang digunakan untuk
menggambarkan operasi-operasi yang dilakukan pada suatu citra, dengan
sasaran mencapai tujuan tertentu.
Menurut Murni (1992), pengolah citra merupakan peningkatan mutu
citra yang bertujuan untuk memperbaiki mutu citra untuk memperoleh
keindahan gambar, untuk kepentingan analisa citra dan untuk mengoreksi citra
18
dari segala gangguan yang terjadi sewaktu perekaman data. Ada tiga bagian
yaitu :
a. Peningkatan tingkat keabuan citra
Bertujuan meningkatkan mutu suatu citra melalui perbaikan kontras.
b. Filtering
Bertujuan menanggulangi gangguan seperti :
• Gangguan bersifat frekuensi rendah, dimana terjadi proses
pemerataan intensitas cahaya pada suatu titik sampel dengan titik-titik
tetangganya.
• Terjadinya gangguan berbentuk garis-garis sebagai akibat adanya
kerusakan sebagian detektor sensor.
• Gangguan dalam bentuk bercak hitam yang acak.
c. Transformasi 2 dimensi dan koreksi geometri
a) Transformasi 2 dimensi
Umumnya untuk gangguan bersifat sederhana dan bersifat linier.
Gangguan ini terjadi karena adanya :
• Pergeseran pusat
• Perubahan ukuran citra
• Perubahan oriantasi koordinat citra atau skewed
Untuk mengatasinya maka diberlakukan transformasi 2 dimensi yaitu :
• Rotasi citra
• Skala citra
19
• Translasi citra
b) Koreksi geometri
Meningkatkan mutu citra dengan ketelitian yang tinggi, misalnya
untuk pembentukan peta dasar.
Menurut Allan Hanbury (1998), pengolahan citra secara kasar dibagi
menjadi 3 bagian, yaitu : Image Compression, Image Enhancement and
Restoration, Measurement Extraction.
Image Compression mengurangi jumlah memori yang dibutuhkan
untuk menampilkan gambar digital. Sedangkan Image Enhancement and
Restoration berguna untuk perbaikan gambar.
Image Measurement Extraction operation digunakan untuk mengambil
informasi yang berguna dari citra, tujuannya adalah untuk mencari distribusi
luas dari objek yang terdapat pada citra tersebut. Langkah pertama adalah
memisahkan objek dengan background, dengan mengunakan teknih
thresholding dimana men-set nilai piksel yang diatas (atas sebagai objek dan
bawah sebagai background) menjadi warna putih dan sisanya sebagai warna
hitam.
Menurut Anonymous (2001) pengolahan citra adalah teknologi digital
modern yang dapat memanipulasi sinyal multi dimensi dengan sistem yang
berjangkauan dari sirkuit teknologi sederhana sampai paralel komputer
canggih. Teknologi ini memanipulasi citra dan hasil manipulasi juga berupa
citra.
20
2.2.5 Grayscale (tingkat keabuan)
Mencari tingkat keabuan adalah proses pengubahan warna citra
menjadi format warna yang hanya berdasarkan tingkat keabuan. Proses ini
menghilangkan informasi hue dan saturation dari piksel dan hanya
meninggalkan nilai brightness. Setiap piksel dari tingkat keabuan citra
memiliki nilai brightness antara 0 (hitam) sampai 255 (putih). Foto hitam putih
merupakan contoh umum dari model warna tingkat keabuan. Walaupun
disebut hitam puti, sesungguhnya foto tersebut terbentuk dari banyak warna
abu-abu yang berbeda.
Tujuan perhitungan tingkat keabuan adalah memudahkan proses
selanjutnya yaitu proses thresholding. Dengan algoritma perhitungan tingkat
keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (merah,
hijau dan biru) diubah menjadi warna dalam berbagai tingkat keabuan ( I )
dengan menjumlahkan nilai warna merah, hijau dan biru kemudian dibagi tiga
sehingga didapatkan nilai rata-rata dari ketiga warna.
Gambar 2.2 Nilai Tingkat Keabuan pada Adobe Photoshop
21
2.2.6 Binerisasi (Thresholding)
Thresholding adalah proses penyederhanaan citra dari tingkat kabuan
menjadi warna biner sehingga berdasarkan tingkat keabuannya piksel-piksel
dibagi menjadi latar dan objek interest.
Tujuan thresholding adalah untuk memisahkan objek dengan latar
belakang. Hal ini dilakukan dengan cara mengubah intensitas piksel-piksel
dari suatu citra yang ada menjadi hanya 2 intensitas yaitu hitam dan putih.
Thresholding dapat dikatakan sebagai modifikasi tingkat keabuan yang
mengubah intensitas-intensitas piksel yang ada, menjadi hanya 2 intensitas
saja, yaitu hitam dan putih.
Menurut Adrian Low (1991), thresholding mengubah dari tingkat
keabuan yang lama ke tingkat keabuan yang baru (hanya 2) jadi contrast antar
tingkat keabuan dapat ditingkatkan.
Menurut J.R Parker (1994), thresholding adalah mengubah citra
menjadi citra biner. Thresholding melihat pada setiap piksel kemudian
memutuskannya apakah dibuat putih (255) atau hitam (0). Keputusan ini
secara umum dibuat dengan cara membandingkan nilai numerik piksel dengan
nilai tertentu yang disebut nilai threshold. Jika nilai piksel lebih kecil daripada
nilai threshold, maka piksel tersebut diubah menjadi 0; sebaliknya yang lain
diubah menjadi 255. Hal ini juga dapat dilakukan sebaliknya.
Menurut Antti Nurminen (1996), thresholding merupakan cara
termudah untuk membagi citra tingkat keabuan. Dengan memilih suatu nilai
22
tertentu dan mengatur semua piksel yang bernilai di bawahnya menjadi 1
(putih) dan semua piksel diatasnya menjadi 0 (hitam), maka akan didapatkan
citra biner.
Menurut Ma Yi (1996), thresholding merupakan suatu cara untuk
menyingkirkan efek dari noise dan meningkatkan rasio signal-noise.
Menurut Anonymous (2001) thresholding merupakan teknik
memisahkan antara objek dan latar belakang. Teknik ini didasarkan pada
konsep sederhana. Sebuah parameter θ disebut brightness threshold dipilih dan
diterapkan pada citra a[m,n] sebagai berikut :
Jika hendak dipilih objek berwarna hitam dan latar belakang putih
maka :
Outputnya adalah label objek dan latar belakang yang dapat
direpresentasikan sebagai variabel Boolean “1” atau “0”. Secara prinsip,
kondisi ini juga bisa berlaku dengan properti lain ketimbang hanya dengan
brightness.
23
2.2.7 Kuantisasi Warna
Rgb2ind merupakan suatu image processing tool box yang berguna
untuk mengkonvert citra rgb, mengurangi jumlah warna di dalam proses
tersebut. Rgb mempunyai 2 metode pemrosesan yaitu kuantisasi dan pemetaan
colormap. Banyaknya warna dalam citra asli tergantung digunakan atau
tidaknya dithering. Metode yang berbeda akan menghasilkan hasil yang lebih
baik untuk citra yang berbeda.
1. Kuantisasi
Pendekatan ini melibatkan pemotongan warna rgb dalam jumlah daerah-
daerah yang lebih kecil dan memetakan semua warna yang ada dalam
sebuah daerah tersebut ke dalam nilai yang ada di tengah-tengah daerah
tersebut.
2. Colormap
Rgb2ind menggunakan pemetaan colrmap untuk mencari warna dalam
colormap yang dispesifikasikan yang cocok dengan warna pada citra rgb.
Metode ini berguna jika kita membuat citra dalam penampilan 8 bit, maka
kita dapat menghindari masalah warna dengan mengharuskan semuanya
menggunakan colormap yang sama.
3. Dithering
Fungsi rgb2ind akan melakukan dithering untuk meningkatkan resolusi
warna citra hasilnya. Dithering mengubah warna dari piksel yang
bertetangga, jadi warna rata-rata disekitar setiap piksel yang mendekati
24
citra aslinya. Dithering menyediakan resolusi warna tambahan dengan
spatial resolution.
2.2.8 Mengubah ke Daerah Warna Lain
Pada image processing tool box menyatakan warna dalam rgb baik
secara langsung, maupun tidak langsung. Tetapi ada model lain selain rgb
untuk merepresentasikan nilai warna-warna.
Fungsi rgb.hsv dan hxv.rgb mengkonversikan citra antara rgb dan
warna hue, saturation dan value (HSV). Daerah warna hsv sering digunakan
untuk mengambil warna (contoh paint dan inks) dari sebuah pallete warna,
sebab lebih mudah bereksperimen warna dengannya dari pada menggunakan
daerah warna rgb.
2.2.9 Edge Detection
Menurut Michael C. Fairhurst (1995), penurunan batas outline dari
objek dalam sebuah citra sama saja halnya dengan menandai tepi yang
membagi objek itu sendiri dari latar belakangnya. Algoritma yang
mengoperasikan demikian guna menandai piksel citra yang terletak pada suatu
tepi ini disebut dengan deteksi tepi.
Sebuah metode yang lazim menandakan adanya diskontinuitas
intensitas yang menandai tepi objek mencakup perhitungan sebuah gradien
terhadap intensitas citra, berdasarkan bahwa suatu gradien intensitas lokal
25
yang sangat tinggi menandai transisi intensitas mendadak, kelihatannya sangat
kuat menyatakan terjadinya diskontinuitas tepi.
Pada operator deteksi tepi, operator Sobel merupakan salah satu yang
patut dipertimbangkan, dimana operator ini mempunyai keuntungan dapat
menampung tingkat keterpaduan penghalusan bertetangga, sebagai tambahan
terhadap fungsi utamanya dalam mengevaluasikan sebuah harga gradien.
Operator Sobel menggunakan jendela 3x3 dalam menghitung fungsi gradien
G(x,y).
Operator deteksi tepi yang telah diproses akan menghasilkan sebuah
larik yang setiap titik diberi suatu harga (harga tepi) yang memperkirakan
kemungkinan bahwa titik yang dimaksud terletak pada sebuah tepi dalam citra
semula. Semakin tinggi harga tepi, semakin besar kemungkinan bahwa titik
Gambar 2.3 Model Jendela 3x3
26
tersebut membentuk bagian dari tepi sebuah objek. Kita perlu untuk memberi
ambang batas untuk menemukan titik-titik tepi yang sebenarnya.
Dalam memberikan ambang batas, maka pemilihan ideal θ umumnya
tidak mencapai dalam praktek, memungkinkan munculnya harga θ yang terlalu
tinggi, atau harga θ yang terlalu rendah, sehingga gambar tepi yang dihasilkan
menjadi tidak terlalu jelas. Outline yang dihasilkan oleh suatu gradien
operator/ambang tidak akan sempurna, keduanya mengandung tepi-tepi serta
diskontinuitas yang palsu pada tepi yang berlaku, sehingga dibutuhkan
langkah berikut yaitu penghalusan pelicinan.
Menurut J.R Parker (1994), edge detection adalah suatu cara yang
berguna untuk mencari batas-batas dari objek pada suatu citra. Tujuannya
adalah untuk memisahkan dan mengidentifikasi objek pada suatu citra.
Terdapat suatu prinsip dalam egde detection yaitu : “Batas antara dua wilayah
(edge) ditandai oleh suaty perubahan mendadak pada tingkat keabuan”.
Adalah suatu keharusan pada metode edge detection untuk
mempertimbangkan semua arah yang mungkin. Pemikiran mask pada
implementasi merupakan salah satu hal yang paling banyak disebut dalam
masalah edge detection. Suatu mask adalah gambar kecil, biasanya 3x3 piksel
dimana piksel bagian tengan merupakan bagian yang diperiksa. Nilai dari
27
setiap piksel pada mask dikalikan dengan nilai dari piksel citra yang
berkorespondensi dengan orientasi terakhir. Nilai baru piksel yang berada di
tengah adalah jumlah dari produk individual tadi. Mask dapat diaplikasikan
pada semua piksel pada citra yang pertama kali, kemudian hasilnya dapat
diakumulasikan pada gambar berikutnya. Proses ini disebut discrete
convolution. Jika suatu mask merepresentasikan sebuah operator edge
detection maka hasil citranya akan jelas menunjukkan edge, sebaliknya bila
tidak maka hasilnya adalah gelap atau hitam.
Menurut Luong Chi Mai (1999), edge detection amat berguna karena
edge dari suatu citra mengandung banyak informasi. Suatu edge dapat
memberi tahu dimana suatu objek berada, apa bentuk dan berapa ukurannya
serta teksturnya. Edge dari suatu citra adalah intensitas suatu citra dari nilai
paling rendah sampai nilai paling tinggi.
Menurut Adrian Low (1991), edge detection merupakan cara pertama
yang baik untuk menemukan bentuk geometrik dari suatu objek dalam citra.
Sebuah edge detector yaitu operator Sobel, memberikan pengukuran seberapa
pantas setiap piksel menjadi bagian dari edge yang sesungguhnya. Ukuran ini
disebut juga gradient magnitude.
Edge detection yang optimal harus memenuhi kondisi berikut :
1. Edge detection dapat menemukan seluruh edge yang ada, tidak ada satu
pun edge yang hilang/terlewatkan.
2. Selisih jarak antara batasan piksel yang ditemukan dengan edge yang
sesungguhnya harus seminimal mungkin.
28
3. Jika hanya ada satu edge maka edge detection tidak boleh mendeteksinya
sebagai piksel ganda.
2.2.10 Pengenal Pola
Pengenalan pola merupakan “suatu fakta yang secara psikologis tidak
bisa dimengerti, tapi kita bisa mensimulasikannya apabila kita mengerti sifat-
sifat”. Pengenalan pola akan menghasilkan suatu pola yang kemudian akan
diambil ciri-cirinya atau fitur-fiturnya.
Menurut Parker (1994), fitur adalah semua pengukuran yang dilakukan
terhadap suatu citra, dapat berupa panjang, luas, keliling, roundness,
kelengkungan, orientasi dan sebagainya. Fitur digunakan untuk
mengkarakterisasi objek-objek dalam citra. Lebih baik mempergunakan
banyak fitur yang mudah dihitung secara akurat daripada fitur yang sedikit
tapi kompleks dengan tingkat keakuratan yang kecil. Cara untuk menemukan
fitur dalam citra juga harus mendapat perhatian khusus karena hal tersebut
tidaklah mudah dilakukan.
Teknik pengenalan pola terbagi menjadi 2 teknik, yaitu prototype dan
statistical method. Protoype merupakan teknik pengenalan pola dimana
dalam proses klasifikasi membutuhkan basis data. Objek yang akan diuji
akan dibandingkan dengan data yang dimiliki pada basis data. Apabila objek
tersebut dikenali maka proses klasifikasi dapat berjalan dengan baik.
Sedangkan pada teknik statistical method terdapat 2 langkah penting, yaitu :
ekstraksi fitur yang tugasnya mengumpulkan dan mengorganisasi data yang
29
menyangkut objek-objek yang terdapat pada citra, kemudian hasilnya yang
berupa vector akan diberikan pada pattern classifier kemudian pattern
classifier dengan menggunakan classifier akan melokasikan ke kelas yang
paling cocok, serupa atau paling tidak mendekati berdasarkan pole yang
diterima dari ekstraksi fitur.
Menurut Sing-Tze Bow (1984), pengenalan pola kita dapat membagi
keseluruhan kerja dalam 3 tahap :
• Perolehan data
• Data preprocessing
• Decision classification
Dalam fase akuisisi data analog dari dunia nyata akan dikumpulkan
oleh tranducer lalu dikonversi ke dalam format digital yang cocok untuk
Gambar 2.4 Statistical Pattern Recognizer
Gambar 2.5 Conceptual Representation of a Pattern Recognition Problem
30
preprocessing yang dilakukan komputer. Dalam tahap ini, variabel-variabel
fisik dikonversi menjadi data terukur yang mengindikasi intensitas cahaya dan
tranducer-nya adalah photocell. Data-data yang terukur kemudian akan
dijadikan sebagai input fase dua (data preprocessing) dan kemudian
dikumpulkan menjadi satu set fitur karakterisitik sebagai output. Fase ketiga
sebenarnya adalah classifier dimana di dalamnya adalah sekumpulan dari
decision functions. Dengan kumpulan fitur ini objek tersebut akan
diklasifikasi.
Menurut Michael C. Fairhurst (1995), pattern didefinisikan dengan
sebuah vector pattern (X), yang mengandung elemen-elemen yang bersesuaian
dengan ciri-ciri yang dapat diukur dari pattern atau data yang diamati.
Jadi X = {x1, x2, x3, ..., xn} adalah suatu vector berdimensi ke-n, dimana
x1, x2, x3, ..., xn merupakan pengukuran karakteristik pattern, yang biasa diacu
sebagai ciri-ciri atau pendefinisi pattern.
Pada sistem pengenal pola perlu dipikirkan mengenai keanggotaan
pattern tersebut dalam suatu kelas tertentu atau kategori. Suatu kelas pattern
dapat didefinisikan sebagai sekelompok pola yang mengambil bagian dalam
beberapa karakteristik dan atribut yang sama.
31
Menurut J.R Parker (1994), semua program yang menampilkan
pengenalan pola mempunyai 2 komponen utama. Pertama, ekstraksi fitur,
bertugas untuk mengumpulkan dan mengorganisasi informasi yang
menyangkut objek pada citra. Kedua, classifier, menempatkan pattern dari
objek pada kelas berdasarkan fitur yang tersedia.
Menurut Luong Chi Mai (1999), masalah pada pengenalan pola dapat
didefinisikan sebagai memberi label pada objek. Idealnya adalah sistem diberi
citra yang terdiri dari objek-objek dan satu set dari label yang
berkorespondensi ke model yang sudah dikenal oleh sistem, kemudian sistem
tersebut memberikan label kepada daerah objek pada citra.
Dalam melaksanakan tugasnya sebuah pengenalan pola harus
mempunyai beberapa komponen, yaitu :
• Database dari model
Berisi semua model yang sudah dikenal oleh sistem.
Gambar 2.6 Kerangka Umum Sistem Pengenalan Pola
32
• Pendeteksi fitur
Pendeteksi fitur menerapkan operator pada citra dan mengidentifikasi
lokasi dari fitur yang akan menolong dalam membentuk hipotesis objek.
• Penghipotesis (hypothesizer)
2.2.11 Artificial Neural Network (Jaringan Saraf Tiruan)
Berdasarkan pendapat Rao (1995, p2) Neural Network atau yang biasa
disebut juga Artificial neural network merupakan jaringan saraf tiruan dari
otak manusia sehingga memiliki prinsip kerja yang sama dengan otak
manusia. Pendapat dari Fausett (1993, p3) menyatakan “An artificial neural
networks is an information-processing system that has certain perfomance
characteristic in common with biological neural networks.” Atau
menyatakan jaringan saraf tiruan adalah sistem pemrosesan informasi dengan
mengikuti cara kerja jaringan saraf pada manusia.
Menurut Haykin (1998, p1), jaringan saraf tiruan adalah prosesor yang
didistribusikan secara paralel dalam jumlah besar yang sebenarnya
merupakan processing unit sederhana, memiliki kecenderungan alami untuk
menyimpan pengetahuan (knowledge) yang sudag dilatih sebelumnya dan
dapat dipakai kapan saja. Neural network memiliki sifat seperti otak manusia
dalam dua macam bentuk, yaitu:
1. knowledge diperoleh dari jaringan setelah mealui proses pembelajaran
(learning process)
33
2. Hubungan antar-neuron yang juga dikenal sebagai sypnatic weight
digunakan untuk menyimpan knowledge yang sudah diperoleh
sebelumnya.
Knowledge sendiri didefinisikan (Haykin, 1998, p23) sebagai informasi
yang disimpan atau model yang dipakai oleh seseorang atau mesin untuk
menginterpretasikan, memperkirakan, dan memberikan respon yang tepat
terhadap dunia luar.
Jaringan saraf tiruan digunakan jika terdapat kondisi yang memerlukan:
1. Ketidaklinearan (nonlinearity)
Jaringan saraf tiruan terbuat dari interkoneksi neuron non linear. Sifat
ketidaklinearan ini terdistribusi dalam jaringan. Ketidaklinearan adalah
properti yang sangat penting, terutama bila mekanisma fisik yang
mendasarinya bertanggungjawab dalam menghasilkan sinyal input.
2. Input-output mapping
Paradigma pembelajaran yang popuer sering disebut supervised
learning yang melibatkan modifikasi dari bobot sinapsis sebuah
jaringan neural dengan melibatkan contoh pelatihan yang terlabel.
3. Neurobiological Analogy
Perancangan neural network dimotivasi oleh anatomi otak, dimana
pemrosesan paralel toleransi kesalahan tidak hanya memungkinkan
secara fisik, tapi juga secara kecepatan.
4. Adaptivity
Neural network mempunyai kemampuan dasar untuk meyesuaikan
34
bobot untuk mengubah lingkungan sekitar. Neuralnetwork yang
terlatih di lingkungan khusus dapat dilatih ulang dengan mudah
dalam menghadapi perubahan yang sedikit dalam mengubah
kondisi lingkungan yang sedang beroperasi.
5. Evidental response (respon yang jelas)
Pada klasifikasi pola (pattern classification), neural network dapat
dirancang untuk menyediakan informasi tidak hanya pola yang
penting yang terpilih, tapi juga kepercayaan dalam pembuatan
keputusan. Informasi yang terakhir ini dapat digunakan untuk
menolal pola yang tidak jelas.
6. Fault tolerance (toleransi kesalahan)
Ketika jaringan saraf tiruan diimplementasikan dalam bentuk hardware,
kemungkinan untuk menjadi toleransi kesalahan yang terpadu atau
kemampuan dari komputasi yang kuat dan perkerjaannya, dapat
menurun secara perlahan di bawah kondisi pengoperasian yang kurang
baik. Misal, bila sebuah neuron atau sambungan koneksinya rusak,
pemanggilan kembali pola penyimpanannya rendah. Namun karena
penyimpanan informasi dalam jaringan terdistribusi, kerusakan dapat
diperluas sebelum respons jaringan diturunkan dengan sungguh-
sungguh.
Sebuah jaringan saraf buatan terdiri dari sejumlah elemen pemrosesan
(processing element/PE) sederhana, yaitu sel/neuron yang terhubungkan satu
sama lain dengan weight yang akan digunakan untuk menyelesaikan masalah
35
dalam jaringan. Elemen pemrosesan ini menerima masukan berupa sinyal
elektrik yang direpresentasikan dalam nilai numerik (angka). Berbeda dengan
cara kerja otak manusia, pada jaringan saraf tiruan total sinyal yang diterima
akan dihitung oleh fungsi aktivasi untuk menentukan besarnya kekuatan
sinyal keluaran sebuah elemen pemrosesan.
Jaringan saraf tiruan telah dikembangkan sebagai hasil generalisasi dari
model matematika yang berasal dari saraf manusia dengan dasar asumsi
sebagai berikut (Fausett, 1994, p3):
Jaringan saraf tiruan telah dikembangkan sebagai hasil generalisasi dari
model matematika yang berasal dari saraf manusia dengan dasar asumsi
sebagai berikut (Fausett, 1994, p3):
a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
b. Sinyal dikirim antar neuro melalui connection link.
c. Setiap connection link mempunyai weight yang saling berhubungan.
d. Setiap neuron mempunyai sebuah fungsi activasi dalam masukkan
jaringan untuk menentukan sinyal keluaran.
Gambar 2.7 Struktur sebuah Neuron
36
Karakteristik dari jaringan saraf tiruan (Fausett, 1994,p3) adalah:
1. Pola koneksi antara neuron atau arsitektur
2. Kemampuan untuk menentukan weight pada koneksi (training, learning
atau algoritma)
3. Fungsi aktivasinya.
2.2.12 Arsitektur Jaringan Saraf Tiruan
Sebuah jaringan saraf tiruan terdiri dari sekumpulan elemen dimana
satu subgroup melakukan perhitungan independent dan mengirimkan
hasilnya kepada subgroup lainnya (Rao, 1995, P2). Neuron biasanya
dioperasikan secara paralel atau dikonfigurasikan pada arsitektur yang
regular. Neuron juga sering dihubungkan secara layer (lapisan). Setiap
koneksi diwakilkan dengan angka yang disebut weight (bobot), yang
berubah-ubah sesuai dengan input yang diberikan. Pada kenyataannya,
kebanyakkan JST harus dilatih untuk memperlajari pola dari masukkan-
masukkan yang diberikan.
Jaringan saraf tiruan terdiri dari tiga proses, yaitu : learning, networks
storing, dan recalling. Setelah semua citra diproses dan fitur diekstrak, data
akan dipelajari oleh Jaringan saraf tiruan melalui proses learning yang akan
menghasilkan data yang direpresentasikan dalam bentuk nilai weight.
Kemudian weight hasil learning yang mengandung data identitas buah dan
karakteristik buah akan disimpan ke dalam sebuah file melalui proses
network storing, yang digunakan untuk proses recalling pada saat pengujian.
37
2.2.13 Backpropagation (Propagasi Balik)
Backpropagasi merupakan metode pelatihan yang menggunakan
multilayer perceptron untuk memecahkan masalah yang rumit dengan
metode pelatihan terawasi, yaitu pelatihan yang menggunakan pasangan
masukan dan keluaran dimana bobot yang akan dihitung, disesuaikan
berdasarkan proses pelatihan yang dilakukan hingga mencapai target
keluaran yang diinginkan. Backpropagation diperkenalkan pertama kali oleh
G. E. Hinton, E. Rumehart dan R.J. Williams pada tahun 1986 sebagai
sebuah teknik umum untuk melakukan pelatihan pada jaringan saraf tiruan
berlayer banyak yang memegang peranan penting yang membuat jaringan
saraf tiruan alat bantu untuk memecahkan banyak variasi masalah.
Paradigma dan algoritma backpropagation dikembangkan oleh Paul Werbos.
Menurut Rao (1995, p87), tipe network ini adalah yang paling umum
digunakan karena memiliki prosedur pelatihan yang relatif mudah. Haykin
(1998, p156) mengatakan backpropagation sendiri menggunakan memory
yang lebih sedikit daripada algoritma yang lainnya dan dapat memberikan
hasil dengan tingkat kesalahan yang masih dapat diterima dengan kecepatan
pemrosesan yang cukup cepat.
Pada metode ini, jaringan tidak memiliki koneksi khusus untuk
melakukan perhitungan mundur dari satu layer menuju layer sebelumnya.
Namun error pada output layer akan dipropagasikan ke belakang menuju
input layer.
38
2.2.14 Arsitektur Backpropagation
Backpropagation merupakan jaringan saraf tiruan dengan multilayer,
yang terdiri dari input layer (lapisan masukan), hidden layer (lapisan
tersembunyi/ tengah), output layer (lapisan keluaran) (Fausett, 1994, p290).
Banyaknya lapisan pada lapisan tengah dapat terdiri dari 1 atau lebih lapisan.
Selain itu, lapisan keluaran dan lapisan tengah dapat mempunyai bias. Tiap
lapisan pada backpropagation terdiri dari unit-unit yang saling terhubung
antar lapisan. Jadi setiap neuron pada suatu lapisan dalam backpropagasi
mendapat nilai masukan dari semua neuron pada lapisan sebelumnya beserta
satu sinyal bias.
Gambar 2.8 Lapisan Neural Network
2.2.15 Metode Kerja Backpropagation
Backpropagasi memiliki metode pembelajaran supervised learning
dimana lapisan masukan akan menerima pola masukan dan melakukan proses
komputasi berdasarkan bobot awal yang diperoleh secara acak (random). Jika
keluaran dari jaringan berbeda dengan target yang diharapkan maka jaringan
39
melakukan penyesuaian terhadap bobot yang ada. Proses ini akan terus
berlanjut hingga keluaran dari jaringan dan target yang diharapkan menjadi
sama. Proses pembelajaran membutuhkan waktu yang lama hingga mencapai
nilai tersebut. Oleh karena itu proses learning dibatasi dan akan berhenti jika
perbedaan antara output dan target sudah mencapai nilai yang lebih kecil dari
nilai toleransi (error rate). Besarnya penyesuaian bobot pada setiap siklus
pembelajaran ditentukan oleh parameter yang disebut learning rate.
Setelah tahap pembelajaran, jaringan saraf tiruan siap untuk memasuki
tahap recalling / searching yang merupakan proses dimana jaringan saraf
tiruan menerima masukan dari dunia luar melalui lapisan masukan dan
melalui komputasi pda masing-masing neuron yang terdapat di dalam lapisan
akan dihasilkan keluaran pada lapisan keluaran analogi pada otak manusia
seperti menerima masukan berupa gambar buah kemudian otak manusia akan
melakukan komputasi sehingga mengenali nama buah tersebut.
Pada pelatihan backpropagation terdapat 2 fase, yaitu proses propagasi
nilai aktivasi atau masukan dan proses penyesuaian dengan keluaran yang
diharapkan (Fausett, 1994, p290). Proses propagasi nilai aktivasi tersebut
adalah proses perubahan nilai bobot koneksi antar neuron yang
menghubungkan lapisan jaringan, baik itu antar lapisan masukan dengan
lapisan tersembunyi, lapisan tersembunyi yang satu dengan yang lainnya,
maupun bobot koneksi lapisan tersembunyi dengan lapisan keluaran.
Nilai neuron dari setiap keluaran merupakan hasil dari fungsi aktivasi.
Fungsi ini biasanya digunakan untuk menurunkan nilai aktivasi dan
40
mengubahnya menjadi suatu nilai keluaran yang berarti. Kadang-kadang
fungsi ini juga digunakan untuk menambahkan nilai bias. Fungsi sigmoid
merupakan fungsi aktivasi yang digunakan dalam skripsi ini. Selain fungsi
sigmoid biner ini, fungsi aktivasi lainnya adalah step, ramp, dan linear.
Dikenal dua fungsi sigmoid, yaitu bipolar sigmoid dan binary sigmoid
(sigmoid biner). Menurut Fausett (1994, p293) fungsi sigmoid memiliki dua jenis
formula yang berbeda dalam hal rentang nilai yang dihasilkan :
1. ƒ(x) = 2 - 1 , akan menghasilkan rentang nilai antara -1 sampai 1
1 + ℮ -x
Gambar 2.9 Fungsi Sigmoid Bipolar
2. ƒ(x) = 1 , akan menghasilkan rentang nilai antara 0 sampai 1
1 + ℮ -x
41
Gambar 2.10 Fungsi Sigmoid Biner
Ciri-ciri node fungsi aktivasi adalah sebagai berikut :
a. Kontinu
b. Dapat dideteksi
c. Turunan fungsi mudah dihitung
d. Fungsi yang banyak digunakan : Fungsi Sigmoid Biner dan Fungsi
Sigmoid Bipolar.
Gambar 2.11 Model Fungsi Sigmoid Biner
Proses penyesuaian dengan keluaran yang diharapkan adalah
pengecekan nilai keluaran yang dihasilkan oleh jaringan dengan keluaran yang
42
diharapkan dengan batas toleransi kesalahan tertentu. Selama nilai keluaran
tidak sesuai dengan keluaran yang diharapakan, maka proses pelatihan akan
diulang kembali.
2.2.16 Tahapan Pelatihan Backpropagation
Seperti halnya otak manusia membutuhkan proses learning (belajar)
dimana otak akan menerima semua input dari semua indera disimpan dalam
memory (ingatan manusia). Demikian juga pada jaringan saraf tiruan
membutuhkan sebuah proses pembelajaran yang disebut proses
pembelajaran/training/learing/storing.
Haykin (1998, p50) mengatakan learning adalah proses dimana
parameter bebas dari jaringan saraf tiruan diadaptasi melalui stimulasi dari
lingkungan di mana jaringan tersebut diletakkan.
Dalam proses pelatihan jaringan backpropagation ini, digunakan fungsi
nilai ambang batas binary sigmoid. Sebelum melakukan proses pelatihan,
terdapat beberapa parameter jaringan yang harus ditentukan dahulu (Fausett,
1994, p292) yaitu:
a. Tingkat pelatihan (learning rate) yang dilambangkan dengan alpha.
Parameter ini harus diberikan dan mempunyai nilai positif kurang dari 1.
Semakin tinggi nilainya, semakin cepat kemampuan jaringan untuk
belajar, tetapi hal ini kurang baik karena error yang dihasilkan tidak
merata.
b. Toleransi kesalahan (error tolerance), semakin kecil maka jaringan akan
43
memiliki nilai bobot yang lebih akurat, tetapi akan memperpanjang waktu
pelatihan.
c. Nilai ambang batas atau bias (threshold value), dilambangkan dengan
Theta. Parameter ini tidak harus diberikan (optional).
Secara garis besar langkah-langkah yang terjadi di dalam
backpropagation pada saat proses pembelajaran terbagi menjadi tiga tahapan:
1. Feedforward
Pada tahap ini setiap unit pada unit masukan menerima masukan dari fitus
yang telah diekstrak, kemudian masukan tersebut akan diproses oleh unit
dengan fungsi aktivasi yang digunakanuntuk menghasilkan keluaran.
Hasil keluaran yang didapatkan akan diteruskan oleh unit masukan ke
setiap unit pada unit di lapisan tengah pertama, kedua dan seterusnya.
Setiap unit pada unit lapisan tengah akan menjumlahkan semua masukan
yang dterima, kemudia memprosesnya dengan fungsi aktivasi yang
digunakan untuk menghasilkan keluaran yang akan diteruskan ke unit
lapisan tengah seterusnya atau ke unit lapisan keluaran. Terakhir, setiap
unit pada unit lapisan keluaran akan menjumlahkan semua masukan yang
diterima dari unit lapisan tengah terakhir yang akan diproses dengan
fungsi aktivasi yang di gunakan untuk mendapatkan sebuah nilai keluaran
yang akan dibandingkan dengan nilai target yang telah ditentukan.
2. Backpropagation of the associated error
Hasil perbandingan nilai keluaran yang dihasilkan oleh unit lapisan
keluaran dengan nilai terget keluaran yang telah ditentukan akan
44
digunakan untuk menghitung error system (nilai mutlak dari selisih nilai
keluaran pada unit lapisan keluaran dengan target keluaran yang telah
ditentukan). Kemudian nilai error tersebut digunakan untuk menghitung
error di setiap unit pada lapisan tengah yang akan digunakan pada weight
adjusment.
3. Adjustment of the weight
Setelah didapatkan nilai error disetiap unit pada lapisan tengah semua
bobot yang menghubungkan unit pada lapisan masukan denan unit lapisan
tengah, unit lapisan tengah dengan unit lapisan tengah lain dan unit
lapisan tengah dengan unit lapisan keluaran akan diperbaharui
berdasarkan learning rate (kecepatan belajar pada jaringan) dan nilai
error yang didapatkan disetiap unit.
2.2.17 Algoritma Pelatihan Backpropagation
Berikut adalah algoritma untuk melakukan tahapan-tahapan pelatihan
metode backpropagation:
Feedforward:
Input dan output untuk input unit;
FOR a = 0 TO x
i_ina = feature ke-a yang diekstrak dari pola
i_outa = i_ina
END FOR Input dan output untuk hidden units: FOR b = 0 TO y h_inb = 0
45
FOR a = 0 TO x+1
h_inb = h_inb + i_outa * iab END FOR
h_outb =activation (h_inb) END FOR
Input dan output untuk output units: FOR c = 0 TO z o_inc = 0 FOR b = 0 TO y+1
o_inc = o_inc + h_outb * hbc END FOR
o_outc = activation (o_inc) END FOR
Backpropagation of error Error input dan error output pada output units:
FOR c = 0 TO z
o_errinc = (target keluaran dari pola yang ke-c – o_outc) *
deactivation (o_inc) o_erroutc = o_errinc FOR
b = 0 TO y+1
h_correctionbc = a * o_erroutc * h_outb dimana a
adalah learning rate
END
FOR END FOR
Error input dan erro output pada hidden units:
FOR b = 0 TO y
46
h_errinb = FOR c = 0 TO z
h_errinb = h_errinb + o_erroutc * hbc END FOR
h_erroutb = h_errinb * deactivation (h_inb) FOR a = 0
To x+1
i_correctionab = a * h_erroutb * i_outa END FOR
END FOR Weight adjustment: Weight dari hidden units ke output units:
FOR b = 0 TO y+1 FOR c = 0 TO z
Hbc = hbc + h_correctionbc END FOR
END FOR Weight dari input units ke hidden units: FOR a = 0 TO x+1 FOR b = 0 TO y
Iab = iab + i_correctionab END FOR
END FOR
2.3 Sistem Pakar
Sistem pakar terdiri atas Definisi Sistem Pakar, Konsep Dasar Sistem Pakar,
Perbandingan Sistem Pakar dengan Sistem Konvensional, Elemen Manusia dalam
Sistem Pakar, Kelebihan dan Keterbatasan Sistem Pakar, Akuisisi Pengetahuan,
Representasi Pengetahuan, Teknik Inferensi, Faktor Ketidakpastian Sistem Pakar,
Faktor Kepastian, dan Kombinasi Faktor Kepastian.
47
2.3.1 Definisi Sistem Pakar
Sistem Pakar menurut Turban dan Frenzel (1992, p74) adalah suatu
sistem yang diusahakan dapat mengadopsi pengetahuan manusia kedalam
komputer, agar komputer tersebut dapat menyelesaikan masalah seperti yang
biasa dilakukan oleh para pakar. Sistem pakar yang baik dirancang untuk dapat
menyelesaikan suatu permasalahan tertentu dengan meniru prinsip kerja dari
para pakar. Dengan sistem ini, user akan mampu menyelesaikan masalah yang
cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para
pakar. Bagi para pakar sendiri, sistem ini juga akan membantu aktivitasnya
sebagai seorang asisten yang sangat berpengalaman. Beberapa definisi tentang
sistem pakar, antara lain :
a. Giarratano dan Riley (1998, p2)
Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau
meniru kemampuan dari seorang pakar.
b. Jackson (1992, p2)
Sistem pakar adalah program komputer yang mewakili dan menelusuri
pengetahuan dari beberapa subyek spesial untuk memecahkan masalah
atau memberikan nasihat.
c. Rich dan Knight (1991, p574)
Sistem pakar adalah suatu sistem yang memiliki tujuan untuk
menyelesaikan masalah yang biasa dilakukan oleh seorang pakar.
48
2.3.2 Konsep Dasar Sistem Pakar
Menurut Turban dan Frenzel (1992, pp78-81), konsep dasar sistem
pakar terdiri atas :
a. Expertise (keahlian).
Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang
tertentu yang diperoleh dari pelatihan, membaca dan pengalaman sendiri.
Contoh bentuk pengetahuan yang termasuk keahlian adalah :
1) Fakta-fakta pada lingkup permasalahan tertentu
2) Teori-teori pada lingkup tertentu
3) Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup
permasalahan tertentu
4) Strategi-strategi global untuk meyelesaikan masalah
5) Meta-knowledge.
Bentuk-bentuk ini memungkinkan para ahli untuk dapat
mengambil keputusan lebih cepat dan lebih baik daripada seseorang
yang bukan seorang ahli.
b. Expert (pakar)
Cukup sulit untuk menjelaskan arti “pakar” karena sebenarnya yang
dibicarakan adalah mengenai derajat atau tingkatan dari keahlian
seseorang. Untuk menjelaskan arti pakar itu sendiri terdapat pemikiran
seberapa banyak keahlian yang harus dimiliki dari seseorang sebelum
dapat dikatakan sebagai seorang pakar. Sedangkan tingkah laku yang
49
menyangkut aktivitas seorang pakar meliputi kemampuan pengenalan dan
perumusan masalah, penyelesaian masalah secara cepat dan tepat,
penjelasan dari solusi yang dihasilkan, penyusunan kembali pengetahuan,
pemecahan aturan-aturan jika dibutuhkan, menentukan relevan tidaknya
keahlian mereka.
c. Transferring expertise (pengalihan keahlian)
Tujuan utama dari sistem pakar adalah pengalihan keahlian yang dimiliki
seorang pakar ke dalam suatu sistem komputer untuk kemudian diahlikan
lagi ke orang lain yang bukan pakar. Proses ini membutuhkan 4 aktivitas
yaitu : penambahan pengetahuan (dari para ahli atau sumber-sumber
lainnya), representasi pengetahuan (ke komputer), inferensi pengetahuan,
dan pengalihan pengetahuan ke pengguna. Pengetahuan yang disimpan di
komputer disebut sebagai basis pengetahuan. Ada dua tipe pengetahuan,
yaitu: fakta dan prosedur (umumnya berupa aturan).
d. Inference (kesimpulan)
Kesimpulan dari sistem pakar adalah kemampuannya dalam memberikan
penalaran, yaitu dengan menyimpan semua keahlian dalam basis
pengetahuan dan ketersediaan program yang dapat mengakses basis data
sehingga komputer dapat memberikan kesimpulan. Penarikan kesimpulan
dilakukan oleh sebuah komponen yang disebut mesin inferensi / mesin
pengambil kesimpulan (inference engine) yang berisi aturan-aturan
penyelesaian masalah.
50
e. Rules (aturan)
Sebagian besar dari sistem pakar adalah sistem yang berbasiskan aturan.
Karena basis pengetahuan yang diterapkan ke dalam komputer disimpan
dalam bentuk aturan-aturan sebagai prosedur pemecahan masalah.
f. Explanation capability (kemampuan menjelaskan)
Kemampuan dalam menjelaskan dan memberikan rekomendasi mengapa
suatu solusi tertentu digunakan. Kemampuan inilah yang membedakan
sistem pakar dengan sistem konvensional.
2.3.3 Perbandingan Sistem Pakar dengan Sistem Konvensional
Perbandingan sistem pakar dengan sistem konvensional dapat dilihat
pada tabel 2.1 (Turban dan Frenzel, 1992, p82).
Tabel 2.1 Perbandingan Sistem Pakar dengan Sistem Konvensional
SISTEM KONVENSIONAL SISTEM PAKAR Informasi dan pemrosesannya Basis pengetahuan dipisahkan secara jelas biasanya digabungkan dalam satu dari proses mekanisme dalam penarikan program sekuensial. kesimpulan. Program yang telah dibuat tidak Program dapat melakukan kesalahan. dapat melakukan kesalahan kecuali programmernya yang dapat membuat kesalahan (human error).
Pada umumnya sistem konvensional Dalam sistem pakar penjelasan merupakantidak dapat menjelaskan mengapa bagian terpenting. suatu input data itu dibutuhkan, atau bagaimana output itu diperoleh.
Dalam melakukan pengubahan Pengubahan aturan dapat dilakukan program cukup sulit dilakukan. dengan mudah. Sistem hanya akan beroperasi jika Sistem dapat beroperasi hanya dengan sistem tersebut telah lengkap. beberapa aturan. Eksekusi dilakukan setahap demi Eksekusi dilakukan pada keseluruhan setahap. basis pengetahuan.
51
Dapat memanipulasi basis data yang Dapat memanipulasi basis pengetahuan banyak secara efektif. yang banyak secara efektif. Representasi dengan menggunakan Representasi dengan menggunakan Data. pengetahuan.
2.3.4 Elemen Manusia dalam Sistem Pakar
Menurut Turban dan Frenzel (1992,pp85-87) ada paling sedikit dua
manusia atau lebih, yang terlibat dalam pengembangan dan penggunaan dari
sistem pakar. Setidaknya terdapat seorang pakar dan seorang penggguna.
a. Expert (pakar)
Pakar biasanya ditunjukan sebagai seorang yang ahli dibidangnya. Orang
yang memiliki pengetahuan khusus, berpengalaman, dan memiliki
kemampuan untuk mengembangkan pengetahuan yang dimiliki untuk
memberikan saran dan memecahkan masalah. Pekerjaan utama seorang
pakar adalah memberikan saran tentang bagaimana seorang dapat
melakukan pekerjaannya sehingga sistem pengetahuan dapat
dilaksanakan. Seorang pakar mengetahui fakta yang penting dan mengerti
maksud hubungan yang ada diantara fakta tersebut.
b. Knowledge Engineer
Seorang knowledge engineer membantu para pakar dalam menyusun
bidang permasalahan dengan menafsirkan dan menggabungkan jawaban-
jawaban manusia kedalam pertanyaan-pertanyaan, menggambarkan
persamaannya, memberikan contoh-contoh, dan mengembangkannya
menjadi suatu konsep yang jelas. Biasanya seorang knowledge engineer
juga merupakan seorang system builder.
52
c. User (pengguna)
Sistem pakar mempunyai beberapa jenis pengguna, yaitu :
1) Pengguna nonpakar : mencari saran-saran secara langsung, dalam hal
ini sistem pakar berfungsi sebagai konsultan atau penasehat.
2) Seorang pelajar yang ingin belajar, dalam hal ini sistem pakar
berfungsi sebagai instruktur.
3) Seorang pembangun sistem pakar yang ingin membangun atau
meningkatkan basis pengetahuan, dalam hal ini sistem pakar
berfungsi sebagai mitra (partner).
4) Seorang pakar, dalam hal ini sistem pakar berfungsi sebagai asisten.
Seorang pengguna tidak harus seorang yang ahli dalam komputer
tetapi bisa juga seseorang yang kurang memiliki pengetahuan dalam
bidang masalah yang akan dipecahkan. Seorang pengguna harus
memiliki keinginan untuk membuat keputusan menjadi lebih baik,
lebih murah, lebih cepat dengan menggunakan sistem pakar.
d. Partisipan lain
Beberapa contoh partisipan lain yang mungkin terlibat dalam sistem
pakar, seorang system builder yang membantu di dalam penggabungan
sistem pakar dengan sistem komputerisasi lainnya. Seorang tool builder
yang menyediakan atau membangun alat khusus. Vendor, yang
menyediakan alat-alat dan sarana, dan support staff yang memberikan
bantuan teknikal.
53
2.3.5 Kelebihan dan Keterbatasan Sistem Pakar
Sistem pakar memiliki beberapa kelebihan (Turban dan Frenzel,
1992,pp94-98), yaitu :
a. Meningkatkan output dan produktivitas.
Sistem pakar dapat bekerja lebih cepat dari manusia, sehingga dapat
menghemat waktu dan biaya yang dikeluarkan.
b. Meningkatkan kualitas.
Sistem pakar dapat meningkatkan kualitas dengan memberikan saran yang
konsisten dan dapat mengurangi terjadinya kesalahan (error rate).
c. Mengurangi downtime.
Banyak sistem pakar operasional digunakan untuk mendiagnosa kesalahan
fungsi dan menentukan perbaikan-perbaikan yang harus dilakukan. Sistem
pakar dapat mendeteksi kesalahan (malfunction) dalam produksi yang
terjadi sehingga dapat mengurangi terjadinya kehilangan waktu yang
sangat merugikan perusahaan.
d. Menyimpan kepakaran yang langka.
Kelangkaan kepakaran menjadi nyata pada situasi dimana hanya terdapat
sedikit pakar untuk suatu masalah, seperti pakar tersebut pensiun atau
meninggalkan pekerjaannya. Sistem pakar dapat digunakan untuk
memperoleh keahlian yang dimiliki oleh pakar tersebut.
e. Fleksibilitas.
Sistem pakar memberikan fleksibilitas dalam menyediakan pelayanan
serta dalam pengembangannya.
54
f. Peralatan pengoperasian yang lebih mudah.
Sistem pakar dapat membuat peralatan yang kompleks pengoperasiannya
sehingga menjadi lebih mudah untuk dioperasikan.
g. Penghilangan kebutuhan akan peralatan yang mahal.
Pada umumnya manusia harus bergantung pada peralatan yang mahal
dalam melakukan pengawasan dan kontrol. Sistem pakar dapat melakukan
tugas yang sama dengan peralatan yang lebih murah, oleh karena
memiliki kemampuan untuk melakukan penyelidikan informasi yang
disediakan oleh peralatan tersebut secara menyeluruh dan cepat.
h. Beroperasi pada lingkungan yang berbahaya.
Banyak pekerjaan yang menyebabkan manusia bekerja pada lingkungan
yang berbahaya. Sistem pakar memungkinkan manusia untuk
menghindari lingkungan yang berbahaya, misalnya seperti pada konflik
militer dan juga pada lingkungan yang panas, lembab, ataupun beracun.
i. Memiliki kemampuan untuk mengakses pengetahuan.
Sistem pakar membuat pengetahuan dan informasi menjadi lebih mudah
untuk dapat diakses.
j. Kehandalan (reliabilitas).
Sistem pakar dapat dihandalkan karena sistem pakar tidak pernah lelah,
bosan, dan sakit. Sistem pakar secara konsisten menaruh perhatian pada
setiap detil sehingga tidak melewatkan informasi yang relevan dan
memberikan solusi yang potensial.
55
k. Meningkatkan kemampuan dari sistem komputerisasi lain. Penggabungan
sistem pakar dengan sistem yang lain menyebabkan sistem tersebut
menjadi lebih efektif, bekerja lebih cepat, dan memberikan solusi dengan
kualitas yang lebih baik.
l. Penggabungan opini dari beberapa pakar.
Penggabungan opini dari beberapa pakar ke dalam basis pengetahuan
dapat meningkatkan kualitas saran dan kesimpulan yang diberikan.
m. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap
dan mengandung ketidakpastian.
Berbeda dengan sistem komputer konvensional, sistem pakar dapat
bekerja dengan informasi yang tidak lengkap, seperti jawaban “tidak
tahu”, dengan menggunakan tingkat kemungkinan (probabilitas) terhadap
hasil yang diberikan.
n. Penyediaan pelatihan.
Sistem pakar dapat menyediakan pelatihan, bagi pemula yang bekerja
dengan sistem pakar maka pengalamannya akan terus meningkat.
o. Meningkatkan solusi pemecahan masalah.
Sistem pakar meningkatkan solusi pemecahan masalah karena merupakan
penggabungan dari analisis pakar yang terbaik. Sistem pakar juga dapat
meningkatkan pemahaman pengguna dengan menggunakan penjelasan
dan sistem pakar juga dapat mendukung pemecahan dari masalah yang
rumit.
56
p. Memiliki kemampuan untuk memecahkan masalah yang sulit.
Beberapa sistem pakar telah mampu memecahkan permasalahan yang
kebutuhan lingkup pengetahuannya melebihi manusia.
q. Memungkinkan untuk mentransfer pengetahuan ke tempat yang jauh.
Salah satu keuntungan utama dari sistem pakar adalah sistem pakar
tersebut dapat melewati perbatasan internasional, misalnya dapat
digunakan pada daerah atau negara yang tidak dapat membayar keahlian
dari pakar ataupun ke tempat yang tidak cukup memiliki pakar.
Selain memiliki kelebihan, sistem pakar juga memiliki permasalahan
dan keterbatasan (Turban dan Frenzel, 1992, pp98-99), antara lain :
1) Pengetahuan tidak selalu tersedia.
2) Kepakaran sulit didapat dari seorang pakar.
3) Pendekatan dari setiap pakar untuk situasi yang dinilai dapat berbeda.
4) Sulit bagi seseorang pakar untuk menilai situasi yang baik ketika berada
di bawah tekanan waktu.
5) Penggunaan sistem pakar memiliki keterbatasan kemampuan alami.
6) Sistem pakar bekerja dengan baik hanya pada ruang lingkup yang sempit.
7) Kosakata yang digunakan para pakar untuk mengekspresikan fakta dan
hubungan biasanya terbatas dan tidak dimengerti oleh pakar lain.
8) Konstruksi sistem pakar menjadi mahal karena dibutuhkan bantuan dari
knowledge engineer yang jarang dan mahal.
9) Kurang kepercayaan dari pengguna dapat menjadi halangan untuk
penggunaan sistem pakar.
57
2.3.6 Akuisisi Pengetahuan
Berdasarkan Turban dan Frenzel (1992, pp126-128) proses akuisisi
pengetahuan dibagi ke dalam lima tahap, yaitu :
a. Identifikasi.
Pada tahapan ini diidentifikasi masalah yang akan dikaji. Masalah bisa
dibagi menjadi beberapa sub-masalah jika perlu, partisipan (pakar dan
pengguna) diidentifikasi, dan sumber daya diuraikan. Knowledge engineer
mempelajari situasi dan menyetujui maksud dari pembuatan aplikasi
kecerdasan buatan.
b. Konseptualisasi.
Konseptualisasi merupakan tahapan dalam menentukan konsep untuk
menggambarkan pengetahuan yang relevan dengan mengambil keputusan
untuk situasi yang sangat beragam sehingga perlu ditentukan konsep dan
hubungannya.
c. Perumusan.
Pengetahuan diperoleh untuk direpresentasikan ke dalam basis
pengetahuan. Bagaimana pengetahuan diorganisasikan dan
direpresentasikan dapat menentukan metodologi akuisisi.
d. Implementasi.
Pada tahap ini, dilakukan pemrograman dari pengetahuan ke dalam
komputer. Perbaikan pengetahuan dibuat dengan penambahan akuisisi
atau perubahan. Sebuah prototipe sistem pakar dikembangkan pada
tahapan ini.
58
e. Pengujian.
Pada tahap ini, seorang knowledge engineer akan menguji sistem dengan
memakai contoh-contoh kasus yang ada. Kemudian hasilnya akan
ditunjukan kepada pakar-pakar dan aturan-aturannya akan direvisi bila
diperlukan. Dengan kata lain validitas dari pengetahuan diperiksa.
2.3.7 Representasi Pengetahuan
Ada beberapa cara untuk merepresentasikan pengetahuan (Turban dan
Frenzel, 1992, pp170-187) yaitu melalui :
a. Logika (logic)
Dua bentuk komputasi logic adalah proporsional logic (logika proporsi)
dan predicate logic (logika predikat). Representasi pengetahuan dengan
logika dapat dilihat pada gambar 2.12
Gambar 2.12 Proses Logika
1) Logika proposisi
Logika proposisi adalah sebuah pernyataan yang bisa bernilai benar
atau salah yang dapat menjadi premis yang dapat digunakan untuk
menurunkan proporsi baru. Aturan digunakan untuk menentukan
kebenaran (true) atau kesalahan (false) pada proporsi baru. Pada
59
logika proposisi digunakan simbol seperti huruf alfabet untuk
menampilkan berbagai proposisi, premis atau kesimpulan. Contoh :
Pernyataan A : Hasan pergi kuliah setiap hari Selasa dan Sabtu.
Pernyataan B : Hari ini adalah hari Senin.
Kesimpulan : Hasan tidak akan pergi kuliah pada hari ini.
2) Logika Predikat
Logika predikat merupakan bentuk logika yang lebih kompleks
dimana konsep dan aturan yang digunakan sama dengan logika
proposisi. Logika predikat memberikan kemampuan tambahan untuk
merepresentasikan pengetahuan secara mendetil. Logika predikat
memungkinkan untuk penguraian objek, karakteristik objek atau
penegasan objek.
b. Semantic Network
Semantic network adalah gambaran grafis dari pengetahuan yang terdiri
dari simpul (node) dan hubungan antara node (link) yang memperlihatkan
hubungan hirarkis antar objek. Representasi pengetahuan dengan semantic
network.
60
c. Script
Script merupakan bentuk representasi pengetahuan yang mirip dengan
frame, tetapi selain menggambarkan objek script juga menggambarkan
urutan kejadian-kejadian. Elemen-elemen script terdiri dari entry
conditions, props, roles, tracks dan scenes.
d. Pohon Keputusan
Pohon keputusan adalah tree yang berhubungan dengan tabel keputusan
dan sering digunakan dalam analisis sistem (bukan sistem kecerdasan
buatan). Representasi pengetahuan dengan tree dapat dilihat pada gambar
2.13.
Gambar 2.13 Representasi Pengetahuan dengan Tree
61
e. Objects, Attribute dan Values
Salah satu cara yang paling umum untuk merepresentasikan pengetahuan
adalah dengan menggunakan objects, attribute, dan value (O-A-V triplet).
Objects dapat berupa fisik atau konseptual. Atrribute adalah karakteristik
dari object. Value adalah ukuran spesifik dari attribute dalam situasi
tertentu. Representasi pengetahuan menggunakan O-A-V triplet dapat
dilihat pada tabel 2.2.
Tabel 2.2 Representatif O-A-V
Object Atrributes Values
Rumah Kamar tidur 2, 3, 4
Rumah Warna Hijau, putih, cokelat
Penerimaan di Rata-rata nilai ujian masuk 3.0, 3.5, 3.7 universitas
Kontrol inventori Level dari inventori 15, 20, 30
Kamar tidur Ukuran 9 x 10, 10 x 12
2.3.8 Teknik Inferensi
Dalam sistem pakar, teknik inferensi untuk memecahkan persoalan
dapat dilakukan dengan merangkai kaidah produksi (chaining). Jenis
pencarian menurut Luger dan Stubblefield (1993,p86) yaitu :
a. Forward Chaining
Forward chaining adalah cara pemecahan masalah yang dimulai dari
fakta masalah yang diberikan dan kumpulan langkah-langkah sah atau
62
aturan-aturan untuk berpindah state. Tanda-tanda atau kunci keberhasilan
akan terkumpul dengan sendirinya ketika mulai mengarah ke kesimpulan.
Contoh diagram Forward Chaining dapat dilihat pada gambar 2.14.
Gambar 2.14 Diagram Forward Chaining
b. Backward Chaining
Backward chaining adalah cara pemecahan masalah yang dimulai dari
tujuan yang ingin kita cari. Melihat aturan-aturan atau langkah-langkah
sah yang dapat digunakan untuk menghasilkan tujuan ini dan menentukan
kondisi apa yang harus benar untuk menggunakannya. Prosesnya dimulai
dari hipotesis kemudian pencarian dimulai untuk menentukan dan
membuktikan fakta-fakta pendukung yang diperlukan. Proses akan
berhasil dengan penerimaan atau penolakan hipotesis. Contoh dapat
dilihat pada gambar 2.15.
63
Gambar 2.15 Diagram Backward Chaining
Sebagai tambahan untuk menspesifikkan arah pencarian (forward atau
backward), sebuah algoritma pencarian menentukan urutan pemeriksaan
setiap node (state) dalam tree atau graph. Dalam bagian ini algoritma
dibagi menjadi 2 yaitu breadth-first search dan depth-first search (Turban
dan Frenzel, 1992, pp53-56).
1) Breadth-first search
Cara pencarian dengan menguji semua node pada setiap tingkat yang
ada pada pohon pencarian, dimulai dari node akar. Node-node yang
ada pada setiap tingkat diuji terlebih dahulu sebelum pindah ke
tingkat lainnya. Angka-angka yang ada dalam node menunjukkan
urutan pencarian. Biasanya cara pencarian seperti ini akan
menemukan jalan terpendek antara status awal dan status akhir,
dengan jumlah langkah terkecil. Proses pada breadth-first search ini
diawali dari node awal dan bekerja secara menurun dari kiri dan
kanan setelah itu pindah ke tingkat lainnya. Node terakhir. Sebagai
64
contoh, pada gambar 2.16, pencarian akan berkahir pada node 7
sebagai tujuan akhir.
Gambar 2.16 Diagram Pencarian Breadth-First Search
2) Depth-first search
Dimulai dari node dan bekerja secara menurun sampai ke tingkat
terendah. Sebuah node menggunakan sebuah operator untuk
menghasilkan node selanjutnya yang lebih dalam urutannya. Proses
ini berlangsung sampai sebuah solusi ditemukan atau dengan cara
jalan mundur (back-tracking) sampai menemukan jalan akhir. Saat
pencarian (searching) di level dalam jalur (path), jika sudah sampai
level paling dalam belum ditemukan solusi, maka proses yang
berlangsung disebut back-tracking, yaitu pencarian akan naik satu
level diatasnya, angka-angka yang ada dalam node menunjukkan
urutan dari pecarian. Proses ini mencari kemungkinan node yang
paling dalam. Jika status akhir belum tercapai, proses pencarian
kembali ke node berikutnya yang lebih tinggi. Hal ini berlangsung
terus ke bawah dan dari kiri ke kanan, sampai status akhir ditemukan.
65
Sebagai contoh, pada gambar 2.17, pencarian akan berakhir pada
node 13 sebagai tujuan akhir.
Gambar 2.17 Diagram Pencarian Depth-First Search
2.4 Delapan Aturan Emas Perancangan User Interface
1. Konsisten
2. Shortcuts
3. Umpan balik yang informatif
4. Adanya pentupan (keadaan akhir)
5. Pencegah kesalahan
6. Pembalikan aksi
7. Pusat kendali internal (internal locust of control)
8. Ingatan jangka pendek dikurangi
Top Related