jtik - penelitian.kaputama.ac.id · perbandingan algoritma message digest-5 (md5) dan...

67

Upload: dodan

Post on 02-Apr-2019

246 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN
Page 2: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

JTIK

ISSN 2548-9704

Jurnal Teknik Informatika Kaputama

Volume 1 Nomor 1 Januari 2017

DAFTAR ISIDewan Redaksi

PERANCANGAN APLIKASI KEAMANAN PESAN MENGGUNAKAN ALGORITMAELGAMAL DENGAN MEMANFAATKAN ALGORITMA ONE TIME PAD SEBAGAIPEMBANGKIT KUNCIAchmad Fauzi, Yani Maulita, Novriyenni

1-9

KARAKTERISTIK OPENFLOW CONTROLLER DENGAN ONOSDaniel Halomoan Saragi Napitu, M.Zarlis, Tulus

10-14

AUTOMATIC WATER TANK PUMP SWITCHER USING MICROKONTROLLERATMEGA16Nurhayati, Novriyenni, Irwansyah Ilham

15-25

ALGORITMA VIGENERE CIPHER DAN HILL CIPHER DALAM APLIKASI KEAMANANDATA PADA FILE DOKUMENAkim Manaor Hara Pardede, Hotler Manurung, Dina Filina

26-33

PENENTUAN RUTE TERPENDEK PENDISTRIBUSIAN NASKAH UJIAN NASIONALMENGGUNAKAN ALGORITMA DIJKSTRA (DINAS PENDIDIKAN DAN PENGAJARANKOTA BINJAI)Siswan Syahputra

34-45

ANALISIS PENGARUH MUTASI TERHADAP PERFORMANCE ALGORITMA GENETIKAErianto Ongko

46-51

PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DANGOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMENMarthin Benedict, Mohammad Andri Budiman, Dian Rachmawati

52-63

Page 3: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Volume 1 Nomor 1 Januari 2017ISSN 2548-9704

DEWAN REDAKSI

Pelindung / Penasehat : Yayasan Pendidikan Teknologi Informasi Mutiara

Penanggung Jawab : Lina Arliana Nur Kadim, SE., MM (Ketua STMIK Kaputama)

Penyunting Ahli : Prof. Dr. M.Zarlis, M.ScDr.Ir. Rila Mandala, M.EngDr. Poltak Sihombing, M.KomDr. Erna Budhiarti Nababan, MITDr. Zakarias Situmorang, M.Kom

Penyunting Pelaksana : Novriyenni, S.Kom., M.KomRelita Buaton, ST., M.KomDrs. Katen Lumbanbatu, M.KomAkim M.H. Padede, ST., M.KomYani Maulita, S.Kom., M.Kom

Pimpinan Redaksi : Budi Serasi Ginting, S.Kom, M.Kom

Sekretaris Redaksi : Fuzy Yustika Manik, S.Kom., M.Kom

Distribusi dan Pemasaran : Langgeng Restuwono, S.KomI Gusti Prahmana, S.KomAbdul Rahman, S.Kom

JTIK diterbitkan oleh Program Studi Teknologi Informatika STMIK Kaputama sebagai media untuk menyalurkanpemahaman tentang aspek-aspek teknologi informasi berupa hasil penelitian lapangan atau laboratorium maupun

studi pustaka. Jurnal ini terbit dua kali dalam setahun yaitu bulan Januari dan Juli.

Redaksi menerima naskah yang belum pernah diterbitkan dalam media lain dari dosen, peneliti, mahasiswamaupun praktisi dengan ketentuan penulisan. Naskah yang masuk akan dievaluasi dan disunting untuk

keseragaman format, istilah dan tata cara lainnya.

Alamat Redaksi:Lembaga Penelitian dan Pengabdian Masyarakat (LPPM) STMIK KaputamaJln Veteran No.4A-9A Binjai, 20714, Sumatera Utara, Telp. (061) 8828840,082366304242, Fax. 8875534e-mail: [email protected] website: http://www.kaputama.ac.id

Page 4: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

1

PERANCANGAN APLIKASI KEAMANAN PESAN MENGGUNAKANALGORITMA ELGAMAL DENGAN MEMANFAATKAN ALGORITMA ONE TIME

PAD SEBAGAI PEMBANGKIT KUNCI

Achmad Fauzi1), Yani Maulita2), Novriyenni3)

STMIK KaputamaJl. Veteran No. 4A-9A, Binjai, Medan, Sumatera Utara

Email: [email protected] 1 ), [email protected] 2), [email protected] 3)

Abstrak

Pengamanan pesan diperlukan dalam rangka untuk mencegah pesan yang didistribusikan dapat dibuka olehpihak lain yang tidak berkepentingan di mana pada akhirnya dapat mengancam kemanan dan kenyamanan darisi pengirim maupun penerima pesan tersebut. Untuk mengamankan pesan tersebut dalam dilakukan penerapanilmu kriptografi yang bertujuan untuk mengubah pesan asli (plaintext) menjadi pesan terenkripsi (ciphertext), dimana untuk membukapesan tersebut memerlukan kunci.Algoritma One Time Paddikenal dengan nama holygrail algorithm dikarenakan algoritma kriptografi One Time Pad adalah algoritma yang sempurna yang tidakbisa dipecahkanbiarpun begitu algoritma One Time Pad memiliki kelemahan dalam menjaga kerahasiaan ataukeamanan kunci sehingga harus diberikan pengamanan pada kunci agar kunci dari OTP itu selama pengirimanterjaga kerahasiaanya. Sedangkan pada algoritma asimetri atau kunci publik ada algoritma Elgamal yang jugamempunyai keamanan yang tinggi karena kompleksitas algoritmanya.Dengan disuper enkripsikannya algoritmaone time pad dan ElGamal tersebutdapat meningkatkan keamanan pada pesan dan juga dapat menjagakerahasiaan atau keamanan kunci dari one time pad selama proses pengiriman pesan dan kunci.

Kata Kunci : ElGamal, Kriptografi, One Time Pad , Pengamanan.

1. PENDAHULUAN1.1 Latarbelakang

Keamanan merupakan masalah besardan mengamankan data yang penting sangatpenting, sehingga data tersebut tidak dapatdisadap atau disalahgunakan untuk tujuanilegal sehingga merugikan pihak lain. Untukitulah pemerintah dan lembaga lainnyaberusaha mengamankan data mereka sekuattenaga agar tidak terjadi pembobolan. Biarpunbegitu tetap aja ada pihak-pihak yang berusahamembobol itu dengan menggunakan berbagaikunci dan juga metode.Untuk menghindari haltersebut maka data yang dikirim diubahkedalam data yang tidak dapat dibaca olehsang pembajak kemudian data tersebutdiubah kembali dalam bentuk yang bisadibaca oleh penerimanya. Teknik dan ilmuuntuk membuat data yang tidak dapatdibaca sehingga hanya orang yangberwenang yang mampu membaca data,inilah yang disebut dengan kriptografi (Goyal& Kinger, 2013). Kriptografi secara umum

adalah ilmu dan seni untuk menjagakerahasiaan pesan ketika pesan dikirim darisuatu tempat ke tempat yang lain.

Pada kriptografi terdapat prosesenkripsi dan dekripsi yang bertujuan untukmengamankan data. Enkripsi adalah mengubahpesan asli (plaintext) menjadi pesan dalambentuk tersandi (ciphertext). Proses enkripsiakan menghasilkan data tersandi dan hanyadapat dibuka atau dibaca oleh pihak penerimayang memiliki kunci (key) sedangkan prosesdekripsi adalah proses mengembalikan datatersebut menjadi bentuk asli. (Munir, 2006).Menurut kunci yang digunakan kriptografiterbagi atas dua yaitu kriptografi asimetri dankriptografi simetri. Kriptografi simetri adalahkriptografi yang menggunakan kunci yangsama saat proses enkripsi dan dekripsisedangkan kriptografi asimetri adalahkriptografi yang proses enkripsi dan dekripsimenggunakan dua kunci yang berbeda. Padakriptografi simetri terdapat sebuah algoritmakriptografi klasik yang dikenal sebagai holygrail algorithm.

Page 5: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

2

Algoritma itu dikenal dengan namaOne Time Pad dikarenakan algoritmakriptografi One Time Pad adalah algoritmayang sempurna yang tidak bisa dipecahkanbiarpun begitu algoritma One Time Padmemiliki kelemahan dalam menjagakerahasiaan atau keamanan kunci sehinggaharus diberikan pengamanan pada kunci agarkunci dari OTP itu selama pengiriman terjagakerahasiaanya (Stamp, 2011). Sedangkanpada algoritma asimetri atau kunci publikada algoritma Elgamal yang juga mempunyaikeamanan yang tinggi karena kompleksitasalgoritmanya.

Berdasarkan alasan itu penulismencoba melakukan penelitian denganmenggabungkan algoritma simetris yangdiambil dr algoritma klasik yaitu One TimePad(OTP) dengan algoritma asimetris ataualgoritma kunci publik yaitu algoritmaElGamal yang dimana nantinyaalgoritma ElGamal akan digunakanuntuk mengamankan kunci dari One Time Padsebelum kunci dikirim ke penerima. Dengandisuper enkripsinya algoritma nantinya akanmemunculkan suatu super enkripsi algoritmayang dapat meningkatkan keamanan sehinggapesan lebih sulit dipecahkan dan jugakeamanan kunci OTP dapat terjaga denganaman sehingga pihak ketiga tidak mudahmenjebol pesan yang dikirim.

1.2 Rumusan Masalah

Dalam rumusan masalah diatas penulismerumuskan bagaimana proses enkripsialgoritma ElGamal dan algoritma One TimePad dapat dibagun sehingga dapatmeningkatkan keamanan pesan dan kunci.

1.3 Tujuan Penelitian

Tujuan peneliti disini adalah menganalisakerja enkripsi algoritma ElGamal danalgoritma One Time Pad untuk proseskeamanan pada teks sehingga dari superenkripsi algoritma tersebut dapatmeningkatkan keamanan pada pesan dan jugadapat menjaga kerahasiaan atau keamanankunci selama proses pengiriman

2. LANDASAN TEORI2.1 Definisi Kriptografi

Kriptografi adalah merupakan ilmu yangmempelajari teknik-teknik matematika yangberhubungan dengan aspek keamananinformasi seperti kerahasiaan, integritas dataserta otentikasi. Kriptografi adalah prosespenggunaan berbagai teknik dan atau ilmu danseni untuk menjaga keamanan pesan.Cryptographic algorithm adalah fungsimatematika yang digunakan untuk enkripsidan dekripsi. Terdapat dua fungsi yang salingberhubungan yaitu satu untuk enkripsi dan satulagi untuk dekripsi. Enkripsi merupakan prosespengkodean sebuah pesan sehingga isi daripesan tersebut tidak diketahui. Dekripsi adalahproses kebalikan dari enkripsi yaitumentransformasi pesan yang dienkripsikembali menjadi bentuk semula. Sebuahsistem enkripsi dan dekripsi disebutcryptosystem. Bentuk asli dari sebuah pesandisebut plaintext dan bentuk asli yangdienkripsi disebut ciphertext.

2.2 Algoritma Kriptografi

Algoritma kriptografi merupakanlangkah-langkah logis bagaimanamenyembunyikan pesan dari orang-orang yangtidak berhak atas pesan tersebut. Algoritmakriptografi terdiri dari tiga fungsi dasar yaitu :(Ariyus, 2008)

1. Enkripsi merupakan hal yang sangatpenting dalam kriptografi, merupakanpengamanan data yang dikirimkan agarterjaga kerahasiannya. Pesan asli disebutplaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsibisa diartikan dengan cipher atau kode.Untuk mengubah teks asli ke bentukteks kode digunakan algoritma yangdapat mengkodekan data.

2. Dekripsi merupakan kebalikan darienkripsi. Pesan yang telah dienkripsidikembalikan ke bentuk asalnya (teksasli/plaintext) disebut dengan dekripsi.

3. Kunci yang dipakai untuk melakukanenkripsi dan dekripsi. Kunci terbagimenjadi dua bagian yaitu kunci rahasia(private key) dan kunci umum (publickey)

Page 6: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

3

tanpa mengurangi kenyamanan serta bilangan acak dan kemudian mengujikeamanan. apakah bilangan tersebut termasuk bilangan

Biasanya algoritma kriptografi dapatdinotasikan sebagai berikut :

Plaintext(M)Ciphertext(C)Enkripsi (fungsi E)Dekripsi (fungsi D)

Kriptografi itu sendiri terdiri dari duaproses utama yakni proses enkripsi dan prosesdekripsi. Seperti yang telah dijelaskan di atas,proses enkripsi mengubah plaintext menjadiciphertext (dengan menggunakan kunci tertentu)sehingga isi informasi pada pesan tersebut sukardimengerti. Adapun alur dari proses enkripsi dandekripsi pada kriptografi dapat dilihat padagambar 2.1

Gambar 2.1 Konsep Proses Enkripsi danDekripsi

Sumber : Kriptografi, Dony Ariyus, AndiPublisher

2.3 Super Enkripsi

Super Enkripsi merupakan gabunganantara cryptosystem yang memakai asymmetriccryptosystem dan cryptosystem yang memakaisymmetric cryptosystem. (Schneier, 1996).Cryptosystem adalah suatu fasilitas untukmengkonversikan plaintext ke ciphertext dansebaliknya, cryptosystem terdiri dari suatualgoritma seluruh kemungkinan plaintext,ciphertext, dan kunci.

Algoritma super enkripsi adalahalgoritma yang memanfaatkan dua tingkatankunci yaitu kunci rahasia (simetris) – yangdisebut juga session key (kunci sesi) – untukenkripsi data dan pasangan kunci rahasia –kunci public untuk pemberian tanda tangandigital serta melidungi kunci simetriss.(Ariyus, 2008). Kriptografi super enkripsisering dipakai karena memanfaatkankeunggulan kecepatan pemrosesan data olehalgoritma simetris dan kemudahan transferkunci menggunakan algoritma asimetris. Halini mengakibatkan peningkatan kecepatan

2.4 Pembangkit Bilangan Acak Semu

Pembangkit Bilangan Acak-Semu atauyang biasa dikenal dengan singkatan PRNG(Pseudo-Random Number Generator) adalahsebuah algoritma untuk menghasilkan suatuurutan bilangan yang terlihat acak, namunsebenarnya urutan tersebut tidak benar-benaracak karena urutan tersebut ditentukan olehsuatu nilai awal. Urutan bilangan yangterlihat acak ini sangat penting karena bisadimanfaatkan untuk suatu parameter bagipercobaan atau simulasi dan juga menjadipusat pake praktik kriptografi.Sebuah pembangkit bilangan acak-semu bisadimulai dengan memberikan nilai umpan.Pembangkit bilangan acak-semu ini akanselalu memberikan urutan bilangan yang samajika diberikan nilai umpan yang sama,dengan jumlah bilangan yang dihasilkanbergantung kepada besar nilai umpan yangdiukur dengan satuan bit.

Keuntungan dari penggunaanpembangkit bilangan acak-semu ini adalahefisien, algoritma ini mampu menghasilkanbanyak angka dalam waktu singkat, dantertentu, urutan yang digunakan bisadimunculkan kembali dengan mudah jika nilaiawalnya diketahui. Efisien adalah karakteristikyang sangat baik jika aplikasi kitamembutuhkan banyak angka. Tertentu jugaakan berguna jika kita perlu mengulang suatuurutan bilangan.

2.5 Pembangkit Bilangan Prima

Sebagian besar algoritma kunci-publik menggunakan bilangan prima sebagaisalah satu nilai parameternya. Bilangan primayang disarankan berkuran besar sehinggapenggunaan tipe data bilangan bulat yangbesar mutlak diperlukan. Dalam menghasilkanbilangan prima dapat digunakan berbagaimetode. Agar dapat menghasilkan bilanganprima yang besar maka harusmenggunakan ruang memori dan waktu.Secara umum pembangkitan bilangan primadapat dibagi menjadi dua, yaitu denganmembangkitkan bilangan prima dari bilanganprima terkecil dengan pengujian yang akanmenghasilkan bilangan prima denganpersentase 100% atau dengan menguji

Page 7: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

4

prima.

2.6 One Time Pad

One Time Pad termasuk dalamkriptografi klasik yang berkunci simetris.One Time Pad disebut juga sebagai algoritmayang tidak terpecahkan atau juga diketahuisebagai holy grail algorithm. (Horstmeyer,Judkewitz, Vellekoop, Assawawarrarit &Yamg, 2013). Algoritma One Time Padmempunyai cara kerja dimana penerima pesanmempunya salinan kunci yang sama dan kuncitersebut hanya dipakai satu kali (one time)untuk enkripsi dan dekripsi dan setelahdigunakan maka pad (kertas blocknot)harussegera dihancurkan agar tidak bisa dipakai lagiuntuk enkripsi dan dekripsi pesan yanglain.Pengirim danpenerimaharus sama-samamemiliki satu set materi kunci yangbesar dan juga acak, selamakombinasi darisemuapesan yang pernah dikirimkan.

Jadi secara teori alasan OTP tidakdapat dipecahkan jika kuncinya secarasempurna diacak, dirahasiakan dan hanyadipakai sekali saja. (Nemati & Yang, 2011)Pada algoritma OTP mempunyai panjangkunci yang sama dengan panjangplaintext.Sehingga tidak ada kebutuhan untukmengulang penggunaaan kunci selama prosesenkripsi.

Pada algoritma OTP mempunyaipanjang kunci yang sama dengan panjangplaintext. Sehingga tidak ada kebutuhan untukmengulang penggunaaan kunci selama prosesenkripsi.Adapun aturan enkripsi dan dekripsi dari onetime pad adalah sebagai berikut:

1. Enkripsi Ci = (Pi + Ki)mod 262. Dekripsi Ci=(Pi – Ki) mod 26

Skema OTP tidak dapat dipecahkan karenaalasan sebagai berikut : (Ariyus, 2008)1. Barisan kunci acak + teks asli yang tidak

acak = teks kode yang seluruhnya acak.2. Mendekripsi teks kode dengan berbagaikunci berbeda dapat menghasilkan plainteksyang beragam sehingga kripnatalis tidak punyacara untuk menemukan plainteks mana yangbenar.Meskipun OTP merupakan suatu algoritmayang sempurna dan aman, tetapi dalam praktikmodern jarang digunakan karena disebabkanoleh panjang kunci = panjang pesan, sehingga

timbul masalah dalam menjaga kerahasiaankunci selama proses pendistribusian kunci(Stamp, 2011).

2.7 El Gamal

Algoritma ElGamal ditemukan padatahun 1985 oleh ilmuwan Mesir yaitu TaherElGamal. Algoritma ElGamal merupakanalgoritma berdasarkan konsep kunci publik.Algoritma ini pada umumnya digunakan untukdigital signature, namun kemudiandimodifikasi sehingga bisa digunakan untukenkripsi dan dekripsi. Algoritma kriptografikunci publik ElGamal merupakan algoritmablok chipper yaitu algoritma yang melakukanproses enkripsi pada blok-blok plainteks yangkemudian menghasilkan blok-blok chipertext,yang nantinya blok-blok chipertext tersebutakan didekripsi kembali dan hasilnyakemudian digabungkan menjadi plaintekssemula. Keamanan algoritma ElGamalterletak pada kesulitan perhitungan logaritmadiskrit pada modulo prima yang besar,sehingga upaya untuk menyelesaikan masalahlogaritma ini menjadi sulit untuk dipecahkan.Algoritma ini memiliki kelebihan yaitupembangkitan kunci yang menggunakanlogaritma diskrit dan metode enkripsi dekripsiyang menggunakan proses komputasi yangbesar sehingga hasil enkripsinya berukurandua kali dari ukuran semula. Kekuranganalgoritma ini adalah membutuhkan resourceyang besar karena chipertext yang dihasilkandua kali panjang plaintext serta membutuhkanprocessor yang mampu untuk melakukankomputasi yang besar untuk perhitunganlogaritma perpangkatan besar. (Madhur,Yadav, dan Vijay, 2012)Satu karakter yang direpresentasikan denganmenggunakan bilangan bulat ASCII akanmenghasilkan kode dalam bentuk blok yangterdiri atas dua nilai (a, b). (Rashmi Singh,Shiv Kumar, 2012)

a) Ambil sebuah karakter dalam pesanyang akan dienkripsi dan transformasikarakter tersebut ke dalam kodeASCII sehingga diperoleh bilanganbulat m. Plainteks tersebut disusunmenjadi blok-blok m1, m2, …,sedemikian hingga setiap blokmerepresentasikan nilai di dalamrentang 0 (nol) sampai p-1.

Page 8: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

5

A B C D E F G H I J K0 1 2 3 4 5 6 7 8 9 10

b) Memilih bilangan acak k, yang dalamhal ini 0 < k < p-1, sedemikian hingga krelative prima dengan p-1.

c) Hitung nilai a dan b denganpersamaan berikut :

a = gk

(mod p) …..………(4)b = yk

m (mod p) ...……..(5)d) Diperoleh cipherteks untuk karakterm tersebut dalam blok (a,b)e) Melakukan proses di atas untukseluruh karakter dalam pesan termasukkarakter spasi.

Dekripsi dari cipherteks ke plainteksmenggunakan kunci rahasia a yangdisimpan kerahasiaanya oleh penerima pesan.Teorema :Diberikan (p,g, y) sebagai kunci public danx sebagai kunci rahasia pada algoritmaElGamal. Jika diberikan cipherteks (a, b),maka

pada proses enkripsi dan dekripsi pesan. Kunciuntuk enkripsi dibangkitkan dari nilai p, g, ysedangkan kunci untuk dekripsi terdiri darinilai x, p. Masing-masing nilai mempunyaipersyaratan yang harus dipenuhi.

Langkah-langkah dalam pembuatan kunciadalah sebagai berikut :

1. Pilih sembarang bilangan prima p, dengansyarat p > 255.

2. Pilih bilangan acak g dengan syarat g < p.3. Pilih bilangan acak x dengan syarat 1 ≤ x

≤ p – 2.4. Hitung y = g^x mod p.

Kunci public nya adalah y, g, p sedangkankunci private nya adalah x. nilai y, g, dan ptidak dirahasiakan sedangkan nilai x harusdirahasiakan karena merupakan kunci privatuntuk mendekripsi plainteks. (Rashmi Singh,Shiv Kumar, 2012).

3. METODOLOGI PENELITIAN

m = b/a x mod p .......... (4)dengan M adalah plainteks.Di mana nilai(ax)-1= r –a = rp -1-a mod p. …(5)

a. Ambil sebuah blok cipherteks daripesan yang telah dienkripsikanpengirim.

b. Dengan menggunakan a yangdirahasiakan oleh penerima, hitung nilaiplainteks dengan menggunakan “persamaan(4)” dan “persamaan (5)”.Secara garis besar algoritma el-gamalmempunya langkah-langkah pembentukankunci sebagai berikut :

a. Bilangan prima, p (bersifat public atautidak rahasia)

b. Bilangan acak, g (dimana g < p danbersifat public atau tidak rahasia)

c. Bilangan acak, x (dimana x < p danbersifat private atau rahasia)

d. Bilangan acak, k (dimana k < p danbersifat private atau rahasia)

e. m merupakan plainteks dan bersifatprivate/rahasia

f. a dan b merupakan pasanganchiperteks hasil enkripsi bersifatprivate atau tidak rahasia.

Proses Pembentukan kunci AlgoritmaElGamal Proses pembentukan kuncimerupakan proses penentuan suatu bilanganyang kemudian akan digunakan sebagai kunci

Subyek penelitian ini adalahMemanfaatkan algoritma kriptografi Elgamaldan One Time Pad (OTP) dalam penyandiandata,sehingga nantinya dari proses keamananakan menghasilkan algoritma yang baru yangmempunyai tingkat kesulitan pengamanan datayang tinggi dan cepat dalam proses enkripsimaupun dekripsi.

Adapun metodologi yang digunakan padapenyusunan penelitian diatas antara lain adalah: Studi pustaka, pengumpulan jurnal ilmiah,pengumpulan ebook dan uji coba progam.

4. ANALISA DAN PERANCANGAN4.1 Proses Enkripsi dan Dekripsi

Algoritma One Time Pad

Pada tahap awal enkripsi, pesan yangdibutuhkan adalah berupa teks yang akandienkripsi, dengan menggunakan kunci acakdimana panjang kunci harus sama denganplaintext. Langkah-langkah proses enkripsinya:

Dimasukkan plainteks adalah :FASILKOM dengan kunci yang dibangkitkansecara acak yaitu XBYHMDKO.Misalkannilai setiap huruf atau karakter yaitu sebagaiberikut :

Tabel 3.1 Nilai Karakter

Sampai huruf Z = 25

Page 9: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

6

I Karakter Plainteks mi (ASCII)1 X 882 B 663 Y 894 H 725 M 776 D 687 K 758 O 79

3. Langkah selanjutnya, menentukanbilangan acak k ∈1, 2, ……, 126,

I mi K αk modp

b = βk.mmod p

1 88 71 69 82 66 107 49 123 89 47 84 1014 72 67 113 1045 77 103 60 396 68 89 98 1227 75 79 62 518 79 29 41 18

Hitung proses enkripsi dengan menggunakanrumus ci = (pi + ki) mod 26.

(F + X) mod 26 = ( 5 + 23) mod 26 = 28mod 26 = 2 = C(A + B) mod 26 = (0 + 1) mod 26 = 1mod 26 = 1 = B(S + Y) mod 26 = (18 + 24)mod 26 = 42mod 26 = 16 = Q(I + H) mod 26 = (8 + 7) mod 26 = 15mod 26 = 15 = P(L + M) mod 26 = (11 + 12) mod 26 =23 mod 26 = 23 = X(K + D) mod 26 = (10 + 3) mod 26 = 13mod 26 = 13 = N(O + K) mod 26 = (14 + 10) mod 26 =24 mod 26 = 24 = Y(M + O) mod 26 =(12 + 14) mod 26 =26 mod 26 = 0 = A

Berdasarkan perhitungan diatas diperolehlahciphertext CBQPXNYA. Ciphertext yangdidapat inilah yang akan dikirim ke penerima.Kemudian kunci dari OTP yaitu“XBYHMDKO” terlebih dahulu akandiamakan menggunakan ElGamal sebelumdikirim.

4.2 Proses Pembangkitan Kunci Elgamal

Pada proses ini dilakukan pembangkitan kuncipublik dan privat dari elgamal yang nantinyaakan digunakan untuk proses pengamanankunci dari OTP “XBYHMDKO”.Berikut urutan langkah-langkah prosespembangkitan kunci :

1. Memilih sebuah bilangan acak primayang diberi simbol pp = 127

2. Menentukan akar primitvie α modulo pnilai α modulo p = 13

3. memilih bilangan acak a dengan syarat2 ≤ a ≤ p – 1

a = 174. Hitung nilai β = αa mod p

β = 1317 mod 127 = 44Hasil pembangkitan kunci adalahkunci publik adalah triple (44, 13, 127)

kunci private adalah pasangan (17, 127) Duapasangan kunci publik dan kunci privat

yang sudah ditentukan ini yang akandigunakan pada enkripsi untuk mengamankankunci OTP.

4.3 Proses Enkripsi Elgamal

Setelah penentuan bilangan prima p =127 dan elemen primitif α = 13, makaterbentuklah hasil kunci publik (127, 13, 44),langkah selanjutnya adalah melakukan enkripsipesan kedalam bentuk chipertext. Adapunurutan proses enkripsi pesan tersebut adalah :1. Masukkan teks yang akan dienkripsi yaitu

berupa kunci dari OTP yang akandiamanankan.Plaintext = XBYHMDKO

2. Pesan dipotong menjadi blok-blok karakterdan dikonversi ke dalam kode ASCII.

Tabel 3.2 Konversi Blok Karakter kedalam kode ASCII

kemudian dilakukan perhitungan a = αk

mod p dan b = βk.m mod p.Tabel 3.3 Perhitungan Enkripsi plaintext

4. Kemudian hasil perhitungan disusundengan pola (a1, b1,a2, b2, ….., ai, bi) makadidapatlah ciphertextnya sebagai berikut :69 8 49 12 84 101 113 104 60 39 98 12262 51 41 18Kunci OTP yang sudah diamankan inilahyang nantinya akan dikirim ke penerima.

4.4 Proses Dekripsi

Pada proses ini penerima melakukandekripsi terhadap kunci OTP yang telahdiamankan oleh Elgamal terlebih dahulu

Page 10: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

7

F

i

i ai bip-1-xmi = bi . ai mod

pKarakter

1 69 8 88 X2 49 12 66 B3 84 101 89 Y4 113 104 72 H5 60 39 77 M6 98 122 68 D7 62 51 75 K8 41 18 79 O

Plainteks

Enkrips

Chiperteks

kemudian baru digunakan untuk membukapesan yang dienkripsi oleh OTP.

4.5 Proses Dekripsi Elgamal

Setelah melakukan proses enkripsimaka untuk membuka kembali plaintext yangsudah dienkrip dilakukan proses dekripsi agarkunci OTP dapat dibaca oleh penerima dandigunakan untuk mendekripsi pesan OTP.Adapaun urutan proses dekripsi adalah sebagaiberikut :

1. Masukkan ciphertext yang akandidekripsiCiphertext = 69 8 49 12 84 101 113 10460 39 98 122 62 51 41 18

2. Langkah selanjutnya dilakukanp-1-x

(N - D) mod 26 = (13 - 3) mod 26 = 10 mod26 = 10 = K(Y - K) mod 26 = (24 - 10) mod 26 = 14 mod26 = 14 = O(A - O) mod 26 =(0 - 14) mod 26 = -14 mod26 = 12 = M

Jika terdapat nilai minus atau negatif dalamperhitungan maka ditambahkan 26 untukmembuat angkanya menjadi positif. Maka dariperhitungan diatas penerima mendapatkankembali plaintext yang dikirimyaitu“FASILKOM”

4.7 Proses Rancangan yang berjalan

Tahapan ini dimulai dengan terlebihdahulu mengamankan pesan dengan caraperhitungan mi = bi . ai mod psetiap karakter dari pesan dienkrip dengan

Tabel 3.4 Perhitungan dekripsi ciphertext

3. Didapatlah kembali kunci OTPXBYHMDKO yang kemudiandigunakan untuk mendekripsi pesanoleh OTP.

4.6 Proses dekripsi One Time Pad

kunci yang ada, kemudian kunci dari OTP(One Time Pad) diamankan lagi menggunakanElgamal agar keamanan kunci saat didistribusitidak bisa dijebol dan juga untuk mengecohpihak ketiga. Tahapan dalam mengamankankunci dimulai dengan pembentukan bilanganprima p, menentukan akar primitif α danmenentukan bilangan bulat x, prosesselanjutnya menghitung β = αx mod p dankemudian akan didapatkan kunci publik (p, α,β) dan kunci private(x, p). setelah prosespembentukan kunci Elgamal, dilanjutkan keproses enkripsi pesan dimana pesan di Elgamaladalah kunci dari OTP yang akan diamankan.Adapun alur dari proses enkripsi pesan denganOTP dan enkripsi kunci OTP yang akandiamankan dapat dilihat pada gambar 3.1.

Pada proses ini penerima melakukandekripsi atas ciphertext yang dikirim denganmenggunakan kunci OTP yang telahdidekripsin untuk mendekripsikannyaciphertext pada One-time pad digunakanlahrumus di = (ci – ki) mod 26. cara yangdilakukan adalah sebagai berikut :

Kunci OTP

Kunci OTP

or I = 1 sampai

Kunci OTP →ASCII

(C - X) mod 26 = (2 - 23) mod 26 = -22 mod26 = 5 = F(B - B) mod 26 = (1 - 1) mod 26 = 0 mod 26= 0 = A(Q - Y) mod 26 = (16 - 24) mod 26 = -8 mod26 = 18 = S(P - H) mod 26 = (15 - 7) mod 26 = 8 mod 26= 8 = I(X - M) mod 26 = (23 - 12) mod 26 = 11mod 26 = 11 = L

a= αk mod p dan b=βk.m mod

Kunci OTP yangsudah diamankan

Gambar 4.1. Flowchart proses enkripsi pesan– kunci

Page 11: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

8

\

5. HASIL DAN PEMBAHASAN

Ada pun hasil proses enkripsi darialgoritma OTP dan algoritma ElGamalsehingga didapatlah hasil ciphertext dancipherkeynya. Untuk lebih jelasnya dapatdilihat pada gambar dibawah ini.

Gambar 5.1 Tampilan Hasil Enkripsi

Untuk dekripsinya terlebih dahulukolom padaplaintext dan key OTPdikosongkan atau dihapus seperti yang terlihatpada gambar dibawah ini.

Ada pun hasil implementasi sebelumproses dekripsi dari algoritma OTP danalgoritma ElGamal sehingga didapatlah hasilciphertext dan cipherkeynya. Untuk lebihjelasnya dapat dilihat pada gambar dibawahini.

Gambar 5.2 Tampilan sebelum di dekripsi

Setelah itu tekan tombol decrypt untukmelakukan proses dekripsi pesan OTP dankunci OTP sehingga didpatlah kembalih hasilplaintext dan kunci OTPnya. Untuk lebihjelasnya dapat dilihat pada gambar dibawahini.

Gambar 5.3 Tampilan setelah dilakukan prosesdekripsi pesan dan kunci

6. KESIMPULAN DAN SARAN

Apabila kita menggunakan suatu algoritmayang sudah ada bahkan yang sudah memilikisource code nya, maka dengan mudah pesantersebut akan mudah dibobol denganmenggunakan algoritma yang sudah ada. Daribeberapa percobaan yang dilakukan darimenggabungkan algoritma One Time Pad danElGamal yang ada ini, dapat diambilkesimpulan :1. Merupakan suatu Super Enkripsi algoritma

yang baru.2. Dapat diimplementasikan pada keamanan

pesan.3. Dapat menutupi kelemahan One Time Pad

yaitu dimana panjang kunci sama denganpanjang pesan sehingga saat melakukanpengiriman pada dua saluran komunikasikunci OTP memerlukan perlindungan.Kelemahan ini sudah ditutupi denganalgoritma ElGamal yang melakukanenkripsi terhadap kunci OTP sehinggakeamanan kunci dari OTP terjaga begitujuga dengan pesannya. Dengan melakukanenkripsi pada kunci OTP mempunyai duakeuntungan yaitu kerahasian kunci terjagadan juga dapat mengecoh pembobolkarena mereka bisa saja berpikir bahwakunci hasil dari enkripsi ElGamal ini kunciOTP yang asli.

Saran untuk perbaikan penelitian ini agar lebihbaik yaitu:1. Untuk pengembangannya dapat dilakukan

pengacakan kunci dari OTP secara randomatau acak.

2. Untuk bilangan prima pada kunci ElGamaldapat dikembangkan dengan melakukan

Page 12: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

9

pengujian menggunakan algoritma untukmengetest keprimaan suatu angka.

DAFTAR PUSTAKA

[1] Ariyus, Dony. 2008. Pengantar IlmuKriptografi :Teori, Analisis danImplementasi, PenerbitAndi:Yogyakarta.

[2] Ariyus, Dony. 2006. ComputerSecurity. Penerbit Andi:Yogyakarta.

[3] Fauziah Yuli, 2008. PengamananPesan Dalam Editor TeksMengunakan Hybrid Cryptosystem.SemnasIF

[4] Kromodimoeljo Sentot, 2010, Teori &Aplikasi Kriptografi, SPK ITConsulting

[5] Munir, Rinaldi. 2006. Kriptografi.Penerbit Informatika:Bandung.

[6] Madhur, Kapil.,Yadav, Singh,Jitendra.& Vijay, Ashish, 2012.Modified Elgamal over RSA DigitalSignature Algorithm (MERDSA).International Journal of AdvancedResearch in Computer Science andSoftware Engeneering(1): 2277-128X

[7] Mollin Richard, 2007 An Introductionto Cryptography, Taylor & FrancisGroup

[8] Munir Rinaldi, 2006, Kriptografi.Penerbit informatika, Bandung

[9] Sadikin Rifki, 2012, Kriptografi untukkeamanan jaringan, CV Andi Offset,Yogyakarta

[10] Schneier, Bruce., 1996, AppliedCryptography : Protocols, Algorithms,and Source Code in C, 2nd EditionJohn Wiley & Sons Inc

Page 13: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

10

KARAKTERISTIK OPENFLOW CONTROLLER DENGAN ONOS

Daniel Halomoan Saragi Napitu1, M.Zarlis2, Tulus3

Magister Teknik Informatika, Universitas Sumatera Utara (USU)Jln Universitas No 9A Kampus USU, Medan, Sumatera Utara

[email protected]

Abstrak

Openflow merupakan protokol yang digunakan dalam implementasi Software Defined Networking

(SDN). Sebagai bagian proses komunikasi antara controller Openflow dan switch Openflow, protokol

Openflow berfungsi sebagai bagian utama proses komunikasi antar kedua perangkat tersebut. Sebagai

perangkat pusat, Openflow controller memiliki fungsi utama dalam komunikasi. Setiap vendor

memiliki pendekatan yang berbeda mengenai bagaimana penerapan proses komunikasi yang

dilakukan oleh controller . Jurnal ini menjelaskan mengenai bagaimana operasional Openflow

controller dengan menggunakan Open Network Operating System (ONOS).

Kata kunci : Openflow Controller , Openflow Network

1. PENDAHULUAN

Ada beberapa jenis Openflow controller

yang dikembangkan vendor yang berbeda,

seperti POX, NOX, Beacon, Helios, dan lain-

lain. Setiap controller dengan vendor yang

berbeda memiliki karakteristik yang berbeda

juga. Mengenal karakteristik sebuah controller

perlu dilakukan untuk mengetahui proses kerja

implementasinya yang dapat digunakan dalam

jaringan industri maupun penelitian akademik.

Dalam jurnal ini yang digunakan adalah Open

Network Operating System (ONOS). ONOS

merupakan sistem operasi jaringan SDN

bersifat open source yang pertama. Fokus

untuk ONOS adalah jaringan service provider

dan ONOS telah dilengkapi fasilitas untuk

mempermudah melakukan kontrol terhadap

seluruh perangkat yang mendukung protokol

Openflow

2. METODOLOGI PENELITIAN

Penelitian dilaksanan dengan

menggunakan komponen perangkat lunak

Mininet (untuk emulasi jaringan Openflow)

dan controller Open Network Operating

System (ONOS) versi Cardinal yang

diinstalasi ke dalam sistem operasi Linux

Ubuntu Server. Topologi yang digunakan

dapat dilihat pada Gambar 2.1.

Page 14: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

11

Gambar 2.1. Topologi penelitian

2.1. Open Network Operating System

(ONOS)

ONOS merupakan sistem operasi

jaringan SDN bersifat open source yang

pertama. Tujuan utama ONOS adalah jaringan

service provider dan ONOS telah dilengkapi

tampilan GUI dan pelengkap untuk

mempermudah kontrol terhadap perangkat

yang mendukung protokol Openflow yang

terhubung padanya. Tampilan GUI untuk

skenario penelitian dapat dilihat pada Gambar

2.2.

Gambar 2.2. Tampilan ONOS pada topologi

penelitian

2.2 . Hasil Konfigurasi

Keberhasilan hasil konfigurasi

topologi pada controller ONOS dapat dilihat

dari hasil pengiriman paket ICMP yang

berhasil terhadap kedua host, seperti terlihat

pada Gambar 3.

Gambar 2.3. Konektivitas antara kedua host

3. PRINSIP KERJA DAN

KARAKTERISTIK ONOS

Untuk mendeteksi perangkat yang

tergabung/yang berada dalam kontrol, sebuah

Openflow controller menggunakan protokol

untuk mendeteksi link yang ada yaitu Link

Layer Discovery Protocol (LLDP) dan

Broadcast Domain Discovery Protocol

(BBDP). Berdasarkan paket yang ditangkap

dengan Wireshark, ONOS menggunakan

LPDP dengan alamat MAC asal yaitu

de:ad:be:ef:ba:11 dengan alamat tujuan

Nicirane 00:00:01, sementara untuk BBDP

(0x8942) menggunakan alamat MAC yang

sama de:ad:be:ef:ba:11dengan tujuan

broadcast. Dapat dilihat pada Gambar 3.1.

Page 15: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

12

Gambar 3.1 LLDP dan BBDP pada ONOS

Untuk membedakan tiap switch yang

terhubung padanya, controller ONOS

menjalankan nomor port secara acak sebagai

identitas dari tiap switch. Bisa dilihat pada

Gambar 3.2., dimana nomor port dijelaskan

sebagai channelID.

Gambar 3.2. Penerapan nomor port pada

switch

Sementara untuk identitas dari

controller utama, ONOS menggunakan port

6633. Dapat dilihat pada Gambar 3.3., alur

komunikasi dari controller kepada switch

yang berada dalam kontrolnya.

Gambar 3.3. Komunikasi antara controller

dan switch

Ketika host hendak memulai komunikasi,

seperti jaringan tradisional, tetap dilakukan

pengiriman Address Resolution Protocol

(ARP) oleh host untuk mencari tujuan. Hal

tersebut dapat dilihat pada Gambar 3.4.

Gambar 3.4. ARP dari komunikasi antar host

Komunikasi antar host kemudian dapat

berjalan, dimana apabila ada alamat tujuan

yang tidak diketahui, switch akan

mengirimkan paket packet-in kepada

controller ONOS untuk menanyakannya,

dimana dengan menggunakan identitas

channelID, controller akan mengirimkan

paket packet-out sebagai respon.

4. HASIL PENELITIAN

Berdasarkan penelitian mengenai

prinsip kerja ONOS menggunakan topologi

dan metode yang digunakan, ONOS sebagai

controller tentu mengatur alur komunikasi

dengan cara yang berbeda dengan jaringan

tradisional dan juga memiliki karakter berbeda

dengan controller dengan vendor lain.

Page 16: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

13

5. KESIMPULAN DAN SARAN

Adapun hal yang dirasa perlu dilakukan

untuk mendukung penelitian lebih lanjut

adalah melakukan penelitian dengan

menggunakan controller vendor lain agar

dapat dilihat bagaimana kinerja jaringan

Openflow sehingga memudahkan penelitian

yang menggunakan controller yang spesifik.

DAFTAR PUSTAKA

[1] Azodolmolky, S. 2013. Software

Defined Networking with Openflow.

PACKT Publishing: Birmingham.

[2] Benton, K., Camp, L.J., Small, C. 2013.

Openflow Vulnerability Assessment.

HotSDN’13 Proceedings of The Second

ACM SIGCOMM Workshop on Hot

Topics in Software Defined Networks.

Pp. 151-152.

[3] Chappel, L. 2010. Wireshark Network

Analysis. Protocol Analysis Institute:

San Jose.

[4] Chappel, L. 2013. Wireshark 101

Essential Skills for Network Analysis.

Protocol Analysis Institute: San Jose.

[5] Duarte, O.C.M.B., Pujolle, G. 2013.

Virtual Networks. ISTE Ltd:

London.Flowgrammable. 2016.

(Online).http://flowgrammable.org/sdn/

openflow/#tab_switch (28 Juni 2016).

[6] Heller, B., Sherwood, R. & McKeown,

N. 2012. The Controller Placement

Problem. HotSDN’12 Proceedings of

The First Workshop on Hot Topics in

Software Defined Networks, pp. 7-12.

[7] Hu, F. 2014. Network Innovation

through Openflow and SDN. CRC

Press: Boca Raton.

[8] Kay, R. 2016. Pragmatic Network

Latency Engineering Fundamental Facts

and Analysis. (Online)

https://www.cpacket.com/wp-

content/uploads/2016/03/introductionto

networklatencyengineering.pdf (28 Juni

2016).

[9] Marschke, D., Doyle, J., Moyer, P.

2015. Software Defined Networking:

Anatomy of Openflow. Lulu Publishing

Services: Raleigh.

[10] Mininet Overview. (Online)

http://mininet.org/overview (17 Agustus

2016).

[11] Nadeau, T.D. & Gray, K. 2013. SDN:

Software Defined Networks. O’Reilly

Media: Sebastopol.

[12] Open Networking Foundation. 2014.

The Benefits of Multiple Flow Tables

and TTPs. (Online)

https://www.opennetworking.org/image

s/stories/downloads/sdn-

resources/technical-

reports/TR_Multiple_Flow_Tables_and

_TTPs.pdf (9 Oktober 2015).

[13] Peterson, L., Davie, B. 2003. Computer

Networks a System Approach. Morgan

[14] Kauffman Publisher: San Francisco. The

Open Networking Lab. 2014.

Introducing ONOS – a SDN Network

Operating System for Service Providers.

(Online) htp://onosproject.org /wp-

Page 17: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

14

content/uploads/2014/11/Whitepaper-

ONOS-final.pdf (9 Oktober 2015).

[15] The Open Networking Lab. (Online)

https://wiki.onosproject.org/display/ON

OS/Guides (9 Oktober 2015).

[16] Turull, D., Hidell, M., Sjödin, P. 2014.

Performance Evaluation of Openflow

Controller s for Network Virtualization.

2014 IEEE 15th International

Conference on High Performance

Switching and Routing (HPSR), pp. 50-

56.

[17] Ubuntu Documentation. (Online)

https://help.ubuntu.com/lts/serverguide/l

xc.html (9 Oktober 2015)

Page 18: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

15

AUTOMATIC WATER TANK PUMP SWITCHER USING MICROKONTROLLERATMEGA16

Nurhayati1, Novriyenni2, Irwansyah Ilham3

Program Studi Manajemen Informatika, STMIK KAPUTAMA BINJAIJl. Veteran No. 4A-9A, Binjai, 20174 Sumatera Utara

www. Kaputama.ac.id //Email : [email protected]

Abstrak

Perkembangan teknologi informatika semakin hari semakin bertambah maju. Dalam dunia industri,informatika memegang peranan penting dalam proses produksi. Seiring dengan lajunya percepatan teknologi,membuat banyak orang menjadi termotivasi untuk membuat sesuatu hal yang baru. Sesuatu yang dapatdikendalikan secara otomatis dengan menggunakan suatu sistem yang mudah dioperasikan. Pada kenyataanya,informatika juga dapat mengurangi beban pemerintah dalam hal penghematan energi listrik, dengan alat-alatyang dapat menghemat listrik atau pun sumber daya lainnya. pengisian penampung air yang dapat menghematair dan listrik, sehingga dibuatlah judul “Automatic Water Tank Pump Switcher Using MicrokontrollerATMEGA16 “.Ketika sistem diaktifkan, dimana dalam hal ini sistem pengisian akan aktif, maka pengontrolanterhadap penampung air sudah dimulai, untuk selanjutnya pemilik rumah tidak perlu menunggu apakah tangkiair sudah penuh atau belum. Dengan demikian pemilik rumah sudah dapat menghemat air, listrik dan waktudalam kehidupan sehari-hari.

Kata Kunci : Mikrokontroler Atmega16, Pompa Air Otomatis

1. PENDAHULUAN1.1 Latarbelakang

Perkembangan teknologi informatikasemakin hari semakin bertambah maju. Dalamdunia industri, informatika memegang perananpenting dalam proses produksi. Seiring denganlajunya percepatan teknologi, membuatbanyak orang menjadi termotivasi untukmembuat sesuatu hal yang baru. Sesuatu yangdapat dikendalikan secara otomatis denganmenggunakan suatu sistem yang mudahdioperasikan. Pada kenyataanya, informatikajuga dapat mengurangi beban pemerintahdalam hal penghematan energi listrik, denganalat-alat yang dapat menghemat listrik ataupun sumber daya lainnya.

Otomasi adalah penggunaan sistemkendali untuk mengontrol proses. Dalam halini, otomasi merupakan sistem

mengontrol satu prosedur atau lebihsecara otomatis, dengan campur tanganoperator manusia yang minim.

Salah satu contoh dalam hal, pengisianpenampung air yang dapat menghemat air danlistrik. Apalagi pada jaman sekarang ini, di

mana terdapat banyak himbauan kepadamasyarakat untuk dapat lebih berhematterutama energi listrik dan air.

Dengan latar belakang inilah, penulismemilih judul “Automatic Water Tank PumpSwitcher Using Microkontroller ATMEGA16“. Ketika sistem diaktifkan, dimana dalam halini sistem pengisian akan aktif, makapengontrolan terhadap penampung air sudahdimulai, untuk selanjutnya pemilik rumahtidak perlu menunggu apakah tangki air sudahpenuh atau belum. Dengan demikian pemilikrumah sudah dapat menghemat air, listrik danwaktu. Karena tidak akan ada lagi air danlistrik yang terbuang dengan sia-sia yangdisebabkan kelalaian kita ( Dwi Pipit Haryantodan Anto Cuswanto, 2010).

1.2 Rumusan Masalah

1. Bagaimana Penerapan Sistem danparameter kendali Mikrokontroller dalamkehidupan sehari-hari?

2. Bagaimana merancang dan mengkonstruksisuatu sistem otomatis untuk menciptakankehidupan yang hemat energi?

Page 19: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

16

3. Bagaimana Mengoptimalkan PemakaianListrik, Air dan Waktu dalam kehidupansehari-hari?

1.3 Tujuan

1. Dapat mengoptimasi bahasa programmikrokontroller dari suatu sitem melaluiteknik-teknik yang telah ada.

2. Dapat merancang dan mengkonstruksisistem pengontrolan pengisian penampungair berbasis mikrokontroller.

2. LANDASAN TEORI

2.1 Mikrokontroler

Mikrokontroler merupakan alat pengolahdata digital dan analog (fitur ADC pada seriAVR) dalam level tegangan maksimum 5v,keunggulan mikrokontroler dibandingkandengan mikroprosesor yaitu lebih murah dandidukung dengan software compiler yangsangat beragam seperti compiler C/C++,Basic, Pascal, bahkan Assembler sekalipunsesuai dengan kemampuannya.

Keunggulan mikrokontroler yaitumemiliki kecepatan eksekusi yang lebih cepatkarena sebagian besar instruksi diproses dalamsatu siklus clock. Pada mikrokontroler AVRmembutuhkan sedikit komponen pendukung,tidak seperti mikrokontroler yang systempendukungnya terpisah atau terbentuk secarapersial, seperti RAM, ROM danMikroprosesor sendiri.

Atmel merupakan sebuah perusahaan yangsangat terkenal dengan produk mikrokontroler.Mikrokontroler produk Atmel dikelompokkandalam satu keluarga, masing-masingmikrokontroler mempunyai spesifikasitersendiri namun masih kompatibel dalampemrogramanya. Beberapa produsenmikrokontroler mengeluarkan jenismikrokontroler yang memiliki fitur-fitur yangsangat beragam seperti AVR jenis Tiny,ATMEGA dan AT90. Dari segi jumlah pindan memori dapat kita lihat perbedaanmikrokontroler jenis AVR ini, seperti table dibawah ini:

Table 2.1 Jenis-jenis AVR

Mikrokontroler Memori

TipeJumlah Pin

Flash

EEPROM

SRAM

TinyAVR 8-32 1-2k 64-128 0-128

AT90 20-44 1-8k 128-512 0-1kATMEGA 32-64

8-128k 512-4k

512-4k

2.2 Mikrokontroler AVR Atmega 16

AVR merupakan seri mikrokontrolerCMOS 8-bit buatan Atmel, berbasis arsitekRISC (Reduced Instruction Set Computer).Hampir semua instruksi dieksekusi dalam satusiklus clock.AVR mempunyai 32 registergeneral-purpose, timer/counter fleksibledengan mode compare, interrupt internal daneksternal, seri USART, programmablewatchdog timer, dan mode power saving, ADCdan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yangmengijinkan memori program untukdiprogram ulang dalam menggunakanhubungan seri SPI ATMega16.

Atmega16 mempunyai throughputmendekati 1 MIPS per MHz membuat disainersistem untuk mengoptimalkan konsumsi dayaversus kecepatan proses. Arsitektur RISCdengan throughput mencapai 16 MIPS padafrekuensi 16 MHz.

2.3 Konfigurasi Pin AVR Atmega16

Konfigurasi pin dari Atmega16dengan kemasan 40 pin Dual In Line Package(DIP) dapat dilihat pada gambar 2.1 di bawah.

Gambar 2.1 Konfigurasi Pin Atmega16kemasan 40 pin

Page 20: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

17

Tabel 2.2 Fungsi Khusus Port B

5. Port C (PC0-PC7) merupakan input/outputdua arah full duplex dan merupakan pinkhusus dengan fungsi sebagai berikut:

Tabel 2.3 Fungsi Khusus Port C

6. Port D (PD0-PD7) merupakan pininput/output dua arah full duplex danmerupakan pin khusus dengan fungsisebagai berikut:

Tabel 2.4 Fungsi khusus Port D

7. RESET merupakan pin yang digunakanuntuk mereset mikrokontroler

8. XTAL1 dan XTAL2 merupakan pinmasukan eksternal clock.

9. AVCC merupakan pin masukan teganganuntuk ADC

10. AREF merupakan pin masukantegangan referensi untuk ADC

2.4 Arsitektur Atmega16

Mikrokontroler Atmega 16 memilikiarsitektur Harvard, yaitu memisahkan memoriuntuk kode program dan memori untuk datasehingga dapat memaksimalkan unjuk kerjadan paralelisme.instruksi-instruksi dalammemori program dieksekusi dalam stu alurtunggal, dimana pada saat satu instruksidikerjakan instruksi berikutnya sudah diambil(pre-fetched) dari memori program. Konsep inilah yang memungkinkan instruksi-instruksidapat dieksekusi dalam setiap satu siklusclock. 32 x 8 bit register serba guna dapatdigunakan untuk mendukung operasi padaAritmetic Logic Unit (ALU) yang dilakukandalam satu siklus. Enam dari register serbaguna dapat digunakan sebagai tiga buahregister pointer 16 bit pada modepengalamatan tak langsung untuk mengambildata pada ruang memori data.Atmega 16 terlihat pada gambar dibawah ini.

2.5 Regulator IC 7805

Regulator IC adalah IC yangdigunakan untuk mengatur tegangan. IC 7805adalah regulator 5V yang membatasi outputtegangan 5V dan menarik 5Vdiatur oleh powerSupply. Muncul dengan ketentuan untukmenambahkan heatsink. Nilai maksimum

Page 21: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

18

untuk input ke regulator tegangan 35V. Hal inidapat memberikan aliaran tegangan stabilkonstan 5V untuk input tegangan yang lebihtinggi sampai batas ambang 35V. Jikategangan dekat 7.5V maka tidak menghasilkanpanas dan karenanya tidak perlu untukheatsink. Jika tegangan lebih, maka kelebihanlistrik dibebaskan sebagai panas dari 7805. Inimengatur output stabil 5V jika tegangan inputadalah dari 7.2V ke 35V. Oleh karena itu,untuk menghindari kehilangan daya harusmempertahankan input ke 7.2V. dalambeberapa fluktuasi tegangan sirkuit fatal, untuksituasi seperti itu maka digunakan regulator IC7805. Dibawah ini adalah gambar dariregulator 7805:

2.3 Gambar regulator 7805

Regulator ini menghasilkan teganganoutput stabil 5V dengan syarat tegangan inputyang diberikan minimal 7-8 Volt (lebih besardari tegangan output) sedangkan batasmaksimal tegangan input yang diperbolehkandapat dilihat datasheet IC 7805 karena jikatidak maka tegangan output yang dihasilkantidak akan stabil atau kurang dari 5V. Jikadibandingkan dengan regulator lain, seri 7805ini mempunyai keunggulan yaitu:1. Untuk regulator tegangan DC, tidak

memerlukan komponen elektroniktambahan.

2. Aplikasi mudah dan hemat ruang

3. Memiliki proteksi terhadap overload(beban lebih), overheat (panas lebih) danhubungan singkat

Tetapi demikian regulator ini jugamemiliki kekurangan yang berarti diantaraadalah sebagai berikut:1. Tegangan input harus lebih tinggi 2-3

Volt dari tegangn output sehingga IC7805 kurang tepat jika digunakan untukmenstabilkan tegangan battery 6 Voltmenjadi 5 Volt.

2. Seperti halnya regulator lain, arus inputsama dengan arus output. Karenategangan input harus lebih tinggi daritegangan output, maka akan tejadi panaspada IC regulator 7805 sehinggadiperlukan heatsink (pendingin) yangcukup.

2.6 Relay

Relay adalah saklar yang dioperasikansecara listrik dan merupakan komponenelectromechanical yang tediri dari 2 bagianuatma akni elektromagnet dan mekanikal.Relay menggunakan prinsip elektromagnetikuntuk menggerakkan kontak saklar sehinggadengan arus listrik yang kecil dapatmenghantarkan listrik yang bertegangan lebihtinggi. Pada dasarnya relay tediri dai 4komponen dasar, yaitu:1. Electromagnet (Coil)2. Armature3. Switch Contact Point (Saklar)4. Spring

Beberapa fungsi relay yang telahumum diaplikasikan kedalam peralatanelektronika diantaranya adalah:1. Relay digunakan untuk menjalankan fungsi

Logika (Logic Function)2. Relay digunakan untuk memberikan fungsi

penundaan waktu (Time Delay Funcion).Dibawah ini adalah gambar bentuk relaydan simbol relay yang sering ditemukan dirangkaian elektronika.

Page 22: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

19

Gambar 2.4 Bentuk Relay dan Simbol Relay

2.7 Liquid Crystal Display (LCD)

LCD (Liquid Crystal Display)merupakan perangkat displayyang palingumum dipasangkan ke mikrokontroler,mengingat ukurannya yang kecil dankemampuan menampilkan karakter atau grafikyang lebih baik dibandingkan display 7segment atau alphanumeric. LCD (LiquidCrystal Display) adalah modul penampil yangbanyak digunakan karena tampilannyamenarik. LCD yang paling banyak digunakanadalah LCD M1632 karena harganya cukupmurah dan konsumsi daya rendah. LCDmempunyai pin data, kontrol catu daya danpengatur kontras tampilan.

Fungsi dari pin-pin pada rangkaian LCD yaitu:1. Pin data, dapat dihubungkan dengan bus

data dari rangkaian lain sepertimikrokontroler dengan lebar dat 8 bit

2. Pin RS (Register Select) berfungsi sebagaiindikator atau yang menentukan jenis datayang masuk apakah data atau perintah.Logika low menunjukkan yang masukadalah perintah sedangkan logika highmenunjukkan data

3. Pin R/W (Read/Write) berfungsi sebagaiinstruksi pada modul, jika low tulis data,jika high baca data

4. Pin E (Enable) digunakan untuk memegangdata baik masuk atau keluar

Berikut ini adalah gambar rangkaian LCD(Liquid Crystal Display) 16 x 2

2.5 Gambar Rangkaian LCD 16 x 2

2.8 Resistor

Resistor adalah komponen elektronikayang berfungsi untuk menghambat arus listrikdan menghasilkan nilai resistenasi tertentu.Kemampuan resistor dalam menghambat aruslistrik sangat beragam disesuaikan dengannilai resistensi resistor tersebut.

Gambar 2.6 Bentuk dan Simbol Resistor

Resistor memiliki beragam jenis danbentuk. Diantaranya resistor yang berbentuksilinder, SMD (Surface Mount Devices) danwirewound. Resistor dengan kode warnaterdiri dari 3 macam, yaitu:1. Resistor 4 pita warna dengan 1 pita warna

untuk toleransi2. Resistor 5 pita warna dengan 1 pita warna

untuk toleransi3. Resistor 5 pita warna dengan 1 pita warna

untuk toleransi dan 1 pita warna untukreliabilitas.

Page 23: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

20

2.9 Transistor

Transistor adalah alat semikonduktoryang dipakai sebagai penguat, sebagai sirkuitpemutus dan penyambung, stabilisasi teganganatau pun modulasi sinyal. Transistor memilikidua tipe dasar yaitu transistor bipolar (BJT)dan transistor unipolar (FET). Transistorbipolar menggunakan dua polaritas pembawamuatan yaotu elektron dan lubang untukmembawa arus listrik. Dalam transistorbipolar, arus listrik utama harus melewati satudaerah/lapisan pembatas dan ketebalan lapisanini diatur dengan kecepatan tinggi dengantujuan untuk mengatur aliran arus utamatersebut. Sedangkan transistor unipolar hanyamenggunakan satu jenis pembawa muatan(elektron atau hole).

2.10 Kapasitor

Kapasitor atau kondensator (C) adalahkomponen dasar elektronika yang termasukdalam komponen pasif yang digunakan untukmenyimpan muatan listrik dalam jangka waktutertentu. Kapasitor pada umumnya terdiri atasdua plat logam yang dipisahkan oleh suatubahan penyekat, biasa disebut bahanelektronika yaotu berupa vakum udara,keramik, gelas, mika dan lain-lain. Jika keduaujung plat metal diberi tegangan listrik, makamuatan-muatan positif akan mengumpul padasalah satu kaki (elektroda) metalnya dan padasaat yang sama muatan-muatan negatifterkumpul pada ujung metal lainnya. Muatanpositif tidak dapat mengalir menuju ujungkutub negatif dan sebaliknya muatan negatiftidak bisa menuju ku ujung positif karenaterpisah oleh bahan dielektrik yangninkonduktif. Kapasitor dibagi dalam bebrapajenis yaitu kapasitor yang memiliki kapasitastetap (kapasitor non polar), kapasitor yangmemiliki polaritas pada kedua kakinya yaitupolaritas + dan polaritas – (kapasitor polar)

dan kapasitor yang memiliki kapasitas yangdapat diubah-ubah (kapasitor variabel).

Gambar 2.7 Jenis dan Simbol Kapasitor

2.11 Pompa Air

Pompa air adalah suatu alat yangberfungsi untuk memompa air dimana padabagian pompa air ini menggunakan pompa airaquarium ikan hias yang dijual dipasaran. Padasistem ini pompa air berfungsi untuk mengisiair dan menghentikan air masukkepenampungan air (toples plastik) sesuaimasukan yang diterima dari rangkaian driver,dimana ketika relay dalam kondisi ON(menyala) pompa berfungsi mengisi air padapenampung air dan sebaliknya ketika relaydlaam kondisi OFF (mati) pompa air berhentimengisi air. Adapun gambar dari pompa airterlihat pada gambar dibawah ini:

Gambar 2.8 Pompa Air

2.12 Sensor Switch Air

Sensor switch air adalah saklarotomatis yang digunakan untuk mendeteksiketinggian, contohnya untuk mendeteksi suatuvolume benda cair yang terdapat pada suatutabung atau tangki penampungan sepertipenampungan air.

Sensor switch berada dibagian depan(besi panjang yang dipisahkan oleh bendaberwarna putih) berfungsi untuk mendeteksibenda cair, kemudian kontrolnya ada dibagianbelakang berbentuk bulat, didalamnya terdapatrangkaian elektronik yang bertugas sebagaipengontrol kerja switch, selain itu juga sebagaiterminal untuk dihubungkan ke perangkatlistrik lainnya, selain itu switch mempunyaitegangan kerja antara 100-200 Vac danmempunyai beban kerja sekitar 5 Ampere.

Page 24: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

21

Adapun gambar dari sensor switch adalahseperti di bawah ini:

Gambar 2.9 Sensor Switch Air

3. ANALISA DAN PERANCANGAN

SISTEM

Ini akan membahas bagaimana carauntuk menganalisa hardware dan software.Agar masalah bisa diselesaikan, dibutuhkanmetode-metode khusus untuk menyelesaikanmasalah, berikut metode-metodenya:1. Perancangan Blok Diagram

Analisa rangkaian meliputi perancanganblok diagram rangkaian, jika susunan sudahbenar maka akan dilanjutkan pembuatanrangkaian.

2. Perancangan RangkaianSelanjutnya membuat alur kerja rangkaiandan membuat perancangan rangkaianmasing-masing driver dan memberi inputprogram sebagai pengendali tiap-tiaprangkaian.

3.1 Perancangan Perangkat Keras

Untuk mengetahui cara kerja darisistem Automatic Water Tank Pump SwitcherUsing Microkontroller ATMEGA16berdasarkan blok diagram alat diatas yaitu saatpower supply menyala (ON) akan membuatmikrokontroler ATMEGA16, LCD displayjuga dalam posisi menyala (ON).

Pada saat sensor switch off kemudiansinyal dikendalikan oleh rangkaianmikrokontroler selanjutnya driver akanmengkatifkan pompa dan mengisi air padatoples plastik hasilnya akan ditampilkan diLCD (ON).

Pada sensor switch ON/ tertekan air,kemudian sinyal dikendalikan oleh rangkaianmikrokontroler selanjutnya driver akanmematikan pompa dan hasilnya ditampilkan diLCD (ON) demikian seterusnya.

3.2 Rangkaian Sensor yang Digunakan

Gambar 3.2 Rangkaian Sensor Switch

Dalam perancangan ini sensor yangdigunakan adalah sensor switch air untukmendeteksi ketinggian atau lever dari volumeair pada tangki. Sensor switch dipasang padatangki air untuk mendeteksi volume air yangmasuk ke dalam tangki, kemudian alat tersebutdihubungkan dengan mesin pompa air, padasaat volume air di dalam tangki mencapai leveltertentu dan terdeteksi oleh sensor, makasensor switch akan bekerja sebab sensor switchterendam oleh air, ketika itu pula sensor switchakan memerintahkan mesin pompa air untukberhenti berputar dalam artian sensor switchakan memutuskan aliran arus yang ke mesinpompa air. Mesin pompa air akan kembalibekerja ketika volume air yang ada di dalamtangki berkurang atau kosong dan terdeteksioleh sensor switch yang dipasang dibagianbawah tangki (low) pada saat itu pula sensorakan memerintahkan mesin pompa air untukbekerja atau berputar agar mengisi tangki,demikian seterusnya.

Page 25: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

22

3.3 Rangkaian Keseluruhan dari Alat

Mikrokontroler ATMEGA16 adalahsuatu chip IC yang terdiri dari 40 pin, dalamperancangan alat ini pin-pin digunakanadalah:PB 0 s/d PB 7 digunakan untuktampilan LCD, PC 2 dan PC 3 digunakanuntuk rangkaian sensor, Pin/kaki Chip 12digunakan sebagai X-TAL2, Pin/kaki Chip 13digunakan sebagai X-TAL1, Pin/kaki Chip 32dan 30 digunakan sebagai AREF dan AVCC

Adapun gambar dari rangkaianMikrokontroler ATMEGA16 adalah sepertigambar di bawah ini:

Gambar 3.3 Rangkaian MikrokontrolerATMEGA16

3.4 Rangkaian Driver Pompa Air

Pompa air adalah suatu alat yang berfungsiuntuk memompa air dimana pada bagianpompa air ini menggunakan pompa air padaaquarium ikan hias yang dijual dipasaran. Padasistem disini pompa air berfungsi untukmengisi air dan menghentikan air masukkepenampungan air (toples plastik) sesuaimasukan yang diterima dari rangkaian driver,dimana ketika relay dalam kondisi ON(menyala) pompa berfungsi mengisi air padapenampung air dan sebaliknay ketika relaydalam kondisi OFF (mati) pompa air berhentimengisi air.

Adapun gambar dari rangkaian driverpompa air terlihat pada gambar dibawah ini:

Gambar 3.4 Rangkaian Driver Pompa Air

3.5 Power Supply

Rangkaian Power Supply digunakanuntuk memberikan tegangan ke dalammikrokontroler yang stabil dan mempunyaiarus yang cukup ke dalam mikrokontrolersehingga tidak terjadi tegangan turun saatdiperasikan. Mikrokontroler ATMEGA16membutuhkan sebuah tegangan tunggalsebanyak +4,5 sampai +5 Volt dan relaymembutuhkan tegangan sebesar 12 Volt untukdapat aktif. Untuk itu dibuatlah catu dayadengan komponen sebagai berikut.Transformator sebesar 500mA digunakanuntuk menurunkan tegangan bolak-balik dariPLN yang sebesar 220 Volt menjadi teganganyang lebih kecil yaitu 5 Volt yang digunakanuntuk menghidupkan mikrokontroler dan 12Volt untuk mengaktifkan relay untukmengendalikan pompa. Tegangan bolak-balikyang telah diturunkan ini kemudian disarankanoleh dioda penyearah yang disusun dalamsusuna jembatan (bridge) dan hasilpenyearahan adalah tegangan searah dengantegangan sebesar 15 Volt uantukmenggerakkan relay. IC 7805 digunakan untukmenstabilkan tegangan tersebut menjaditegangan 5 Volt dan IC 7812 digunakan untukmenstabilkan tegangan tersebut menjaditegangan 12 Volt yang selanjutnya digunakanuntuk mencatu rangkaian.

Gambar 3.4 Rangkaian Power Supply

Page 26: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

23

12 Elco 25V 3 Buah13 Transistor TO-92 2 Buah

No Peralatan dan Bahan Jumlah1 Mikrokontroler

Atmega161 Buah

2 Buzzer 1 Buah3 Relay 2 Buah4 LCD 2x16 1 Buah5 Regulator IC 7805 3 Buah6 Sensor Switch Air 1 Buah7 LED (Light Emiting

Diode)3 Buah

8 Saklar (switch) 1 Buah9 Metal Film Resistor 2 Buah10 Dioda 1A 5 Buah11 Carbon Film Resistor 2 Buah

3.5 Flowchart

Flowchart sistem kerja mikrokontrolerpada Automatic Water Tank Pump SwitcherUsing Microkontroller ATMEGA16 ini adalahsebagai berikut:

Start

USBDownloader

USBDownloader adalah perangkatkeras yang digunakan untuk pengisianprogram dari komputer ke IC mikrokontrolerAtmega16 seperti gambar dibawah ini, yaitu:

Air Isi

No

Sensor Aktif

Mesin Nyala

No

End

Yes Tampilan LCD

InInfofoLLeevveel lAAirir

Yes

Gambar 4.1 USBDownloader

Proses Pemasangan Komponen

Bentuk dari pemasangannya adalahsebagai berikut: Resistor dipasang pada PCB,Kapasitor dipasang pada PCB, IC dipasangpada PCB, Buzzer dipasang pada PCB, LCDdipasang pada modul rangkaian, Sensorswitch dipasang pada galon air, Relay

Gambar 3.6 Flowchart Automatic Water TankPump Switcher Using Microkontroller

ATMEGA16

3.6 Bahan dan Peralatan Yang Digunakan

Perangkat keras yang berupa peralatandan bahan yang dibutuhkan pada sistem inimeliputi:Tabel 4.1 Peralatan dan Bahan yangDigunakan pada Sistem Perancangan

dipasang pada PCB, Switch/Saklar dipasangpada PCB, Elco dipasang pada PCB, Semuakomponen dipasang pada PCB.

Pengujian rangkaian keseluruhandilakukan setelah pengecekan mulai daribagian masing-masing rangkaian penyusundan pengisian ke dalam IC MikrokontrolerAtmega16 selesai.

Langkah pengujian alat penampungan airotomatis ini adalah:1. Menghubungkan kabel AC dari rangkaian

ke sumber listrik2. Mengisi air pada sumur atau toples plastic3. Mencatat hasil pengukuran untuk kemudian

dianalisa.Pengujian dilakukan menggunakan toples

dan galon aqua, kondisi ini menyerupaikondisi yang sebenarnya di dalampenampungan air. Pada saat pengujian semuabagian berjalan sebagaimana mestinya. Padasensor air telah bekerja mampu memberikanumpan ke bagian mikrokontroler. Bagiankontroler melanjutkan ke bagian relay driverdan diteruskan unutk memberikan instruksi kebagian LCD dan pompa air. Ketika air kosongpada penampungan maka sensor akan aktif,menandakan air kosong pada LCD. Disaat itu

Page 27: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

24

juga pompa akan aktif dan mengisi air kepenampungan, level air akan terlihat padatampilan LCD dimulai dari level 1, level 2,level 3 dan level 4, tergantung dari air yangmengenai sensor switch. Ketika air sudahpenuh berada pada level 4 maka pompa airakan otomatis mati dan berhenti mengisi airpada penampungan. Begitu juga sebaliknyaketika air mulai kosong maka pompa akankembali menyala dan mengisi air padapenampungan air.

Gambar 4.3 Rangkaian saat Air pada Level 4

4. KESIMPULAN DAN SARAN4.1 Kesimpulan

Dari hasil penulisan ini maka dapatdiperoleh kesimpulan sebagai berikut:1. Dari hasil pengujian yang dilakukan

bahwasanya rangkaian penampungan airotomatis menggunakan mikrokontrolerAtmega16 yang dirancang pada ini dapatmelakukan pengisian secara otomatissehingga layak untuk digunakan dalamkehidupan sehari-hari.

2. Setelah dilakukan pengujian terhadap alatpenampungan air otomatis selesai ternyataterdapat penghematan penggunaan listrik,air dan waktu.

3. Penggunaan sensor switch air dapatmenghasilkan data yang lebih akurat karenasensor ini akan terpasang pada tangki airdan terendam oleh air. Tetapi sensor dapattidak terdetect karena terjadi korosi padaswitch akibat dari terendam air terusmenerus.

4. Pada penampungan air ini akan terlihatlevel-level air yang dihasilkan dari sensorswitch, sehingga kita tidak perlu melihatsecara terus menerus air yang ada dalampenampungan air.

4.2 Saran

1. Agar sensor switch dapat terbaca denganbagus maka sebaliknya setelah melakukanuji coba pada alat ini, sensor harus segeradikeringkan agar tidak terjadi korosi ataupengikisan terhadap sensor oleh air.

2. Untuk memperpanjang masa sensorsebaiknya gunakan sensor yang tahanterhadap pengikisan air, agar alat dapatdigunakan sebagai keperluan kehidupansehari-hari.

3. Untuk menyempurnakan tampilan padaLCD dapat dilakukan pengembanganterhadap rangkaian display danmengembangkan program denganmengembangkan bahasa C padamikrokontroler Atmega16.

DAFTAR PUSTAKA

[1] Subandi. Februari 2014. “Sistem AplikasiKran Otomatis Untuk Penghematan AirBerbasis Mikrokontroler Atmega16”.Jurnal Teknologi Technoscientia. Vol.6No.2 Februari 2014.

[2] Cuswanto Anto, Hariyanto Dwi Pipit(2010). “Otomatisasi PengisianPenampung Air Berbasis MikrokontrolerAT8535”. 2010.

[3] Achmad Andani, Umraeni A. Ejah.Agustus 2011. “Penentuan Level AirTangki Dengan Sistem Kendali”. JurnalIlmiah “Elektrikal Enjiniring”UNHAS.Volume 09/No.02/Mei-Agustus/2011

[4] Prihantoro Tegar Bhakti, Husni RizkyCharli Wijaya (2011). “Alat PendeteksiTinggi Permukaan Air Secara OtomatisPada Bak Penampungan AirMenggunakan Sensor UltrasonikBerbasis Mikrokontroler”. 2010/2011.

[5] Nugroho Gigih Prio, S Mazharuddin Ary,Studiawan Hudan (2013). “SistemKecepatan Air dan Sensor Ketinggian Airpada Mikrokontroler Arduino”. JurnalTeknik Pomits. Vol. 2, No. 1 (2013).

[6] Hadi Mokh. Sholihul. “MengenalMikrokontroler AVR Atmega16”.IlmuKomputer.Com.

[7] Arief Ulfah Mediaty (2011). “PengujianSensor Ultrasonik PING untukPengukuran Level Ketinggian danVolume Air”. Jurnal Ilmiah “Elektrikal

Page 28: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

25

Enjiniring” UNHAS. Volume09/No.02/Mei-Agustus/2011.

[8] Astari Sutris, MT.ST.Pramana Rozeff,Msc.Nusyirwan Deny. “Kran Air wudhu’Otomatis Berbasis Arduino Atmega 328”.Universitas Maritim Raja Ali Haji.

[9] Vrileuis Adam. April 2013. “PemantauLalu Lintas dengan Sensor LDR BerbasisMikrokontroler Atmega16”. JurnalRekayasa Elektrika. Vol.10, No. 3, April2013.

[10] Raharjo Budi, Joni I Made. Oktober 2008.Pemrograman C dan ImplementasinyaEdisi Kedua. Bandung: PenerbitInformatika.

[11] Nurcahyo Sidik (2012). Aplikasi danTeknik Pemrograman MikrokontrolerAVR Atmel. Yogyakarta: Penerbit Andi.

[12] Istiyanto Jazi Eko (2014). PengantarElektronika & Instrumentasi PendekatanProject Arduino & Android. Yogyakarta:Penerbit Andi.

[13] Phys.Dipl, Blocher Richard (2003). DasarElektronika. Yogyakarta: Penerbit Andi.

[14] Yudhanto Danang Saktyo (2012).“Tandon Air Otomatis BerbasisMikrokontroler Atmega16”. STMIK adiUnggul Bhirawa. Surakarta.

Page 29: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

26

ALGORITMA VIGENERE CIPHER DAN HILL CIPHER DALAM APLIKASIKEAMANAN DATA PADA FILE DOKUMEN

Akim Manaor Hara Pardede1, Hotler Manurung 2, Dina Filina 3

1, 2, 3Program Studi Sistem Informasi, STMIK KAPUTAMAJl. Veteran 4A-9A,Binjai

*[email protected]

Abstrak

Perkembangan kriptografi terus berlanjut walaupun algoritma yang terkemuka dan dinilai kompleks sudah mulaibisa dipecahkan. Algoritma- algoritma kriptografi klasik seperti Hill Cipher dan Vigenere Cipher pin memilikikelemahan akan kriptanalisis. Algoritma hill cipher dan vigenere cipher merupakan salah satu metode daribeberapa metode yang digunakan untuk melakukan kerahasian data, hill cipher adalah algoritma keamanan datamenggunakan perhitungan perkalian matriks, sedangkan vigenere cipher adalah algoritma yang melakukanenkripsi sekaligus sebuah teks yang terdiri dari beberapa huruf. Jika kedua algoritma diatas dikombinasikandalam sebuah aplikasi keamanan data, maka akan lebih sulit memecahkan sandinya bila dibandingkan denganhanya menggunakan satu algoritma saja. Penggabungan antara dua algoritma tersebut menjadi sebuah solusiuntuk memperkuat algoritma menjadi lebih sulit untuk dapat dipecahkan dan untuk mengecoh kriptanalisis. Fileteks yang telah diamankan menggunakan Algoritma Vigenere Cipher akan diamankan lagi menggunakanAlgoritma Hill Cipher. Implementasi sistem menggunakan perangkat lunak Visual Basic.Net 2010. Hasil darisistem ini berupa file yang ter-enkripsi (cipherfile) yang tidak bisa dimengerti. Kemudian fileteks kembalinormal setelah di-dekripsi.

Kata kunci: Hill Cipher, Kriptografi, Vigenere Cipher, Visual Basic.Net 2010

1. PENDAHULUAN1.1 Latarbelakang

Dalam sistem keamanan data dikenalsebuah metode enkripsi yang mempunyaikode-kode pengamanan untuk mengacak datadan juga mempunyai kode- kode untukmengembalikan data yang teracak ke datayang sebenarnya. Enkripsi bisa diartikandengan chiper atau kode, dimana pesan asli(plaintext) diubah menjadi kode-kodetersendiri sesuai metode yang disepakati olehkedua belah pihak, baik pihak pengirim pesanmaupun penerima pesan. Aplikasi-aplikasikeamanan data sudah banyak diterapkan dandigunakan dalam kehidupan sehari-hari,khususnya pada aplikasi smartphone androidyang pada saat ini menjadi kebutuhan primerbagi kita semua.

Penelitian yang dilakukan oleh F.Wiwiek Nurwiyati dan Indra Yatini B(Oktober 2013) dengan judul “EnkripsiDekripsi Data Menggunakan Metode Stream

Dan Vigenere Cipher”. Dengan hasil sebagaiberikut: Teknik kriptografi enkripsi dekripsidengan menggunakan metode Stream danVigenere Cipher dapat melindungi datadimana program akan melakukan prosesenkripsi dan deskripsi menggunakan dua kunciyang berbeda satu kunci dibangkitkan dengankarakter plain text dan satu lagi di inputkansecara manual.

Algoritma enkripsi akan memberikanhasil yang berbeda tergantung pada kunci yangdigunakan. Mengubah kunci dari enkripsi akanmengubah output (keluaran) dari algoritmaenkripsi. Setelah itu ciphertext kemudianditransmisikan oleh pengirim. Kemudian akandilakukan proses dekripsi, yaitu sebuah prosesuntuk mengembalikan teks yang telah acakmenjadi kebentuk semula dengan algoritmadan kunci yang sama. Dalam hal ini dilakukanoleh penerima, sehingga akan kembali menjadisebuah informasi yang dapat dipahami olehpenerima.

Page 30: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

27

Algoritma hill cipher dan vigenerecipher merupakan salah satu metode daribeberapa metode yang digunakan untukmelakukan kerahasian data, hill cipher adalahalgoritma keamanan data menggunakanperhitungan perkalian matriks, sedangkanvigenere cipher adalah algoritma yangmelakukan enkripsi sekaligus sebuah teksyang terdiri dari beberapa huruf. Jika keduaalgoritma diatas dikombinasikan dalam sebuahaplikasi keamanan data, maka akan lebih sulitmemecahkan sandinya bila dibandingkandengan hanya menggunakan satu algoritmasaja.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalahyang ada diatas, maka penulisan merumuskanmasalah sebagai berikut :1. Dengan menggunakan Algoritma

Vigenere Cipher dan Algoritma HillCipher, bagaimana merancang keamanandata file teks agar data tersebut tidakmudah dipecahkan.

2. Merancang keamanan data file teksdengan mengkombinasikan AlgoritmaVigenere Cipher dan Algoritma HillCipher.

1.3 Tujuan Penelitian

Tujuan penelitian ini antara adalah :1. Merancang keamanan data file teks

menggunakan algoritma Vigenere Cipherdan Hill Cipher.

2. Menghasilkan suatu sistem yang mampumelindungi data dan merahasiakannyadengan menggunakan algoritma VigenereCipher dan Hill Cipher.

2. LANDASAN TEORI

2.1 Algoritma Vigenere Cipher

Menurut Sadikin (2012, h. 48) sandivigenere merupakan sistem sandi poli-alfabetik yang sederhana, sistem sandi poli-alfabetik mengenkripsikan sekaligus sebuahteks yang terdiri dari beberapa huruf. Sandivigenere menggunakan subtitusi dengan fungsishift.

ciphertext bisa memiliki banyak kemungkinanplaintextnya. Teknik ini bisa dilakukan olehdua cara yaitu : angka dan huruf.

Cipher ini hanya bergantung padametodologi confusion untuk membuat ciphertext. Pola berulang pada plaintext tidakmelalui difusi, melainkan hanya dikamuflaseoleh seri dari pergeseran Caesar cipher.Vigenere cipher dianggap unbreakable selamahampir 300 tahun. Tetapi akhirnya metodeuntuk memecahkannya ditemukan olehKasiski dan Kerckhoff. Kedua metodeberdasar pada fakta bahwa kuncinya berulangdan pada umumnya bahasa yang digunakansehari-hari bersifat repetitif. Jika pesan jauhlebih panjang dari kunci, pada akhirnya kunciakan mengenkripsi satu kumpulan huruf yangsama yang sebelumnya telah digunakan dandienkripsi oleh kunci yang sama. Hal ini akanmenciptakan suatu pola yang berisi kumpulanhuruf yang berulang. Dengan mencarifrekuensi antara kumpulan huruf yangberulang dan memfaktorkannya, bisaditemukan panjang kunci. Jika panjang kuncisudah diketahui, kunci akan dengan mudahdiketahui dengan menggunakan analisisfrekuensi pada setiap kumpulan Caesarcipher. Makin panjang kunci, akan makin sulitdan makin panjang proses penemuan kunci.Faktanya, jika kuncinya paling tidak samapanjang dengan panjang plaintext, cipher textkebal dari serangan tersebut. Cipherdi mana panjang kunci sama dengan panjangpesan disebut one time pad.

a. AngkaTeknik subtitusi vigenere dengan

menggunakan angka dilakukan denganmenukarkan huruf dengan angka, hampir samadengan kode geser.

Kunci dengan 5 huruf kode jika ditukardengan angka akan menjadi K = (10, 20,13, 2,8), dan teks-aslinya “ STMIK KAPUTAMABINJAI”.

Sedangkan menurut Ariyus (2006, h.33) pada teknik subtitusi vigenere setiap

Page 31: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

28

Teks-asli : STMIK KAPUTAMABINJAIKunci : ( 10, 20, 13, 2, 8 )Teks-kode :CNAKSUUCWBKGNDQXDNKb. Huruf

Untuk mengenkripsikan pesandengan kode vigenere digunakan tabula recta(disebut juga bujursangkar vigenere). Kolompaling kiri dari bujursangkar menyatakanhuruf-huruf kunci, sedangkan baris paling atasmenyatakan huruf-huruf plainteks. Setiap barisdi dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh denganCaesar Cipher, yang mana jauh pergeseranhuruf plainteks ditentukan nilai desimal olehhuruf kunci tersebut (di sini, a = 0, b = 1, c =2, …, z = 25). Sebagai contoh, huruf kunci c(= 2) menyatakan huruf plainteks digesersejauh 2 huruf ke kanan (dari susunanalfabetnya).

Bujur sangkar Vigènere digunakanuntuk memperoleh cipherteks denganmenggunakan kunci yang sudah ditentukan.Jika panjang kunci lebih pendek dari padapanjang plainteks, maka kunci diulangpenggunaannya (sistem periodik). Secaramatematis enkripsi dengan kode Vigenere bisadinyatakan sebagai berikut:

Algoritma enkripsi vigenere cipher :Ci = ( Pi + Ki ) mod 26Algoritma dekripsi vigenere cipher :Pi = ( Ci – Ki ) mod 26

Dimana :Ci = nilai desimal karakter ciphertext ke-iPi = nilai desimal karakter plaintext ke-iKi = nilai desimal karakter kunci ke-i

Salah satu kelebihan kode vigenereadalah sulitnya melakukan kapitanalisisdengan metode analisis frekuensi karena duahuruf yang sama dalam teks-kode belumtenetu bisa dideskripsikan menjadi dua hurufyang sama dalam teks-asli. Kelemahan utamakode vigenere adalah kuncinya yang pendekdan penggunaannya yang berulang-ulang. Jikakriptanalis dapat menentukan panjang kuncisaja maka teks-kode dapat diperlakukanseperti rangkaian beberapa kode Kaisar.

2.2 Algoritma Hill Cipher

Menurut Sadikin (2012, h. 51) sandihill merupakan sandi polyalphabet denganmenggunakan metode subtitusi dengan

perhitungan perkalian matriks. Kunci padasandi hill adalah sebuah matriks K berukuran nx n yang digunakan untuk mensubtitusi nalphabet sekaligus.

Menurut Ariyus (2008, h. 59) kode hilltermasuk salah satu kripto polialfabetik, yangberarti setiap karakter alfabet bisa dipetakanke lebih dari satu macam karakter. Kode iniditemukan pada tahun 1929 oleh Lester S.Hill.

Teknik Dasar Hill CipherTeknik Hill Cipher adalah aritmatika

modulo terhadap matriks. Dalampenerapannya, Hill Cipher menggunakanteknik perkalian matriks dan teknik inversterhadap matriks. Kunci pada Hill Cipheradalah matriks n x n dengan n merupakanukuran blok. Matriks K yang menjadi kunci iniharus merupakan matriks yang invertible,yaitu memiliki inverse K-1 sehingga:

Keterangan:K = KunciK-1 = Invers KunciI = Matriks IdentitasKunci harus memiliki invers karena

matriks K-1 tersebut adalah kunci yangdigunakan untuk melakukan dekripsi .

3. PERANCANGAN

3.1 Perancangan UML (Unified ModellingLanguage)

Dalam bagian ini akan dijelaskanuntuk mendeskripsikan apa yang harusdilakukan oleh sistem, digambarkan dalambentuk use case yang bertujuan untukmenunjukkan alur kerja dan proses dari sistemaplikasi yang akan dibuat.

Use Case Diagram atau diagram usecase merupakan pemodelan untukmenggambarkan kelakuan (behavior) sistemyang akan dibuat, diagram use casemendeskripsikan sebuah interaksi antara satuatau lebih actor dengan sistem yang akandibuat. Proses yang akan digambarkan akanberlangsung secara terstruktur. Berikutmerupakan gambaran use case diagram untuksistem yang akan dibangun pada gambar 3.1 :

Page 32: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

29

Teksasli_1, KunciVigenere Cipher

«uses»Ekripsi Vigenere

Cipher

merupakan flowchart dekripsi cipherfile dancipherkey :

Mulai

Tekssandi, Kunci_MatriksHill Cipher

«uses»Ekripsi

Dekripsi

«uses»

«uses»

Ekripsi Hill Cipher

Dekripsi kunci

InvK = K.Invers() AdjK= K.Adjoint() DetK =

K.Determinan()For(int i = 0; i<tekssandi;

i =i+mchar

HasilModulo = (detK*1) % 256

Actor1«uses»

Dekripsi dengankunci Vigenere Cipher

matrixP = invK *matixC

Teksasli_1

YaK.invK = 1

invK = (y*adjK)

TidakHasilModulo ==1

Ya

y = i

Gambar 3.1. Use Case Diagram Sistem

Gambar 1 menyatakan diagram usecase sistem kriptografi untuk keamanan fileteks. Use Case ini menjelaskan mengenaibagaimana proses pengenkripsian dan dekripsimenggunakan kedua algoritma vigenere cipherdan hill cipher, disini sistem menggunakan

Teksasli_1= Kunci

Ya

Teksasli = Teksasli_1

Teksasli

Selesai

TidakJ = panjang_teks

For i = 1 To J

Kunci = Teksasli_1

dua buah kunci yaitu kunci Poli-alfabetik dankunci matriks. Untuk menyandikan filetextyang ingin di jaga kerahasiaannya.

3.2 Perancangan Sistem

Dalam merancang sistem pengamananfiletext ini penulis menggunakan algoritmavigenere cipher dan algoritma hill cipherdalam menyelesaikan masalah. Perancangansistem ini menggunakan bagan alir (flowchart)untuk mengetahui bagaimana proses enkripsidan dekripsi akan dirancang dalam sistem.

Pada proses dekripsi berikut ini dapatdilakukan, apabila pada proses dekripsicipherkey sebelumnya sudah berhasil, makadapat dilakukan proses dekripsi cipherfile.Dari kunci matriks hill cipher yang sudahdiinputkan, akan dilakukan proses pencarianmatriks adjoint, matriks determinan, danmatriks inverse dari determinan kunci matriks,juda inverse dari kunci matriks. Kunci matriksinverse akan dimodulokan dengan jumlahkarakter code ASCII 256, kemudian setelahdiperoleh kunci matriks inverse maka dapatdilakukan proses dekripsi cipherfile denganmengkalikan kunci matriks inverse dengan fileyang terenkripsi (cipherfile). Berikut

Gambar 3.2. Flowchart Dekripsi FiletextVigenere Cipher dan Hill Cipher

4. HASIL DAN PEMBAHASAN

Dengan menggunakan Algoritma HillCipher dan Algoritma Vigenere Cipher,penulis mengharapkan dapat mengamankanfileteks dengan aman. Serta dapat membantudalam menyandikan fileteks.

Untuk membuat suatu keputusan perludiketahui terlebih dahulu kriteria-kriteria yangada. Dari kriteria-kriteria tersebut kita dapatmelakukan proses pengambil keputusan.

Implementasi merupakan kelanjutandari kegiatan perancangan sistem. Tahap inimerupakan tahap meletakkan sistem supayasiap untuk di operasikan dan dapat dipandangsebagai usaha untuk mewujudkan sistem yangtelah di rancang. Langkah-langkah dalamtahap implementasi ini adalah urutan kegiatanawal sampai akhir yang harus dilakukan dalammewujudkan sistem yang telah di rancang.

Page 33: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

30

Pengujian Proses Enkripsi File Dokumen

Pada proses ini form enkripsi dapatditampilkan dengan mengklik button Enkripsipada form utama setelah program dijalankan.Sebelum dilakukan proses enkripsi terhadapfileteks maka hal yang pertama dilakukanadalah memilih file yang akan dienkripsimelalui button “cari”yang terdapat pada form.

Gambar 4.1. Seteleh Proses PemilihanDokumen

Setelah file sudah dipilih kemudianlanjutkan proses enkripsi dengan mengisikunci vigenere cipher dan setelah itu klikbutton enkripsi, seperti gambar berikut ini :

Gambar 4.2 Proses Enkripsi

Hasil pengujian dapat dilihat dari gambarsebagai berikut :

Gambar 4.3. File .docx Sebelum di Enkripsi

Gambar 4.4. File .docx Setelah di Enkripsi

Pengujian Proses Dekripsi File Dokumen

Pada proses ini form dekripsi dapatditampilkan dengan mengklik button dekripsiyang terdapat pada form utama setelahprogram dijalankan. Sebelum dilakukan prosesdekripsi terhadap file, maka hal yang pertamakali dilakukan adalah memilih file yang akandi-dekripsi dengan mengklik button “cari”yang terdapat pada form dengan ekstensi file.encrypt.

Page 34: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

31

No

NamaFile

Jumlah

Kata

Kunci Ket

1 Kriptografi

681kata

kaputama

Berhasil

2 VisualBasic

136kata

kita1234 Berhasil

3

Enkripsi

21kata

kamiiiii

Gagal (karenamenggunakan kuncidenganhurufberulang-ulang )

4HillCipher

812kata

binjai

Gagal (karenajumlahkata yangdigunakanmelebihibatasmaksimal)

5Vigenere

513kata

19092016

Berhasil

Gambar 4.5. Proses Setelah Pemilihan FileDokumen

Setelah file sudah dipilih, kemudianlanjutkan proses dekripsi denganmenginputkan kunci vigenere cipher dansetelah itu klik button dekripsi, seperti gambarberikut ini :

Gambar 4.6. Proses Dekripsi

Gambar 4.7. File .docx Sebelum di Dekripsi

Gambar 4.8. File .docx Setelah di Dekripsi

Tabel 1. Uji Program( Jumlah Kata yang panjang )

Page 35: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

32

4 Æž"y

¢Ñ•x

Áýi]úzµõ’»4~¹1t+i»ù¬*É=•)›s:£:£:£

kakakaka

SekolahTinggiManajemenInformatika danKomputer

Berhasil

5 2 ÷(ñ—Ÿ

16092016

STMIK

Berhasil

No Plainteks Kunci Cipherteks

1 KaputamaBinjai

kamiiiii Ô¦ëS¯+Œ ç³0|b

2 ILOVESTMIKKAPUTAMABINJAI

kaputama ‹v_Ó¹“ÏŸˆtÉ•ö¸«‡~l´’Ëœd^Ûj•Úg¾D©

3 TeknikInformatika

kamikami ɽ6ˆ×’ÝJ~ÛGtý€:£\¹

4 SekolahTinggiManajemenInformatika danKomputer

kakakaka

Æž"y¢Ñ•

x

Áýi]úzµõ’»4~¹1t+i»ù¬*É=­)›s:£:£:£

