Anda di halaman 1dari 20

IMPLEMENTASI KODE ALGORITMA HUFFMAN PADA

TRANSFORMASI DIGRAF UNTUK MENGAMANKAN

PESAN TEKS.

Disusun untuk Memenuhi Tugas Akhir Matakuliah

Kriptografi

Oleh :

Andini Khairunnisa (NIM. 18610048)

PROGRAM STUDI MATEMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM
MALANG
2021
DAFTAR ISI
BAB 1 .................................................................................................................................... 4
PENDAHULUAN .................................................................................................................... 4
1.1 Latar Belakang ............................................................................................................ 4
1.2 Rumusan Masalah ...................................................................................................... 5
1.3 Tujuan Masalah .......................................................................................................... 5
1.4 Manfaat penelitian..................................................................................................... 5
1.5 Batasan Masalah ........................................................................................................ 5
1.6 Metodologi Penelitian................................................................................................ 6
1.7 Sistematika Penulisan ................................................................................................ 6
BAB 2 .................................................................................................................................... 7
KAJIAN TEORI ....................................................................................................................... 7
2.1 Teori Bilangan ............................................................................................................ 7
2.1.1 Bilangan Bulat ..................................................................................................... 7
2.1.2 Keterbagian ......................................................................................................... 7
2.1.3 Kongruensi .......................................................................................................... 9
2.2.1 Pengertian Kriptografi ....................................................................................... 10
2.2.2 Sejarah Kriptografi ............................................................................................ 10
2.2.3 Komponen-komponen Kriptografi .................................................................... 11
2.2.4 Kriptogrfi Klasik dan Modern ............................................................................ 13
2.2.5 Macam-macam Algoritma Kriptografi .............................................................. 13
2.3 Kode Algoritma Huffman ......................................................................................... 15
2.4 Transformasi Digraf.................................................................................................. 16
BAB 3 .................................................................................................................................. 17
PEMBAHASAN .................................................................................................................... 17
3.1 Kode ASCII(American Standard Code for Information Interchange) ....................... 17
3.2 Proses Enkripsi Kode Algoritma Huffman pada transformasi digraf ....................... 18
3.3 Proses dekripsi Kode Algoritma Huffman pada transformasi digraf ....................... 19
DAFTAR PUSTAKA .............................................................................................................. 21
BAB 1

PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi pada zaman modern ini sangat mempengaruhi
dalam berbagai aspek kehidupan. Perkembangan teknologi yang pesat dapat
memberikan banyak manfaat terutama pada bidang komunikasi . Pesatnya
teknologi memberikan kemudahan dalam berkomunikasi seperti menyampaikan
sebuah pesan yang dapat dilakukan pada berbagai media seperti pesan teks
sehingga memiliki dampak buruk yaitu pencurian data pada pihak yang tidak
bertanggung jawab saat mengirim pesan . keamanan informasi data harus
terjaga. Berbagai cara yang dapat kita lakukan dalam mengamankan sebuah
pesan yaitu dengan cara menyandikan kode-kode yang tidak dapat dipahami
oleh pihak yang tidak bertanggung jawab , metode penyandian tersebut disebut
kriptografi.
Kriptografi merupakan salah satu bidang matematika yang berkaitan untuk
menjaga keamanan data seperti informasi pada sebuah pesan rahasia dan
keaslian data.Dalam menjaga keamanan data kriptografi menyembunyikan atau
menyamarkan sebuah pesan agar tidak dapat di pahami oleh pihak yang tidak
bertanggung jawab dengan mengubah informasi tersebut menjadi sandi dengan
menggunakan kunci . Proses mengembalikan penyamaran dari hasil kriptografi
menjadi informasi yang dapat di mengerti dengan mengunakan kunci disebut
kriptoanalisis.
Kode Standar Amerika untuk pertukaran informasi atau ASCII (American
Standard Code for Information Interchange)merupakan suatu standar
internasional dalam kode huruf dan simbol. Dalam pengkodean kode ASCII
memanfaatkan 8 bit yaitu dari 0000 0000 sampai 1111 1111.
Analisa frekuensi menjadi lebih dipersulit lagi jika enkripsi terhadap
karakter tidak dilakukan satu persatu melainkan sekaligus terhadap beberapa
karakter. Jika transformasi dilakukan terhadap dua karakter sekaligus, maka
transformasi disebut transformasi digraf (digraph transformation).
Kode Algoritma Huffman merupakan algoritma yang menggunakan metode
statik, yaitu pemetaan kode yang sama. Dalam pembentukannya, kode Huffman
menerapkan konsep kode awalan (prefiks code),yaitu himpunan yang berisi
sekumpulan kode biner pada kode prefiks yang tidak menjadi awalan bagi kode
biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner
yang diberikan nilai atau label. Pada kode prefiks tiap simbol dikodekan hanya
dengan rangkaian beberapa bit,dimana simbol yang sering muncul dikodekan
dengan rangkaian bit yang pendek dan simbol yang jarang muncul dikodekan
dengan rangkaian bit yang lebih panjang.
Sehubungan dengan itu, penulis akan menerapkan kode ASCII maupun kode
Huffman untuk pesan teks agar bisa dipahami oleh pembaca. Oleh karena itu,
judul yang diangkat penulis adalah Implementasi Kode Algoritma Huffman
pada transformasi digraf untuk mengamankan pesan teks.

