Anda di halaman 1dari 28

Modul 3 Pengolahan Citra 2012

Resolusi Citra
Resolusi citra merupakan tingkat detil suatu citra. Semakin tinggi resolusi citra maka akan
semmakin tinggi pula tingkat detil dari citra tersebut. Satuan dalam pengukuran resolusi citra
dapat berupa ukuran fisik (jumlah garis per mm / jumlah garis per inchi) ataupun dapat juga
berupa ukuran citra menyeluruh (jumlah garis per tinggi citra).

Resolusi citra dapat diukur dengan berbagai cara sebagai berikut:


1. Resolusi pixel
2. Resolusi spasial
3. Resolusi spectral
4. Resolusi temporal
5. Resolusi radiometril

1. Resolusi pixel
Resolusi pixel merupakan perhitungan jumlah pixel dalam sebuah citra digital. Sebuah
citra dengan tinggi N pixel dan lebar M pixel, berarti memiliki resolusi sebesar M x N.
Resolusi pixel akan memberikan dua buah angka integer yang secara berurutan akan
mewakili jumlah pixel lebar dan jumlah pixel tinggi dari citra tersebut.

Resolusi pixel juga merupakan hasil perkalian jumlah pixel lebar dan tingginya dan
kemudian dibagi dengan 1 juta. Jenis resolusi pixel seperti ini sering ditemui pada
kamera digital.
Suatu citra yang memiliki lebar 2.048 pixel dan tinggi 1.536 pixel, memiliki total pixel
sebanyak 2.048 x 1.536 = 3.145.728 pixel = 3.1 mega pixel.
Perhitungan lainnya menyatakan dalam satuan pixel per inchi, yang berarti banyaknya
pixel yang ada sepanjang 1 inchi baris dalam citra.

Gambar 1. Resolusi pixel

Desi Ramayanti, S.Kom, MT


Modul 3 Pengolahan Citra 2012

2. Resolusi spasial
Resolusi spasial menunjukkan seberapa dekat jarak setiap garis pada citra. Jarak
tersebut tergantung dari sistem yang menciptakan citra tersebut. Resolusi spasial
menghasilkan jumlah pixel per satuan panjang. Resolusi spasial dari sebuah monitor
computer adalah 72 hingga 100 garis per inchi atau dalam resolusi pixel 72 hingga 100
ppi.

3. Resolusi spectrum
Sebuah citra digital membedakan intensits kedalam beberapa spectrum. Citra multi
spectrum akan memberikan spectrum atau panjang gelombang yang lebih baik untuk
menampilkan warna.

4. Resolusi temporal
Resolusi temporal berkaitan dengan video. Suatu video merupakan kumpulan frame
statis yang berupacita yang berurutan dan ditampilkan secara cepat. Resolusi temporal
memberikan jumlah frame yang dapat ditampilkan setiap detik dengan satuan frame per
second (fps).

5. Resolusi radiometrik
Resolusi ini memberikan nilai atau tingkat kehalusan citra yang dapat ditampilkan dan
biasanya ditampilkan dalam satuan bit. Contoh citra 8 bit dan citra 256 bit. Semakin
tinggi resolusi radiometrik ini maka semakin baik perbedaaan intensitas yang
ditampilkan.

Desi Ramayanti, S.Kom, MT


Modul 3 Pengolahan Citra 2012

Jenis Citra
Nilai suatu pixel memiliki nilai dalam rentan tertentu, dari nilai minimum sampai nilai
maksimum. Jangkauan yang digunakan berbeda beda, tergantung dari jenis warnanya.
Namun secara umum jangkauannya adalah 0-225. Citra dengan penggambaran seperti ini
digolongkan dalam citra integer.

Jenis-jenis citra berdasarkan nilai pixelnya:


1. Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu
hitam dan putih. Citra biner juga disebut sebagai citra B&&W (Black and White) atau
citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra
biner.
Citra biner seringkali muncul sebagai hasil dari proses pengolahan seperti
segmentasi, pengambangan, morfologi ataupun dithering.

Gambar 2. Citra Biner

2. Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada
setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut
digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna
dari hitam, keabuan dan putih. Tingkat keabuan disini merupakan warna abu dengan
berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale memiliki
kedalaman warna 8 bit (256 kombinasi warna keabuan).

Gambar 3. Citra Grayscale


Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra 2012

3. Citra warna (8 bit)


