implementasi algoritma kriptografi hill cipher dalam
TRANSCRIPT
IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL
CIPHER DALAM PENYANDIAN DATA GAMBAR
TUGAS AKHIR
NURUL HUDAINI HALIM SIREGAR
152406140
PROGRAM STUDI D3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2018
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL
CIPHER DALAM PENYANDIAN DATA GAMBAR
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat
memperoleh Ahli Madya
NURUL HUDAINI HALIM SIREGAR
152406140
PROGRAM STUDI D3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2018
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
ii
IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL
CIPHER DALAM PENYANDIAN DATA GAMBAR
ABSTRAK
Citra digital sebagai salah satu bentuk data digital yang saat ini banyak dipakai
untuk menyimpan photo, gambar, apapun hasil karya dalam format digital. Bila
data tersebut tidak diamankan dikhawatirkan data tersebut dapat atuh kepada
pihak yang tidak diinginkan, yang kemudian disalahgunakan untuk hal-hal ang
bersifat negatif. Salah satu cara untuk mengatasi masalah tersebut adalah dengan
menyandikan citra tersebut sehingga bentuk citra menjadi tidak diketahui lagi.
Sehingga, apabila apabila jatuh ketangan pihak lain, citra tersebut tidak akan
diketahui.
Dalam Tugas Akhir ini saya akan mencoba mengimplementasikan
algoritma kriptografi hill cipher dalam penyandian data gambar. Maka gambar
ataupun informasi dapat dikodekan sehingga informasi tidak dapat diketahui oleh
pihak yang tidak diinginkan dan hanya yang memiliki kunci yang dapat
mengetahui informasu tersebut.
Kata kunci : Algoritma Kriptografi, Hill Cipher, Visual Studio 2010, dan Data
Gambar.
UNIVERSITAS SUMATERA UTARA
iii
IMPLEMENTATION OF ALGORITHM HILL CIPHER
CRIPTOGRAPHY IN IMAGE DATA ENCODING
ABSTRACT
Digital image as one form of digital data that is currently widely used to store
photos, pictures, any work in digital format. If the data is not secured it is feared
that the data may fall to the unwanted party, which is then misused for negative
things. One way to solve the problem is to encode the image so that the image
becomes unknown. Thus, if it falls into the hands of the other party, the image
will not be known.
In this Final Project I will try to implement hill cipher cryptography
algorithm in image data encoding. So images or information can be encoded so
that information can’t be known by unwanted parties and only those who have a
key that can know the information.
Keywords : Algorithm Crytography, Hill Cipher, Visual Studio 2010, and Image
Data.
UNIVERSITAS SUMATERA UTARA
iv
UNIVERSITAS SUMATERA UTARA
v
DAFTAR ISI
Halaman
PENGESAHAN LAPORAN TUGAS AKHIR i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
DAFTAR ISI v
DAFTAR TABEL vii
DAFTAR GAMBAR viii
DAFTAR LAMPIRAN ix
DAFTAR SINGKATAN x
BAB 1. PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3. Batasan Masalah 3
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
BAB 2. LANDASAN TEORI
2.1 Kriptografi 7
2.1.1. Tujuan Kriptografi 10
2.1.2. Komponen-Komponen Kriptografi 11
2.1.3. Jenis-Jenis Kriptografi 12
2.2. Visual Studio 2010 20
2.3. Flowchart 23
2.3.1.PedomanMembuat Flowchart 28
BAB 3. PERANCANGAN SISTEM
3.1. Perancangan Sistem 30
3.2. Flowchart Program 31
3.3. Diagram Konteks Sistem 32
BAB 4. IMPLEMENTASI SISTEM
4.1. Hill Cipher 33
4.2. Antar Muka Sistem (Interface) 36
4.2.1. Tampilan Aplikasi 36
4.2.2. Tampilan Penginputan Gambar 37
4.2.3. Tampilan Enkripsi 38
UNIVERSITAS SUMATERA UTARA
vi
4.24. Tampilan Print Gambar 39
BAB 5. PENUTUP
5.1. Kesimpulan 40
5.2. Saran 40
DAFTAR PUSTAKA
LAMPIRAN
UNIVERSITAS SUMATERA UTARA
vii
DAFTAR TABEL
Nomor Judul Halaman
Tabel
4.1. Nilai RGB 34
4.2. Hasil Enkripsi 35
UNIVERSITAS SUMATERA UTARA
viii
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
2.1. Proses Enkripsi dan Deskripsi 9
2.2. Kriptografi Simetris 13
2.3. Contoh Kriptografi Simetris 14
2.4. Cara Enkripsi 14
2.5. Kriptografi Asimetris 18
2.6. Kriptografi Hibrida 20
2.7. Tampilan Visual Studio 21
2.8. Flowchart 24
2.9. Contoh Flowchart Program Menentukan Bilangan Ganjil/Genap 29
3.1. Flowchart Aplikasi 31
3.2. Diagram Konteks Sistem 32
4.1. Plainteks Gambar 33
4.2. Hasil Enkripsi 36
4.3. Tampilan Aplikasi 37
4.4. Tampilan Penginputan Gambar 38
4.5. Tampilan Enkripsi 38
4.6. Tampilan Print 39
UNIVERSITAS SUMATERA UTARA
ix
DAFTAR LAMPIRAN
Nomor Judul Halaman
Lampiran 1. Listing Program 53
2. Surat Keterangan Dosen Pembimbing Tugas Akhir 54
3. Surat Keterangan Hasil Uji Program Tugas Akhir 55
4. Kartu Bimbingan Tugas Akhir 56
UNIVERSITAS SUMATERA UTARA
x
DAFTAR SINGKATAN
TPA = Tes Potensi Akademik
GRE = Graduated Record Examination
UPP-TPA = Unit Pelayanan Penyelenggaraan Tes Potensi Akademik
CPNS = Calon Pegawai Negri Sipil
OTO = Overseas Training Office
SAT = Scholastic Aptitude Test
UUOPT = Unit Usaha Otonom Penyelenggaraan Tes
UNIVERSITAS SUMATERA UTARA
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi yang begitu pesat memungkinkan manusia dapat
berkomunikasi dan saling bertukar informasi atau data secara jarak jauh. Antar
kota atau antar wilayah antar negara bahkan antar benua bukan menjadi suatu
kendala lagi dalam melakukan komunikasi dan pertukaran data. Dengan demikian
tuntutan akan kemanan terhadap kerahasiaan data dan informasi yang saling di
pertukarkan berikut semakin meningkat. Begitu banyak pengguna seperti
departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak
ingin informasi yang mereka sampaikan di ketahui oleh orang lain atau
kompetitornya atau negara lain. Oleh karena dikembangkanlah cabang ilmu yang
mempelajari tentang cara-cara pengamanan data atau dikenal dengan istilah
kriptografi.
Hamdani, Anindita Septiarini, dan Fajri Nugraha (2009) “Penggunaan
Metode Hill Cipher Untuk Kriptografi Pada Citra Digital”: Kriptografi dirasakan
semakin penting pada saat ini. Keamanan pengiriman informasi melalui komputer
menadi bagian yang tak terpisahkan dlam kehidupan sehari-hari. Seiring dengan
peningkatan kepentingannya, banyak metode-metode yang di temukan maupun di
perluas penggunaannya. Diantara metode-metode tersebut terdapat metode yang
UNIVERSITAS SUMATERA UTARA
2
membutuhkan operasi matematikan sederhana, tetapi terdapat jugak metode yang
melibatkan teori yang rumit dan sulit di implementasinya.
Citra Digital merupakan salah satu bentuk data digital yang pada saat ini
banyak dipakai untuk menyimpan photo, gambar, ataupun hasil karya seseorang
dalam format digital. Bila data-data tersebut tidak diamankan, dikhawatirkan data
tersebut dapat diketahui oleh pihak yang tidak di inginkan, yang kemudian dapat
disalahgunakan untuk hala-hal yang bersifat negatif. Salah satu cara untuk
mengatasi masalah tersebut adalah dengan menyandikan citra tersebut sehingga
bentuk gambar citra menjadi teracak, sehingga apabila jatuh ketangan yang tidak
diinginkan, citra tersebut tidak akan dapat digunakannya. Salah satu metode
penyandian untuk tujuan diatas adalah menggunakan teknik penyandian Hill
Chipher . Hill Cipher sebenarnya merupakan salah satu teknik penyandian teks,
tetapi dengan melakukan perubahan perhitungan pada nilai RGB (Red Green
Blue) citra maka Hill Cipher juga dapat digunakan untuk menyandikan citra. Hill
Cipher menggunakan matriks persegi sebagai kunci dalam proses penyandiannya,
karena haya melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.
1.2 Rumusan Masalah
Berdasarkan latar belakang tersebut, maka rumusan masalah yang terdapat
dalam pengimplementasian ini adalah :
1. Bagaimana proses menyandikan sebuah gambar.
2. Bagaimana cara menerapkan teknik penyandian data gambar Algoritma
Kriptografi Hill Cipher.
UNIVERSITAS SUMATERA UTARA
3
3. Bagaimana merancang aplikasi penyandian data gambar Algoritma
Kriptografi Hill Cipher.
1.3 Batasan Masalah
Dalam pengimplementasian ini ada beberapa batasan masalah, diantaranya
:
1. Pada penulisan Tugas Akhir ini penulis hanya membahas enkripsi.
2. Meskipun semua jenis file dapat di enkripsi namun pada penulisan Tugas
Akhir ini penulis hanya menggunakan data gambar sebagai contoh untuk proses
enkripsi.
3. Format gambar yang digunakan adalah jpg.
1.4 Tujuan
Tujuan dari pengimplementasian ini adalah :
1. Menerapkan teknik penyandian data gambar menggunakan metode Hill
Cipher.
2. Menjelaskan proses menyandikan gambar, ukuran gambar, tipe gambar.
3. Merancang aplikasi untuk penyandian data gambar dengan metode Hill
Cipher.
1.5 Manfaat
Adapun manfaat yang diberikan pada pengimplementasian ini adalah :
UNIVERSITAS SUMATERA UTARA
4
1. Mengetahui Algoritma Hill Cipher dalam penyandian data gambar.
2. Aplikasi yang di rancang dapat digunakan untuk penyandian data gambar.
3. Membantu untuk lebih memahami metode Hill Cipher dalam kriptografi.
1.6 Metodologi Penelitian
Adapun metode penelitian yang penulis lakukan dalam memperoleh data yang
dibutuhkan sehingga penyusunan tugas akhir ini dapat diselesaikan dengan baik
adalah sebagai berikut :
1. Pengumpulan data-data yang erat kaitannya dengan metode Hill Cipher dalam
Kriptografi dengan cara membaca buku-buku, informasi online dan membaca
bahan-bahan dari sumber lain.
2. Pengumpulan Data pada tahap ini penulis mengumpulkan semua data yang
diperoleh dan menyusunnya ke dalam beberapa bagian untuk mempermudah
perancangan aplikasi.
3. Identifikais masalah dilakukan dengan melihat dari data yang sudah
dikumpulkan dan penulis mengangkatnya kedalam sebuah solusi yang telah
dijadikan judul.
4. Mendesain aplikasi penyandian data gambar dengan metode Hill Cipher
setelah data terkumpul, penulis akan mendesain dan koding aplikasi sesuai
dengan desain yang telah dibuat.
5. Menguji aplikasi setelah aplikasinya terbentuk, karena dengan mengujinya
akan diketahui apakah aplikasi ini sudah berjalan dengan baik atau masih
terdapat kesalahan atau error.
UNIVERSITAS SUMATERA UTARA
5
1.7 Sistematika Penulisan
Agar dapat memberikan gambaran yang jelas pada penulisan Tugas Akhir
ini, maka penulis membaginya dalam beberapa bab sebagai berikut:
BAB 1 : PENDAHULUAN
Bab ini menguraikan tentang jawaban apa dan mengapa aplikasi ini
dibuat. Bab pendahuluan memuat latar belakang, perumusan masalah,
batasan masalah, tujuan, manfaat penelitian, metodologi penelitian,
dan sistematika penulisan.
BAB 2
: LANDASAN TEORI
Bab ini menguraikan tentang variabel yang akan diteliti dan sebagai
dasar untuk memberi jawaban sementara terhadap rumusan masalah
yang diajukan (hipotesis), dan penyusunan instrumen penelitian.
BAB 3 : PERANCANGAN SISTEM
Bab ini menguraikan mengenai perancangan sistem mulai dari
perancangan flowchart dan Diagram Konteks.
BAB 4 : IMPLEMENTASI SISTEM
Bab ini menguraikan tentang bagaimana proses lanjutan dari
perancangan sistem. Menguraikan secara detail bagian implementasi
sistem dan menyorot apakah implementasi sesuai dengan
UNIVERSITAS SUMATERA UTARA
6
perancangan sistem.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini menguraikan tentang kesimpulan dan saran yang dikutip
oleh penulis selama proses pembangunan aplikasi.
UNIVERSITAS SUMATERA UTARA
BAB 2
LANDASAN TEORI
2.1 Kriptografi
Kriptografi (cryptography) berasal dari bahasa yunani: “cryptos” artinya
“secret”(rahasia), sedangkan “graphein” artinya “writing” (tulisan). Jadi,
kriptografi berarti “secret writing” (tulisan rahasia).
Kriptografi adalah ilmu mengenai teknik enkripsi dimana “naskah asli”
(plainntext) diacak menggunakan suatu kunci enkripsi menjadi “naskah acak yang
sulit dibaca” (ciphertext) oleh seseorang yang tidak memiliki kunci deskripsi.
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan
pesan. Ketika suatu pesan dipilih dari suatu tempat ke tempat lain, isi pesan
tersebut mungkin bisa di sadap oleh pihak lain yang tidak berhak untuk
mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat
diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.
Defenisi yang digunakan di dalam buku lama (sebelum tahun 1980-an)
menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan
pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti
maknanya. Defenisi ini mungkin cocok pada masa lalu dimana kriptografi
digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan
militer, diplomat, dan mata-mata (spy).
UNIVERSITAS SUMATERA UTARA
8
Implementasi dari keriptografi sangat banyak bisa kita temui dalam
kehidupan sehari – sehari, seperti Automatis Teller Machine (ATM), penggunaan
ATM untuk banking, bahkan mulai meningkat menjadi internet banking, mobile
banking, komunikasi elektronik seperti telepon tetap, seluler, sms, mms.
Komunikasi via internet seperti email, messaging, chatting, voice call, e-
goverment dan e-commerce. Menurut catatan sejarah, kriptografi sudah digunakan
oleh bangsa Mesir sejak 4000 tahun yang lalu oleh raja – raja Mesir pada saat
perang untuk mengirimkan pesan rahasia kepada panglima perangnya melalui
kurir – kurirnya. Orang yang melakukan penyandian ini disebut kriptografer,
sedangkan orang yang mendalami ilmu dan seni dalam membuka atau
memecahkan suatu algoritma kriptografi tanpa harus mengetahui kuncinya disebut
kriptanalis.
Seiring dengan perkembangan teknologi, algoritma kriptografi pun mulai
berubah menuju ke arah algoritma kriptografi yang lebih rumit dan kompleks.
Kriptografi mau tidak mau harus diakui mempunyai peranan yang paling penting
dalam peperangan sehingga algoritma kriptografi berkembang cukup pesat pada
saat perang dunia I dan II. Menurut catatan sejarah, terdapat beberapa algoritma
kritografi yang pernah digunakan pada saat peperangan, diantaranya adalah
ADFVGX yang di pakai oleh Jerman pada perang dunia I, Sigaba/M-134 yang
digunakan oleh Amerika Serikat pada perang dunia II, Typex oleh Inggris, Purple
oleh Jepang. Selain itu Jerman juga mempunyai mesin legendaris yang dipakai
untuk memecahkan sandi yang di kirim oleh pihak musuh dalam peperangan
yaitu, Enigma.
UNIVERSITAS SUMATERA UTARA
9
Algoritma kriptografi yang baik tidak ditentukan oleh kerumitan dalam
mengolah data atau pesan yang akan di sampaikan. Yang penting, algoritma
tersebut harus memenuhi 4 persyaratan berikut :
1. Kriptografi pada dasarnya Kerahasiaan, pesan ( plainteks ) hanya dapat di baca
oleh pihak yang memiliki kewenangan
2. Autentikasi, pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup
harus dipastikan tidak bisa berpura – pura menjadi orang lain.
3. Integritas, penerima pesan harus dapat memastikan bahwa pesan yang diterima
tidak dimodifikasi ketika sedang proses transmisi data.
4. Non-repudiation, pengirim pesan harus tidak bisa menyangkal pesan yang dia
kirim. Kriptografi pada dasarnya terdiri dari dua proses, yaitu proses enkripsi
dan deskripsi. Proses enkripsi adalah proses penyandian pesan terbuka menjadi
pesan rahasia (cipherteks). Cipherteks inilah yang nantinya akan dikirimkan
melalui saluran informasi terbuka. Pada saat chiperteks diterima oleh penerima
pesan, maka pesan rahasia tersebut diubah lagi menjadi pesan terbuka melalui
deskripsi, sehingga pesan tadi dapat di baca kembali oleh penerima pesan.
Secara umum, proses enkripsi dan deskripsi dapat digambarkan sebagai
berikut.
Gambar 2.1 Proses enkripsi dan deskripsi
UNIVERSITAS SUMATERA UTARA
10
Dalam sistem komputer, plainteks diberi lambang M, yang merupakan
singkatan dari message. Plainteks ini dapat berupa tulisan, foto, atau video yang
dapat berbentuk data biner.
2.1.1 Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan
aspek keamanan informasi, yaitu sebagai berikut :
1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi
dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk
membuka/mengupas informasi yang telah disandi.
2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data
secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki
kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak
berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain
kedalam data yang sebenarnya.
3. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara
kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling
berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan
melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan
lain-lain.
4. Non-repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah terjadinya
penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang
mengirimkan/membuat.
UNIVERSITAS SUMATERA UTARA
11
2.1.2 komponen – komponen Kriptografi
Pada prinsipnya, kriptografi memiliki beberapa komponen, diantara lain sebagai
berikut:
1. Pesan, plainteks dan cipherteks.
pesan adalah dta atau informasi yang dapat dibaca dan dimengerti maknanya.
Nama lain untuk pesan adalah plainteks. Agar pesan tidak bisa di mengerti
maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang
tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks.
2. Pengirim dan penerima
Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima
adalah entitas yang menerima pesan. Entitas disini dapat berupa orang, mesin
(komputer), kartu kredit dan sebagainya.
3. Enkripsi dan deskripsi
Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan
proses mengembalikan cipherteks menjadi plainteks semula dinamakan
deskripsi. Jadi dalam kata lain, enkripsi merupakan proses transformasi
plainteks menjadi cipherteks sedangkan deskripsi merupakan proses
mentransformasikan kembali cipherteks menjadi plainteks.
4. Cipher
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enkripsi atau
deskripsi, atau fungsi matematika yang digunakan untuk enkripsi dan deskripsi.
Konsep matematis yang mendasari algoritma kriptografi adalah relasi antar dua
buah himpunan yaitu himpunan yang berisi elemen – elemen plainteks dan
UNIVERSITAS SUMATERA UTARA
12
himpunan yang berisi cipherteks. Enkripsi dan deskripsi adalah fungsi yang
memetakan elemen – elemen antara kedua himpunan tersebut.
5. Sistem kriptografi
Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi,
semua plainteks dan cipherteks yang mungkin dan kunci.
6. Penyadap
Penyadap adalah orang yang berusaha mencoba menangkap pesan selama
ditransmisikan dengan tujuan mendapatkan informasi sebanyak - banyaknya
mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan
maksud untuk memecahkan cipherteks.
7. Kriptanalisis dan kriptologi
Kriptanalisiss adalah ilmu seni untuk memecahkan cipherteks menjadi plainteks
tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis.
Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.
2.1.3 Jenis-Jenis Kriptografi
Algoritma Kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang
dipakainya, antara lain adalah sebagai berikut:
1. Kriptografi Simetris
Kriptografi simetris adalah kode hill atau lebih dikenal dengan hill cipher
merupakan salah satu algoritma kriptografi kunci simetris dan merupakan
salah satu kriptopolyalphabetic. Hill cipher diciptakan oleh Lester S. Hill
pada tahun 1929. Teknik Kriptografi ini diciptakan dengan maksud unutk
UNIVERSITAS SUMATERA UTARA
13
dapat menciptakan cipher yang tidak dapat dipecahkan menggunakan teknik
analisis frekuensi. Berbeda dengan caesar cipher, hill cipher tidak mengganti
setiap abjad yang sama pada plainteks dengan abjad yang sama dengan
cipherteks karena menggunakan perkalian matriks pada dasar enkripsi dan
deskripsinya.
Hill cipher merupakan penerapan aritmatika modulo pada kriptografi.
Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci
berukuran m x n sebagai kunci untuk melakukan enkripsi dan deskripsi. Dasar
teori matriks yang digunakan dalam hill cipher antar lain adalah perkalian
antar matriks dan melakukan invers pada matriks. Karena menggunakan
matriks sebagai kunci, hill cipher merupakan algoritma kriptografi kunci
simetris yang sulit dipecahkan, karena teknik kriptanalis seperti analisis
frekuensi tidak dapat diterapkan dengan mudah untuk memecahkan algoritma
ini. Hill cipher sangat sulit dipecahkan jika kriptanalis hanya memiliki
cipherteks saja, namun dapat dipecahkan dengan mudah jika kriptanalis
memiliki cipherteks dan potongan dari plainteksnya.
Gambar.2.2 kriptografi simetris
Contoh kriptografi simetris :
Perhitungan matematis dasar teknik hill cipher adalah aritmatika modulo terhadap
matriks. Dalam penerapannya, hill cipher menggunakan teknik perkalian matriks
UNIVERSITAS SUMATERA UTARA
14
dan teknik invers terhadap matriks. Kunci pada hill cipher adalah matriks n x n
dengan n merupakan ukuran blok. Jika matriks kunci kita sebut dengan K, maka
matriks K adalah sebagai berikut.
Gambar 2.3 Contoh kriptografi simetris
Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu
memiliki multiative inverse K-1 sehingga :
K . K - 1 = 1
Kunci harus memiliki invers karena matriks K-1 tersebut adalah kunci
yang digunakan unutk melakukan deskripsi. Cara enkripsinya adalah dengan
mengkodekan atau mengubah setiap huruf abjad integer sebagai berikut.
A = 0, B = 1, ..., Z = 25
Gambar 2.4 Cara Enkripsi
Maka secara matematis, proses enkripsi pada hill cipher adalah sebagai berikut:
C = K . P mod 26
C = Cipherteks | K = Kunci | P = Plainteks
UNIVERSITAS SUMATERA UTARA
15
Proses enkripsi pada hill cipher dilakukan perblok plainteks. Ukuran blok tersebut
sama dengan ukuran matriks kuncinya. Perhatikan contoh enkripsi dengan metode
hill cipher dibawah ini.
P = N U R U L H U D A I N I
Dikodekan / diintegerkan menjadi:
P = 13 20 17 20 11 7 20 3 0 8 13 8
Karena matriks K berukuran 2, maka plainteks dibagi menjadi blok yang masing –
masing bloknya berukuran 2 karakter. Blok pertama dari plainteks P₁,₂= [13 : 20]
kemudian dienkripsi dengan kunci dengan persamaan C = K . P mod 26. Karena
perkalian tersebut menghasilkan lebih dari 25 maka dilakukan modulo 26 pada
hasil yang lebih dari 25.
C₁,₂= = (mod 26) = =
Karakter yang berkorespondensi dengan 9 dan 17 adalah J dan R. Setelah
melakukan enkripsi semua blok pada plainteks P maka dihasilkan cipherteks C
sebagai berikut:
P = N U R U L H U D A I N I
C = R N B U Z W O M B Z
Cipherteks yang dihasilkan oleh enkripsi hill cipher atau kode hill menghasilkan
cipherteks yang tidak memiliki pola yang mirip dengan plainteks atau pesan
aslinya. Setelah plainteks diubah ke cipherteks maka penerima harus
UNIVERSITAS SUMATERA UTARA
16
mendeskripsikan cipherteks tersebut. Berikut adalah cara untuk mencari K invers
dan teknik deskripsi.
Perhitungan matematis deskripsi pada hill cipher ini sama halnya dengan
enkripsi. Namun matriks kunci harus dibalik (invers) terlebih dahulu dan kunci
harus memenuhi persamaan:
K . K – 1 = 1
P = K – 1 Cm26
Sebelum mendeskripsikan, kita akan menginvers kunci K terlebih dahulu, untuk
menginvers kita akan menggunakan [ K | I ] = K – 1, proses invers ini akan kita
lakukan dengan operasi baris / row operation.
[ K | I ] = ( 3 x R2 )
= ( mod 26 )
= ( R2 - R1 )
= ( 11 x R2 )
= (mod 26 )
= ( R1 - 5R2 )
= ( mod 26 )
=
Dari perhitungan diatas didapatkan K invers
UNIVERSITAS SUMATERA UTARA
17
K inver ini sudah memenuhi persamaan K . K – 1 = I, berdasarkan perkalian K
dengan K – 1 kemudian dimodulasi dengan 26 menghasilkan I = [1 0 ; 0 1 ].
Setelah itu kita akan melakukan deskripsi terhadap cipherteks, kemudian dirubah
menjadi integer terlebih dahulu. Dengan kunci deskripsi yang dimiliki kriptanalis
hanya perlu menerapkan persamaan ( P = K – 1 . C mod 26 ) pada cipherteks dan
kunci, sehingga menghasilkan plainteks / pesan asli ( P = N U R U L H U D
A I N I ).
Hill cipher atau kode hill merupakan algoritma krptografi yang sangat kuat
dilihat dari segi kemanannya dengan matriks kunci hill cipher harus merupakan
matriks yang invertible, karena disitulah letak keunikan sekaligus kesulitan hill
cipher tersebut.
2. Kriptografi Asimetris
Algoritma asimetris sering juga disebut dengan algoritma kunci publik atau
sandi kunci publik, dengan arti kata kunci yang digunakan untuk melakukan
enkripsi dan deskripsi berbeda. Pada algoritma asimetris kunci terbagi menjadi
dua bagian, antara lain:
a. Kunci umum (public key) adalah kunci yang boleh semua orang tau
(dipublikasikan).
b. Kunci pribadi (private key) adalah kunci yang dirahasiakan, hanya boleh
diketahui satu orang saja.
Kunci-kunci tersebut saling berhubungan satu dengan yang lainnya. Dengan
kunci publik orang dapat mengenkripsi pesan tapi tidak dapat
UNIVERSITAS SUMATERA UTARA
18
mendeskripsikannya, hanya orang yang mempunyai kunci pribadi yang
dapat mendeskripsikan pesan tersebut.
Algoritma asimetris bisa melakukan pengiriman pesan lebih aman daripada
algoritma simetris. Contonhnya :
a. Nurul memberitahukan kunci publiknya ke Nia.
b. Nia mengenkripsi pesan dengan menggunakan kunci publik Nurul.
c. Nurul mendeskripsi pesan dari Nia dengan kunci pribadinya.
d. Dan begitu juga sebaliknya jika Nurul ingin mengirim pesan ke Nia.
Gambar 2.5 Kriptografi Asimetris
Contoh kriptografi asimetris.
Contoh RSA:
1. Kunci Publik
Pilih bilangan prima p = 7 dan q = 11, n = 7 . 11 = 77
F(n) = ( p – 1 ) . ( q – 1 ) = 6 . 10 = 60 artinya
F(n)={1,2,3,4,6,8,..,76}={x|gcd(x, n)=1}
Pilih e dalam {x|gd (x, 60 ) = 1, misalnya e = 17
Hapus p dan q dan kunci publik n = 77, e = 17
2. Kunci Rahasia
d = e-1 mod F(n), d .e = 1 mod 60, d =53
53 . 17 mod 60 = 901 mod 60 = 1 mod 60
UNIVERSITAS SUMATERA UTARA
19
3. Kriptografi Hibrid
Permasalahan yang menarik pada bidang keamanan informasi adalah adanya
trade off antara kecepatan dengan kenyamanan. Semakin aman semakin tidak
nyaman, berlaku juga sebaliknya semakin nyaman semakin tidak aman. Salah
satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan
penggunaan kritografi hibrida. Kriptografi hibrida sering di pakai karena
memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik
dan kemudahan transfer kunci menggunakan algoritma simetrik. Hal ini
mengakibatkan peningkatan kecepatan tanpa mengurangi kanyamanan serta
keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada umumnya di
tujukan untuk pengunaan umum atau mainstrean yang merupakan pengguna
komputer.
Sistem ini menggabungkan chiper simetrik dan asimetrik. Proses ini dimulai
dengan negosiasi menggunakan cipher asimetrik dimana kedua belah pihak setuju
dengan private key / session key yang akan dipakai. Kemudian session key
digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation
ataupun tukar menukar data selanjutnya. Suatu session key hanya dipakai sekali
sesi. Untuk sesi selanutnya session key harus di buat kembali.
UNIVERSITAS SUMATERA UTARA
20
Gambar 2.6 Kriptografi Hibrida
Contoh kriptografi hibrida:
Metode hibrida terdiri atas enkripsi simetris dengan satu kunci ( session key ) dan
enkripsi asimetris dengan sepasang kunci ( public / private key ).
1. Langkah 1 : Pengirim mengenkripsi teks dengan session key.
2. Langkah 2 : Mengenkripsi session key dengan public key.
3. Langkah 3 : Penerima mendeskripsi session key dengan private key.
4. Langkah 4 : Mendeskripsi dengan session key.
2.2 Visual Studio 2010
Visual Studio 2010 pada dasarnya adalah sebuah bahasa pemrograman
komputer. Dimana pengertian dari bahasa pemrograman itu adalah perintah-
perintah atau intruksi yang dimengerti oleh komputer untuk melakukan tugas-
tugas tertentu.
UNIVERSITAS SUMATERA UTARA
21
Visual Studio 2010 atau yang sering disebut juga VB.NET 2010 selain
disebut dengan bahasa pemrograman, juga sering disebut sebagai saran ( tool )
untuk menghasilkan program-program aplikasi berbasiskan windows. Beberapa
kemampuan atau manfaat Visual Studio 2010 diantaranya seperti:
1. Untuk membuat program aplikasi berbasiskan windows.
2. Untuk membuat objek-objek pembantu program seperti kontrol ActiveX, file
help, aplikasi internet dan sebagainya.
3. Menguji program (debugging) dan menghasilkan program berakhiran exe yang
bersifat executable atau dapat langsung dijalankan.
Visual Studio 2010 adalah bahasa yang cukup mudah untuk dipelajari. Bagi
programer pemula yang baru ingin belajar program, lingkungan Visual Studio
dapat membantu program dalam sekejap mata. Sedangkan bagi programer tingkat
lanjut, kemampuan yang besar dapat digunakan untuk membuat program-program
yang lebih kompleks, misalnya net-working atau client server. Bahasa Visual
Studio cukup sederhana dan menggunakan kata-kata bahasa inggris yang umum
digunakan. Kita tidak perlu lagi menghapalkan sintak-sintaks maupun format-
format bahasa yang bermacam-macam, di dalam Visual Studio semuanya sudah di
sediakan dalam pilihan-pilihan yang tinggal diambil sesuai dengan kebutuhan.
Selain itu, sarana pengembangannya yang bersifat visual memudahkan kita untuk
mengembangkan aplikasi berbasiskan windows.
UNIVERSITAS SUMATERA UTARA
22
Gambar 2.7 Tampilan Visual Studio
Berikut adalah beberapa point penting sejarah perkembangan Visual Studio 2010,
antara lain sebagai berikut:
a. Pertama kali di realease dengan nama Visual Basic yang dikeluarkan pada
tahun 1991, yaitu Visual Basic yang masih berbasis DOS dan untuk Windows.
b. Visual Basic 3.0 dirilis pada tahun 1993.
c. Visual Basic 4.0 dirilis pada tahun 1994 dengan dukungan untuk aplikasi 3 bit.
d. Visual Basic 6.0 dirilis pada akhir tahun 1998.
e. Visual Basic untuk selanjutnya yaitu versi .Net yang dirilis awal 2002.
f. Pada tahun 2003 Visual Studio 2003 dirilis untuk memperbaiki kinerja dari
Visual Studio 2002 dengan meluncurkan .Net Framework versi 1.1.
g. Pada tahun 2005 Microsoft mengeluarkan Visual Basic versi 8.0 atau biasa
disebut Microsoft Visual Studio 2005.
h. Pada tahun 2008 Microsoft juga mengeluarkan versi 9.0 atau biasa disebut
Microsoft Visual Studio 2008.
i. Hingga tahun 2010 Visual Studio sudah versi 10.0 atau biasa disebut Microsoft
Visual Studio 2010, dimana didalamnya sudah ditambahkan bahasa
UNIVERSITAS SUMATERA UTARA
23
pemrograman yang baru yaitu F# yang merupakan penyempurnaan dari versi-
versi sebelumnya.
Visual Studio 2010 menggunakan platform pembuatan program yang
dinamakan developer studio, yang memiliki tampilan dan sarana yang sama
dengan Visual C++ dan Visual J ++. Dengan begitu anda dapat berimigrasi
atau belajar bahasa pemrograman lainnya dengan mudah dan cepat. Visual
Studio 2010 ini juga memiliki compiler handal yang dapat menghasilkan file
executable yang lebih cepat dan lebih efisien. Software ini juga memiliki
beberapa tambahan wizard yang baru. Wizard adalah sarana yang
mempermudah di dalam pembuatan aplikasi dengan mengotomisasi tugas-
tugas tertentu. Visual Studio 2010 mempunyai beberapa fitur untuk
pengembangan berbagai macam aplikasi yang diantaranya; Windows
Development, Web Development, Office Development, Sharepoint
Development, Cloud Development (Windows Azure), Silverlight Tooling,
Multi-Core Development, Customizable IDE.
2.3 Flowchart
Flowchart atau diagram alir adalah sebuah jenis diagram yang mewakili
algoritme, alir kerja atau proses, yang menampilkan langkah-langkah dalam
bentuk simbol-simbol grafis, dan urutannya dihubungkan dengan panah.Flowchart
juga merupakan bagan (chart) yang menunjukkan alir (flow) di dalam program
atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama
untuk alat bantu komunikasi dan untuk dokumentasi. Ada beberapa jenis
flowchart diantaranya:
UNIVERSITAS SUMATERA UTARA
24
1. Bagan alir sistem (systems flowchart).
2. Bagan alir dokumen (document flowchart).
3. Bagan alir skematik (schematic flowchart).
4. Bagan alir program (program flowchart).
5. Bagan alir proses (process flowchart).
Gambar 2.8 Folwchart
1. System Flowchart
System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan
dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem
menunjukkan apa yang dikerjakan di sistem.
Document Flowchart
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir
formulir (form flowchart) atau paperwork flowchart merupakan bagan alir
yang menunjukkan arus dari laporan dan formulir termasuk tembusan-
tembusannya.
UNIVERSITAS SUMATERA UTARA
25
2. Skematik Flowchart
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip
dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam
sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan
simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar
komputer dan peralatan lainnya yang digunakan. Maksud penggunaan
gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang
kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar
ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
3. Program Flowchart
Bagan alir program (program flowchart) merupakan bagan yang
menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir
program dibuat dari derivikasi bagan alir sistem.Bagan alir program dapat
terdiri dari dua macam, yaitu bagan alir logika program (program logic
flowchart) dan bagan alir program komputer terinci (detailed computer
program flowchart). Bagan alir logika program digunakan untuk
menggambarkan tiap-tiap langkah di dalam program komputer secara logika.
Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar
berikut menunjukkan bagan alir logika program. Bagan alir program
komputer terinci (detailed computer program flow-chart) digunakan untuk
menggambarkan instruksi-instruksi program komputer secara terinci. Bagan
alir ini dipersiapkan oleh pemrogram.
UNIVERSITAS SUMATERA UTARA
26
4. Process Flowchart
Bagan alir proses (process flowchart) merupakan bagan alir yang banyak
digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem
untuk menggambarkan proses dalam suatu prosedur.
5. Simbol dan Notasi Flowchart
Dipakai sebagai alat Bantu menggambarkan proses di dalam program. Dan
Dibagi menjadi tiga kelompok :
1. Simbol arah aliran
Simbol arah aliran dipakai untuk menggabungkan antara symbol yang
satu dengan symbol lainnya. Berikut adalah simbol-simbol dari arah
aliran:
Symbol Off-line Connector ( Simbol untuk keluar/masuk prosedure
atau proses dalam lembar/halaman yang lain).
Symbol Connector (Simbol yang digunakan untuk keluar/masuk
prosedur atau proses dalam lembar/halaman yang sama).
2. Simbol proses
Simbol proses menunjukkan jenis operasi pengolahan dalam suatu
prosedur. Berikut adalah simbol proses:
Symbol Process (Simbol yang menunjukkan pengolahan yang
dilakukan oleh komputer).
Symbol Manual Operation (Simbol yang menunjukkan
pengolahan yang tidak dilakukanoleh komputer).
UNIVERSITAS SUMATERA UTARA
27
Symbol Decision (Simbol untuk kondisi yang akan
menghasilkan
beberapa kemungkinan jawaban/aksi).
Symbol Predefined Process (Simbol untuk mempersiapkan
penyimpanan yang akan digunakan sebagai tempat pengolahan
di
dalam storage).
Symbol Terminal (Simbol untuk permulaan atau akhir dari
suatu
program).
Symbol Off-line Storage (Simbol yang menunjukkan bahwa data di
dalam symbol ini akan disimpan).
Symbol Manual Input (Simbol untuk pemasukan data secara
manual on-line keyboard)
Symbol Keying Operation (Simbol operasi dengan
menggunakan
mesin yang mempunyai keyboard).
3. Simbol input-output
UNIVERSITAS SUMATERA UTARA
28
Simbol ini menyatakan jenis peralatan yang digunakan sebagai media
input atau output. Berikut adalah simbol input-output.
Symbol input-output (Symbol yang menyatakan proses input
dan
output tanpa tergantung dengan jenis peralatannya).
Symbol magnetic-tape unit (Symbol yang menyatakan input
berasal
pita magnetic atau output disimpan ke pita magnetic).
Symbol punched card (Symbol yang menyatakan input berasal
dari kartu atau output ditulis ke kartu).
Symbol disk and on-line storage (Symbol untuk menyatakan
input
berasal dari disk atau output disimpan ke disk).
Symbol display (Symbol yang menyatakan peralatan output
yang
digunakan yaitu layar, plotter, printer, dan sebagainya)
Symbol dokumen (symbol yang menyatakan input berasal dari
dokumen dalam bentuk kertas atau output dicetak ke kertas).
2.3.1 Pedoman Membuat Flowchart
UNIVERSITAS SUMATERA UTARA
29
Bila seorang analis dan programmer akan membuat flowchart, ada beberapa
petunjuk yang harus diperhatikan, seperti:
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi
ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi
kata kerja
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri
dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang
sedang digambarkan tidak perlu digambarkan pada flowchart yang sama.
Simbol konektor harus digunakan dan percabangannya diletakan pada
halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak
berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.
Berikut adalah salah satu contoh dari flowchart:
2.9 Contoh Flowchart Program – Menentukan Bilangan Ganjil/Genap
UNIVERSITAS SUMATERA UTARA
BAB 3
PERANCANGAN SISTEM
3.1 Perancangan sistem
Pada saat hendak membuat sebuah sistem yang akan digunakan pada suatu
perusahaan, setiap pengembang aplikasi diharuskan membuat sebuah rancangan
dari sistem yang ingin dibuat. Rancangan ini bertujuan untuk memberi gambaran
umum dari sistem yang akan berjalan nantinya kepada setiap stakeholder.
Menurut Kamus Besar Bahas Indonesia ( KBBI ) perancangan sistem adalah
merancang atau mendesain suatu sistem yang baik, yang isinya adalah langkah-
langkah operasi dalam prosedur untuk mendukung operasi sistem.
Berikut ini terdapat pula beberapa teori mengenai pengertian perancangan
sistem. Menurut Satzinger, Jackson, dan Burd (2012:5), perancangan sistem
adalah sekumpulan aktivitas yang menggambarkan secara rinci bagaimana sistem
akan berjalan. Hal itu bertujuan untuk menghasilkan produk perangkat lunak yang
sesuai dengan kebutuhan user.
Menurut Bentley dan Whitten (2009:160) melalui buku yang berjudul
“system analysis and design for the global enterprise” juga menjelaskan bahwa
perancangan sistem adalah teknik pemecahan masalah dengan melengkapi
komponen-komponen kecil menjadi kesatuan komponen sistem kembali ke sistem
yang lengkap. Teknik ini diharapkan dapat menghasilkan sistem yang lebih baik.
UNIVERSITAS SUMATERA UTARA
31
3.2 Flowchart Program
Berikut adalah bagan alur flowchart aplikasi yang sudah dirancang.
Gambar 3.1 Flowchart Aplikasi
Dari bagan flowchart tersebut, terlihat bahwa tahap pertama yang dilakukan
adalah memilih gambar yang ingin di enkripsi. Setelah memilih gambar maka user
melakukan pengenkripsisan dengan menggunakan aplikasi. Selanjutnya hasil
enkripsi dapat di print oleh user.
UNIVERSITAS SUMATERA UTARA
32
3.3 Diagram Konteks Sistem
Diagram konteks adalah diagram yang menggambarkan sistem secara
umum. Diagram konteks juga merupakan suatu pandangan, yang mencakup
masukan-masukan dasar, sistem umum dan keluaran. Diagram ini memperlihatkan
pengalihan data di dalam sistem dan melebarkan konseptualitas sistem yang
memungkinkan. Diagram ini adalah tingkatan tertinggi dari aliran data dan hanya
memuat satu proses secara keseluruhan.Berikut adalah diagram konteks dari
aplikasi penyandian data gambar.
Gambar 3.2. Diagram Konteks Sistem
UNIVERSITAS SUMATERA UTARA
BAB 4
IMPLEMENTASI SISTEM
4.1 Hill Cipher
Pada implementasi ini gambar yang digunakan sebagai plainteks untuk
enkripsi yaitu gambar dengan nilai piksel yang berukuran 8 x 8 yang dapat dilihat
dari gambar dibawah ini.
Gambar 4.1 Plainteks gambar
Pengimplementasian metode Hill Chiper ini mengunakan nilai RGB pada gambar.
Pengambilan nilai RGB yang digunakan untuk proses enkripsi dari plainteks gambar
diatas dapat dilihat pada tabel berikut.
UNIVERSITAS SUMATERA UTARA
34
Tabel 4.1 Nilai RGB
R = 225
G = 217
B = 196
R = 229
G = 217
B = 193
R = 233
G = 212
B = 181
R = 226
G = 203
B = 161
R = 242
G = 217
B = 160
R = 241
G = 220
B = 163
R = 226
G = 212
B = 175
R = 227
G = 216
B = 188
R = 233
G = 219
B = 193
R = 233
G = 216
B = 188
R = 208
G = 185
B = 151
R = 186
G = 161
B = 121
R = 221
G = 192
B = 152
R = 199
G = 174
B = 133
R = 228
G = 209
B = 169
R = 239
G = 224
B = 185
R = 239
G = 213
B = 180
R = 222
G = 196
B = 159
R = 151
G = 124
B = 79
R = 208
G = 178
B = 144
R = 95
G = 56
B = 49
R = 101
G = 123
B = 114
R = 180
G = 148
B = 109
R = 236
G = 210
B =153
R = 241
G = 211
B = 177
R = 165
G = 133
B = 92
R = 146
G = 115
B = 58
R = 188
G = 154
B = 108
R = 126
G = 83
B = 77
R = 144
G = 103
B = 101
R = 217
G = 183
B = 146
R = 221
G = 191
B = 137
R = 202
G = 174
B = 150
R = 151
G = 122
B = 80
R = 234
G = 202
B = 125
R = 205
G = 169
B = 93
R = 148
G = 105
B = 70
R = 193
G = 155
B = 134
R = 156
G = 129
B = 102
R = 242
G = 221
B = 190
R = 250
G = 230
B = 205
R = 255
G = 234
B = 193
R = 200
G =
176
B = 104
R = 214
G = 186
B = 112
R = 219
G = 187
B = 140
R = 246
G = 217
B = 185
R = 232
G = 212
B = 187
R = 229
G = 213
B = 190
R = 237
G = 231
B = 199
R = 239
G = 234
B = 196
R = 239
G = 232
B = 186
R = 198
G = 190
B = 143
R = 208
G = 196
B = 156
R = 220
G = 196
B = 156
R = 227
G = 212
B = 183
R = 226
G = 210
B = 184
R = 228
G = 228
B = 192
R = 224
G = 225
B = 191
R = 235
G = 236
B = 204
R = 193
G = 194
B = 162
R = 193
G = 193
B = 155
R = 199
G = 195
B = 158
R = 203
G = 190
B = 158
R = 211
G = 196
B = 167
Pada piksel 1 dan piksel 2 dimasukkan ke dalam matriks orso 2 x 3 yaitu:
1
R = 225
G = 217
B = 196
2
R = 229
G = 217
B = 193
UNIVERSITAS SUMATERA UTARA
35
P =
Dengan kunci K =
Rumus enkripsi C = K . P
C =
=
=
= mod 256
Maka:
C = Perhitungan dilakukan pada piksel-piksel selanjutnya.
Hasil perhitungan dimasukkan lagi di dalam matriks hasil enkripsi hill chiper, hasil
dari perhitungan matriks dapat dilihat pada tabel berikut.
Tabel 4.2 Hasil enkripsi
R = 230
G = 122
B = 147
R = 59
G = 239
B = 77
R = 109
G = 143
B = 85
R = 153
G = 254
B = 111
R = 219
G = 100
B = 49
R = 51
G = 224
B = 10
R = 26
G = 121
B = 103
R = 95
G = 238
B = 46
R = 134
G = 146
B = 20
R = 66
G = 151
B = 139
R = 8
G = 2
B = 107
R = 157
G = 230
B = 201
R = 53
G = 147
B = 10
R = 9
G = 2
B = 239
R = 223
G = 41
B = 117
R = 52
G = 126
B = 131
R = 223
G = 41
B = 117
R = 52
G = 126
B = 131
R = 117
G = 82
B = 221
R = 62
G = 114
B =110
R = 68
G = 5
B = 68
R = 227
G = 213
B = 156
R = 144
G = 122
B = 118
R = 4
G = 66
B =215
UNIVERSITAS SUMATERA UTARA
36
Berikut adalah hasil gambar yang telah di enkripsi mengunakan metode hill chiper.
Gambar 4.2 Hasil enkripsi
4.2 Antar Muka Sistem (Interface)
Pengertian antarmuka (interface) adalah salah satu layanan yang disediakan
sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi.
Antarmuka adalah komponen sistem operasi yang bersentuhan langsung dengan
pengguna. Berikut adalah tampilan antarmuka aplikasi Penyandian Data Gambar
Menggunakan Metode Hill Chiper dengan Visual Studio 2010.
4.2.1 Tampilan Aplikasi
Pada tampilan aplikasi hanya terdapat satu form yang terdiri dari beberapa
button yang memiliki fungsi berbeda-beda.
UNIVERSITAS SUMATERA UTARA
37
Gambar 4.3 Tampilan Aplikasi
4.2.2 Tampilan Penginputan Gambar
Pada tahap pertama pengguna harus menginput poto yang akan di enkripsi
oleh sistem. Berikut adalah tampilan penginputan gambar.
UNIVERSITAS SUMATERA UTARA
38
Gambar 4.4 Tampilan penginputan gambar
4.2.3 Tampilan Enkripsi
Berikut adalah tampilan akhir dari aplikasi yang merupakan hasil dari
gambar yang ingin di enkripsi oleh pengguna.
Gambar 4.5 Tampilan enkripsi
UNIVERSITAS SUMATERA UTARA
39
Pada proses enkripsi diatas didapat hasil enkripsi file gambar yang sudah tidak dapat
terbaca lagi, maka dapat disimpulkan enkripsi hill chiper file gambar berhasil.
Proses enkripsi file gambar menggunakan metode hill chiper dilakukan dengan
merubah nilai RGB pada gambar.
4.2.4 Tampilan Print Gambar
Aplikasi ini juga menyediakan button untuk mendapatkan hasil print dara
gambar yang telah di enkripsi. Berikut adalah tampilannya.
Gambar 4.6 Tampilan print
UNIVERSITAS SUMATERA UTARA
BAB 5
PENUTUP
5.1 Kesimpulan
Berdasarkan proses perencanaan hingga implementasi sistem, maka sebagai
penutup laporan penulis mengambil beberapa kesimpulan antara lain:
1. Aplikasi penyandian data gambar menggunakan metode hill chiper dapat
menghasilkan suatu gambar yang tidak dapat di kenali seperti gambar semula.
2. Hill cipher lebih maksimal diterapkan pada file gambar true color 32bit(
variasi banyak warna) dan tidak maksimal diterapkan pada file gambar
grayscale dan blackwhite (warna tidak terlali bervariatif).
3. Setelah proses enkripsi ukuran file gambar asli sama dengan ukuran file
gambar enkripsi, tidak ada perubahan dalam ukuran pixelnya.
4. Menerapkan metode Hill Chipher dalam menyandikan data gambar adalah
dengan mengubah terlebih dahulu nilai RGB dari gambar.
5.2 Saran
Dengan selesainya pengimplementasian sistem ini, banyak saran-saran yang
masuk baik kepada penulis maupun ke pengguna, seperti berikut :
1. Besar harapan agar sistem dapat dikembangkan lagi mengingat masih banyak
kekurangan yang berada pada sistem.
UNIVERSITAS SUMATERA UTARA
41
2. Penulis meyarankan untuk meneruskan penelitian ini agar tidak berhenti sampai
saat ini saja, seperti menambahkan button deskripsi.
3. Sitem yang dibuat diharapkan dapat membantu pembaca dalam memahami
penyandian data gambar menggunakan metode hill chiper.
UNIVERSITAS SUMATERA UTARA
DAFTAR PUSTAKA
Dony, Ariyus. 2006. Belajar Ilmu Kriptografi. Yogyakarta: Penerbit Andi
Kurniadi, Adi. 2000. Pemrograman Visual Basic 6.0. Jakarta: PT. Elex Media
Komputindo
Kurniawan, Erick. 2011. CEPAT MAHIR VISUAL BASIC 2010. Jakarta: Andi
Publisher.
Kusumo, Ario Suryo. 2000. Buku Latihan Microsoft Visual Basic 6.0. Jakarta: PT.
Elex Komputindo
Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. Indonesia: SPK IT Consulting.
Rinaldi, Munir. 2008. Belajar Ilmu Kriptografi. Bandung: Penerbit Informatika
Sihombing, Poltak. 2011. Buku Pemrograman Visual Basic 6.0. Medan: USU Press
Yesputra, Rolly. Belajar Visual Basic.NET Dengan Visual Studio 2010. Kisaran:
Royal Asahan Press
https://www.researchgate.net/profile/Abdul_Hasugian/publication/318947312_IMPL
EMENTASI_ALGORITMA_HILL_CIPHER_DALAM_PENYANDIAN_DATA/lin
ks/5987643045851560584ceecc/IMPLEMENTASI-ALGORITMA-HILL-CIPHER-
DALAM-PENYANDIAN-DATA.pdf
https://www.researchgate.net/publication/318947312_IMPLEMENTASI_ALGORIT
MA_HILL_CIPHER_DALAM_PENYANDIAN_DATA
http://www.academia.edu/7651696/Algoritma_hill_chiper
http://www.ilmuskripsi.com/p/blog-page.html
http://ondigitalforensics.weebly.com/cryptography/pengertian-dan-contoh-
kriptografi-dengan-proses-enkripsi-dan-dekripsi
https://fullrw.wordpress.com/2014/12/07/cara-melihat-nilai-rgb-gambarcitra-dengan-
menggunakan-matlab/
UNIVERSITAS SUMATERA UTARA
Public Class Form1 Dim warna As Color Dim img1, img2 As Bitmap Dim r, g, b As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click img1 = PictureBox1.Image img2 = New Bitmap(img1.Width, img1.Height) For y = 0 To (PictureBox1.Height - 1) For x = 0 To (PictureBox1.Width - 1) warna = img1.GetPixel(x, y) r = (warna.R + 90) Mod 256 g = (warna.R + 150) Mod 256 b = (warna.R + 7) Mod 256 warna = Color.FromArgb(r, g, b) img2.SetPixel(x, y, warna) Next Next PictureBox2.Image = img2 End Sub Private Sub FolderBrowserDialog1_HelpRequest(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click OFDFoto.Filter = "JPG|*.jpg|Bitmap|*.bmp" OFDFoto.RestoreDirectory = True OFDFoto.ShowDialog() If OFDFoto.FileName = "" Then Exit Sub Else 'belum ada proses upload file gambar ke folder tertentu FotoTxt.Text = OFDFoto.FileName On Error Resume Next PictureBox1.ImageLocation = FotoTxt.Text End If End Sub
UNIVERSITAS SUMATERA UTARA
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click PictureBox1.Image = Nothing PictureBox2.Image = Nothing FotoTxt.Text = "" End Sub Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Me.Close() End Sub Private Sub FotoTxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FotoTxt.TextChanged End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If PrintDialog1.ShowDialog = DialogResult.OK Then PrintDocument1.Print() End If End Sub Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.DrawString(PictureBox2.Text, PictureBox2.Font, Brushes.Black, 100, 100) End Sub End Class
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA