• Tidak ada hasil yang ditemukan

Sistem Kriptografi Hybrid (Hill Cipher Dan Knapsack) Pada Pengmanan File

N/A
N/A
Protected

Academic year: 2016

Membagikan "Sistem Kriptografi Hybrid (Hill Cipher Dan Knapsack) Pada Pengmanan File"

Copied!
171
0
0

Teks penuh

(1)

SISTEM KRIPTOGRAFI

HYBRID

(

HILL CIPHER

DAN

KNAPSACK

) PADA PENGAMANAN

FILE

SKRIPSI

MARLINA SIHOMBING

091401034

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

SISTEM KRIPTOGRAFI

HYBRID

(

HILL CIPHER

DAN

KNAPSACK

) PADA PENGAMANAN

FILE

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

MARLINA SIHOMBING

091401034

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : SISTEM KRIPTOGRAFI HYBRID (HILL CIPHER

DAN KNAPSACK) PADA PENGMANAN FILE

Kstegori : SKRIPSI

Nama : MARLINA SIHOMBING

Nomor Induk Mahasiswa : 091401034

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di

Medan, 29 April 2014 Komisi Pembimbing

Pembimbing 2 Pembimbing 1

Handrizal, S.Si, M.Comp.Sc Maya Silvi Lydia, B.Sc, M.Sc

NIP. - NIP. 197401272002122001

Diketehaui / Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,

(4)

NIP. 196203171991031001

PERNYATAAN

SISTEM KRIPTOGRAFI

HYBRID

(

HILL CIPHER

DAN

KNAPSACK

) PADA PENGMANAN

FILE

SKRIPSI

Saya mengaku bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 29 April 2014

(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa karena segala berkat dan anugerahNya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada :

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Ap.A(k)

selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis, M.Kom, selaku Dekan Fakultas Ilmu

Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu

Komputer Universitas Sumatera Utara dan Dosen Penguji.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu

Komputer Universitas Sumatera Utara dan Dosen Pembimbing.

5. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Sumatera Utara, semua dosen, dan pegawai pada Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

6. Bapak Handrizal, S.Si, M.Comp.Sc, selaku Dosen Pembimbing.

7. Amer Sharif, S.Si, M.Kom, selaku Dosen Penguji.

8. Bapak Saya Togar Sihombing, Ibu saya Lamria Manurung, Abang Saya

Marojahan Sihombing, Adik saya Marthasari Sihombing, Mariani Sihombing, dan Martua Sihombing yang selalu memberikan cinta kasihnya dan dukungannya baik material, spiritual serta kerabat saya terkhusus untuk Bang Briando Silitonga S.Sn, Bang Wira Kurniawan Sihombing S.Kom dan Melati Sinaga Am.Keb, yang berjasa memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini.

9. Rekan-rekan kuliah, khususnya Ales Sanro Sotardodo Panjaitan S.Kom,

Disahayanti S.Kom, Fransiska Angelia Sebayang S.Kom, Wella Reynanda S.Kom, Juni Santo Sihotang S.kom, Jakub Ginting, satu KTB saya Uly, Helen, dan Andre, PKK saya Kak Debora Nainggolan, S.Kom, Kak Maria Sinaga S.Kom, teman-teman di Klinik TI dan di berdikari 88 Lilis yang selalu memberikan semangat dan dorongan kepada penulis.

Semoga Tuhan memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelsesaikan skripsi ini.

Medan, 29 April 2014

(6)

ABSTRAK

Berkembangnya kemajuan sistem informasi yang sangat cepat, banyak aspek-aspek negatif yang timbul karena sebagian besar pengguna komputer menggunakan sistem informasi berbasis komputer khususnya informasi yang dikirim atau diperoleh melalui internet. Aspek yang diperoleh berupa penyadapan informasi penting yang dilakukan oleh orang yang tidak berhak (penyadap). Sehingga masalah yang diangkat pada skripsi ini adalah pengamanan informasi pada suatu file dan kunci. Informasi yang terdapat pada file perlu diamankan supaya tidak dirusak ataupun dimodifikasi oleh penyadap. Salah satu teknik yang

digunakan untuk menjaga keamanan file adalah kriptografi. Adapun metode

kriptografi yang digunakan penulis adalah kriptografi hibrida yaitu metode kriptografi yang mengkombinasikan dua algoritma simetris dan asimetris. Algoritma yang digunakan adalah algoritma Hill Cipher dan Knapsack. Algoritma

Hill Cipher memiliki kunci simetris (session key) berbentuk matriks 2x2

digunakan untuk mengamankan file. Sebuah matriks yang digunakan harus

memiliki matriks identitas jika kunci matriks dikalikan dengan invers kunci

matriks, kunci invers akan digunakan untuk dekripsi file. Algoritma Knapsack memiliki kunci asimetris (kunci privat dan kunci publik) digunakan untuk

mengamankan session key. Kunci publik digunakan untuk mengenkripsi session

key dan kunci privat digunakan untuk mendekripsi cipherkey (session key yang terenkripsi). Implementasi sistem menggunakan perangkat lunak Visual C# pada Microsoft Visual Studio 2010. Hasil dari sistem ini berupa file yang terenkripsi

(cipherfile) dan session key yang terenkripsi (cipherkey) yang tidak bisa

dimengerti atau bahkan tidak bisa dibuka oleh penyadap.

(7)

CRYPTOGRAPHY HYBRID SYSTEM (HILL CIPHER AND KNAPSACK) FOR FILE SECURITY

ABSTRACT

Development of a information system progress very quickly, many negative aspects that arise because the majority of computer users use the computer-based information systems, particularly the information sent or retrieved over the internet. Aspects of the obtained in the form of tapping vital information which is done by a person not entitled (eavesdroppers). Thus, the issues raised in this paper is securing of information a file and key. The information contained in the files need to be secured so that it is not tampered with or modified by eavesdropper. One technique used to maintain security files is cryptography. As for the cryptographic methods used by the author is a hybrid cryptographic method that combines two cryptographic algorithms symmetric and asymmetric. The algorithm that used is Hill Cipher and Knapsack algorithm. Hill Cipher algorithms have key symmetric (session key) 2x2 matrix is used to secure files. A matrix that is used must have an identity matrix if the matrix is multiplied by the inverse key keys matrix. The inverse matrix that will be used to decrypt the file . the Knapsack algorithm has key asymmetric (public key and private key) is used to secure session key. The public key is used to encrypt the session key and the private key is used to decrypt cipherkey (the encrypted key). Implementation of a software system using Visual C # on the Microsoft Visual Studio 2010. The results of this system in the form of encrypted files (cipherfile) and encrypted session key (cipherkey) that can not be understood or even can not be opened by eavesdropper.

Keyword : Cryptography, Cryptography Hybrid, Hill Cipher, Knapsack, Session

(8)

DAFTAR ISI

2.1.1 Istilah dalam Kriptografi 5

2.1.2 Tujuan Kriptografi 8

2.2Jenis Algoritma Kriptografi 9

2.2.1 Algoritma Kriptografi Simetri (Konvensional) 9

2.2.2 Algoritma Kriptografi Asimetri (Publik) 10

2.2.3 Algoritma Kriptografi Hibrida (Hybrid) 11

2.3Landasan Matematika Kriptografi 13

2.3.1 Definisi Matriks 13

2.3.2 Jenis Matriks 14

2.3.2.1 Matriks Persegi ( Bujur Sangkar ) 14

2.3.2.2 Matriks Satuan (Identitas) 14

2.3.3 Operasi Pada Matriks 14

2.3.3.1 Penjumlahan Matriks 14

2.3.3.2 Perkalian matriks 15

i) Perkalian Matriks dengan Bilangan Skalar 15

(9)

2.3.5 Relatif Prima 19

2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem

Kriptografi Merkle-Hellman 23

2.5.2.1 Penggunaan Arimatika Modulo Dan Relatif Prima Pada Pembangkitan Kunci Merkle-

Hellman 23

2.5.2.2 Penggunaan Balikan Modulo Pada Enkripsi

dan Dekripsi Knapsack 24

3.1.2 Analisis Persyaratan 30

3.1.2.1 Persyaratan Fungsional 31

3.1.2.2 Persyaratan Nonfungsional 31

3.1.3 Analisis Proses 32

3.2 Pemodelan Sistem 38

3.2.1 Perancangan Unified Modelling Language (UML) 39

3.2.1.1 Use Case Diagram 39

3.2.1.2 Activity Diagram 43

3.2.1.3 Sequence Diagram 46

3.3 Perancangan Sistem 48

3.3.1 Perancangan Flowchart 48

3.3.1.1 Flowchart Proses Pembangkitan Kunci

Matriks Hill Cipher (Kunci Privat) 50

3.3.1.2 Flowchart Proses Enkripsi File dengan

Kunci Hill Cipher 52

3.3.1.3 Flowchart Proses Pembangkitan Kunci

Knapsack (Kunci Privat dan Kunci Publik) 53

3.3.1.4 Flowchart Proses Enkripsi Kunci Hill Cipher

dengan Kunci Publik Knapsack 54

(10)

Privat Knapsack 55 3.3.1.6 Flowchart Dekripsi Cipherfile dengan Kunci

Hill Cipher 56

3.3.2.5 Rancangan Interface Form Tentang

Programmer 65

4.2.1 Proses Enkripsi File dan Enkripsi Kunci Kriptografi 75

4.2.1.1Proses Enkripsi File 75

4.2.1.2 Proses Enkripsi Kunci Kriptografi 90

i) Proses Enkripsi Kunci Dengan Barisan

Superincrreasing 2 91

ii) Proses Enkripsi Kunci Dengan Barisan

Superincrreasing 4 93

iii) Proses Enkripsi Kunci Dengan Barisan

Superincrreasing 8 94

iv) Proses Enkripsi Kunci Dengan Barisan

Superincrreasing 16 96

4.2.2 Proses Dekripsi Cipherkey dan Enkripsi Cipherfile 98

4.2.2.1 Proses Dekripsi Cipherkey 98

(11)

Superincrasing 2 98 ii) Proses Dekripsi Cipherkey Dengan Barisan

Superincrasing 4 99

iii) Proses Dekripsi Cipherkey Dengan Barisan

Superincrasing 8 100

iv) Proses Dekripsi Cipherkey Dengan

Barisan Superincrasing 16 101

4.2.2.2 Proses Dekripsi Cipherfile 102

i) Proses Dekripsi Cipherfile Format TXT

(.txt) 102

ii) Proses Dekripsi Cipherfile Format DOCX

(.docx) 104

iii) Proses Dekripsi Cipherfile Format HTM

(.htm) 105

iv) Proses Dekripsi Cipherfile Format JPEG

(.jpeg) 107

v) Proses Dekripsi Cipherfile Format MP3

(.mp3) 108

vi) Proses Dekripsi Cipherfile Format MP4

(.mp4) 109

4.3 Tabel Hasil Pengujian 111

4.4 Grafik Hasil Pengujian 113

Bab V Kesimpulan dan saran 119

5.1 Kesimpulan 119

5.2 Saran 120

Daftar Pustaka 121

Listing Program A-1

Lampiran Tabel ASCII B-1

(12)

DAFTAR TABEL

No Nama Tabel Hal

3.1 3.2 4.1 4.2

Skenario Use Case Enkripsi Skenario Use Case Dekripsi

Tabel Pengujian Enkripsi dan Dekripsi File Tabel Pengujian Enkripsi dan Dekripsi Kunci

(13)

DAFTAR GAMBAR

Ishikawa Diagram untuk Analisis Permasalahan Sistem

Use Case Diagram Sistem

Activity Diagram Pengamanan/Enkripsi File dan kunci Activity Diagram Dekripsi Cipherfile dan Cipherkey

Sequence Diagram Sistem

Flowchart Aplikasi

Flowchart Pembangkitan Kunci Hill Cipher 2x2

Flowchart Enkripsi File Dengan Kunci Hill Cipher

Flowchart Pembangkitan Kunci Knapsack

Flowchart Enkripsi Kunci Hill Cipher Dengan Menggunakan

Kunci Publik Knapsack

Flowchart Dekripsi Cipherkey Dengan Menggunakan Kunci

Privat Knapsack

Flowchart Dekripsi Cipherfile Dengan Menggunakan Kunci

Asli (Kunci Hill Cipher)

Rancangan Interface Form Utama

Rancangan Interface Form Enkripsi Rancangan Interface Form Dekripsi

Rancangan Interface Form Bantuan Menggunakan Aplikasi

Rancangan Interface Form Bantuan Tentang Programmer

Form Menu Utama

Form Enkripsi File dan Kunci

Form Dekripsi Cipherkey dan Cipherfile

Form Bantuan Menggunakan Aplikasi

Form Bantuan Tentang Programmer

Proses Pemilihan File

File Format TXT

Proses Enkripsi File Format TXT Hasil Enkripsi File TXT

File Format DOCX

Proses Enkripsi File Format DOCX Hasil Enkripsi File Format DOCX

File Format HTM

Proses Enkripsi File Format HTM Hasil Enkripsi File Format HTM File Format JPEG

Proses Enkripsi File Format JPEG

(14)

4.18

Hasil Enkripsi File Format JPEG

File Format MP3

Proses Enkripsi File Format MP3 Hasil Enkripsi File Format MP3

File Format MP4

Proses Enkripsi File Format MP4 Hasil Enkripsi File Format MP4 Enkripsi File dan Kunci

Proses Enkripsi Kunci Dengan Banyak Barisan w = 2 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 2 Proses Enkripsi Kunci Dengan Banyak Barisan w = 4 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 4 Proses Enkripsi Kunci Dengan Banyak Barisan w = 8 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 8 Proses Enkripsi Kunci Dengan Banyak Barisan w = 16 Hasil Enkripsi Kunci Dengan Banyak Barisan w = 16 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 2 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 4 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 8 Proses Dekripsi Cipherkey Dengan Banyak Barisan w = 16 Proses Dekripsi File Format TXT

Hasil Dekripsi File Format TXT Proses Dekripsi File Format DOCX Hasil Dekripsi File Format DOCX Proses Dekripsi File Format HTM Hasil Dekripsi File Format HTM Proses Dekripsi File Format JPEG Hasil Dekripsi File Format JPEG Proses Dekripsi File Format MP3 Hasil Dekripsi File Format MP3 Proses Dekripsi File Format MP4 Hasil Dekripsi File Format MP4

Grafik Hasil Pengujian File Sebelum dan Setelah Enkripsi Grafik Hasil Pengujian Lama Enkripsi dan Dekripsi File Grafik Hasil Pengujian Sebelum dan Setelah Enkripsi Kunci Grafik Hasil Pengujian Lama Enkripsi dan Dekripsi Kunci

(15)

DAFTAR LAMPIRAN

A. Listing Program A-1

B. Tabel ASCII B-1

(16)

ABSTRAK

Berkembangnya kemajuan sistem informasi yang sangat cepat, banyak aspek-aspek negatif yang timbul karena sebagian besar pengguna komputer menggunakan sistem informasi berbasis komputer khususnya informasi yang dikirim atau diperoleh melalui internet. Aspek yang diperoleh berupa penyadapan informasi penting yang dilakukan oleh orang yang tidak berhak (penyadap). Sehingga masalah yang diangkat pada skripsi ini adalah pengamanan informasi pada suatu file dan kunci. Informasi yang terdapat pada file perlu diamankan supaya tidak dirusak ataupun dimodifikasi oleh penyadap. Salah satu teknik yang

digunakan untuk menjaga keamanan file adalah kriptografi. Adapun metode

kriptografi yang digunakan penulis adalah kriptografi hibrida yaitu metode kriptografi yang mengkombinasikan dua algoritma simetris dan asimetris. Algoritma yang digunakan adalah algoritma Hill Cipher dan Knapsack. Algoritma

Hill Cipher memiliki kunci simetris (session key) berbentuk matriks 2x2

digunakan untuk mengamankan file. Sebuah matriks yang digunakan harus

memiliki matriks identitas jika kunci matriks dikalikan dengan invers kunci

matriks, kunci invers akan digunakan untuk dekripsi file. Algoritma Knapsack memiliki kunci asimetris (kunci privat dan kunci publik) digunakan untuk

mengamankan session key. Kunci publik digunakan untuk mengenkripsi session

key dan kunci privat digunakan untuk mendekripsi cipherkey (session key yang terenkripsi). Implementasi sistem menggunakan perangkat lunak Visual C# pada Microsoft Visual Studio 2010. Hasil dari sistem ini berupa file yang terenkripsi

(cipherfile) dan session key yang terenkripsi (cipherkey) yang tidak bisa

