proposal steganografi

Upload: ussy-khecengbong

Post on 12-Jul-2015

866 views

Category:

Documents


4 download

TRANSCRIPT

PERANCANGAN DAN PEMBUATAN APLIKASI PENANGANAN DISTORSI PADA STEGANOGRAFI

PROPOSAL SKRIPSI KONSENTRASI TEKNIK INFORMATIKA DAN KOMPUTER

OLEH: RIZAL ARIF Z. NIM. 0710630086 - 63

KEMENTRIAN PENDIDIKAN NASIONAL UNIVERSITAS BRAWIJAYA FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO MALANG 2011

1

BAB I PENDAHULUAN1.1 Latar Belakang Penandaan terhadap suatu objek barang dunia nyata agar mudah dikenali oleh komputer merupakan suatu kebutuhan yang sangat penting dan harus terpenuhi oleh beberapa perusahaan-perusahaan besar atau industri. Bahkan untuk sebagian besar dunia retail penandaan seperti ini merupakan suatu keharusan. Teknik penandaan objek dunia nyataagar mudah dikenali oleh komputer telahberkembang pesat beserta penerapannya dalamberbagai sisi kehidupan manusia, teknik penandaan yang pertama kali ada dan masih banyak dipakai adalah teknik penandaan barcode linear atau 1D, kemudian teknik penandaan semacam ini berkembang menjadi bervariasi sampai saat ini. Beberapa teknik penandaan tersebut diantaranya adalah teknik penandaan barcode 2D (dua dimensi), teknik penandaan menggunakan infra merah (IR) hingga teknik penandaan menggunakan frekwensi radio (RFID). Standar barcode2D memiliki banyak variasi, namun yang paling unggul dibanding lainnya adalah standar barcode2D yang ditemukan di Jepang yaitu Quick Response Code (QR Code). Saat ini yang paling populer adalah penggunaan aplikasi pembaca Quick Response Code yang digunakan pada Handphone. 1.2 Rumusan Masalah Berdasarkan latar belakang di atas, maka ditemukan beberapa rumusan masalah sebagai berikut : 1. 2. Bagaimana cara mengatasi masalah distorsi dan mengembalikan citra ke posisi sebenarnya. Bagaimana menerjemahkan kode Steganografi untuk mendapatkan informasi yang ada pada citra yang sudah diperbaiki tersebut. 1.3 Batasan Masalah Beberapa batasan masalah yang ada pada tugas akhir (skripsi) iniadalah : 1. 2. Distorsi yang dipakai dalam hal ini adalah Horizontal flip, Vertical flip, dan Rotasi kelipatan 5 derajat. Latar belakang atau background citra saat mengalami rotasi adalah warna hitam 2

1.4 Tujuan Tujuan penyusunan tugas akhir (skripsi) ini adalah : 1. 2. Untuk merancang dan membuat sebuah aplikasi yang dapat menulis dan membaca kode yang disisipkan pada citra (steganografi). Menangani salah satu masalah steganografi yakni distorsi dalam hal ini pembalik dan rotasi 1.5 Manfaat Manfaat yang diperoleh dari skripsi ini adalah : 1. Bagi penyusun 1. 2. 3. 2. Menerapkan ilmu yang telah diperoleh selama proses kuliah di Teknik Elektro Universitas Brawijaya. Menambah wawasan dalam teknologi pengolahan citra digital. Pembelajaran untuk membangun sebuah aplikasi yang bertujuan menyelesaikan masalah yang muncul. Bagi pembaca 1. 2. Menambah ilmu pengetahuan terutama pada teknologi pengolahan citra digital. Menerapkan hasil dari skripsi ini untuk diimplementasikan pada bidang yang berhubungan dengan pembacaan kode Steganografi menggunakan teknologi komputer. 1.6 Sistematika Penulisan Sistematika penulisan laporan skripsi ini adalah sebagai berikut : BAB I manfaat. BAB II BAB III Dasar Teori Metodologi Menjelaskan kajian pustaka dan dasar teori yang digunakan pada skripsi ini. Menjelaskan metode yang digunakan dalam pengerjaan skripsi berikut langkah langkah yang akan diambil. BAB IV Perancangan 3 Pendahuluan Menjelaskan latar belakang, rumusan masalah, batasan masalah, tujuan dan

Menjelaskan langkah langkah Perancangan aplikasi penanganan distorsi pada Steganografi berikut penjelasan algoritma yang digunakan dan penjelasan dari setiap langkah langkahnya. BAB V hasilnya. BAB VII Kesimpulan dan Saran Berisi Kesimpulan dan Saran. Pengujian Membahas pengujian dari sistem yang telah dibuat berikut analisa dari

4

BAB II KAJIAN PUSTAKA2.1 Pengolahan Citra Digital Pengolahan citra digital merupakan proses yang bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer.Pengolahan citra digital dapat digunakan untuk Mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis dengan ilmu pengetahuan pole (pattern recognition) yang umumnya bertujuan mengenali suatu objek dengan cara mengekstrak informasi penting yang terdapat pada suatu citra. Bila pengenalan pola dihubungkan dengan pengolahan citra, diharapkan akan terbentuk suatu sistem yang dapat memproses citra masukan sehingga citra tersebut dapat dikenali polanya. Proses ini disebut pengenalan citra atau image recognition. Proses pengenalan citra ini sering diterapkan dalam kehidupan sehari-hari. Sebuah citra diartikan sebagai sebuah fungsi kontinyu intensitas cahaya dalam bidang dua dimensi f(x,y) dengan koordinat x dan y. Setiap titik yang pada bidang ini x dan y dinyatakan dengan f yang merepresentasikan intensitas cahaya atau informasi warna citra. Dalam citra digital, citra yang akan diproses diubah dalam bentuk diskrit dengan jarak yang sama tiap titik titik terkecilnya yang disebut dengan picture element atau pixel. Citra ini dapat berupa citra bitmap yang mempunyai fungsi persamaan persamaan matematis dari bentuk dasar yang membentuk citra tersebut . Pada hakekatnya citra yang dilihat mata kita sendiri terdiri dari berkasberkas cahaya yang dipantulkan oleh benda-benda sekitar kita. Jadi fungsi intensitas f(x,y)merupakan fungsi sumber cahaya i(x, y) yang menerangi objek serta jumlah cahaya yangdipantulkan, r(x, y) oleh objek, dengan demikian f(x, y) dapat dinyatakan denganpersamaan : f(x, y) =i(x, y)r(x,y) 5

dengan : 0 < i(x, y) < ~ (dominasi sumbercahaya) 0 < r(x, y) < 1 (koefisien pantul cahaya). Semakin terang sumber cahaya, maka nilai iluminasi sumber semakin besar dan semakin terang warna suatu objek maka koefisien pantul objek tersebut semakin besar. Citra digital merupakan array dua dimensi dengan nilai f(x,y) nya telah dikonversi ke dalam bentuk diskrit baik pada koordinat citra maupun kecerahannya. Citra digital adalah sebuah citra f(x,y) yang telah didiskretasi ke dalam koordinat special dan tingkat keabuan. Citra digital dinyatakan sebagai sebuah matrik NxN yang terdiri atas baris dan kolom untuk menyatakan sebuah titik pada citra dan elemen nilai matrik yang berupa nilai diskrit menyatakan tingkat keabuan pada titik tersebut.Citra digital tiap elemen dikenal sebagai picture elemen tatau pixel.

Gambar 2.1 Representasi citra digital dalam bentuk matrik 2.2. Citra BMP Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang tersimpan di memori komputer. Dikembangkan oleh Microsoft dan nilai setiap titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi gambar berwarna. Ukuran sebenarnya untuk n-bit (2n warna) bitmap dalam byte dapat dihitung: ukuran file BMPdimana tinggi dan lebar dalam pixel.

Kerapatan titik-titik tersebut dinamakan resolusi, yang menunjukkan seberapa tajam gambar ini ditampilkan, ditunjukkan dengan jumlah baris dan kolom, contohnya 1024x768. 6

Untuk menampilkan citra bitmap pada monitor atau mencetaknya pada printer, komputer menterjemahkan bitmap ini menjadi pixel (pada layar) atau titik tinta (pada printer). Beberapa format file bitmap yang populer adalah BMP, PCX dan TIFF. 2.3. Steganografi Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya tersembunyi atau terselubung, dan graphein, menulis. Kini, istilah steganografi termasuk penyembunyian data digital dalam berkas-berkas (file) komputer. Contohnya, si pengirim mulai dengan berkas gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-benar memperhatikannya). Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat di antara garis-garis yang kelihatan. Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam berkas-berkas lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari berkas semula. Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar. Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis 7

terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan. Pada metode steganografi cara ini sangat berguna jika digunakan pada cara steganografi komputer karena banyak format berkas digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di antaranya:

Format image : bitmap (bmp), gif, pcx, jpeg, dll. Format audio : wav, voc, mp3, dll. Format lain : teks file, html, pdf, dll. Kelebihan steganografi jika dibandingkan dengan kriptografi adalah

pesan-pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya. Sebuah pesan steganografi (plaintext), dalam biasanya pertama-tama sehingga

dienkripsikan dengan beberapa arti tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi beberapa cara berisi ciphertext, yang menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan) dapat membuka pesan dan mendekripsikannya.

2.2.1

Metode Steganografi Kebanyakan algoritma steganografi menggunakan sebuah

kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung berkas. Sebuah program steganografi dibutuhkan untuk melakukan hal-hal berikut (baik 8

implisit melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan untuk menyelubungi pesan rahasia didalamnya, memilih beberapa diantaranya untuk digunakan dalam menyelubungi data dan penyelubungan data dalam bits dipilih sebelumnya. 2.2.1.1 Least Significant Bit Insertion (LSB) Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masingmasing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian, pada setiap pixel berkas bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Invertion: Dapat diambil

kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis mengubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan image, yang nyata tanda dari cover tersebut image menjadi stego sehingga

menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression(pemampatan). Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan). 9

2.2.1.2 Algorithms and Transformation Algoritma compression adalah metode steganografi

dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) danWavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).

2.2.1.3 Redundant Pattern Encoding Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar. 2.2.1.4 Spread Spectrum method Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar). 2.2.2 Kriteria Steganografi 2.2.2.1 Impercepbility. Keberadaan pesan tidak dapat dipersepsi oleh indrawi. Jika pesan disisipkan ke dalam sebuah citra, citra yang telah disisipi pesan harus tidak dapat dibedakan dengan citra asli oleh mata. Begitu pula dengan suara, telinga haruslah mendapati perbedaan antara suara asli dan suarayang telah disisipi pesan. 2.2.2.2 Fidelity. 10

Mutu media penampung tidak berubah banyak akibat penyisipan. Perubahan yang terjadi harus tidak dapat dipersepsi oleh indrawi. 2.2.2.3 Recovery. Pesan yang disembunyikan harus dapat diungkap kembali. Tujuan steganografi adalah menyembunyikan informasi, maka sewaktu-waktu informasi yang disembunyikan ini harus dapat diambil kembali untuk dapat digunakan lebih lanjut sesuai keperluan. 2.4. Rotasi Rotasi merupakan suatu transformasi geometri memindahkan nilai-nilai pixel dari posisi awal menuju ke posisi akhir yang ditentukan melalui nilai variable rotasi sebesar (teta derajat) terhadap sudut 0(derajat) atau garis horizontal pada citra Proses rotasi dapat dilakukan dengan rumus sebagai berikut. x2 = cos() (x1 x0) sin() (y1 y0) + x0 y2 = sin() (x1 x0) + cos() (y1 y0) + y0 Di mana (x0, y0) adalah koordinat titik pusat dari citra input dan adalah sumbu putar. Sumbu putar pada umumnya memiliki arah putar searah jarum jam dengan garis horizontal. Seperti halnya operasi translas, hasil perhitungan posisi hasil rotasi dapat memberikan nilai di luar batas output (apabila ukuran citra output sama dengan citra input). Untuk kasus seperti itu, ada beberapa implementasi yang membiarkan nilai pixel tersebut tanpa dipetakan ulang dan ada yang memetakan ke citra output sehingga menyebabkan ukuran citra membesar. 2.4.1 Nearest Interpolation Nilai piksel keluaran ditetapkan dari nilai piksel dari suatu titik yang ditentukan letak posisinya yang terdekat. Adapun piksel-piksel yang lain tidak diperhitungkan. Pada Citra 2D, di pilih 4 titik asal yang saling berbatasan satu sama lain.

11

Misal diperoleh koord (3.8, 9.4), maka titik terdekatnya yang mungkin adalah (3,9), (3,10), (4,9), (4,10) dan yang dipakai adalah (4,9). Go(x,y)=Gi(4,9)=120 2.5. MATLAB MatLab adalah sebuah lingkungan komputasi numerikal dan bahasa pemrograman komputer generasi keempat. Dikembangkan oleh The MathWorks, MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data, implementasi algoritma, pembuatan antarmuka pengguna, dan pengantarmuka-an dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik, sebuah kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD, memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain Berdasar-Model untuk sistem terlekat dan dinamik. Pada tahun 2004, MathWorks mengklaim bahwa MATLAB telah dimanfaatkan oleh lebih dari satu juta pengguna di dunia pendidikan dan industri. 2.5.1 Sejarah MATLAB (yang berarti "matrix laboratory") diciptakan pada akhir tahun 1970-an oleh Cleve Moler, yang kemudian menjadi Ketua Departemen Ilmu Komputer di Universitas New Mexico. Ia merancangnya untuk memberikan akses bagi mahasiswa dalam memakai LINPACK dan EISPACK tanpa harus mempelajari Fortran. Karyanya itu segera menyebar ke universitas-universitas lain dan memperoleh sambutan hangat di kalangan komunitas matematika terapan. Jack Little, seorang insinyur, dipertemukan dengan karyanya tersebut selama 12

kunjungan Moler ke Universitas Stanford pada tahun 1983. Menyadari potensi komersialnya, ia bergabung dengan Moler dan Steve Bangert. Mereka menulis ulang MATLAB dalam bahasa pemrograman C, kemudian mendirikan The MathWorks pada tahun 1984 untuk melanjutkan pengembangannya. Pustaka yang ditulis ulang tadi kini dikenal dengan nama JACKPAC. Pada tahun 2000, MATLAB ditulis ulang dengan pemakaian sekumpulan pustaka baru untuk manipulasi matriks, LAPACK MATLAB pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga spesialisasi Little), tapi lalu menyebar secara cepat ke berbagai bidang lain. Kini juga digunakan di bidang pendidikan, khususnya dalam pengajaran aljabar linear dan analisis numerik, serta populer di kalangan ilmuwan yang menekuni bidang pengolahan citra.

13

BAB III METODE PENELITIANAdapun metode penelitian yang digunakan pada penyusunan skripsi ini adalah : 3.1 Studi Literatur Studi literatur berguna untuk memperoleh data dan menjelaskan dasar teori yang digunakan untuk menunjang penulisan skripsi. Teori-teori pendukung tersebut meliputi: 1. Mempelajari image processing. 2. Mempelajari Steganografi. 3. Mempelajari algoritma algoritma Rotation Transform. 4. Mempelajari bahasa pemrograman MatLab. 3.2 Diagram Sistem Citra yang akan menjadi input dari aplikasi adalah citra digital dari berbagai variasi warna dan ukuran. Citra tersebut termasuk adalah citra dengan ekstensi BMP. Berikut contoh dari citra yang dimaksud:

Gambar 3.1 contoh citra input Komputer akan memproses masukan citra dengan metode dalam steganografi yaitu LSBI (Less Significant Bit Insertion) sehingga didapat hasil keluaran citra dengan informasi sisipan. Hasil output memiliki perubahan yang tidak dapat dipersepsi oleh system visual manusia. Citra input yang telah disisipi informasi akan diberikan gangguan berupa distorsi sehingga posisi pixel semula akan berubah. Berikut contoh dari citra yang dimaksud:

14

Gambar 3.2 contoh citra input steganografi Komputer akan memproses masukan yang telah disisipkan informasi dan diberi distorsi dengan menggunakan metode dalam pemrosesan digital sehingga didapatkan informasi sisipan yang diinginkan. Hasil dari pengolahan ini akan disimpan di dalam komputer itu sendiri dalam bentuk citra awal dan informasi sisipan. Berikut gambar diagram sistemnya :

Gambar 3.2 diagram system

15

3.3

Cara Kerja Sistem Berikut adalah flowchart dari cara kerja sistem yang akan dibuat :Start Input Citra WebcamLocal Adaptive Thresholding Finder Pattern, Alignment Pattern

Perspective Transform, Normalisasi QR Code

Binerisasi

menemukan QR Codeya

tidak

menerjemahkan QR Code End

Gambar3.3 flowchartcara kerja sistem

QR Code WebcamAkuisisi Citra

Alignment Pattern Finder Pattern

Normalisasi QR Code

Decoding tampilan informasi

Local Adaptive Thresholding

Gambar 3.4 langkah-langkah sistem Input awal merupakan citra QR Codeyang diambil menggunakan webcam.Proses konversi dilakukan dengan merubah hasil citra yang ditangkap oleh webcam ke file bitmap atau *bmp. Jika citra sudah berupa file bitmap, maka 16

