PENDAHULUAN 1 LANDASAN TEORI 3 PERANCANGAN SISTEM SIMULASI DAN ANALISA DATA 22 KESIMPULAN DAN SARAN 36

Universitas Kristen Maranatha iii DAFTAR ISI Halaman LEMBAR PENGESAHAN SURAT PERNYATAAN ABSTRAK i ABSTRACT ii KATA PENGANTAR iii DAFTAR ISI v DAFTAR TABEL vii DAFTAR GAMBAR viii

BAB I PENDAHULUAN 1

I.1 Latar Belakang 2 I.2 Identifikasi Masalah 2 I.3 Tujuan 2 I.4 Pembatasan Masalah 2 I.5 Sistematika Penulisan 2

BAB II LANDASAN TEORI 3

II.1 Umum 3 II.2 Multi-directional Interpolation 3 II.2.1 Pendeteksian Tepi 5 II.2.2 Klasifikasi Voting Gradien 8 II.2.3 Interpolasi Spasial 8 II.2.4 Penggabungan Citra 10 II.2.5 Kualitas Citra 11 Universitas Kristen Maranatha iv

BAB III PERANCANGAN SISTEM

12 III.1 Pencarian Blok Error 13 III.2 Klasifikasi arah menggunakan Voting Gradien 13 III.2.1 Pendeteksian Tepi 14 III.2.2 Deteksi Tepi yang Melewati Blok Rusak 15 III.2.3 Tiga Nilai Tepi Terbesar 16 III.3 Interpolasi Spasial 17 III.3.1 Interpolasi 17 III.4 Pencampuran Citra 18 III.4.1 Klasifikasi 19 III.4.2 Penggabungan Citra 20

BAB IV SIMULASI DAN ANALISA DATA 22

IV.1 Karakteristik Citra Input 22 IV.2 Klasifikasi Voting Gradien 22 IV.3 Interpolasi Spasial 32 IV.4 Pencampuran 33 IV.5 Analisa 34

BAB V KESIMPULAN DAN SARAN 36

