komputasi terapan lanjutan

Post on 30-Nov-2015

155 Views

Category:

Documents

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

komputas iterapan lanjutan

TRANSCRIPT

BAB 3

APLIKASI DI BIDANG KOMPUTER

KRIPTOGRAFI STEGANOGRAFI KOMUNIKASI DATA KOMPUTER GRAFIK PENGOLAHAN CITRA DIGITAL JARAK EUCLIDEAN UNTUK POLA PENGENALAN POLA WAJAH

3.1. KRIPTOGRAFI

Kriptografi adalah seni untuk mempelajari teknik2 encoding dan decoding dari pesan rahasia. Pesan-pesan yang belum di kodekan disebut plainteks, dan pesan-pesan yang telah dikodekan disebut chiperteks.

Proses konversi dari plainteks menjadi chiperteks disebut encoding dan sebaliknya disebut decoding

Ada beberapa cara peng-coding-an antara lain:

Substitusi Pada sistem ini mengkodekan antara huruf dengan huruf yang lain, misal: hurf a dengan m, huruf b dengan k, dst. Coding cara ini sangat sederhana, dengan teknik frekwensi kemungkinan huruf yg sering muncul dapat dipecahkan. Poligrafi Teknik dengan cara membagi plain text menjadi himpunan n-huruf, dan menggantinya dengan n-angka. Dengan menggunakan operasi perkalian matriks invers, hasilnya akan lebih baik dengan substitusi

Contoh, dengan menggunakan tabel konversi sbb:

A = 1 N = 14B = 2 O = 15C = 3 P = 16D = 4 Q = 17E = 5 R = 18F = 6 S = 19G = 7 T = 20H = 8 U = 21I = 9 V = 22J =10 W = 23K =11 X = 24L=12 Y = 25M=13 Z = 26

Contoh: Seseorang ingin mengirim pesan rahasia kepada temannya dengan menggunakan teknik perkalian matriks sistem poligrafi.

Misalkan matriks : C = B * A

Untuk mendapatkan matriks A, maka:B*A = C A = B-1 * C

Konsep ini digunakan untuk membuat kriptografi, yaitu pesan rahasia disimpan dalam matriks A, kemudian di-encode dengan menggunakan kunci B, dan pesan yang dikirimkan adalah matriks C. Dengan catatan kunci matriks B diketahui oleh si penerima.

Langkah pertama setiap huruf misal kita buat kode sbb:

A = -13 N = 13B = -12 O = 12C = -11 P = 11D = -10 Q = 10E = -9 R = 9F = -8 S = 8G = -7 T = 7H = -6 U = 6I = -5 V = 5J = -4 W = 4K = -3 X = 3L= -2 Y = 2M= -1 Z = 1

Spasi =15

Pesan yang dikirim adalah: MAGISTER ILMU KOMPUTERKunci : MADANI

Proses ENCODE

Pesan dirubah menjadi kode angka sbb:

-1 -13 -7 -5 8 7 -9 9 15 -5 -2 -1 6 15 -3 12 -1 11 6 7 -9 9

Pesan tsb dipotong-potong disimpan dalam matriks A (3xn)

15911311577

15711529813

961265951

A

Kunci dirubah menjadi: -1 -13 -10 -13 13 -5Disimpan dalam matriks B(mx3)

15510

151313

15131

B

C =

240 -169 -258 41 -171 -109 -7 -354 -121 134 159 44 132 -224 58 3 -315 150 225 -120 270 330 60 585

Matriks C = B * A

Matriks disusun kembali menjadi deret angka, yang merupakan pesan yang dikirimkan

isi pesan yang dikirim:

240 -121 -315 -169 134 150 -258 159 225 41 44 -120 -171 132 270 -109 -224 330 -7 58 60 -354 3 585

Proses DECODE

Si penerima pesan menerima pesan sederetan angka yang dikirim oleh temannya seperti deretan angka diatas. Pesan tersebut dipotong-potong dan dibuat dalam bentuk matrik yaitu matriks C

C =

240 -169 -258 41 -171 -109 -7 -354 -121 134 159 44 132 -224 58 3 -315 150 225 -120 270 330 60 585

Kunci matrik adalah:

15510

151313

15131

B

Penerima pesan menghitung invers dari B

0.1304 0.0217 0.0942 B-1 = 0.0580 0.0652 0.0604 -0.1884 -0.0870 -0.0879

Isi pesan rahasia nya didapat dari:

A = B-1 * C

Hasilnya: A =

-1.0000 -5.0000 -9.0000 -5.0000 6.0000 12.0000 6.0000 9.0000 -13.0000 8.0000 9.0000 -2.0000 15.0000 -1.0000 7.0000 15.0000 -7.0000 7.0000 15.0000 -1.0000 -3.0000 11.0000 -9.0000 15.0000

Matriks disusun kembali dan merupakan deretan angka sbb;

KODE_ISI_PESAN =

-1.0000 -13.0000 -7.0000 -5.0000 8.0000 7.0000 -9.0000 9.0000 15.0000 -5.0000 -2.0000 -1.0000 6.0000 15.0000 -3.0000 12.0000 -1.0000 11.0000 6.0000 7.0000 -9.0000 9.0000 15.0000 15.0000

MAGISTER ILMU KOMPUTER

Isi pesan dalam huruf:

TUGAS LATIHAN:

Si Ali menerima pesan dari sahabatnya Udin berupa pesan rahasia sbb;

Kunci : KOMPUTER

Apakah bunyi pesan yang ditulis oleh Udin ? Dengan kode huruf dan angka seperti contoh diatas

-105 24 -101 145 -279 -189 261 57 -97 -32 -21 -278 -11 282 131 -59 -252 -171 -96 27 -234 24 -45 -246 -61 48 -73

3.2. STEGANOGRAFI

Steganografi merupakan seni untuk menyembunyikan pesan di dalam media digital sedemikian rupa sehingga orang lain tidak menyadari ada pesan didalam media tersebut.

Dalam bidang keamanan komputer, steganografi digunakan untuk menyembunyikan data rahasia.

Pada steganografi walaupun enkripsi berhasil dipecahkan pesan atau rahasia tetap tidak terlihat, pada kriptografi pesan disembunyikan secara “acak” sehingga pada kasus2 tertentu dapat mengundang kecurigaan.

APA STEGANOGRAFI ITU?

“steganos” (B.Yunani) tulisan tersembunyi(covered writing)

Steganography: ilmu dan seni menyembunyikan (embedded) informasi dengan cara menyisipkan pesan di dalam pesan lain.

Steganografi digital: steganografi pada data digital dengan menggunakan komputer digital

Steganografi membutuhkan dua properti: wadah penampung dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya pesan: teks, citra, audio dan video.

Wadahpenampung Data rahasia Stego+ =

17

PESAN (MESSAGE)

1. Teks “Torang semua

bersodara”

2. Audio

3. Gambar (image)

4. Video

Sebagai contoh sederhana kita akan menggunakan matriks sebagai wadah penampung dan data rahasia disisipkan pada matriks tersebut.Misalkan data rahasia yang akan dikirim: BUDILUHURYang panjangnya 9 karakter.

Proses Encode:Tabel huruf:

A B C D E F G H I J K L M N O

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

P Q R S T U V W X Y Z

16 17 18 19 20 21 22 23 24 25 26

Konversi: BUDILUHUR menjadi 2 21 4 9 12 21 8 21 18

Selanjutnya dibuat matrik berukuran 9 x 9, sesuai dengan panjang data rahasia 9 karakter, data disimpan dengan kunci posisi 6, 9 artinya data rahasia diletakkan pada hitungan ke-6, dengan panjang karakter 9.

5 10 8 12 8 2 8 9 6 4 8 46 3 1 6 21 9 2133 23 54 7 8 9 4 12 15 21 3 42 15 66 5 12 9 3023 24 21 26 31 8 15 16 50 3 31 21 30 0 8 5 15 18 9 8 7 6 5 4 32 3 15 10 18 20 30 22 50 6 8 3622 4 5 8 55 7 12 15 32

Matriks yang sudah disisipi data rahasia diatas diatas disebut matriks stego

PROPERTI STEGANOGRAFI

1. Embedded message (hiddentext): pesan yangdisembunyikan.

2. Cover-object (covertext): pesan yang digunakan untuk menyembunyikan embedded message.

3. Stego-object (stegotext): pesan yang sudah berisi pesan embedded message.

4. Stego-key: kunci yang digunakan untuk menyisipan pesan dan mengekstraksi pesan dari stegotext.

Encoding(embeddin)

covertext

h iddentext

key

Decoding(extraction)

stegotext

key

hiddentext

covertext

CONTOH

Lupakan asal rumor itu, jaga aga matamu sehat atau turunkan ubanmu

Covertext: upakan sal umor tu aga aga atamu ehat tau turunkan banmu

Hiddentext: Lari jam satu

Stegotext: Lupakan asal rumor itu, jaga aga matamu sehat atau turunkan ubanmu

23

METODE LSB (SPATIAL DOMAIN)

Mengganti bit LSB dengan bit data.

11010010

MSB LSB

LSB = Least Significant BitMSB = Most Siginificant Bit

Mengubah bit LSB hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya tidak berpengaruh terhadap persepsi visual/auditori.

Misalkan penyisipan pada citra 24-bit. Setiap pixel panjangnya 24 bit (3 x 3 byte, masing-masing

komponen R (1 byte), G (1 byte), dan B (1 byte))

00110011 10100010 11100010(misal pixel berwarna merah)

Misalkan embedded message: 010

Encoding:

00110010 10100011 11100010(pixel berwarna “merah berubah sedikit”, tidak dapatdibedakan secara visual dengan citra aslinya)

Jika pesan = 10 bit, maka jumlah byte yang digunakan = 10 byte

Contoh susunan byte yang lebih panjang:

00110011 10100010 11100010 10101011 00100110

10010110 11001001 11111001 10001000 10100011

Pesan: 1110010111

Hasil penyisipan pada bit LSB:

00110011 10100011 11100011 10101010 00100110

10010111 11001000 11111001 10001001 10100011

26

METODE LSB Ukuran data yang akan disembunyikan

bergantung pada ukuran cover-object.

Citra 24-bit ukuran 256 256 pixel = 65536 pixel.