citra diubah kedalam bentuk grayscale untuk menghilangkan noise yang ada pada citra. Untuk mengubah citra bewarna kedalam citra keabuan dilakukan proses grayscalling, yaitu dengan cara menentukan nilai luminance setiap pixel pada citra menggunakan formula standar yang sudah ditetapkan. Y= 0.299*R + 0.587*G + 0.114*B Range nilai dari hasil Y adalah 0-255, jik citra bewarna yang digunakan adalah citra bewarna 24 bit dimana nilai masing-masing R, G dan B adalah 8 bit. Selanjutnya untuk mendapatkan citra biner dari citra keabuan dilakukan proses thresholding, berdasarkan nilai ambang (threshold) tertentu. Thresholding Proses Adaptive Thresholding dan binerisasi yang dilakukan untuk membuat gambar tersebut menjadi monochrome dengan warna hitam dan putih, dimana hitam =1 dan putih =0. Pada setiap 5x5 block gambar, dimana setiap block terdiri dari 8x8 pixel akan dicari nilai rata-rata banyaknya pixel hitam lalu akan ditetapkan sebagai nilai Thresholdnya (T) dan dilakukan proses thresholding pada block tersebut.

Proses ini akan terus dilakukan sampai semua gambar telah berhasil dilakukan proses thresholding.

17

Gambar 3.5hasil proses Thresholding Proses menemukan Finder Pattern dan Alignment Pattern Dari citra QR Code yang dihasilkan pada proses sebelumnya, dicari 3 buah Finder Patern dari QR Code tersebut. Finder pattern dicari pada gambar yang mempunyai format rasio 1:1:3:1:1 atau hitam : putih : hitam : hitam : hitam : putih : hitam.

Gambar 3.6Finder Pattern Pada algoritma pencarian Finder Pattern ini, aplikasi akan mendeteksi setiap baris pixel yang ada pada gambar dan mencari format rasio finder pattern 18

tersebut. Setelah ditemukan kemungkinan rasio tersebut makan akan dibentuk baris array untuk menampung data tersebut. Baris array tersebut selanjutnya akan disederhanakan lagi menjadi 5 data untuk mengecek kebenaran rasio tersebut.

Gambar 3.7proses deteksi Finder Pattern

Gambar 3.8Proses menentukan rasio Finder pattern Apabila proses pencarian finder pattern secara horizontal selesai dan menemukan beberapa kemungkinan finder pattern berada. titik koordinat finder 19

pattern tersebut akan disimpan dan dimulai proses pencarian secara vertical. Proses pencarian vertical akan dimulai dari titik tengah dimana posisi finder pattern pada saat pencarian secara horizontal ditemukan.

Gambar 3.9proses pencarian secara vertical dan horizontal Jika proses pencerian ketiga finder pattern telah selesai dan telah ditemukan maka selanjutnya aplikasi akan mencari jarak setiap finder pattern satu ke finder pattern lainnya. Pada proses ini digunakan teorema phytagoras untuk menetukan posisi finder pattern yang sebenarnya.

20

Gambar 3.10penentuan posisi Finder Pattern Setelah 3 Finder Pattern ditemukan maka akan dicari Alignment Pattern dengan rasio 1:1:1:1:1. Cara pencarian ini sama dengan cara yang digunakan untuk menentukan Finder Pattern.

Gambar 3.11Alignment Pattern Normalisasi QR Code Pada proses ini titik koordinat QR code didapatkan setelah mencari finder pattern dan alignment pattern. Hasil titik koordinat tersebut yaitu pojok kanan atas,pojok kiri atas,pojok kiri bawah, dan pojok kanan bawah atau (x0,y0), (x1,y1), (x2,y2), (x3,y3). Perspective Transform akan digunakan apabila gambar QR Code yang didapatkan terjadi rotasi ,distorsi atau berbentuk Quadrilateral. Proses transformasi akan merubah bentuk gambar QR Code yang Quadrilateral menjadi bentuk Square. Titik berikut : (a11,a21,a31,a12,a22,a32,a13,a23) akan dicari memanfaatkan titik (x0,y0), (x1,y1), (x2,y2), (x3,y3) dengan rumus sebagai

Sehingga akan didapat bahwa persamaan berikut :

21

Jika didapatkan

maka

xy

adalah

paralellogram

sehingga

Tetapi jika tidak maka, didapatkan persamaan akhir sebagai berikut :

Titik

(a11,a21,a31,a12,a22,a32,a13,a23)

merupakan

titik

koordinat baru hasil Perspective Transform, seperti ilustrasi gambar dibawah ini :

22