V.1 Kesimpulan 36 V.2 Saran 36 DAFTAR PUSTAKA 37 LAMPIRAN A LAMPIRAN B Universitas Kristen Maranatha v DAFTAR TABEL Halaman Tabel IV.1 Indeks arah interpolasi 24 Tabel IV.2 Perbandingan Nilai PSNR untuk citra ukuran 256 x 256 piksel 34 Tabel IV.3 Perbandingan Nilai PSNR untuk citra ukuran 512 x 512 piksel 35 Universitas Kristen Maranatha vi DAFTAR GAMBAR Halaman Gambar II.1 Blok proses penyembunyian error 4 Gambar II.2 Proses penyembunyian error dengan MDI 4 Gambar II.3 Titik – titik yang dilibatkan dalam penghitunan gradien 6 Gambar II.4 a Original image 7 b Tepi edge image 7 Gambar II.5 Arah tepi 8 Gambar II.6 Satu paket arah interpolasi satu dimensi 9 Gambar II.7 Array satu dimensi 9 Gambar II.8 Operator MAX, MIN, AVG 10 Gambar III.1 Diagram blok perancangan sistem 12 Gambar III.2 Diagram alir sistem penyembunyian error 12 Gambar III.3 Diagram alir proses pemeriksaan blok error 13 Gambar III.4 Diagram alir proses klasifikasi voting gradien 14 Gambar III.5 Diagram alir pendeteksian tepi 15 Gambar III.6 Diagram alir deteksi tepi yang melewati blok rusak 16 Gambar III.7 Diagram alir pemilihan tiga nilai terbesar 17 Gambar III.8 Diagram alir interpolasi spasial 17 Gambar III.9 Diagram alir interpolasi 18 Gambar III.10 Diagram alir pencampuran citra 19 Gambar III.11 Diagram alir klasifikasi 20 Gambar III.12 Diagram alir penggabungan citra 21 Gambar IV.1 Citra tanpa error ’foreman.jpg’ 22 Gambar IV.2 Contoh nilai magnituda 23 Gambar IV.3 Contoh arah tepi. 23 Gambar IV.4 Contoh indeks 24 Gambar IV.5 Citra yang rusak 32 Gambar IV.6 Contoh hasil interpolasi 33 Universitas Kristen Maranatha vii Gambar IV.7 Contoh hasil pencampuran. 33 Gambar IV.8 Citra hasil perbaikan 34 LAMPIRAN A KODE PROGRAM A-1 function[gbr_satu]=interpolasi_1a clear; close all; clc; global matrik_interpolasi; global indeks; Multidirectional Interpolation Processing gbr_satu=matrik_interpolasi; arah_atas_satu=matrik_interpolasi; arah_bawah_satu=matrik_interpolasi; [brs,klm]=sizematrik_interpolasi; Multidirectional Interpolation Processing switchindeks1 case 0 0 Degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_satum,n==0 r=m; s=n+1; jrk=1 jar=0; while s=klm jar=jar+1jrks-n2.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- njrk2.5; s=s+1; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_satum,n==0 t=m; u=n-1; jrk=1; jar1=0; while u=1 A-2 jar1=jar1+1jrkn-u2.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,un- ujrk2.5; u=u-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; clear m n case 1 22.5 Degree for m=1:brs for n=klm:-1:1 if arah_atas_satum,n==0 r=m-1; s=n+2; jar=0; jrk=sqrts-n2+m-r2; while r=1 s=klm jar=jar+1jrkm-r12.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- n2jrk2.5; r=r-1; s=s+2; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_satum,n==0 t=m+1; u=n-2; jrk=sqrtt-m2+n-u2; jar1=0; A-3 while t=brs u=1 jar1=jar1+1jrkt-m12.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,un- u2jrk2.5; t=t+1; u=u-2; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 2 45 degree 135 degree counter for m=1:brs for n=klm:-1:1 if arah_atas_satum,n==0 r=m-1; s=n+1; jrk=1; jar=0; arah_atas_satum,n=0; while r=1 s=klm jar=jar+1jrkm-r2.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,sm- rjrk2.5; r=r-1; s=s+1; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n for m=brs:-1:1 A-4 for n=1:klm ifarah_bawah_satum,n==0 t=m+1; u=n-1; jrk=1; jar1=0; while t=brs u=1 jar1=jar1+1jrkt-m2.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,ut- mjrk2.5; t=t+1; u=u-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 3 67.5 degree for m=1:brs for n=klm:-1:1 if arah_atas_satum,n==0 r=m-2; s=n+1; jrk=sqrts-n2+m-r2; jar=0; while r=1 s=klm jar=jar+1jrks-n12.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- n1jrk2.5; r=r-2; s=s+1; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; A-5 end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_satum,n==0 t=m+2; u=n-1; jrk=sqrtt-m2+n-u2; jar1=0; while t=brs u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,un- u1jrk2.5; t=t+2; u=u-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 4 90 degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_satum,n==0 r=m+1; jar=0; jrk=1; while r=brs jar=jar+1jrkr-m2.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,nr- mjrk2.5; r=r+1; end; A-6 arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n jar for m=1:brs for n=1:klm ifarah_bawah_satum,n==0 t=m-1; jar1=0; jrk=1; while t=1 jar1=jar1+1jrkm-t2.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,nm- tjrk2.5; t=t-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 5 112.5 for m=brs:-1:1 for n=brs:-1:1 if arah_atas_satum,n==0 r=m+2; s=n+1; jrk=sqrts-n2+r-m2; jar=0; while r=brs s=klm A-7 jar=jar+1jrks-n12.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- n1jrk2.5; r=r+2; s=s+1; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_satum,n==0 t=m-2; u=n-1; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,un- u1jrk2.5; t=t-2; u=u-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 6 135 degree Counter 45 Degree for m=brs:-1:1 for n=klm:-1:1 A-8 if arah_atas_satum,n==0 r=m+1; s=n+1; jar=0; jrk=1; while r=brs s=klm jar=jar+1jrks-n2.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- njrk2.5; r=r+1; s=s+1; end; arah_atas_satum,n=arah_atas_satum,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_satum,n==0 t=m-1; u=n-1; jar1=0 jrk=1; while t=1 u=1 jar1=jar1+1jrkm-t2.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,um- tjrk2.5; t=t-1; u=u-1; end; arah_bawah_satum,n=arah_bawah_satum,n.jar1; end; end; end; A-9 gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; case 7 157,5 degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_satum,n==0 r=m+1; s=n+2; jrk=sqrts-n2+m-r2; jar=0; while r=brs s=klm jar=jar+1jrkr-m12.5; arah_atas_satum,n=arah_atas_satum,n+arah_atas_satur,ss- n2jrk2.5; r=r+1; s=s+2; end arah_atas_satum,n=arah_atas_satum,n.jar; end end end clear m n for m=1:brs for n=1:klm ifarah_bawah_satum,n==0 t=m-1; u=n-2; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkm-t12.5; arah_bawah_satum,n=arah_bawah_satum,n+arah_bawah_satut,un- u2jrk2.5; t=t-1; A-10 u=u-2; end arah_bawah_satum,n=arah_bawah_satum,n.jar1; end end end gbr_satu9:16,9:16=arah_atas_satu9:16,9:16+arah_bawah_satu9:16,9:16.2; end end switch function[gbr_dua]=interpolasi_2a clear; close all; clc; global matrik_interpolasi; global indeks; Multidirectional Interpolation Processing gbr_dua=matrik_interpolasi; arah_atas_dua=matrik_interpolasi; arah_bawah_dua=matrik_interpolasi; [brs,klm]=sizematrik_interpolasi; Multidirectional Interpolation Processing switchindeks2 case 0 0 Degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_duam,n==0 r=m; s=n+1; jrk=1 jar=0; while s=klm jar=jar+1jrks-n2.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- njrk2.5; s=s+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; A-11 end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_duam,n==0 t=m; u=n-1; jrk=1; jar1=0; while u=1 jar1=jar1+1jrkn-u2.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,un- ujrk2.5; u=u-1; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; clear m n case 1 22.5 Degree for m=1:brs for n=klm:-1:1 if arah_atas_duam,n==0 r=m-1; s=n+2; jar=0; jrk=sqrts-n2+m-r2; while r=1 s=klm jar=jar+1jrkm-r12.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- n2jrk2.5; r=r-1; s=s+2; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; A-12 end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_duam,n==0 t=m+1; u=n-2; jrk=sqrtt-m2+n-u2; jar1=0; while t=brs u=1 jar1=jar1+1jrkt-m12.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,un- u2jrk2.5; t=t+1; u=u-2; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; case 2 45 degree 135 degree counter for m=1:brs for n=klm:-1:1 if arah_atas_duam,n==0 r=m-1; s=n+1; jrk=1; jar=0; arah_atas_duam,n=0; while r=1 s=klm jar=jar+1jrkm-r2.5; A-13 arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,sm- rjrk2.5; r=r-1; s=s+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_duam,n==0 t=m+1; u=n-1; jrk=1; jar1=0; while t=brs u=1 jar1=jar1+1jrkt-m2.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,ut- mjrk2.5; t=t+1; u=u-1; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; case 3 67.5 degree for m=1:brs for n=klm:-1:1 if arah_atas_duam,n==0 r=m-2; s=n+1; A-14 jrk=sqrts-n2+m-r2; jar=0; while r=1 s=klm jar=jar+1jrks-n12.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- n1jrk2.5; r=r-2; s=s+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_duam,n==0 t=m+2; u=n-1; jrk=sqrtt-m2+n-u2; jar1=0; while t=brs u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,un- u1jrk2.5; t=t+2; u=u-1; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; case 4 90 degree A-15 for m=brs:-1:1 for n=klm:-1:1 if arah_atas_duam,n==0 r=m+1; jar=0; jrk=1; while r=brs jar=jar+1jrkr-m2.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,nr- mjrk2.5; r=r+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n jar for m=1:brs for n=1:klm ifarah_bawah_duam,n==0 t=m-1; jar1=0; jrk=1; while t=1 jar1=jar1+1jrkm-t2.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,nm- tjrk2.5; t=t-1; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; A-16 case 5 112.5 for m=brs:-1:1 for n=brs:-1:1 if arah_atas_duam,n==0 r=m+2; s=n+1; jrk=sqrts-n2+r-m2; jar=0; while r=brs s=klm jar=jar+1jrks-n12.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- n1jrk2.5; r=r+2; s=s+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_duam,n==0 t=m-2; u=n-1; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,un- u1jrk2.5; t=t-2; u=u-1; end; A-17 arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; case 6 135 degree Counter 45 Degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_duam,n==0 r=m+1; s=n+1; jar=0; jrk=1; while r=brs s=klm jar=jar+1jrks-n2.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- njrk2.5; r=r+1; s=s+1; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_duam,n==0 t=m-1; u=n-1; jar1=0 jrk=1; while t=1 u=1 A-18 jar1=jar1+1jrkm-t2.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,um- tjrk2.5; t=t-1; u=u-1; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; case 7 157,5 degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_duam,n==0 r=m+1; s=n+2; jrk=sqrts-n2+m-r2; jar=0; while r=brs s=klm jar=jar+1jrkr-m12.5; arah_atas_duam,n=arah_atas_duam,n+arah_atas_duar,ss- n2jrk2.5; r=r+1; s=s+2; end; arah_atas_duam,n=arah_atas_duam,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm A-19 ifarah_bawah_duam,n==0 t=m-1; u=n-2; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkm-t12.5; arah_bawah_duam,n=arah_bawah_duam,n+arah_bawah_duat,un- u2jrk2.5; t=t-1; u=u-2; end; arah_bawah_duam,n=arah_bawah_duam,n.jar1; end; end; end; gbr_dua9:16,9:16=arah_atas_dua9:16,9:16+arah_bawah_dua9:16,9:16.2; end ; end switch function[gbr_tiga]=interpolasi_3a clear; close all; clc; global matrik_interpolasi; global indeks; Multidirectional Interpolation Processing gbr_tiga=matrik_interpolasi; arah_atas_tiga=matrik_interpolasi; arah_bawah_tiga=matrik_interpolasi; [brs,klm]=sizematrik_interpolasi; Multidirectional Interpolation Processing switchindeks3 case 0 0 Degree for m=brs:-1:1 for n=klm:-1:1 A-20 if arah_atas_tigam,n==0 r=m; s=n+1; jrk=1; jar=0; while s=klm jar=jar+1jrks-n2.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- njrk2.5; s=s+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_tigam,n==0 t=m; u=n-1; jrk=1; jar1=0; while u=1 jar1=jar1+1jrkn-u2.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,un- ujrk2.5; u=u-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; clear m n case 1 22.5 Degree for m=1:brs for n=klm:-1:1 A-21 if arah_atas_tigam,n==0 r=m-1; s=n+2; jar=0; jrk=sqrts-n2+m-r2; while r=1 s=klm jar=jar+1jrkm-r12.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- n2jrk2.5; r=r-1; s=s+2; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_tigam,n==0 t=m+1; u=n-2; jrk=sqrtt-m2+n-u2; jar1=0; while t=brs u=1 jar1=jar1+1jrkt-m12.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,un- u2jrk2.5; t=t+1; u=u-2; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; case 2 45 degree 135 degree counter A-22 for m=1:brs for n=klm:-1:1 if arah_atas_tigam,n==0 r=m-1; s=n+1; jrk=1; jar=0; arah_atas_tigam,n=0; while r=1 s=klm jar=jar+1jrkm-r2.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,sm- rjrk2.5; r=r-1; s=s+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_tigam,n==0 t=m+1; u=n-1; jrk=1; jar1=0; while t=brs u=1 jar1=jar1+1jrkt-m2.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,ut- mjrk2.5; t=t+1; u=u-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; A-23 end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; jar+jar1; case 3 67.5 degree for m=1:brs for n=klm:-1:1 if arah_atas_tigam,n==0 r=m-2; s=n+1; jrk=sqrts-n2+m-r2; jar=0; while r=1 s=klm jar=jar+1jrks-n12.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- n1jrk2.5; r=r-2; s=s+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=brs:-1:1 for n=1:klm ifarah_bawah_tigam,n==0 t=m+2; u=n-1; jrk=sqrtt-m2+n-u2; jar1=0; while t=brs u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,un- u1jrk2.5; t=t+2; A-24 u=u-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; case 4 90 degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_tigam,n==0 r=m+1; jar=0; jrk=1; while r=brs jar=jar+1jrkr-m2.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,nr- mjrk2.5; r=r+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n jar for m=1:brs for n=1:klm ifarah_bawah_tigam,n==0 t=m-1; jar1=0; jrk=1; while t=1 jar1=jar1+1jrkm-t2.5; A-25 arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,nm- tjrk2.5; t=t-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; case 5 112.5 for m=brs:-1:1 for n=brs:-1:1 if arah_atas_tigam,n==0 r=m+2; s=n+1; jrk=sqrts-n2+r-m2; jar=0; while r=brs s=klm jar=jar+1jrks-n12.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- n1jrk2.5; r=r+2; s=s+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm A-26 ifarah_bawah_tigam,n==0 t=m-2; u=n-1; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkn-u12.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,un- u1jrk2.5; t=t-2; u=u-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; case 6 135 degree Counter 45 Degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_tigam,n==0 r=m+1; s=n+1; jar=0; jrk=1; while r=brs s=klm jar=jar+1jrks-n2.5; arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- njrk2.5; r=r+1; s=s+1; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; A-27 end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_tigam,n==0 t=m-1; u=n-1; jar1=0 jrk=1; while t=1 u=1 jar1=jar1+1jrkm-t2.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,um- tjrk2.5; t=t-1; u=u-1; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; case 7 157,5 degree for m=brs:-1:1 for n=klm:-1:1 if arah_atas_tigam,n==0 r=m+1; s=n+2; jrk=sqrts-n2+m-r2; jar=0; while r=brs s=klm jar=jar+1jrkr-m12.5; A-28 arah_atas_tigam,n=arah_atas_tigam,n+arah_atas_tigar,ss- n2jrk2.5; r=r+1; s=s+2; end; arah_atas_tigam,n=arah_atas_tigam,n.jar; end; end; end; clear m n for m=1:brs for n=1:klm ifarah_bawah_tigam,n==0 t=m-1; u=n-2; jrk=sqrtn-u2+m-t2; jar1=0; while t=1 u=1 jar1=jar1+1jrkm-t12.5; arah_bawah_tigam,n=arah_bawah_tigam,n+arah_bawah_tigat,un- u2jrk2.5; t=t-1; u=u-2; end; arah_bawah_tigam,n=arah_bawah_tigam,n.jar1; end; end; end; gbr_tiga9:16,9:16=arah_atas_tiga9:16,9:16+arah_bawah_tiga9:16,9:16.2; end end switch A-29 clear; close all; clc; global matrik_interpolasi global indeks Baca input yang tanpa error masukan_sehat=imreadboat.jpg; Baca input yang sudah rusak x_input=imreadboat1.jpg; x_input=doublex_input; bagi blok 8 8 [bariss,kolomm]=sizex_input; baris_blok=roundbariss8; kolom_blok=roundkolomm8; m1:baris_blok=8; n1:kolom_blok=8; A=mat2cellx_input,[m],[n]; cek blok error matriks_bantu=zeros8,8; for j=1:baris_blok for k=1:kolom_blok if A{j,k}==matriks_bantu x=[A{j-1,k-1} A{j-1,k} A{j-1,k+1}]; y=[A{j-1,k-1};A{j,k-1};A{j+1,k-1}]; z=[A{j-1,k+1};A{j,k+1};A{j+1,k+1}]; s=[A{j+1,k-1} A{j+1,k} A{j+1,k+1}]; bagian atas for m=2:7 for n=2:23 S_x1m-1,n-1=-xm-1,n-1-2xm,n-1-xm+1,n-1+xm- 1,n+1+2xm,n+1+xm+1,n+1; S_y1m-1,n-1=xm-1,n-1+2xm-1,n+xm-1,n+1-xm+1,n- 1-2xm+1,n-xm+1,n+1; G_xy1m-1,n-1=sqrtS_x1m-1,n-1.2+S_y1m-1,n-1.2; sudut1m-1,n-1=atanS_y1m-1,n-1S_x1m-1,n-1+eps; sudut1_ubahm-1,n-1=rad2degsudut1m-1,n-1; KLASIFIKASI SUDUT K1m-1,n-1=modroundsudut1_ubahm-1,n-122.5,8; end; end; clear m n samping kiri for m=8:17 for n=2:7 A-30 S_x2m-1,n-1=-ym-1,n-1-2ym,n-1-ym+1,n-1+ym- 1,n+1+2ym,n+1+ym+1,n+1; S_y2m-1,n-1=ym-1,n-1+2ym-1,n+ym-1,n+1-ym+1,n- 1-2ym+1,n-ym+1,n+1; G_xy2m-1,n-1=sqrtS_x2m-1,n-1.2+S_y2m-1,n-1.2; sudut2m-1,n-1=atanS_y2m-1,n-1S_x2m-1,n-1+eps; sudut2_ubahm-1,n-1=rad2degsudut2m-1,n-1; KLASIFIKASI SUDUT K2m-1,n-1=modroundsudut2_ubahm-1,n-122.5,8; end; end; clear m n samping kanan for m=8:17 for n=2:7 S_x3m-1,n-1=-zm-1,n-1-2zm,n-1-zm+1,n-1+zm- 1,n+1+2zm,n+1+zm+1,n+1; S_y3m-1,n-1=zm-1,n-1+2zm-1,n+zm-1,n+1-zm+1,n- 1-2zm+1,n-zm+1,n+1; G_xy3m-1,n-1=sqrtS_x3m-1,n-1.2+S_y3m-1,n-1.2; sudut3m-1,n-1=atanS_y3m-1,n-1S_x3m-1,n-1+eps; sudut3_ubahm-1,n-1=rad2degsudut3m-1,n-1; KLASIFIKASI SUDUT K3m-1,n-1=modroundsudut3_ubahm-1,n-122.5,8; end; end; clear m n bawah for m=2:7 for n=2:23 S_x4m-1,n-1=-sm-1,n-1-2sm,n-1-sm+1,n-1+sm- 1,n+1+2sm,n+1+sm+1,n+1; S_y4m-1,n-1=sm-1,n-1+2sm-1,n+sm-1,n+1-sm+1,n-1- 2sm+1,n-sm+1,n+1; G_xy4m-1,n-1=sqrtS_x4m-1,n-1.2+S_y4m-1,n-1.2; sudut4m-1,n-1=atanS_y4m-1,n-1S_x4m-1,n-1+eps; sudut4_ubahm-1,n-1=rad2degsudut4m-1,n-1; KLASIFIKASI SUDUT K4m-1,n-1=modroundsudut4_ubahm-1,n-122.5,8; end; end; K_bantu1:10,1:10=eps; K2_baru=K27:16,1:6; K3_baru=K37:16,1:6; G2=G_xy27:16,1:6; G3=G_xy37:16,1:6; A-31 K_gab=[K1;K2_baru K_bantu K3_baru;K4]; G_gab=[G_xy1;G2 K_bantu G3;G_xy4]; sudut 45 k_duabaris,kolom=K_gabbaris,kolom; if k_duabaris,kolom==2 k_duabaris,kolom=1; else k_duabaris,kolom=0; end; k_dua1,1:14=0;k_dua2,1:13=0;k_dua3,1:12=0;k_dua4,1:11=0; k_dua5,1:10=0;k_dua6,1:9=0;k_dua7:9,1:6=0;k_dua10,1:5=0; k_dua11,1:4=0;k_dua12,1:3=0;k_dua13,1:2=0;k_dua14,1=0; k_dua9,22=0;k_dua10,21:22=0;k_dua11,20:22=0;k_dua12,19:22=0; k_dua13,18:22=0;k_dua14:16,17:22=0;k_dua17,14:22=0; k_dua18,13:22=0;k_dua19,12:22=0;k_dua20,11:22=0;k_dua21,10:22=0; k_dua22,9:22=0; Dk_dua=Dk_dua+G_gabbaris,kolom.k_duabaris,kolom; sudut 67.5 k_tigabaris,kolom=K_gabbaris,kolom; if k_tigabaris,kolom==3 k_tigabaris,kolom=1; else k_tigabaris,kolom=0; end; k_tiga1:5,1:9=0;k_tiga1:3,10=0;k_tiga1,11=0; k_tiga6:7,20:22=0;k_tiga4:5,21:22=0;k_tiga2:3,22=0; k_tiga7:11,1:6=0;k_tiga12:13,1:5=0;k_tiga14:15,1:4=0;k_tiga16:17,1:3=0; k_tiga18:19,1:2=0;k_tiga20:21,1=0;k_tiga8:9,19:22=0; k_tiga10:11,18:22=0;k_tiga12:16,17:22=0;k_tiga17:22,15:22=0; k_tiga18:22,14=0;k_tiga20:22,13=0;k_tiga22,12=0; Dk_tiga=Dk_tiga+G_gabbaris,kolom.k_tigabaris,kolom; A-32 sudut 90 k_empatbaris,kolom=K_gabbaris,kolom; if k_empatbaris,kolom==4 k_empatbaris,kolom=1; else k_empatbaris,kolom=0; end; k_empat1:22,1:6=0;k_empat1:22,17:22=0; Dk_nol=0;Dk_satu=1;Dk_dua=2;Dk_tiga=3;Dk_empat=3;Dk_lima=5;Dk_enam= 6;Dk_tujuh=7; for baris=1:22 for kolom=1:22 sudut 0 k_nolbaris,kolom=K_gabbaris,kolom; if k_nolbaris,kolom==0 k_nolbaris,kolom=1; else k_nolbaris,kolom=0; end; k_nol1:6,1:22=0;k_nol17:22,1:22=0; Dk_nol=Dk_nol+G_gabbaris,kolom.k_nolbaris,kolom; sudut 22.5 k_satubaris,kolom=K_gabbaris,kolom; if k_satubaris,kolom==1 k_satubaris,kolom=1; else k_satubaris,kolom=0; end; k_satu1:6,1:11=0;k_satu1:5,12:13=0;k_satu1:4,14:15=0; k_satu3,16:17=0;k_satu2,16:19=0;k_satu1,16:21=0; k_satu7:8,1:6=0;k_satu9,1:5=0;k_satu10,1:3=0; k_satu11,1=0;k_satu12,22=0;k_satu13,20:22=0; k_satu14,18:22=0;k_satu15:16,17:22=0;k_satu17:22,12:22=0; k_satu18:22,10:11=0;k_satu19:22,8:9=0;k_satu20:22,6:7=0;k_satu21:22,4:5 =0; k_satu22,2:3=0; Dk_satu=Dk_satu+G_gabbaris,kolom.k_satubaris,kolom; Dk_empat=Dk_empat+G_gabbaris,kolom.k_empatbaris,kolom; sudut 112.5 k_limabaris,kolom=K_gabbaris,kolom; A-33 if k_limabaris,kolom==5 k_limabaris,kolom=1; else k_limabaris,kolom=0; end; k_enam1,9:22=0;k_enam2,10:22=0;k_enam3,11:22=0;k_enam4,12:22=0; k_enam5,13:22=0;k_enam6,14:22=0;k_enam7:9,17:22=0;k_enam9,1=0; k_enam10,1:2=0;k_enam11,1:3=0;k_enam12,1:4=0;k_enam13,1:5=0; k_enam14:16,1:6=0;k_enam10,18:22=0;k_enam11,19:22=0;k_enam12,20:2 2=0; k_enam13,21:22=0;k_enam14,22=0;k_enam17,1:9=0;k_enam18,1:10=0; k_enam19,1:11=0;k_enam20,1:12=0;k_enam21,1:13=0;k_enam22,1:14=0; Dk_enam=Dk_enam+G_gabbaris,kolom.k_enambaris,kolom; sudut 157.5 k_tujuhbaris,kolom=K_gabbaris,kolom; if k_tujuhbaris,kolom==7 k_tujuhbaris,kolom=1; else k_tujuhbaris,kolom=0; end; k_tujuh1,2:22=0;k_tujuh2,4:22=0;k_tujuh3,6:22=0; k_tujuh4,8:22=0;k_tujuh5,10:22=0;k_tujuh6,12:22=0; k_tujuh7:8,17:22=0;k_tujuh9,18:22=0;k_tujuh10,20:22=0; k_tujuh18:22,13:17=0;k_tujuh11,22=0;k_tujuh12,1=0; k_tujuh13,1:3=0;k_tujuh14,1:5=0;k_tujuh15:16,1:6=0; k_tujuh17,1:11=0;k_tujuh18,1:13=0;k_tujuh19,1:15=0; k_tujuh20,1:17=0;k_tujuh21,1:19=0;k_tujuh22,1:21=0; Dk_tujuh=Dk_tujuh+G_gabbaris,kolom.k_tujuhbaris,kolom; A-34 end;baris end;kolom mencari 3 terbesar T=0.25; Dk_gab=[Dk_nol,Dk_satu,Dk_dua,Dk_tiga,Dk_empat,Dk_lima,Dk_enam,Dk_tuj uh]; Dk_maks_gab=maxDk_gab; S_cek=[]; for cek=1:8 if Dk_gabcek1-TDk_maks_gab S_cekcek=Dk_gabcek; end; end; [bar,col]=sizeS_cek; if col~=0 sort_S=sortS_cek; panjang=lengthsort_S; if panjang=1|panjang=2 Dk_gab_tiga_terbesar=sort_S; elseif panjang2 Dk_gab_tiga_terbesar=sort_S1,panjang-2:panjang; end; ax=findDk_gab_tiga_terbesar==0; cx=lengthax; bx=findDk_gab_tiga_terbesar~=0; [dx,ex]=sizeDk_gab_tiga_terbesar; for loop=1:ex if Dk_gab_tiga_terbesarloop==0 Dk_gab_tiga_terbesar_akhir=Dk_gab_tiga_terbesar1,cx+1:ex; elseif Dk_gab_tiga_terbesarloop~=0 Dk_gab_tiga_terbesar_akhir=Dk_gab_tiga_terbesar; end; break end; k_lima2:3,1=0;k_lima4:5,1:2=0;k_lima6:7,1:3=0;k_lima8:9,1:4=0; k_lima10:11,1:5=0;k_lima12:22,1:6=0;k_lima17:22,7:8=0; k_lima18:22,9=0;k_lima20:22,10=0;k_lima22,11=0;k_lima1,12:22=0; k_lima2:3,13:22=0;k_lima4:5,14:22=0;k_lima6,15:22=0; k_lima7:11,17:22=0;k_lima12:13,18:22=0;k_lima14:15,19:22=0; k_lima16:17,20:22=0;k_lima18:19,21:22=0;k_lima20:21,22=0; A-35 Dk_lima=Dk_lima+G_gabbaris,kolom.k_limabaris,kolom; sudut 135 k_enambaris,kolom=K_gabbaris,kolom; if k_enambaris,kolom==6 k_enambaris,kolom=1; else k_enambaris,kolom=0; end; else S_cek=S_cek-1; Dk_gab_tiga_terbesar_akhir=S_cek; end; ukur=lengthDk_gab_tiga_terbesar_akhir; if ukur=3 Dk_gab_tiga_terbesar_akhir=Dk_gab_tiga_terbesar_akhir; elseif ukur3 Dk_gab_tiga_terbesar_akhir=Dk_gab_tiga_terbesar_akhir1,ukur- 2:ukur; end; [fg,hj]=sizeDk_gab_tiga_terbesar_akhir; if hj==1 if Dk_gab_tiga_terbesar_akhir==Dk_nol indeks1,1=0; elseif Dk_gab_tiga_terbesar_akhir==Dk_satu indeks1,1=1; elseif Dk_gab_tiga_terbesar_akhir==Dk_dua indeks1,1=2; elseif Dk_gab_tiga_terbesar_akhir==Dk_tiga indeks1,1=3; elseif Dk_gab_tiga_terbesar_akhir ==Dk_empat indeks1,1=4; elseif Dk_gab_tiga_terbesar_akhir ==Dk_lima indeks1,1=5; elseif Dk_gab_tiga_terbesar_akhir ==Dk_enam indeks1,1=6; elseif Dk_gab_tiga_terbesar_akhir ==Dk_tujuh indeks1,1=7; end; elseif hj==2 for apa=1:2 if Dk_gab_tiga_terbesar_akhir1,apa==Dk_nol A-36 indeks1,apa=0; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_satu indeks1,apa=1; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_dua indeks1,apa=2; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_tiga indeks1,apa=3; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_empat indeks1,apa=4; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_lima indeks1,apa=5; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_enam indeks1,apa=6; elseif Dk_gab_tiga_terbesar_akhir1,apa==Dk_tujuh indeks1,apa=7; end; end; elseif hj==3 for sapa=1:3 if Dk_gab_tiga_terbesar_akhir1,sapa==Dk_nol indeks1,sapa=0; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_satu indeks1,sapa=1; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_dua indeks1,sapa=2; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_tiga indeks1,sapa=3; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_empat indeks1,sapa=4; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_lima indeks1,sapa=5; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_enam indeks1,sapa=6; elseif Dk_gab_tiga_terbesar_akhir1,sapa==Dk_tujuh indeks1,sapa=7; end; end; end;end if [as,sa]=sizeindeks if sa==2 if indeks1,1==indeks1,2 indeks=indeks1,1; end; elseif sa==3 if indeks1,1==indeks1,2indeks1,1==indeks1,3 A-37 indeks=indeks1,1; elseif indeks1,1==indeks1,3 indeks=[indeks1,2 indeks1,3]; elseif indeks1,1==indeks1,2 indeks=[indeks1,1 indeks1,3]; elseif indeks1,2==indeks1,3 indeks=[indeks1,1 indeks1,2]; end; end; interpolasi dan image mixing [ef,gh]=sizeindeks; matrik_interpolasi=[A{j-1,k-1} A{j-1,k} A{j-1,k+1};A{j,k-1} A{j,k} A{j,k+1};A{j+1,k-1} A{j+1,k} A{j+1,k+1}]; switch gh case 1 gbr_satu=interpolasi_1a; hasil_inter=gbr_satu; for ab=9:16 for cd=9:16 M_tam1,1=gbr_satuab,cd; M_tam1,2=gbr_duaab,cd; if gbr_duaab,cdrataab,cd+stdab,cdgbr_satuab,cdrataab,cd+stdab,cd hasil_interab,cd=maxM_tam; elseif gbr_satuab,cdrataab,cd+stdab,cdgbr_duaab,cd=rataab,cd+stdab,c d... gbr_duaab,cd=rataab,cd-stdab,cd hasil_interab,cd=maxM_tam; elseif gbr_satuab,cdrataab,cd+stdab,cdgbr_duaab,cdrataab,cd-stdab,cd hasil_interab,cd=gbr_satuab,cd+gbr_duaab,cd.2; elseif gbr_satuab,cd=rataab,cd+stdab,cdgbr_satuab,cd=rataab,cd- stdab,cd... gbr_duaab,cdrataab,cd+stdab,cd hasil_interab,cd=maxM_tam; elseif gbr_satuab,cd=rataab,cd+stdab,cdgbr_satuab,cd=rataab,cd- stdab,cd... gbr_duaab,cd=rataab,cd+stdab,cdgbr_duaab,cd=rataab,cd- stdab,cd hasil_interab,cd=gbr_satuab,cd+gbr_duaab,cd.2; A-38 elseif gbr_satuab,cd=rataab,cd+stdab,cdgbr_satuab,cd=rataab,cd- stdab,cd... gbr_duaab,cdrataab,cd-stdab,cd hasil_interab,cd=minM_tam; elseif gbr_satuab,cdrataab,cd- stdab,cdgbr_duaab,cdrataab,cd+stdab,cd hasil_interab,cd=gbr_satuab,cd+gbr_duaab,cd.2; elseif gbr_satuab,cdrataab,cd- stdab,cdgbr_duaab,cd=rataab,cd+stdab,cd... gbr_duaab,cd=rataab,cd-stdab,cd hasil_interab,cd=minM_tam; elseif gbr_satuab,cdrataab,cd- stdab,cdgbr_duaab,cdrataab,cd-stdab,cd hasil_interab,cd=minM_tam; end; end; end; case 3 case 2 gbr_satu=interpolasi_1a; gbr_dua=interpolasi_2a; for aa=9:16 for bb=9:16 rataaa,bb=gbr_satuaa,bb+gbr_duaaa,bb2; stdaa,bb=sqrtgbr_satuaa,bb-rataaa,bb.2+gbr_duaaa,bb- rataaa,bb.2; end; end; M_tamp=[]; gbr_satu=interpolasi_1a; gbr_dua=interpolasi_2a; gbr_tiga=interpolasi_3a; for cc=9:16 for dd=9:16 ratacc,dd=gbr_satucc,dd+gbr_duacc,dd+gbr_tigacc,dd.3; stdcc,dd=sqrtgbr_satucc,dd-ratacc,dd.2+gbr_duacc,dd- ratacc,dd.2+... gbr_tigacc,dd-ratacc,dd.2.2; A-39 end; end; M_tamp=[]; for ee=9:16 for ff=9:16 M_tam1,1=gbr_satuee,ff; M_tam1,2=gbr_duaee,ff; M_tam1,3=gbr_tigaee,ff; if gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgb r_satuee,ffrataee,ff+stdee,ff hasil_interee,ff=maxM_tam; elseif gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgb r_satuee,ff=rataee,ff+stdee,ff... gbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ff=rataee,ff+std ee,ff... gbr_duaee,ff=rataee,ff- stdee,ffgbr_satuee,ffrataee,ff+stdee,ff|gbr_tigaee,ff=rataee,ff+st dee,ff... gbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgbr_satuee,ffrataee,ff+st dee,ff hasil_interee,ff=maxM_tam; elseif gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgb r_satuee,ffrataee,ff-stdee,ff|... gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff- stdee,ffgbr_satuee,ffrataee,ff+stdee,ff|... gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgbr_satuee,ffrataee,ff+st dee,ff hasil_interee,ff=gbr_satuee,ff+gbr_duaee,ff+gbr_tigaee,ff.3; elseif gbr_tigaee,ff=rataee,ff+stdee,ffgbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ff... gbr_satuee,ff=rataee,ff+stdee,ff gbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ff=rataee,ff+stdee,ff... gbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ff=rataee,ff+stdee,ffgbr_duaee,ff=rataee,ff- stdee,ff... A-40 gbr_satuee,ffrataee,ff+stdee,ff|gbr_tigaee,ffrataee,ff+stdee,ffgbr _duaee,ff=rataee,ff+stdee,ff... gbr_duaee,ff=rataee,ff- stdee,ffgbr_satuee,ff=rataee,ff+stdee,ff gbr_satuee,ff=rataee,ff-stdee,ff hasil_interee,ff=maxM_tam; elseif gbr_tigaee,ff=rataee,ff+stdee,ffgbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ff=rataee,ff+stdee,ff... gbr_duaee,ff=rataee,ff- stdee,ffgbr_satuee,ff=rataee,ff+stdee,ffgbr_satuee,ff=rataee,ff -stdee,ff hasil_interee,ff=gbr_satuee,ff+gbr_duaee,ff+gbr_tigaee,ff.3; end;end switch A{j,k}=hasil_inter9:16,9:16; B=cell2matA; end; end; end; figure1; imshowmasukan_sehat,titlecitra tanpa error; figure2; x_input=uint8x_input; elseif gbr_tigaee,ff=rataee,ff+stdee,ffgbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ffrataee,ff-stdee,ff... gbr_satuee,ff=rataee,ff+stdee,ffgbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ff=rataee,ff+stdee,ff... gbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ff=rataee,ff+stdee,ffgbr_duaee,ff=rataee,ff- stdee,ff... gbr_satuee,ffrataee,ff-stdee,ff|gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ff=rataee,ff+stdee,ff... gbr_duaee,ff=rataee,ff- stdee,ffgbr_satuee,ff=rataee,ff+stdee,ffgbr_satuee,ff=rataee,ff -stdee,ff hasil_interee,ff=minM_tam; elseif gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgbr_satuee,ffrataee,ff- stdee,ff|... gbr_tigaee,ffrataee,ff-stdee,ffgbr_duaee,ffrataee,ff- stdee,ffgbr_satuee,ffrataee,ff+stdee,ff|... A-41 gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff- stdee,ffgbr_satuee,ffrataee,ff-stdee,ff hasil_inter_2ee,ff=gbr_satuee,ff+gbr_duaee,ff+gbr_tigaee,ff.3; elseif gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ff=rataee,ff+stdee,ffgbr_duaee,ff=rataee,ff- stdee,ff... gbr_satuee,ffrataee,ff-stdee,ff|gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ffrataee,ff-stdee,ff... gbr_satuee,ff=rataee,ff+stdee,ffgbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ff=rataee,ff+stdee,ff... gbr_tigaee,ff=rataee,ff-stdee,ffgbr_duaee,ffrataee,ff- stdee,ffgbr_satuee,ffrataee,ff-stdee,ff hasil_interee,ff=minM_tam; elseif gbr_tigaee,ffrataee,ff-stdee,ffgbr_satuee,ffrataee,ff- stdee,ffgbr_duaee,ffrataee,ff-stdee,ff hasil_interee,ff=minM_tam; elseif gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ff=rataee,ff+stdee,ffg br_duaee,ff=rataee,ff-stdee,ff... gbr_satuee,ffrataee,ff- stdee,ff|gbr_tigaee,ffrataee,ff+stdee,ffgbr_duaee,ffrataee,ff- stdee,ff... gbr_satuee,ff=rataee,ff+stdee,ffgbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ffrataee,ff-stdee,ff... gbr_duaee,ff=rataee,ff+stdee,ffgbr_duaee,ff=rataee,ff- stdee,ffgbr_satuee,ffrataee,ff+stdee,ff|... gbr_tigaee,ffrataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgbr_satuee,ff=rataee,ff+s tdee,ff... gbr_satuee,ff=rataee,ff- stdee,ff|gbr_tigaee,ff=rataee,ff+stdee,ffgbr_tigaee,ff=rataee,ff- stdee,ff... gbr_duaee,ffrataee,ff- stdee,ffgbr_satuee,ffrataee,ff+stdee,ff|gbr_tigaee,ff=rataee,ff+st dee,ff... gbr_tigaee,ff=rataee,ff- stdee,ffgbr_duaee,ffrataee,ff+stdee,ffgbr_satuee,ffrataee,ff- stdee,ff hasil_interee,ff=gbr_satuee,ff+gbr_duaee,ff+gbr_tigaee,ff.3; end; end; end; A-42 imshowx_input,titlecitra yang rusak; figure3; x_hasil=uint8B; imshowx_hasil,titlecitra perbaikan; --------------------------------------------------- Perhitungan SNR awal sebelum rekonstruksi --------------------------------------------------- masukan_sehat=doublemasukan_sehat; masukan_sehat=reshapemasukan_sehat,1,barisskolomm; --------------------------------------------------- Perhitungan SNR akhir sesudah rekonstruksi --------------------------------------------------- masukan_sehat=doublemasukan_sehat; sdh_rekonstruksi=reshapeB,1,barisskolomm; MSE_rekonstruksi=summasukan_sehat-sdh_rekonstruksi.2; PSNR_rekonstruksi=10.log10255.2.MSE_rekonstruksibarisskolomm; disp[Nilai SNR akhir sesudah rekonstruksi = ,num2strPSNR_rekonstruksi, dB]; disp ; x_sakit=doublex_input; x_sakit=reshapex_sakit,1,barisskolomm; MSE_sakit=summasukan_sehat-x_sakit.2; PSNR_sakit=10.log10255.2.MSE_sakitbarisskolomm; disp[Nilai SNR awal sebelum rekonstruksi = ,num2strPSNR_sakit, dB]; disp ; kenaikan_PSNR=PSNR_rekonstruksi-PSNR_sakit; disp[Perbaikan SNR sebesar ,num2strkenaikan_PSNR, dB]; disp ; if PSNR_sakit = PSNR_rekonstruksi dispRekonstruksi telah berhasil; else dispRekonstruksi gagal; end; LAMPIRAN B DATA CITRA B-1 Gambar B.1 a citra rusak ’foreman.jpg 512 x 512’ Gambar B.1 b citra hasil penyembunyian error ’foreman.jpg 512 x 512’ B-2 Gambar B.2 a citra tanpa error ’taman.jpg 512 x 512 piksel’ Gambar B.2 b citra yang rusak ’taman.jpg 512 x 512 piksel’ B-3 Gambar B.2 c citra hasil perbaikan ’taman.jpg 512 x 512 piksel’ Gambar B.2 dcitra tanpa error ’taman.jpg256 x 256 piksel’ B-4 Gambar B.2 e citra rusak ’taman.jpg 256 x 256 piksel’ Gambar B.2fcitra hasil perbaikan ’taman.jpg256 x 256 piksel’ B-5 Gambar B.3 acitra tanpa error’lena.tif 512 x 512 piksel’ Gambar B.3 b citra rusak’lena.tif 512 x 512 piksel’ B-6 Gambar B.3c citra hasil perbaikan’lena.tif 512 x 512 piksel’ Gambar B.3 dcitra tanpa error’lena.tif 256 x 256 piksel’ B-7 Gambar B.3 e citra rusak’lena.tif 256 x 256 piksel’ Gambar B.3f citra hasil perbaikan’lena.tif 256 x 256 piksel’ B-8 Gambar B.4 a citra tanpa error ’baboon.tif 512 x 512 piksel’ Gambar B.4 b citra rusak ’baboon.tif 512 x 512 piksel’ B-9 Gambar B.4 c citra hasil penyembunyian error ’baboon.tif 512 x 512 piksel’ Gambar B.4 d citra tanpa error ’baboon.tif 256 x 256 piksel’ B-10 Gambar B.4 e citra rusak ’baboon.tif 256 x 256 piksel’ Gambar B.4 f citra hasil penyembunyian error ’baboon.tif 256 x 256 piksel’ B-11 1 Universitas Kristen Maranatha

BAB I PENDAHULUAN