5 STMIK 16092016 2 ÷(ñ—Ÿ

No

Plainteks

Kunci Cipherteks

Ket

1 Ô¦ëS¯+Œç³0|b

kamiiiii

K©putam© Binj©i

Gagal

2 ‹v_Ó¹“ÏŸˆtÉ•ö¸«‡~l´’Ëœd^Ûj•Úg¾D©

kaputama

ILOVESTMIKKAPUTAMABINJAI

Berhasil

3 ɽ6ˆ×’ÝJ~ÛGtý€:£\¹

kamikami

TeknikInformatika Berhasil

Tabel 2. Uji Program Proses Enkripsi

Tabel 3. Uji Program Proses Dekripsi

5. KESIMPULAN DAN SARAN5.1 Kesimpulan

Setelah melakukan tahap penelitian,perancangan, dan tahap implementasi terhadappengamanan file dengan sistem kriptografidimana enkripsi file dengan menggunakanalgoritma Vigenere Cipher dan algoritma HillCipher diperoleh kesimpulan bahwa :1. Kunci yang digunakan untuk

mengenkripsi harus sama dengan kunciyang digunakan untuk melakukandekripsi. Apabila kunci yang diinputkantidak sama, maka hasil dari dekripsi tidakakan sama dengan plainfile semula sepertisebelum dienkripsi.

2. Algoritma Vigenere Cipher danAlgoritma Hill Cipher digunakan untukmelindungi file berupa file, dalam hal inipenulis masih menguji sebatas file TXT,DOCX dan XLSX.

3. Hasil dekripsi dari cipherfile akanmenghasilkan plainfile yang sama denganplainfile sebelum dienkripsi.

5.2 Saran

Berdasarkan kesimpulan diatas makamenggemukakan beberapa saran yangdiharapkan dapat menjadi masukan bagikemajuan sistem yang akan datang. Dan

Page 36: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

33

beberapa saran yang akan dikemukakan adalahsebagai berikut :1. Sistem ini menggunakan Algoritma

Vigenere Cipher dan Algoritma HillCipher, kunci dari Algoritma Hill Ciphermenggunakan matriks berordo 2x2 dankunci matriks tersebut telah ditetapkanoleh sistem, sehingga untukpengembangan selanjutnya dapatmengenkripsi dan dekripsi dengan useryang menginputkan matriks sertamenggunakan matriks berordo 3x3, 4x4.... nxn.

2. File yang dapat dienkripsi dan dekripsididalam sistem ini hanya file denganekstensi txt, docx dan xlsx. Untukpengembangannya agar bisamenggunakan file dengan jenis ekstensilainnya.

UCAPAN TERIMA KASIHKami menyampaikan terima kasih

yang sebesar-besarnya kepada Ketua YayasanPendidikan Teknologi Informasi Mutiara atasdukungan dana berupa hibah penelitian bagidosen STMIK KAPUTAMA tahun anggaran2016. Kami juga mengucapkan terimakasihkepada mitra Ketua STMIK KAPUTAMA danKetua LPPM STMIK KAPUTAMA, yangtelah melakukan arahan dalam pelaksanaanpenelitian ini.

DAFTAR PUSTAKA

[1] Ariyus, 2008. Pengantar IlmuKriptografi: Teori Analisis &Implementasi. Andi, Yogyakarta.

[2] Ariyus, 2006. Kriptografi KeamananData dan Komunikasi. Andi,Yogyakarta.

[3] Sadikin, 2012. Kriptografi untukKeamanan Jaringan. Andi ,Yogyakarta.

[4] Sugiarti, 2013. Analisis danPerancangan UML Generated VB.06.Graha Ilmu, Yogyakarta.

[5] Yatini B, 2010. Flowchart,Algoritma, dan Pemrogramanmenggunakan Bahasa C++ Builder.Graha Ilmu ,Yogyakarta.

Page 37: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

34

PENENTUAN RUTE TERPENDEK PENDISTRIBUSIAN NASKAHUJIAN NASIONAL MENGGUNAKAN ALGORITMA DIJKSTRA

(DINAS PENDIDIKAN DAN PENGAJARAN KOTA BINJAI)

Siswan Syahputra

Program Studi Sistem Informasi STMIK KAPUTAMA,Jln. Veteran No. 4A-9A Binjai, Sumut, Indonesia

e-mail : [email protected]

Abstrak

Penentuan rute terpendek menuju lokasi tujuan merupakan salah satu masalah yang sering dihadapi penggunajalur darat. Hal ini juga terjadi saat proses pendistribusian Naskah Ujian Nasional yang dilakukan oleh DinasPendidikan dan Pengajaran Kota Binjai. Pada umumnya pemilihan rute saat pendistribusian Naskah UjianNasional menuju sekolah tujuan dilakukan dengan cara konvensional atau berdasarkan kesepakatan oleh petugaspendistribusi naskah tersebut, proses ini tidak dilakukan berdasarkan data yang akurat. Masalah rute terpendekdapat diselesaikan dengan sistem informasi geografis berbasis web menggunakan algoritma Dijkstra. AlgoritmaDijkstra adalah algoritma pencarian rute terpendek berdasarkan graf untuk memecahkan masalah rute terpendektunggal. Hal ini diterapkan hanya pada bobot graf positif. Algoritma Dijkstra digunakan untuk memecahkanjalur terpendek dengan biaya minimum.

Kata Kunci: Algoritma Dijkstra, Rute Terpendek, Graf Berbobot.

1. PENDAHULUAN1.1 Latar Belakang

Penentuan rute terpendek menuju lokasitujuan merupakan salah satu masalah yangsering dihadapi pengguna jalur darat. Hal inijuga terjadi saat proses pendistribusian NaskahUjian Nasional yang dilakukan oleh DinasPendidikan dan Pengajaran Kota Binjai.

Kota Binjai merupakan kota yangmemiliki banyak jalan – jalan alternatif yangmenghubungkan satu lokasi dengan lokasilainnya. Dengan banyaknya jalan alternatif, halini dapat memberikan sebuah keuntunganefisiensi waktu dalam pendistribusian NaskahUjian Nasional, jika tepat dalam memilih ruteyang lebih pendek atau menjadi masalahketerlambatan waktu, jika memilih rute yanglebih jauh. Pada umumnya pemilihan rute saatpendistribusian Naskah Ujian Nasional menujusekolah tujuan dilakukan dengan carakonvensional atau berdasarkan kesepakatanoleh petugas pendistribusi naskah tersebut,proses ini tidak dilakukan berdasarkan datayang akurat.

Berdasarkan penelitian yang pernahdilakukan oleh Antonio Gusmao, dkk (2013),

masalah rute terpendek dapat diselesaikandengan sistem informasi geografis berbasis webmenggunakan algoritma Dijkstra. Ada beberapaalgortima yang dapat digunakan dalammenyelesaikan masalah rute terpendek, diantaranya algoritma Ant Colony dan Dijkstra.Algoritma Dijkstra lebih instensif dalamkomputasi untuk pencarian jalur optimumdalam suatu jaringan seperti internet dan wakturata – rata eksekusi algoritma Dijkstra lebihkecil dibanding algoritma Ant Colony. Makajalur dalam permasalahan ini algoritma lebihtepat digunakan dengan menggunakan jaringaninternet.

Algoritma Dijkstra ditemukan olehseorang ilmuan komputer bernama EdsgerDijkstra pada tahun 1956 dan dipublikasikanpada tahun 1959. Algoritma Dijkstra adalahalgoritma pencarian rute terpendek berdasarkangraf untuk memecahkan masalah rute terpendektunggal. Hal ini diterapkan hanya pada bobotgraf positif. Algoritma Dijkstra digunakanuntuk memecahkan jalur terpendek denganbiaya minimum.

Cara kerja algoritma Dijkstra memakaistrategi greedy, dimana pada setiap langkahdipiliha sisi dengan bobot terkecil yang

Page 38: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

35

menghubungkan sebuah simpul yang sudahterpilih dengan simpul lain yang belum terpilih.Algoritma Dijkstra membutuhkan parametertempat asal dan tempat tujuan. Hasil akhiralgoritma ini adalah jarak terpendek dari tempatasal ke tempat tujuan beserta rutenya(Bambang, 2014).

1.2 Rumusan Masalah

Berdasarkan uraian diatas dapat dirumuskanpermasalahan pokok sebagai berikut:1. Bagaimana menentukan jarak terpendek

dalam pendistribusian Naskah UjianNasional.

2. Bagaimana penerapan algoritma Dijkstrauntuk menentukan jarak terpendek dalampendistribusian Naskah Ujian Nasional.

1.3 Tujuan Penelitian

Adapun tujuan yang diharapkan dalampenelitian ini adalah sebagai berikut :1. Untuk memahami bagaimana algoritma

Dijkstra menentukan rute terpendek.2. Untuk menghasilkan model rute terpendek

dalam pendistribusian Naskah UjianNasional menggunakan algoritma Dijkstra.

3. Membuat prototype perangkat lunak ruteterpendek menuju sekolah – sekolahSMA/SMK di Kota Binjai.

2. LANDASAN TEORI2.1 Lintasan / Rute Terpendek (Shortest

Path)

Pemasalahan lintasan / rute terpendek yaitumenemukan lintasan terpendek antara dua ataubeberapa simpul lebih yang salingberhubungan. Menurut Hayati dan Yohanes,2014, Persoalan mencari lintasan terpendek didalam graf merupakan salah satu persoalanoptimasi. Graf yang digunakan dalam pencarianlintasan terpendek adalah graf berbobot(weighted graph), yaitu graf yang setiap sisinyadiberikan suatu nilai atau bobot. Bobot padasisi graf dapat menyatakan jarak antar kota,waktu pengiriman pesan, ongkospembangunan, dan lain sebagainya. Asumsiyang digunakan di sini adalah bahwa semuabobot bernilai positif. Lintasan terpendekadalah jalur yang dilalui dari suatu node ke

node lain dengan besar atau nilai pada sisi yangjumlah akhirnya dari node awal ke node akhirpaling kecil. Lintasan terpendek adalah lintasanminimum yang diperlukan untuk mencapaisuatu tempat dari tempat lain. Lintasanminimum yang dimaksud dapat dicari denganmenggunakan graf. Graf yang digunakanadalah graf yang berbobot yaitu graf setiapsisinya diberikan suatu nilai atau bobot.Berikut contoh penerapan pencarianlintasan/rute terpendek :1. Implementasi algoritma dijkstra dalam

aplikasi untuk menentukan lintasanterpendek jalan darat antar kota (Fitri danTriansyah, 2013). Dalam penelitiantersebut disimpulkan perlu sebuahalgoritma untuk dapat menyelesaikanpersoalan rute terpendek yaitu denganalgoritma dijkstra.

2. Implementasi algoritma dijkstra pada kartuFPGA (Field-Programmable Gate Array)untuk perhitungan telkom (Benaicha danTaibi, 2013). Jaringan merupakan satu setperangkat komputer yang digunakan untukmemberikan arus informasi, untuk ruteinformasi yang benar jaringanmenggunakan proses routing denganmenggabungkan fleksibilitas dankecepatan sehingga diperlukan teknologibaru yaitu FPGA.

3. Penemuan rute terpendek pada aplikasiberbasis peta (Wira, 2010). Pada penelitianini menghasilkan rute terpendek untukberbagai keperluan masyarakan yangdihadapkan dengan permasalahantransportasi seperti kemacetan pada jalanraya.

Ada beberapa macam persoalan lintasanterpendek, antara lain:1. Lintasan terpendek antara dua buah simpul

(all pairs shortest path)2. Lintasan terpendek antara semua pasangan

simpul (all pairs shortest path)3. Lintasan terpendek dari simpul tertentu ke

semua simpul yang lain (single-sourceshortest path).

4. Lintasan terpendek antara dua buah simpulyang melalui beberapa simpul tertentu(intermedia shortest path).

Page 39: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

36

2.2 Algoritma Rute Terpedek (Shortest PathAlgorithm)

Algoritma yang dapat digunakan untukmencari rute terpendek telah banyak diteliti.Beberapa algoritma yang dapat digunakanuntuk penyelesaian penentuan rute terpendek(Sanan, dkk, 2013), yaitu :1. Algoritma Dijkstra

Dijkstra adalah algoritma berdasarkanGreedy dan memecahkan satu sumbermasalah jalan terpendek

2. Algoritma Bellman-FordBellman-Ford adalah algoritma berbasisPemrograman Dinamis.

3. Algoritma A* SearchAlgoritma A* Search adalah algoritmapencarian graf/pohon yang menemukanjalur dari node awal yang diberikan kenode tujuan tertentu.

4. Algoritma Floyd-WarshallAlgoritma ini memecahkan semuapasangan jalur terpendek dalam grafik tepiarah.

5. Algoritma JohnsonAlgoritma ini memecahkan semuapasangan jalur terpendek, di jarangtertimbang, grafik berarah.

2.3 Teori Graf (Graph)

Teori graf merupakan hal yang penting dalamberbagai bidang aplikasi perhitungan, penelitidapat menggunakan konsep dari teori grafuntuk penelitiannya (Shirinivas, 2010). Sepertipenelitian ilmu komputer yang dilakukanmenggunakan data pertambangan, segmentasicitra, clustering, penagkapan gambar, jaringandan lain-lain. Struktur data dapat dirancangdalam bentuk pohon (tree), begitu juga denganpemodelan topologi jaringan dapat dilakukandengan menggunakan konsep graf.

2.4 Definisi Graf

Menurut Setyawan (2014), Graf terdiri atashimpunan simpul V dan himpunan sisi Edengan setiap sisi memiliki ujung-ujung yangberupa simpul. Graf dapat digunakan untukmempresentasikan berbagai macam sistemnyata, dengan simpul menyatakan unsur dalamsistem tersebut dan unsur-unsur yang salingberhubungan digambanrkan dengan adanyasisi yang menghubungkan unsur-unsur itu.

Dalam sejarahnya, graf digunakan oleh Euleruntuk memecahkan masalah jembatanKonigsberg. Masalah jembatan Konigsbergmerupakan teka-teki yakni dari salah satutempat tertentu apakah kita dapat berjalandengan melalui ke tujuh jembatan itu masing-masing tepat satu kali.

Gambar 2.1 Jembatan Konigsberg

Banyak orang sudah mencoba melakukannyadengan berbagai cara namun tidak tidak adayang berhasil. Hal ini menarik Leonard Euleruntuk memecahkan masalah tersebut denganmenggunakan konsep yang sekarang dikenalsebagai teori graf. Jika setiap tempat diwakilioleh simpul dan setiap jembatan diwakili olehsisi, maka masalah tersebut dapat digambarkansebagai graf dengan empat simpul dan tujuhsisi.

Gambar 2.2 Representasi Masalah JembatanKonigsberg Sebagai Graf

Dalam representasi graf dari masalah jembatanKonigsberg ternyata keempat simpul tersebutsemuanya memiliki derajat ganjil. Dengan latarbelakang matematika yang dimilikinya, Eulermembuktikan bahwa kita tidak mungkin pergidari satu simpul tertentu dengan melalui ketujuh sisi dari graf itu masing-masing tepat satukali dan kembali ke simpul awal. Eulermembuktikan bahwa ini dilakukan jikasebanyak-banyaknya ada dua simpul denganderajat ganjil, yakni simpul awal dan simpul

Page 40: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

37

akhir. Dalam perkembangan teori graf, konsepini dikenal dengan trail Euler (Eulerian trail).

2.5 Matrix Graf

Sebuah graf dapat disajikan dalam bentukmatrix (Samuel, 2008), yaitu :1. Matrix titik (Adjacent Matrix)2. Matrix rusuk (Edge Matrix)3. Matrix titik – rusuk (Incidence Matrix)Berikut graf yang dinyatakan dalam bentukmatrix titik, rusuk, dan titik – rusuk

Gambar 2.3 Graf dalam Bentuk Matrix

Matrix titik dari graf diatas adalah matrix 7x7,karena graf diatas mempunyai 7 buah titik.

Gambar 2.4 Elemen – elemen Matrix

Cara mengisi elemen-elemen matrix:1. Baris 1 kolom 1, dari A ke A = 02. Baris 1 kolom 2, dari A ke B = 1

Titik A dan B terhubung oleh sebuahrusuk

3. Baris 4 kolom 4, dari D ke D = 2Titik D mempunyai loop

4. Baris 5 kolom 6, dari E ke F = 2Titik E dan F terhubung oleh 2 buah rusuke7 dan e8

5. Baris 7 kolom 1, dari G ke A = 0Titik G dan A tidak terhubungoleh sebuahrusuk

Matrix rusuk dari graf di atas adalah matrix11x11, karena graf di atas mempunyai 11rusuk.

Gambar 2.5 Matrix Rusuk 11x11

Cara mengisi elemen-elemen matrik:Bila sebuah rusuk bertemu dengan rusuk yanglain disebuah titik maka elemen amtriknya = 1,bila tidak bertemu di satu titik maka elemenmatriknya = 0.Matrik titik rusuk dari graph diatas adalahmatrik 7x11, karena graph tersebut memiliki 7titik dan 11 rusuk.

Gambar 2.6 Matrix Rusuk 7x11

Cara mengisi elemen-elemen matrikBila sebuah rusuk bertemu dengan sebuah titikmaka nilai elemen matrik = 1, bila tidakbertemu maka nilai elemen matrik = 0.

2.6 Algoritma Dijkstra

Menurut Liu dan Chen (2010), ide dasaralgoritma Dijkstra adalah untukmengeksplorasi jalan terpendek dari titiksumber (s) ke luar secara bertahap. Dalamproses menetapkan nomor untuk setiap titik(point) yang menyatakan berat jalur terpendekdari s ke titik point (label P) atau batas atasberat jalur terpendek dari s ke titik point (labelT). Dalam setiap langkah, memodifikasi labelT dan mengubah jumlah titik dengan label T

Page 41: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

38

untuk menunjukkan dengan label P, sehinggajumlah titik dengan label P dalam grafik Gbertambah satu, maka bisa didapatkan jalurterpendek dari s ke setiap titik hanya dengan n-1 langkah (n adalah jumlah simpul dalam

MULAI

PERSIAPAN PENELITIAN

OBJECT

grafik G).Berikut beberapa contoh penerapan algoritmaDijkstra yang telah dibahas oleh penelitisebelumnya :1. Algoritma dijkstra dapat diterapkan dalam

pembuatan sistem bantuan bencana alamReal Time (Nandiroh, dkk, 2014). Sistem

PERMASALAHAN

ALAMATDAN TITIKKOORDINATSEKOLAH

MANFAAT

STUDI PUSTAKA

PENGUMPULAN DATA

TUJUAN

JURNAL,BUKU DANE-BOOK

yang dibangun pada penelitian tersebutdapat diakses menggunakan teleponseluler dengan sistem navigasi dan mampumenunjukkan rute terpendek serta dapatmenunjukkan rute alternatif jika terjadikemacetan atau terjadi kecelakaan di salah

REPRESENTASIGRAF

ANALISIS DATA

ANALISIS RUTETERPENDEK

ANALISIS SISTEM

MODEL RUTETERPENDEK

satu jalur atau lokasi bencana sehinggatercipta sistem layanan yang real time.

2. Algoritma Dijkstra juga dapat diimplementasikan pada aplikasi untukmenentukan lintasan terpendek jalan daratantar kota (Fitria dan Triansyah, 2013).Pada penelitian ini di hasilkan ruteterpendek secara optimal dan cepat dalammenentukan rute terpendek menggunakanalgoritm dijkstra

3. Pendistribusian barang farmasimenggunakan algoritma dijkstra jugapernah menjadi konsen penelitian(Sulindawaty, dkk, 2015). Pada penelitiantersebut algoritma Dijkstra dibandingkandengan algoritma Prim. Hasil penelitianyang didapatkan adalah algoritma Dijkstradan Prim mampu menemukan jalurterpendek ke tempat tujuan. Namun darihasil analisa, algoritma Dijkstra lebihmemiliki komposisi jalur yang lebih dekatdibandingkan dengan algoritma Prim.

3. METODOLOGI PENELITIAN

3.1 Kerangka Kerja Penelitian

Kerangka kerja ini merupakan langkah –langkah yang akan dilakukan dalampenyelesaian maslaah yang akan dibahas.Adapaun kerangka kerja penelitian ini adalahsebagai berikut :

PERANCANGAN SISTEM

IMPLEMENTASI HASIL

DAN KESIMPULAN

SELESAI

Gambar 3.1 Kerangka Kerja Penelitian

a. Persiapan PenelitianPada tahap ini ditentukan objek penelitian,permasalahan yang ada, tujuan danmanfaat dari penelitian.

b. Studi PustakaDalam penelitian ini dilakukanpengumpulan dan mempelajari literatur –literatur yang berhubungan denganpermasalahan, teori – teori, dan algoritmadijkstra baik dari buku, jurnal, e-book danlain sebagainya.

c. Pengumpulan DataData yang dikumpulkan berupa nama,alamat, lokasi, dan titik koordinat(latitude,longitude) sekolah SMA/SMK dikota Binjai. Data koordinat, data jalan danpersimpangan diperoleh dari aplikasi OneTouch Location dan Google Map.

d. Analisis SistemPada tahap ini data yang telahdikumpulkan kemudian dianalisa dan direpresentasikan dalam bentuk graf. Darihasil representasi graf selanjutnyadianalisa dengan alagoritma Dijkstra untukmendapatkan rute terpendek kemudian di

Page 42: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

39

gambarkan dalam pemodelan ruteterpendek.

e. Perancangan SistemAgar aplikasi prototype yang dibangunsesuai dengan hasil analisa maka padatahap ini dilakukan perancangan sistem.

f. Implementasi SistemTahap ini merupakan tahap pengujianterhadap sistem menggunakan aplikasiberbasis web sekaligus mengevaluasikekurangan – kekurangan yang ada padasistem.

g. Hasil dan KesimpulanPada tahap ini di hasilkan rute terpendekdari Dinas Pendidikan dan Pengajaran kotaBinjai menuju sekolah-sekolah SMA/SMKdi kota Binjai, kemudian disimpulkandengan algoritma Dijkstra apakah mampumenentukan rute terpendek dengan akuratdalam pendistribusian Naska UjianNasional.

4. ANALISA DAN PERANCANGAN

Untuk menyelesaikan masalah penentuan ruteterpendek dalam distribusi naskah UjianNasional oleh Dinas Pendidikan danPengajaran Binjai ke sekolah – sekolahSMA/SMK di seluruh Kota Binjai, akandilakukan analisa data lokasi yang akandiselesaikan menggunakan algoritma Dijsktra.Adapun hal yang pertama yang akan dilakukanadalah menganalisa data yang diperoleh dan direpresentasikan dalam bentuk graf berbobotdari data yang ada.Sebuah graf berbobot dengan n buah simpuldinyatakan dengan matriks ketetanggaan M =[mij], dalam hal ini,mij = bobot sisi (i, j) (pada graf tak – berarah mij

= mji)mij = 0mij = ∞, jika tidak ada sisi dari simpul i kesimpul jSelain matriks M, juga menggunakan tabel S =[si] yang dalam hal ini,si = 1, jika simpul i termasuk ke dalam ruteterppendeksi = 0, jika simpul i tidak termasuk ke dalamrute terpendekTabel D = [d] yang dalam hal ini,di = panjang rute dari simpul awal a ke simpuli.

mij = ∞, jika tidak ada sisi dari simpul i kesimpul jLarik S = [si] yang dalam hal ini,si = 1, jika simpul i termasuk ke dalam ruteterppendeksi = 0, jika simpul i tidak termasuk ke dalamrute terpendekLarik D = [d] yang dalam hal ini,di = panjang rute dari simpul awal a ke simpuli.

Gambar 4.1 Pemodelan Graf Lokasi SekolahSMA/SMK Di Kota Binjai

Dari pemodelan graf lokasi sekolah SMA/SMKdi kota Binjai pada gambar 4.7 simpulpersimpangan diwakili dengan kode berawalanhuruf “S” (S01, S02, S03, ....) sedangkansimpul lokasi awal diwakili dengan kodeberawalan huruf “A” (A01) dan untuk simpultujuan kelanjutan dari kode simpul awal (A02,A03, A04, .....), semua simpul tersebutdihubungkan lintasan – lintasan atau busuryang memiliki bobot jarak dengan satuankilometer (km) pada setiap busur nya .Selanjutnya dilakukan perhitungan untukmencari rute terpendek dari simpul awalmenuju simpul tujuan. Berikut ini sampleperhitungan dari beberapa simpul tujuan :

Page 43: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

40

Identifikasi

Kebutuhan Uses Case

F01

Aplikasi harusmampumenampilkanlokasi - lokasisekolah

Melihatlokasi –lokasisekolah

F02

Aplikasi harusmampumenampilkan rutedari lokasi awalmenuju lokasitujuan yang telahdi pilih

Melihat ruteterpendekdari lokasiawal menujulokasi tujuan

F03

Aplikasi harusmampu mencarilokasi tujuan awalhingga lokasitujuan akhirberdasarkan ruteterpendek

Melihat ruteterpendekdari lokasitujuan awalhinggalokasi tujuanakhir

F04

Aplikasi harusmampumenambahkandata lokasi sekolahyang baru

Penambahandata lokasisekolah

F05

Aplikasi harusmampumenambahkandata ruteperbandingan

Penambahandata ruteperbandingan

Parameter Kode DeskripsiKebutuhan

Usability NF01

Aplikasi harusdengan mudahdigunakan olehpengguna(Ketikapenggunamenjalankanaplikasi makaaplikasi akanmampumenampilkanlokasi – lokasisekolah padapeta dalam

Sebuah graf berbobot dengan n buah simpuldinyatakan dengan matriks ketetanggaan M =[mij], dalam hal ini,

mij = bobot sisi (i, j) (pada graf tak –berarah mij = mji)

mii = 0Mulai

kebutuhan fungsional ditunjukkan denganpenomoran F, sedangkan kebutuhan non-fungsional ditunjukkan dengan penomoran NF.

Tabel 4.1 Daftar Kebutuhan Fungsional

Beri bobot 0 untuk node yangbelum di lalui dan bobot 1

untuk node yang telah di lalui

Inisialisasisimpul

persimpangan(S) dan simpul

lokasi (A)

Beri nilai bobot jarak untuk setiapnode yang di lalui, dan beri nilai

∞ jika node tidak terjangkau

Menentukan nilaijarak untuk setiap

simpulbertetanggaan

Menghitung bobotjarak menujusimpul tujuan

Mencari rute terpendek denganmembandingkan jarak menuju node tersebutatau melalui simpul yang telah memiliki nilai

bobot jarak

Ada?

No

Yes

Rute terpendekdari simpul awalke simpul akhir

ditemukan

Selesai

Gambar 4.2 Flowchart Algoritma Dijsktra

4.1 Analisa Kebutuhan Sistem

Proses analisis kebutuhan ini diawali denganpenjabaran umum aplikasi rute terpendek,identifikasi lokasi sekolah, penjabaran tentangkebutuhan dan kemudian dimodelkan kedalamdigram use case. Analisis kebutuhan inibertujuan untuk menggambarkan kebutuhan –kebutuhan yang harus disediakan oleh sistemagar dapat memenuhi kebutuhan pengguna.

4.2 Gambaran Umum Aplikasi RuteTerpendek

Aplikasi rute terpendek ini merupakan aplikasiprototype yang dirancang untuk mempermudahpengguna untuk mendapatkan lokasi sekolahdalam proses pendistribusian naskah ujian.Ketika mengakses aplikasi ini, pengguna hanyamemerlukan sidikit waktu, maka penggunasudah mendapatkan lokasi sekolah – sekolahyang akan dituju

4.3 Daftar Kebutuhan Sistem

Daftar kebutuhan terdiri dari kebutuhanfungsional dan non-fungsional. Pada tabel 4.1

Tabel 4.2 Daftar Kebutuhan Non-Fungsional

Page 44: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

41

bentuk marker)

Compatibility NF02

Aplikasi harusdapatdigunakan padakomputerdengan sistemoperasiwindows

Nomor UseCase

F01

Nama Use Case Melihat lokasi – lokasisekolah

PrasyaratKonteks

Komputer terkoneksiinternet, aplikasi dibuka pada browser.

Tujuan Konteks

Mempermudahpengguna untukmenentukan rutelokasi sekolah terdekat

Prakondisi

Aplikasi telahterpasang danpengguna membukanaplikasi

Kondisi AkhirSukses

Aplikasi menampilkanlokasi sekolah danmenampilkan rutelokasi sekolah terdekat

Kondisi AkhirFailed

-

Aktor Pengguna

Alur Utama

Aktifitas

1. Penggunamembukaaplikasi

2. Sistemmenampilkanlokasi – lokasisekolah.

3. Sistemmenampilkan

Gambar 4.3 merupakan use case sistem yangterdiri dari 2 aktor yaitu user dan admin,dimana admin dapat memanipulasi data lokasisekolah dan mengakses aplikasi, sedangkanuser hanya dapat melakukan akses aplikasi dantidak dapat memanipulasi data lokasi sekolah.Setiap use case yang ada pada gambar 4.3 dapatdijelaskan oleh skenario use case.

4.4 Perancangan Sistem

Perancangan perangkat lunak dilakukan setelahsemua kebutuhan perangkat lunak didapatkanmelalui tahap analisis kebutuhan. Perancanganperangkat lunak berdasarkan object orientedanalysis dan object oriented design yaitumenggunakan pemodelan UML (UnifiedModeling Language). Perancangan di mulaidari perancangan alur atau aktifitas ayangdilakukan pengguna secara prosedural yangdimodelkan dalam activity diagram. Interaksiantar objek yang telah di identifikasi, dimodelkan dalam sequence diagram.Selanjutnya, dilakukan perancangan sistemaplikasi rute terpendek dengan mengidentifikasiclass dan layout yang dibutuhkan, sertakemudian dimodelkan dalam class diagram.Kemudian tahap perancangan dilanjutkandengan perancangan antarmuka pengguna

4.5 Diagram Use Case

Pemodelan use case sistem diperoleh darikebutuhan fungsional yang digunakan untukmenggambarkan interaksi antara satu atau lebihaktor dengan sistem yang akan dibuat. Gambar4.3 menunjukkan use case sistem.

4.6 Skenario Use Case

Tabel 4.3 menjelaskan kegiatan yang dilakukanpada saat melihat lokasi sekolah pada gambaruse case sistem. Pertama pengguna membukaalamat apliaksi pada browser kemudian sistemakan menampilkan peta, marker lokasi sekolah– sekolah SMA/SMK.

Tabel 4.3 Skenario Use Case Melihat LokasiSekolah

User

Admin

1.1 Melihat lokasi –lokasi sekolah

2.1 Menambah DataSekolah

<<extend>>

<<include>>

1.1.1 Melihat rutelokasi sekolahterdekat

2.1.1 Login

Gambar 4.3 Use Case Sistem

Page 45: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

42

Nomor Use Case F02

Nama Use Case Penambahan datalokasi sekolah

PrasyaratKonteks

Komputer terkoneksiinternet, aplikasi dibuka pada browser.

Tujuan Konteks

Memberi akseskepada admin untukmelakukanpenambahan data

PrakondisiAplikasi telahterpasang dan adminmembuka aplikasi

Kondisi AkhirSukses

Aplikasimenampilkan lokasisekolah dan memberiakses kepada adminuntuk dapatmelakukanpenambahan data

Kondisi AkhirFailed

-

Aktor Admin

Alur Utama

Aktifitas

1. Admin membukaaplikasi

2. Sistemmenampilkanlokasi – lokasisekolah.

3. Sistem memberiakses kepadaadmin untukmelakukanpenambahan data

rute lokasisekolah terdekat

Tabel 4.3 menjelaskan kegiatan yang dilakukanpada saat admin login ke sistem pada gambarIV.3 Use Case Sistem. Pertama admin login kesistem kemudian sistem akan menampilkanpeta, marker lokasi sekolah – sekolahSMA/SMK, tampilan hampir sama denganhalaman pengguna. Namun ada penambahankolom yaitu kolom Tambah Lokasi Sekolahdan Input Jarak Sekolah.

Tabel 4.4 Skenario Use Case Penambahan DataLokasi Sekolah

4.7 Diagram Activity

Diagram activity adalah diagram untukmemodelkan aktivitas antara pengguna dansistem yang berjalan berdasarkan pada skenariouse case. Skenario use case yang digambarkanpada tabel 4.4 dapat di modelkan kedalamdiagram activity, dapat terlihat aktor yangmelakukan proses tiap langkahnya.

User Sistem

MembukaAplikasi

Menampilkan peta,lokasi sekolah, rute

terpendek

Gambar 4.4 Aktivitas Diagram Melihat LokasiSekolah

Gambar 4.4 merupakan aktivitas diagrammelihat lokasi sekolah dan rute terpendek.Aktivitas diagram dibuat untuk menjelaskaninteraksi antara user dengan sistem. Pertamauser membuka aplikasi pada browser dikomputer dengan memanggil alamat serveratau aplikasi. Kemudian aplikasi menampilkanpeta, lokasi sekolah dan rute terpendek.

5. HASIL DAN PEMBAHASAN

Pada implementasi pengujian ini untukmengetahui apakah sistem yang dibangunsudah benar sesuai dengan yang dibutuhkan.Pengujian validasi menggunakan metodepengujian Black-Box, karena tidak diperlukankonsentrasi terhadap alur jalannya algoritmaprogram dan ditekankan untuk menemukan ruteterpendek menuju sekolah - sekolahSMA/SMK di Kota Binjai. Pada penenlitian inidilakukan pengujian validasi terhadap aplikasipecarian rute terpendek.

Page 46: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

dengan menentukan lokasiawal dan lokasi tujuan.

ProsedurPengujian

Pengguna memilih lokasiawal dan lokasi tujuan padadaftar pilihan, kemudianpengguna menekan tombol“Cari Rute”

Hasil yangdiharapkan

Aplikasi dapat mencari ruteterpendek dari lokasi awal kelokasi tujuan danmenampilkan jalan yangdilalui pada kolom panel rute

Nama KasusUji

Kasus uji pembukaanaplikasi pencarian ruteterpendek dan melihatlokasi – lokasi sekolahSMA/SMK

Objek Uji Kebutuhan Fungsional

TujuanPengujian

Pengujian dilakukanuntuk memastikan bahwaaplikasi memenuhikebutuhan fungsionaluntuk membuka aplikasikemudian menampilkanlokasi – lokasi sekolahSMA/SMK

Prosedur Uji

Pengguna membukabrowser kemudianmemasukkan alamataplikasi pada addressbar.

Hasil yangdiharapkan

Aplikasi dapatmenampilkan halamanutama dan lokasi – lokasisekolah SMA/SMK padapeta dalam bentukmarker.

NamaKasus Uji

Pencarian lokasi tujuanawal hingga akhirberdasarkan rute terpendek

Objek Uji Kebutuhan Fungsional

Tujuan Uji

Pengujian dilakukan untukmemastikan aplikasimampu mencari lokasitujuan awal hingga lokasitujuan akhir berdasarkanrute terpendek, kemudianmenampilkan hasilpencarian.

ProsedurPengujian

Pengguna menekan tombol“Cari Rute Berikutnya”pada kolom cari semuarute, kemudian penggunamenekan tombol “SimpanRute” untuk menyimpanhasil pencarian.

Hasil yangdiharapkan

Aplikasi mampu mencarilokasi tujuan awal hinggalokasi tujuan akhirberdasarkan rute terpendek,kemudian menyimpan danmenampilkan kembali hasilyang di dapat.

NamaKasus Uji

Pencarian rute terpendekdengan menentukan lokasiawal dan lokasi tujuan

Objek Uji Kebutuhan Fungsional

Tujuan UjiPengujian dilakukan untukmemastikan aplikasi mampumenampilkan rute terpendek

43

1. Kasus Uji PenggunaPada tahap ini dilakukan pengujian terhadapaplikasi untuk mengetahui aplikasi memenuhikebutuhan fungsional atau tidak denganmenampilkan halaman utama pengguna,menampilkan lokasi – lokasi sekolahSMA/SMK dalam bentuk marker pada peta dandaftar list, serta aplikasi dapat menampilkanhasil pencarian rute terpendek.Berikut merupakan beberapa pengujian yangdilakukan :

a. Kasus uji pembukaan aplikasi dan kasus ujimelihat lokasi – lokasi sekolah, hasilpengujian di tampilkan pada tabel V.1

Tabel 5.1 Kasus Uji Membuka Aplikasi

c. Kasus uji pencarian lokasi tujuan awalhingga akhir berdasarkan rute terpendek

Tabel 5.3 Kasus Uji Pencarian Lokasi TujuanAwal Hingga Lokasi Tujuan Akhir

b. Kasus uji pencarian rute terpendek denganmenentukan lokasi awal dan lokasi tujuan

Tabel 5.2 Kasus Uji Pencarian Rute Terpendek2. Kasus Uji Admin

Pada tahap ini dilakukan pengujian terhadapaplikasi untuk mengetahui aplikasi memenuhikebutuhan fungsional atau tidak denganmenampilkan halaman admin, menambah datalokasi – lokasi sekolah serta menambah datarute perbandingan.

Page 47: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

44

Nama KasusUji

Penambahan lokasisekolah

Objek Uji Kebutuhan Fungsional

Tujuan Uji

Pengujian dilakukanuntuk memastikanaplikasi mampumenambah lokasisekolah baru.

ProsedurPengujian

Admin memasukkan datasekolah baru pada kolom“Tambah LokasiSekolah” kemudianadmin menekan tombol“Simpan”

Hasil yangdiharapkan

Aplikasi mampumenambah danmenyimpan data lokasisekolah baru.

Nama KasusUji

Penambahan data ruteperbandingan

Objek Uji Kebutuhan Fungsional

Tujuan Uji

Pengujian dilakukanuntuk memastikanaplikasi mampumenambah data ruteperbandingan yang baru

ProsedurPengujian

Admin memmasukkandata rute perbandinganyang baru pada kolom“Input Jarak Lokasi”kemudian adminmenekan tombol“Simpan”.

Hasil yangdiharapkan

Aplikasi mampumenambah danmenyimpan data ruteperbandingan yang baru.

Berikut merupakan beberapa pengujian yangdilakukan :

a. Kasus uji penambahan data lokasi – lokasisekolah, hasil pengujian di tampilkan padatabel 5.4

Tabel 5.4 Kasus Uji Penambahan LokasiSekolah

b. Kasus uji penambahan data ruteperbandingan

Tabel 5.5 Kasus Uji Penambahan RutePerbandingan

6. KESIMPULAN DAN SARAN6.1 Kesimpulan

Berdasarkan hasil analisa, implementasi danpengujian yang dilakukan, maka di ambilkesimpulan sebagai berikut :1. Permasalahan pencarian rute terpendek

pendistribusian naskah ujian nasional keseluruh SMA/SMK di Kota Binjai dapatdiselesaikan dengan algoritma Dijkstra.

2. Algoritma Dijkstra mampu menghasilkanmodel rute terpendek dalampendistribusian naskah ujian nasional keseluruh SMA/SMK di Kota Binjai.

3. Prototype perangkat lunak pencarian ruteterpendek dapat menyimpan danmenampilkan hasil pencarian ruteterpendek dari lokasi tujuan awal hinggalokasi tujuan akhir.

4. Dengan menggunakan algoritma Dijkstradalam proses pencarian rute terpendek darilokasi tujuan awal hingga lokasi tujuanakhir, jika ada beberapa lokasi yangberdekatan dengan lokasi asal adakemungkinan lokasi tersebut akan beradadi akhir urutan rute terpendek

6.2 Saran

Berikut ini beberapa saran yang dapatdipergunakan untuk pengembangan penelitiandalam menentukan rute terpendek1. Memperluas cakupan wilayah penelitian

seperti wilayah Sumatera Utara, sehinggadapat membantu Dinas Pendidikan danPengajaran kantor pusat dalampendistribusian naskah ujian nasional.

2. Dilakukan pengembangan terhadapprototype perangkat lunak pencarian ruteterpendek.

DAFTAR PUSTAKA

[1]Antonio, G., Sholeh, H.P dan Sunaryo,2013, Sistem Informasi GeografisPariwisata Berbasis Web Dan PencitraanJalur Terpendek Dengan Algoritma Dijkstra,Jurnal EECIS Vol 7, No. 2

[2]Benaicha, R. Dan Taibi, M., 2013, DijkstraAlgorithm Implementation On FPGA CardFor Telcom Calculations, InternationalJournal of Engineering Sciences &

Page 48: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

45

Emerging Technologies, Volume 4, Issue 2,pp: 110-116 ©IJESET.

[3]Fitria dan Apri.T.,2013,ImplementasiAlgoritma Dijkstra Dalam Aplikasi UntukMenentukan Lintasan Terpendek JalanDarat Antar Kota Di Sumatera BagianSelatan, Jurnal Sistem Informasi (JSI), Vol.5, No.2.

[4]Liu, X.Y dan Chen, Y.L.,2010, Applicationof Dijkstra Algorithm in LogisticsDistribution Lines, Proceeding of the ThirdInternational Symposium on ComputerScience and ComputationalTechnology(ISCSCT ’10) Jiaozuo, P.RChina, 14-15 Agustus.

[5]Putu Wira Buana, 2010, Penemuan RuteTerpendek Pada Aplikasi Berbasis Web,Lontar Komputer, Vol.1, No. 1

[6]Siti, N., Haryanto dan Hafidh,M.,2014,Implementasi Algoritma Dijkstra SebagaiSolusi Efektif Pembuatan Sistem BantuanBencana Real Time, Jurnal Ilmiah TeknikIndustri,Vol. 12, No. 2.

[7]Sulindawaty, Hendryan, W., dan Trinanda,S., 2015, Pendistribusian Barang FarmasiMenggunakan Algoritma Dijkstra (StudiKasus: PT. Air Mas Chemical), JurnalSantikom, Vol. 14, No. 1.

[8]Uning, L., dan Marwoto, 2012, AplikasiSistem Informasi Geografis PemetaanDigital Loop Carrier, Jurnal TeknologiTechnoscientia, Vol. 5, No.1.

[9]Yudi, S., 2014, Visualisasi Graf DanAlgortima – Algoritma Dalam Teori GrafMenggunakan Beberapa Paket Software,Prosiding Seminar Nasional Aplikasi Sains& Teknologi(SNAST),Yogyakarta, 15November.

Page 49: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

46

ANALISIS PENGARUH MUTASI TERHADAP PERFORMANCE ALGORITMAGENETIKA

Erianto Ongko

Prodi Teknik Informatika, Akademi Teknologi Industri Immanuele-Mail: [email protected]

Abstrak

Algoritma genetika pada umumnya digunakan untuk pencarian solusi dari suatu permasalahan yang menuntutpencarian solusi yang optimal pada suatu permasalahan. Salah satu tahapan di dalam algoritma genetika adalahproses mutasi. Proses mutasi dilakukan setelah proses crossover dilakukan. Proses mutasi melibatkan pertukarangen untuk beberapa gen yang berada pada posisi tertentu. Proses mutasi dimaksudkan untuk mencegah hasilterjebak di dalam kondisi local optima. Penelitian ini dimaksudkan untuk melihat pengaruh dari proses mutasiterhadap performance dari algoritma genetika. Studi kasus di dalam permasalahan ini adalah permasalahanTravelling Salesman Problem (TSP), dimana menggunakan library Berlin52.tsp. Hasil penelitian ini diharapkandapat memberikan gambaran mengenai pengaruh mutasi terhadap performance algoritma genetika denganmemvariasikan nilai probabilitas mutasi.

Kata Kunci: Algoritma Genetika, Mutasi, Performance, Travelling Salesman Problem

1. PENDAHULUAN

Penelitian mengenai Algoritma Genetikadimulai pada Tahun 1975, ketika John Hollandmengemukakan hasil penelitiannya mengenaiproses komputasi yang menggunakan konsepevolusi di dalam bukunya yang berjudul"Adaptation in Natural and AritificialSystems"(Negnevitsky, 2005).

Algoritma genetika merupakan contohpermasalahan soft computing yang seringdigunakan untuk penyelesaian masalahoptimasi. Ketika membahas mengenaialgoritma genetika ada tiga parameter utamayang harus didefinisikan yaitu ukuranpopulasi, probabilitas crossover, danprobabilitas mutasi. Ketiga parameter ini harusdidefinisikan dengan baik sehingga tidakterjadi konvergensi dini atau local optimayaitu dimana individu-individu dalampopulasi konvergen pada suatu solusioptimum lokal sehingga hasil paling optimumtidak dapat ditemukan (Muzid, 2014).

Schrempf dan Hobolth (2017)mengemukakan Model Wright-Fisher untukproses mutasi pada mutasi dengan probabilitasmutasi yang kecil.

Penelitian ini dimaksudkan untukmelihat pengaruh dari proses mutasi terhadapperformance dari algoritma genetika. Studikasus di dalam permasalahan ini adalah

permasalahan Travelling Salesman Problem(TSP), dimana menggunakan libraryBerlin52.tsp. Hasil penelitian ini diharapkandapat memberikan gambaran mengenaipengaruh mutasi terhadap performancealgoritma genetika dengan memvariasikannilai probabilitas mutasi dan juga jumlahgenerasi.

2. LANDASAN TEORI2.1. Proses Algoritma Genetika

Algoritma genetika adalah suatualgoritma stochastic yang memodelkanpermasalahan evolusi dari spesies biologimelalui seleksi alam (Konar, 2005). Secaraumum, proses penentuan populasi dilakukansecara acak dan solusi dibangkitkan sesudahtahapan konsekutif dari proses crossover danmutasi. Setiap individu dari populasi memilikinilai yang diasosiasikan kedalam suatu nilaifitness, di dalam kaitannya untukmenyelesaikan suatu permasalahan (Rabunal,2006).

Adapun diagram alir dari algoritmagenetika standart dapat dilihat pada Gambar2.1.

Page 50: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

47

Tidak

Mulai Representasi Kromosom

Membangkitkan Populasi Awal

Hitung Fitness

Seleksi

Perkawinan Silang

Mutasi

Individu Baru

Optimal ? Ya

Solusi Optimal

Selesai

sampai terpenuhi kriteria berhenti. Bilakriteria berhenti belum terpenuhi makaakan dilanjutkan dengan prosesperkawinan. Beberapa kriteria berhentisering digunakan antara lain: berhenti padagenerasi tertentu, berhenti setelah dalambeberapa generasi berturut-turut didapatkannilai fitness tertinggi tidak berubah,berhenti dalam ngenerasi tidak didapatkannilai fitness yang lebih tinggi.

4. Proses CrossoverMenentukan nilai Pc (ProbabilityCrossover) dan kemudian menentukanpasangan kromosom yang akan terlibat didalam proses crossover berdasarkan nilaiPC yang dibangkitkan tersebut denganmenggunakan salah satu metode crossover.

5. Proses Mutasi

Gambar 2.1. Diagram Alir dari Proses

Algoritma Genetika (Negnevitsky, 2005)Secara umum struktur dari suatu AlgoritmaGenetika dapat didefenisikan dengan langkah-langkah sebagai berikut: (Negnevitsky, 2005)1. Membangkitkan populasi awal

Populasi awal ini dibangkitkan secara acaksehingga didapatkan solusi awal. Populasiitu sendiri terdiri atas sejumlah kromosomyang merepresentasikan solusi yangdiinginkan.

2. Menghitung Fitness dari Tiap Generasi.Pada tiap generasi, kromosom akan melaluiproses evaluasi dengan menggunakan alatukur yang dinamakan fitness. Nilai fitnesssuatu kromosom menggambarkan kualitaskromosom dalam populasi tersebut. FungsiFitness tersebut dapat dilihat padaPersamaan 1.

.........(1)Dari persamaan 1, nilai fitness ditentukanoleh nilai fungsi objektif. Fungsi objektiftersebut menunjukkan hasil penjumlahanjarak pada tiap kromosom. Semakin tingginilai fitness akan semakin besarkemungkinan kromosom tersebut terpilihke generasi berikutnya. Jadi nilai fungsiobjektif berbanding terbalik dengan nilaifitness, semakin kecil nilai fungsi objektifsemaki besar nilai fitnessnya.

3. Evaluasi solusiProses ini akan mengevaluasi setiappopulasi dengan menghitung nilai fitnesssetiap kromosom dan mengevaluasinya

Menentukan nilai mutation rate, dankemudian berdasarkan nilai bilanganrandom yang dibangkitkan akan dapatditentukan gen-gen yang terlibat di dalamproses mutasi tersebut.

6. Menjadikan Kromosom Anak hasil dariProses Crossover dan Mutasi sebagaiPopulasi Baru.

2.2. Proses Mutasi

Mutasi adalah proses pengubahan gen didalam sebuah kromosom. Proses Mutasi akandimulai setelah proses crossover selesaidilakukan. Mutasi akan mengubah offspringhasil dari proses crossover dengan mengubahbit 1 menjadi 0 atau bit 0 menjadi 1. Mutasidapat melibatkan setiap posisi bit dari gen didalam kromosom dengan beberapa probabilitasyang umumnya berukuran kecil. Mutasidimaksudkan untuk mencegah hasil pencarianmengarah pada keadaan local optima di dalamsebuah area pencarian (Shaikh, 2012).

Jenis mutasi yang akan digunakan didalam penelitian ini adalah Mutasi dalamPengkodean Biner. Mutasi di dalampengkodean biner dilakukan dengan caramelakukan operasi yang menginversi nilai bitpada posisi tertentu yang terpilih secara acak(atau menggunakan skema tertentu) padakromosom, yang disebut inverse bit.

Page 51: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

48

Kromosom sebelum mutasi 10010111Kromosom setelah mutasi 10010011

2

Tabel 2.1. Contoh Mutasi pada PengkodeanBiner

2.3. Travelling Salesman Problem

Permasalahan matematika tentangTraveling Salesman Problem dikemukakanpada tahun 1800 oleh matematikawan IrlandiaWilliam Rowan Hamilton dan matematikawanInggris Thomas Penyngton. Permasalahan TSPini merupakan permasalahan di mana seorangsalesman harus mengunjungi semua kota dimana tiap kota hanya dikunjungi sekali, dandia harus mulai dan kembali ke kota asal.Tujuan yang ingin dicapai pada permasalahanTSP adalah mencari rute terpendek bagiseorang salesman. (Biggs et.al, 1976).

3. METODE PENELITIAN

Travelling Salesman Problem termasukke dalam kelas permasalahan NP(NonDeterministic Polynomial) kategori sulitkarena memiliki kompleksitas O (nol).Permasalahan utama dari TSP adalahbagaimana seorang salesman dapat mengaturrute perjalanannya untuk mengunjungisejumlah kota yang diketahui jarak satu kotadengan kota lainnyasehingga jarak yang ditempuh merupakanjarak minimum di mana seorang salesmanhanya dapat mengunjungi kota tersebut tepatsatu kali. Salah satu metode yang dapatdigunakan di dalam menyelesaikanpermasalahan TSP yaitu algoritma genetika.

Proses mutasi dimaksudkan untukmencegah hasil dari algoritma genetikaterjebak di dalam kondisi local optima.Penelitian ini dimaksudkan untuk melihatpengaruh dari proses mutasi terhadapperformance dari algoritma genetika.

Data yang digunakan merupakan databenchmark yang diambil dari TravellingSalesman Problem Library (TSPLIB). Adapundata yang digunakan yaitu data berlin52.tsp.

Adapun prosedur kerja yang dilakukanoleh peneliti dari penelitian ini dapat dilihatsecara keseluruhan pada Gambar 2.

Gambar 3.1 Metode Penelitian

Pada Gambar 3.1, dapat dilihat bahwa prosespenelitian dimulai dari penentuan input yangdalam hal ini peneliti menggunakan databenchmark yang sudah ada, yang bersumberdari TSPLIB yaitu Berlin52.tsp. Tahapanpenelitian yang dilakukan dimulai daripendefinisian kromosom, pembentukanpopulasi awal, perhitungan nilai fitness tiapkromosom, penyeleksian kromosom,pemilihan metode kawin silang (crossover)yang dalam hal ini menggunakan arithmeticcrossover, dan permutasian. Penelitian iniakan fokus pada output berupa performanceberdasarkan pada proses mutasi.

4. HASIL DAN PEMBAHASAN

Analisis Pembangkitan Populasi Awal

Permasalahan Berlin52.TSP yangdigunakan di dalam penelitian ini meliputi 51kota yang akan dikunjungi dari kota asal.Jumlah populasi yang digunakan adalahsebanyak 10 dan terdapat 51 kromosom padatiap populasi, yang mewakili jumlah kota yangharus dikunjungi.

Analisis Proses Penghitungan NilaiFitness

Untuk dapat menghitung nilai fitnessmaka kita harus menghitung nilai fungsi objekterlebih dahulu. Fungsi objektif di dalampermasalahan ini adalah merupakan total jarakperjalanan yang dilalui oleh seorang salesman.Adapun jarak antara 1 kota dengan kotalainnya dapat dihitung dengan menggunakanperhitungan euclidean distance. Adapunpersamaan untuk euclidean distance dapatdilihat pada Persamaan 1.

d (i , j )

Dimana:

(xi x j ) (yi y j ) ……(1)

Page 52: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

49

xi = Koordinat x kota ixj = Koordinat x kota jyi = Koordinat y kota iyj = Koordinat y kota j

Setelah menghitung nilai fungsi objektif,maka nilai fitness dapat dihitung denganmenggunakan Persamaan 2.1

Fitness = 1 / (1+Fungsi_Objektif)....(2)

Analisis Proses Seleksi

Proses seleksi di dalam penelitianmenggunakan metode roulette wheel selection.

Metode roulette wheel selection dapatdilihat pada Gambar 3.

Sumber: Kumar, 2012

Gambar 4.1. Metode Roulette Wheel Selection

Analisis Proses Crossover

Metode crossover yang digunakan didalam penelitian ini adalah metode arihtmeticcrossover. Jenis arithmetic crossover yangdigunakan adalah Whole ArithmeticCrossover.

Pada Metode Whole ArithmeticCrossover, gen pada kromosom offspringdiperoleh dari hasil operasi aritmatika genpada kromosom parent, di mana prosesaritmatika yang dilakukan sesuai denganpersamaan 3. Illustrasi dari proses wholearithmetic crossover dapat dilihat pada Tabel2.

KromosomParent 2

0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3

α 0.5KromosomOffspring

0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6

Analisis Proses Mutasi

Proses mutasi yang akan digunakan didalam penelitian ini adalah mutasi dalampengkodean biner. Proses mutasi akandivariasikan nilai probabilitas mutasi sehinggadapat diketahui pengaruh proses mutasiterhadap performance dari algoritma genetika

Analisis Proses Pengujian

Pada penelitian ini akan dilakukanpengujian terhadap algoritma genetika.Metode kawin silang (crossover) yangdigunakan adalah Whole ArithmeticCrossover. Penelitian ini akan menguji kaitanantara proses mutasi terhadap performancedari algoritma genetika. Proses mutasi akandiuji berdasarkan variasi dari nilai probabilitasmutasi (mutation rate). Mutation rate akandivariasikan pada nilai 0.1, 0.2, 0.3, dan 0.4.Hasil pengujian diharapkan dapat memberikangambaran berupa pengaruh proses terhadapperformance dari algoritma genetika.

Pengujian dilakukan dengan jumlahgenerasi sebanyak 100 generasi dengan nilaiprobability crossover 0.25 dan nilai mutationrate (Probabilitas Mutasi) sebesar 0.1 sertanilai α sebesar 0.5 untuk melihat nilai bestdistance serta average distance.

Adapun proses pengujian dapat dilihatpada Gambar 4.2, 4.3, 4.4, dan 4.5.

Child= . x (1 ). y

………….(3)

Tabel 4.1 Whole Arithmetic Crossover Gambar 4.2 Pengujian dengan MenggunakanKromosom

Parent 10.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Probabilitas Mutasi Sebesar 0.1

Page 53: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

50

ProbabilitasMutasi

BestDistance

AverageDistance

0.1 22055.91 27792.580.2 21857.85 27451.98

0.3 20062.05 28950.680.4 19906.38 28642.60

Gambar 4.3. Pengujian dengan MenggunakanProbabilitas Mutasi Sebesar 0.2

Gambar 4.4 Pengujian dengan MenggunakanProbabilitas Mutasi Sebesar 0.3

Gambar 4.5. Pengujian dengan MenggunakanProbabilitas Mutasi Sebesar 0.4

Hasil Pengujian dapat dilihat pada Tabel 4.2.

Tabel 4.2 Hasil Pengujian

Pada Tabel 4.2, dapat dilihat bahwa nilaidistance yang semakin rendah adalah semakinbaik yang berarti bahwa jarak yang ditempuhpada permasalahan Berlin52.TSP adalahsemakin rendah. Pada pengujian denganmemvariasikan nilai probabilitas mutasisebesar 0.1, 0.2, 0.3, dan 0.4 dan dikaitkandengan nilai best distance dan nilai averagedistance. Nilai best distance merupakan nilaidistance terendah yang diperoleh padapengujian dengan melibatkan 51 kromosomdengan jumlah generasi sebanyak 100generasi. Nilai average distance merupakannilai rata-rata distance yang diperoleh padapengujian dengan melibatkan 51 kromosomdengan jumlah generasi sebanyak 100generasi.

Pembahasan

Berdasarkan hasil pengujian bahwa nilaiprobabilitas mutasi berpengaruh terutamaterhadap nilai best distance yang diperoleh.Hal ini dapat dilihat bahwa terjadi peningkatannilai best distance seiring dengan peningkatannilai probabilitas mutasi. Bila dikaitkandengan nilai rata-rata average distance makaniai probabilitas mutasi tidak memilikipengaruh yang signifikan dan hasil dapatberbeda-beda di dalam tiap pengujian.

Pengaruh nilai probabilitas mutasiterhadap nilai best distance meskipun tidakdiikuti dengan pengaruh terhadap nilaiaverage distance sudah menunjukkan bahwaproses mutasi memiliki pengaruh terhadapperformance dari algoritma genetika.

Mutasi tidak berpengaruh besar terhadapnilai average distance, yang merupakan nilairata-rata dari seluruh distance yang ada pada100 generasi, dapat terjadi karena ada kalanyapertukaran posisi bit pada proses mutasi padabeberapa generasi dapat mengurangi kualitasgen pada offspring. Namun, secara umumsemakin banyak pertukaran gen, yang ditandaidengan semakin tingginya nilai probabilitasmutasi akan dapat mencapai kualitas genterbaik pada offspring. Hal ini ditandai denganpeningkatan kualitas best distance seiringdengan peningkatan nilai probabilitas mutasi.

Page 54: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

51

2. Perlunya memvariasikan metodecrossover dan juga nilai probabilitycrossover sehingga akan diperolehgambaran apakah mutasi tetap

5. KESIMPULAN5.1 Kesimpulan

Berdasarkan hasil penelitian yangdilakukan oleh peneliti maka beberapakesimpulan yang dapat ditarik oleh penelitiadalah sebagai berikut.1. Hasil penelitian menunjukkan bahwa

proses mutasi berpengaruh terhadapperformance dari algoritma genetika. Halini ditandai dengan terjadinya peningkatanbest distance seiring dengan peningkatannilai probabilitas mutasi. Peningkatan nilaiprobabilitas mutasi yang berartipeningkatan jumlah gen yang mengalamipertukaran ternyata dapat meningkatkankualitas nilai best distance yang diperoleh.

2. Nilai average best distance tidak begituterpengaruh dengan proses mutasi yangterjadi. Average Distance merupakan nilairata-rata distance pada 100 generasi, danini menandakan bahwa dalam beberapagenerasi semakin meningkatnya jumlahgen yang mengalami pertukaran,terkadang tidak dapat meningkatkankualitas dari offspring yang dihasilkan.

5.2 Saran

Adapun saran yang dapat diberikanuntuk pelaksanaan penelitian di masamendatang adalah sebagai berikut.1. Perlunya dilakukan pengujian dengan

memvariasikan jumlah generasi. Hal inidilakukan untuk mendapatkan gambaranapakah mutasi tetap berpengaruh padajumlah generasi yang semakin besar.

berpengaruh bila diubah proses crossoveryang ada.

DAFTAR PUSTAKA

[1] Biggs, N.L., Lloyd, E.K. and Wilson,R.J. 1976. Graph Theory 1736-1936.Clarendon Press: Oxford

[2] Konar, Amit. 2005. ComputationalIntelligence Principles, Techniques, andApplications. Springer: Calcutta, India

[3] Kumar, Rakesh and Jyotishree. 2012.Blending Roulette Wheel Selection &Rank Selection in Genetic Algorithms,International Journal of MachineLearning and Computing2(4): 365-370

[4] Muzid, Syafiul. 2014. DinamisasiParameter Algoritma GenetikaMenggunakan Population Resizing onFitness Improvement FuzzyEvalutionary Algorithm (PROFIFEA).Prosiding SNATIF 2014, pp. 471-478

[5] Negnevitsky, Michael. 2005. ArtificialIntteligence-A Guide to IntelligentSystems. Addison Wesley: Edinburg

[6] Rabunal, Juan R. and Dorado, Julian.2006. Artificial Neural Networks inReal-Life Applications, Ideal GroupPublishing: Hershey, United States ofAmerica.

[7] Schrempf, D & Hobolth, A. 2017. Analternative derivation of the stationarydistribution of the multivariate neutralWright–Fisher model for low mutationrates with a view to mutation rateestimation from site frequency data.Theoretical Population Biology114: pp.88-94

[8] Shaikh, Misba and Panchal, Mahesh.2012. Solving Asymmetric TravellingSalesman Problem Using MemeticAlgorithm, International Journal ofEmerging Technology and AdvancedEngineering 2(11): 634-639

Page 55: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

Jurnal Teknik Informatika Kaputama (JTIK), Vol 1 No 1, Januari 2017 ISSN :2548-9704

52

entitas [7]. Integritas dokumen elektronik dapat Gost merupakan blok cipher 64 bit dengandijamin dengan menggunakan teknik panjang kunci 256 bit. Algoritma ini

PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DANGOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN

Marthin Benedict1, Mohammad Andri Budiman2, Dian Rachmawati3

Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi,Universitas Sumatera Utara

[email protected], [email protected], [email protected]

Abstrak

Dokumen elektronik memiliki sifat terbuka, artinya isi dokumen dapat dibaca dan diubah dengan mudah olehpihak-pihak yang tidak berhak. Hal tersebut menyebabkan integritas dokumen menjadi tidak terjamin. Integritasdokumen elektronik dapat dijamin dengan menggunakan teknik kriptografi, salah satunya hash function. Adabanyak algoritma yang dapat digunakan untuk hashing file atau dokumen, dua algoritma diantaranya adalahalgoritma Message Digest-5 (MD5) dan algoritma Gosudarstvennyi Standard (GOST). Secara garis besar,kedua algoritma mengambil panjang isi file atau pesan dalam bit lalu dibagi menjadi blok-blok bit setelah itupada setiap blok akan dilakukan operasi matematika sehingga menghasilkan 128 bit nilai hash pada MessageDigest-5 (MD5) dan 256 bit nilai hash pada Gosudarstvennyi Standard (GOST). Setelah itu, nilai hash diubahdalam bentuk heksadesimal sehingga Message Digest-5 (MD5) akan menghasilkan 32 karakter heksadesimalnilai hash dan 64 karakter heksadesimal nilai hash pada Gosudarstvennyi Standard (GOST).

Kata Kunci—Kriptografi, Fungsi Hash, Message Digest-5 (MD5), Gosudarstvennyi Standard (GOST),Dokumen Elektronik.

1. PENDAHULUAN1.1 Latar Belakang

Pada era digital ini, dokumen banyak dibuatmenggunakan media elektronik disebut dengandokumen elektronik. Dokumen elektronikadalah informasi yang direkam atau disimpandengan menggunakan perangkat komputer atauperangkat elektronik lain untuk menampilkan,menafsirkan atau memprosesnya. Dokumen-dokumen tersebut dapat berupa teks, grafik ataugambar yang dihasilkan oleh perangkat lunakdan disimpan melalui media disc. Salah satuperangkat lunak yang paling banyak digunakanuntuk mengolah dokumen elektronik adalahMicrosoft Office Word dengan ekstensi .docx.Dokumen elektronik memiliki sifat terbuka,artinya isi dokumen dapat dibaca dan diubahdengan mudah oleh pihak-pihak yang tidakberhak. Hal tersebut menyebabkan integritasdokumen menjadi tidak terjamin.

Kriptografi adalah ilmu yang bersandarkanpada teknik matematika untuk berurusandengan keamanan informasi, sepertikerahasiaan, keutuhan data, dan otentikasi

kriptografi, salah satunya hash function. Adabanyak algoritma yang dapat digunakan untukhashingfile atau dokumen, dua algoritmadiantaranya adalah algoritma Message Digest-5dan algoritma Gosudarstvennyi Standard.

Algoritma Message Digest-5 secara garisbesar mengambil isi file atau pesan yangmempunyai panjang variabel diubah menjadi‘hash’ atau ‘sidik jari’ yang mempunyaipanjang tetap yaitu 128 bit. Sidik jari ini tidakdapat dibalik untuk mendapatkan isi pesan ataufile, dengan kata lain tidak ada orang yangdapat melihat pesan dari ‘sidik jari’ MessageDigest-5 tersebut. Lebih tepatnya, MessageDigest-5 memroses teks masukan ke dalamblok-blok bit sebanyak 512 bit, kemudiandibagi ke dalam 32 bit sub blok sebanyak 16buah. Keluaran dari Message Digest-5 berupa 4buah blok, masing-masing 32 bit yang manaakan menjadi 128 bit dari byte terendah A dantertinggin byte D yang biasa disebut nilai‘hash’.

Algoritma Gost merupakan blok cipher daribekas Uni Sovyet, yang merupakan singkatandari “Gosudarstvennyi Standard”. Algoritma

Page 56: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

53

mengiterasi algoritma enkripsi sederhanasebanyak 32 putaran (round). Untukmengenkripsi pertama-tama plaintext 64 bitdipecah menjadi bagian kiri, L dan 32 bitbagian kanan, R. subkunci (subkey) untukputaran i adalah Ki, enkripsi dilakukansebanyan 16 putaran (round). Pada setiapputaran, blok R (kanan) tidak akan mengalamiperubahan apapun karena hanya akan dipindahmenjadi blok L pada putaran selanjutnya.Namun blok R akan digunakan bersamaandengan subkey kunci internal untuk diolah padafungsi F dan akan di XOR-kan dengan blok L(kiri).

Kedua algoritma ini akan menghasilkanperbedaan waktu pemrosesan dan nilai ‘hash’atau ‘sidik jari’ pada file dokumen (.docx),sehingga akan dapat dibandingkan algoritmamana yang lebih baik.

1.2 Rumusan Masalah

Belum adanya penelitian yang membahastentang perbandingan antara algoritma hashfunction Message Digest 5 (MD5) danGosudarstvennyi Standard (GOST)padahashingfile .docx.

1.3 Batasan Masalah

1. Jenis file yang akan dicari nilai hash-nyaadalah Microsoft Office Word 2007 ke atas(*.docx).

2. Parameter pembanding yang digunakanadalah waktu hashing (milisekon) dankompleksitas algoritma (Big Ɵ) berdasarkanwaktu hashing.

3. Bahasa pemrograman yang digunakanadalah C#.

4. Tidak melakukan penelitian tentangcollision.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untukmencari algoritma yang lebih baik dalamhashing file dokumen dengan membandingkanwaktu hashing(milisekon) dan kompleksitas(Big Ɵ) pada algoritma Message Digest 5(MD5) dan Gosudarstvennyi Standard (GOST).

1.5 Manfaat Penelitian

Manfaat dari penelitian ini adalah pembacadapat mengetahui kegunaan dari algoritma hashfunction serta algoritma mana yang lebih baikantara Message Digest 5 (MD5) danGosudarstvennyi Standard (GOST).

2. TINJAUAN PUSTAKA2.1 Kriptografi

Kriptografi merupakan studi tentang metodeuntuk mengirim pesan secara rahasia sehinggahanya penerima pesan yang dituju yang dapatmenghilangkan penyamaran dan membaca ataumemahami isi pesan yang sebenarnya.Berdasarkan etimologinya, kriptografi terdiri darikryptos yang berarti tersembunyi, dan grapheinyang berarti menulis. Pesan asli disebut denganplaintext, dan pesan yang disamarkan disebutciphertext. Pesan yang disamarkan dan dikirim kepenerima disebut dengan cryptogram. Prosesmengubah plaintext menjadi ciphertext disebutencryption atau enciphering, dan proses kebalikandari mengubah ciphertext menjadi plaintext, yangdilakukan oleh penerima yang memilikipengetahuan untuk menghapus penyamaran,disebut decryption atau deciphering. Siapapunyang terlibat dalam kriptografi disebutcryptographer[5]. Kriptografi (keamanankriptografi) adalah salah satu cara yang efektifuntuk keamanan data [2].

2.2 Fungsi Hash (Hash Function)

Fungsi hash adalah fungsi yang menerimamasukan string yang panjangnya sembarangdan mengkonversinya menjadi string keluaranyang panjangnya tetap (fixed) (umumnyaberukuran jauh lebih kecil daripada ukuranstring semula)[6].

Fungsi hash dapat diketahui oleh siapa pun,tak terkecuali, sehingga semuanya dapatmemeriksa keutuhan dokumen atau pesantertentu. Tak ada algoritma rahasia, danumumnya tak ada pula kunci rahasianya.Jaminan dari keamanan nilai hash berangkatdari kenyataan bahwa hampir tidak ada duapre-image yang memiliki nilai hash yang sama.Inilah yang disebut dengan sifat collision freedari suatu fungsi hash yang baik. Selain itu,sangat sulit untuk membuat suatu pre-imagejika hanya diketahui nilai hash-nya saja.

Page 57: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

54

Biner = 1 1 1 1↓ ↓ ↓ ↓Desimal = 8 4 2 1

Berikut diuraikan sifat-sifat fungsi hashkriptografi [1].

1. Tahan pre-image (pre-image resistent):Bila diketahuinilai hashh, sulit didapatkan(secara komputasi tidak layak) m dimanah = hash(m).

2. Tahan pre-image kedua (second pre-image resistant): Bila diketahui input m1,sulit dicari input m2 (tidak sama denganm1) yang menyebabkan hash(m1) =hash(m2).

3. Tahan tumbukan (collision-resistant):Sulit dicari dua input yang berbeda, m1

dan m2, yang menyebabkan hash(m1) =hashi(m2).

Selain itu, fungsi hash mempunyai sifatsebagai berikut.

1. Fungsi H dapat diterapkan pada blok databerukuran berapa saja.

2 H menghasilkan nilai (h) dengan panjangtetap (fixed-length output).

3. H(x) mudah dihitung untuk setiap nilai xyang diberikan.

4. Untuk setiap h yang dihasilkan, sangatsulit dikembalikan nilai x sehingga H(x)= h.

5. Untuk setiap x yang diberikan, sangatsulit mencari y ≠x sedemikian sehinggaH(y) = H(x).

6.Sangat sulit mencari pasangan x dan ysedemikian sehingga H(x) = H(y).

Skema fungsi hash ditunjukkan padaGambar 1

Gambar 2.1. Fungsi Hash [6]

2.3 Landasan Matematika

1. Logika Matematika dan OperatorLogika

Logika matematika berisi pernyataan-pernyataan (dapat tunggal maupun gabungan).Pernyataan mempunyai sifat dasar yaitu dapatbernilai benar (pernyataan benar) atau bernilaisalah (pernyataan salah), tetapi tidak mungkinmemiliki sifat kedua-duanya. Kebenaran dankesalahan sebuah pernyataan dinamakan nilaikebenaran dari pernyataan tersebut. Operator

logika adalah operator yang digunakan untukmembandingkan dua kondisi logika, yaitulogika benar dan logika salah. Berikut adalahoperator logika yang digunakan pada algoritmaMessage Digest 5 (MD5).NOT () :Bernilai kebalikan dari objekAND (˄) :Bernilai benar jika kedua objek

bernilai benarOR (˅) :Bernilai benar jika salah satu objek

bernilaibenar

XOR ( :Bernilai benar jika diantaraobjek salingberlawanan nilainya

Tabel nilai operator logika dapat dilihat padaTabel 2.11 bernilai benar0 bernilai salah

TABEL 2.1Nilai Operator NOT, AND, OR dan XOR

A BNOT(A)

A ANDB

A ORB

A XORB

1 1 0 1 1 01 0 0 0 1 10 1 1 0 1 10 0 1 0 0 0

2. Konversi Bilangan Binari ke BilanganHeksadesimal

Konversi dari bilangan binari ke bilanganheksadesimal dapat dilakukan denganmengkonversikan tiap-tiap empat buah digitbinari ke bilangan desimal lalu konversikanbilangan desimal tersebut ke bilanganheksadesimal [4].Dengan nilai desimal dari setiap digitnyasebagai berikut.

Lalu dari bilangan desimal konversikan kebilangan hexadesimal, dimana:Desimal = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1415↓↓↓↓↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓Heksadesimal=0 12 3 4 5 6 7 8 9 A B C D EFMisalnya bilangan biner 11010100 dapatdikonversikan ke heksadesimal dengan cara:1101→ D0100→ 4

Page 58: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

55

Jadi 11010100→ D4

3. Operasi Modulo (mod)Operasi modulus adalah sebuah operasi yang

menghasilkan sisa bagi positif dari suatubilangan bulat terhadap bilangan bulat lain.Dalam bahasa pemrograman operasi iniumumnya dilambangkan dengan simbol %,mod atau modulo. Misalkan a dan m bilanganbulat (m > 0). Operasi a mod m (dibaca “amodulo m”) memberikan sisa jika a dibagidengan m.

Contoh hasil operasi dengan operator modulo:(1) 20 mod 5 = 0 (20 = 5 × 4 + 0)(2) 19 mod 3 = 1 (19 = 3 × 6 + 1)(3) 0 mod 4 = 0 (0 = 4 × 0 + 0)(4) 7 mod 9 = 7 (7 = 9 × 0 + 7)(5) -38 mod 7 = 4 (-38 = 7(-6) + 4)(6) -12 mod 3 = 0 (-12 = 3(-4) + 0)Penjelasan untuk -38 mod 7 = -3, karena hasilmodulo harus positif maka tambahkan 7 kehasil modulo sehingga-3 + 7 = 4.

Algoritma GOSTberasal dari Russia, danditetapkan dalam standar GOST R 34.11-94.Salah satu tujuan GOSTadalah memperluaspenerapan teknologi informasi saat membuat,mengolah dan menyimpan dokumen, untukmenjaga kerahasiaan, keutuhan dan keaslian isidokumen tersebut. Algoritma GOST memilikijumlah proses sebanyak 32 round, panjangkunci 256 bit dan menggunakan 64 bitblockcipher dengan panjang nilai hash 256 bit [8].Metoda GOST juga menggunakan 8 buah S-Box yang permanen dan operasi XOR sertaRotate Left Shift.

Pesan dengan blok-blok yang berukuran 256akan diproses oleh fungsi GOST hash menjadinilai hash 256 bit. Jika panjang pesan tidakmencapai kelipatan 256, pesan akan di-paddingseminimal mungkin hingga kondisi tercapai(panjang pesan sama dengan kelipatan 256 bit)[9].

H0 = IV(1)

3 Algoritma Message Digest 5(MD5)MD5 adalah fungsi hash satu arah yang

dibuat oleh Ronald Rivest pada tahun 1991.MD5 merupakan fungsi hash satu arah yangmerupakan perbaikan dari MD4 namun lebihkompleks dari MD4, keduanya mirip dari segimodel dan juga menghasilkan 128-bithash[8].MD5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi kedalam 32 bit sub blok sebanyak 16 buah.Keluaran dari MD5 berupa 4 buah blok yangmasing-masing 32 bit digabung menjadi 128 bit

(2)

(3)

Hi = f(Hi−1, Mi) for 0 < i ≤ t

Ht+1 = f(Ht, |M|)

Ht+2 = f(ht+1, ∑ ) = h ,(4)

nilai hash[3]. algoritma MD5 diperlihatkanpada Gambar 2.2

Gambar 2.2 Pembuatan Message Digest denganAlgoritma MD5[6]

4 Algoritma Gosudarstvennyi Standard(GOST)

Gambar 2.3 Struktur Fungsi Gost Hash[9]

Setelah di-padding, pesan M akan dibagimenjadi tblok pesan (M = M1||M2||M3||..||Mt).Nilai hash yang dihasilkan akan diprosesseperti pada Gambar 2.3 Dimana ∑ = M1 M2

.. Mt, dan merupakan hasil modulo 2256

setelah penjumlahan. IV adalah initialvalueyang telah didefiniskan sebelum prosesdilakukan dan |M| merepresentasikan sebagaibit panjang yang ditambahkan diakhir pesan.Seperti yang terlihat pada persamaan (4),checksum (∑) merupakan hasil modulo daripenjumlahan semual blok-blok pesan. fungsiGOST hash. Penggunaan komputasi checksumini merupakan bagian penting yang digunakan

Page 59: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

56

pada fungsi GOST hash dibandingkan MD5dan SHA-1.

Fungsi kompresi pada fungsi f, padadasarnya merupakan gabungan dari tiga bagian:stateupdatetransformation, thekeygenerationdan theoutputtransformation.

5 Kompleksitas AlgoritmaTergantung dari banyaknya input, beberapa

algoritma dapat selesai diproses dalam waktukurang dari satu detik. Namun, algoritma yangkompleks dapat memerlukan waktu beberapamenit hingga berhari-hari untuk menyelesaikanprosesnya. Algoritma bekerja berdasarkan inputyang dimasukkan user. Ada dua macamkompleksitas algoritma, yaitu:

1. Kompleksitas waktu, T(n), diukur darijumlah tahapan komputasi yangdibutuhkan untuk menjalankan algoritmasebagai fungsi dari ukuran masukan n.

2. Kompleksitas ruang, S(n), diukur darimemori yang digunakan oleh strukturdata yang terdapat di dalam algoritmasebagai fungsi dari ukuran masukan n.

Tergantung isi input, waktu proses dapatbervariasi:Best Case : Omega dilambangkan (Ω)Average Case : Theta dilambangkan (Ɵ)Worst Case : Big-O dilambangkan (O)

3. ANALISIS DAN PERANCANGAN SISTEM3.1 Analisis Masalah

Pada analisis masalah, sebab dan akibatdiidentifikasi sehingga nantinya sistem yangakan dibangun dapat bekerja sesuai dengantujuan utama sistem tersebut dibangun.Permasalahan yang ingin dipecahkan padapenelitian ini adalah untuk mengetahuialgoritma mana yang lebih baik antaraalgoritma Message Digest-5 (MD5) danalgoritma Gosudarstvennyi Standard (Gost)pada hashingfile dokumen. Hashingfilemenggunakan algoritma Message digest-5(MD5) dan Gosudarstvennyi Standard (Gost)dipengaruhi oleh setiap bit pada file yangdilakukan proses hashing. Jenis file yangdigunakan yaitu *.docx.

3.2 Perancangan Sistem

Penulis menggunakan Unified ModelingLanguage (UML) pada bagian ini sebagai

bahasa standar pemodelan yang digunakan danberfungsi untuk merancang sistem. Jenis UMLyang digunakan pada penelitian ini terdiri dariuse case diagram, activity diagram,sequencediagram, dan flowchart sistem.

3.3 Use Case Diagram

Use case diagram merupakan gambaranproses pada sistem dari sudut pandang user.Use case diagram untuk sistem yang akandibangun dapat dilihat pada Gambar 3.1

Gambar 3.1 Use Case Diagram

Use Case pada Gambar 3.1 di atas terlihat dimana user melakukan proses hashing filedokumen pada menu hash. Proses yang adapada menu hash yaitu, pertama-tama usermenginput atau membuka file dokumen dimana pada penelitian ini ekstensi yangdigunakan adalah *.docx. Setelah menginputfile dokumen selanjutnya user melakukanproses hashing dengan algoritma MessageDigest-5 (MD5) dan Gosudarstvennyi Standard(GOST) namun tidak dalam waktu yangbersamaan untuk mencegah ketidakakuratanwaktu hashing atau running time. Setelah itunilai hash dari kedua algoritma akanditampilkan berikut dengan waktu proseshashing pada masing-masing algoritma.Spesifikasi Use Case dapat diuraikan sebagaiberikut.

3.4 Activity Diagram

Activity diagram merupakan gambaran aliraktivitas dalam sistem yang akan dibangun,bagaimana masing-masing alir berawal,decision yang mungkin terjadi, dan bagaimanamereka berakhir. Activity diagram juga dapatmenggambarkan proses paralel yang mungkinterjadi pada beberapa eksekusi. Activity

Page 60: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

57

diagram pada sistem yang akan dibangun dapatdilihat pada Gambar 3.2

Gambar 3.2 Activity Diagram proses Hash

3.5 Sequence Diagram

Sequence Diagram adalah bentuk pemodelansistem yang menggambarkan hubungan antarobjek atau objek yang saling berinteraksimelalui pesan dalam eksekusi. SequenceDiagram untuk sistem yang akan dibangunpada penelitian ini adalah sebagai berikut.

3.6 Sequence Diagram pada Proses Hash

Sequence diagram pada Proses Hash dapatdilihat pada Gambar 3.3

Gambar 3.3 Sequence Diagram pada ProsesHash

3.7 Flowchart Sistem

Flowchart dari sistem yang akan dibangundapat dilihat pada Gambar 3.4 berikut.

Gambar 3.4 Flowchart Sistem

4. IMPLEMENTASI DAN PENGUJIAN SISTEM4.1 Implementasi

Pada tahap ini sistem dibangun sesuaidengan fungsi utamanya menggunakan bahasapemrograman C# dan IDE visual studio 2015.Tampilan sistem diberikan nuansa hijau denganalasan, agar user merasa nyaman melihattampilan sistem dan disesuaikan dengan warnalogo Universitas Sumatera Utara. Terdapat tigahalaman tampilan pada sistem yang dibangun,yakni halaman Home, halaman Hash, danhalaman About.

4.2 Pengujian

Pengujian terhadap aplikasi perbandinganalgoritma Message Digest-5 (MD5) danGosudarstvennyi Standard (GOST) pada filedokumen yang telah dibangun dilakukandengan menguji kinerja atau running time tiapmetode dengan beberapa file dokumen yangmemiliki besar ukuran file berbeda. File yangsama akan diuji satu persatu dengan metodeMessage Digest 5 (MD5) dan GosudarstvennyiStandard (GOST), kemudian hasilnya akandibandingkan.

1. Pengujian Metode Message Digest-5 (MD5)

Pengujian dengan metode Message Digest 5(MD5) akan dilakukan dengan menggunakantiga sample dan pengujian setiap sampledilakukan lima kali percobaan yang akanmenghasilkan lima nilai running time berbeda.

Page 61: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

58

Setelah melakukan lima kali percobaan, rata-rata dari kelima nilai running time akan didapatdengan menekan button rata-rata.

2. Percobaan Pertama Pada Pengujian MetodeMessage Digest 5 (MD5)

Hasil yang diperoleh dari pengujian pertamadengan metode Message Digest 5 (MD5)menggunakan file sample1.docx pada aplikasiyang telah dibangun adalah sebagai berikut:Ukuran File = 12532 bytesHash =FF7FE44B5F83C897271C2B69EB1DF509Pada percobaan pertama didapatkan nilairunning time 3,7422 milisekonPada percobaan kedua didapatkan nilai runningtime 2,2236 milisekonPada percobaan ketiga didapatkan nilai runningtime 1,7498 milisekonPada percobaan keempat didapatkan nilairunning time 1,9448 milisekonPada percobaan kelima didapatkan nilairunning time 1,8931 milisekonRata-rata nilai running time dari limapercobaan adalah 2,3107 milisekon

3. Percobaan Kedua Pada Pengujian MetodeMessage Digest 5 (MD5)

Hasil yang diperoleh dari pengujian pertamadengan metode Message Digest 5 (MD5)menggunakan file sample2.docx pada aplikasiyang telah dibangun adalah sebagai berikut:Ukuran File = 130936 bytesHash =E29D771A455AAA9AF4B822C5B6781A2FPada percobaan pertama didapatkan nilairunning time 10,731 milisekonPada percobaan kedua didapatkan nilai runningtime 9,6328 milisekonPada percobaan ketiga didapatkan nilai runningtime 11,4293 milisekonPada percobaan keempat didapatkan nilairunning time 12,5219 milisekonPada percobaan kelima didapatkan nilairunning time 10,3705 milisekonRata-rata nilai running time dari limapercobaan adalah 10,9371 milisekon

4. Percobaan Ketiga Pada Pengujian MetodeMessage Digest 5 (MD5)

Hasil yang diperoleh dari pengujian pertamadengan metode Message Digest 5 (MD5)menggunakan file sample3.docx pada aplikasiyang telah dibangun adalah sebagai berikut:Ukuran File = 1303809 bytesHash =3EC2BA2B64E24FC802C7878B5857F6F1Pada percobaan pertama didapatkan nilairunning time 103,0555 milisekonPada percobaan kedua didapatkan nilai runningtime 90,1812 milisekonPada percobaan ketiga didapatkan nilai runningtime 86,2589 milisekonPada percobaan keempat didapatkan nilairunning time 99,6169 milisekonPada percobaan kelima didapatkan nilairunning time 90,0011 milisekonRata-rata nilai running time dari limapercobaan adalah 93,82272 milisekon

5. Grafik Fungsi Running Time Rata-RataMetode MD5

Grafik fungsi running time rata-ratapercobaan 1, 2, dan 3 metode MD5 dapatdilihat pada Gambar 4.1 berikut.

Gambar 4.1 Grafik Running Time Rata-RataPercobaan 1, 2, dan 3 Metode MD5

Pada grafik Gambar 4.1 terlihat running timerata-rata metode MD5 percobaan 1, 2, dan 3berbanding lurus dengan ukuran file yangdiproses. Dimana running time akan mengalamipenambahan berdasarkan ukuran file yangdiproses. Maka perhitungan jumlah byte yangdiproses per milisekon pada setiap percobaandapat dilihat pada Tabel 4.1 berikut.

Page 62: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

59

Percobaan

UkuranFile

(bytes)

RunningTime Rata-

Rata(milisekon)

bytes permilisekon

1 12532 2.3107 5423.464751

2 130936 10.9371 11971.72925

3 1303809 93.82272 13896.51675

rata-rata 10430.57025

Pada percobaan kelima didapatkan nilairunning time 241.2921 milisekonRata-rata nilai running time dari lima

TABEL 4.1Tabel Bytes per Milisekon Pada Metode MD5

Pada Tabel 4.1 terlihat ukuran file percobaanpertama yang diproses setiap milisekon adalah5423,464751 bytes, lalu pada percobaan ke duaukuran file yang diproses setiap milisekonadalah 11971,72925 bytes, dan pada percobaanke tiga ukuran file yang diproses setiapmilisekon adalah 13896,51675 bytes. Sehinggadidapatkan rata-rata ukuran file yang diprosessetiap milisekon pada percobaan satu, dua, dantiga adalah 10430,57025 bytes.

6. Pengujian Metode GosudarstvennyiStandard (GOST)

Pada pengujian dengan metodeGosudarstvennyi Standard sama seperti metodeMessage Digest-5 (MD5) dilakukan denganmenggunakan tiga sample dengan sample yangsama seperti pada pengujian metode MessageDigest-5 (MD5) dan pengujian setiap sampledilakukan lima kali percobaan yang akanmenghasilkan lima nilai running time berbeda.Setelah melakukan lima kali percobaan, rata-rata dari kelima nilai running time akan didapatdengan menekan button rata-rata.

7. Percobaan Pertama Pada PengujianMetode Gosudarstvennyi Standard (GOST)

Hasil yang diperoleh dari pengujian pertamadengan metode Gosudarstvennyi Standard(GOST) menggunakan file sample1.docx padaaplikasi yang telah dibangun adalah sebagaiberikut

Ukuran File = 12532 bytesHash =FC6E81907B9B36F774DE273C69A38C1588937373071F6C15A75583889 56D66B3Pada percobaan pertama didapatkan nilairunning time 32.6413 milisekon

Pada percobaan kedua didapatkan nilai runningtime 23,3573 milisekonPada percobaan ketiga didapatkan nilai runningtime 23.0152 milisekonPada percobaan keempat didapatkan nilairunning time 22.9263 milisekonPada percobaan kelima didapatkan nilairunning time 23.2804 milisekonRata-rata nilai running time dari limapercobaan adalah 25.0441 milisekon

8. Percobaan Kedua Pada Pengujian MetodeGosudarstvennyi Standard (GOST)

Hasil yang diperoleh dari pengujian keduadengan metode Gosudarstvennyi Standard(GOST) menggunakan file sample2.docx padaaplikasi yang telah dibangun adalah sebagaiberikut:Ukuran File = 130936 bytesHash =EB394A20DC0C11B816FF2A7A99D462D5DB93B444A291C90A8CBB1 D47E268C057Pada percobaan pertama didapatkan nilairunning time 250.1703 milisekonPada percobaan kedua didapatkan nilai runningtime 246.1321 milisekonPada percobaan ketiga didapatkan nilai runningtime 252.0027 milisekonPada percobaan keempat didapatkan nilairunning time 242.2252 milisekon

percobaan adalah 246.36448 milisekon

9. Percobaan Ketiga Pada Pengujian MetodeGosudarstvennyi Standard (GOST)

Hasil yang diperoleh dari pengujian ketigadengan metode Gosudarstvennyi Standard(GOST) menggunakan file sample3.docx padaaplikasi yang telah dibangun adalah sebagaiberikut:Ukuran File = 1303809 bytesHash =074C240FB86FE320AF05765A60FAADA8CBA0C1E472F33021FFDFD8 19269A4C57Pada percobaan pertama didapatkan nilairunning time 2459.191 milisekonPada percobaan kedua didapatkan nilai runningtime 2458.1591 milisekon

Page 63: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

60

Percobaan

UkuranFile

(bytes)

RunningTime Rata-

Rata(milisekon)

bytes permilisekon

1 12532 25.0441 500.3972992

2 130936 246.36448 531.4727188

3 1303809 2474.8456 526.8243805

rata-rata 519.5647995

Pada percobaan ketiga didapatkan nilai runningtime 2438.5171 milisekonPada percobaan keempat didapatkan nilairunning time 2512.4033 milisekonPada percobaan kelima didapatkan nilairunning time 2505.9575 milisekonRata-rata nilai running time dari limapercobaan adalah 2474.8456 milisekon

10.Grafik Fungsi Running Time Rata-RataMetode GOST

Grafik fungsi running time rata-ratapercobaan 1, 2, dan 3 metode GOST dapatdilihat pada Gambar 4.2 berikut.

Gambar 4.2 Grafik Running Time Rata-RataPercobaan 1, 2, dan 3 Metode GOST

Pada grafik Gambar 4.2 sama seperti metodeMD5 running time rata-rata metode GOSTpercobaan 1, 2, dan 3 berbanding lurus denganukuran file yang diproses. Dimana running timeakan mengalami penambahan berdasarkanukuran file yang diproses. Maka perhitunganjumlah byte yang diproses per milisekon padasetiap percobaan dapat dilihat pada Tabel 4.2berikut.

TABEL 4.2Tabel Bytes per Milisekon Pada Metode GOST

Pada Tabel 4.2 terlihat ukuran file percobaanpertama yang diproses setiap milisekon adalah500,3972992 bytes, lalu pada percobaan ke dua

ukuran file yang diproses setiap milisekonadalah 531,4727188 bytes, dan pada percobaanke tiga ukuran file yang diproses setiapmilisekon adalah 519,5647995 bytes. Sehinggadidapatkan rata-rata ukuran file yang diprosessetiap milisekon pada percobaan satu, dua, dantiga adalah 519,5647995 bytes.

11.Perbandingan Running Time Rata-RataMetode Message Digest-5 (MD5) danGosudarstvennyi Standard (GOST)

Setelah dilakukan pengujian terhadapmasing-masing metode Message Digest-5(MD5) dan Gosudarstvennyi Standard (GOST)pada tiga sample dokumen elektronik yaitumicrosoft word (*.docx) dengan ukuran fileyang berbeda sebanyak lima kali percobaansetiap sample dan didapatlah nilai rata-ratarunning time pada setiap sample. Setelahdidapat nilai rata-rata running time setiapsample pada kedua metode hashing, makadibuatlah grafik garis untuk kedua metode.Agar lebih terlihat perbandingan running timerata-rata pada kedua metode maka nilai runningtime rata-rata tersebut digabungkan sehinggadiperoleh penggabungan grafik pada Gambar4.3 berikut.

Gambar 4.3 Grafik Perbandingan RunningTime Rata-Rata Metode MD5 dan Metode

GOST

Grafik pada Gambar 4.3 memperlihatkanperbedaan running time rata-rata metodeMessage Digest-5 (MD5) dan metodeGosudarstvennyi Standard (GOST) pada ketigasample file dokumen dengan ekstensi file(*.docx) yang telah dilakukan sebelumnya.

12.Kompleksitas Algoritma Message Digest-5(MD5)

Page 64: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

((not D) and C)

g := (5×i + 1)mod 16

C1 16N 16C1N

else if 32 ≤ i ≤ 47 C4 16N 16C4N

F := B xor C xorD

C1 16N 16C1N

g := (3×i + 5)mod 16

C1 16N 16C1N

else if 48 ≤ i ≤ 63 C4 16N 16C4N

F := C xor (B or(not D))

C1 16N 16C1N

g := (7×i) mod 16 C1 16N 16C1N

dTemp := D C1 64N 64C1N

D := C C1 64N 64C1N

C := B C1 64N 64C1N

B := B +leftrotate((A + F + K[i]+ M[g]), s[i])

C1 64N 64C1N

A := dTemp C1 64N 64C1N

end for C3 N C3N

a0 := a0 + A C1 N C1N

b0 := b0 + B C1 N C1N

c0 := c0 + C C1 N C1N

d0 := d0 + D C1 N C1N

end for C3 1 C3

varchar digest[16] := a0append b0 append c0append d0

C1 1 C1

leftrotate (x, c) C5 1 C5

return (x << c) binaryor (x >> (32-c));

C6 1 C6

Code C # C#varint[64] s, K C1 1 C1

s[ 0..15] := 7, 12, 17,22, 7, 12, 17, 22, 7, 12,17, 22, 7, 12, 17, 22

C1 1 C1

s[16..31] := 5, 9, 14,20, 5, 9, 14, 20, 5, 9,14, 20, 5, 9, 14, 20

C1 1 C1

s[32..47] := 4, 11, 16,23, 4, 11, 16, 23, 4, 11,16, 23, 4, 11, 16, 23

C1 1 C1

s[48..63] := 6, 10, 15,21, 6, 10, 15, 21, 6, 10,15, 21, 6, 10, 15, 21

C1 1 C1

for i from 0 to 63 C2 64 64C2

K[i] := floor(232 ×abs(sin(i + 1)))

C1 64 64C2

end for C3 1 C3

varint a0 := 0x67452301 C1 1 C1

varint b0 := 0xefcdab89 C1 1 C1

varint c0 := 0x98badcfe C1 1 C1

varint d0 := 0x10325476 C1 1 C1

append "1" bit tomessage

C4 1 C4

append "0" bit untilmessage length in bits ≡448 (mod 512)

C4 1 C4

append original length inbits mod (2 pow 64) tomessage

C4 1 C4

for each512-bit chunk ofmessage

C2 N C2N

break chunk intosixteen 32-bit wordsM[j], 0 ≤ j ≤ 15

C1 N C1N

varint A := a0 C1 N C1N

varint B := b0 C1 N C1N

varint C := c0 C1 N C1N

varint D := d0 C1 N C1N

for i from 0 to 63 C2 64N 64C2N

if 0 ≤ i ≤ 15 then C4 16N 16C4N

F := (B and C) or((not B) and D)

C1 16N 16C1N

g := i C1 16N 16C1N

else if 16 ≤ i ≤ 31 C4 16N 16C4N

F := (D and B) or C1 16N 16C1N

61

Perhitungan Kompleksitas algoritmaMessage Digest-5 dapat dilihat pada Tabel 4.3berikut.

TABEL 4.3Kompleksitas Algoritma Message Digest-5

(MD5)

∑ = T(n)= 10C1 + 128C2 + 2C3 + 3C4 + C2N +9C1N + 64C2N + 4(16C4N) + 8(16C1N) +5(64C1N) + C3N + C5 + C6= 10C1 + 128C2 + 2C3 + 3C4 + C2N +9C1N + 64C2N + 64C4N + 128C1N +320C1N + C3N + C5 + C6= Ɵ(N)

13.Kompleksitas Algoritma GosudarstvennyiStandard (GOST)

Perhitungan Kompleksitas algoritmaGosudarstvennyi Standard (GOST) dapatdilihat pada Tabel 4.4 berikut.

Page 65: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

k3 = P(w) C1 1 C1

u = strxor(A(u), C4) C1 1 C1

v = A(A(v)) C1 1 C1

w = strxor(u, v) C1 1 C1

k4 = P(w) C1 1 C1

h4, h3, h2, h1 = hin[0:8],hin[8:16], hin[16:24], hin[24:32]

C1 1 C1

s1 = ns2block(encrypt(sbox,k1[::-1], block2ns(h1[::-1])))[::-1]

C1 1 C1

s2 = ns2block(encrypt(sbox,k2[::-1], block2ns(h2[::-1])))[::-1]

C1 1 C1

s3 = ns2block(encrypt(sbox,k3[::-1], block2ns(h3[::-1])))[::-1]

C1 1 C1

s4 = ns2block(encrypt(sbox,k4[::-1], block2ns(h4[::-1])))[::-1]

C1 1 C1

s = b''.join((s4, s3, s2, s1)) C1 1 C1

x = s C1 1 C1

for _ in range(12):C3 12 12C

3

x = _chi(x)C1 12 12C

1

x = strxor(x, m)C1 12 12C

1

x = _chi(x)C1 12 12C

1

x = strxor(hin, x)C1 12 12C

1

for _ in range(61):C3 61 61C

3

x = _chi(x)C1 61 61C

1

return xC2 61 61C

1

l = 0 C1 1 C1

checksum = 0 C1 1 C1

h = 32 * b'\x00' C1 1 C1

m = self.data C1 1 C1

for i in xrange(0, len(m),BLOCKSIZE):

C3 N C3N

part = m[i:i +BLOCKSIZE][::-1]

C1 N C1N

l += len(part) * 8C4 N C4

Nchecksum =

addmod(checksum,int(hexenc(part), 16), 2 ** 256)

C1 NC1N

if len(part) <BLOCKSIZE:

C5 N C5N

part = b'\x00' *(BLOCKSIZE - len(part)) + part

C1 N C1N

code C # C#

sbox = (10, 4, 5, 6, 8, 1, 3, 7,13, 12, 14, 0, 9, 2, 11, 15),

C1 1 C1

(5, 15, 4, 0, 2, 13, 11, 9, 1, 7, 6,3, 12, 14, 10, 8),

C1 1 C1

(7, 15, 12, 14, 9, 4, 1, 0, 3, 11, 5,2, 6, 10, 8, 13),

C1 1 C1

(4, 10, 7, 12, 0, 15, 2, 8, 14, 1, 6,5, 13, 11, 9, 3),

C1 1 C1

(7, 6, 4, 11, 9, 12, 2, 10, 1, 8, 0,14, 15, 13, 3, 5),

C1 1 C1

(7, 6, 2, 4, 13, 9, 15, 0, 10, 1, 5,11, 8, 14, 12, 3),

C1 1 C1

(13, 14, 4, 1, 7, 0, 5, 10, 3, 12, 8,15, 6, 2, 9, 11),

C1 1 C1

(1, 3, 10, 9, 5, 11, 4, 15, 8, 6, 7,14, 13, 0, 2, 12),

C1 1 C1

BLOCKSIZE = 32 C1 1 C1

C2 = 32 * b'\x00' C1 1 C1

C3 =hexdec(b'ff00ffff000000ffff0000ff00ffff0000ff00ff00ff00ffff00ff00ff00ff00')

C1 1 C1

C4 = 32 * b'\x00' C1 1 C1

digest_size = 32 C1 1 C1

A(x): x4, x3, x2, x1 = x[0:8],x[8:16], x[16:24], x[24:32]

C1 1 C1

return b''.join((strxor(x1, x2),x4, x3, x2))

C2 1 C2

P(x): return bytearray(( C2 1 C2

x[0], x[8], x[16], x[24],x[1], x[9], x[17], x[25], x[2],

C2 1 C2

x[10], x[18], x[26], x[3],x[11], x[19], x[27], x[4], x[12],

C2 1 C2

x[20], x[28], x[5], x[13],x[21], x[29], x[6], x[14], x[22],

C2 1 C2

x[30], x[7], x[15], x[23],x[31],

C2 1 C2

u = hin C1 1 C1

v = m C1 1 C1

w = strxor(hin, m) C1 1 C1

k1 = P(w) C1 1 C1

u = strxor(A(u), C2) C1 1 C1

v = A(A(v)) C1 1 C1

w = strxor(u, v) C1 1 C1

k2 = P(w) C1 1 C1

u = strxor(A(u), C3) C1 1 C1

v = A(A(v)) C1 1 C1

w = strxor(u, v) C1 1 C1

62

TABEL 4.4Kompleksitas Algoritma Gosudarstvennyi

Standard (GOST)

Page 66: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN

h = _step(h, part,self.sbox)

C1 N C1N

h = _step(h, 24 * b'\x00' +pack(">Q", l), self.sbox)

C1 N C1N

checksum =hex(checksum)[2:].rstrip("L")

C1 1 C1

if len(checksum) % 2 != 0: C5 1 C5

checksum = "0" +checksum

C1 1 C1

checksum =hexdec(checksum)

C1 1 C1

checksum = b'\x00' *(BLOCKSIZE - len(checksum))+ checksum

C1 1 C1

h = _step(h, checksum,self.sbox)

C1 1 C1

return h C2 1 C2

5.2 Saran

∑ = T(n)= 46C1 + 7C2 + 12C3 + 4(12C1) + 61C3 +2(61C1) + C3N + 5C1N + C4N + C5N + C5= 46C1 + 7C2 + 12C3 + 48C1 + 61C3 +122C1 + C3N + 5C1N + C4N + C5N + C5= Ɵ(N)

5. KESIMPULAN DAN SARAN5.1 Kesimpulan

Berdasarkan hasil studi literatur, analisis,perancangan, implementasi, dan pengujiansistem serta kompleksitas yang telah didapat,maka kesimpulan yang didapat adalah sebagaiberikut:

1. Hasil hash dari algoritma MessageDigest-5 (MD5) dan GosudarstvennyiStandard memiliki panjang karakter yangberbeda, dimana panjang hash pada MD5berjumlah 32 karakter hexadesimalsedangkan GOST memiliki panjang hashberjumlah 64 karakter hexadesimal.

2. Nilai running time pada algoritmaMessage Digest-5 (MD5) lebih kecildibandingkan dengan nilai running timealgoritma Gosudarstvennyi Standard(GOST). Artinya proses pada algoritmaMD5 lebih cepat dibandingkan prosespada algoritma GOST.

3. Kompleksitas big Ɵ algoritma MessageDigest-5 (MD5) adalah Ɵ(N) dan big Ɵalgoritma Gosudarstvennyi Standard(GOST) adalah Ɵ(N). Kompleksitaskedua algoritma sama-sama Ɵ(N) yangartinya bernilai linier.

Saran-saran yang untuk penelitian maupunpengembangan berikutnya adalah:

1. Sistem ini membandingkan file dokumen,dimana ukuran file tidak terlalu besar.Sebaiknya penelitian selanjutnyamenggunakan file dengan ukuran datayang lebih besar agar lebih terlihatperbandingan running time-nya.

2. Sistem ini menggunakan dua algoritmayaitu Message Digest-5 (MD5) danGosudarstvennyi Standard (GOST), jadiuntuk pengembangan selanjutnyasebaiknya menggunakan tiga atau lebihalgoritma untuk dapat melihatperbandingan kedua algoritma hashdengan algoritma hash yang lain.

DAFTAR PUSTAKA

[1] Asmayunita. 2014. Aplikasi OtentikasiDokumen Menggunakan Algoritma GostDigital Signatur. Universitas SumateraUtara.

[2] Dolmatov, V. 2010. GOST R 34.11-94:Hash Function Algorithm. (Online)https://tools.ietf.org/html/rfc5831 (8 Mei2016).

[3] Harahap, R. 2010. Sistem PengamananData Teks Menggunakan AlgoritmaMessage Digest-5. Universitas SumateraUtara.

[4] Hartono, J. 1999. Pengenalan Komputer.Andi: Yogyakarta.

[5] Mollin, R. A. 2007. An Introduction toCryptography Second Edition. Chapman& Hall/CRC: Florida.

[6] Munir, R. 2006. Kriptografi. Informatika,Bandung.

[7] Sadikin, R. 2012. Kriptografi untukKeamanan Jaringan. Yogyakarta: PenerbitAndi.

[8] Schneier, B. 1996. Applied Cryptography:Protocols,Algorithms, and Sorce Code in C SecondEdition. Wiley: New York.

[9] Wagner, D. (Editor). 2008. Cryptanalysisof the GOST Hash Function. In Mendel etal. Advance in Cryptology – CRYPTO2008. pp. 162 – 178. Springer: New York.

63

Page 67: JTIK - penelitian.kaputama.ac.id · PERBANDINGAN ALGORITMA MESSAGE DIGEST-5 (MD5) DAN GOSUDARSTVENNYI STANDARD (GOST) PADA HASHING FILE DOKUMEN ... PERANCANGAN APLIKASI KEAMANAN PESAN