Upload
truongquynh
View
224
Download
0
Embed Size (px)
Citation preview
9
BAB 2
LANDASAN TEORI
2.1 Kecerdasan Buatan
2.1.1. Definisi
Istilah kecerdasan buatan berasal dari bahasa Inggris yaitu Artificial Intelligence.
Jika diartikan tiap kata, artificial artinya buatan, sedangkan intelligence adalah kata
sifat yang berarti cerdas. Jadi artificial intelligence maksudnya adalah kecerdasan yang
dibuat. Cerdas di sini maksudnya adalah kepandaian atau ketajaman dalam berpikir,
seperti halnya otak manusia dalam menyelesaikan suatu masalah.
Kecerdasan buatan didefinisikan sebagai ilmu yang mempelajari tentang
bagaimana membuat komputer untuk melakukan sesuatu yang saat ini lebih baik
dilakukan oleh manusia.
Kecerdasan ini ditunjukkan oleh suatu entitas buatan. Sistem seperti ini
umumnya dianggap sebagai komputer. Kecerdasan diciptakan dan dimasukkan kedalam
suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan
manusia. Kecerdasan buatan ini bukan hanya ingin mengerti apa itu sistem kecerdasan,
tapi juga mengkonstruksinya.
Menyatakan komputer itu cerdas tentu tergantung sudut pandang dari orang
yang memanfaatkan komputer tersebut. Karena itulah sangat sulit untuk mendefinisikan
dengan pasti apa yang dimaksud dengan kecerdasan buatan itu. Menurut John
10
McCarthy, 1965, kecerdasan buatan adalah untuk mengetahui dan memodelkan proses-
proses berpikir manusia dan mendesain mesin agar dapat menirukan perilaku manusia.
Menurut Russell dan Norvig (2003, p5) definisi tentang kecerdasan buatan
dikembangkan berdasarkan empat kelompok kategori, yaitu :
• Sistem yang berpikir selayaknya manusia berpikir (thinking humanly).
• Sistem yang bertindak selayaknya manusia bertindak (acting humanly).
• Sistem yang berpikir secara rasional (thinking rationally).
• Sistem yang bertindak secara rasional (acting rationally).
Gambar 2.1 Proses sistem kecerdasan buatan
2.1.2 Latar Belakang Kecerdasan Buatan
Pada awal diciptakannya, komputer hanya difungsikan sebagai alat komputasi
belaka. Seiring dengan perkembangan waktu, penggunaan komputer semakin
mendominasi kehidupan manusia sehingga komputer tidak hanya digunakan sebagai
alat hitung saja, tetapi dapat menggantikan beberapa pekerjaan yang biasanya dilakukan
oleh manusia.
Manusia menjadi pintar dalam menyelesaikan segala permasalahan yang
dihadapi karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan
didapatkan dari proses belajar, pengalaman didapatkan karena perjalanan waktu dan
11
kehidupan yang dialami oleh manusia. Semakin banyak bekal pengetahuan dan
pengalaman yang dimiliki oleh seseorang, diharapkan orang tersebut lebih mampu
menyelesaikan masalah yang dihadapinya.
Namun bekal pengetahuan saja tidak cukup, manusia juga diberikan akal untuk
melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan
pengalaman yang dimilikinya. Tanpa memiliki kemampuan penalaran yang baik, tidak
ada artinya manusia itu memiliki pengetahuan dan pengalaman sebanyak apapun.
Demikian juga sebaliknya, walaupun seorang manusia memiliki kemampuan penalaran
yang baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia
juga tidak dapat menyelesaikan masalahnya dengan baik.
Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga
harus diberi bekal pengetahuan dan diberikan kemampuan untuk menalar. Untuk itu,
kecerdasan buatan akan mencoba untuk memberikan beberapa metode untuk
membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi
mesin yang cerdas.
2.1.3 Sejarah Kecerdasan Buatan
Kecerdasan buatan merupakan inovasi baru dibidang ilmu pengetahuan. Mulai
ada sejak muncul komputer modern, yakni pada 1940 dan 1950. Dalam literatur, orang
pertama yang dianggap sebagai pionir dalam mengembangkan mesin cerdas
(intelligence machine) adalah Alan Turing, seorang matematikawan asal Inggris yang
memulai karir saintifiknya di awal tahun 1930-an. Di tahun 1937 ia menulis paper
tentang konsep mesin universal (universal machine). Kemudian, selama perang dunia
12
ke-2 ia dikenal sebagai pemain kunci dalam penciptaan Enigma, sebuah mesin encoding
milik militer Jerman. Ia dikenal juga sebagai pencipta pertama program komputer untuk
bermain catur, yang kemudian program ini dikembangkan dan dimainkan di komputer
milik Manchester University. Karya-karyanya ini, yang kemudian dikenal sebagai
Turing Machine, dewasa ini masih dapat ditemukan aplikasi-aplikasinya.
Beliau melakukan percobaan Turing (Turing Test) yaitu sebuah komputer
melalui terminalnya ditempatkan pada jarak jauh. Di ujung yang satu ada terminal
dengan software AI dan diujung lain ada sebuah terminal dengan seorang operator.
Operator itu tidak mengetahui kalau di ujung terminal lain dipasang software AI.
Mereka berkomunikasi dimana terminal di ujung memberikan respon terhadap
serangkaian pertanyaan yang diajukan oleh operator. Dan sang operator itu mengira
bahwa ia sedang berkomunikasi dengan operator lainnya yang berada pada terminal
lain. Turing beranggapan bahwa jika mesin dapat membuat seseorang percaya bahwa
dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin
tersebut cerdas, seperti layaknya manusia.
Beberapa tulisannya yang berkaitan dengan prediksi perkembangan komputer di
masa datang akhirnya juga ada yang terbukti. Misalnya tentang ramalannya bahwa di
tahun 2000-an komputer akan mampu melakukan percakapan dengan manusia. Meski
tidak ditemukan dalam paper-papernya tentang istilah resmi artificial intelligence,
namun para peneliti dibidang ini sepakat untuk menobatkan Turing sebagai orang
pertama yang mengembangkan kecerdasan buatan.
Secara ilmu pengetahuan, istilah kecerdasan buatan pertama kali diperkenalkan
oleh Warren McCulloch, seorang filsuf dan ahli perobatan dari Columbia University,
13
dan Walter Pitts, seorang matematikawan muda pada tahun 1943, (Negnevitsky, 2004).
Mereka mengajukan suatu teori tentang jaringan saraf tiruan (artificial neural network),
bahwa setiap neuron dapat dipostulasikan dalam dua keadaan biner, yaitu ON dan OFF.
Mereka mencoba menstimulasi model neuron ini secara teori dan eksperimen di
laboratorium. Dari percobaan, telah didemonstrasikan bahwa model jaringan saraf yang
mereka ajukan mempunyai kemiripan dengan mesin Turing, dan setiap fungsi
perhitungan dapat diselesaikan melalui jaringan neuron yang mereka modelkan.
Pentingnya kecerdasan buatan menjadi nyata bagi negara-negara yang berperan
sejak tahun 1970. Para pemimpin negara yang mengakui potensialnya kecerdasan
buatan mengharap mendapat persetujuan jangka panjang untuk sumber-sumber yang
memerlukan dana intensif. Awalnya, kecerdasan buatan hanya ada di universitas-
universitas dan laboratorium penelitian, dan hanya sedikit produk yang dihasilkan dan
dikembangkan. Menjelang akhir 1970-an dan 1980-an, mulai dikembangkan secara
penuh dan hasilnya berangsur-angsur dipublikasikan di khalayak umum.
2.1.4 Tujuan Kecerdasan Buatan
Adapun tujuan kecerdasan buatan adalah sebagai berikut:
• Untuk mengembangkan metode dan sistem dalam menyelesaikan masalah
yang biasa diselesaikan melalui aktifivitas intelektual manusia, misalnya
pengolahan citra, perencanaan, peramalan dan lain-lain, meningkatkan kinerja
sistem informasi yang berbasis komputer.
• Untuk meningkatkan pengertian atau pemahaman kita pada bagaimana otak
manusia bekerja.
14
Menurut Sri Kusumadewi, tujuan kecerdasan buatan dapat dilihat dari berbagai
sudut pandang, antara lain:
• Sudut pandang kecerdasan.
Kecerdasan buatan akan membuat mesin menjadi cerdas yaitu mampu
melakukan perbuatan seperti yang dilakukan oleh manusia.
• Sudut pandang penelitian
Kecerdasan buatan merupakan studi yang menitik beratkan pada pertanyaan
bagaimana membuat komputer dapat melakukan sesuatu sebaik yang
dikerjakan oleh manusia. Tidak menutup kemungkinan hasil pekerjaan
tersebut lebih baik dari pada yang dikerjakan oleh manusia seperti dalam hal
kepresisian, ketepatan waktu.
• Sudut pandang bisnis.
Sekumpulan peralatan yang sangat powerfull dan metodologis untuk
menyelesaikan masalah-masalah bisnis.
• Sudut pandang pemrograman.
Studi tentang pemrograman simbolik, penyelesaian masalah (problem
solving), dan pelacakan (searching).
2.1.5 Kecerdasan Buatan dan Kecerdasan Alami
Sepintas kita sudah mengetahui bahwa kecedasan buatan adalah diterapkan
untuk komputer, sedangkan intelegensia alami merupakan kecerdasan yang dimiliki
oleh manusia. Beberapa kekurangan dan kelebihan yang dimiliki oleh kecerdasan
buatan dan kecerdasan alami adalah sebagai berikut:
15
Kecerdasan Alami :
1. Kreatif : Kemampuan untuk menambah ataupun memenuhi pengetahuan itu
sangat melekat pada jiwa manusia, sehingga setiap waktu pengetahuan manusia
terus bertambah dan berubah. Pada kecerdasan buatan untuk menambah
pengetahuan harus dilakukan melalui sistem yang dibangun.
2. Menggunakan Pengalaman : Dengan kecerdasan alami memungkinkan orang
untuk menggunakan pengalamannya secara langsung. Sedangkan pada
kecerdasan buatan harus bekerja dengan input-input simbolik.
3. Digunakan Luas : Pemikiran manusia dapat digunakan secara luas, sedangkan
komputer sangat terbatas. Artinya kemahiran komputer dalam menyelesaikan
satu permasalahan tidak bisa digunakan untuk menyelesaikan permasalahan lain
yang berbeda.
Kecerdasan buatan :
1. Permanen : Kecerdasan alami akan cepat mengalami perubahan. Hal ini
dimungkinkan karena sifat manusia yang pelupa. Sebaliknya komputer tidak
akan pernah lupa selama hardware dan software nya tidak rusak.
2. Duplikasi : Kecerdasan buatan lebih mudah diduplikasi atau digandakan dan
disebarkan. Mentransfer pengetahuan manusia dari satu orang ke orang lain
membutuhkan waktu yang sangat lama dan sulit dilakukan. Diberikan pelajaran
yang sama dalam waktu cukup lama dan sering saja belum bisa mentransfer
ilmu pengetahuan dan keahlian dari sang pakar seratus persen. Namun
16
sebaliknya jika pengetahuan tersebut sudah berada dalam komputer, maka dalam
waktu singkat pengetahuan dapat ditransfer ke komputer lain seratus persen.
3. Murah : Komputer yang sudah dilengkapi dengan kecerdasan dapat bekerja 24
jam tanpa menuntut upah sepeserpun. Komputer bisa memberikan layanan
dengan sangat konsisten tanpa mengenal lelah. Kalau Anda pergi ke mall, sering
kali ditawari untuk melakukan medical diagnostic test seperti melihat kadar gula
dalam darah, melihat kandungan kolesterol, mengetahui fungsi ginjal,
mengetahui fungsi paru-paru, dll. Anda hanya dikenakan biaya sekitar Rp
50.000,- sudah dapat melakukan cek up. Berapakah yang harus anda bayar jika
anda lakukan dengan mendatangi dokter ahli untuk masing-masing jenis
penyakit tersebut.
4. Konsisten : Kecerdasan buatan akan selalu konsisten dengan aturan-aturan yang
sudah ditetapkan dalam program. Hal ini sangat mungkin karena kecerdasan
buatan sebagai bagian dari teknologi komputer. Apa yang dilakukan oleh
komputer pada saat ini akan tetap sama dengan apa yang akan dilakukan
komputer disaat yang akan datang selama tidak ada perubahan pada aturan-
aturan yang telah ditetapkan
5. Di Dokumentasi : Keputusan yang dibuat oleh komputer dapat
didokumentasikan dengan mudah, melalui pelacakan setiap aktivitas dari sistem
tersebut.
6. Lebih Cepat : Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat
dibanding dengan kecedasan alami. Sehingga dengan komputer yang
17
mengerjakan pekerjaan, maka pelaporan dapat dilakukan tepat waktu dan
bahkan lebih cepat dari waktu yang sudah ditetapkan.
7. Lebih Baik : Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik
dibanding dengan kecerdasan alami. Dalam hal ketepatan atau kepresisian maka
komputer dapat menghitung dalam tingkat mikro atau lebih kecil dari ukuran
tersebut.
2.1.6 Aplikasi Kecerdasan Buatan
Kecerdasan buatan dibagi atas beberapa sub disiplin ilmu yang
mengkonsentrasikan pada bagian-bagian aplikasi yang berbeda, antara lain: (
a. Sistem Pakar (Expert System)
Ada beberapa definisi tentang sistem pakar, antara lain:
• Menurut Durkin : Sistem pakar adalah suatu program komputer yang
dirancang untuk memodelkan kemampuan penyelesaian masalah yang
dilakukan oleh seorang pakar.
• Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang
berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya
dapat dibandingkan dengan keahlian seorang pakar.
• Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer
yang bisa menyamai atau meniru kemampuan seorang pakar.
18
• Menurut Sri Kusumadewi: Secara umum, sistem pakar adalah sistem yang
berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer
dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli.
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan
tahun 1960. Sistem pakar yang muncul pertama kali adalah General-purpose Problem
Solver (GPS) yang dikembangkan oleh Newel dan Simon. GPS (dan program-program
yang serupa) ini mengalami kegagalan dikarenakan cangkupannya terlalu luas sehingga
terkadang justru meninggalkan pengetahuan-pengetahuan penting yang seharusnya
disediakan.
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem
pakar, antara lain:
• Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi.
• Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan
seorang pakar.
• Seorang Pakar akan pensiun atau pergi.
• Seorang Pakar adalah mahal.
• Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat
(hostile environtment).
Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa
kelemahan, antara lain:
19
• Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
• Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan
pakar di bidangnya.
• Sistem pakar tidak 100% bernilai benar.
b. Logika Samar (Fuzzy Logic)
Logika samar dikatakan sebagai logika baru yang lama, sebab ilmu tentang
logika samar modern dan metodis baru ditemukan beberapa tahun yang lalu, padahal
sebenarnya konsep tentang logika samar itu sendiri sudah ada pada diri kita sejak lama.
Logika samar adalah suatu cara yang tepat untuk memetakan suatu ruang input
ke dalam suatu ruang output. Ada beberapa alasan mengapa orang menggunakan logika
samar, antara lain:
• Konsep logika samar mudah dimengerti. Konsep matematis yang mendasari
penalaran samar sangat sederhana dan mudah dimengerti.
• Logika samar sangat fleksibel.
• Logika samar memiliki toleransi terhadap data-data yang tidak tepat.
• Logika samar mampu memodelkan fungsi-fungsi nonlinear yang sangat
kompleks.
• Logika samar dapat membangun dan mengaplikasikan pengalaman-
pengalaman para pakar secara langsung tanpa harus melalui proses
pelatihan.
20
• Logika samar dapat bekerjasama dengan teknik-teknik kendali secara
konvensional.
• Logika samar didasarkan pada bahasa alami.
•
c. Jaringan Saraf Tiruan
Ada beberapa definisi jaringan saraf tiruan, antara lain:
• Menurut Arief Hermawan: Jaringan saraf tiruan adalah sistem komputasi di
mana arsitekutr dan operasi diilhami dari pengetahuan tentang sel saraf
biologis di dalam otak, yang merupakan salah satu representasi buatan dari
otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada
otak manusia tersebut.
• Menurut Sri Kusumadewi: jaringan saraf tiruan adalah merupakan salah satu
representasi buatan dari otak manusia yang selalu mencoba untuk
menstimulasikan proses pembelajaran pada otak manusia tersebut.
Yang diadopsi jaringan saraf tiruan dari proses kerja otak manusia adalah :
1. Jumlah processing element (neuro) yang sangat besar.
2. Neuron-neuron bekerja secara paralel.
3. Ada toleransi kesalahan (fault tolerance). Jika ada sebagian dari neuron
terjadi malfunction dalam batas tertentu maka sistem secara keseluruhan
tetap berjalan.
21
d. Algoritma Genetika (Genetic Algorithm)
Dasar-dasar algoritma genetika digali oleh John Holland pada pertengahan tahun
70-an. Algoritma genetika adalah metode komputasi yang meniru proses evolusi dan
seleksi alam. Metode ini sering dimanfaatkan untuk mencari nilai optimal suatu fungsi
atau permasalahan.
Beberapa keunggulan yang dimiliki GA adalah sebagai berikut (Hagiwara,
2003):
• GA memiliki kemampuan untuk mencari nilai optimal secara paralel,
melalui proses kerjasama antara berbagai unit yang disebut kromosom
individu.
• GA tidak memerlukan perhitungan matematika yang rumit seperti
differensial yang diperlukan oleh algoritma optimisasi yang lain.
Namun demikian GA memiliki juga kelemahan dan keterbatasan, antara lain:
• Tidak memiliki rumusan yang pasti bagaimana mentransfer parameter
permasalahan ke dalam kode genetic. Dengan kata lain, hal ini memerlukan
pengalaman dan wawasan dari desainer.
• Banyak parameter yang perlu diset secara baik agar proses evolusi dalam
GA berjalan sesuai dengan yang diharapkan.
• Penentuan rumus menghitung fitness merupakan hal yang sangat penting
dan mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur
yang baku bagaimana menentukan rumus tersebut. Dalam hal ini
pengalaman dari desainer memegang peranan penting.
22
Terlepas dari kendala yang ada, GA merupakan alternative solusi yang dikenal
cukup handal dalam berbagai masalah optimisasi.
e. Visi Komputer (Computer Vision)
Komputer dapat melakukan interpretasi terhadap gambar atau pola yang tampak.
2.2 Visi Komputer (Computer Vision)
Visi komputer merupakan ilmu pengetahuan yang mempelajari bagaimana
komputer dapat mengenali objek yang diamati atau diobservasi (transparansi Computer
Vision, Binus Univesity, 2002). Visi komputer oleh beberapa ahli didefinisikan sebagai
berikut:
• Menurut Adrian Low (1991), visi komputer berhubungan dengan perolehan
gambar, pemrosesan, klasifikasi, pengenalan, dan menjadi penggabungan,
pengurutan pembuatan keputusan menuju pengenalan.
• Menurut Michael G. Fairhurst (1995), visi komputer sesuai dengan sifatnya,
merupakan suatu subyek yang merangkul berbagai disiplin tradisional secara
luas guna mendasari prinsip-prinsip formalnya, dan dalam mengembangkan
suatu metodologi yang berlainan dari apa yang dimilikinya, pertama-tama
harus menggabungkan dan secara berurutan membangun materi yang
mendasari ini.
• Menurut Saphiro dan Stockman (2001), visi komputer adalah suatu bidang
yang bertujuan untuk membuat suatu keputusan yang berguna mengenai
objek fisik nyata dan keadaan berdasarkan atas sebuah citra. Visi komputer
23
merupakan kombinasi antara pengolahan citra dan pengenalan pola. Hasil
keluaran dari proses visi komputer adalah pengertian tentang citra.
Gambar 2.2 Skema hubungan visi komputer dengan bidang lain.
2.2.1 Citra Digital
Ada beberapa definisi citra digital, yaitu :
• Suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda
(menurut kamus webster).
• Gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang
kontinu menjadi gambar diskrit melalui proses sampling. Gambar analog
adalah representasi visual dari suatu objek menggunakan kamera analog yang
secara matematika dapat direpsresntasikan sebagai rentang nilai yang
24
menujukan letak (posisi) dan intensitas. Gambar analog dibagi menjadi N
baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris
dan kolom tertentu disebut dengan piksel. Sampling pada penjelasan di atas
adalah proses untuk menentukan warna pada piksel tertentu pada citra dari
sebuah gambar yang kontinu. Pada proses sampling biasanya dicari warna
rata-rata dari gambar analog yang kemudian dibulatkan. Proses sampling
sering juga disebut proses digitisasi.
• Representasi dari suatu objek nyata baik dalam bentuk 2 dimensi maupun 3
dimensi menjadi bentuk gambar digital yang dikenali oleh komputer (Anvil
K. Jain, 1989, p2).
• Fungsi intensitas warna dua dimensi f(x,y) dimana x dan y mewakili
koordinat lokasi suatu titik dan nilai dari fungsi yang merupakan tingkat
intensitas warna atau tingkat keabu-abuan dari titik tersebut (Robert
J.schalkoff, 1989, p9). Hal ini diilustrasikan pada gambar 2.3.
Gambar 2.3. Citra Digital
25
2.2.2 Pengolahan Citra
Pengolahan citra merupakan bidang studi yang mempelajari proses pengolahan
gambar dimana baik masukan maupun keluarannya berbentuk berkas citra digital
(Aniati Murni Arymurty, 1992). Juga dijelaskan bahwa pengolahan citra merupakan
pengolahan dan analisis citra yang banyak melibatkan persepsi visual.
Seperti yang dikemukakan oleh Chen (2003), bahwa kebutuhan untuk
memproses sebuah gambar dengan cepat dalam satu aplikasi merupakan salah satu
masalah utama dalam melakukan pengolahan citra. Sedangkan untuk aplikasi yang
bekerja secara real time lebih bergantung pada pemrosesan piksel atau signal yang cepat
daripada metode optimisasi lain yang rumit dan memakan waktu.
2.2.3 Pengenalan Pola
Pengenalan pola merupakan bidang studi yang melakukan proses analisis gambar
yang inputnya adalah gambar ataupun citra digital dan menghasilkan output suatu
deskripsi dengan tujuan untuk mendapatkan informasi yang disampaikan oleh gambar
atau citra. Cara kerja pengenalan pola ini seperti meniru kemampuan manusia (otak
manusia) dalam mengenali suatu objek atau pola tertentu (Computer Vision, Michael G.
farnhurst, 1988, p5).
Pengenalan pola adalah suatu proses analisis gambar, dimana masukkan berupa
sebuah citra dan hasil keluarannya berupa sebuah deskripsi citra tersebut. Proses ini
bertujuan untuk mengekstrak informasi yang disampaikan oleh citra. Pada pengenalan
pola dibutuhkan objek citra untuk diidentifikasikan. Hasil dari pengenalan pola ini akan
berupa kelas yang merupakan kelompok dari klasifikasinya (arymurty, 1992,p 168).
26
2.2.4 Pengekstrasian Fitur (Feature extraction)
Pada pengolahan citra serta pengenalan pola, terkadang terdapat data input yang
berukuran besar akan tetapi informasi yang dibutuhkan dari data input tersebut tidaklah
banyak. Dengan data input yang berukuran besar ini akan menimbulkan sejumlah
kendala seperti memperlambat proses kinerja ataupun membuat data input menjadi
tidak dapat diproses oleh algortima tertentu. Untuk mengatasi hal ini maka dilakukan
pengekstrasian fitur pada data input tersebut. Dengan pilihan pengekstrasian fitur yang
tepat maka akan dihasilkan sebuah set data yang berisi informasi yang relevan dari data
input.
Pengekstrasian fitur dapat diartikan sebagai proses mengambil informasi yang
relevan, berhubungan dengan klasifikasi data input dengan bantuan suatu alat. Biasanya
pengekstrasian fitur dilakukan dengan bantuan piranti lunak. Pemrosesan ini akan
mengubah pola data mentah dari gambar menjadi sebuah vektor ciri. Penggunaanya
akan mengurangi data yang terulang dalam seubah pola gambar (Saphiro dan Stockman,
2001,p 94). Teknik pengekstrasian fitur ini digunakan dalam proses, salah satunya
deteksi muka.
2.2.5. RGB to Gray
Konversi RGB To Gray melakukan transformasi dari sebuah image berwarna 24
bit dengan 3 channel menjadi sebuah image grayscale 8 bit dengan single channel.
konversi ini dilakukan dengan melakukan penjumlahan nilai bobot dari warna merah,
biru dan hijau dari citra berwarna. Rumus yang digunakan adalah:
27
Rumus 2.1
Y=0.114B+0.587G+0.299R.
2.2.6 Equalisasi Histogram
Equalisasi histogram bertujuan untuk meningkatan detail dan kontras pada citra,
terutama ketika data pada gambar dipresentasikan dengan nilai kontras yang sangat
dekat. Melalui penyesuaian, intensitas warna pada citra dapat didistribusikan secara
lebih baik pada histrogram. Equalisasi ini membuat area dengan nilai kontras yang kecil
mendapatkan nilai kontras yang tinggi tanpa mempengaruhi kontras secara keseluruhan.
Hal ini dilakukan dengan melakukan penyebaran secara efektif dari nilai intensitas yang
paling banyak.
Gambar 2.4 Template Gambar Grayscale dengan ukuran 8x8
28
Tabel 2.1 Jumlah intensitas warna
Nila Jumlah Nilai Jumlah Nilai Jumlah Nilai Jumlah Nilai Jumlah
52 1 64 2 72 1 85 2 113 1
55 3 65 3 73 2 87 1 122 1
58 2 66 2 75 1 88 1 126 1
59 3 67 1 76 1 90 1 144 1
60 1 68 5 77 1 94 1 154 1
61 4 69 3 78 1 104 2
62 1 70 4 79 2 106 1
63 2 71 2 83 1 109 1
Catatan : Nilai yang memiliki jumlah 0 tidak dimasukkan kedalam table.
Tabel 2.2 CDF (Fungsi Distribusi Kumulatif)
Nilai CDF Nilai CDF Nilai CDF Nilai CDF Nilai CDF
52 1 64 19 72 40 85 51 113 60
55 4 65 22 73 42 87 52 122 61
58 6 66 24 75 43 88 53 126 62
59 9 67 25 76 44 90 54 144 63
60 10 68 30 77 45 94 55 154 64
61 14 69 33 78 46 104 57
62 15 70 37 79 48 106 58
63 17 71 39 83 49 109 59
Catatan : Nilai CDF diperoleh dengan menjumlahkan jumlah nilai intensitas
Rumus 2.2
29
v = nilai
cdfmin = nilai CDF minimum
M = Panjang Matrix
N = Lebar Matrix
L = Tingkat Grey Level (256)
2.2.7 Dilasi dan Erosi
Dilasi dan erosi adalah bentuk konvolusi dari sebuah area citra dengan suatu
kernel. Proses dilasi mengakibatkan suatu area yang mempunyai brightness tinggi
dalam sebuah citra untuk membesar. Sedangkan erosi mengakibatkan suatu area
menjadi lebih sempit dalam sebuah citra.
Proses operasi dilasi yang diikuti oleh erosi disebut closing. Sedangkan proses
operasi erosi yang diikuti oleh dilasi sisebut opening.
Gambar 2.5 Citra Biner
30
Gambar 2.6 Proses Dilasi
Gambar 2.7 Proses Erosi
31
Proses Opening merupakan pengabungan operasi erosi dan operasi dilasi,
dimana pertama kali akan dilakukan proses erosi pada gambar dan gambar dari hasil
erosi akan dilanjutkan dengan proses dilasi. Hasil dari proses dilasi inilah yang disebut
sebagai hasil dari proses opening. (lihata gambar 2.8 dan 2.9)
Gambar 2.8 Proses opening-erosi
Gambar 2.9 Proses opening-dilasi
32
Proses closing merupakan pengabungan operasi erosi dan operasi dilasi, dimana
pertama kali akan dilakukan proses dilasi pada gambar dan gambar dari hasil dilasi akan
dilanjutkan dengan proses erosi. Hasil dari proses erosi inilah yang disebut sebagai hasil
dari proses closing. (lihata gambar 2.10 dan 2.11)
Gambar 2.10 Proses closing-dilasi
Gambar 2.11 Proses closing-erosi
33
2.2.8 Model Warna
Model warna adalah sebuah model abstrak matematika yang mendeskripsikan
bagaimana sebuah warna direpresentasikan sebagai tupel dari angka, umumnya
direpresentasikan dalam 3 atau 4 nilai komponen warnna. Contoh dari color model ini
adalah RGB dan CMYK.
Model warna RGB (Red Green Blue) adalah sebuah model warna aditif yang
mana cahaya berwarna merah , hijau dan biru dipadukan dalam bermacam-macam cara
untuk mereproduksi nilai-nilai warna. Tujuan dari model warna RGB ini adalah untuk
sensing (Pengindraan), Representasi dan menampilkan gambar di sistem elektronik
seperti cahaya. Model ini bersifat aditif karena melibatkan cahaya yang dipancarkan
secara langsung dari sebuah sumber.
Model warna CMYK (Cyan Yellow Magenta Black) adalah sebuah model warna
subtraktif yang digunakan untuk pencetakan warna. Model warna ini bekerja melalui
masking sebagian atau seluruh warna tertentu dalam sebuah latar belakang yang putih.
Model ini bersifat subtraktif karena memanfaatkan campuran dari cat,celupan,tinta dan
pewarna alami untuk menghasilkan nilai-nilai wawrna. Setiap warna yang muncul
disebabkan Penyerapan campuran dari beberapa panjang gelombang cahaya dan
merefleksikan panjang gelombang lainnya.
Dalam pencetakan warna, Cyan adalah komplemen dari merah, yang menandakan cyan
bekerja sebagai filter yang menyerap merah. Jumlah cyan yang digunakan dalam kertas
akan menentukan seberapa besar warna merah ditampilan. Magenta adalah komponen
dari warna hijau dan kuning adalah komplemen dari biru. CMYK umumnya digunakan
dalam percetakan.
34
2.2.9 Brightness (Luminansi)
Brightness adalah sebuah dari atribut dalam persepsi visual mengenai sebuah
sumber/objek yang men-radiasikan atau merefleksikan cahaya.Dalam hal ini brightness
menjelaskan mengenai jumlah cahaya yang menembus atau dipancarkan dari sebuah
area.
Dalam model warna RGB, brightness dapat dianggap sebagai rata-rata
aritmatika dari nilai warna merah,hijau dan biru.
3
2.2.10 Kontras (Contrast)
Kontras adalah perbedaan dalam propertivisual yang membuat sebuah gambar
dapat dipisahkan dari objek lain dan latar belakang. Dalam persepsi visual dunia nyata,
kontras ditentukan oleh perbedaan warna dan brightness dari sebuah objek dan objek
lain yang berada dalam pandangan.
2.3 Open CV
2.3.1 Definisi OpenCV
OpenCV adalah singkatan dari Open Computer Vision, yaitu pustaka
opensource yang dikhususkan untuk melakukan image prosessing. Tujuaannya adalah
agar komputer mempunyai kemampuan yang mirip dengan cara pengolahan visual pada
manusia. Library ini dibuat untuk bahasa C/C++ sebagai optimasi realtime aplikasi,
mempunyai API (Aplication Programming Interface) untuk tingkat tinggi maupun
35
tingkat rendah, terdapat fungsi-fungsi yang siap pakai untuk loading, saving, akuisisi
gambar atau video.
Gambar 2.12 Perkembangan OpenCV
2.3.2 Fitur OpenCV
Pustaka OpenCV ini mempunyai fitur sebagai berikut :
• Manipulasi data gambar (alokasi memori, melepaskan memori, kopi gambar,
setting serta konversi gambar).
• Image/Video I/O (Bisa menggunakan camera yang sudah didukung oleh
pustaka ini).
• Manipulasi matriks dan vektor serta terdapat juga routines linear algebra
(products, solvers, eigenvalues, SVD).
• Image processing dasar (filtering, edge detection, sampling dan interpolasi,
konversi warna, operasi morfologi, histograms, image pyramids).
• Analisis struktural
• Kalibrasi kamera
36
• Pendeteksian gerak
• Pengenalan objek
• Basic GUI (Display gambar/video, mouse/keyboard optic, scrollbar).
• Image Labelling (line, conic, polygon, text drawing).
Gambar 2.13 Struktur dasar OpenCV
2.4 Mata
Mata adalah organ penglihatan yang mendeteksi cahaya. Fungsi mata yang
paling sederhana adalah mengetahui apakah lingkungan sekitarnya adalah terang atau
gelap. Mata yang lebih kompleks dipergunakan untuk memberikan pengertian visual.
Bagian-bagian pada organ mata bekerjasama mengantarkan cahaya dari
sumbernya menuju ke otak untuk dapat dicerna oleh sistem saraf manusia. Bagian-
bagian tersebut adalah:
37
• Kornea
Merupakan bagian terluar dari bola mata yang menerima cahaya dari sumber
cahaya.
• Pupil dan Iris
Dari kornea, cahaya akan diteruskan ke pupil. Pupil menentukan kuantitas
cahaya yang masuk ke bagian mata yang lebih dalam. Pupil mata akan
melebar jika kondisi ruangan yang gelap, dan akan menyempit jika kondisi
ruangan terang. Lebar pupil dipengaruhi oleh iris di sekelilingnya.Iris
berfungsi sebagai diafragma. Iris inilah terlihat sebagai bagian yang berwarna
pada mata.
• Lensa mata
Lensa mata menerima cahaya dari pupil dan meneruskannya pada retina.
Fungsi lensa mata adalah mengatur optik cahaya, sehingga cahaya jatuh tepat
pada bintik kuning retina. Untuk melihat objek yang jauh (cahaya optik dari
jauh), lensa mata akan menipis. Sedangkan untuk melihat objek yang dekat
(cahaya optik dari dekat), lensa mata akan menebal.
• Retina
Retina adalah bagian mata yang paling peka terhadap cahaya, khususnya
bagian retina yang disebut bintik kuning. Setelah retina, cahaya diteruskan ke
saraf optik.
• Saraf optik
Saraf yang memasuki sel tali dan kerucut dalam retina, untuk menuju ke otak.
38
Gambar 2.14 Skema Mata
2.5 Metode Pendeteksian Objek
Langkah awal yang perlu dilakukan dalam perancangan piranti penunjuk
berbasis gerakan mata adalah mendeteksi objek. Objek yang akan dideteksi adalah area
mata. Untuk memudahkan pendeteksian terhadap area mata, maka diawali dengan
pendeteksian terhadap wajah. Hal ini dilakukan dengan mempertimbangkan beberapa
hal yaitu:
• Pendeteksian citra wajah akan lebih mudah dilakukan dari pada pendeteksian
citra mata. Hal ini didasarkan pada ukuran wajah yang lebih besar dan
karakteristik wajah yang lebih mudah dikenali.
• Citra mata pasti terletak di dalam citra wajah.
• Dengan melakukan pendeteksian terhadap citra wajah terlebih dahulu maka
akan memperkecil kemungkinan dari kesalahan pendeteksian citra mata.
Selain itu waktu pendeteksian pun menjadi lebih cepat, karena ruang
39
pendeteksian objek diperkecil dari seluruh area citra gambar menjadi area
citra wajah saja.
Terdapat banyak metode yang dapat digunakan untuk melakukan pendeteksian.
Setiap metode memiliki kelebihan dan kelemahan tersendiri. Untuk pendeteksian objek
pada citra yang bersifat asimetris (jumlah persebaran antara objek yang dicari dan
bukan objek tidak seimbang), metode viola-jones merupakan sebuah metode yang
sesuai. Metode viola-jones ini cukup efektif untuk diterapkan pada pendeteksian wajah.
Setelah wajah terdeteksi maka akan dilanjutkan dengan pendeteksian area mata,
pendeteksian ini dilakukan dengan menentukan letak area mata pada wajah
menggunakan perbandingan yang telah ditentukan.
2.5.1 Metode Viola-Jones
Metode ini dikembangkan oleh Paul Viola dan Micheal Jones pada tahun 2001.
Metode ini menggunakan 3 hal utama dalam melakukan pendeteksian objek, yaitu:
• Cascasde classifier
• Haar –like features
• Algoritma Ada Boost
2.5.1.1 Cascade of Classifier
Cascade of classifier adalah suatu metode klasifikasi yang menggunakan
beberapa tingkatan dalam melakukan penyeleksian (klasifikasi). Ditiap tingkatan
dilakukan proses peyeleksian menggunakan algoritma Adaboost yang telah di training
40
dengan menggunakan haar-like feature. Penyeleksian bertujuan untuk memisahkan
antara sub window yang mengandung positif objek (gambar yang terdeteksi memiliki
objek yang diinginkan) dengan negatif objek (gambar yang tidak terdeteksi memiliki
objek yang diinginkan). Hasil dari penyeleksian ini (positif objek) akan dijadikan
sebagai input dalam melakukan penyeleksian di tingkatan berikutnya.
Pada tingkatan awal digunakan algoritma sederhana yang memiliki kompleksitas
rendah dalam mengeliminasi negatif objek dari sub-window. Jumlah negatif objek yang
tereliminasi pada tingkatan awal cukup banyak, hal ini dikarenakan persebaran objek
pada citra yang asimetris (Finding Faces in Images, Robin Hewitt, part 2). Hasil
pengeliminasian pada tingkatan awal akan menjadi input untuk proses pengelminasian
pada tingkatan selanjutnya sehingga pada tingkatan selanjutnya jumlah sub-window
yang diseleksi menjadi lebih sedikit. Pada tingkatan selanjutnya dilakukan penyeleksian
dengan algoritma yang lebih komplek, untuk mendeteksi sub window dengan kriteria
yang lebih spesifik. Hal ini dilakukan agar proses pengklasifikasian dapat dilakukan
dengan lebih cepat dan efisien.
Contoh : Pendeteksian objek berbentuk lingkaran pada gambar dengan latar
belakang hitam. Casacade of classifier akan menggunakan tingkatan pengklasifikasian
sebagai berikut :
• Di tingkatan awal akan disisihkan sub window yang hanya mengandung latar
belakang.
• Di tingkatan kedua dilakukan pendeteksian sub window dari hasil tingkatan
awal dengan criteria yang lebih spesifik misalnya berbentuk menyerupai
lingkaran.
41
• Di tingkatan selanjutnya dilakukan pendeteksian dengan kriteria objek mana
yang tepat berbentuk lingkaran (membedakan objek lingkaran dan elips).
2.5.1.2 Haar-like Feature
Fitur yang digunakan pada metode viola-jones adalah fitur haar-like. Fitur Haar-
like merupakan sebuah persegi panjang dua dimensi yang terdiri dari bagian gelap dan
bagian terang.
Gambar 2.15 Fitur Haar-like
Untuk menghitung nilai dari fitur haar-like dapat dilakukan dengan dua cara
yaitu :
• Dengan mencari selisih nilai
Proses perhitungan ini dilakukan dengan mengurangi nilai rata-rata piksel
gelap dengan nilai rata-rata piksel terang. Jika nilai yang dihasilkan di atas
nilai threshold, maka sub window yang dideteksi dengan fitur tersebut
42
dianggap sebagai positif objek Penentuan nilai threshold dilakukan saat
training menggunakan algoritma adaboost.
Rumus 2.3:
• Dengan menggunakan integral image
Secara umum, integrating berarti menggabungkan unit-unit kecil
menjadi satu. Dalam hal ini unit-unit kecil adalah nilai piksel. Nilai integral
untuk setiap piksel adalah jumlah dari semua piksel diatas dan di kiri piksel
tersebut. Mulai dari kiri atas dan bergerak ke kanan bawah, seluruh citra
dapat digabungkan dengan operasi nilai yang lebih sedikit tiap pikselnya.
Gambar 2.16 Integral Image
43
DCABADCBAAPPPPDCBAPCAPBAPAP
=−−−−++++=−−++++=+=+==
3241
4321 ,,,
Rumus 2.4:
Gambar 2.17 Perhitungan integral image
Rumus 2.5:
2.5.1.3 Algoritma Adaboost
Algoritma adaboost adalah algoritma yang berusaha membangun strong
classifier dengan mengkombinasikan sejumlah simple atau weak classifer secara linier.
Algoritma adaboost ini menggunakan prinsip dari pohon keputusan (decision trees),
pohon keputusan yang digunakan bisa berupa satu tingkatan cabang (decision stump)
atau beberapa tingkatan cabang (dapat mencapai tiga tingkatan).
Rumus 2.7:
∑≤≤
=yyxx
yxiyxP','
)','(),(
44
-> weak atau basic classifiers
-> tingkat pembelajaran (learnig rate)
H(x) -> dilambangkan dengan F(x) strong atau final classifier
Kelebihan dari algoritma Adaboost :
• Adaboost mampu mengurangi nilai bias maupun perbedaan pada weak
classifier.
• Adaboost memiliki kemampuan generalisasi yang baik.
• Output Adaboost mengkonversi ke logaritma dengan rasio terdekat.
• Adaboost dapat dilihat sebagai pemilih fitur dengan strategi berprinsip
(minimalisasi dari batas atas error).
• Adaboost dekat dengan pembuatan keputusan linier.
Algoritma: Algoritma Adaboost (Freund and Schapire)
Input : Sebuah algoritma pembelajaran yang lemah (WeakLearn), sebuah integer
t yang menspesifikasi banyaknya iterasi, dan data training sebanyak N
{(x1,y1),...,(xN,yN)}.
Output : strong classifier F.
Inisialisasi vektor weight = , untuk i = 1,…, N.
for t 1, 2, . . . , t do
• pt wt / ∑
• Panggil WeakLearn, masukkan distribusi pada pt; akan didapat sebuah
pembelajaran “weak” baru ht: X ±1.
45
• Hitung kesalahan weight dari ht:
• ∑ | |
• log
• exp | | , 1,2, … ,
Output : strong classifier
1, 0
1,
2.5.2 Metode Pencarian Area Mata
Setelah berhasil mendeteksi wajah, maka maka dilanjutkan dengan pendeteksian
area mata. Pendeteksian dilakukan dengan melakukan perbandingan, metode ini
didasarkan pada posisi mata normal yang sudah pasti yaitu berada di antara posisi
tengah dan batas atas bagian wajah yang terdeteksi.
46
Gambar 2.18 Pencarian Area Mata
Keterangan Gambar
X1,y1 = Sumbu X dan Y Pojok Kiri Wajah
X2,y2 = Sumbu X dan Y Pojok kiri mata 1 (mata kanan)
X3,y3 = Sumbu X dan Y pojok kiri mata 2 (mata kiri)
X4,y4 = Sumbu X dan Y koordinat pusat mata 1 (mata kanan)
X5,y5 = Sumbu X dan Y koordinat pusat mata 2 (mata kiri)
t = Tinggi wajah
l = lebar wajah
Nilai x1,y1,x2,y2,l dan t didapatkan dari fungsi metode Haar face Viola Jones.
Dalam metode ini daerah wajah yang ditangkap dibagi menjadi 4 kuadran, area mata
akan berada di kuadran 1 dan kuadran 2. Kuadran 1 dan 2 masing-masing akan dibagi
47
menjadi bagian secara horizontal dengan luas yang merata. Maka mata akan berada
pada bagian ke 3 dan ke 4 dari atas. Batas pojok kiri atas bagian ke 3 akan menjadi nilai
x2,y2 dan x3,y3. Dan titik pusat dari gabungan bagian ke 3 dan ke 4 menjadi nilai dari
koordinat x4,y4,x5,y5.
2.6 Optical Flow
Memperkirakan gerakan suatu objek dari frame awal ke frame selanjutnya
(penjejakan objek) akan sulit dilakukan tanpa adanya informasi dan pengetahuan dasar
dari frame tersebut. Akan tetapi dengan mengetahui ciri khusus dari objek yang dijejaki
maka dapat dilakukan proses penjejakan. Proses penjejakan dilakukan dengan mencari
arah dan nilai kecepatan (velocity) dari posisi objek. Posisi objek pada frame awal akan
dihubungkan dengan posisi objek pada frame selanjutnya.
Gambar 2.19 Optical Flow
Optical flow:
Kiri atas, fitur target dijejaki tiap saat.
Kanan atas, pergerakan fitur target diubah kedalam vektor kecepatan.
48
2.7 Good Corner
Penentuan titik yang memiliki ciri khusus merupakan salah satu langkah penting
yang perlu dilakukan agar proses penjejakan objek dapat dilakukan. Penentuan fitur ini
dilakukan dengan mencari daerah yang memiliki nilai gradien lebih tinggi dibandingkan
sekitarnya pada area tertentu, fitur inilah yang disebut good corner. Pada penelitian ini
pencarian dilakukan di sekitar area mata. Good corner inilah yang akan dijadikan
sebagai acuan dalam melakukan penjejakan objek menggunakan metode lucas-kanade.
2.8 Metode Lucas-Kanade
Metode Lucas-Kanade diusulkan pada tahun 1981 oleh Bruce D. Lucas dan
Takeo Kanade. Metode ini merupakan salah satu metode penjejakan yang cukup baik,
kelebihan dari metode ini adalah dapat dengan mudah diterapkan pada sekumpulan
point yang terpadat pada input (sparse) karena bergantung hanya pada informasi lokal
yang didapatkan dari beberapa small windows yang menyelubungi objek dari point
yang dijejaki.
Ide dasar dari algoritma Lucas-Kanade bertumpu pada 3 asumsi:
1. Brightness constancy
Sebuah pixel dari citra yang berupa sebuah object dalam gambar tidak
mengalami perubahan penampilan seiring perpindahannya dari satu frame ke
frame berikutnya. Untuk citra berintensitas Grayscale, ini berarti kita
mengasumsikan bahwa nilai Brightness dari sebuah pixel tidak berubah
sepanjang penjejakan dari satu frame ke frame lain.
49
2. Small Movement
Pergerakan citra di sebuah bidang permukaan berganti secara perlahan.
Dalam praktiknya, ini berarti peningkatan sementara relatif cukup cepat
terhadap skala gerakan dalam gambar dimana objek tersebut tidak berpindah
terlalu banyak dari frame yang satu ke frame yang lain.
3. Spatial Coherence
Titik Neighboring dalam sebuah citra yang bergerak dimaksudkan untuk
bidang yang sama, mempunyai pergerakan yang mirip dan di projeksikan ke
titik point terdekat dalam bidang gambar.
Perhitungan matematisnya:
Rumus 2.7
Proses matematis dari metode Lucas Kanade:
Persamaan perubahan posisi dalam selang waktu yang singkat
, , ,
Diasumsikan perubahan posisi yang terjadi sangat sedikit, digunakan deret
taylor menjadi :
, , = , , . .
H.O.T adalah Higher Order Terms, H.O.T ini memiliki nilai yang kecil
sehingga dapat diabaikan. Maka persamaan baru dapat ditulis seperti ini :
, , = , ,
50
, , , , 0
0
Dengan 2 peubah variable dalam 1 persamaan maka persamaan ini tidak dapat
diselesaikan (nilai dari variable tidak bisa ditentukan).
Dianggap velocity (Vx,Vy) bernilai konstan.
.
1 1 1
2 2 2
Persamaan tersebut di rubah kebentuk gauss.
51
1 12 2 =
1 12 2
12
A U= -b
AT A U= AT (-b)
U = (AT A)-1 AT (-b)
2.9 Use Case Diagram
Use Case adalah satu set dari skenario yang dikumpulkan bersama-sama oleh
hasil dari pengguna yang biasa terjadi. Diagram use case menggambarkan fungsi-fungsi
dari sebuah sistem menggunakan aktor dan use cases. Use case merupakan pelayanan
atau fungsi yang dimiliki oleh sistem untuk penggunanya. Tujuan dari pembuatan use
case ini adalah:
1. Untuk memecah-mecah permintaan dari pengguna menjadi beberapa bagian
yang memiliki kesatuan arti.
2. Sebagai dasar dalam perencanaan konstruksi.
3. Sebagai basis untuk mencoba sistem.
52
Gambar 2.20 Use Case Diagram
Notasi-notasi dari diagram use case dapat dilihat sebagai berikut:
• Sistem
Gambaran batasan sistem menggunakan segi empat yang berisi beberapa use
case.
• Use Case
Use case digambarkan dalam bentuk elips. Isikan dengan kata-kata yang
menggambarkan fungsi-fungsi dari sistem.
• Aktor
Aktor adalah pengguna dari sistem. Diletakkan di luar batasan sistem.
53
ActionState1
ActionState2 ActionState3
2.10 Activity Diagram
Sebuah activity diagram memperlihatkan sebuah sistem yang dinamis dengan
cara menggambarkan alur kontrol dari aktifitas. Sebuah aktifitas menggambarkan
sebuah operasi dalam kelas yang ada di sistem dimana hasilnya sebuah perubahan status
dari sebuah sistem. Tujuan dari pembuatan activity diagram ini adalah:
1. Untuk menggambarkan tingkah laku dengan struktur kontrol.
2. Dapat memperlihatkan kegunaan-kegunaan dari objek, objek dalam satu use
case atau implementasi dari fungsi.
3. Mendorong tingkah laku yang berjalan bersamaan.
Gambar 2.21 Activity Diagram
54
Notasi-notasi pada activity diagram dapt dilihat sebagai berikut:
• Status Aksi
Status aksi menunjukkan objek suatu aksi yang tidak bisa diganggu. Status
aksi dapat digambarkan dengan segi empat yang sisinya melingkar.
• Alur Aksi
Panah dari alur aksi menggambarkan hubungan antara status aksi.
• Status Awal
Sebuah lingkaran yang isinya berwarna hitam dan diikuti oleh sebuah panah
menggambarkan status awal dari aksi.
• Status Akhir
Sebuah panah yang dialirkan ke sebuah lingkaran yang didalamnya terdapat
lingkaran berwarna hitam menggambarkan status akhir dari aksi.
• Percabangan
Sebuah bentuk seperti belah ketupat menggambarkan sebuah pilihan dengan
jalan lain. Panah harus diberi label sebuah kondisi. Bisa juga salah satu
panah diberi label “else”.