dimengerti atau bahkan tidak bisa dibuka oleh penyadap.

(17)

CRYPTOGRAPHY HYBRID SYSTEM (HILL CIPHER AND KNAPSACK) FOR FILE SECURITY

ABSTRACT

Development of a information system progress very quickly, many negative aspects that arise because the majority of computer users use the computer-based information systems, particularly the information sent or retrieved over the internet. Aspects of the obtained in the form of tapping vital information which is done by a person not entitled (eavesdroppers). Thus, the issues raised in this paper is securing of information a file and key. The information contained in the files need to be secured so that it is not tampered with or modified by eavesdropper. One technique used to maintain security files is cryptography. As for the cryptographic methods used by the author is a hybrid cryptographic method that combines two cryptographic algorithms symmetric and asymmetric. The algorithm that used is Hill Cipher and Knapsack algorithm. Hill Cipher algorithms have key symmetric (session key) 2x2 matrix is used to secure files. A matrix that is used must have an identity matrix if the matrix is multiplied by the inverse key keys matrix. The inverse matrix that will be used to decrypt the file . the Knapsack algorithm has key asymmetric (public key and private key) is used to secure session key. The public key is used to encrypt the session key and the private key is used to decrypt cipherkey (the encrypted key). Implementation of a software system using Visual C # on the Microsoft Visual Studio 2010. The results of this system in the form of encrypted files (cipherfile) and encrypted session key (cipherkey) that can not be understood or even can not be opened by eavesdropper.

Keyword : Cryptography, Cryptography Hybrid, Hill Cipher, Knapsack, Session

(18)

BAB 1 PENDAHULUAN

Pada bab ini akan dibahas mengenai gambaran umum penulisan skripsi. Pembahasan dimulai dari latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan yang dibagi menjadi beberapa bab yang akan dibahas secara garis besar diisi tiap bab.

Latar Belakang

Kemajuan sistem informasi banyak sekali memberikan keuntungan dalam dunia bisnis, selain itu juga aspek-aspek dari sisi negatif dari kemajuan sistem informasi tersebut. Sebagai pengguna komputer hampir semua aspek masyarakat menggunakan sistem informasi berbasis komputer, apalagi informasi-informasi

mudah didapatkan dengan adanya jaringan komputer seperti Local Area network

(LAN) dan internet memungkinkan menyediakan informasi secara cepat dan akurat. Biasanya pengiriman informasi melalui LAN melakukan pengiriman data tanpa pengamanan terhadap konten dari kata yang terkirim, sehingga cukup berbahaya jika sebuah informasi itu penting dan mudah disadap oleh yang berkepentingan. Oleh karena itu, diperlukan sistem keamanan data yang menggunakan metode penyandian tertentu sehingga keamanan informasi bisa terjamin.

(19)

pengggabungan antar dua algoritma yaitu algoritma kriptografi kunci simetri Hill

Cipher dan algoritma kriptografi kunci asimetri Knapsack. Sehingga keamanan

data akan lebih terjamin dan bisa saling menutupi kekurangan antar

masing-masing metode. Metode penggabungan dua algoritma ini disebut Hybrid

Cryptosystem. Pada metode ini algoritma kunci simetri digunakan untuk

mengamankan pesan atau data yang akan dikirimkan, sedangkan algoritma kunci asimetri digunakan untuk mengamankan kunci kriptografi simetri.

Berdasarkan beberapa uraian di atas, maka penulis berniat membuat skripsi dengan judul “Sistem Kriptografi Hybrid (Hill Cipher dan Knapsack) Pada Pengamanan File”.

Rumusan Masalah

Adanya kecenderungan untuk penyadapan terhadap file yang dikirim dan juga

kunci yang dapat juga disadap, maka rumusan masalah dalam penelitian ini adalah:

1. Bagaimana mengkombinasikan dua algoritma kriptografi kunci simetri dan

kunci asimetri untuk mengenkripsi dan mendekripsi file.

2. Bagaimana mengimplementasikan kombinasi algoritma Hill Cipher dengan

Knapsack ke dalam sebuah aplikasi pengamanan file.

Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah:

1. Membahas dua algoritma yaitu algoritma Knapsack dan Hill Cipher yang akan digabungkan dalam pengamanan file.

2. Menggunakan matriks 2x2 untuk algoritma Hill Cipher.

(20)

4. Bahasa pemrograman yang akan digunakan adalah Visual C# pada Microsoft

Visual Studio 2010.

Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk menghasilkan sistem kriptografi hibrida yang mengkombinasikan algoritma Hill Cipher dan Knapsack dimana Hill

Cipher mengenkripsi dan mendekripsi file sedangkan Knapsack mengenkripsi dan mendekripsi kunci Hill Cipher (session key). Sehingga, kombinasi dua algoritma tersebut dapat diimplementasikan ke dalam sebuah pengamanan file.

Manfaat Penelitian

Manfaat penulisan skripsi ini adalah supaya dihasilkan aplikasi pengamanan file dengan menerapkan kombinasi dua algoritma kriptografi sehingga dalam pengiriman dokumen tersebut melalui jaringan menjadi lebih aman sesuai dengan kebutuhan pengguna.

Sistematika Penulisan

Dalam penelitian sistem kriptografi Hybrid ini, penulis melakukan sistem

penulisan dalam lima bab, yaitu:

BAB I Pendahuluan

Berisi tentang latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitan, dan sistematika penulisan.

BAB II Landasan Teori

(21)

Cipher dan Knapsack, serta penjelasan tentang kombinasi dua algoritma yang disebut dengan Kriptografi Hybrid.

BAB III Analisis dan Perancangan

Berisi tentang analisis mengenai proses kerja dari algoritma kriptografi Hill Cipher dan Knapsack serta kombinasi dua

agoritma tersebut dan perancangan tampilan form dari

aplikasi.

BAB IV Algoritma dan Implementasi

Berisi tentang algoritma dan implementasi dari aplikasi.

BAB V Kesimpulan dan Saran

(22)

BAB II

LANDASAN TEORI

Pada bab ini akan dibahas mengenai landasan teori yang berhubungan dengan sistem yaitu mengenai Kriptografi, Jenis Algoritma Kriptografi, Landasan Matematika Kriptografi, Algoritma Hill Cipher, Algoritma Knapsack, File, dan Penelitian Terkait.

2.1 Kriptografi

Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar

aman. (cryptography is the art and science of keeping message secure. “Crypto” berarti “secret” (rahasia) dan “graphy” berarti “writing” (tulisan) (Sasangko, 2005).

Dalam hal ini kriptografi disebut dengan ilmu dan seni, karena dari sejak jaman dahulu orang-orang mempelajari dan memperdalam sistem pengamanan pesan ini, sehingga menghasilkan berbagai macam algoritma yang sudah banyak dikenal saat ini (Ariyus, 2006).

2.1.1 Istilah dalam Kriptografi

Di dalam kriptografi sering ditemukan berbagai istilah atau terminology penting yang perlu diketahui seperti beberapa istilah di bawah ini :

1. Pesan, Plainteks, dan Cipherteks

(23)

tidak hanya berupa teks, teteapi juga berbentu citra (mage), suara/bunyi (audio), atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersaindi disebut cipherteks (ciphertext) atau kriptogram (cryptogram).

2. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim

(sender) adalah entitas yang mengirim oesan kepada entitas lainnya. Penerima

(receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin computer, kartu kredit, dan sebagainya.

3. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi

(encryption). Sedangkan proses mengembalikan cipherteks menjadi plainteks

semula dinamakan dekripsi (decryption).

4. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan

dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan

dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemn-elemn plainteks dan himpunan yang berisi cipherteks. Dalam kriptografi modern, enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut. Yang dalam hal ini algoritma tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiannya. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Misalkan P menyatakan plainteks, dan C menyatakan chiperteks, maka fungsi enkripsi E memetakan P ke C, dan dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai berikut :

Ek(P) = C

Dan fungsi dekripsi D memetakan C ke P, Dk(C) = P

(24)

Dk(Ek(P)) = P

Keamanan algoritma sering kripstografi diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan cipherteks menjadi plainteksnya tanpa mengetahui kunci yang digunakan (Munir, 2006)

5. Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinakaman sistem kriptografi. Sistem kriptografi (Cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci. Di dalam sistem kriptografi, cipher hanyalah salah satu komponen saja

6. Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan

selama ditansmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-bnayknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks. Nama lain peyadap: enemi, adversary, intruder, interceptor, bad guy.

7. Kriptanalisis dan Kriptologi

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalisis. Jika seorang kriptografer

(cryptographer) mentransformasikan plainteks menjadi cipherteks dengan

suaatu algoritma dan kunci maka sebaliknya seorang kripatanalisis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptologi) adalah studi mengenai kriptografi dan kriptanalisis. Baik kriptografi dan kriptanalisis keduanya saling berkaitan (Munir, 2006).

2.1.2 Tujuan Kriptografi

Kriptografi bertujuan untuk memberi layanan keamanan (yang juga dianamakan sebagai aspek-aspek keamanan) sebagai berikut:

(25)

Kerahasiaan (confidentiality) adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks.

2. Integritas Data (Data Integrity)

Integritas Data (Data Integrity) adlaah layanan yang menjamin bahwa

pesan masih utuh atau belum pernah dimanipulasi selama pengirimin. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebaga pertanyaan : “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?”. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubtitusian data laian ke dalam pesan yang sebenarnya. Dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital. Pesan yang ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.

3. Otentikasi (authentication)

Otentikasi (authentication) adalahan layanan yang berhubungan dengan

(26)

4. Nirpenyangkalan (non-repudiation)

Nirpenyangkalan (non-repudiation) adalah layanan untk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengirim atau penerima pesan menyangkal telah menerima pesan. Sebagai conto misalkan pengirim pesan memberikan otoritas kepada penerima pesan untuk melakukan pembelian, namun kemudian ia menyangkal telah memberikan otoritas terseut. Contoh lainnya, misalkan seorang pemilik emas mengajukan tawaran kepasa took mas bahwa ia akan menjual emasnya. Tetapi, tiba-tiba harga emas turun dastis, lalu ia membantah telah mengajukan tawaran menjual emas. Dalam hal ini, pihak took emal perlu proseud nirpenyangkalan untuk membuktikan bahwa pemilik emas telah melakukan kebohongan (Munir, 2006).

2.2 Jenis Algoritma Kriptografi

Berdasarkan kunci yang digunakan untuk melakukan proses enkripsi dan dekripsi, algoritma kriptografi dibagi menjadi tiga bagian yaitu :

1. Algoritma Simetri (Konvensional)

2. Algoritma Asimetri (Kunci Publik)

3. Algoritma Kriptografi Hibirda (Hybrid)

2.2.1 Algoritma Kriptografi Simetri (Konvensional)

Kunci simetri merupakan jenis kriptografi yang paling umum dipergunakan. Kunci simetri seringan juga disebut kunci privat. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut, termasuk pihak-pihak yang tidak

(27)

Plaintext Ciphertext Plaintext

Enkripsi Dekripsi

Kunci

paling jelas disini terkadang bukanlah masalah pengiriman ciphertext, melainkan masalah bagaimana menyampaikan kunci simetri tersebut kepada pihak yang diinginkan. Aplikasi dari algoritma simetri digunakan oleh bebarapa algoritma,

seperti Data Encryption Standard (DES), Advance Encryption Standard (AES),

International Data Encryption Algoritma (IDEA), A5, RC2, RC4, RC5, RC6, dan

lain sebgainya (Ariyus, 2006)

Sketsa ataupun gambaran umum kunci simetri terdapat pada gambar 2.1 di bawah:

Gambar 2.1 Algoritma Kunci Simetri

2.2.2 Algoritma Kriptografi Asimetri (Publik)

(28)

Kunci Publik Kunci Privat

Plaintext Ciphertext Plaintext

Enkripsi Dekripsi

Sketsa ataupun gambaran umum kunci simetri terdapat pada gambar 2.2 di bawah:

Gambar 2.2 Algoritma Asimetri

2.2.3 Algoritma Kriptografi Hibrida (Hybrid)

Permasalahan yang menarik pada bidang keamanan informasi adalah adanya

tradeoff antara keamanan 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 kriptografi hibrida. Kriptografi hibrida sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetri dan kemudahan transfer kunci menggunakan algoritma asimetri. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan (Annelis, 2010)

Pada sistem kriptografi hibrida ini, enkripsi/dekripsi pesan ataupun file dilakukan menggunakan kriptografi kunci simetri, sedangkan kunci simetri dienkripsi/dekripsi menggunakan kriptografi kunci asimetri(kunci publik). Kunci simetri (yang juga disebut Session Key) dibangkitkan oleh salah satu pihak dan

mengenkripsi pesan dengan kunci tersebut. Selanjutnya Session Key dienkripsi

dengan kunci publik penerima lalu dikirim bersama-sama dengan pesan yang

sudah dienkripsi. Penerima mula-mula mendekripsi Session Key dengan kunci

(29)

Plain File

Gambar 2.3 Prinsip Kriptografi Hibrida Pada Sistem

Berdasarkan gambar 2.3 metode hibrida terdiri dari enkripsi simetri dengan satu kunci (Session Key) dan enkripsi asimetri dengan sepasang kunci (Public/Private

Key). Langkah-langkah enkripsi dekripsi pada sistem ini adalah: Langkah 1 : Pengirim mengenkripsi file dengan Session Key. Langkah 2 : Mengenkripsi Session Key dengan Public Key.

Langkah 3 : Penerima mendekripsi Session Key dengan Private Key. Langkah 4 : Mendekripsi file dengan Session Key.

Dalam penelitian ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang ditujukan untuk kalangan tertentu, terutama pemakai

hardware dengan kekuatan pemrosesan yang terbatas. Aplikasi yang ingin dicapai

adalah aplikasi yang sederhana, ringan dan cepat tanpa mengurangi tingkat keamanan. Dalam hal ini, gabungan ataupun kombinasi dua algoritma yang akan dipakai adalah algoritma Hill Cipher sebagai algoritma kriptografi kunci simetri

dan algoritma Knapsack sebagai algoritma kriptografi kunci asimetri (kunci

publik).

2.3 Landasan Matematika Kriptografi

(30)

2.3.1 Definisi Matriks

Matriks adalah himpunan skalar ( bilangan riil atau kompleks ) yang disusun secara empat persegi maupun persegi panjang menurut baris-baris dan kolom-kolom.

Skalar – skalar itu disebut elemen matriks. Untuk pembatasnya biasanya diberikan tanda [ ] atau ( ) atau || || (Nugraha, 2001)

Notasi Matriks

Sebuah matriks yang diberi variabel A memiliki elemen-elemen baris dan kolom seperti notasi berikut (Leon, 2001).

Matriks A dapat ditulis matriks A(mxn) = a(ij).

Keterangan : i = 1, 2, 3, … m j = 1, 2, 3, … n m = jumlah baris n = jumlah kolom

2.3.2 Jenis Matriks

Beberapa jenis matriks yang dipakai dalam proses pembuatan sistem dapat dilihat sebagai berikut.

2.3.2.1 Matriks Persegi ( Bujur Sangkar )

(31)

merupakan matriks 2x2, merupakan matriks 3x3

(Leon, 2001).

2.3.2.2 Matriks Satuan (Identitas)

Jika aij = 0 untuk i j dan aij = 1 untuk i=j, maka :

(Leon, 2001).

2.3.3 Operasi Pada Matriks

Berikut akan dijelaskan beberapa operasi matriks yang akan digunakan pada sistem.

2.3.3.1 Penjumlahan Matriks

Jika matriks A = (aij), matriks B = (bij), dan matriks C = (cij), maka :

...(1)

jika aij + bij = cij untuk setiap i dan j dan kedua matriks memiliki ukuran yang

sama (Leon, 2001)

Contoh penjumlahan matriks 2x2 :

2.3.3.2 Perkalian matriks

(32)

i) Perkalian Matriks dengan Bilangan Skalar

Jika α = bilangan skalar, matriks A = (aij), matriks B = (bij), maka :

...(2)

jika bij = α x aij untuk setiap i dan j (Leon, 2001).

Contoh perkalian matriks 2x2 dengan bilangan skalar :

3 x

ii) Perkalian Dua Matriks

Jika matriks A = (aij), matriks B = (bij), dan matriks C = (cij), maka :

...(3)

jika untuk setiap i dan j (Leon, 2001).

Contoh perkalian dua matriks 2x2 :

x =

2.3.3.3 Matriks Transpose

Jika matriks A = (aij), matriks B = (bij), maka :

...(4)

jika bij = aji untuk setiap i dan j (Leon, 2001).

Contoh Matriks Transpose 2x2 :

=

2.3.3.4 Determinan Matriks

Jika matriks A2x2 = , maka nilai determinan matriks adalah :

(33)

Contoh determinan matriks 2x2 :

= 2.4 – 1.3 = 5 (Leon, 2001).

Sifat Determinan :

1. Nilai determinan suatu matriks tidak berubah jika matriks tersebut

ditranspose |AT| = |A|

2. Nilai determinan akan berubah tanda bila salah satu baris atau kolom

dipertukarkan dengan baris atau kolom lain.

3. Nilai determinan akan berubah menjadi k kali jika setiap elemen suatu

baris atau kolom dikalikan dengan k.

2.3.3.5Minor dan Kofaktor

Berikut dapat dilihat penjelasan tentang operasi matriks minor dan kofakor.

i) Minor

Minor dari sebuah matriks

adalah matriks yang berasal dari matriks yang baris ke-i dan kolom ke-j

dihilangkan (Leon, 2001). Contoh minor dari matriks 2x2 :

=

: dari matriks A, baris ke-1 dan kolom ke-1 dihilangkan, maka = ]

: dari matriks A, baris ke-1 dan kolom ke-2 dihilangkan, maka = ]

: dari matriks A, baris ke-2 dan kolom ke-1 dihilangkan, maka = ]

: dari matriks A, baris ke-2 dan kolom ke-2 dihilangkan, maka = ]

(34)

Jika sebuah matriks , maka disebut matriks kofator

(Leon, 2001).

Contoh kofaktor dari matriks 2x2 :

=

2.3.3.6 Invers Matriks

Jika matriks , matriks , maka dikatakan invers jika =

Invers matriks diberi simbol atau .

Sifat Invers Matriks :

1.

2.

Cara menghitung Invers Matriks :

= ...(6)

Keterangan :

Adjoint A = transpose dari matriks kofaktor A A-1 = invers matriks A

(35)

Catatan :

Di dalam skripsi ini metode pencarian iinvers matriks dilakukan dengan metode :

= (Det(A))-1 ...(7)

Dimana (Det(A))-1 dicari dengan operasi aritmatika modulo yang menghasilkan

bilangan bulat.

Cara mencari Invers Determian A :

...(8)

Keterangan :

Det (A) = determinan matriks A

(Det(A))-1 = invers dari determinan matriks A

N = banyaknya karakter ataupun nilai yang akan dimodulokan (Leon, 2001).

2.3.4 Aritmatika Modulo

Aritmetika modulo (modular arithmetic) memainkan peranan yang penting dalam

komputasi integer, khususnya pada aplikasi kriptografi. Operator yang digunakan

pada aritmetika modulo adalah mod. Operator mod, jika digunakan pada

pembagian bilangan bulat, memberikan sisa pembagian. Misalnya 23 dibagi 5 memberikan hasil = 4 dan sisa = 3, sehingga ditulis 23 mod 5 = 3.

Definisi dari operator mod dinyatakan sebagai berikut :

Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a

mod m (dibaca “a modulo m”) memberikan sisa jika a dibagi dengan m. Dengan kata lain, a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r < m. Notasi: a mod m = r sedemikian sehingga

a = mq + r, dengan 0 ≤ r < m...(9)

Bilangan m disebut modulus atau modulo, dan hasil aritmetika modulo m

terletak di dalam himpunan {0,1, 2, …, m – 1}

Jika a mod m = 0, maka dikatakan bahwa a adalah kelipatan dari m, yaitu a habis dibagi dengan m (Munir, 2006).

(36)

Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB(a, b) = 1. Sebagai contoh, 20 dan 3 relatif prima sebab PBB(20, 3) = 1. Jika a dan

b relatif prima, maka dapat ditemukan bilangan bulat m dan n sedemikian sehingga

ma + nb = 1...(10)

Contoh: Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) = 1, atau dapat ditulis: 2 . 20 + (–13). 3 = 1 dengan m = 2 dan n = –13 (Munir, 2006).

2.3.6 Balikan Modulo

Jika a dan m relatif prima (PBB(a, m) = 1) dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat a-1 sedemikian sehingga

a.a-1≡ 1 (mod m)...(11)

Dari definisi relatif prima diketahui bahwa PBB(a,m) = 1 terdapat bilangan bulat p dan q sedemikian sehingga

pa + qm = 1 yang mengimplikasikan bahwa pa + qm ≡ 1 (mod m) karena qm ≡ 0 (mod m), maka

pa ≡ 1 (mod m)...(12)

Contoh: Tentukan balikan modulo dari 4 (mod 9)

Jawab: Karena PBB(4,9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma

Euclidean diperoleh bahwa

9 = 2 . 4 + 1 -2 . 4 + 1 . 9 = 1

Dari persamaan terakhir ini diperoleh -2 adalah balikan dari 4 mod 9.

Periksalah bahwa -2 . 4 ≡ 1 (mod 9) (9 habis membagi -2 . 4 – 1 = -9)

(37)

Hill Cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi (Sasongko, 2005).

Hill Cipher diciptakan oleh Lester S. Hill pada tahun 1929. Teknik

kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode)

yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill Cipher

tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya (Sasongko, 2005).

Hill Cipher yang merupakan polyalphabetic cipher dapat dikategorikan

sebagai block cipher karena teks yang akan diproses akan dibagi menjadi blok-blok dengan ukuran tertentu. Setiap karakter dalam satu blok-blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula. (Sansani, 2008).

2.4.1 Teknik Dasar Hill Cipher

Dasar dari teknik Hill Cipher adalah aritmatika modulo terhadap matriks. Dalam

penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik

invers terhadap matriks. Kunci pada Hill Cipher adalah matriks n x n dengan n merupakan ukuran blok. Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki invers K-1 sehingga :

... (13)

Keterangan:

K = Kunci

K-1 = Invers Kunci I = Matriks identitas

Kunci harus memiliki invers matriks K yaitu K-1 akan dipakai melakukan dekripsi

(38)

2.4.2 Teknik Enkripsi Hill Cipher

Proses enkripsi pada Hill Cipher dilakukan per blok plaintext. Ukuran blok tersebut sama dengan ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plaintext terlebih dahulu dikonversi menjadi angka (Sansani, 2008).

Secara matematis, proses enkripsi pada Hill Cipher adalah:

... (14)

Keterangan: C = Ciphertext K = Kunci P = Plaintext

2.4.3 Teknik Dekripsi Hill Cipher

Proses dekripsi pada Hill Cipher pada dasarnya sama dengan proses enkripsinya. Namun matriks kunci harus dibalik (invers) terlebih dahulu.

Secara matematis, proses dekripsi pada Hill Cipher adalah :

... (15)

2.5 Algoritma Knapsack

Algoritma Knapsack juga disebut algoritma kriptografi kunci publik. Keamanan algoritma ini terletak pada sulitnya memecahkan persoalan Knapsack (Knapsack

Problem). Knapsack artinya karung/kantung. Karung mempunyai kapasitas muat

terbatas. Barang-barang dimasukkan ke dalam karung hanya sampai batas kapasitas maksimum karung saja (Marta, 2006).

2.5.1 Bentuk Knapsack

(39)

1. General Knapsack / Normal Knapsack diberikan bobot Knapsack adalah M. Diketahui n buah objek yang masing-masing bobotnya adalah w1, w2, ... , w3.

Tentukan nilai bi sedemikian sehingga

... (16)

Yang dalam hal ini, bernilai 0 atau 1. Jika =1, berarti objek i dimasukkan

ke dalam knapsack, sebaliknya jika =0, objek i tidak dimasukkan.

Dalam teori algoritma, persoalan knapsack termasuk ke dalam tidak dapat

dipecahkan dalam orde waktu polinomial. Sehingga algoritma ini hanya dapat digunakan untuk enkripsi tetapi tidak dirancang untuk dekripsi (Marta, 2006).

2. Superincreasing Knapsack

Superincreasing Knapsack adalah persoalan Knapsack yang dapat dipecahkan

dalam orde polinimial. Ini adalah persoalan Knapsack yang mudah sehingga

tidak disukai untuk dijadikan sebagai algoritma kriptografi yang kuat. Jika

senarai bobot disebut barisan superincreasing, maka kita dapat membentuk

Superincreasing Knapsack. Barisan Superincreasing adalah suatu barisan di