Setiap pixel dari citra warna (8 bit) hanya diwakili oleh 8 bit dengan jmlah warna
maksimum yang dapat digunakan adalah 256 warna.
Ada dua jenis citra warna 8 bit:
 Citra warna 8 bit dengan menggunakan palet warna 256, dengan setiap paletnya
memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering
digunakan.
 Setiap pixel memiliki format 8 bit sebagai berikut:

Bentuk kedua ini dinamakan 8 bit truecolor


4. Citra warna (16 bit)
Citra warna 16 bit (biasanya disebut citra highcolor) dengan setiap pixelnya diwakili
dengan 2 byte memory (16 bit).
Warna 16 bit memiliki 65.356 warna. Dalam formasi bitnya, nilai merah dan biru
mengambil tempat di 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah
1 bit ekstra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan
manusia lebih sensitive terhadap warna hijau.

5. Citra warna 24 bit


Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga total 16.777.216
variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh
warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya
hanya dapat membedakan hingga 10 juta warna saja.
Setiap poin informasi pixel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama
menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan pada
8 bit terakhir merupakan warna merah.

Desi Ramayanti, S.Kom, MT


Modul 3 Pengolahan Citra 2012

Format file citra


 Bitmap (.bmp)
Format bmp adalah format penyimpanan standar tanpa kompresi yang umum dapat
digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari
beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk
menyimpan sebuah nilai pixel.
 Tagged Image Format (.tif, .itiff)
Format .tif merupakan format penyimpanan citra yang dapat digunakan untuk
menyimpan citra bitmap hingga citra dengan warna palet terkompresi. Format ini juga
dapat digunakan untuk menyimpan citra yang tidak terkompresi dan juga citra
terkompresi.
 Portable Network Graphics (.png)
Format .png adalah format penyimpanan citra terkompresi. Format ini dapat digunakan
pada citra grayscale, citra dengan palet warna, dan juga citra fullcolor. Format .png juga
mampu untuk menyimpan informasi hingga kanal alpha dengan penyimpanan sebesar
1 hingga 16 bit perkanal
 JPEG (.jpg)
.jpg adalah format yang sangat umum digunakan untuk transmisi citra. Format ini
digunakan untuk menyimpan citra hasil kompresi dengan metode JPEG.
 MPEG (.mpg)
Format ini digunakan di dunia internet dan diperuntukkan sebagai format penyimpanan
citra bergerak (video).
 Graphics Interchange Format (.gif)
Format ini dapat digunakan pada citra warna dengan palet 8 bit. Penggunaan umumnya
pada aplikasi web kualitas yang rendah menyebabkan format ini tidak terlalu popular
dikalangan peneliti pengolahan citra digital.
 RGB (.rgb)
Format ini merupakan format penyimpanan citra yang dibuat oleh silicon graphics untuk
menyimpan citra berwarna.
 RAS (.ras)
Format .ras digunakan untuk menyimpan citra dengan format RGB tanpa kompresi.
 Postscript (.ps, .eps, .epfs)
Format ini diperkenalkan sebagai format untuk menyimpan citra buku elektronik. Dalam
format ini, citra dipresentasikan ke dalam deret nilai decimal atau hexadecimal yang
dikodekan ke dalam ASCII

Desi Ramayanti, S.Kom, MT


Modul 3 Pengolahan Citra 2012

 Portable Image File Format


Format ini memiliki beberapa bagian diantaranya adalah portable bitmap, portable
graymap, portable pixmap, dan portable network map dengan format berturut-turut
adalah .pbm, .pgm, .ppm dan .pnm. Format ini baik digunakan untuk menyimpan dan
membaca kembali data citra.
 PPM
PPM terdiri dari dua bagian umum yaitu bagian pendahuluan dan bagian data citra.
Bagian pendahuluan memiliki tiga bagian kecil, yaitu pertama adalah pengenal PPM
yang dapat berupa p3 (untuk citra ASCII) dan p6 (untuk citra binary). Bagian
pendahuluan yang kedua adalah ukuran panjang dan lebar citra. Bagian ketiga dari
pendahuluan adalah nilai maksimum dari komponen warna . keistimewaannya adalah
dalam data citra dapat disimpan komentar dengan memberikan tanda “#” sebelum
komentar.
 PGM
Format ini hampir mirip dengan format PPM hanya saja format ini menyimpan informasi
grayscale (satu nilai per pixel). Pengenal yang digunakan adalah p2 dan p5. PBMPBM
digunakan untuk menyimpan citra biner. Hampir sama dengan PPM dan PGM,format
PBM ini memiliki pendahuluan, hanya saja pendahuluannya tidak memilikibagian ketiga
(penjelasan nilai maksimum pixel). Pengenal yang digunakan adalah p1

