IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

62
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

Transcript of IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

Page 1: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 2: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 3: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 4: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 5: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 6: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 7: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

iv

UNIVERSITAS SUMATERA UTARA

Page 8: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 9: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

vi

4.24. Tampilan Print Gambar 39

BAB 5. PENUTUP

5.1. Kesimpulan 40

5.2. Saran 40

DAFTAR PUSTAKA

LAMPIRAN

UNIVERSITAS SUMATERA UTARA

Page 10: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

vii

DAFTAR TABEL

Nomor Judul Halaman

Tabel

4.1. Nilai RGB 34

4.2. Hasil Enkripsi 35

UNIVERSITAS SUMATERA UTARA

Page 11: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 12: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 13: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 14: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 15: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 16: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 17: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 18: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 19: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 20: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 21: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 22: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 23: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 24: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 25: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 26: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 27: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 28: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 29: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 30: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 31: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 32: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 33: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 34: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 35: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 36: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 37: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 38: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 39: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 40: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 41: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 42: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 43: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 44: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 45: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 46: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 47: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 48: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 49: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 50: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 51: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 52: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 53: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 54: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 55: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 56: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 57: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

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

Page 58: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 59: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 60: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 61: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA

Page 62: IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DALAM ...

UNIVERSITAS SUMATERA UTARA