Gambar 3.12 Proses Mapping Setelah dilakukan proses Normalisasi QR Code maka akan didapat gambar bitmap baru dengan hasil QR Code yang sudah berbentuk Rectangle atau normal, sehingga berikutnya akan dilakukan proses binerisasi lagi dimana setiap modul yang berisi lebih dari 90% pixel hitam adalah 1 dan modul yang berisi lebih dari 90% pixel putih adalah 0. Proses Decoding Proses Decoding merupakan proses untuk menerjemahkan QR Code untuk mendapatkan hasil output data yang terdapat pada QR Code. 1) Mencari Finder Pattern dan menetukan ukurannya.

Gambar 3.13menghitung Wul,Wur dan D 2) Menghitung dimensi dari QR Code

3) Menentukan versi sementara dari QR Code 23

4) Jika versi sementara lebih kecil dari 6, maka versi sementara ini ditetapkan menjadi versi sebenarnya,jika tidak maka akan dilakukan langkah mendeteksi version information 1 yang ada pada QR Code, apabila version information 1 tidak bisa terdeteksi maka akan langsung mencoba mendeteksi version information 2.

Gambar 3.14 posisi Vertion Information 1 dan 2 pada QR Code 5) Mencari letak alignment pattern

Gambar 3.15 posisi Alignment Pattern 6) Melakukan proses sampling data dengan membuat bit matriks dari setiap pixel gambar, dimana warna hitam angka biner 1 dan putih biner 0. 24

7) Mendecode Format Infromation yang ada di sekitar Finder Pattern sebelah pojok kiri atas. Jika tidak bisa diteteksi, maka akan melakukan decode pada pojok kanan atas dan kiri bawa Finder Pattern. Contoh : Hasil Format Information: 100000011001110 Perkiraan Error Correction Level M: 00 Mask Pattern Reference: 101 Data: 00101 BCH bits: 0011011100 Unmasked bit sequence: 001010011011100 Mask pattern for XOR operation: 101010000010010

2 bit terdepan adalah Error correction level dengan format :

Bit ketiga sampai kelima adalah versi mask pattern dengan format :

8) Melakukan operasi XOR pada mask pattern hasil decode dari Format Information dengan data yang terdapat pada QR Code untuk menghilangkan hasil masking yang dilakukan pada proses encoding QR Code. Akhirnya didapatkan data dan error correction yang sebenarnya dari QR code.

25

Gambar 3.16 Data pada QR Code versi 2-M

Gambar 3.17data pada QR Code versi 7 26

Keterangan :

9) Melakukan prosedur Error Detection dan Correction untuk memperbaiki error yang terjadi pada data tergantung pada error correction levelnya. 10) Menerjemahkan setiap data yang ada pada Datablock ke bentuk karakter aslinya. 3.4 Pengujian Sistem Pengujian dilakukan untuk menjamin dan memastikan bahwa sistem yang telah dirancang memiliki tingkat kesalahan yang kecil dan memiliki akurasi pembacaan yang benar. Pengujian yang dilakukan meliputi variasi gambar yang akan disisipi informasi, dan variasi distorsi yang mungkin terjadi pada citra yang telah disisipi informasi. 3.5 Kesimpulan dan Saran Pada tahap ini, diambil dari hasil pengujian dan analisa terhadap aplikasi yang telah dibuat. Tahap Selanjutnya adalah membuat saran untuk perbaikan terhadap penelitian selanjutnya sehingga dapat menyempurnakan kekurangankekurangan yang ada dan mengembangkan hasil yang diperoleh dari skripsi ini. 3.6 RENCANA KEGIATAN Kegiatan ini direncanakan dikerjakan dalam waktu empat bulan dengan rincian sebagai berikut :N Kegiatan Bulan Bulan Bulan Bulan

27

o Pengajuan 1 proposal 2 Studi literatur Perancangan 3 aplikasi Pengujian 4 aplikasi Penulisan 5 laporan

kedua ketiga pertama keempat 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

28

DAFTAR PUSTAKA[1] [2] [3] [4] [5] [6] http://www.densowave.com/qrcode/aboutqr-e.html (diakses 3 Januari 2011) Mursanto, Petrus. 2006 .GENERIC REED SOLOMON ENCODER.Depok :Fakultas Ilmu Komputer , Universitas Indonesia. Wellner , Pierre D.1993. Adaptive Thresholding for the Digital Desk,Cambridge: Rank Xerox ResearchCentre Cambridge Laboratory. Swetake .Y,1997-2009, How to create QRcode, Jepang:http://www.swetake.com/qr/qr1_en.html Ahmad, Usman. Pengolahan Citra Digital dan Teknik Pemrogramannya. Bogor : Graha Ilmu, 2005. Sun Developer Network :http://developers.sun.com/mobility/(diakses selama 2010-2011).

29