Desi Ramayanti, S.Kom, MT


Modul 4 Pengolahan Citra 2012

TRANSFORMASI CITRA

Mengapa perlu transformasi:


1. Setiap orang pada suatu saat pernah menggunakan suatu teknik analisis dengan
transformasi untuk menyederhanakan penyelesaian suatu masalah [Brigham,1974]
Contoh: penyelesaian fungsi y = x/z
 Analisa konvensional : pembagian secara manual
 Analisa transformasi : melakukan transformasi
 log(y) = log(x) – log(z)
 look-up table  pengurangan  look-up able
2. Transformasi juga diperlukan bila ingin mengetahui suatu informasi tertentu yang tidak
tersedia sebelumnya.
Contoh :
 Jika ingin mengetahui informasi frekuensi kita memerlukan transformasi Fourier
 Jika ingin mengetahui informasi tentang kombinasi skala dan frekuensi kita
memerlukan transformasi wavelet

Pengertian

Transformasi Citra

Secara harfih, transformasi atau alih ragam citra dapat diartikan sebagai perubahan bentuk
suatu citra. Perubahan bentuk tersebut dapat berupa perubahan geometri pixel seperti
perputaran (rotasi), pergeseran (translasi), penskalaan, dan lain sebagainya atau dapat juga
berupa perubahan ruang (domain) citra ke domain lainnya, seperti transformasi fourier yang
mengubah suatu citra dari domain spasial menjadi domain frekuensi.

Tujuan dari transformasi citra adalah untuk memperoleh informasi (feature extraction) yang
lebih jelas yang terkandung dalam suatu citra. Melalui proses transformasi, suatu citra dapat
dinyatakan sebagai kombinasi linier dari sinyal dasar (basic signals) yang disebut dengan
fungsi basis (basis function). Suatu citra yang telah mengalami transformasi dapat diperoleh
kembali dengan menggunakan transformasi balik (invers transformation).

Transformasi bisa dibagi menjadi 2 :


– Transformasi piksel/transformasi geometris:
– Transformasi ruang/domain/space

Desi Ramayanti, S.Kom, MT


Modul 4 Pengolahan Citra 2012

Transformasi Pixel
Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya
posisi piksel yang kadang diubah. Contoh: rotasi, translasi, scaling, invers, shear, dll.
Transformasi jenis ini relatif mudah diimplementasikan dan banyak aplikasi yang dapat
melakukannya (Paint, ACDSee, dll)

Transformasi Ruang
Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke
ruang/domain lainnya, contoh: dari ruang spasial ke ruang frekuensi. Contoh : Ruang vektor.
Salah satu basis yang merentang ruang vektor 2 dimensi adalah [1 0] dan [0 1]. Artinya,
semua vektor yang mungkin ada di ruang vektor 2 dimensi selalu dapat direpresentasikan
sebagai kombinasi linier dari basis tersebut.

Metode transformasi citra:


 Transformasi fourier diskrit
 Transformasi cosinus diskrit
 Transformasi Harley diskrit
 Transformasi sinus diskrit
 Transformasi walsh
 Transformasi hadamard
 Transformasi slant
 Transformasi wavelet diskrit

 Transformasi Fourier Diskrit

Transformasi Fourier merupakan transformasi yang paling terkenal dan banyak digunakan
dalam pengolahan citra. Transformasi ini diperkenalkan oleh Jean Baptiste Joseph Fourier
pada tahun 1807 menemukan bahwa: setiap fungsi periodik (sinyal) dapat dibentuk dari
penjumlahan gelombang-gelombang sinus/cosinus.

Fungsi kotak sebagai penjumlahan fungsi-fungsi sinus berikut:


f(x) = sin(x) + sin(3x)/3 + sin(5x)/5 +sin(7x)/7 + sin(9x)/9 …

Desi Ramayanti, S.Kom, MT


Modul 4 Pengolahan Citra 2012

Transformasi Fourier membawa suatu citra dari ruang spasial ke ruang frekuensi. Fungsi
basis dari transformasi Fourier adalah berupa fungsi (sinyal) sinus. Melalui transformasi
Fourier, suatu citra (sinyal atau fungsi) dapat dinyatakan sebagai penjumlahan sinyal sinus
atau kosinus dengan amplitude dan frekuensi yang bervariasi. Frekuensi yang dominan
pada suatu sitra dapat diketahui melalui transformasi ini.

Transformasi Fourier yang biasa diterapkan pada data citra (sinyal diskrit) adalah
transformasi Fourier diskrit (Discrete Fourier Transform) dan disingkat dengan DFT

DFT 1 Dimensi
Transformasi Fourier diskrit pada citra 1 dimensi f(x) = (f(0), f(1), f(2),….,f(N-1)) berukuran N,
dengan indeks x bernilai dari 0 sampai dengan N-1, akan menghasilkan citra 1 dimensi
F(u)= (f(0), f(1), f(2),….,f(N-1)), dengan F(u) dapat dinyatakan sebagai berikut:

F(u) menyatakan komponen frekuensi spasial dengan u menyatakan koordinat frekuensi

spasial, sedangkan merupakan bilangan komplek.

Dengan memanfaatkan teorema Euler

maka persamaan dapat disajikan

dalam bentuk:

Citra semula dapat diperoleh kembali dengan menggunakan transformasi Fourier diskrit
balik sebagai berikut.

Desi Ramayanti, S.Kom, MT


Modul 4 Pengolahan Citra 2012

Hasil transformasi Fourier mengandung bilangan real dan imajiner yang berturut-turut dapat
dinyatakan sebagai (R(u)) dan (I(u)). Cara lain untuk menampilkan hasil transformasi untuk
menghindari bilangan imajiner tersebut adalah menggunakan spektrum (spectrum) dan
sudut (phase) Fourier. Spektrum Fourier (magnitude) dapat dinyatakan sebagai:

Sedangkan sudutnya dapat dihitung dengan rumus:

Untuk u = 0,1,2,……,N-1

Hubungan antara bilangan real dan imajiner dengan magnitude dan sudut ditunjukkan pada
gambar berikut

Contoh Penghitungan FT 1 dimensi