mana setiap nilai di dalam barisan lebih besar daripada jumlah semua nilai sebelumnya.

Solusi dari SuperincreasingKnapsack (yaitu ) mudah dicari

sebagai berikut :

1. Jumlahkan semua bobot di dalam barisan.

2. Bandingkan bobot total dengan bobot terbesar di dalam barisan. Jika bobot

terbesar lebih kecil atau sama dengan bobot total, maka bobot dapat dimasukkan ke dalam knapsack, jika tidak, maka bobot tidak dimasukkan.

3. Kurangi bobot total dengan bobot yang telah dimasukkan, kemudian

bandingkan bobot total sekarang dengan bobot terbesar selanjutnya. Demikian seterusnya sampai seluruh bobot di dalam barisan selesai dibandingkan.

4. Jika bobot total menjadi nol, maka terdapat solusi persoalan Superincreasing

(40)

Algoritma Superincreasing Knapsack adalah algoritma yang lemah, karena

ciphertext dapat didekripsi menjadi plaintext secara mudah dalam waktu

polinomial. Algoritma non-superincreasing knapsack atau normal knapsack

adalah kelompok algoritma yang sulit (dari segi komputasi) karena membutuhkan waktu dalam orde eksponensial untuk memecahkannya.

Namun, Superincreasing Knapsack dapat dimodifikasi menjadi

non-Superincreasing Knapsack dengan menggunakan kunci publik (untuk enkripsi)

dan kunci privat (untuk dekripsi). Kunci publik merupakan barisan

non-Superincreasing sedangkan kunci privat tetap merupakan barisan superincreasing. Hasil modifikasi tersebut dinamakan algoritma Merkle-Helman karena modifikasi ini ditemukan oleh Martin Hellman dan Ralph Merkle. Modifikasi dilakukan dengan perhitungan aritmatika modulo (Munir, 2006).

2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem Kriptografi Merkle-Hellman

2.5.2.1 Penggunaan Arimatika Modulo Dan relatif Prima Pada Pembangkitan Kunci Merkle-Hellman

Untuk mengenkripsikan n-bit pesan, caranya adalah sebagai berikut:

a. Tentukan barisan Superincreasing. w = (w1, w2, ..., wn) dari bilangan bukan nol

b. Pilih salah satu bilangan integer q sehingga memenuhi dan salah

satu angka integer r secara acak sehingga PBB(r,q) =1 (r relatif prima dengan

q). Bilangan q dipilih dengan cara di atas untuk memastikan keunikan dari ciphertext. Jika bilangan yang digunakan lebih kecil, lebih dari satu plaintext

akan dienkripsi menjadi ciphertext yang sama. Sedangkan r harus tidak

memiliki persekutuan dengan q karena jika tidak, maka balikan modulo dari

r mod q tidak dapat ditemukan. Bilangan yang merupakan balikan modulo dari r mod q adalah penting agar memungkinkan dekripsi.

c. Kemudian hitung barisan yang memenuhi

d. Kunci publik adalah , sedangkan kunci privat adalah w barisan

(41)

2.5.2.2 Penggunaan Balikan Modulo Pada Dekripsi Enkripsi Knapsack

Terdapat n-bit pesan α = (α1, α2, ..., αn) dengan αi adalah bit ke-i dari pesan

dan αi ∈{0, 1}.

i) Teknik Enkripsi Knapsack

Cara untuk mengenkripsi pesan tersebut adalah sebagai berikut:

a. Pilih himpunan bagian dari normal Knapsack (kunci publik) yang berkorespondensi dengan 1 pada plainteks dan mengabaikan bagian yang berkorespondensi dengan 0 pada plainteks.

b. Elemen dari himpunan bagian yang telah dipilih dijumlahkan dan hasilnya

menjadi ciphertext (Marta, 2006)

...(17)

ii) Teknik Dekripsi Knapsack

Untuk mendekripsi ciphertextc, penerima harus menemukan pesan dalam bentuk

sehingga memenuhi

Nilai βi dipilih sehingga dekripsi mudah dilakukan jika kunci privat (w, q, r) diketahui. Hal yang penting dari dekripsi adalah menemukan suatu bilangan integer n-1 yang merupakan balikan modulo (modularinverse) dari r modulo q. Ini berarti n-1 memenuhi persamaan n-1.r mod q = 1 atau n-1.r ≡ 1 (mod q) atau terdapat bilangan integer k sehingga n-1.r = kq + 1. Karena r dipilih sehingga

memenuhi persamaan PBB(r,q) = 1, maka s dan k mungkin ditemukan dengan

menggunakan perhitungan balikan modulo yang memenuhi sr ≡ 1 (mod q). Kekongruenan ini dapat dihitung dengan cara yang sederhana sebagai berikut:

n-1 = (1 + kq)/r...(18)

(42)

Kalikan setiap kriptogram dengan n-1 mod m, lalu nyatakan hasil kalinya sebagai penjumlahan elemen-elemen kunci privat untuk memperoleh plainteks

dengan menggunakan algoritma pencarian solusi superincreasing knapsack

(Marta, 2006).

Bentuk persamaan dekripsi algoritma Knapsack adalah sebagai berikut :

...(19)

Keterangan :

plainkey (pada sistem disebut session key) = balikan modulo

= cipherkey

2.6 File

File adalah entitas dari data yang disimpan dalam berkas sistem yang dapat

diakses dan diatur oleh pengguna. Sebuah file memiliki nama yang unik beserta atributnya, yang akan disimpin dalam folder atau direktori suatu dirve. Setiap

drive pada penyimpanan diberikan identitas berupa huruf . pada umunya hard disk

utama yang merupakan lokasi penyimpan file diberi nama dirve “C”. adapun

partisi ataupun penyimpanan media lain, makan akan diberikan huruf secara berurutan setelah “C”.

Secara visual, file merupakan dokumen-dokumen yang disimpan dalam

sebuah arsip yang sering identik dengan kertas-kertas kerja yang masing-masing memiliki fungsi dan makna tersendiri. Sering dengan perkembangan teknologi komputerisasi, kini file tidak lagi identik dengan tumpukan kertas dalam arsip.

Sebuah file menjadi dokumen yang secara visual tampak maya tetapi bisa

disimpan dan bisa juga direalisasikan dalam bentuk nyata pada lembaran kertas.

File dalam dunia komputerisasi tidak hanya sebatas pada dokumen berupa teks

(43)

file. Format file merupakan suatu cara khusus untuk mengkodekan informasi yang disimpan dalam file computer. Selain format file, ada juga yang disebut dengan

file extension. Secara sekilas format file tidak jauh berbeda dengan file extension, terutama dalam hal penyebutan nama jenis file. Namun, jika ditelisik secara mendalam, format file berbeda dengan file extension.

File extension umumnya terdiri atas tiga atau lebih karakter yang

ditempatkan pada akhir nama sebuah file. Adapun fungsi file extension, yaitu membantu mempermudah sistem operasi computer untuk mengidentifikasi informasi data yang terdapat dalam file beserta dengan aplikasi atau program yang terkait dalam file tersebut.

Format file cenderung mengarah pada nama jenis file, sedangkan file

extension merupakan salah satu metode untuk mengidentifikasi jenis file. Secara lebih jauh, file umumnya dituliskan dalam huruf capital, sedangkan file extension dituliskan dalam huruf kecil yang mengikuti nama file. Sebagai contoh, misalnya untuk jenis video salah satu formatnya adalah flv sehingga seringkali ditulis file FLV. Sementara untuk menunjukkan extension untuk format file tersebut adalah .flv (Enterprise, 2010).

2.6.1 Jenis-Jenis File

Berikut beberpa jenis –jenis file yaitu file dokumen, file grafik dan multimedia, dan file kompresi dapat dilihat sebagai berikut.

2.6.1.1 File Dokumen

Kategori file dokumen yang dimaksud dalam hal ini adalah file-file yang berisi teks. File teks merupakan file komputer yang tersusun atas rangkaian baris teks.

Jenis file yang termasuk dalam kategori file dokumen beberapa diantaranya adalah sebagai berikut :

(44)

Beberapa format file dalam dokumen office 1997-2003 seperti file DOC (.doc) pada Microsoft Word, file XLS (.xls) pada Microsoft Excel, file PPT (.ppt) pada Microsoft Power Point, dan lain-lain.

2. File dokumen office 2007-Sekarang

Beberapa format file dokumen office 2007-Sekarang seperti file DOCX