Setiap pixel berukuran 3 byte (komponen RGB), berarti ada 65536 3 = 196608 byte.

Setiap 1 byte menyembunyikan satu bit di LSB-nya, maka ukuran data yang dapat disembunyikan:

196608/8 = 24576 byte

Istilah keilmuan serumpun terasa memberikan distorsi persepsi pada maksud sebenarnya. Persepsi yang segera terbentuk dengan istilah tesrebut adalah eprtumbuhan dari akar-akar ilmu membentuk suatu rumpun, yang berarti bahwa nuansa historis organisasi/kelompok/unit yang mewadahinya.

Hiddentext Covertext Stegotext

3.3. KOMUNIKASI DATA

Sebuah pesan yang ditransmisikan ( seperti data lewat satelit) akan mengalami perubahan akibat gangguan dari luar, karena petir, atau cuaca yang tidak menguntungkan. Proses pengiriman data yang telah di-encode akan dikembalikan semula sesuai dengan data aslinya yaitu decode.

Proses pengiriman data yang berulang-ulang untuk memastikan data mengalami perubahan atau tidak sudah tidak efisien lagi dan memerlukan banyak memori.

Aplikasi ini akan menguji cara2 men-decode pesan setelah pesan tersebut mengalami distorsi (perubahan) yang diakibatkan oleh sebuah gangguan (noise).

Teknik dasar pengkodean

Pesan dikirim dalam bentuk deretan bilangan biner 0 dan 1, misalnya 10011, 01101, dstApabila data tersebut dikirim maka karena ada gangguan maka data pesan yang diterima akan mengalami perubahan.

Misal data yang dikirim T = 1011010, Maka data yang diterima menjadi R = 1001010Berarti terjadi kesalahan pada posisi ke-3Kalau pengirimana data dilakukan berulang-ulang akan banyak membutuhkan memori dan tidak efisien

Kode Hamming

Salah satu metode yang dipakai untuk deteksi kesalahan (error detecting) dan mengkoreksi data dengan menggunakan kode Hamming. Kode ini menggunakan matriks dengan data biner sbb;

1 0 1 0 1 0 1H = 0 1 1 0 0 1 1 0 0 0 1 1 1 1

Dan

1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1

G =

Matrik H dan G adalah matriks dengan elemen data biner, operasi penjumlahan dan perkalian sesuai dengan aturan biner, seperti: 0+0 = 0, 1+0=1, 0+1=1, 1+1=0 dan 0.0=0, 1.0=0, 0.1=0, 1.1=1

Proses Encode

Untuk encode, kita bentuk kombinasi linier v dari setiap elemen kolom matriks G, dengan 4 digit dari u = (u1 u2 u3 u4) sebagai koefisiennya. Dengan kata lain v diperoleh dengan cara sbb: v = [u1 u2 u3 u4] * G

Data v inilah yang nantinya akan dikirim

Proses Decode

Misalkan pesan yang diterima adalah w = (w1 w2 w3 w4), dan wT adalah transpose matriks w

1.Hitung h*wT 2.Jika h*wT = 0, maka tidak terjadi kesalahan data, artinya w = u3.Jika h*wT = ki, maka terjadi kesalahan data pada kolom ke i (ki = kolom ke-i dari matriks H)

Contoh:Misalkan data yang dikirim u = (1 0 1 1), data ini harus di-encode dahulu.Prosen Encode v = (u1 u2 u3 u4) * G

1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1

v = (1 0 1 1)

v = (1 0 1 1 0 1 0)

Data inilah yang dikirimkan

a. Misalkan data yang diterima adalah w = (1 0 1 1 0 1) Data ini harus di-decode dahulu

Proses Decode

1 0 1 0 1 0 1H * wT = 0 1 1 0 0 1 1 0 0 0 1 1 1 1

1011010

0= 0 0

Karena h*wT = 0, maka tidak terjadi kesalahan, artinyau = (1 0 1 1)

b. Misalkan data yang diterima adalah w = (1 0 0 1 0 1) Data ini harus di-decode dahulu

Proses Decode

1 0 1 0 1 0 1H * wT = 0 1 1 0 0 1 1 0 0 0 1 1 1 1

1001010

1= 1 0

Karena h*wT = kolom ke-3 dari matriks H, maka terjadi kesalahan data pada posisi ke-3, artinyaw = (1 0 1 1 0 1 0) dan u = (1 0 1 1)

3.4. KOMPUTER GRAFIK

Transformasi GeometriSalah satu contoh transformasi linier adalah transformasi geometri.Transformasi geometri adalah mengubah kedudukan setiap titik yang disebabkan karena: Pergeseran (translasi) Penskalaan (scaling) Pemutaran (rotation) Pencerminan (reflection) dan shearing

Misalkan sebuah titi A(x,y) mengalami transformasi sehingga menjadi A’(x’,y’), menggunakan persamaan atau algoritma tertentu. Terdapat suatu fungsi T yang memetakan koordinat A menjadi koordinat A’ dan ditulis sebagai:

A’=T(A)

3.4.1. Translasi (pergeseran)

Sembarang titik pada bidang xy dapat digeser ke sembarang tempat dengan menambahkan besaran pada absis x dan ordinat y. Misalkan titik A(x,y) digeser searah sumbu x sejauh m dan searah sumbu y sejauh n, maka titik setelah pergeseran:

x’ = x + m atau x’ = x + 0y + my’ = y + n y’ = 0x + y + n

Dalam bentuk matriks:

n

m

y

x

y

x

10

01

'

'

A(x,y)

A’(x’,y’)

x x’

Y

y

y’

m

n

X

Contoh:Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik: A(20,20), B(100,20) dan C(60,120), jika dilakukan translasi pada searah sumbu x, sejauh m = 80 dan searah sumbu y, sejauh n = 70Jawab:

707070

808080

1202020

6010020

10

01

'''

'''

cba

cba

yyy

xxx

1909090

140180100

Dengan demikian titik yang dimaksud adalah:A’(100,90), B’(180,90), dan C’(140,190)

0 50 100 150 200 250 3000

50

100

150

200

250

300TRANSLASI (PERGESERAN)

A B

C

C’

B’A’

%TRANSLASI (PERGESERAN)x=[20, 100, 60, 20];y=[20, 20, 120, 20];x2=x+80y2=y+70 plot(x,y,x2,y2)axis([0, 300, 0, 300])title('TRANSLASI (PERGESERAN)','FontSize',10)

Program dalam Matlab

3.4.2. Penskalaan (scalling)

Penskalaan adalah proses untuk memperbesar atau memperkecil suatu obyek atau gambar.Misal: titik A(x,y) diskalakan terhadap titik P(a,b) dengan faktor skala sebesar m searah sumbu x dan sebesar n searah sumbu y.

x’=m(x-a) + ay’=n(y-b) + bataux’=mx + a – may’=ny + b - nb

P(a,b)

A(x,y)

A’(x’,y’)

b

a x

y

x’

y’

x-a

y-b

nbb

maa

y

x

n

m

y

x

0

0

'

'

Atau dalam bentuk matriks:

Jika penskalaan pada sumbu koordinat P(0,0), maka a = 0 dan b =0, sehingga persamaannya menjadi:

y

x

n

m

y

x

0

0

'

'

Matrikas penyajian untuk penskalaan terhadap titik P(0,0) adalah:

n

mT

0

0

Contoh:Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20), C(60,120), jika dilakukan penskalaan dengan faktor skala : terhadap titik pusat P(0,0)

2

4

2404040

24040080

1202020

6010020

20

04

'''

'''

cba

cba

yyy

xxx

Jawab:

Jadi posisi segitiga setelah penskalaan:

A’(80,40), B’(400,40), dan C’(240,240)

-500 -400 -300 -200 -100 0 100 200 300 400 500-500

-400

-300

-200

-100

0

100

200

300

400

500PENSKALAAN (PERGESERAN)

Keluaran dalam matlab

%PENSKALAAN (SCALLING)x=[20, 100, 60, 20];y=[20, 20, 120, 20];x2=4*xy2=2*y plot(x,y,x2,y2)axis([-500, 500, -500, 500])title(‘PENSKALAAN (PERGESERAN)','FontSize',10)

Program dalam Matlab

3.4.3. Rotasi (Pemutaran)

Pemutaran adalah proses yang dilakukan untuk memutar suatu obyek atau gambar dengan pemutaran setiap titik ujung garis.

Pemutaran searah jarum jam akan dinyatakan dengan sudut negatif.

Pemutaran berlawanan arah jarum jam akan dinyatakan dengan sudut positif.

Misal: titik A(x,y) diputar dengan sudut putar α, dengan pusat putar P(a,b) akan dihasilkan titik A’(x’,y’).

A(x,y)

P(a,b)

A’(x’,y’)

x’

y’

α

a

b

x

y

Q

X

Y

Pandang segitiga siku-siku PAQ:

β

)2.......(..........coscos

)1........(..........sinsin

axrr

ax

byrr

by

R

Pandang segitiga siku-siku PA’R:

)4....(..........')cos('

)cos(

)3.....(..........')sin('

)sin(

axrr

ax

byrr

by

)5.......(')sin().cos()cos().sin()sin( byrrr

Persamaan (3):

)6.....(..........)sin()cos()sin()sin('

)cos()cos()sin()sin('

')cos()()sin()(

abbaxy

bbyaxy

bybyax

Masukan persamaan (1) dan (2) ke persamaan (5):

Persamaan (4):

)7.......(')sin().sin()cos().cos()cos( axrrr

Masukan persamaan (1) dan (2) ke persamaan (7):

)8.....().........sin()cos()sin()cos('

)sin()sin()cos()cos('

')sin()()cos()(

baayxx

abyaxx

axbyax

Persamaan (6) dan (8) disusun dalam bentuk matriks

sincos

sincos

cossin

sincos

'

'

abb

baa

y

x

y

x

y

x

y

x

cossin

sincos

'

'

Bila pusat rotasinya berada pada sumbu koordinat P(0,0), maka persamaan tersebut menjadi:

cossin

sincosT

Matriks penyajian untuk rotasi terhadap titik pusat P(0,0) adalah:

Contoh:Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20), C(60,120), jika dilakukan pemutaran dengan pusat sumbu koordinat dan rotasi putaran 180° berlawanan arah dengan arah jarum jam.

1202020

6010020

1202020

6010020

10

01

'''

'''

cba

cba

yyy

xxx

A’(-20,-20), B’(-100,-20), dan C’(-60,-120)

Jawab:

Jadi posisi segitiga setelah rotasi:

-300 -200 -100 0 100 200 300-300

-200

-100

0

100

200

300ROTASI SEBESAR 180 DERAJAT POSITIP

Keluaran dalam matlab:

Tugas dan Latihan:Buatlah script dalam matlab keluaran pada contoh diatas dan lakukan untuk rotasi putaran 45°, searah dan berlawanan arah jarum jam

3.4.4. Shearing

Shearing adalah suatu proses untuk mentransformasikan obyek dengan cara membebani obyek tersebut pada arah tertentu. Misalnya pembentukan huruf italic (miring) dari sembarang huruf.Proses shearing dari suatu titik A(x,y) menjadi titik A’(x’,y’) ke arah sumbu x sebesar m dan sumbu y sebesar n dinyatakan dalam persamaan:

m’ = x + myy’ = nx + y

y

x

n

m

y

x

1

1

'

'

Ditulis dalam bentuk matriks jadi:

Matriks penyajian untuk shearing terhadap titik pusat P(0,0) adalah:

1

1

n

mT

30032080

30014060

1202020

6010020

13

21

'''

'''

cba

cba

yyy

xxx

Contoh:Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20), C(60,120), jika dilakukan shearing dengan bobot kearah sumbu x adalah m = 2 dan bobot kearah sumbu y adalah n = 3 yang pusatnya terletak disumbu pusat koordinat.

Jadi posisi segitiga setelah dilakukan shearing:

A’(60,80), B’(140,320), dan C’(300,300)

Jawab:

-400 -300 -200 -100 0 100 200 300 400-400

-300

-200

-100

0

100

200

300

400SHEARING M = 2 DAN N = 3

Keluaran proses shearing dalam matlab:

Tugas dan Latihan:Buatlah script dalam matlab keluaran pada contoh shearing diatas dan lakukan untuk m dan n yang berbeda.

3.4.5. Pencerminan (Refleksi)

Refleksi sebuah garis g adalah transformasi yang memetahkan masing2 titik pada bidang ke dalam bayangan cerminnya terhadap g.Matriks penyajian untuk:

1. Refleksi terhadap sumbu y:

10

01T

y

xmenjadi

y

x

2. Refleksi terhadap sumbu x:

10

01T

y

xmenjadi

y

x

3. Refleksi terhadap sumbu y = x:

01

10T

x

ymenjadi

y

x

Contoh:Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(10,2), B(10,8), C(3,2), jika dilakukan pencerminan terhadap sumbu x, sumbu y, dan garis y = x

282

31010

282

31010

10

01

'''

'''

cba

cba

yyy

xxx

Jawab:1. Pencerminan terhadap sumbu x

Jadi posisi segitiga setelah dilakukan pencerminan terhadap sumbu x:

A’(-10,2), B’(-10,8), dan C’(-3,2)

2. Pencerminan terhadap sumbu y

282

31010

282

31010

10

01

'''

'''

cba

cba

yyy

xxx

Jadi posisi segitiga setelah dilakukan pencerminan terhadap sumbu y:

A’(10,-2), B’(10,-8), dan C’(3,-2)

3. Pencerminan terhadap garis y = x

31010

282

282

31010

01

10

'''

'''

cba

cba

yyy

xxx

Jadi posisi segitiga setelah dilakukan pencerminan terhadap garis y = x:

A’(2,10), B’(8,10), dan C’(2,3)

-15 -10 -5 0 5 10 15-15

-10

-5

0

5

10

15

Keluaran proses pencerminan terhadap sumbu x dalam matlab:

Tugas dan Latihan:Buatlah script dalam matlab keluaran pada contoh pencerminan diatas dan lakukan untuk pencerminan terhadap sumbu y dan pencerminan terhadap y = x.

3.4.6. Sistem Koordinat Homogem

Dari bentuk matriks penyajian, terlihat bahwa hanya proses translasi yang memerlukan operasi perkalian dan penjumlahan, sedangkan pada jenis transformasi yang lain cukup diperlukan operasi perkalian matriks.

Sistem koordinat homogen adalah sistem koordinat yang mempunyai dimensi lebih tinggi dari sistem koordinat yang ditinjau.

Misal, sistem koordinat homogen dari sistem koordinat 2 dimensi adalah sistem koordinat 3 dimensi dengan cara menentukan salah satu sumbunya sebagai suatu konstanta

Dengan menggunakan sistem koordinat homogenPersamaan umum transformasi titik A(x,y) menjadi A’(x’,y’)Dapat ditulis sebagai:

11001

'

'

y

x

tdb

tca

y

x

y

x

Dari persamaan tersebut diatas, masing-masing transformasi dapat dirumuskan kembali menjadi:

1100

10

01

1

'

'

100

10

01

y

x

n

m

y

x

n

m

T

1. Translasi:

1100

00

00

1

'

'

100

00

00

y

x

n

m

y

x

n

m

T

2. Scalling:

1100

0cossin

0sincos

1

'

'

100

0cossin

0sincos

y

x

aa

aa

y

x

aa

aa

T

3. Rotasi berlawanan arah jarum jam (sudut putar positif):

4. Shearing:

1100

01

01

1

'

'

100

01

01

y

x

n

m

y

x

n

m

T

1100

010

001

1

'

'

100

010

001

y

x

y

x

T

5. Refleksi terhadap sumbu x:

6. Refleksi terhadap sumbu y:

1100

010

001

1

'

'

100

010

001

y

x

y

x

T

1100

001

010

1

'

'

100

001

010

y

x

y

x

T

7. Refleksi terhadap garis y = x:

TUGAS DAN LATIHAN:

Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(10,2), B(10,8), dan C(3,2) jika dilakukan transformasi sebagai berikut:1.Translasi kearah sumbu x = 4, sumbu y = -22.Scalling dengan skala kearah sumbu x = 2, kearah sumbu y = -23.Diputar 90° berlawanan jarum jam4.Shearing kearah sumbu x = -2, ke arah sumbu y = 35.Refleksi terhadap sumbu x6.Refleksi terhadap sumbu y7.Refleksi terhadap garis y = x8.Buatlah script dalam matlab untuk masing2 soal diatas dan bentuk gambarnya.

3.5. Pengenalan Citra Digital

Sebuah citra gambar digital dapat mewakili sebuah matriks yang berukuran M kolom dan N baris

Perpotongan antara kolom dan baris disebut piksel, elemen terkecil dari sebuah citra.

Piksel mempunyai dua parameter:- koordinat- intensitas (warna)

Nilai yang terdapat pada koordinat (x,y) adalah f(x,y) yaitu besar intensitas (warna) dari piksel dititik tersebut.

Sebuah citra digital dapat dinyatakan dalam bentuk matriks sbb:

),(...)2,()1,(

............

),2(......)1,2(

),1(...)2,1()1,1(

),(

MNfNfNf

Mff

Mfff

yxf

Pengenalan Pola Citra Digital dengan Metode jarak Euclidean

------------------------------------------------------

Sebuah citra mempunyai beberapa ciri yang digunakan untuk mengenali citra tersebut, antara lain: Intensitas warna (σ) Nilai rata-rata (μ) Entropi (e) Energi (E) Homogeiniti (H) Contrast (C) dan lain lain

Standard deviasi Intensitas warna:

N

iii xx

N 1

2)(1

N

iX

N 11

1Nilai rata-rata:

n

iii xPxpe

1)(log)(Entropi:

M

x

N

yyxjP

NxMjE1 1

2)],([1Energi:

i j

dji

jiPH

1

),(Homogeiniti:

i j

d jiPjiC ),()( 2Contrast:

Jarak Euclidean:

jika diketahui dua buah vektor:

]..,..........,,,[

],..........,,,[

321

321

n

n

bbbbb

danaaaaa

Maka jarak Euclidean antara kedua vektor tsb.

2233

222

211 ).........()()()( nn babababaab

Jika n buah citra, masing2 mempunyai ciri2 yang dibentuk oleh vektor2 sbb:

][

..............................................

][

][

2222222

1111111

nnnnnnn hcpeC

hcpeC

hcpeC

Misal sebuah citra x yang akan diuji, citra mana yang paling mirip dengan citra x, dengan metode Euclidean dapat ditentukan besarnya jarak antar citra tsb.Citra yang paling mirip adalah citra yang mempunyai nilai jarak Euclidean paling kecil.

Contoh:4 buah citra tekstur sebagai berikut

spot_1 spot_2 spot_3 spot_line

Citra ke empat akan diuji, citra mana yang paling mirip terhadap citra ke empat (spot_line) tersebut dengan metode jarak Eucludean berdasarkan ciri:Intensitas warna (σ) Nilai rata-rata (μ) Entropi (e)

Pengenalan Citra dengan Metode Principal Component Analysis (PCA)

PCA merupakan salah satu metode ekstraksi fitur secara statistik. PCA merupakan sebuah cara untuk mengidentifikasi pola dalam kumpulan data untuk mencari persamaan dan perbedaannya. PCA sangat cocok untuk menemukan pola dalam data berdimensi tinggi .

Dalam konteks pengenalan wajah, PCA mencari eigenface yang merupakan kumpulan dari eigenvector. Eigenface adalah principal component (ciri-ciri penting) dari distribusi citra wajah yang didapatkan dari eigenvector dengan eigenvalue terbesar. Untuk mendapatkan eigenface, PCA melakukan perhitungan matrik kovarian dari kumpulan citra wajah latih setelah dilakukan normalisasi.

Eigenface tersebut akan menjadi dasar perhitungan face space yang merepresentasikan nilai bobot individu yang mewakili satu atau lebih citra wajah. Nilai bobot inilah yang digunakan untuk mengenali citra wajah uji dengan mencari jarak nilai bobot citra wajah uji dengan nilai bobot citra wajah latih.

Perhitungan jarak nilai bobot dapat dilakukan dengan perhitungan jarak Euclidian (Euclidian Distance).

START

Normalisasi Input

Mencari covariance matriks

Mencari eigen vektor dan eigen value

Mencari Principle Component eigenface

STOP

Langkah langkah pembentukan PCA

Mencari Covarian Matriks

Matriks covarian dirumuskan sbb:

1

)(')(

),cov(

n

n

iyiyxix

yx

304

132

211

x

Contoh: hitung covarian matriks dari:

Langkah langkah menghitung matriks kovarian

1). Hitung rata-rata kolom 1 sampai 3, didapat

2). Kurangkan kolom 1 sampai 3 matriks x ke masing2 rata-ratanya

3). Hitung matriks transpose dari langkah 2 diatas:

3

6

3

4

3

1x

)( xix -1.3333 -0.3333 0 -2.3333 1.6667 -1.0000 3.6667 -1.3333 1.0000

-1.3333 -2.3333 3.6667 -0.3333 1.6667 -1.3333 0 -1.0000 1.0000

')( xix

4). Covarian matriks

1

*'

)cov(

n

xixxixx

10.3333 -4.1667 3.0000 -4.1667 2.3333 -1.5000 3.0000 -1.5000 1.0000

cov(x) =

2 1 4 3 1 5 2 6 3 7 8 2 9 3 5 4

x =

Latihan, hitung covarian matriks berikut iniGunakan Matlab untuk menghitung langkah demi langkah

ans =

12.9167 -1.6667 2.5833 -0.7500 -1.6667 6.6667 3.0000 -0.3333 2.5833 3.0000 6.2500 -3.7500 -0.7500 -0.3333 -3.7500 2.9167

%COVARIAN MATRIKx=[2 1 4 3; 1 5 2 6; 3 7 8 2; 9 3 5 4]; %Langkah 1 (hitung rata2 kolom)a=mean(x(1:4,1)); b=mean(x(1:4,2)); c=mean(x(1:4,3)); d=mean(x(1:4,4)); %Langkah ke-2 (kurangkan masing2 kolom sampai n dengan masing2 rata2nya)x1=x(1:4,1)-a; x2=x(1:4,2)-b; x3=x(1:4,3)-c; x4=x(1:4,4)-d; %Langkah ke-3m=[x1 x2 x3 x4];n=m'; %Langkah ke-4 (Covarian matiks)C1=n*m/3C2=m*n/3

Mencari Eigen vektor dan Eigen value

Jika A adalah suatu matriks n x n, maka vektor tak nol x pada Rn disebut suatu vektor eigen dari A, jika Ax adalah suatu kelipatan skalar dari x, yaitu :

Ax = λxUntuk suatu skalar λ, skalar λ disebut nilai eigen (eigen value) dari A dan x dikatakan sebuah vektor eigen yang bersesuaian (berpadanan) dengan λ.Dari teorema di atas dapat dinyatakan, untuk mencari nilai eigen (nilai pribadi) dari sebuah matriks,

Ax =λ I xAtau ekivalen dengan :

(A - λ I )x = 0 Persamaan karakteristik A:

|A - λ I| = 0

Contoh diberikan matriks sbb:

26

17A

3

14

12

4

3

1

26

17

Eigenvector

Eigenvalue

Dimana λ = 4 adalah eigen value dari matriks A yg berhubungan dengan eigen vector

3

1x

Kita coba contoh diatas dengan menggunakan persamaan karakteristik:

|A - λ I| = 0

26

17

10

01

26

17IA

52

41

0)5()4(

20926)2()7(26

17

IA

Dengan demikian nilai eigenvalue ada 2 yaitu 4 dan 5Untuk λ = 5 eigenvektornya:

2

1x

(A - λ I )x = 0

02

126

17

x

x

02

136

12

x

x

2

1122

sx

xx

02316

0212

xx

xx

atau

s adalah skalar bilangan riel sembarang ≠ 0Jadi eigen vektornya adalah:

2

1x

112

332

310

A

Latihan: Tentukan eigenvalue dan eigenvektor:

Pengenalan Citra Wajah dengan PCA

Langkah2 Pengenalan Wajah dengan PCA

1. Buat citra gambar wajah berukuran sama (n x n) dan center, simpan citra tsb. kedalam data base

2. Baca tiap-tiap citra wajah tersebut, I = [I1 , I2 , I3 , .............I15]

),(...)2,()1,(

............

),2(......)1,2(

),1(...)2,1()1,1(

),(1

NNfNfNf

Nff

Nfff

yxI

I1 = citra ke-1I2 = citra ke-2dst.

3. Ubah dimensi citra wajah menjadi vektor (matrik baris) berukuran: 1 x N2

)],(.......)1,4()1,3()1,2()1,1([15

................................................................................

................................................................................

................................................................................

)],(.......)1,4()1,3()1,2()1,1([3

)],(.......)1,4()1,3()1,2()1,1([2

)],(.......)1,4()1,3()1,2()1,1([1

NNfffff

NNfffff

NNfffff

NNfffff

15

....

....

....3

2

1

15 2xn

Dari sini diperoleh vektor baru berukuran: 15 x N2

4. Hitung rata-rata vektor diatas, diperoleh vektor berukuran 1 x N2

15

115

1

ii

5. Kurangkan setiap vektor citra wajah dengan rata-rata nyaSehingga diperoleh vektor Φ berukuran 15 x N2

1515

...................

...................

...................33

32

31

15

...

...

...3

2

1

Diperoleh vektor :

6. Hitung covarian matriks

1

)(')(

),cov(

n

n

iyiyxix

yx

221

15

1)'(

)cov(2 xNNmatriksn

iii

A

dan

15151

15

1)'(

)cov(1 xmatriksn

iii

A

7. 1. Hitung nilai eigenvalue (λ) dan eigenvektor (Ui) dari A1

01 IA

Persamaan determinan diatas diselesaikan akan diperoleh 15 eigenvalue (λ), yang merupakan bilangan skalar:

15........,..........,3,2,1

Hitung eigenvektor untuk masing2 nilai λ, diurutkan dimulai dari nilai λ yang terbesar sampai yang terkecil

01 iUIiA

Akan diperoleh eigenvektor sbb:

115

...

...

...

...

12

11

1

u

u

u

U

215

...

...

...

...

22

21

2

u

u

u

U

1515

...

...

...

...

152

151

15

u

u

u

U..................

7. 2. Hitung eigenvektor (Vi) dari A2 Karena matriks A2 berukuran besar yaitu N2 x N2 , maka kita dapat menghitung ke 15 eigenvektor dari A2 dengan menggunakan:

iUiV '

1

...

...

...

...

12

11

1

2Nv

v

v

V

2

...

...

...

...

22

21

2

2Nv

v

v

V

15

...

...

...

...

152

151

15

2Nv

v

v

V..................

Representasi dari Wajah:Tiap-tiap wajah training dapat direpresentasikan sebagai kombinasi linier dari 15 vektor Vi , yaitu:

15

1iiviWj

ivjiw dimana

Φj adalah vektor wajah berukuran (1xN2 ) sedangkanvi berukuran (N2 x 1), maka wi berukuran (1 x 1)vi disebut eigenface

Tiap-tiap wajah training dinormalisasi sehingga citra wajah Φj yang belum dinormalisasi menjadi citra wajah Ωj yang sudah dinormalisasi

115

...

...

...

...

12

11

1

w

w

w

Pengenalan wajah dengan menggunakan eigenfaceMisal ada citra wajah yang akan dikenali ГLangkah langkahnya:1). Hitung: Φ = Г – ѱ ------ (1 x N2)2). Proyeksikan kedalam ruang wajah

15

1iiviW

dimanaiviw

3). Representasikan Φ sebagai Ω

15

...

...

...

...2

1

w

w

w

4). Tentukan distance error d:

kkd min

5). Jika d<T, maka citra wajah Гdikenali sebagai wajah ke-k dari sekumpulan training diatas

Dimana T = Threshold (didapat dari hasil percobaan)

% PENGENALAN POLA CITRA TEKSTUR METODE EUCLUDEAN clear, close allI1=imread('C:\Users\DELL\Documents\image\spot_1.jpg');I2=imread('C:\Users\DELL\Documents\image\spot_2.jpg');I3=imread('C:\Users\DELL\Documents\image\spot_3.jpg');I4=imread('C:\Users\DELL\Documents\image\spot_line.jpg'); av_1 = mean2(I1);ent_1 = entropy(I1);std_1 = std2(I1);C1=[std_1, av_1, ent_1]' av_2 = mean2(I2);ent_2 = entropy(I2);std_2 = std2(I2);C2=[std_2, av_2, ent_2]’

Contoh Program dalam Matlab

av_3 = mean2(I3);ent_3 = entropy(I3);std_3 = std2(I3);C3=[std_3, av_3, ent_3]' av_4 = mean2(I4);ent_4 = entropy(I4);std_4 = std2(I4);C4=[std_4, av_4, ent_4]' % MENCARI CITRA YANG PALING MIRIP TERHADAP CITRA 4 dist_14=sqrt((C1(1,1)-C4(1,1))^2+(C1(2,1)-C4(2,1))^2+(C1(3,1)-C4(3,1))^2)dist_24=sqrt((C2(1,1)-C4(1,1))^2+(C2(2,1)-C4(2,1))^2+(C2(3,1)-C4(3,1))^2)dist_34=sqrt((C3(1,1)-C4(1,1))^2+(C3(2,1)-C4(2,1))^2+(C3(3,1)-C4(3,1))^2)dist_44=sqrt((C4(1,1)-C4(1,1))^2+(C4(2,1)-C4(2,1))^2+(C4(3,1)-C4(3,1))^2)

clear allclc %PESAN YANG DIKIRIM: MAGISTER ILMU KOMPUTER%KATA KUNCI: MADANI%KODE HURUF DIBUAT:% A B C D E F G H I J K L M % -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 % N O P Q R S T U V W X Y Z% 13 12 11 10 9 8 7 6 5 4 3 2 1 %Proses ENCODEA=[ -1 -5 -9 -5 6 12 6 9; -13 8 9 -2 15 -1 7 15; -7 7 15 -1 -3 11 -9 15]; B=[ -1 -13 15; -13 13 15; -10 -5 15];

%Pesan yg dikirimC=B*A; %Proses DECODEinvers_B=inv(B); %ISI PESANA_r=invers_B*C;E=A_r; %ISI PESANPesan=[E(1:3,1); E(1:3,2); E(1:3,3); E(1:3,4); E(1:3,5); E(1:3,6); E(1:3,7); E(1:3,8)]';

top related