Suatu citra 1 dimensi f(x) = (f(f(0), f(1), f(2), f(3)) = (3,4,4,5) dengan N=4, maka DFTnya
dapat dihitung sebagai berikut:

Desi Ramayanti, S.Kom, MT


Modul 4 Pengolahan Citra 2012

Spektrum Fourier dari contoh soal diatas dapat dihitung sebagai berikut:

Sedangkan sudutna sebagai berikut:

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

PERBAIKAN CITRA

Perbaikan citra bertujuan meningkatkan kualitas tampilan citra untuk pandangan manusia
atau untuk mengkonversi suatu citra agar memiliki format yang lebih baik sehingga citra
tersebut menjadi lebih mudah diolah dengan mesin (computer).

Perbaikan terhadap suatu citra dapat dilakukan dengan:


 operasi titik (point operation)
 operasi spasial (spatial operation)
 operasi geometri (geometric operation)
 operasi aritmatik (arithmetic operation)

Operasi Titik
Histogram
Histogram citra berkaitan dengan berbagai teknik pengolahan citra, terutama metode-
metode yang tergolong dalam operasi titik.

Histogram citra menunjuk pada histogram dari nilai intensitas pixel. Histogram menampilkan
banyaknya pixel dalam suatu citra yang dikelompokkan berdasarkan nilai intensitas pixel
yang berbeda. Pada citra grayscale 8 bit, terdapat 256 level nilai intensitas yang berbeda
maka pada histogram akan ditampilkan secara grafik distribusi dari masing-masing 256 level
nilai pixel tersebut.

Histogram citra ditampilkan dalam grafik 2D, dengan sumbu x menyatakan nilai intensitas
pixel dan sumbu y menyatakan frekuensi (banyaknya kemunculan) suatu nilai intensitas
pixel.

Proses pembentukan histogram dapat dilakukan dengan memeriksa setiap nilai pixel pada
suatu citra, kemudian hitung banyaknya nilai pixel tersebut dan disimpan dalam memori.

Histogram juga dapat diterapkan untuk citra berwarna, dengan cara memisahkan terlebih
dahulu 3 komponen warna red, green dan blue, kemudian setiap komponen warna dibuat
histogramnya. Histogram citra berwarna uga dapat ditampilkan dalam grafik 3D dengan
salah satu sumbu menyatakan komponen ruang warna.

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

Penyesuaian kecerahan
Penyesuaian kecerahan merupakan operasi pixel yang paling sederhana. Tingkat
kecerahan suatu citra dapat dilihat dari histogramnya. Semua pixel biasanya terkosentrasi
pada salah satu sisi histogram dengan rentangan gray level tertentu. Semakin dinaikkan
tingkat kecerahan suatu citra maka kosentrasi nilai pixel pada histogram akan bergeser ke
sisi kanan, demikian juga sebaliknya, semakin diturunkan maka kosentrasi nilai pixel pada
histogram akan bergeser ke sisi kiri (Gambar 1)

Gambar 1. Perubahan histogram berdasarkan kecerahan gambar

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

TUTORIAL MATLAB

MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi
masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam
suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan
penyelesaiannya diekspresikan dalam notasi matematika yang familiar.

Penggunaan Matlab meliputi bidang–bidang:


• Matematika dan Komputasi
• Pembentukan Algorithm
• Akusisi Data
• Pemodelan, simulasi, dan pembuatan prototipe
• Analisa data, explorasi, dan visualisasi
• Grafik Keilmuan dan bidang Rekayasa

MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu array
sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini memungkinkan kita
untuk memecahkan banyak masalah teknis yang terkait dengan komputasi, kususnya yang
berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut merupakan
momok apabila kita harus menyelesaikannya dengan menggunakan bahasa level rendah
seperti Pascall, C dan Basic.

Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB pada awalnya ditulis
untuk memudahkan akses perangkat lunak matrik yang telah dibentuk oleh LINPACK dan
EISPACK. Saat ini perangkat MATLAB telah menggabung dengan LAPACK dan BLAS
library, yang merupakan satu kesatuan dari sebuah seni tersendiri dalam perangkat lunak
untuk komputasi matrix.

Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk
memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan
kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan
produktifitas yang tingi, pengembangan dan analisanya.

Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan nama toolbox.
Sangat penting bagi seorang pengguna Matlab, toolbox mana yang mandukung untuk learn
dan apply technologi yang sedang dipelajarinya. Toolbox toolbox ini merupakan kumpulan
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra 2012

dari fungsi-fungsi MATLAB (Mfiles) yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa
dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, system kontrol, neural
networks, fuzzy logic, wavelets, dan lain-lain.

Kelengkapan pada Sistem MATLAB


Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment.
Merupakan sekumpulan perangkat dan fasilitas yang membantu anda untuk
menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini
merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah
MATLAB desktop dan CommandWindow, command history, sebuah editor dan
debugger, dan browsers untuk melihat help, workspace, files, dan search path.
2. MATLAB Mathematical Function Library.
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar sepertri:
sum, sin, cos, dan complex arithmetic, sampai dengan fungsi fungsi yang lebih
kompek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier
transforms.
3. MATLAB Language.
Merupakan suatu high-level matrix/array language dengan control flow statements,
functions, data structures, input/output, dan fitur-fitur object-oriented programming.
Ini memungkinkan bagi kita untuk melakukan kedua hal baik "pemrograman dalam
lingkup sederhana " untuk mendapatkan hasil yang cepat, dan "pemrograman dalam
lingkup yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics.
MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu
grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk
visualisasi data dua dikensi dan data tiga dimensi, image processing, animation, dan
presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan
bagi anda untuk membiasakan diri untuk memunculkan grafik mulai dari benutk yang
sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi MATLAB
anda.

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

5. MATLAB Application Program Interface (API).


Merupakan suatu library yang memungkinkan program yang telah anda tulis dalam
bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas
untuk pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB
sebagai sebuah computational engine, dan untuk membaca dan menuliskan MAT-
files.

Memulai Matlab
Perhatikan Dekstop pada layar monitor PC, anda mulai MATLAB dengan melakukan double-

clicking pada shortcut icon MATLAB. Selanjutnya anda akan mendapatkan tampilan
seperti pada Gambar berikut ini.

Sedangkan untuk mengakhiri sebuah sesi MATLAB, anda bisa melakukan dengan dua cara,
pertama pilih File -> Exit MATLAB dalam window utama MATLAB yang sedang aktif, atau
cara kedua lebih mudah yaitu cukup ketikkan type quit dalam CommandWindow.

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

Menentukan Direktori Tempat Bekerja


Anda dapat bekerja dengan MATLAb secara default pada directoryWork ada di dalam
Folder MATLAB. Tetapi akan lebih bagus dan rapi jika anda membuat satu directory khusus
dengan nama yang sudah anda kususkan, “IQBAL” atau nama yang lain yang mudah untuk
diingat. Hal ini akan lebih baik bagi anda untuk membiasakan bekerja secara rapi dan tidak
mencampur program yang anda buat dengan program orang lain. Untuk itu Arahkan pointer
mouse anda pada kotak bertanda … yang ada disebelah kanan tanda panah kebawah (yang
menunjukkan folder yang sedang aktif). Pilih new directory, selanjutnya ketikkan “IQBAL”,
dan diikuti dengan click Ok.

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

Pembacaan Image
Pada matlab fungsi untuk melakukan pembacaan image standar yaitu:
imread(‘filename’)

Perintah ini digunakan untuk membaca beberapa format file diantaranya:

Hasil dari pembacaan imread(‘filename’) bisa berupa matriks dua dimensi jika gambar
yang dibaca adalah gambar grayscale dan matrik 3 dimensi jika berupa gambar 3 dimensi.

Ekstraksi Nilai Piksel Red, Green dan Blue (RGB)


Hampir setiap pengolahan citra yang berbasis warna perlu dilakukan pemisahan band-band
yang ada pada citra khususnya citra RGB,MATLAB menyediakan fasilitas yang cukup baik
dalam memisahkan ketiga warna RGB, yaitu sebagai berikut:

gambar=imread(‘gambarkoe.jpg’); %--------membaca file gambar


red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah

%----------menampilkan gambar---------------------
imshow(gambar)
imshow(red)
imshow(green)
imshow(blue)

Terlihat bahwa untuk mengambil nilai piksel merah memiliki indeks 1, warna hijau memiliki
indeks 2 dan warna biru memiliki indeks 3.

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

Konversi Gambar RGB ke Grayscale

Untuk merubah gambar RGB ke gambar grayscale di MATLAB disediakan fungsi khusus
yaitu rgb2gray(matrik_gambar), tetapi kadangkala diinginkan untuk perubahan bentuk
grayscale ini tidak menggunakan fungsi MATLAB yang sudah ada yang merupakan nilai
rata-rata piksel RGB tetapi masing-masing nilai RGB diberi nilai bobot yang berbeda-beda,
hal ini dengan mudah dilakukan dengan menggunakan pemisahan nilai seperti yang telah
dilakukan diatas seperti contoh berikut:

Gambar = imread(‘gambarkoe.jpg’); %--------membaca file gambar


rgb2gray(Gambar)

atau menggunakan nilai bobot


gambar=imread(‘gambarkoe.jpg’); %--------membaca file gambar
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah
gray2=0.3*red+0.5*green+0.2*blue ;

Membuat Histogram Image


Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan
fungsi imhist(matrik_1_dimensi_image)

Perlu diperhatikan bahwa imhist hanya dapat digunakan untuk matrik image 1 dimensi
sehingga bila diimplementasikan pada matriks gambar maka hanya berupa matriks merah
saja, hijau saja, biru saja atau grayscale.

Contoh penggunaan Histogram dari Image yaitu:


gambar=imread(‘gambarkoe.jpg’); %--------membaca file gambar
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah
merahgray2=0.3*red+0.5*green+0.2*blue ;

imhist(red)
imhist(green)
imhist(blue)
imhist(gray)

Desi Ramayanti, S.Kom, MT


Modul 5 Pengolahan Citra 2012

contoh Hasil:

Desi Ramayanti, S.Kom, MT


Intelegensi Buatan (Modul Pertemuan 6) 2012

BAHASA PEMROGRAMAN PROLOG

Sejarah Prolog
- Prolog singkatan dari Programming in Logic.
- Dikembangkan oleh Alain Colmenraurer dan P.Roussel di Universitas Marseilles
Perancis, tahun1972.
- Prolog populer di Eropa untuk aplikasi artificial intelligence, sedangkan di Amerika
peneliti mengembangkan aplikasi yang sama, yaitu LISP.

Perbedaan Prolog dengan Bahasa Lainnya


- Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran):
o diperlukan algoritma/prosedur untuk memecahkan masalah (procedural
languange)
o program menjalankan prosedur yang sama berulang-ulang dengan data
masukan yang berbeda-beda.
o Prosedur dan pengendalian program ditentukan oleh programmer dan
perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.