(.docx) pada Microsoft Word), file XLSX (.xlsx) pada Microsoft Excel, file PPTX (.pptx) pada Mincrosoft Power Point, dan lain-lain.

Adapun file dokumen lain seperti file PDF (.pdf), file TXT (.txt), file RTF (.rtf), dan lain-lain (Enterprise, 2010).

2.6.1.2 File Grafik dan Multimedia

Kategori file grafik dan multimedia mengarah pada jenis-jenis file image atau

gambar, video, dan audio atau musik. Banyak jenis file yang termasuk dalam

kategori ini adalah sebagai berikut :

1. File JPG (.jpg) merupakan format kompresi image atau gambar yang

distandardisasi ole Joint Photographic Ex[erts Group (JPEG). Adapun file gambar lain seperti file PNG (.png), file GIF (.gif), file BMP (.bmp), dan lain-lain.

2. File FLV (.flv) merupakan salah satu format file video berhubungan

dengan Flash-compatible file video yang diekspor Flash Vidio Explorer

plug-in termasuk Adobe Flash atau program lain yang support terhadap

file ini. Adapaun format file video lain adalah seperti Audi Vidio

Interleaved (AVI) dimana file extensionnya berupa .avi, file 3GP (.3gp), dan lain-lain.

3. File MP3 (.mp3) merupakan salah satu format file audio yang tidak lepas

dari format file Motion Pictures Expert Group (MPEG). Sebelum

munculnya MP3, telah ada format file audio digital yang menggunakan

teknologi kompresi seperti, AAC, Dolby, Windows Mwdia Audio (WMA),

Real Audio, dan lain-lain (Enterprise, 2010).

(45)

File kompresi yang dimaksdukan adalah file-file yang digabungkan menjadi satu

dengan tujuan untuk memperoleh ukuran file yang lebih kecil dibandingkan

dengan file lainnya. Berikut beberapa file yang termasuk dalam kategori kompresi

file :

1. File ZIP (.zip)

File ZIP adalah format kompresi file yang paling tua. ZIP menggabungkan beberapa file ke dalam satu file.

2. File RAR (.rar)

Standar kompresi RAR mengkompres file 15 persen lebih kecil daripada

ZIP. Program RAR dan WinRAR (untuk windows) tidak hanya

mengkompres file dalam bentuk format RAR, tetapi juga membaca file

ZIP dan beberapa format file kompresi lainnya (Enterprise, 2010).

Selain beberapa jenis file di atas, masih banyak jenis file yang tidak disebutkan, seperti file aplikasi berupa file EXE (.exe), , file photoshop berupa file PSD (.psd), file pemograman berupa file PHP (.php), HTML (.html), ASP (.asp), dan lain-lain.

2.7 Penelitian Terkait

1. Penelitian oleh Silvia Annelis menggunakan teknik kriptografi hibrida

dengan menggunakan kombinasi dua algoritma Caesar Cipher dan RSA

untuk pengkodean pesan. Algoritma Caesar Cipher merupakan algoritma

kunci simetri yang digunakan untuk mengkodekan pesan dan algoritma RSA merupakan algoritma kunci asimetri yang digunakan untuk

mengkodekan kunci simetri Caesar Cipher. Teknik metode krptografi

hibrida ini akan lebih aman digunakan jika dibandingkan dengan menggunakan hanya satu algoritma sehingga penulis menggunakan algoritma yang berbeda untuk kriptografi hibrida.

2. Penelitian oleh Eko Ariwibowo menggunakan algoritma kunci asimetri

Elgmal untuk keamanan dokumen office. Pada penelitian tersebut hanya

(46)

sehingga penulis menambahkan pengamanan pada file yang sudah diuji dengan algoritma yang berbeda.

3. Penelitian oleh Hendry Yuandi menggunakan metode Hill (algoritma Hill

Cipher) untuk merancang perangkat lunak pengenkrpsian citra .bmp dan

.jpg. Pada penelitian tersebut hanya mengenkripsi sebatas format file citra

dengan dua file ekstensi yang berbeda sehingga penulis menambahkan

pengamanan pada semua file dengan menggunakan algoritma yang sama

(47)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Dalam bab ini berisi beberapa hal diantaranya analisis sistem, pemodelan sistem, dan perancangan sistem dapat dilihat sebagai berikut.

3.1 Analisis Sistem

Analisis sistem didefenisikan sebagai bagaimana memahami dan membuat spesifikasi dengan detail apa yang harus dilakukan oleh sistem.

3.1.1 Analisis Masalah

Masalah yang akan diselesaikan dengan menggunakan sistem ini adalah pengamanan semua file dalam bentuk, gambar, teks, dokumen office, video, dll yang akan dikirim melalui suatu jaringan yang berupa internet supaya tidak terjadi hal-hal yang tidak diinginkan seperti yang kita ketahui sekrang ini, banyaknya penyimpangan yang terjadi di jaringan. Salah satunya penyadapan file oleh yang berkepentingan juga tentang itu, pemodifikasian suatu file sehingga kemungkinan besar akan menjadi masalah bagi suatu organisasi. Dalam sistem file ini, file akan

diamankan dengan metode algoritma kriptografi hibirda, dimana file akan

diamankan oleh algoritma kunci simetris Hill Cipher dan kunci simetris tersebut akan diamankan lagi dengan algoritma kunci asimetris Knapsack. Kunci asimetris

Knapsack ini menggunakan dua kunci yang berbeda, yaitu kunci publik dan kunci

(48)

Berikut ini isikhawa untuk analisis permasalahan :

Membutuhkan biaya yang mahal untuk pendistribusian yang lebih aman Semakin banyak tingkat pengamanan semakin

banyak tingkat pembobolan Cipher objek beruba file Hill Cipher dan Knapsack

Gambar 3.1 Ishikawa Diagram untuk Analisis Permasalahan Sistem

Diagram ishikawa pada gambar 3.1 menunjukkan ada dua hal yang utama,

yaitu bagian permasalahan dan penyebabnya. Permasalahannya dalam

meningkatkan keamanan file dan kunci, sedangkan penyebabnya ada 4 hal yaitu

pertama metode yang diguanakan adalah kriptografi hibrida, kedua user yaitu

pengirim dan penerima pesan, ketiga material, dan yang keempat sistem yang merupakan sistem yang sudah ada sebelumnya.

3.1.2 Analisis Persyaratan

Analisis persyaratan bertujuan untuk mengidentifikasi dan menyatakan persyaratan. Dalam suatu sistem analisis persyaratan dibagi menjadi dua bagian

yaitu persyaratan fungsional (functional requirement) dan persyaratan

nonfungsional (nonfunctional requirement). Persyaratan fungsional merupakan

(49)

3.1.2.1 Persyaratan Fungsional

Dalam pengamanan file Algoritma Hill Cipher dan pengaman kunci dengan

Algoritma Knapsack ini mempunyai persyaratan fungsional yang harus dipenuhi,

antara lain:

1. File yang akan dienkripsi mencakup semua file.

2. Kunci yang digunakan dalam pengamanan file adalah berupa kunci matriks

2x2.

3. Untuk menentukan kunci matriks Hill Cipher, harus memiliki matriks

identitas

4. Bilangan-bilangan yang digunakan untuk kunci matriks adalah bilangan bulat

positif

5. Untuk menentukan kunci Knapsack, terlebih dahulu membuat barisan

superincreasing dimana kunci matriks berpengaruh dengan barisan tersebut

6. File dokumen yang sudah dienkripsi disimpan dalam format tanpa ada syarat

tertentu

3.1.2.2 Persyaratan Nonfungsional

Dalam sistem kriptografi hibrida, persyaratan nonfungsional meliputi performa, mudah dipelajari dan digunakan, hemat biaya, dokumentasi, manajemen kualitas, dan kontrol.

1. Performa

Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari proses enkripsi dan dekripsi file maupun kunci yang digunakan oleh sistem.

2. Mudah dipelajari dan digunakan

Perangkat lunak yang akan dibangun harus sederhana agar mudah dipelajari oleh pengguna (user).

(50)

Perangkat lunak yang akan dibangun tidak perlu perangkat tambahan ataupun perangkat pendukung dalam proses eksekusinya.

4. Dokumentasi

Perangkat lunak yang akan dibangun dapat menyimpan file dan kunci yang telah dienkripsi.

5. Manajemen kualitas

Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan proses dekripsi file dokumen dan kunci yang relatif cepat. 6. Kontrol

Perangkat lunak yang akan dibangun harus memiliki messege error (pesan

kesalahan) supaya tidak terjadi kesalahan maupun kesulitan oleh pengguna dalam memasukkan inputan.

3.1.3 Analisis Proses

Pada sistem ini ada dua algoritma kriptografi yang dikombinasikan untuk mengamankan file yaitu algoritma kunci simetris Hill Cipher dan algoritma kunci

asimetris Knapsack. Algoritma kunci simetris (Session Key) Hill Cipher

digunakan untuk mengamankan file dokumen office (Plaintext), sedangkan

algoritma kunci asimetris Knapsack digunakan untuk mengamankan Session Key

tersebut. Kombinasi dua algoritma inilah yang disebut dengan sistem kriptografi Hibrida (Hybrid).

Pada analisis proses ini tahapan yang akan dilakukan ataupun dikerjakan oleh sistem adalah sebagai berikut:

1. Proses enkripsi Plaintext (file) dan Key Session

Pada proses ini, enkripsi Plaintext dapat dikerjakan jika nilai bit-bit pada file sudah didapatkan. File yang sudah dienkripsi dinamakan dengan cipherfile dan

Key Session terenkripsi disebut Cipherkey. Semua yang sudah terenkripsi akan

disimpan dalam drive penyimpanan data sistem komputer, kemudian akan

(51)

Pada proses ini, penerima yang telah memperoleh file dan kunci yang

terenkripsi akan melakukan dekripsi. Pertama penerima mendekripsi Cipherkey

supaya dapat dugunakan kembali untuk mendekripsikan file yang terenkripsi.

Berikut ini merupakan contoh penggunaan metode kriptografi hibrida yaitu kombinasi antar dua algoritma kriptografi simetri dan asimetri dimana algoritma

Hill Cipher sebagai algoritma untuk kunci simetri dan algoritma Knapsack

sebagai algoritma untuk kunci asimetri. Di sini saya akan mencontohkan file dalam bentuk teks “HANNA”

Tahap 1 : Pengirim mengenkripsi teks dengan kunci simetri

Tahap 2 : Enkripsi kunci simetri dengan public key (kunci asimetri Knapsack) Tahap 3 : Penerima mendekripsi Session Key degan Private key (kunci asimetri

Knapsack)

Tahap 4 : Mendekripsi teks dengan Session Key Hill Cipher

Penyelesaian :

Tahap 1: Pengirim mengenkripsi teks dengan Session Key dengan metode Hill Cipher

Sebelum masuk dalam proses, ditentukan harga dalam abjad tersebut, tiap harga dari tiap abjad bisa dilihat dalam tabel ASCII (terlampir)

Disini saya buat key matriksnya 2x2 yaitu:

K =

Karena kolom dari matriks adalah 2, maka kata yang akan dienkripsi juga harus dibagi agar membentuk 2 huruf, ini dilakukan karena syarat perkalian matriks adalah “baris matriks A = kolom matriks B”

Pertama semua kata/kalimat digabung menjadi HANNA, lalu dibagi dan tentukan nilai tiap-tiap huruf:

(52)

(ditambahkan karakter sembarang supaya jumlah baris pada matriks A sama dengan jumlah pada matriks B. Pada contoh ini karakter yang ditambahkan adalah karakter S yang bilangan desimalnya 83.

Selanjutnya dilakukan perkalian matriks untuk mencari ciphertext: P = 72 65 78 78 65 83

= = =

= (mod 256)

Karakter yang berkorespondensi dengan 206, 134, 237, 248, 81, dan 86 adalah ╬, Å, φ, °, Q, dan V

Ciphertext yang diperoleh : { ╬Åφ°QV }

Tahap 2 : Enkripsi Key Session dengan kunci publik (Kunci asimetri) dengan Knapsack

Key Session: {1 5 9 8}

Misalnya barisan superincreasing kita buat :

w = [1, 2, 4, 8], = 86, r = 71

- Key dibuat dalam bentuk biner 8 bit: 1 = 00000001

5 = 00000110 9 = 00001001 8 = 00001000

- Barisan nonsuperincreasing

Jadi kunci publik adalah : {71, 56, 26, 52}

(53)

- Plainkey (session key) yang akan dienkripsi dipecah menjadi blok-blok 4 bit: 0000 0001 0000 0110 0000 1001 0000 1000

Blok Plainteks key 1 : 0000

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(0*56)+(0*26)+(0*52) = 0

Blok Plainteks key 2 : 0001

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(0*56)+(0*26)+(1*52) = 52

Blok Plainteks key 3 : 0000

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(0*56)+(0*26)+(0*52) = 0

Blok Plainteks key 4 : 0110

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(1*56)+(1*26)+(0*52) = 82

Blok Plainteks key 5 : 0000

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(0*56)+(0*26)+(0*52) = 0

Blok Plainteks key 6 : 1001

Kunci Publik : 71, 56, 26, 52

Kriptogram : (1*71)+(0*56)+(0*26)+(1*52) = 123

Blok Plainteks key 7 : 0000

Kunci Publik : 71, 56, 26, 52

Kriptogram : (0*71)+(0*56)+(0*26)+(0*52) = 0

Blok Plainteks key 8 : 1000

Kunci Publik : 71, 56, 26, 52

Kriptogram : (1*71)+(0*56)+(0*26)+(0*52) = 71

Jadi cipherkey yang dihasilkan adalah : 0, 52, 0, 82, 0, 123, 0, 7

(54)

- Dekripsi dilakukan dengan kunci privat {1, 2, 4, 8}. Disini dan

Nilai diperoleh sebagai berikut:

Dengan mencoba maka untuk diperoleh bilangan

bulat, yaitu:

- Session key yang diperoleh dari enkripsi key sebelumnya adalah

0, 52, 0, 82, 0, 123, 0, 71.

Plaintext yang berkoresponden diperoleh kembali sebagai berikut: , berkorespondensi dengan 0000

, berkorespondensi dengan 0001

, berkorespondensi dengan 0000

, berkorespondensi dengan 0110

, berkorespondensi dengan 0000

, berkorespondensi dengan 1001

, berkorespondensi dengan 0000

, berkorespondensi dengan 1000

Total hasil korespondensi :

0000 0001 0000 0110 0000 1001 0000 1000

- Ubah Session Key ke dalam bentuk blok 8 bit untuk memperoleh session key kembali dan konversi ke decimal sehingga diperoleh :

00000001 00000110 00001001 00001000

1 5 9 8

Tahap 4 : Mendekripsi teks dengan Session Key (dekripsi Hill Cipher)

(55)

1 5 9 8 Sehingga :

- Cari Adjoint dari Session Key K

- Cari Determinan K

- Cari Invers dari Determinan K

- Cari K-1

Gambar

Gambar 3.2 Use Case Diagram Sistem
Gambar 3.4 Activity Diagram Dekripsi Cipherfile dan Cipherkey
Gambar 3.5 Sequence Diagram Sistem
Gambar 3.6 Flowchart Aplikasi
+7

Referensi

Dokumen terkait

Sehingga apabila sepanjang mengenai kepastian hukum anak sah maka diatur dalam Pasal 250 Burgelijk Wetboek voor Indonesie (BW) atau yang dikenal juga dengan Kitab

Sistem penomoran rawat jalan di Puskesmas Bejen Temanggung menggunakan sistem penomoran secara unit atau UNS (Unit Numbering System) dengan family numbering system atau

Hal ini dikarenakan tujuan pengembangan karier adalah sebagai berikut: (1) membantu dalam pencapaian tujuan pengelola LKP dan LKP itu sendiri; (2) menunjukkan kesejahteraan

Varibel utama adalah karakteristik organ reproduksi betina yang terdiri atas bentuk/morfologi dan panjang organ reproduksi betina, panjang dan berat Ovarium, panjang dan

Skripsi POLA RESISTENSI Mycobacterium tuberculosis..... ADLN Perpustakaan

peneliti melakukan penelitian ini dengan mengambil judul “ Analisis faktor- faktor yang mempengaruhi Dividend Payout Ratio pada Perusahaan Manufaktur yang terdaftar di Bursa

ADLN - Perpustakaan Universitas Airlangga.. SKRIPSI PREDIKSI KEBANGKRUTAN

Uji coba simulasi secara close loop juga sudah cukup baik sebagai implementasi sistem kontrol suhu di reheater terbukti dengan nilai prosentase kesalahan pada