2011-1-00314-if 2

Upload: rama-madrid

Post on 27-Feb-2018

215 views

Category:

Documents


0 download

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.