- Bahasa Pemrograman Prolog :


o Object oriented languange atau declarative languange.
o Tidak terdapat prosedur, tetapi hanya kumpulan data-data objek (fakta) yang
akan diolah, dan relasi antar objek tersebut membentuk aturan yang
diperlukan untuk mencari suatu jawaban
o Programmer menentukan tujuan (goal), dan komputer menentukan
bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
o Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data
yang telah ada dan relasinya.
o Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur
pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non
numerik.
o Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak
di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
o Contoh : Pembuatan program catur dengan Prolog

Desi Ramayanti, S.Kom, MT Page 1


Intelegensi Buatan (Modul Pertemuan 6) 2012

Aplikasi Prolog :
- Sistem Pakar (Expert System)
Program menggunakan teknik pengambilan kesimpulan dari data-data yang
didapat, layaknya seorang ahli.
Contoh dalam mendiagnosa penyakit
- Pengolahan Bahasa Alami (Natural Languange Processing)
Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam
bahasa manusia sehari-hari, layaknya penterjemah.
- Robotik
Prolog digunakan untuk mengolah data masukanyang berasal dari sensor
dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan.
- Pengenalan Pola (Pattern Recognition)
Banyak digunakan dalam image processing, dimana komputer dapat
membedakan suatu objek dengan objek yang lain.
- Belajar (Learning)
Program belajar dari kesalahan yang pernah dilakukan, dari pengamataqn
atau dari hal-hal yang pernah diminta untuk dilakukan.

Fakta dan Relasi

- Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta.
- Fakta dibedakan 2 macam :
o Menunjukkan relasi.
o Menunjukkan milik/sifat.
- Penulisannya diakhiri dengan tanda titik “.”
- Contoh :
Fakta Prolog
Slamet adalah ayah Amin ayah (slamet, amin).
Anita adalah seorang wanita wanita (anita).
Angga suka renang dan tenis suka(angga, renang). dan
suka(angga,tenis).
Jeruk berwarna jingga jngga(jeruk).

Desi Ramayanti, S.Kom, MT Page 2


Intelegensi Buatan (Modul Pertemuan 6) 2012

Aturan (“Rules”)

- Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta


berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan.
- Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat.
- Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau
disimbolkan dengan “:-“.
- Contoh :
Fakta dan Aturan Prolog
F : Tino suka apel suka(tino, apel).
A : Yuli suka sesuatu yang disukai suka(yuli,Sesuatu) :- suka(tino,Sesuatu).
Tino

- Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh.


- Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut
subgoal dan dihubungkan dengan logika “and”.
- Aturan memiliki sifat then/if conditional
“Kepala(head) benar jika tubuh (body) benar”.

Desi Ramayanti, S.Kom, MT Page 3


Intelegensi Buatan (Modul Pertemuan 6) 2012

Contoh : Silsilah keluarga :

Fakta dan Aturan Prolog


F : Slamet adalah ayah dari Amin ayah(slamet,amin).
F : Amin adalah ayah dari Badu ayah(amin,badu).
F : Slamet adalah kakek dari Badu kakek(slamet,badu).
A:
Slamet adalah benar kakek Badu jika kakek(slamet,amin) :-
Slamet adalah benar ayah Amin dan ayah(slamet,amin) and
Amin adalah benar ayah Badu. ayah(amin,badu).
F : Amin adalah saudara kandung Anang saudara_kandung(amin,anang).
F : Amin mempunyai ayah Slamet ayah(slamet,amin).
F: Anang mempunyai ayah Slamet. ayah(slamet,anang).
A:
Amin adalah benar saudara kandung
Anang, jika Amin mempunyai ayah saudara_kandung(amin,anang) :-
Slamet dan Anang juga mempunyai ayah ayah(slamet,amin) and
Slamet. ayah(slamet,anang).

Pertanyaan (“Query”)

- Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat
mengajukan pertanyaan berdasarkan fakta dan aturan yang ada.
- Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.

Desi Ramayanti, S.Kom, MT Page 4


Intelegensi Buatan (Modul Pertemuan 6) 2012

- Contoh :
Pertanyaan Prolog dan Jawaban Program
Apakah Tini suka boneka ? ?- suka(tini,boneka).
Yes ……. (jika faktanya Tini suka boneka)
No……..…(jika tidak sesuai fakta).
Apakah yang disukai Tini ? ?- suka(tini,Apa).
Apa=boneka
Siapakah yang suka boneka ? ?- suka(Siapa,boneka).
Siapa=tini
Dari contoh silsilah keluarga di atas :
Siapakah kakek Budi ?
?- kakek(Siapa,budi).
Siapa=slamet
Siapakah cucu Slamet ?
?- kakek(slamet,Cucu).
Cucu=budi ;
Cucu=badu

(jika kemungkinan ada lebih dari satu jawaban gunakan


tanda “;” pada akhir setiap jawaban).

Predikat (“Predicate”)

- Predikat adalah nama simbolik untuk relasi.


- Contoh : ayah(slamet,amin).
Predikat dari fakta tersebut ditulis : ayah(simbol,simbol).
dimana ayah adalah nama predikat, sedangkan slamet dan amin adalah
menujukkan argumen.
Sebuah predikat dapat tidak memiliki atau memiliki argumen dengan jumlah bebas.
Jumlah argumen suatu predikat disebut aritas (arity).
ayah(nama) …… aritas-nya 1
ayah(nama1,nama2) ….. aritasnya 2

Desi Ramayanti, S.Kom, MT Page 5


Intelegensi Buatan (Modul Pertemuan 6) 2012

- Syarat-syarat penulisan nama predikat :


o Harus diawali dengan huruf kecil dan dapat diikuti dengan huruf, bilangan
atau garis bawah.
o Panjang nama predikat maksimum 250 karakter.
o Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang dan
garis miring.
Variabel
- Varibel adalah besaran yang nilainya dapat berubah-ubah.
- Tata cara penulisan variabel :
1. Nama varibel harus diawali huruf besar atau garis bawah(_)
2. Nama variabel dapat terdiri dari huruf, bilangan, atau simbol dan merupakan
kesatuan dengan panjang maksimum 250 karakter.
3. Nama variabel hendaknya mengandung makna yang berkaitan dengan data
yang dinyatakannya.

- Contoh : dari silsilah di atas :


?- ayah(slamet,Anak).
Anak=budi ;
Anak=badu
No
Dari query di atas akan dicari siapakah anak dari ayah yang bernama Slamet.
Karena mempunyai relasi yang sama (yaitu ayah), variabel Anak akan mencari nilai
dari konstanta suatu fakta/aturan yang sepadan.
Tanda “;” digunakan bila terdapat kemungkinan ada lebih dari satu jawaban.
“No” berarti tidak ada lagi kemungkinan jawaban.

Contoh : dari silsilah di atas :


?- ayah(slamet,X),ayah(X,Y).
X=amin
Y=budi ;
X=amin
Y=badu ;
X=anang
Y=didi ;
X=anang
Y=didi
No

Desi Ramayanti, S.Kom, MT Page 6


Intelegensi Buatan (Modul Pertemuan 6) 2012

Contoh : Silsilah Keluarga


%% FAKTA */
%%orang tua */
ayah(slamet,amin).
ayah(slamet,anang).
ayah(amin,budi).
ayah(amin,badu).
ayah(anang,didi).
ayah(anang,dadi).
ayah(santoso,bu_amin).
ayah(supardi,bu_anang).
ibu(bu_slamet,amin).
ibu(bu_slamet,anang).
ibu(bu_amin,budi).
ibu(bu_amin,badu).
ibu(bu_anang,didi).
ibu(bu_anang,dadi).
ibu(bu_santoso,bu_amin).
ibu(bu_santoso,bu_anang).
%% ATURAN */
%% Kakek adalah kakek Cucu */
kakek(Kakek,Cucu) :-
ayah(Ayah,Cucu),
ayah(Kakek,Ayah).
kakek(Kakek,Cucu) :-
ibu(Ibu,Cucu),
ayah(Kakek,Ibu).
%% Nenek adalah nenek Cucu */
nenek(Nenek,Cucu) :-
ayah(Ayah,Cucu),
ibu(Nenek,Ayah).
nenek(Nenek,Cucu) :-
ibu(Ibu,Cucu),
ibu(Nenek,Ibu).

Desi Ramayanti, S.Kom, MT Page 7


Intelegensi Buatan (Modul Pertemuan 6) 2012

%% Nama1 adalah saudara kandung Nama2


saudara_kandung(Nama,Name) :-
ayah(Ayah,Nama),
ayah(Ayah,Name),
ibu(Ibu,Nama),
ibu(Ibu,Name),
Nama \= Name.
%% Sdr1 adalah saudara sepupu Sdr2
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah1,Sdr1),
ayah(Ayah2,Sdr2),
saudara_kandung(Ayah1,Ayah2).
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah,Sdr1),
ibu(Ibu,Sdr2),
saudara_kandung(Ayah,Ibu).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu,Sdr1),
ayah(Ayah,Sdr2),
saudara_kandung(Ibu,Ayah).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu1,Sdr1),
ibu(Ibu2,Sdr2),
saudara_kandung(Ibu1,Ibu2).

Desi Ramayanti, S.Kom, MT Page 8