1.2 Rumusan Masalah


Berdasarkan Uraian Latar belakang, maka permasalahan yang akan diteliti
1. Bagaimana proses dan hasil dari enkripsi teks melalui implementasi Kode
Algoritma Huffman pada transformasi digraf?
2. Bagaimana proses dan hasil dari dekripsi teks melalui implementasi Kode
Algoritma Huffman pada transformasi digraf?

1.3 Tujuan Masalah


Berdasarkan uraian rumusan masalah, maka penelitian ini bertujuan sebagai
berikut,
1. Untuk mengetahui proses dan hasil dari enkripsi teks melalui implementasi
Kode Algoritma Huffman pada transformasi digraf.
2. Untuk mengetahui proses dan hasil dari dekripsi teks melalui implementasi
Kode Algoritma Huffman pada transformasi digraf.

1.4 Manfaat penelitian


Penulis berharap penelitian ini dapat memberikan pengetahuan tentang
konsep matematis yang melandasi Kode Algoritma Huffman pada transformasi
digraf ,sehingga mengetahui metode yang dapat digunakan untuk enkripsi dan
dekripsi pesan teks.

1.5 Batasan Masalah


Sesuai dengan judul penelitian ini , penelitian ini menunjukkan percobaan
melakukan konversi plainteks menggunakan algoritma transformasi
digraf,kemudian melanjutkan konversi dengan kode algoritma Huffman.
1.6 Metodologi Penelitian
Metode penelitian ini adalah metode kepustakaan (library research) yaitu
menggunakan metode yang menggunakan studi literatur berkaitan dengan
penelitian seperti buku, jurnal penelitian, skripsi dan laporan penelitian.
Berikut langkah-langkah sebagai berikut:

1. Mencari penelitian-penelitian berhubungan dengan kode algoritma huffman dan


transformasi digraf.
2. Menjelaskan tentang kode algoritma huffman dan transformasi digraf.
3. Memberikan contoh serta langkah-langkah enkripsi dan dekripsi kode algoritma
huffman dan transformasi digraf.
4. Mengimplementasikan kode algoritma huffman dan transformasi digraf
kedalam pesan teks.
1.7 Sistematika Penulisan
Sistematika penulisan penelitian ini terdiri dari empat bab dan masing-masing
dari bab tersebut akan dibagi ke dalam subbab dengan rumusan sebagai berikut:

BAB I Pendahuluan
Pendahuluan terdiri dari latar belakang, rumusan masalah, tujuan
penelitian, manfaat penelitian, batasan masalah, metode penelitian, dan
sistematika penulisan.

BAB II Kajian Pustaka


Kajian pustaka terdiri dari teori-teori dan konsep-konsep yang
mendukung dalam proses penelitian. Teori dan konsep tersebut meliputi
teori bilangan, konsep kriptografi, pangkalan data (data base), laman
website, dan kajian keislaman tentang pengamanan informasi.

BAB III Pembahasan


Pembahasan berisi tentang penjelasan dan penguraian secara
keseluruhan langkah-langkah yang telah disebutkan dalam metode
penelitian dan menjawab rumusan masalah.

BAB IV Penutup
Bagian penutup berisi kesimpulan hasil pembahasan dan saran yang
ingin disampaikan.
BAB 2

