komputasi terapan lanjutan

download komputasi terapan lanjutan

of 81

Transcript of komputasi terapan lanjutan

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 = 14 B = 2 O = 15 C = 3 P = 16 D = 4 Q = 17 E = 5 R = 18 F = 6S = 19 G = 7 T = 20 H = 8 U = 21 I =9V = 22 J =10 W = 23 K =11X = 24 L=12 Y = 25 M=13 Z = 26Contoh: 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 = -13N = 13 B = -12O = 12 C = -11 P = 11 D = -10Q = 10 E = -9 R = 9 F = -8 S = 8 G =-7 T = 7 H =-6 U = 6 I =-5 V = 5 J = -4 W = 4 K =-3 X = 3 L= -2 Y = 2 M=-1 Z = 1Spasi =15Pesan yang dikirim adalah: MAGISTER ILMU KOMPUTER Kunci: MADANIProses ENCODE Pesan dirubah menjadi kode angka sbb: -1-13-7-587-9915-5-2-1615-312-11167-99 Pesan tsb dipotong-potong disimpan dalam matriks A (3xn) ((((

=15 9 11 3 1 15 7 715 7 1 15 2 9 8 139 6 12 6 5 9 5 1AKunci dirubah menjadi:-1 -13 -10 -13 13 -5 Disimpan dalam matriks B(mx3) ((((

=15 5 1015 13 1315 13 1BC = 240-169-25841-171-109-7-354 -121 134 15944 132-22458 3 -315 150 225-120 270 33060 585 Matriks C = B * A Matriks disusun kembali menjadi deret angka, yang merupakan pesan yang dikirimkan

isi pesan yang dikirim: 240-121-315-169134150-2581592254144-120-171132270-109-224330-75860-3543585 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-25841-171-109-7-354 -121 134 15944 132-22458 3 -315 150 225-120 270 33060 585 Kunci matrik adalah: ((((

=15 5 1015 13 1315 13 1BPenerima pesan menghitung invers dari B 0.13040.02170.0942 B-1 = 0.05800.06520.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.00006.00009.0000 -13.00008.0000 9.0000 -2.0000 15.0000 -1.00007.0000 15.0000 -7.00007.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.00008.0000 7.0000 -9.0000 9.0000 15.0000 -5.0000 -2.0000 -1.00006.0000 15.0000 -3.0000 12.0000 -1.000011.0000 6.00007.0000 -9.00009.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 -10524-101 145-279-189 26157-97-32 -21-278-11282 131-59-252-171-96 27-23424-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. Wadah penampung 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: BUDILUHUR Yang panjangnya 9 karakter. Proses Encode: Tabel huruf: ABCDEFGHIJKLM N O 12 34 56 7 89 101112131415 PQRSTUVWXYZ 1617181920 21 22 23 24 25 26 Konversi: BUDILUHUR menjadi 221491221821 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 1282 896 4 8 46 3 1 6 21921 33 23 54 7 8 9 4 12 15 213 42 15 66 5 12 9 30 2324 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 1018 20 30 22 50 6 8 36 22 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 yang disembunyikan. 2. Cover-object (covertext): pesan yang digunakan untuk menyembunyikan embedded message. 3. Stego-object (stegotext):pesanyang sudah berisi pesan embedded message. 4. Stego-key: kunci yang digunakan untuk menyisipan pesan dan mengekstraksi pesan dari stegotext. Encoding(embeddin)covertexthiddentextkeyDecoding(extraction)stegotextkeyhiddentextcovertextCONTOH 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 Bit MSB = 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)) 001100111010001011100010 (misal pixel berwarna merah) Misalkan embedded message:010 Encoding:

001100101010001111100010 (pixel berwarna merah berubah sedikit, tidak dapat dibedakan secara visual dengan citra aslinya) Jika pesan = 10 bit, maka jumlah byte yang digunakan = 10 byte Contoh susunan byte yang lebih panjang: 0011001110100010 111000101010101100100110 1001011011001001 111110011000100010100011 Pesan: 1110010111 Hasil penyisipan pada bit LSB: 0011001110100011 111000111010101000100110 1001011111001000 111110011000100110100011 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 ukurandata 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 CovertextStegotext 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, dst Apabila 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 = 1001010 Berarti terjadi kesalahan pada posisi ke-3 Kalau pengirimana data dilakukan berulang-ulang akan banyak membutuhkan memori dan tidak efisienKode 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 1 H = 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=1Proses 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 = u 3. 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 1 H * wT =0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 = 0 0 Karena h*wT = 0, maka tidak terjadi kesalahan, artinya u = (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 1 H * wT =0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 = 1 0 Karena h*wT = kolom ke-3 dari matriks H, maka terjadi kesalahan data pada posisi ke-3, artinya w = (1 0 1 1 0 1 0) dan u = (1 0 1 1) 3.4. KOMPUTER GRAFIK Transformasi Geometri Salah 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.Misalkantitik A(x,y) digeser searah sumbu x sejauh m dan searah sumbu y sejauh n, maka titik setelah pergeseran: x = x + m ataux = x + 0y + m y = y + n y = 0x + y + n Dalam bentuk matriks: ((

+((

((

=((

nmyxyx1 00 1''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 = 70 Jawab: ((

+((

((

=((

70 70 7080 80 80120 20 2060 100 201 00 1' ' '' ' 'c b ac b ay y yx x x((

=190 90 90140 180 100Dengan demikian titik yang dimaksud adalah: A(100,90), B(180,90), dan C(140,190) 0 50 100 150 200 250 300050100150200250300TRANSLASI (PERGESERAN)AB C C BA %TRANSLASI (PERGESERAN) x=[20, 100, 60, 20]; y=[20, 20, 120, 20]; x2=x+80 y2=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) + a y=n(y-b) + b atau x=mx + a ma y=ny + b - nb P(a,b) A(x,y) A(x,y) b ax y x y x-a y-b ((

+((

((

=((

nb bma ayxnmyx00''Atau dalam bentuk matriks: Jika penskalaan pada sumbu koordinat P(0,0), maka a = 0 dan b =0, sehingga persamaannya menjadi:((

((

=((

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

=nmT00Contoh: 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) ((

24((

=((

((

=((

240 40 40240 400 80120 20 2060 100 202 00 4' ' '' ' 'c b ac b ay y yx x xJawab: 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-1000100200300400500PENSKALAAN (PERGESERAN)Keluaran dalam matlab %PENSKALAAN (SCALLING) x=[20, 100, 60, 20]; y=[20, 20, 120, 20]; x2=4*x y2=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 putarP(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 .......( .......... cos cos) 1 ........( .......... sin sina x rra xb y rrb y = = = =| || |R [email protected] Pandang segitiga siku-siku PAR: ) 4 ....( .......... ' ) cos(') cos() 3 .....( .......... ' ) sin(') sin(a x rra xb y rrb y = + = + = + = +| o | o| o | o) 5 .......( ' ) sin( ). cos( ) cos( ). sin( ) sin( b y r r r = + = + | o | o | oPersamaan (3): ) 6 .....( .......... ) sin( ) cos( ) sin( ) sin( ') cos( ) cos( ) sin( ) sin( '' ) cos( ) ( ) sin( ) (o o o oo o o oo oa b b a x yb b y a x yb y b y a x + =+ + = = + Masukan persamaan (1) dan (2) ke persamaan (5): Persamaan (4): ) 7 .......( ' ) sin( ). sin( ) cos( ). cos( ) cos( a x r r r = = + | o | o | oMasukan persamaan (1) dan (2) ke persamaan (7): ) 8 .....( )......... sin( ) cos( ) sin( ) cos( ') sin( ) sin( ) cos( ) cos( '' ) sin( ) ( ) cos( ) (o o o oo o o oo ob a a y x xa b y a x xa x b y a x+ + =+ + = = Persamaan (6) dan (8) disusun dalam bentuk matriks ((

+ +((

((

=((

o oo oo oo osin cossin coscos sinsin cos''a b bb a ayxyx((

((

=((

yxyxo oo ocos sinsin cos''Bila pusat rotasinya berada pada sumbu koordinat P(0,0), maka persamaan tersebut menjadi: ((

=o oo ocos sinsin cosTMatriks 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.((

=((

((

=((

120 20 2060 100 20120 20 2060 100 201 00 1' ' '' ' 'c b ac b ay y yx x xA(-20,-20), B(-100,-20), dan C(-60,-120) Jawab: Jadi posisi segitiga setelah rotasi:-300 -200 -100 0 100 200 300-300-200-1000100200300ROTASI SEBESAR 180 DERAJAT POSITIPKeluaran dalam matlab: Tugas dan Latihan: Buatlah script dalam matlab keluaran pada contoh diatas dan lakukan untuk rotasi putaran 45, searah dan berlawanan arah jarum jam3.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 + my y= nx + y ((

((

=((

yxnmyx11''Ditulis dalam bentuk matriks jadi: Matriks penyajian untuk shearing terhadap titik pusat P(0,0) adalah: ((

=11nmT((

=((

((

=((

300 320 80300 140 60120 20 2060 100 201 32 1' ' '' ' 'c b ac b ay y yx x xContoh: 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-1000100200300400SHEARING M = 2 DAN N = 3Keluaran 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: ((

= ((

((

1 00 1Tyxmenjadiyx2.Refleksi terhadap sumbu x: ((

= ((

((

1 00 1Tyxmenjadiyx3.Refleksi terhadap sumbu y = x: ((

= ((

((

0 11 0TxymenjadiyxContoh: 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 ((

=((

((

=((

2 8 23 10 102 8 23 10 101 00 1' ' '' ' 'c b ac b ay y yx x xJawab: 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 ((

=((

((

=((

2 8 23 10 102 8 23 10 101 00 1' ' '' ' 'c b ac b ay y yx x xJadi posisi segitiga setelah dilakukan pencerminan terhadap sumbu y: A(10,-2), B(10,-8), dan C(3,-2)

3. Pencerminan terhadap garis y = x ((

=((

((

=((

3 10 102 8 22 8 23 10 100 11 0' ' '' ' 'c b ac b ay y yx x xJadi 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-5051015Keluaran 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 ydan 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 koordinatyang 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 homogen Persamaan umum transformasi titik A(x,y) menjadi A(x,y) Dapat ditulis sebagai: ((((

((((

=((((

11 0 01''yxt d bt c ayxyxDari persamaan tersebut diatas, masing-masing transformasi dapat dirumuskan kembali menjadi: ((((

((((

=((((

==>((((

=1 1 0 01 00 11''1 0 01 00 1yxnmyxnmT1. Translasi: ((((

((((

=((((

==>((((

=1 1 0 00 00 01''1 0 00 00 0yxnmyxnmT2. Scalling: ((((

((((

=((((

==>((((

=1 1 0 00 cos sin0 sin cos1''1 0 00 cos sin0 sin cosyxa aa ayxa aa aT3. Rotasi berlawanan arah jarum jam (sudut putar positif): 4. Shearing: ((((

((((

=((((

==>((((

=1 1 0 00 10 11''1 0 00 10 1yxnmyxnmT((((

((((

=((((

==>((((

=1 1 0 00 1 00 0 11''1 0 00 1 00 0 1yxyxT5. Refleksi terhadap sumbu x: 6. Refleksi terhadap sumbu y: ((((

((((

=((((

==>((((

=1 1 0 00 1 00 0 11''1 0 00 1 00 0 1yxyxT((((

((((

=((((

==>((((

=1 1 0 00 0 10 1 01''1 0 00 0 10 1 0yxyxT7. 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 = -2 2. Scalling dengan skala kearah sumbu x = 2, kearah sumbu y = -2 3. Diputar 90 berlawanan jarum jam 4. Shearing kearah sumbu x = -2, ke arah sumbu y = 3 5. Refleksi terhadap sumbu x 6. Refleksi terhadap sumbu y 7. Refleksi terhadap garis y = x 8. Buatlah script dalam matlab untuk masing2 soal diatas dan bentuk gambarnya. 3.5. Pengenalan Citra Digital Sebuah citra gambar digital dapat mewakili sebuahmatriks 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 () , (M N f N f N fM f fM f f fy x fPengenalan 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: = =Nii ix xN12) (1o==NiXN111Nilai rata-rata: = =nii ix P x p e1) ( log ) ( Entropi: = ==MxNyy xjPN x MjE1 12)] , ( [1Energi: +=i jdj ij i PH1) , (Homogeiniti: =i jdj i P j i C ) , ( ) (2Contrast: Jarak Euclidean: jika diketahui dua buah vektor: ] .., .......... , , , [] , .......... , , , [3 2 13 2 1nnb b b b bdan a a a a a==Maka jarak Euclidean antara kedua vektor tsb. 2 23 322 221 1) .........( ) ( ) ( ) (n nb a b a b a b a ab + + + =Jika n buah citra, masing2 mempunyai ciri2 yang dibentuk oleh vektor2 sbb: ] [...... .......... .......... .......... ..........] [] [2 2 2 2 2 2 21 1 1 1 1 1 1n n n n n n nh c p e Ch c p e Ch c p e C o o o===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_1spot_2spot_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 POLA CITRA TEKSTURMETODE EUCLUDEANclear, close all I1=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)