2011-1-00314-if 2
TRANSCRIPT
-
7/25/2019 2011-1-00314-if 2
1/26
9
BAB 2
LANDASAN TEORI
2.1 Pengertian Kecerdasan Buatan
Kecerdasan buatan (Artificial Intelligence) didefinisikan sebagai kecerdasan
yang ditunjukan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap seperti
kecerdasan pada komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu
komputer agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Sistem
kecerdasan buatan sering digunakan dalam bidang ekonomi, kedokteran, teknik dan
militer. Kecerdasan buatan bukan hanya ingin mengerti sistem kecerdasan, tapi juga
mengkonstruksinya.
Kecerdasan buatan merupakan suatu cabang dalam bidang sains yang mengkaji
tentang bagaimana melengkapi sebuah komputer dengan kemampuan atau kepintaran
seperti manusia. Sebagai contoh, bagaimana komputer bisa belajar sendiri dari
pengalaman dan data-data yang telah dikumpulkannya, bagaimana komputer mampu
berkomunikasi dan mengucapkan kata demi kata. Dengan kemampuan ini, diharapkan
komputer mampu mengambil keputusan sendiri untuk berbagai kasus yang ditemuinya.
Industri kecerdasan buatan berkembang semenjak tahun 1980-an, meskipun sudah
dimulai dari tahun 1970-an.
Evolusi kecerdasan buatan berjalan dalam dua lajur berbeda. Pertama,
menciptakan sistem komputer yang meniru proses berpikir manusia untuk
menyelesaikan permasalahan umum, misalnya program permainan catur. Kedua,
-
7/25/2019 2011-1-00314-if 2
2/26
10
mengkombinasikan pemikiran terbaik para ahli pada penggalan softwareyang dirancang
untuk memecahkan persoalan yang spesifik. Biasanya disebut juga dengan sistem pakar,
misalnya bagaimana dokter menentukan penyakit seorang pasien, mulai dari tanya
jawab, pemeriksaan kondisi tubuh seperti mata, tekanan darah, suhu tubuh dan
sebagainya. Langkah-langkah ini pula yang berusaha diterapkan pada komputer agar
mampu berpikir seperti pakar.
Kecerdasan diartikan sebagai suatu kemampuan untuk memperoleh pengetahuan
dan menggunakannya. Kecerdasan adalah sesuatu yang diukur oleh sebuah tes
kecerdasan. Secara garis besar, kecerdasan buatan terbagi ke dalam dua paham
pemikiran yaitu kecerdasan buatan konvensional dan kecerdasan komputasional.
Kecerdasan buatan konvensional melibatkan metode-metode yang sekarang
diklasifikasikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan
analisis statistik. Dikenal juga sebagai kecerdasan buatan simbolis, kecerdasan buatan
logis, kecerdasan buatan murni dan kecerdasan buatan cara lama.
Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif,
misalnya penalaran parameter dalam sistem koneksionis. Pembelajaran yang
berdasarkan pada data empiris dan diasosiasikan dengan kecerdasan buatan non-
simbolis, kecerdasan buatan yang tidak teratur.
2.1.1 Metode-metode Dalam Kecerdasan Buatan Konvensional
1. Sistem pakar
2. Pertimbangan berdasarkan kasus
-
7/25/2019 2011-1-00314-if 2
3/26
11
3. Jaringan Bayesian
4. Kecerdasan buatan berdasarkan tingkah laku
2.1.2 Metode-metode Dalam Kecerdasan Buatan Komputasional
1. Jaringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat
Neural Network (NN), adalah suatu struktur pemroses informasi yang
terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang
memiliki memori lokal dan beroperasi dengan informasi lokal) yang
diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap
elemen pemroses memiliki koneksi keluaran tunggal yang bercabang (fan out) ke
sejumlah koneksi colateral yang diinginkan (setiap koneksi membawa sinyal
yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen
pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang
diinginkan. Seluruh proses yang berlangsung pada setiap elemen pemroses harus
benar-benar dilakukan secara lokal, yaitu keluaran h anya bergantung pada n ilai
masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan
dalam memori lokal.
2. Sistem Fuzzy
Peningkatan dari logika boolean yang berhadapan dengan konsep
kebenaran. Sistem ini digunakan untuk mendapatkan suatu nilai kebenaran yang
mana prosesnya yang mentoleransi ketidakpastian dari hasil proses.
-
7/25/2019 2011-1-00314-if 2
4/26
12
3. Komputasi evolusioner
Algoritma genetika diimplementasikan pada penjadwalan mata kuliah
dengan memperhatikan batasan keras dan batasan lunak yang telah didefinisikan
dan mengukur kinerja algoritma terhadap parameter probabilitas persilangan,
probabilitas mutasi, jumlah individu, selective pressure, dan waktu proses. Dari
penelitian y ang dilakukan diperoleh hasil bahwa untuk memperoleh solusi y ang
baik dengan waktu yang efisien, maka harus ditetapkan kombinasi nilai-nilai
parameter genetika yang efisien.
2.1.3 Definisi Kecerdasan Buatan
1. H. A. Simon [1987] :
Kecerdasan buatan merupakan kawasan penelitian, aplikasi dan instruksi yang
terkait dengan pemrograman komputer untuk melakukan sesuatu hal y ang dalam
pandangan manusia adalah cerdas.
2. Rich and Knight [1991]:
Kecerdasan buatan merupakan sebuah studi tentang bagaimana membuat
komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh
manusia.
-
7/25/2019 2011-1-00314-if 2
5/26
13
3. Encyclopedia Britannica:
Kecerdasan buatan merupakan cabang dari ilmu komputer yang dapat
merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol
dari pada bilangan, dan memproses informasi berdasarkan metode heuristic atau
dengan berdasarkan sejumlah aturan.
2.2 Sejarah Kecerdasan Buatan
Di awal abad 20, seorang penemu Spanyol, Torres y Quevedo, membuat sebuah
mesin yang dapat menskak-matraja lawannya dengan sebuah ratu dan raja.
Perkembangan secara sistematis kemudian dimulai segera setelah ditemukannya
komputer digital. Artikel ilmiah pertama tentang Kecerdasan Buatan ditulis oleh Alan
Turing pada tahun 1950, dan kelompok riset pertama dibentuk tahun 1954 di Carnegie
Mellon University oleh Allen Newell and Herbert Simon.
Namun bidang Kecerdasan Buatan baru dianggap sebagai bidang tersendiri di
konferensi Dartmouth tahun 1956, dimana 10 peneliti muda memimpikan menggunakan
komputer untuk memodelkan bagaimana cara berpikir manusia. Hipotesis mereka
adalah: Mekanisme berpikir manusia dapat secara tepat dimodelkan dan disimulasikan
pada komputer digital, dan ini menjadi landasan dasar Kecerdasan Buatan.
2.2.1 Perbandingan Kecerdasan Buatan Dengan Program Komputer
Konvensional
Program komputer konvensional prosesnya berbasis algoritma, yakni formula
matematis atau prosedur sekuensial yang mengarah kepada suatu solusi. Algoritma
-
7/25/2019 2011-1-00314-if 2
6/26
14
tersebut dikonversikan ke program komputer yang memberitahukan komputer secara pasti
instruksi apa yang harus dikerjakan. Algoritma yang dipakai kemudian menggunakan data
seperti angka, huruf, atau kata untuk menyelesaikan masalah.
Perangkat lunak Kecerdasan Buatan berbasis representasi serta manipulasi
simbolik. Di sini simbol tersebut berupa huruf, kata, atau angka yang mempresentasikan
obyek, proses dan hubungan keduanya. Sebuah obyek bisa merupakan seorang manusia,
benda, pikiran, konsep, kejadian, atau pernyataan suatu fakta. Dengan menggunakan
simbol, kita dapat menciptakan basis pengetahuan yang berisi fakta, konsep, dan
hubungan di antara keduanya. Kemudian beberapa proses dapat digunakan untuk
memanipulasi simbol tersebut untuk menghasilkan nasehat atau rekomendasi untuk
penyelesaian suatu masalah. Perbedaan dasar antara Kecerdasan Buatan dengan program
komputer konvensional dapat dilihat pada tabel
Tabel 2.1 Perbandingan antara AI dan Program Konvensional
Aspek AI Program Konvensional
Pemrosesan Sebagian besar simbolik Algoritmik
Input Tidak harus lengkap Harus lengkap
Pendekatan pencarian Sebagian besar heuristik Algoritma
Fokus Pengetahuan Data
Pemeliharaan & peningkatan Relat if mudah Biasanya sulit
Kemampuan berpikir secara
logis
Ada T idak ada
-
7/25/2019 2011-1-00314-if 2
7/26
15
2.2.2 SejarahIP Camera
IP Camera adalah pengembangan sistem CCTV yang telah ada sejak 1940-an.
Kamera CCTV pertama kali digunakan oleh militer Amerika Serikat di tahun 1940-an
untuk monitoring pengujian misil V2. Selama tahun 1960-an, CCTV digunakan di
Inggris Raya untuk memantau orang banyak di depan umum. Selama bertahun-tahun,
sistem CCTV telah mengalami berbagai perkembangan dan telah digunakan di banyak
negara untuk video pengawasan di tempat-tempat umum dan ATM. Namun hal itu tidak
sampai pada tahun 1996 yang pertamaNetwork Cameradikembangkan.
Pada tahun 1996, Axis Komunikasi mengembangkan jaringan pertama IP
Camera yang tidak seperti Camera CCTV, dapat dimonitor dan dikontrol melalui IP
Network. IP Camera ini menggunakan platform Linux. Axis juga merilis dokumentasi
untuk API tingkat rendah yang disebut VAPIX yang didasarkan pada standar terbuka
HTTP dan RTSP. Arsitektur terbuka ini dimaksudkan untuk mendorong perangkat lunak
pihak ketiga produsen untuk mengembangkan manajemen yang kompatibel dan
perangkat lunak perekaman.
Seperti masih kamera digital, resolusi kamera IP telah meningkat seiring dengan
berjalannya waktu. M egapixelIP Camerasekarang telah tersedia resolusi dari 1, 2, 3, 5
dan bahkan 11 megapixel. Sekarang ini ada banyak sekali produsen IP Camera. IP
Vendor peralatan pengawasan khusus meliputi peralatan digital imaging produsen dan
produsen besar yang aktif dalam konsumen, siaran, dan keamanan video. Kemudian pada
tahun 1998, Iqin Vision memperkenalkan model Megapixel pertama Jaringan IP
Camera. Pada tahun berikutnya, Milestone Systems meluncurkan sebuah platform
terbuka perangkat lunak untuk mengelola IP Camera video berbasis surveillance.
-
7/25/2019 2011-1-00314-if 2
8/26
16
Pada awal tahun 2000-an, Network kamera dengan Power over Ethernet (PoE)
dikembangkan. Teknologi PoE listrik memungkinkan untuk dapat dibawa ke dalam
kamera melalui kabel yang sama yang digunakan untuk koneksi jaringan. Itu membuat
instalasi lebih mudah dengan menghilangkan kebutuhan daya kamera outlet di lokasi.
Sebagai teknologi yang maju, beberapa jenis kamera jaringan dikembangkan, termasuk
Wireless IP Camera, PTZ Camera, JaringanDome CamerasdanNight Vision Cameras.
2.3 Bidang Aplikasi Kecerdasan Buatan
Penerapan Kecerdasan Buatan meliputi berbagai bidang seperti ditunjukan pada
bagian akar pohon AI, antara lain: Bahasa/Linguistik, Psikologi, Filsafat, Teknik
Elektro, Ilmu Komputer, dan Ilmu Managemen. Sedangkan sistem cerdas yang banyak
dikembangkan saat ini adalah:
Sistem Pakar, yaitu program konsultasi yang mencoba menirukan proses
penalaran seorang pakar/ahli dalam memecahkan masalah yang rumit. Sistem pakar
merupakan aplikasi Kecerdasan Buatan yang paling banyak.
Pemrosesan Bahasa Alami, yang memberi kemampuan pengguna komputer
untuk berkomunikasi dengan komputer dalam bahasa sehari-hari. Sehingga komunikasi
dapat dilakukan dengan cara percakapan alih-alih menggunakan perintah yang biasa
digunakan dalam bahasa komputer biasa. Bidang ini dibagi menjadi 2:
a. Pemahaman bahasa alami, yang mempelajari metode yang memungkinkan
komputer mengerti perintah yang diberikan dalam bahasa manusia biasa. Dengan
kata lain, komputer dapat memahami manusia.
-
7/25/2019 2011-1-00314-if 2
9/26
17
b. Pembangkitkan bahasa alami, sering disebut juga sintesa suara, yang membuat
komputer dapat membangkitkan bahasa manusia biasa sehingga manusia dapat
memahami komputer secara mudah.
Pemahaman Ucapan/Suara, adalah teknik agar komputer dapat mengenali dan
memahami bahasa ucapan. Proses ini mengijinkan seseorang berkomunikasi dengan
komputer dengan cara berbicara kepadanya. Istilah pengenalan suaramengandung arti
bahwa tujuan utamanya adalah mengenai kata yang diucapkan t anpa harus tahu artinya,
dimana bagian itu merupakan tugas pemahaman suara. Secara umum prosesnya adalah
usaha untuk menerjemahkan apa yang diucapkan seorang manusia menjadi kata-kata
atau kalimat yang dapat dimengerti oleh komputer.
Sistem Sensor dan Robotika, sistem sensor seperti sistem visi dan pencitraan,
serta sistem pengolahan sinyal, merupakan bagian dari robotika. Sebuah robot, yaitu
perangkat elektromekanik yang diprogram untuk melakukan tugas manual, tidak
semuanya merupakan bagian dari Kecerdasan Buatan. Robot yang hanya melakukan
aksi yang telah diprogramkan dikatakan sebagai robot bodoh yang tidak lebih pintar dari
lift. Robot yang cerdas biasanya mempunyai perangkat sensor, seperti kamera yang
mengumpulkan informasi mengenai operasi dan lingkungannya. Kemudian bagian AI
robot tersebut menerjemahkan informasi tadi dan merespon serta beradaptasi jika terjadi
perubahan lingkungan.
Intelligent Tutoringadalah komputer yang mengajari manusia. Belajar melalui
komputer sudah lama digunakan, namun dengan menambahkan aspek kecerdasan di
dalamnya, dapat tercipta komputer guruyang dapat mengatur teknik pengajarannya
untuk menyesuaikan dengan kebutuhan murid secara individual. Sistem ini juga
-
7/25/2019 2011-1-00314-if 2
10/26
18
mendukung pembelajaran bagi orang yang mempunyai kekurangan fisik atau kelemahan
belajar.
Computer visionadalah ilmu dan teknologi dari mesin untuk melihat. Computer
vision merupakan salah satu disiplin ilmu dari Artificial Intelligence yang biasa juga
disebut kecerdasan buatan, dimana Computer visionberfokus pada informasi-informasi
yang dimiliki oleh data gambar. Data gambar memiliki banyak bentuk, seperti video,
gambar dari kamera, atau data multi-dimensional scanner medis. Komputer disini
diberikan suatu perangkat lunak atau di berikan suatu ajaran dari fakta-fakta yang
didapat seolah-olah komputer memiliki indera penglihatan layaknya manusia. Salah satu
proses dari computer vision adalah image processing atau lebih dikenal pengolahan
citra.
Image Processing dikenal pada dua ilmu yaitu ilmu teknik elektro dan ilmu
computer. Image Processing adalah bentuk pemrosesan sinyal input yang berupa
gambar, seperti bingkai foto atau video, dan output dari pengolahan gambar dapat
berupa gambar atau kumpulan karakteristik atau parameter yang terkait dengan gambar.
Sering kali image processing melibatkan memperlakukan gambar sebagai sinyal dua
dimensi dan menerapkan standar signal processing teknik untuk itu. Image processing
biasan menggunakan gambar digital, n amun t idak menutup kemungkinan bahwa image
processingdapat dilakukan dengan gambar analog maupun optik juga.
-
7/25/2019 2011-1-00314-if 2
11/26
19
Proses-Proses DalamImage Processing
Euclidean geometry Transformation, meliputi pembesaran citra, pengurangan
citra, dan rotasi citra.
Color Corrections, meliputi pengaturan kontras, dan kecerahan citra
Digital Compositing, meliputi penggabungan antara 2 gambar atau lebih.
Proses ini biasa digunakan dalam proses pembuatan film untuk membuat
Mattes.
Interpolationdengan menggunakan Bayer Filter Pattern. Bayer Filter Pattern
digunakan untuk menyusun ulang persentase komposisi pewarnaan RGB .
Image Registration, meliputi kesesuaian antara dua gambar atau lebih.
Image Differencing, meliputi morphing.
Image Recognition, misalnya mengambil teks dari gambar dengan
menggunakan optical character recognition.
Image Segmentation, mengacu pada proses partisi gambar digital menjadi
beberapa segmen.
High Dynamic range Imaging, dengan menggunakan teknik penggabungan
dua atau beberapa gambar.
Geometric hashing, digunakan untuk pengenalan object atau gambar 2
dimensi yang memiliki affine invariance.
-
7/25/2019 2011-1-00314-if 2
12/26
20
2.4 Pengolahan Citra
Computer Vision sering didefinisikan sebagai salah satu cabang ilmu
pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang
diamati/diobservasi. Cabang ilmu ini bersama Kecerdasan Buatan (Artificial
Intelligence) akan mampu menghasilkan sistem intelijen visual (Visual Intelligence
System). Pengolahan Citra (Image Processing) merupakan bidang yang berhubungan
dengan proses transformasi citra/gambar (image). Proses ini bertujuan untuk
mendapatkan kualitas citra yang lebih baik. Sedangkan Pengenalan Pola (Pattern
Recognition), bidang ini berhubungan dengan proses identifikasi obyek pada citra atau
interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/pesan yang
disampaikan oleh gambar/citra.
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua
dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Gambar analog
dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan
antara baris dan kolom tertentu disebut dengan pixel. Pengolahan citra adalah salah satu
cabang dari ilmu informatika. Pengolahan citra merupakan usaha untuk melakukan
transformasi suatu citra / gambar menjadi citra lain dengan menggunakan teknik
tertentu.
2.4.1 Pengenalan Pola (Pattern Recognition) :
-
7/25/2019 2011-1-00314-if 2
13/26
21
Bidang ini berhubungan dengan proses identifikasi obyek pada citra atau
interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/pesan yang
disampaikan oleh gambar/citra.
Computer Vision System (CVS) diharapkan memiliki kemampuan tingkat tinggi
sebagaimanaHumanVisualSystem(HVS)
Objectdetection.
Recognition memberikan label pada objek
Description menset properti pada objek
3Dinference mengubah menjadi 3D scene dari 2D scene.
Interpretingmotion menerjemahkan pergerakan.
Perbandingan antara Human Vision dan Computer Vision
Human Vision:
Eye
Retina
-
7/25/2019 2011-1-00314-if 2
14/26
22
Gambar 2.1 Organization in layers.
Color Vision
Vision of depth
Computer Vision:
Pinhole camera
CCD array
-
7/25/2019 2011-1-00314-if 2
15/26
23
Gambar 2.2 Compactionof information
RGB Device
Geometric stereoscopy
2.4.1.2 Kelas Operasi Pada Computer Vision
Image to Image : Noise removal, Image Enhancement (Low Level Processing)
ImagetoSymbolic: Kumpulan garis/vektor yang merepresentasikan batas sebuah obyek
pada citra (IntermediateProcessing)
SymbolictoSymbolic: Representasi simbolik batas-batas obyek menghasilkan nama
obyek tersebut (HighLevelProcessing)
2.4.1.3 Pertimbangan dalam Perancangan Computer Vision
Informasi apa yang ingin diperoleh dan bagaimana informasi tersebut di
manifestasikan dalam citra. Perlu ditentukan hubungan antara physical entities dan
karakteristik instrinsiknya, misal rumah dapat dibedakan dengan pohon karena rumah
memiliki garis lurus sebagai sifat intrinsiknya atau laut dapat dibedakan dari obyek
lainnya karena laut memiliki tampilan yang sama.
-
7/25/2019 2011-1-00314-if 2
16/26
24
Knowledge/pengetahuan apa yang diperlukan untuk memperoleh (recover)
informasi. Untuk menentukan hubungan antara intensitas pixel dan sifat-sifat citra
diperlukan model misal :
Scene model : jenis features, textures, smoothness.
Illuminationmodel : posisi dan karakteristik sumber cahaya serta sifat-
sifat reflektansi permukaan obyek
Sensor model : posisi dan kinerja optik dari kamera yang digunakan,
noisedan distorsi pada proses dijitasi
Kecepatan pemrosesan dan representasi knowledge . Perlu diantisipasi adanya
persyaratan realtimeprocessingmisalnya pada proses go-no go quality inspection. Di
samping itu, mengkode pengetahuan (knowledgeencoding) kedalam bentuk yang tepat
guna dan mudah dimengerti merupakan hal penting lainnya dalam pertimbangan
perancangan sistem vision.
2.4.2 Threshold
Thresholding adalah metode sederhana untuk segmentasi citra. Dari gambar
grayscale, thresholding dapat dilakukan untuk membuat gambar biner (Shapiro,
dkk.2001). Selama proses thresholding, setiap pixeldalam foto ditandai sebagai objek
pixel jika nilai mereka adalah lebih besar dibandingkan nilai ambang (asumsi obyek
menjadi lebih terang daripada latar belakang) dan sebagai latar belakang pixel lain.
Thresholdmempunyai dua variabel nilai yang dapat menentukan hasil threshold. Satu
-
7/25/2019 2011-1-00314-if 2
17/26
25
image biner diciptakan oleh warna masing-masing titik memutihi atau hitam, bergantun g
kepada satu labelnya titik (nilai thresholdnya).
Threshold sering disebut dengan adaptive thresholding dipergunakan untuk
daerahberbeda pada image. Ini juga boleh dikenal sebagai lokal atau threshold dinamis
(Shapiro, et al. 2001). Parameter proses threshold yaitu memilih nilai threshold.
Beberapa cara yang dapat dipilih untuk threshold, pengguna dapat secara manual
memilih satu nilai threshold, atau satu algoritma thresholdyang dapat menghitung satu
nilai secara otomatis, yang dikenal sebagai automatic thresholding.
2.4.3 Chain Code
Gambar garis adalah sebuah citra yang berupa garis atau segment-segment kurva
yang terhubung atau tidak terhubung. Freeman menemukan metode yang dinamakan
chain code untuk mempresentasikan gambar garis. Kode rantai sering digunakan untuk
mendeskripsikan/mengkodekan bentuk (countour) suatu obyek.
Gambar 2.3 Kode Arah Rantai
-
7/25/2019 2011-1-00314-if 2
18/26
26
2.4.4 Grayscale
Grayscale adalah derajat keabuan dari suatu citra. Penggunaan citra grayscale
membutuhkan sedikit informasi yang diberikan pada tiap pixel dibandingkan dengan
citra sehingga lebih memudahkan pemrosesan data dalam image processing. Proses awal
yang banyak dilakukan untuk menyederhanakan model citra. Citra berwarna terdiri dari
3 layer matrik yaitu R-layer, G-layer, dan B-layer. Sehingga untuk melakukan proses-
proses selanjutny a tetap diperhatikan tiga layer diatas. Bila setiap proses perhitungan
dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama.
Sehingga konsep itu diubah dengan mengubah 3 layer di atas menjadi 1 layer matrik
grayscaledan hasilnya adalah citra grayscale. Dalam citra ini tidak ada lagi warna, yang
ada derajat keabuan. Untuk mengubah citra berwarna yang mempunyai nilai matrik
masing-masing r,g, dan b menjadi citra grayscaledengan nilai s, maka konversi dapat
dilakukan dengan mengambil rata-rata dari nialai r, g, dan b sehingga dapat dituliskan
menjadi :
s = (r + g + b)/3 Pers (2-6)
-
7/25/2019 2011-1-00314-if 2
19/26
27
Gambar 2.4 RGB Image
Dalam hal cahaya dikirimkan (misalnya, gambar pada layar komputer), t ingkat
kecerahan yang merah (R), hijau (G), dan biru (B) komponen yang masing-masing
diwakili sebagai angka desimal dari O sampai 255, atau biner 00000000 11111111.
Untuk setiap pixel di merah - hijau biru (RGB) gambar grayscale, R = G = B.
Keringanan dari abu-abu adalah proporsional secara langsung ke nomor yang mewakili
tingkat kecerahan warna utama. Hitam yang diwakili oleh R=G=B=0 atau R=G=B=
00000000, dan putih yang diwakili oleh R=G=B=255 atau R=G=B=11111111.
Karena terdapat 8 bits dalam biner perwakilan dari tingkat abu-abu, imaging
metode ini disebut 8-bit grayscale. Dalam hal cahaya pantulan (misalnya, dalam cetak
foto), maka tingkat Cyan (C), Magenta(M), dan Yellow (Y) untuk setiap pixel dalam
Cyan-Magenta-Yellow (CMY) grayscale gambar, semua tiga pigmen utam yang hadir
dalam jumlah yang sama. Maksudnya, C=M=Y. Keringanan dari abu-abu adalah
inversely proporsional ke nomor mewakili jumlah setiap pigmen. Putih adalah justru
diwakili oleh C=M=Y=0 , dan hitam yang diwakili oleh C=M =Y=100.
Greyscale atau Grayscale secara lebih khusus adalah sebuah teknik yang
digunakan dalam pengolahan citra untuk menghasilkan sebuah citra yang memiliki nilai
dari putih yang memiliki intensitas paling besar sampai hitam yang memiliki intensitas
paling rendah seperti yang terlihat pada gambar 2.5 dibawah ini.
Gambar 2.5 Intensitas Warna Grayscale
-
7/25/2019 2011-1-00314-if 2
20/26
28
Gambar 2.5 menunjukan contoh skala yang digunakan pada grayscale.
Grayscalesering sekali dipergunakan untuk menghitung intensitas cahaya pada sebuah
gambar berwarna. Greyscale memiliki 256 intensitas pada gambar 8-bit yang dimulai
dari 0 (hitam) sampai 255 (putih).
2.4.5 Canny Edge Detection
Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang
menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah:
- Untuk menandai bagian yang menjadi citra yang detail.
- Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error
atau adanya efek dari proses akuisisi citra.
Pendeteksian sisi merupakan hal penting dalam pemrosesan citra, diamana sisi
pada suatu citra merupakan area dengan beda intensitas pixel yang sama denganpixel
lainnya. Pendeteksian sisi pada suatu citra secara signifikan mengurangi jumlahpixel
dari citra dan menyaring informasi pada citra yang tidak terpakai. Kriteria pada Canny
Edge Detectionyaitu:
- Error yang rendah
- Titik-titik pada sisi ditempatkan secara baik
Langkah-langkah dalam melakukan Canny Edge Detectionyaitu:
1. Smooting pada citra dengan menggunakanfilter Gaussian.
2. Mencari magnitude dari gradien-gradien pada citra dan memberikan
tanda pada region yang mempunyai beda intensitas yang besar.
-
7/25/2019 2011-1-00314-if 2
21/26
29
3. Melakukan penyusuran pada region tersebut dan menurunkan nilai pixel
yang tidak maximum tersebut menjadi 0 (Nol Maximum Suppression).
4. Melakukan pengurangan pada array gradien dengan menggunakan
histeresis.
1. Smooting denganFil ter Gaussian
Dalam melakukan Canny edge detection ada beberapa langkah yang harus
dilakukan. Langkah pertama yang harus dilakukan adalah melakukan smooting pada
citra dengan menggunakanfilter Gaussian, yang berfungsi untuk menghilangkan noise
pada citra sebelum dilakukan edge detection. Pengguanaan filter Gaussian untuk
melakukan smooting dikarenakan filter Gaussian ini terdiri dari mask sederhana.
Smooting menggunakan filter Gaussian ini dapat dilakukan dengan cara melakukan
konvolusi yaitu menjalankan mask pada citra. Semakin besar mask gaussian maka
semakin tidak sensitif terhadap noise.
Gambar 2.6 Gaussian Mask 5x5 dengan= 1,4
2. Mencari magnitude dari gradien yang di dapat menggunakan operator Sobel
-
7/25/2019 2011-1-00314-if 2
22/26
30
Setelah melakukan proses smooting dan mengeliminasi noiseyang ada pada citra
tersebut. Pencarian gradien dilakukan dengan cara melakukan konvolusi pada citra, yaitu
dengan melakukan mask dari sobel dalam 2 arah yaitu arah x dan arah y.
-1 0 +1
-2 0 +2
-1 0 +1
Gambar 2.7 Operator Sobel arah x (kiri) dan Operator Sobel arah y (kanan)
3. Mencari edge direction
Pencarian arah dari suatu edge sangat penting setelah gradien dari arah x dan y
didapatkan.
4. Melakukan normalisasi dari edge direction
Edge direction yang digunakan dalam penelitian ini ada 4 yaitu 0 derajat, 45
derajat, 90 derajat, dan 135 derajat.
Gambar 2.8 Edge Direction
5. Melakukan proses non-maximum suppression ( Thinning )
-1 -2 -1
0 0 0
+1 +2 +1
-
7/25/2019 2011-1-00314-if 2
23/26
31
Setelah proses normalisasi dari edge direction selesai, kemudian dilakukan
proses non-maximum suppresion. Proses non-maximum suppresion adalah pixel, jika
nilainya t idak maximum. Penurunan nilaipixelnya menjadi 0.
Thinning adalah operasi morfologi yang digunakan untuk menghapus pixel
foreground yang terpilih dari gambar biner,biasanya digunakan untuk mencari tulang
dari suatu objek
Gambar 2.9
Contoh skeletonization oleh morfologi thinning bentuk biner sederhana
6. Melakukan pengurangan pada array gradien dengan menggunakan histeresis.
Proses histeresis digunakan untuk mengeliminasi garis-garis tebal (streaking).
Proses ini berguna untuk melakukan thinning pada citra, sehingga lebar tepi menjadi 1
pixelsaja. Pada proses hysteresis ini ada dua buah nilai thresholdyaitu T1 (Threshold
nilai rendah) dan T2 (Threshold nilai tinggi).
Jika nilaipixel< T1 maka nilaipixelakan diset menjadi 0.
Jika nialipixel> T2 maka nilaipixelakan diset menjadi 255.
Jika nilaipixel> T1 atau < T2 maka nilaipixelakan diset menjadi 0.
2.4.6Flood Fill
-
7/25/2019 2011-1-00314-if 2
24/26
32
Flood Fill adalah Fungsi yang sangat berguna dan sering digunakan untuk
menandai atau mengisolasi bagian dari suatu gambar untuk diproses lebih lanjut atau
dianalisis. Flood Fill juga dapat digunakan untuk turunan dari sebuah gambar yang
diolah. Bagian gambar yang ditandai, Selanjutnya akan digunakan untuk mempercepat
atau membatasi pengolahan hanya pada pixel yang ditunjukan oleh bagian gambar yang
ditandai. Fungsi cvFloodFill sendiri mengambil sebuah bagian gambar yang ditandai
lebih digunakan untuk mengontrol dimana bagian yang sudah terisi atau ditandai.
Seperti ditunjukkan pada gambar dibawah ini.
Gambar 2.10 Flood Fill
2.5 Socket Programming
Gambar 2.11 Socket Programming
Socketadalah sebuah cara untuk berkomunikasi dengan program atau node lain
menggunakan file deskriptor. Di UNIX (dimana socket diciptakan) sering terdengar
-
7/25/2019 2011-1-00314-if 2
25/26
33
slogan: everything is a file, jadi untuk berkomunikasi dengan program atau node lain
semudah kita membaca dan menulis file deskriptor. Antarmuka socket dan file adalah
mirip, jika pada file sistem membukanya dengan open() sedangkan pada socket ini
menggunakan socket(). Pada file deskriptor yang menjadi tujuan adalah sebuah file,
sedangkan pada socket adalah komputer atau node lain. Intinya ketika telah terhubung
dengan socket(), maka antarmukanya sama saja dengan sebuah file. Sebuah abstraksi
perangkat lunak yang digunakan sebagai suatu terminal dari suatu hubungan antara
dua mesin atau proses yang saling berinterkoneksi
Penggunaan socket programming memungkinkan adanya komunikasi antara
clientdan server. Salah satu contoh sederhana penggunaan socket programming adalah
pembuatan program untuk chatting. Program tersebut sebenarnya merupakan bentuk
aplikasi berupa komunikasi antara client dan server. Ketika seorang user(client)
melakukan koneksi ke chat server,program akan membuka koneksi ke port yang
diberikan, sehingga server perlu membuka socket pada port tersebut dan
mendengarkan koneksi yang datang. Socketsendiri merupakan gabungan antara host-
address dan port address. Dalam hal ini socket digunakan untuk komunikasi antara
clientdan server.
Socket merupakan fasilitas IPC (Inter Proses Communication) untuk aplikasi
jaringan. Agar suatu socket dapat berkomunikasi dengan socketlainnyanya, maka socket
butuh diberi suatu a lamat unik sebagai identifikasi. Alamat socket terdiri atas Alamat IP
dan Nomer Port. Contoh alamat socketadalah 192.168.29.30: 3000, dimana nomer 3000
adalah nomer portnya. Alamat IP dapat menggunakan alamat Jaringan Lokal (LAN)
-
7/25/2019 2011-1-00314-if 2
26/26
34
maupun alamat internet. Jadi socket dapat digunakan untuk IPC pada LAN maupun
Internet.