KAJIAN TEORI

2.1 Teori Bilangan


Secara umum, teori bilangan merupakan kajian tentang sifat-sifat bilangan
asli. Lebih spesifiknya, teori bilangan mempelajari tentang bilangan beserta
sifat-sifatnya. Sebagai salah satu cabang matematika, teori bilangan disebut
sebagai “aritmetika lanjut (advanced aritmetics)” karena berkaitan dengan
sifat-sifat bilangan asli (Muhsetyo, 1997:1). Salah satu teori yang mendasari
perhitungan dari kriptografi adalah teori bilangan, bilangan yang digunakan
adalah bilangan bulat (integer) yang nantinya bisa digunakan pada sistem
kriptografi simetris, asimetris, dan hybrid.

2.1.1 Bilangan Bulat


Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal.
Himpunan semua bilangan bulat dinyatakan dengan ℤ (Zahlen) yang diambil
dari bahasa jerman atau dinotasikan dengan I (Integer) yang diambil dari
bahasa inggris, himpunan bilangan bulat yaitu {… , −3, −2,−1, 0, 1, 2, 3,… }.
Himpunan bilangan bulat dibagi menjadi tiga, yaitu bilangan bulat positif
yaitu bilangan bulat yang lebih besar dari nol yang dinotasikan dengan ℤ+,
nol, dan bilangan bulat negatif yaitu bilangan bulat yang kurang dari nol
yang dinotasikan dengan ℤ− (Abdussakir, 2009:102).
2.1.2 Keterbagian
Kajian sifat sifat yang berkaitan dengan keterbagian (divisibility)
merupakan dasar pengembangan dari teori bilangan. Jika suatu bilangan
bulat dibagi oleh suatu bilangan bulat yang lain, maka hasilnya adalah
bilangan bula atau bukan bilangan bulat (Muhsetyo, 1997:43).

Definisi 2.1
Misalkan 𝑎, 𝑏𝜖 ℤ dengan 𝑎≠ 0. 𝑎 dikatakan membagi 𝑏, ditulis 𝑎|𝑏, jika
dan hanya jika 𝑏 = 𝑎𝑥, untuk suatu 𝑥 𝜖 ℤ (Abdussakir, 2009:114)
Teorema 2.1

Diberikan 𝑎, 𝑏, 𝑐 𝜖 ℤ
1. Jika 𝑎|𝑏 maka 𝑎|𝑏𝑥 untuk setiap bilangan bulat 𝑥
2. Jika 𝑎|𝑏 dan 𝑏|𝑐, maka 𝑎|𝑐
3. Jika 𝑎|𝑏 dan 𝑎|𝑐, maka 𝑎|(𝑏𝑥 + 𝑐𝑦) untuk setiap 𝑥, 𝑦 𝜖 ℤ
4. Jika 𝑎|𝑏 dan 𝑏|𝑎, maka 𝑎 = ±𝑏
5. Jika 𝑎|𝑏, 𝑎 > 0, dan 𝑏 > 0, maka 𝑎 ≤ 𝑏
6. Untuk setiap bilangan bulat 𝑚 ≠ 0, 𝑎|𝑏 jika dan hanya jika 𝑚𝑎|𝑚𝑏
(Abdussakir, 2009:115).

Definisi 2.2

Ditentukan 𝑥, 𝑦 𝜖 ℤ, 𝑥 dan 𝑦 keduanya tidak bersama-sama bernilai 0. 𝑎𝜖ℤ


disebut pembagi (faktor) persekutuan (common divisor, common factor) dari 𝑥
dan 𝑦 jika 𝑎|𝑥 (𝑎 membagi 𝑥) dan 𝑎|𝑦 (𝑎 membagi 𝑦). 𝑎𝜖 ℤ disebut pembagi
(faktor) persekutuan terbesar (gcd = greatest common divisor, gcf = greatest
common factor) dari 𝑥 dan 𝑦 jika 𝑎 adalah bilangan bulat positif terbesar yang
membagi 𝑥 (yaitu 𝑎|𝑥) dan membagi 𝑦 (yaitu 𝑎|𝑦).

Notasi:
𝑑 = (𝑥, 𝑦) dibaca 𝑑 adalah faktor (pembagi) persekutuan terbesar dari 𝑥
dan 𝑦𝑑 = (𝑥1,𝑥2, … . , 𝑥𝑛) dibaca 𝑑 adalah (pembagi) persekutuan terbesar
dari 𝑥1, 𝑥2, … . , 𝑥𝑛.

Perlu diperhatikan bahwa 𝑑 = (𝑎, 𝑏) didefinisikan untuk setiap pasang


bilangan bulat 𝑎, 𝑏 𝜖 ℤ, kecuali 𝑎 = 0 dan 𝑏 = 0. Demikian pula, perlu dipahami

bahwa (𝑎, 𝑏) selalu bernilai bilangan bulat positif, yaitu 𝑑 𝜖 ℤ dan 𝑑 > 0 (atau
𝑑 ≥ 1) (Muhsetyo, 1997:60-61).

Definisi 2.3
Bilangan 𝑎 dan 𝑏 dikatakan prima relatif jika (𝑎, 𝑏) = 1
Teorema 2.2
Jika 𝑐|𝑎𝑏 dan (𝑎, 𝑐) = 1, maka 𝑐|𝑏 (Abdussakir, 2009:124)
2.1.3 Kongruensi
Berbicara tentang kongruensi berarti tidak lepas dengan masalah keterbagian.
Karena membahas konsep masalah keterbagian dan sifat-sifatnya merupakan
pengkajian secara lebih mendalam menggunakan konsep kongruensi. Sehingga
kongruensi merupakan cara lain untuk mengkaji keterbagian dalam himpunan
bilangan bulat (Irawan, dkk, 2014:63).

Definisi 2.5

Diketahui 𝑎, 𝑏, 𝑚 𝜖 ℤ. 𝑎 disebut kongruen dengan 𝑏 modulo 𝑚, ditulis 𝑎 ≡ b(𝑚𝑜𝑑


𝑚), jika (𝑎 − 𝑏) habis dibagi 𝑚, yaitu 𝑚|(𝑎 − 𝑏). Sedangkan jika (𝑎 − 𝑏) tidak
habis dibagi 𝑚, yaitu 𝑚 (𝑎 − 𝑏), maka ditulis 𝑎 b (𝑚𝑜𝑑 𝑚), dibaca 𝑎 tidak
kongruen dengan 𝑏 modulo 𝑚. Karena (𝑎 − 𝑏) habis dibagi oleh 𝑚 jika dan hanya
jika (𝑎 − 𝑏) habis dibagi oleh −𝑚, maka: 𝑎 ≡ b (𝑚𝑜𝑑 𝑚) jika dan hanya jika 𝑏
≡ (𝑚𝑜𝑑 𝑚) (Muhsetyo, 1997:138).

Misalkan 𝑎 dan 𝑏 adalah bilangan bulat dan 𝑚 adalah bilangan bulat > 0,
maka 𝑎 ≡ (𝑚𝑜𝑑 𝑚) jika 𝑚 habis membagi 𝑎 − 𝑏 (Munir, 2012:192). Contoh:
• 17 ≡ 2 (𝑚𝑜𝑑 3) (3 habis membagi 17 − 2 = 15 → 15 ÷ 3 = 5)
𝑎 + 𝑘𝑚, yang dalam hal ini adalah sembarang 𝑘 adalah bilangan bulat.
Teorema 2.4
Andaikan 𝑎, 𝑏 dan 𝑐 adalah bilangan bulat dan 𝑚 bilangan asli, maka berlaku:

1. Refleksif 𝑎≡ 𝑎(𝑚𝑜𝑑 𝑚)
2. Simetris, jika 𝑎 ≡ 𝑏(𝑚𝑜𝑑 𝑚), maka:
𝑏 (𝑚𝑜𝑑 𝑚) dan (𝑎 − 𝑏) 𝑚𝑜𝑑 𝑚) adalah pernyataan yang
ekuivalen
3. Transitif, jika 𝑎 ≡ 𝑏 (𝑚𝑜𝑑 𝑚) dan 𝑏≡ 𝑐(𝑚𝑜𝑑 𝑚) maka 𝑎≡ 𝑐 (𝑚𝑜𝑑 𝑚)
(Irawan, dkk, 2014:64-65).
Teorema 2.5
Jika 𝑎 ≡ b (𝑚𝑜𝑑 𝑚), maka (𝑎 + 𝑐)≡ (𝑏 + 𝑐) (𝑚𝑜𝑑 𝑚) (Irawan, dkk, 2014:65)
Teorema 2.6
Jika 𝑎≡ b (𝑚𝑜𝑑 𝑚), maka )(𝑎 ≡ 𝑏) (𝑚𝑜𝑑 𝑚)(Irawan, dkk, 2014:65).
Teorema 2.7
Andaikan 𝑎, 𝑏, 𝑐, 𝑑,dan 𝑚 bilangan asli. Jika 𝑎≡ 𝑏 (𝑚𝑜𝑑 𝑚) dan 𝑐≡ 𝑑(𝑚𝑜𝑑
𝑚), maka 𝑎𝑐 ≡ 𝑏𝑑(𝑚𝑜𝑑 𝑚) (Irawan, dkk, 2014:67).

Teorema 2.8
Jika 𝑎 ≡ 𝑏(𝑚𝑜𝑑 𝑚), maka 𝑎𝑛 ≡ 𝑏𝑛 (𝑚𝑜𝑑 𝑚) untuk 𝑛 bilangan bulat positif
(Irawan, dkk, 2014:68).

2.2 Kriptografi
2.2.1 Pengertian Kriptografi
Kriptografi berasal dari bahasa Yunani, crypto dan graphein. Crypto berarti secret
(rahasia) dan graphein berarti writing (tulisan). Menurut terminologinya, Kriptografi
adalah ilmu yang mempelajari tentang bagaimana cara menjaga keamanan pesan saat
dikirimkan dari suatu tempat ke tempat lain (Ariyus, 2006).

Kriptografi juga dapat disebut dengan ilmu yang mempelajari teknik- teknik
matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan
data, keabsahan data, integritas data, serta autentikasi data. Sebuah pesan rahasia harus
terjaga keamanannya, salah satu cara yaitu penyandian pesan dengan kunci, yang
bertujuan untuk menyembunyikan pesan dari orang-orang yang tidak ditujukan
pesan tersebut kepadanya (Munir, 2006:3).

2.2.2 Sejarah Kriptografi

Kriptografi memiliki sejarah yang sangat menarik dan panjang. Kriptografi


sudah digunakan 4000 tahun yang lalu dan diperkenalkan oleh orang- orang Mesir
untuk mengirim pesan ke pasukan militer yang berada di lapangan. Dengan demikian
pesan tersebut tidak bisa terbaca oleh pihak musuh walaupun kurir pembawa pesan
tersebut tertangkap oleh musuh (Ariyus, 2006a:77).

Saat ini dengan lahirnya teknologi komputer yang terus berkembang maka metode
kriptografi pun juga terus berkembang dan semakin beragam. Keberagaman ini
terlihat dari algoritma-lagoritma yang digunakan dalam menuangkan konsep
kriptografi. Konsep dasar dari kriptografi adalah mengubah dari teks biasa (plaintext)
menjadi teks kode (ciphertext) kemudian diubah lagi menjadi teks biasa (plaintext) agar
dapat dibaca oleh penerima pesan. Proses pengubahan dari plaintext menjadi ciphertext
disebut proses enkripsi (encryption), sedangkan proses menngubah kembali dari
ciphertext menjadi plaintext disebut proses dekripsi (decryption) (Ariyus, 2006: 78).

Bahkan di dalam perkembangannya, kriptografi juga digunakan untuk


mengidentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian
pesan dengan sidik jari digital (fingerprint) (Ariyus, 2006a:77).

2.2.3 Komponen-komponen Kriptografi


Menurut (Ariyus, 2008: 10) terdapat beberapa komponen dalam kriptografi yaitu:

1. Enkripsi
Enkripsi adalah pesan asli (plaintext) yang diubah dengan algoritma tertentu
sehingga menjadi kode-kode yang tidak dimengerti (ciphertext). Enkripsi merupakan
hal yang sangat penting dalam kriptografi.

2. Deskripsi
Dekripsi merupakan kebalikan dari enkripsi yaitu pesan yang telah dienkripsi
dikembalikan ke bentuk asalnya. Algoritma yang digunakan untuk dekripsi tentu
berbeda dengan yang digunakan untuk enkripsi.

3. Kunci
Kunci adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi.
Kunci terbagi menjadi dua yaitu kunci rahasia (private key) dan kunci umum (public
key).

4. Ciphertext
Ciphertext merupakan suatu pesan yang telah melalui proses enkripsi. Pesan
yang ada pada teks kode ini tidak bisa dibaca karena berupa karakter-karakter yang
tidak mempunyai arti (makna).
Ciphertext adalah pesan Jenis-jenis enkripsi sebagai berikut :
1. Public Key(Kunci Asimetris)
Kunci asimetris atau yang lebih dikenal dengan public key merupakan enkripsi
yang menggunakan 2 jenis kunci yang berbeda, yaitu public key dan private key.
Public key bisa dibagi dengan semua orang.Sedangkan private key harus
dirahasiakan.Public key yang paling banyak digunakan adalah RSA (Rivest-
Shamir-Adleman).
2. Private Key(Kunci Simetris)
Kunci simetris atau yang lebih dikenal dengan private key ini melakukan enkripsi
dan dekripsi dengan menggunakan kunci yang sama pada pengirim dan
penerima.Private key yang paling banyak digunakan adalah AES(Advanced
Encryption Standard).

5. Plaintext
Plaintext sering disebut dengan teks biasa atau pesan asli ini merupakan
sebuah pesan yang diketik dengan memiliki makna.
6. Pesan.
Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran
komunikasi data, dan sebagainya) atau yang disimpan di dalam media
perekam (kertas, storage, dan sebagainya).

7. Cryptanalysis
Cryptanalysis bisa diartikan sebagai analisis kode atau suatu ilmu untuk
mendapatkan pesan asli tanpa harus mengetahui kunci yang sah secara wajar.
2.2.4 Kriptogrfi Klasik dan Modern
1. Kriptografi Klasik
Kriptografi Klasik merupakan algoritma yang menggunakan satu kunci untuk
mengamankan data. Teknik ini merupakan teknik klasik dan sudah digunakan
beberapa abad yang lalu, dua teknik dasar yang biasa digunakan yaitu:

a. Teknik Substitusi: Penggantian setiap karakter teks biasa (plaintext) dengan


karakter lain.
b. Teknik Transposisi: yaitu teknik yang menggunakan permutasi karakter (Ariyus,
2006:16).
2. Kriptografi Modern
Kriptografi modern merupakan suatau algoritma yang digunakan pada zaman
sekarang ini, yang mana kriptografi modern mempunyai kerumitan yang
sangat komplek, karena dalam menjalankannya memerlukan bantuan komputer
(Ariyus, 2006: 16).

2.2.5 Macam-macam Algoritma Kriptografi


Menurut (Ariyus, 2008:108) terdapat tiga macam algoritma pada kriptografi
modern yaitu:

1. Algoritma Simetris
Algoritma Simetris adalah algoritma yang menggunakan kunci yang
sama untuk enkripsi dan dekripsinya. Lebih jelasnya perhatikan pada gambar
2.1 berikut:

Enkripsi Dekripsi

Key Key

Gambar 2. 1 Algoritma Simetris


2. Algoritma Asimetris
Algoritma Asimetris adalah algoritma yang menggunakan kunci yang berbeda
untuk enkripsi dan dekripsinya, untuk enkripsi disebut kunci umum (public
key) dan untuk dekripsi disebut kunci rahasia (private key). Contoh algoritma
asimetris yang terkenal yaitu algoritma RSA (merupakan singkatan dari nama
penemunya, yakni Revest, Shamir dan Adleman).

Plaintext Ciphertext Plaintext

Public key Private key

Gambar 2. 2 Algoritma Asimetris


3. Algoritma Hybrid
Algoritma hybrid adalah algoritma yang menggunakan kunci ganda serta
enkripsi dan dekripsinya yaitu memakai kunci rahasia (simetris) disebut kunci
sesi dan kunci asimetris untuk pemberian tanda tangan digital untuk melindungi
kunci simetris. Seperti gambar berikut ini:
Plaintext Ciphertext Plaintext
Enkripsi Dekripsi
simetris simetris

key key

Enkripsi Cipherkey Dekripsi


asimetris asimetris

Public key Private key

Gambar 2. 3 Algoritma Hybrid


2.3 Kode Algoritma Huffman
Kode Huffman dibuat pertama kali oleh Prof.David A.Huffman (1925-1999) pada
tahun 1952 sebagai disertasi Ph.D dengan publikasi berjudul A menthod for the
Contruction of Minimum-Pedundancy Codes.
Algoritma Huffman merupakan algoritma yang menggunakan metode statik, yaitu
pemetaan kode yang sama. Dalam pembentukannya, kode Huffman menerapkan
konsep kode awalan (prefiks code),yaitu himpunan yang berisi sekumpulan kode
biner pada kode prefiks yang tidak menjadi awalan bagi kode biner yang lain. Kode
prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau
label. Pada kode prefiks tiap simbol dikodekan hanya dengan rangkaian beberapa
bit,dimana simbol yang sering muncul dikodekan dengan rangkaian bit yang pendek
dan simbol yang jarang muncul dikodekan dengan rangkaian bit yang lebih panjang.
2.4 Transformasi Digraf
Transformasi digraph menggunakan transformasi terhadap dua karakter
sekaligus.Algoritma yang digunakan dalam proses enkripsi teks pada transformasi
digraph adalah :
𝐶 ≡ 𝑎𝑃 + 𝑏(𝑚𝑜𝑑 𝑁 2 )
Dimana nilai P = xN + y . Berikut adalah keterangan penggunaan simbol pada
algoritma di atas :
x :nilai numerik dari huruf pertama
y :nilai numerik dari huruf kedua.
N :jumlah dari huruf alphabet
a : bilangan yang relative prima dengan 𝑁 2
b : sebarang bilangan acak

untuk proses dekripsi teks, menggunakan algoritma berikut :


𝑃 ≡ 𝑎′𝐶 + 𝑏′(𝑚𝑜𝑑 𝑁 2 )
Dimana :

𝐶 = 𝑥′𝑁 + 𝑦′

𝑎′ = 𝑎 −1 (𝑚𝑜𝑑 𝑁 2 )

𝑏 ′ = −𝑎−1 𝑏(𝑚𝑜𝑑 𝑁 2 )
BAB 3

PEMBAHASAN

3.1 Kode ASCII(American Standard Code for Information Interchange)


Kode Standar Amerika untuk pertukaran informasi atau ASCII (American Standard
Code for Information Interchange)merupakan suatu standar internasional dalam kode
huruf dan simbol. Dalam pengkodean kode ASCII memanfaatkan 8 bit yaitu dari 0000
0000 sampai 1111 1111. Berikut ini karakter alphabet dalam kode ASCII pada table 1,
Karakter Kode Karakter Kode ASCII
ASCII
A 65 N 78
B 66 O 79
C 67 P 80
D 68 Q 81
E 69 R 82
F 70 S 83
G 71 T 84
H 72 U 85
I 73 V 86
J 74 W 87
K 75 X 88
L 76 Y 89
M 77 Z 90

Berikut ini karakter angka dalam kode ASCII pada table 2,

Karakter Kode ASCII Karakter Kode ASCII


0 48 5 53
1 49 6 54
2 50 7 55
3 51 8 56
4 52 9 57

Kode ASCII di atas akan dirubah menjadi 2 bit menggunakan kode Huffman.Prinsip
kode Huffman adalah karakter yang paling sering muncul di dalam data dikodekan dengan
kode yang lebih pendek,sedangkan karakter yang jarang muncul dikodekan dengan kode
yang lebih panjang.

3.2 Proses Enkripsi Kode Algoritma Huffman pada transformasi digraf


Proses enkripsi pada pesan dengan menggunakan kode algoritma huffman dengan
langkah- langkah sebagai berikut:
Plainteks : 𝐻𝐸𝐿𝑃 𝑀𝐸 → 𝐻𝐸 𝐿𝑃 𝑀𝐸

A B C D E F G H I J K L M N O P Q R S T U V W X
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

𝑁 2 = 262 = 676

𝑎 = 451, 𝑏 = 60

𝑃 = 𝑥𝑁 + 𝑦 , 𝑁 = 26

➢ 𝑃1 (𝐻𝐸) = 7 × 26 + 4 =186
➢ 𝑃2 (𝐿𝑃) = 11 × 26 + 15 =301
➢ 𝑃3 (𝑀𝐸) = 12 × 26 + 4 = 316

𝐶 ≡ 𝑎𝑃 + 𝑏(𝑚𝑜𝑑 𝑁 2 )
➢ 𝐶1 (𝐵𝐸) = 451 × 186 + 60 = 83946 ≡ 122 𝑚𝑜𝑑 676 → 122 = 4 × 26 +
18 → (𝐸𝑆)
➢ 𝐶2 (𝑅𝐷) = 451 × 301 + 60 = 135811 ≡ 611 𝑚𝑜𝑑 676 → 611 = 23 × 26 +
13 → (𝑋𝑁)
➢ 𝐶3 (𝑂𝐴) = 451 × 316 + 60 = 142576 ≡ 616 𝑚𝑜𝑑 676 → 616 = 23 × 26 +
18 → (𝑋𝑆)
Diperoleh cipherteks pertama yaitu ESXNXS

Selanjutnya proses enkripsi menggunakan Kode Algoritma huffman


cipherteks pertama yaitu ESXNXS maka dibuat tabel frekuensi,
E N X S
1 1 2 2

Sehingga dari tabel frekuensi kita dapat peroleh pohon huffman sebagai berikut,

ENSX(6)

EN(2) SX(4)

E(1) N(1) S(2) X(2)

Tabel Kode Huffman


E S X N X S
00 10 11 01 11 10
Berdasarkan tabel diatas, maka “ESXNXS” dapat kita kodekan menjadi seperti
berikut :
001011011110
Data hasil kompresi berukuran 12 bit = 1 byte(1 byte= 8 bit)
Dengan demikian , kita telah menghemat sebanyak 11 byte (8%)

3.3 Proses dekripsi Kode Algoritma Huffman pada transformasi digraf


Cipherteks : ESXNXS
𝑃 ≡ 𝑎−1 𝐶 − 𝑎−1 𝑏(𝑚𝑜𝑑 𝑁 2 )
𝑎−1 = 3 𝑘𝑎𝑟𝑒𝑛𝑎 𝑎−1 = 3 𝑥 451 = 1353 ≡ 1 𝑚𝑜𝑑 676
𝑎−1 𝑏 = 3 𝑥 60 = 180
• 𝑃1 (𝐸𝑆) = 3𝑥122 − 180 = 186 𝑚𝑜𝑑 676
• 𝑃2 (𝑋𝑁) = 3𝑥611 − 180 = 1653 ≡ 301 𝑚𝑜𝑑 676
• 𝑃3 (𝑋𝑆) = 3𝑥616 − 180 = 1658 ≡ 316 𝑚𝑜𝑑 676
✓ 𝑃1 (𝐸𝑆) = 186 = 7 𝑥 26 + 4 → HE
✓ 𝑃2 (𝑋𝑁) = 301 = 11 𝑥 26 + 15 → LP
✓ 𝑃3 (𝑋𝑆) = 316 = 12 𝑥 26 + 4 → ME

Plainteks : HELP ME

Selanjutnya proses enkripsi menggunakan Kode Algoritma huffman


plainteks pertama yaitu HELP ME maka dibuat tabel frekuensi,
H E L P M
1 2 1 1 1
Sehingga dari tabel frekuensi kita dapat peroleh pohon huffman sebagai berikut,

MHELP(4)

MH(2) ELP(4)

E(2) LP(2)
M(1) H(1)

L(1) P(1)

Tabel Kode Huffman


H E L P M E
01 10 110 111 00 10
Berdasarkan tabel diatas, maka “HELP ME” dapat kita kodekan menjadi seperti
01101101110010
Data hasil kompresi berukuran 14 bit = 1 byte(1 byte= 8 bit)
Dengan demikian , kita telah menghemat sebanyak 13 byte (7%)
Berdasarkan penjelasan diatas dapat kita ketahui bahwa transformasi digraf telah
terenskripsi lalu menerapkan kode algoritma huffman untuk mengetahui data hasil
kompresi yang terenkripsi lalu sebaliknya nantinya akan di deskripsikan
transformasi digraf , menerapkan kode algoritma huffman untuk mengetahui data
hasil kompresi yang terdeskripsi.
DAFTAR PUSTAKA
kromodimoeljo, S. (2010). teori dan aplikasi kriptografi. bandung: SPK IT Consulting.

Munir, R. (2016). Matematikav Diskrit. Bandung: Program Studi Teknik Informtika ITB.

shofwan ali fauji, m. s. (2018). penerapan kode huffman pada algoritma RSA untuk
menyandkan password email. jurnal UJMC, 41-49.

Anda mungkin juga menyukai