• Tidak ada hasil yang ditemukan

Implementasi Vigenére Cipher dengan Metode Linear Feedback Shift Register pada Text

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Vigenére Cipher dengan Metode Linear Feedback Shift Register pada Text"

Copied!
124
0
0

Teks penuh

(1)

IMPLEMENTASI VIGENÉRE CIPHER DENGAN METODE LINEAR FEEDBACK SHIFT REGISTER PADA TEXT

RIA FIRGI YANI 0 8 1 4 0 1 0 9 5

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

IMPLEMENTASI VIGENÉRE CIPHER DENGAN METODE LINEAR FEEDBACK SHIFT REGISTER PADA TEXT

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

RIA FIRGI YANI 0 8 1 4 0 1 0 9 5

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI VIGENÉRE CIPHER DENGAN

METODE LINEAR SHIFT REGISTER PADA TEXT

Kategori : SKRIPSI

Nama : RIA FIRGI YANI

Nomor Induk Mahasiswa : 081401095

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,2013

Komisi Pembimbing :

Pembimbing II, Pembimbing I,

Handrizal, S.Si. M.Comp.Sc Prof.Dr.Iryanto,M.Si NIP. NIP. 194604041971071001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

IMPLEMENTASI VIGENÉRE CIPHER DENGAN METODE LINEAR FEEDBACK SHIFT REGISTER PADA TEXT

SKRIPSI

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

Medan, 23 Juli 2013

RIA FIRGI YANI

(5)

PENGHARGAAN

Alhamdulillah. Puji dan syukur penulis ucapkan kepada Allah SWT atas limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Universitas Sumatera Utara. Serta, Shalawat dan Salam kepada Rasulullah Muhammad SAW.

Pada pengerjaan skripsi dengan judul Implementasi Vigenére Cipher dengan Metode Linear Feedback Shift Register pada Text, penulis menyadari bahwa banyak campur tangan pihak yang turut membantu dan memotivasi dalam pengerjaannya.

Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. Syahril Pasaribu, DTM&H, MSc(CTM), Sp, A(K) sebagai Rektor Universitas Sumatera Utara (USU).

2. Bapak Prof. Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan selaku pembanding I yang telah meluangkan waktu, tenaga, dan pikiran serta dalam membimbing , mengarahkan, menasehati, memotivasi, dan menyemangati penulis agar penulis dapat menyelesaikan skirpsi ini.

4. Bapak Prof.Dr.Iryanto,M.Si, dan Bapak Handrizal,S.Si,M.Comp.Sc selaku pembimbing yang telah meluangkan waktu, tenaga, dan pikiran serta dalam membimbing, mengarahkan, menasehati, memotivasi, dan menyemangati penulis agar penulis dapat menyelesaikan skripsi ini.

5. Bapak Muhammad Andri Budiman,ST,MCompSC,MEM sebagai dosen pembanding II yang telah memberikan kritik dan saran yang berguna bagi penulis.

6. Sekertaris Program Studi Ilmu Komputer Ibu Maya Silvi Lydia, B.Sc, M.Sc, dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, dan pegawai di S1 Ilmu Komputer USU.

(6)

8. Adik-adik penulis Rima Virgi Yani dan Ririn Virgi Yani serta kepada seluruh keluarga besar penulis.

9. Teman-teman Seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008 Khususnya Cindy Violita,Mirnawati, Serta senior-senior yang telah memberikan motivasi dan perhatiannya.

10.Sahabat terbaik Fitri Rebtyna Harahap S.Kom, Safar Ritonga,S.T, Reza Rangkuti yang telah memberikan motivasi dan dukungannya.

11.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak kekurangan. Oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara (USU) Medan.

Medan,Mei 2013

Penulis

(7)

ABSTRAK

Teknologi informasi yang semakin berkembang memudahkan pertukaran dokumen yang berupa pesan teks dari satu orang ke orang lain. Dimasa sekarang ini pengiriman pesan dengan kriptografi masih sering digunakan, karena masyarakat masih mempercayai system ini. Salah satu cara agar pesan teks lebih aman dan terjaga kerahasiannya yaitu pengiriman pesan teks dengan metode Vigenére Chiper. Agar keamanan pesan terjaga maka algoritmanya ditambah dengan menggunakan metode Linear Feedback Shift Register. Dimana pada saat pengenkripsian pesan teks kunci yang akan dikirim dibangkitkan terlebih dahulu. Proses ini dilakukan agar kerahasiaan kunci dan pesan yang dikirim lebih aman dan terjaga kerahasiaannya. Pesan teks yang akan dienkripsikan disini akan lebih mudah dibuka oleh sipenerima, dimana pada proses enkripsi kunci dan teks sudah tersimpan secara otomatis sehingga lebih memudahkan saat melakukan pengenkripsian. Pada tulisan ini system dibangun dengan menggunakan bahasa pemograman Java dengan editornya Netbeans 7.2.1. Hasil dari pada penelitian ini adalah berupa sebuah software yang dapat mengenkripsi dan dekripsi sebuah file teks dengan v Vigenére Cipher dan metode Linear Feedback Shift Register.

(8)

IMPLEMENTASI VIGENÉRE CIPHER BYMETHOD LINEAR FEEDBACK SHIFT REGISTER ON THE TEXT

ABSTRACT

Technology of information which develops rapidly make easy the exchange of document. The document can be in from of message from one person to the other . Today, the sending of message by using cryptography is shill widely used, because people still believe in this system. One of the way to make the message saver and out of record. We send the message of Vigenére Cipher by using the method of Linear Feeddback Shift Register. In this process the sending of message is done by using the encryption and the description of the message. When we make the description, the key of the text message must be rise first. This process is done so that the secret of the text message is saver and out of record. The text which is encryption here is more easy to be opened by this receiver of the message. Where in the process of encryption, the key and the text message is saved automatically so that it is make easy to make encryption. In this writing, the system built by using the language program of Java with the editor of Netbeans 7.2.1. The message description will sent back the message which has been description before.

(9)

DAFTAR ISI

2.1.2.1 Kriptografi Kunci Rahasia (Secret Key Cryptografi) ... 10

2.1.2.2 Kriptografi Kunci Publik (Public Key Cryptography) ... 10

2.1.3 Tujuan Kriptografi ... 11

2.5 Algoritma Enkripsi dengan XOR Sederhana ... 31

(10)

3.1.1 Analisis Algoritma Vigenére Cipher ... 33

3.1.2 Linear Feedback Shift Register ... 41

3.1.2.1 Stream Cipher Using LFSRs ... 42

3.1.3 Flowchart ... 42

3.1.3.2 Flowchart Proses Dekripsi Vigenére Cipher ... 44

3.1.3.3 Flowchart Proses Enkripsi LFSR ... 45

3.1.3.4 Flowchart Proses Dekripsi LFSR ... 46

3.1.4 Perancangan Sistem ... 47

3.1.4.1 Halaman Utama ... 47

3.1.4.2 Tampilan Dekripsi ... 49

3.1.4.3 Tampilan About ... 50

3.1.4.4 Tampilan Help ... 50

BAB 4 IMPLEMENTASI DAN PENGUJIAN APLIKASI 4.1 Implementasi ... 51

4.2 Tampilan Aplikasi ... 51

4.2.1 Halaman Utama ... 52

4.2.2 Tampilan Enkripsi ... 53

4.2.3 Tampilan Dekripsi ... 57

4.2.4 Tampilan About ... 61

4.2.5 Tampilan Help ... 61

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 63

5.2 Saran ... 63

(11)

DAFTAR TABEL

Halaman

2.1 Bujursangkar Vigenére ... 15

2.2 Enkripsi hurus S dengan Kunci R ... 16

2.3 Proses Enkripsi ... 19

2.4 Operasi NOT ... 27

2.5 Operasi AND ... 28

2.4 Operasi OR ... 29

2.7 Operasi XOR ... 30

3.1 Vigenére Cipher ... 34

3.2 Plaintext dan Kunci ... 35

3.3 Karakter Enkripsi D ... 35

3.4 Karakter Enkripsi O ... 36

3.5 Karakter Enkripsi S ... 36

3.6 Karakter Enkripsi E ... 37

3.7 Karakter Enkripsi N ... 37

3.8 Karakter Ciphertext dan Kunci ... 38

3.9 Karakter Dekripsi O ... 39

3.10 Karakter Dekripsi K ... 39

3.11 Karakter Dekripsi E ... 40

3.12 Karakter Dekripsi O ... 40

(12)

DAFTAR GAMBAR

Halaman

2.1 Kunci public ... 11

2.2 Enkripsi dan Dekripsi ... 12

2.3 Proses Enkripsi/Dekripsi Algoritma Simetris ... 13

2.4 Proses Enkripsi/Dekripsi Algoritma Asimetris ... 14

2.5 Sebuah LFSR 17-Bit ... ... ... 22

2.6 Bagian-bagian FSR ... ... ... 23

2.7 Sketsa Geffe Generator ... ... ... 24

2.8 LFSR sederhana ... ... ... 25

2.9 LFSR 4-bit ... ... ... ... 25

3.1 Diagram Flowchart Enkripsi Vigenére Cipher ... 43

3.2 Diagram Flowchart Dekripsi Vigenére Cipher ... 44

3.3 Diagram Flowchart Enkripsi LFSR ... 45

4.11 Tampilan Dekripsi Ciphertext ... 58

4.12 Tampilan Dekripsi untuk mencari ciphertext yang telah disimpan ... 58

4.13 Tampilan Dekripsi Kunci ... 59

4.14 Dekripsi untuk mencari kunci yang telah disimpan ... 60

4.15 Tampilan Dekripsi Plaintext ... 60

4.16 Tampilan About ... 61

(13)

ABSTRAK

Teknologi informasi yang semakin berkembang memudahkan pertukaran dokumen yang berupa pesan teks dari satu orang ke orang lain. Dimasa sekarang ini pengiriman pesan dengan kriptografi masih sering digunakan, karena masyarakat masih mempercayai system ini. Salah satu cara agar pesan teks lebih aman dan terjaga kerahasiannya yaitu pengiriman pesan teks dengan metode Vigenére Chiper. Agar keamanan pesan terjaga maka algoritmanya ditambah dengan menggunakan metode Linear Feedback Shift Register. Dimana pada saat pengenkripsian pesan teks kunci yang akan dikirim dibangkitkan terlebih dahulu. Proses ini dilakukan agar kerahasiaan kunci dan pesan yang dikirim lebih aman dan terjaga kerahasiaannya. Pesan teks yang akan dienkripsikan disini akan lebih mudah dibuka oleh sipenerima, dimana pada proses enkripsi kunci dan teks sudah tersimpan secara otomatis sehingga lebih memudahkan saat melakukan pengenkripsian. Pada tulisan ini system dibangun dengan menggunakan bahasa pemograman Java dengan editornya Netbeans 7.2.1. Hasil dari pada penelitian ini adalah berupa sebuah software yang dapat mengenkripsi dan dekripsi sebuah file teks dengan v Vigenére Cipher dan metode Linear Feedback Shift Register.

(14)

IMPLEMENTASI VIGENÉRE CIPHER BYMETHOD LINEAR FEEDBACK SHIFT REGISTER ON THE TEXT

ABSTRACT

Technology of information which develops rapidly make easy the exchange of document. The document can be in from of message from one person to the other . Today, the sending of message by using cryptography is shill widely used, because people still believe in this system. One of the way to make the message saver and out of record. We send the message of Vigenére Cipher by using the method of Linear Feeddback Shift Register. In this process the sending of message is done by using the encryption and the description of the message. When we make the description, the key of the text message must be rise first. This process is done so that the secret of the text message is saver and out of record. The text which is encryption here is more easy to be opened by this receiver of the message. Where in the process of encryption, the key and the text message is saved automatically so that it is make easy to make encryption. In this writing, the system built by using the language program of Java with the editor of Netbeans 7.2.1. The message description will sent back the message which has been description before.

(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Kemajuan teknologi di bidang komputer memungkinkan orang di seluruh dunia terhubung dalam satu dunia maya yang dikenal sebagai cyberspace atau Internet. Begitu juga ratusan organisasi seperti perusahaan, lembaga negara, lembaga keuangan, militer dan sebagainya sangat tergantung pada komputer. Tetapi kemajuan teknologi ini selalu diikuti dengan sisi buruk dari teknologi itu sendiri. Salah satunya adalah rawannya keamanan data sehingga menimbulkan tantangan dan tuntutan akan tersedianya suatu sistem pengamanan data yang sama canggihnya dengan kemajuan teknologi komputer itu sendiri.

Sekarang ini keamanan yang efektif dari suatu sistem sangat diperlukan untuk kegiatan bisnis sehari-hari. Sistem yang aman bisa memberikan tingkat kepercayaan yang tinggi kepada pengguna sehingga bisa memberi nilai tambah dan daya guna bagi sistem itu sendiri. Pengguna akan merasa nyaman dan aman ketika berhubungan dengan sistem yang bisa mengamankan data pengguna dari penyerang.

Kerahasiaan dan keamanan saat melakukan pertukaran data adalah hal yang sangat penting dalam komunikasi data, baik untuk tujuan keamanan bersama, maupun untuk privasi individu. Mereka yang menginginkan agar datanya tidak diketahui oleh pihak-pihak yang tidak berkepentingan selalu berusaha menyiasati cara mengamankan informasi yang akan dikomunikasikannya.

(16)

Salah satunya algoritma yang dapat mengamankan data yang penulis bahas adalah Algoritma Vigenére Cipher.

Algoritma Vigenére Cipher merupakan salah satu dari algoritma kunci. Sampai saat ini, algoritma Vigenére Cipher masih dipercaya sebagai metode penyandian, kriptografi Vigenére Cipher menggunakan kunci yang sama untuk enkripsi dan dekripsi.Salah satu metode untuk membangun kunci adalah metode Linear Feedback Shift Register (LFSR).

Linear Feedback Shift Register adalah komponen dasar dari sebagian besar key stream generator. Untuk membangkitkan kunci stream, beberapa algoritma stream menggunakan beberapa Linear Feedback Shift Register yang dikombinasikan dengan fungsi non-linear lainnya. Suatu n-stage LFSR terdiri dari suatu n-bit register. Berdasarkan uraian diatas penulis tertarik memilih judul "Implementasi Vigenere Cipher Dengan Metode Linear Feedback Shift Register Pada Teks"

1.2 Rumusan Masalah

Adapun rumusan masalah dalam penulisan skripsi ini adalah bagaimana algoritma Vigenére Chiper diimplementasikan untuk melakukan enkripsi dan deskripsi pada sebuah file teks dan mengimplementasikan Metode (LFSR) untuk membuat kunci pada algoritma Vigenére Chiper.

1.3 Batasan Masalah

Adapun batasan masalah dalam pembuatan skripsi ini adalah sebagai berikut ini: 1. File yang bisa dienkripsi adalah File yang bersifat plain text.

2. Algoritma yang di gunakan adalah Vigenére Cihper 3. Kunci publik dibangun menggunakan metode LFSR

1.4 Manfaat Penulisan

Manfaat dari penulisan ini adalah:

1. Menambah pemahaman penulis tentang algoritma vigenére cipher dengan metode linear feedback shift register pada sebuah file teks.

(17)

1.5Tujuan Penulisan

Tujuan dari penulisan ini adalah:

1. Untuk menganalisa proses enkripsi dan dekripsi pada sebuah file teks dengan Vigenére Cipher ternyata hasilnya pesan susah dijebol dan sesuai dengan cara manual.

2. Untuk mengetahui apakah algoritma Linear Feedback Shift Register dapat digunakan untuk kriptografi Vigenére Cipher.

1.6. Metode Penelitian

Dalam penulisan skripsi ini, penulis melakukan beberapa hal untuk mendapatkan data yang diperlukan, antara lain:

1. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan yang relevan serta buku-buku maupun artikel-artikel atau e-book dan juga jurnal international yang didapatkan melalui internet.

2. Analisis Data

Pada tahap ini dilakukan pengolahan data yang didapat yaitu dilakukan pemrosesan awal sehingga data masukan relative lebih kecil dan kemudian dilakukan analisis terhadap hasil studi literatur yang diperoleh sehingga menjadi suatu informasi.

3. Perancangan Sistem

Pada tahap ini akan dilakukan perancangan desain antarmuka sistem dan struktur proses kerja sistem.

4. Pengimplementasian Sistem

Pada tahap ini akan dilakukan implementasi dari hasil perancangan sistem dalam bentuk perangkat lunak.

(18)

Pada tahap ini akan dilakukan pengujian sistem yang bertujuan untuk mengetahui kesalahan-kesalahan yang teijadi pada sistem, sehingga dapat dilakukan perbaikan. Kemudian dilakukan analisis pada sistem untuk mengetahui apakah sistem sesuai dengan permasalahan dari penelitian.

6. Penyusunan Laporan

Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.

1.7 Sistematika Penulisan

Dalam menyajikan laporan tugas akhir ini, digunakan sistematika penulisan sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini menjelaskan latar belakang, maksud dan tujuan, batasan masalah, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi penjelasan tentang teori dasar Kriptografi, Teori Vigenere Chiper, dan Linear feedback Shift Register

BAB 3 ANALISA DAN PERANCANGAN

Bab ini berisi Analisa dan Rancangan sistem yang akan di bangun beserta rancangan basis datanya

BAB 4 IMPLEMENTASI

Bab ini berisi tentang pembahasan program aplikasi menurut hak akses dan fasilitas yang digunakan masing-masing pengguna, kelebihan dan kekurangan program aplikasi

BAB 5 PENUTUP

(19)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata "kriptografi" dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan Graphia berarti writing (tulisan)[l]. Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain Kriptografi merupakan seni dan ilmu untuk menjaga keamanan data dengan metode tertentu, dan pelakunya disebut cryptographer. Kriptografi disebut sebagai ilmu karena di dalamnya terdapat metode (rumusan) yang digunakan, dan dikatakan sebagai seni karena karena dalam membuat suatu teknik kriptografi itu sendiri merupakan ciri tersendiri dari si pembuat dan memerlukan teknik khusus dalam mendisainnya. Sedangkan cryptanalysis adalah suatu ilmu dan seni memecahkan ciphertext menjadi plaintext tanpa melalui cara yang seharusnya dan orang yang melakukannya disebut cryptanalyst[4],[5].

Kriptografi juga dapat disebut sebagai ilmu yang mempelajari teknik- teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data[6], Sebuah pesan rahasia harus terjaga keamanannya, salah satu cara dengan penyandian pesan yang bertujuan meyakinkan privasi dengan menyembunyikan informasi dari orang-orang yang tidak ditujukan informasi tersebut [7].

(20)

pengiriman tentu kita tidak ingin isi pesan dibaca oleh orang yang tidak berhak karena mungkin pesanyang kita kirim adalah pesan rahasia.

Kriptografi (Cryptography) berasal dari bahasa yunani yaitu “cryptos” artinya rahasia, sedangkan “graphien” artinya tulisan, jadi kriptografi itu adalah tulisan rahasia. Dengan kata lain kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti maknanya. Kriptografi dibuat adalah untuk menghindari dari penyadap. Penyadap adalah orang yang mencoba melihat pesan saat dikirim[1].

Perkembangan yang paling pesat dan berpengaruh dalam sejarah kriptografi ialah pada tahun 1976 dimana Whitfield Diffie dan Martin Hellman mempublikasikan sebuah tesis berjudul New Direction in Cryptography. Dalam tesis ini diperkenalkan konsep kunci publik kriptografi yang paling revolusioner dan juga menyediakan metode baru dalam pertukaran kunci, yaitu keamanan yang didasarkan atas logaritma diskrit. Kriptografi telah banyak digunakan di dalam aplikasi-aplikasi khususnya aplikasi pengamanan data pada saat sekarang ini. Aplikasi khas dari kriptografi adalah sistem yang dikembangkan dengan teknik dasar. Sistem seperti ini, dapat memiliki tingkat kompleksitas yang beraneka ragam.

Penemuan kunci adalah suatu teknologi yang memungkinkan sebuah kunci ditemukan dalam kondisi tertentu tanpa pemilik memberitahukan. Ini perlu untuk dua alasan, pertama, jika pemilik kunci menghilangkan atau secara tidak sengaja menghapus kuncinya, penemuan kunci dapat menghindarkan malapetaka. Kedua, jika aparat penegakan hukum ingin mengetahui suatu tindak kriminal tanpa sepengetahuan tersangka, aparat tersebut harus mampu mendapatkan kunci yang diinginkan. Teknik penemuan kunci sudah banyak digunakan saat ini, akan tetapi, penggunaan teknik ini dalam hal penegakan hukum telah menimbulkan kontroversi[8].

2.1.1 Algoritma Kriptografi

(21)

1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirim agar terjaga kerahasiaannya. Pesan asli disebut plainteks yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai chiper atau kode.

2. Deskripsi, merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi dikembalikan ke bentuk aslinya. Algoritma yang digunakan berbeda dengan algoritma yang digunakan untuk enkripsi.

3. Kunci, merupakan kunci yang digunakan untuk proses enkripsi dan deskripsi. Kunci terbagi menjadi dua bagian yaitu kunci rahasia (private key) dan kunci umum (public key) [1].

2.1.2 Jenis Sistem Kriptografi

Berdasarkan pemakaian kunci maka sistem kriptografi (cryptosystems) dapat digolongkan atas atas 2 jenis sistem yakni sistem kriptografi kunci publik (public key cryptography) dan sistem kriptografi kunci rahasia (secret key cryptography). Dalam sistem kriptografi kunci rahasia yang dikenal juga dengan symmetric cryptosystems, pihak pengirim dan penerima bersama-sama menyepakati sebuah kunci rahasia yang akan digunakan dalam proses enkripsi dan dekripsi tanpa diketahui oleh pihak lain. Sedangkan dalam sistem kriptografi kunci publik atau dikenal dengan assymmetric cryptosystem, pihak pengirim maupun pihak penerima mendapatkan sepasang kunci yakni kunci publik (public key) dan kunci rahasia (private key) dimana kunci publik dipublikasikan dan kunci rahasia tetap dirahasiakan. Enkripsi dilakukan dengan menggunakan kunci publik sedangkan dekripsi dilakukan dengan menggunakan kunci rahasia[12].

2.1.2.1 Kriptografi Kunci Rahasia (Secret Key Cryptography)

(22)

Masalah utama dengan kriptografi kunci rahasia membuat pengirim dan penerima pesan setuju atas kunci rahasia yang digunakan tanpa orang lain mampu mendapatkan dan mengetahuinya. Atau dengan kata lain bagaimana memilih kunci rahasia yang benar-benar aman. Hal ini membutuhkan suatu metode dimana kedua pihak dapat berkomunikasi tanpa kekhawatiran akan tercecernya kunci tersebut. Akan tetapi, keuntungan dari kriptografi kunci rahasia adalah biasanya lebih cepat dibandingkan dengan kriptografi kunci public [14].

2.1.2.2 Kriptografi Kunci Publik (Public Key Cryptography)

(23)

plainteks enkripsi cipherteks dekripsi plainteks

User B User A

Kunci/key

Gambar 2.1 Kunci publik

2.1.3 Tujuan Kriptografi

Beberapa tujuan kriptografi adalah :

1. Menjaga kerahasiaan informasi.

2. Untuk menjamin bahwa informasi masih utuh dan belum pernah dimanipulasi. 3. Untuk mencegah bahwa pihak yang berkomunikasi tidak melakukan

penyangkalan.

Adapun tujuan lain dari kriptografi adalah antara lain :

a. Kerahasiaan

Layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka maupun menghapus informasi yang telah disandi.

b. Integritas data

Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubstitusian data lain kedalam data yang sebenarnya.

c. Authentication

(24)

melalui kanal harus diauthentifikasi keaslian, isi datanya, waktu pengiriman dan lain-lain.

d. Non-repudiasi

Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat.

Kriptografi terdiri dari dua proses, yaitu enkripsi dan dekripsi. Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data terenkripsi ke data bentuk semula [12]. Adapun proses enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini.

enkripsi deskripsi

plainteks chiperteks plainteks

Kunci enkripsi

Kunci deskripsi

Gambar 2.2 Enkripsi dan Deskripsi

Secara matematis sederhana, proses enkripsi-dekripsi dapat dituliskan dengan persamaan sebagai berikut:

Ee(m) = c (2.1)

Dd(c) = m (2.2)

Dimana :

m : message / plainteks

c : cipherteks

D : fungsi Dekripsi

d : kunci dekripsi

E : fungsi Enkripsi

(25)

Dari dua persamaan diatas dapat ditulis

Dd(Ee(m)) = m (2.3)

Sehingga terlihat pesan yang telah tersandi dapat dikembalikan menjadi pesan semula.

2.1.4 Algoritma Kriptografi

Berdasarkan jenis kunci yang digunakan, dikenal dua buah algoritma kriptografi , yaitu:

Algoritma kriptografi simetris / private key algorithm. Algoritma kriptografi asimetris / public key algorithm.

Algoritma simetris atau sering disebut algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Dimana pada algoritma aliran, proses penyandiannya akan beriorientasi pada satu bit/byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit/byte data (per blok) [13]. Algoritma kriprografi simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya.

enkripsi deskripsi

plainteks chiperteks plainteks

kunci

Gambar 2.3 Proses Enkripsi/Deskripsi Algoritma Simetris

(26)

disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itu, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography).

Enkripsi Deskripsi

plaintext ciphertext plaintext

Kunci umum Kunci pribadi

Gambar 2.4 Proses Enkripsi/Deskripsi Algoritma Asimetris

2.2 Vigenére Cipher

Vigenére cipher mungkin adalah contoh terbaik dari cipher alphabet-majemuk 'manual'. Algoritma ini dipublikasikan oleh diplomat, sekaligus seorang kriptologis perancis, Blaise de Vigenere pada abad 16, meskipun Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Vigenére cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut dinamakan vigenere cipher. Cipher ini berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19. Vigenere cipher digunakan oleh tentara Konfiderasi Confederate Army pada perang sipil Amerika American Civil war [9], [10].

Vigenére cipher sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujur sangakar Vigenere untuk melakukan enkripsi seperti ditunjukkan pada tabel 1. Kolom paling kiri dari bujursangkar menyatakan huruf-hurf kunci, sedangkan baris paling atas menyatakan huruf- huruf plainteks. Setiap baris dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Vigenére cipher, yang mana jumlah pergesaran huruf plainteks ditentukan nilai numerik huruf kunci tersebut ( yaitu, A = 0, B = 1, C-2,...,Z = 25) [5].

(27)

A B C D E F G H I J K L M N O P Q R S T U V WX Y Z

Bujur sangkar vigenere digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari pada panjang plainteks, maka kunci diulang penggunaanya (sistem periodik). Bila panjang kunci adalah m, maka periodenya dikatakan m. sebagai contoh, jika plainteks adalah SAYA MAHASISWA dan kunci adalah RIA maka penggunaan kunci secara periodik adalah sebagai berikut:

Plainteks : SAYAMAHASISWA

(28)

Setiap huruf plainteks akan dienkripsi dengan setiap huruf kunci dibawahnya. Untuk mengerjakan enkripsi dengan Vigenére cipher, lakukan pada bujursangkar vigenere sebagai berikut: tarik garis vertikal dari huruf plainteks ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan dari kedua garis tersbut menyatakan huruf cipherteksnya[13].

Amatilah bahwa huruf plainteks S dapat dienkripsikan menjadi J dan A, dienkripsikan menjadi I,Y menjadi Y dan seterusnya.

(29)

Plainteks : SAYAMAHASISWA Kunci : RIARIARIARIAR Cipherteks : JIYRUAYISZAWR

Dari hasil enkripsi diatas tersebut, maka proses dekripsinya untuk mencari plaintextnya adalah:

Cipherteks : JIYRUAYISZAWR Kunci : RIARIARIARIAR

Untuk karakter yang pertama, huruf R maka akan dicari seluruh isi karakter yang berada pada baris huruf R ke kanan, dimana terdapat karakter ciphertext huruf J, maka dilihat pada pada kolom kunci yang menunjukkan bahwa huruf J tersebut berada pada baris huruf S. Begitu juga dengan karakter yang ke dua huruf I, maka akan dicari seluruh isi karakter yanga berada pada baris huruf I ke kanan, dimana terdapat karakter ciphertext huruf I maka dilihat pada kolom kunci yang menunjukkan bahwa huruf I tersebut berada pada kolom huruf A dan seterusnya. Demikianlah cara kerja proses dekripsinya untuk mencari plainteks, sehingga didapatkan kembali lainteksnya seperti dibawah ini :

Cipherteks : JIYRUAYISZAWR Kunci : RIARIARIARIAR Plainteks : SAYAMAHASISWA

(30)

Bujursangkar Vigenére digunakan untuk memperoleh Ciphertext dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya contohnya ;

Plainteks : SAYAMAHASISWA Kunci : RIARIARIARIAR Cipherteks : JIYRUAYISZAWR

Proses sebaliknya (disebut dekripsi), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari huruf J (huruf pertama teks tersandi) pada baris R (huruf pertama pada kata kunci), yang terdapat pada kolom S, sehingga huruf pertama adalah S. Lalu I terdapat pada baris I di kolom A, sehingga diketahui huruf kedua teks terang adalah A, dan seterusnya hingga didapat perintah "SAYAMAHASISWA".

Cipherteks : JIYRUAYISZAWR

Kunci : RIARIARIARIAR

Plainteks : SAYAMAHASISWA

matematis, dengan menggunakan penjumlahan da

Ci (Pi + Ki) mod 26

(2.4)

atau C = P + K dengan syarat jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,

Pi≡ (Ci - Ki) mod 26

(31)

atau P = C - K dengan syarat hasilnya positif & + 26 kalau hasil pengurangan minus

Keterangan: C adalah huruf ke-i pada teks tersandi, P adalah huruf ke-i pada teks terang, K adalah huruf ke-i pada kata kunci, dan mod adalah pembagian).

Rumus enkripsi vigenére cipher :

Pi ≡ (Ci - Ki) mod 26

(2.6)

atau

Ci = ( Pi + Ki) – 26

(2.7)

dengan syarat hasil penjumlahan Pidan Ki lebih dari 26

Rumus dekripsi vigenére cipher :

Pi ≡ (Ci - Ki) mod 26

(2.8)

atau

Pi= (Ci - Ki ) + 26kalau hasil penguranganCi denganKi minus

Dimana:

Ci = nilai desimal karakter ciphertext ke-i Pi = nilai desimal karakter plaintext ke-i Ki = nilai desimal karakter kunci ke-i Nilai desimal karakter:

(32)

Sebagai contoh, jika plaintext adalah SAYAMAHASISWA dan kunci adalah RIA maka proses enkripsi yang terjadi adalah sebagai berikut:

Tabel 2.3 Proses Enkripsi

Plaintext: SAYAMAHASISWA

Key: RIARIARIARIAR

Ciphertext: JIYRUAYISZAWR

Pada contoh diatas kata kunci RIA diulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenére plainteks huruf pertama S (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf R (yang memiliki Ki=17) maka prosesnya sebagai berikut:

Ci = (Pi + Ki ) mod 26

= (18 + 17 ) mod 26

=35 mod 26

= 926

Ci=9 maka huruf ciphertext dengan nilai 9 adalah C . Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut:

Pi = (Ci – Ki ) + 26

= (9 – 17 ) + 26

= -8 + 26

(33)

Pi=18 maka huruf plainteks dengan nilai 18 adalah S. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua ciphertext telah terdekripsi menjadi plainteks.

2.3 Linear Feedback Shift Register (LFSR)

Menurut Stephen Herlambang dalam makalah “Studi dan Analisis Grain Cipher”,tahun 2011 menyatakan bahwa LFSR adalah shift register yang bit masukannya merupakan fungsi linear dari state sebelumnya. Satu-satunya fungsi linear pada bit satuan exclusive-or XOR, oleh karena itu LFSR adalah shift register yang bit masukannya dibangkitkan oleh exclusive-or (XOR) dari bit dari keseluruhan nilai shift register.[14]

Inisial value dari LFSR dikenal dengan seed, dan karena operasi dari register bersifat deterministik, aliran nilai yang dihasilkan oleh register akan sepenuhnya ditentukan oleh state sekarang atau sebelumnya. Dengan begitu karena register memiliki jumlah state yang terbatas pasti akan terbentuk siklus yang berulang, akan tetapi LFSR yang memiliki fungsi umpan balik yang baik dapat memproduksi sekuens bit yang tampak acak dan memiliki siklus yang sangat penting [3].

(34)

Untuk memperoleh LFSR dengan periode maksimal, fungsi feedback yang digunakan harus polinomial primitive modulo2. Contoh polinomial primitif yaitu x4 + x + 1.Degree (derajat) polinomial adalah panjang dari shift register. Suatu polinomial primitif dengan degree n adalah polinomial irreducible yang membagi xm + 1, dengan

m = 2n – 1, tetapi tidak membagi

xd + 1 untuk setiap d yang membagi 2n – 1.

Perbedaan LFSR dengan NLFSR. Berikut ini adalah beberapa perbedaan antara Linear Feedback Shift Register dengan non Linear Feedback Shift Register:

1. Fungsi feedback dari NLFSR tidak dapat ditulis dalam bentuk umum seperti pada LFSR.

2. Fungsi feedback dari LFSR sering dinyatakan dalam bentuk persamaan polinomial khusus (characteristic polynomial), sedangkan fungsi feedback pada NLFSR tidak dapat direpresentasikan dalam bentuk fungsi polinomial khusus karena lebih kompleks.

3. Pada LFSR panjang periode maksimal yang dapat dicapai adalah 2n-1, sedangkan pada NLFSR dapat mencapai 2n untuk n variabel.

4. Dalam NLFSR, operasi yang digunakan tidak hanya penjumlahan seperti pada LFSR, tetapi juga perkalian.

5. Pada LFSR, kompleksitas linier yang diperoleh maksimal adalah n, sedangkan pada NLFSR dibatasi hingga 2n, sehingga kompleksitas liniernya lebih besar. 6. Karena tingkat kompleksitas liniernya lebih tinggi maka sifat konfusi pada

NLFSR lebih baik daripada LFSR, yang merupakan salah satu faktor penguat NLFSR terhadap upaya kriptanalisis.

0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1

X

(35)

Linear Feedback Shift Register (LFSR) sering digunakan oleh Stream cipher sebagai pembangkit keystream.

Register geser umpan-balik atau Feedback Shift Register (FSR) terdiri dari dua bagian:

1. Register Geser, yaitu barisan bit-bit yang panjangnya n- bit. Register geser disebut juga sebagai register geser n bit.

2. Fungsi Umpan-balik, yaitu fungsi yang menerima masukan dari register geser dan mengembalikan nilai fungsi ke register geser.

bn bn-1 …... b4 b3 b2 b1 Register Geser

Fungsi umpan-balik

Gambar 2.6 Bagian-bagian FSR

Tiap kali sebuah bit dibutuhkan, semua bit didalam register digeser 1 bit ke kanan. Bit paling kiri (bn) dihitung sebagai fungsi bit-bit lain didalam register tersebut.

Keluaran dari register adalah 1 bit (yaitu bit b1 yang tergeser).Periode register geser

adalah panjang barisan keluaran sebelum ia berulang kembali. Suatu shift register

cascade merupakan sebuah set dari LFSR yang dihubungkan bersama-sama dengan cara tertentu sedemikian hingga perlakuan dari LFSR sebelumnya dalam bentuk yang menyrupai air terjun[10] [11]. Sifat dan tingkah laku yang saling tergantung ini biasanya ditempuh dengan menggunakan satu LFSR untuk mengontrol LFSR lainnya. LFSR yang digunakan dapat terbagi 2 jenis, yaitu :

1. LFSR yang selalu aktif.

(36)

Beberapa jenis generator yang aktif didalam LFSR adalah :

1. Geffe Generator. Generator ini menggunakan tiga atau lebih LFSR. Keluaran-keluaran dari generator ini dikombinasikan secara nonliniear

LFSR-n+1 Multiplexern-to-1

Select

LFSR-1 LFSR-2

LFSR-3 Bit(t)

Gambar 2.7 Sketsa Geffe Generator

2. Jennings Generator. Generator ini menggunakan sebuah multiplexer untuk mengkombinasikan dua buah LFSR. Multiplexer dikontrol oleh LFSR-1, memilih 1 bit dari LFSR-2 untuk setiap output bit.

3. Threshold Generator.

4. Multispeed-Inner-Product Generator 5. Gollmann Cascade Generator

Generator yang akan selalu aktif setelah di-clock adalah ;

1. Beth-Piper Stop – and – Go Generator

2. Alternating Stop – and – Go Generator

3. Bilateral Stop – and – Go Generator

4. Self – Decimated Generators

bn bn-1 …... b4 b3 b2 b1

Register Geser

Bit keluaran

(37)

b4 b3 b2 b1

Bit Keluaran

Gambar 2.9 LFSR 4-bit

Gambar 2.9 adalah contoh LFSR 4-bit, yang dalam hal ini fungsi umpan-balik meng-XOR-kan b4 dan menyimpan hasilnya di b4.

Register geser dengan umpan balik linier, Prosesnya adalah:

1. S1 sampai S4 diisi oleh bit-bit yang sudah ditentukan 2. Tahap pertama, S1 dan S4 akan di XOR- kan

3. S1-S4 digeser ke kanan sepanjang satu bit 4. Bit pertama akan dijadikan output

5. Bit hasil XOR antar S1 dan S4 (sebelum digeser) akan dimasukkan ke S4

Contoh:

Pergeseran sebanyak 20 kali, S4 akan mengisi sampai S1 dengan nilai 1110 ---

(38)

---> 1 | | | | |

Didalam LFSR ini, tidak akan pernah muncul bit 0000 karena bit tersebut tidak akan berguna [6]. LFSR diatas yang hanya sepanjang 4 bit, periodenya akan berulang ketika pergeseran ke-15.Untuk menghitung periode maksimum sebuah LFSR digunakan rumus di bawah ini:

Periode = 2 ^ n – 1

Dimana:

(39)

2.3.1. OPERASI NOT

Beberapa dengan operasi logika yang lain, operasi NOT hanya mempunyai satu input dan satu output.

Tabel 2.4 Kebenaran dari operasi NOT

A Ᾱ

0 1

1 0

Keterangan :

A : Input operasi logika NOT

Ᾱ : Output operasi logika NOT

1 : Nilai logika benar (true)

0 : Nilai logika salah (false)

2.3.2 Operasi AND

Operasi AND mempunyai dua input dan satu input. Operasi AND dari dua input A dan B hanya akan bernilai logika 1, apabila kedua input A dan B bernilai logika 1, atau dengan kata lain output dari operasi AND akan memiliki nilai logika 0.

Tabel 2.5 Kebenaran dari operasi AND

A B AB

0 0 0

0 1 0

1 0 0

(40)

Keterangan :

A,B : Input operasi logika AND AB : Output operasi logika AND 0 : Nilai logika benar (true) 1 : Nilai logika salah (false)

2.3.3. Operasi OR

Operasi OR mempunyai dua input dan satu output. Operasi OR dari dua input A dan B hanya akan bernilai logika 0, apabila kedua input A dan B bernila logika 0, atau dengan kata lain output dari operasi OR akan memiliki nilai logika 1, apabila salah satu inputnya bernilai 1.

Tabel 2.6 Kebenaran operasi OR

A B A˅B

0 0 0

0 1 1

1 0 1

1 1 1

Keterangan:

A,B : Input operasi logika OR

A+B : Output operasi logika OR

0 : nilai logika benar (true) 1 : nilai logika salah (false)

2.3.4 Operasi XOR

(41)

buah bit yang masing – masing nilai bitnya berbeda. Aturan yang berlaku untuk operasi XOR dapat dilihat pada Tabel 2.1 berikut ini,

Tabel 2.7 Aturan Operasi XOR

A B A ⊕B

0 0 0

0 1 1

1 0 1

1 1 0

Nilai A jika di-XOR-kan dengan nilai B sebanyak dua kali maka akan didapatkan nilai A kembali. Karena sifat istimewa yang dimiliki operasi XOR tersebut sehingga operasi XOR cenderung dipakai dalam proses enkripsi dan dekripsi yang memiliki algoritma yang sama.

P ⊕ K = C ; C ⊕ K = P

Keterangan:

P = Plaintext

K = Key

C = Ciphertext

Berikut ini adalah contoh operasi XOR :

1101 1001 1001 1101

1110 1000 1110 0000 ⊕

0001 0001 0111 1101

1010 0010 1110 1011

1111 0101 0001 0110 ⊕

(42)

2.4 Pergeseran Bit (Shift)

Pergeseran bit (Shift) adalah operasi pergeseran terhadap suatu barisan bit sebanyak yang diinginkan. Bit kosong yang telah tergeser akan diberikan nilai bit “0” (nol). Operasi pergeseran terbagi menjadi dua macam yaitu,

1. Operasi Geser Kiri (Shift Left) yaitu operasi yang menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit “0” (nol). Operasi shift left dilambangkan dengan “<<”. Contoh operasi shift left :

11000110 << 1 : 10001100

11000110 << 2 : 00011000

11000110 << 3 : 00110000

2. Operasi Geser Kanan (Shift Right) yaitu operasi yang menggeser (shift) sejumlah bit ke kanan (right) dengan nilai bit “0” (nol). Operasi shift right dilambangkan dengan “>>”. Contoh operasishift right :

11000110 >> 1 : 01100011

11000110 >> 2 : 00110001

11000110 >> 3 : 00011000

2.5 Algoritma Enkripsi Dengan XOR Sederhana

Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-XOR-kan plainteks (P) dengan kunci (K) menghasilmeng-XOR-kan cipherteks :

C = P ⊕ K

Karena meng-XOR-kan nilai yang sama dua kali berturut-turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan :

(43)

Contoh:

plainteks 01100101 (karakter ‘e’)

kunci 00110101 ⊕ (karakter ‘5’)

cipherteks 01010000 (karakter ‘P’)

kunci 00110101 ⊕ (karakter ‘5’)

plainteks 01100101 (karakter ‘e’)

Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks di-XOR-kan dengan setiap bit kunci. Program komersil yang berbasis DOS atau

Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya,

algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Cara memecahkannya adalah sebagai berikut :

1. Cari panjang kunci dengan prosedur counting coincidence sbb : XOR-kan cipherteks

terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitunglah jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui), maka 6% dari byte akan sama. Jika tidak maka 0.4% akan sama. Angka persentase ini disebut index of coincidence. Pergeseran terkecil mengindikasikan panjang kunci yang dicari.

(44)

BAB 3

ANALISIS DAN DESAIN SISTEM

3.1 ANALISIS

Sebuah pesan yang sangat dirahasiakan memerlukan tingkat pengamanan agar pesan yang telah dikirim sampai kepenerima tanpa diketahui oleh orang lain. Maka diperlukan salah satu teknik penyandian pesan yaitu menggunakan Vigénere Cipher dan Linear Feedback Shift Register (LFSR).

3.1.1 Analisis Algoritma Vigénere Cipher

Vigénere cipher adalah salah satu proses dari kriptografi dengan menggunakan kunci simetris.Vigénere Cipher menggunakan bujursangkar dalam melakukan enkripsi dan dekripsi.Bujursangkar itu terdiri dari kolom dan baris,dimana setiap kolom dan baris terisi oleh “ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz1234567890.”

(45)

Tabel 3.1 Vigénere Cipher

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

(46)

Contoh :Plaintext : DOSEN Kunci : OKEOK

Panjang nilai kunci harus sama dengan panjang plaintext.

Langkah-langkah mengenkripsi pesan plaintext adalah sebgai berikut:

1. Plaintext dan kunci disusun sama panjangnya untuk memudahkan mendapatkan ciphertext.seperti contoh dibawah ini:

Tabel 3.2 Plaintext dan kunci

D O S E N

O K E O K

2. Untuk mendapatkan ciphertext dari plaintext diatas maka kita menggunakan table 3.1

(47)

Tabel 3.4 Karakter Enkripsi O

A B C D E F G H I J K L M N O P

A A B C D E F G H I J K L M N O P

B B C D E F G H I J K L M N O P Q

C C D E F G H I J K L M N O P Q R

D D E F G H I J K L M N O P Q R S

E E F G H I J K L M N O P Q R S T

F F G H I J K L M N O P Q R S T U

G G H I J K L M N O P Q R S T U V

H H I J K L M N O P Q R S T U V W

I I J K L M N O P Q R S T U V W X

J J K L M N O P Q R S T U V W X Y

K K L M N O P Q R S T U V W X Y Z

L L M N O P Q R S T U V W X Y Z A

Pada tabel diatas yang berwarna merah menampilkan huruf O dan ditarik kebawah , pada tabel berwarna biru huruf K ditarik kesamping sampai menemukan titik huruf Y, sehingga plaintext O dengan kunci K menghasilkan ciphertext huruf Y.

Tabel 3.5 Karakter Enkripsi S

A B C D E F G H I J K L M N O P Q R S T A A B C D E F G H I J K L M N O P Q R S T B B C D E F G H I J K L M N O P Q R S T U C C D E F G H I J K L M N O P Q R S T U V D D E F G H I J K L M N O P Q R S T U V W E E F G H I J K L M N O P Q R S T U V W X F F G H I J K L M N O P Q R S T U V W X Y

(48)

Tabel 3.6 Karakter Enkripsi E

Pada tabel diatas yang berwarna merah menampilkan huruf E dan ditarik kebawah, pada tabel berwarna biru huruf O ditarik kesamping sampai menemukan titik huruf S, sehingga plaintext E dengan kunci O menghasilkan ciphertext huruf S.

(49)

menemukan titik huruf X, sehingga plaintext N dengan kunci K menghasilkan ciphertext huruf X.

Maka didapatlah ciphertextnya :RYWSX

3. Ciphertext yang didapatkan nantinya akan dikirim kepada pengirim.

Langkah-langkah untuk melakukan proses dekripsi pada vigénere cipher tidak berbeda jauh dengan proses enkripsi,Pada proses dekripsi juga menggunakan table vigénere cipher.

Contoh:

Kunci : OKEOK Ciphertext : RYWSX

Pada proses dekripsi ini kita akan mencari plaintextnya, dimana panjang kunci harus sama dengan ciphertextnya.

Langkah –langkah untuk mencari plaintextnya yaitu:

1. Panjang kunci dengan ciphertext harus sama, agar lebih mudah untuk mendapatkan hasil plaintextnya dan contohnya seperti dalam Tabel 3.8 ;

Tabel 3.8 Ciphertext dan kunci

O K E O K R Y W S X

(50)

Tabel 3.9 Karakter Dekripsi O

Pada tabel yang berwarna biru huruf O ditarik kesamping sampai huruf R, dan dari huruf R ditarik keatas sampai menemukan titik huruf D ,sehingga ciphertext dari huruf R dan kunci O mendapatkan plaintext huruf D.

Tabel 3.10 Karakter Dekripsi K

(51)

Tabel 3.11 Karakter Dekripsi E

Pada tabel yang berwarna biru huruf E ditarik kesamping sampai huruf W, dan dari huruf W ditarik keatas sampai menemukan titik huruf S ,sehingga ciphertext dari huruf W dan kunci E mendapatkan plaintext huruf S.

Tabel 3.12 Karakter Dekripsi O

(52)

Tabel 3.13 Karakter Dekripsi K

Pada tabel yang berwarna biru huruf K ditarik kesamping sampai huruf X, dan dari huruf X ditarik keatas sampai menemukan titik huruf N, sehingga ciphertext dari huruf X dan kunci K mendapatkan plaintext huruf N. Maka akan didapatkan hasil plaintext yang diinginkan : DOSEN

4. Plaintext yang didapatkan nantinya akan dikirim ke pengirim dan didalam ini yang mengetahui plaintextnya hanyalah orang-orang tertentu.

3.1.2 Linear Feedback Shift Register

Dalam rangka untuk LFSR untuk menjadi LFSR periode maksimal, polinomial terbentuk dari urutan keran,ditambah konstan 1 harus mod polinomial primitif 2. Tingkat polinomial adalah panjang pergeseran register. Polinomial primitif gelar n adalah polinomial tereduksi yang membagi 1x2n-1, tapi tidak xd 1 untuk setiap d yang membagi 2n-1 .

3.1.2.1 Stream Ciphers Using LFSRs

(53)

semua primitif maka seluruh generator adalah panjang maksimal). Kuncinya adalah keadaan awal lfsr[11].

Linear kompleksitas menganalisis stream sandi ini sering lebih mudah dari pada menganalisi blok sandi. Sebagai contoh satu metrix penting yang digunakan untuk menganalisis, generator berbasis LFSR adalah linear kompleksitas atau rentang linear. Ini didefinisikan sebagai panjang n LFSR terpendek yang dapat meniru generator output.

Setiap urutan yang dihasilkan oleh mesin finite-state. Kompleksitas liniear penting karena algoritma yang sederhana, yang disebut Berlekamp-Massey algoritma, didapat menghasilkan LFSR ini setelah memeriksa hanya 2n bit keystream[11].

3.1.3 Flowchart

(54)

3.1.3.1. Flowchart proses proses enkripsi vigenére cipher adalah sebagai berikut:

Mulai

Masukkan Plaintext

Masukkan kunci

Hasilkan Ciphertext dengan rumus Pi=(Ci-Ki)mod 64 atau

Ci=(Pi+Ki)-64

Ciphertext

Selesai F

Flowchart Enkripsi Vigenere Cipher

(55)

3.1.3.2 Flowchart Proses Dekripsi Vigenére Cipher

Mulai

Input Kunci

Input Ciphertext

Hasilkan Ciphertext dengan rumus Pi=(Ci-Ki)mod 64 atau

Ci=(Pi+Ki)-64

Output Plaintext

Selesai F

Flowchart Dekripsi

Vigenere Cipher

(56)

3.1.3.3 Flowchart proses Enkripsi LFSR

MULAI

Input KUNCI

HASILKAN KUNCI DENGAN

MEMASUKKAN KUNCI KE VIGENERE CIPHER

Input

PLAINT EXT

ENKRIPSI DENGAN TABEL KARAKTER

Output CIPHER TEXT

SELESAI

(57)

3.1.3.4 Flowchart proses Dekripsi LFSR

Mulai

Flowchart Dekripsi LFSR

Ciphertext

Hasilkan kunci dengan mengambil dari

hasil enkripsi

Dekripsi dengan tabel karakter

Plaintext

Selesai

(58)

3.1.4 Perancangan Interface

Setelah melakukan analisis dan perancangan sistem, langkah berikutnya adalah perancangan interface. Perancangan interface dilakukan agar memudahkan pengguna untuk memakai sistem tersebut. Dalam penelitian ini tampilan interface dirancang sebaik mungkin agar perangkat lunak dapat berjalan sebagaimana mestinya.

3.1.4.1 Halaman Utama

Menu About Help

Ekripsi Dekripsi

Nama Aplikasi

Nama Nim

1 2 3

4

5 6 7

Gambar 3.5 Rancangan Halaman Utama

Keterangan:

1. :Tampilan menu 2. Tampilan about 3. Tampilan help

4. Tampilan Enkripsi dan Dekripsi 5. Nama aplikasi

6. Nama 7. Nim

(59)

Save

Generate

Enkripsi

Back Save

Key

Plaintext

Ciphertext

1

2

3

4

5

6

7

8

Gambar 3.6 Rancangan Tampilan Enkripsi

Keterangan:

(60)

3.1.4.2 Tampilan Dekripsi

Browse

Dekripsi

Back Ciphertext

Key

Plaintext

1

2

3

5

6

7

Browse 4

Gambar 3.7 Rancangan Tampilan Dekripsi

Keterangan:

1 :Kolom ciphertext

2 :Tombol browse untuk mencari data yang telah disimpan dari proses enkripsi

3 :Kolom kunci

4 :Tombol browse untuk mencari hasil kunci yang telah disimpan 5 :Tombol dekripsi

6 :Kolom plaintext

(61)

3.1.4.3 Tampilan About

Nama Aplikasi

Logo

Ok

1

3 2

Gambar 3.8 Rancangan Tampilan About

Keterangan:

1 :Nama aplikasi 2 :Logo USU

3 :Tombol back untuk kembali ke halaman utama

3.1.4.4 Tampilan Help

Informasi cara penggunaan program

Kembali

1

Gambar 3.9 Rancangan Tampilan Help

Keterangan:

(62)

BAB 4

IMPLEMENTASI DAN PENGUJIAN APLIKASI

4.1Implementasi

Perancangan aplikasi yang telah dibuat selanjutnya dilakukan pembangunan atau implementasi hasil perancangan aplikasi tersebut akan diterjemahkan ke dalam bahasa pemrograman NetBeans IDE 6.8 sehingga menghasilkan sebuah perangkat lunak.

Untuk melakukan pengujian Aplikasi Vigenére Cipher dengan Metode Linear Shift Register Pada Text, kebutuhan perangkat keras dan perangkat lunak yang direkomendasikan adalah sebagai berikut:

1. Prosesor Intel(R) Core (TM) 2 Duo CPU.

2. Sistem Operasi Windows 7 Profesional 64-bit (6.1, Build7601). 3. RAM 2048 MB.

4. Perangkat Lunak NetBeans IDE 7.2.1.

5. Monitor 14.1” dengan resolusi layar 1280 x 800 pixel. 6. Mouse dan keyboard.

4.2Tampilan Aplikasi

Hasil rancangan aplikasi pada pembahasan sebelumnya ditampilkan dalam Tampilan Aplikasi dengan menggunakan NetBeans IDE 7.2.1 Tampilan aplikasi vigenére cipher dengan metode lfsr adalah sebagai berikut :

4.2.1 Halaman Utama

(63)

aplikasi. Dan apabila pengguna memilih “Help” maka akan tampil sedikit penjelasan tentang aplikasi.

Gambar 4.1 Halaman Utama

(64)

4.2.2 Tampilan Enkripsi

Apabila pengguna memilih submenu enkripsi, maka akan muncul tampilan seperti pada gambar 4.3. Tampilan enkripsi berfungsi untuk mencari ciphertext denagn memasukkan kunci dan plaintext.

Gambar 4.3 Tampilan Enkripsi

(65)

Gambar 4.5 Tampilan Enkripsi Generate

Pada tampilan enkripsi terdapat kolom key yang berfungsi memasukkan kunci lalu dibangkitkan. Jumlah Digit sesuai dengan tabel karakter yang ada, lalu tombol save berfungsi secara otomatis akan menyimpan kunci yang telah dibangkitkan seperti yang terlihat pada gambar 4.4 dan 4.5.

(66)

Begitu juga dengan tombol plaintext masukkan pesan rahasia kedalamnya lalu lakukan proses enkripsi. Setelah proses enkripsi maka akan didapatkan hasil ciphertextnya, laluhasil

ciphertext akan disimpan . seperti yang terlihat pada gambar 4.7, 4.8.

(67)

Gambar 4.8 Tampilan Enkripsi Plainteks

Gambar 4.9 Hasil Ciphertext yang telah di simpan

(68)

4.2.3 Tampilan Dekripsi

Apabila pengguna memilih submenu dekripsi, maka akan muncul tampilan seperti pada gambar 4.2. Tampilan dekripsi berfungsi untuk mencari plaintext dengan memasukkan ciphertext dan kunci yang telah disimpan.

Gambar 4.10 Tampilan Dekripsi

(69)

Gambar 4.11 Tampilan Dekripsi Ciphertext

(70)

Pada tampilan dekripsi terdapat tombol browse yang berfungsi memasukkan ciphertext yang telah tersimpan dari hasil enkripsi sebelumnya, seperti yang terlihat pada gambar 4.11.

Setelah kita memasukkan hasil ciphertextnya, maka selanjutnya kita juga memilih tombol browse yang tersedia untuk mencari kunci yang telah tersave dari hasil enkripsi sebelumnya, seperti yang terlihat pada gambar 4.12.

(71)

Gambar 4.14 Dekripsi untuk mencari Kunci yang telah disimpan

Gambar 4.15 Tampilan Dekripsi Plaintext

(72)

4.2.4 Tampilan About

Tampilan About dapat dilihat pada gambar 4.9. Gambar logo yang terdapat di

about adalah logo Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Gambar 4.16 Tampilan About

4.2.5 Tampilan Help

(73)

Gambar 4.17 Tampilan Help

(74)

BAB 5

PENUTUP

5.1Kesimpulan

Setelah melakukan studi literatur, analisis dan perancangan dan pengujian terhadap aplikasi Vigenére Cipher dengan Metode Linear Feedback Shift Register pada Text , maka dapat disimpulkan sebagai berikut:

1. Sistem ini dibuat melalui proses enkripsi dan dekripsi dengan menggunakan Vigenére Cipher dengan metode Linear Feedback Shift Register.

2. Kunci yang digunakan untuk proses enkripsi dibangkitkan dengan algoritma Linear Feedback Shift Register.

3. Proses pengenkripsian terjadi ketika pesan teks dimasukkan, dimana kunci hanya diketahui oleh pengguna, Proses ini dilakukan agar pesan dan kunci lebih terjaga keamanannya.

4. Proses pendekripsian dilakukan dengan memasukkan pesan yang telah terenkripsi beserta kunci.

5.2Saran

1. Dalam aplikasi vigenére cipher dengan metode linear feedback shift register nama file kunci adalah key.txt dan nama file ciphertext adalah ciphertext.txt. Sehingga diharapkan untuk kedepannya nama file kunci dan ciphertext dapat di simpan dengan nama file yang diinginkan oleh pengguna dan bisa disimpan direktori lainnya.

(75)

DAFTAR PUSTAKA

[1] Ariyus, Stephen. 2006. Kriptografi Keamanan Data dan Komtmikasi. Graha Ilmu: Yogyakarta.

[2] D. Wagner , B scheneier and J Kelsey. Cryptanalysis of ORYX Unpublished Menu Script, 4 May 1997

[3] Herlambang, Stephen. 2010. Studi dan Analisis Grain Chiper. Tugas Akhir. Institut Teknologi Bandung.

[4] Jusuf Kurniawan, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Penerbit Informatika Bandung, 2004.

[5] Kadir, Abdul, 2003, Pengenalan Sistem Informasi, Andi, Yogyakarta.

[6] Kromodimoeljo, Sentot 2009. Teori dan Aplikasi Kriptografi. Jakarta: SPK IT Consulting.

[7] Lusiana,, Veronica. 2010. Kriptografi Kunci Publik. Tugas Akhir. Universitas Stikubank Semarang.

[8] M.Zaki Riyanto, Teknik Pembangkitan Kunci dan Pembangkitan Bilangan Acak Sem

[9] Prasetyo, Nanang Tri. 2008. Aplikasi Enkripsi dan Dekripsi Pesan dengan Algoritma Vigenere Cipher pada Ponsel menggunakan J2ME. Tugas Akhir. UNDIP.

[10]Rudy, Adipranata. 2005. Perancangan Sistem Informasi. Elex Media Komputindo: Jakarta.

[11]Scheineir ,Bruce 1996. Aplied Cryptography 2nd. John Wiley & Sons, New

York.

[12]Stalling, William. Cryptography and Network Security.Prenticehall, 2003. [13]Stephen, Herlambang. 2011. Studi dan Analisis Grain Chiper.

(76)

LAMPIRAN A: LISTING PROGRAM

TampilanUtama.java

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package vigenerecipherlfsr;

/*

*

*

* @author rimavirgie

*/

public class TampilanutamavigenereLFSR extends javax.swing.JFrame {

public TampilanutamavigenereLFSR() {

initComponents();

this.setLocationRelativeTo(getRootPane());//untuk menampilkan ketengah

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel4 = new javax.swing.JLabel();

(77)

jLabel2 = new javax.swing.JLabel();

jLabel1.setFont(new java.awt.Font("Tempus Sans ITC", 1, 14)); // NOI18N

jLabel1.setText("IMPLEMENTASI VIGENERE CIPHER DENGAN METODE");

jLabel2.setFont(new java.awt.Font("Tempus Sans ITC", 1, 14)); // NOI18N

jLabel2.setText("LINEAR FEEDBACK SHIFT REGISTER PADA TEXT");

jLabel3.setFont(new java.awt.Font("Traditional Arabic", 1, 14)); // NOI18N

jLabel3.setText("RIA FIRGI YANI");

jLabel5.setFont(new java.awt.Font("Traditional Arabic", 1, 14)); // NOI18N

jLabel5.setText("081401095");

fileMenu.setMnemonic('f');

fileMenu.setText("MENU");

openMenuItem.setMnemonic('o');

openMenuItem.setText("ENKRIPSI");

openMenuItem.addActionListener(new java.awt.event.ActionListener() {

(78)

openMenuItemActionPerformed(evt);

}

});

fileMenu.add(openMenuItem);

saveMenuItem.setMnemonic('s');

saveMenuItem.setText("DEKRIPSI");

saveMenuItem.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

editMenu.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

(79)

helpMenu.addMouseListener(new java.awt.event.MouseAdapter() {

(80)
(81)

pack();

this.dispose();//untuk menutup menu sebelumnya

}

private void editMenuActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void editMenuMouseClicked(java.awt.event.MouseEvent evt) {

About about = new About();//untuk memanggil kelas about

about.show();//untuk menampilkan

}

(82)

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see

} catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(TampilanutamavigenereLFSR.class.ge tName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

(83)

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TampilanutamavigenereLFSR().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JMenu editMenu;

private javax.swing.JMenu fileMenu;

private javax.swing.JMenu helpMenu;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JMenuBar menuBar;

private javax.swing.JMenuItem openMenuItem;

private javax.swing.JMenuItem saveMenuItem;

// End of variables declaration

}

Enkripsi.java

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package vigenerecipherlfsr;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

(84)

import java.util.logging.Logger;

public class Enkripsi extends javax.swing.JFrame {

// deklarasi variabel

String key,enkripsi,plainteks;

/**

* Creates new form Enkripsi

*/

public Enkripsi() {

initComponents();

this.setLocationRelativeTo(getRootPane());//untuk menampilkan ketengah

jMenuBar2 = new javax.swing.JMenuBar();

jMenu3 = new javax.swing.JMenu();

jMenu4 = new javax.swing.JMenu();

Gambar

Tabel 2.3 Proses Enkripsi
Gambar 2.9 LFSR 4-bit
Tabel 2.7 Aturan Operasi XOR
Tabel 3.1 Vigénere Cipher
+7

Referensi

Dokumen terkait

Data pada penelitian berdasarkan atas profesi responden ini sejalan dengan konsep EBP, yang mana responden profesi kesehatan senantiasa memberikan tingkat persepsi

Sebanding dengan penelitian tersebut, hasil menunjukan bahwa saat profil risiko mempengaruhi kerelaan berdonasi secara individu memberikan nilai koefisien 0.118

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

Untuk menemukan hubungan pola asuh orang tua, pergaulan teman sebaya dan media televisi terhadap karakter siswa di SMP Negeri 25 Purworejo, dengan unsur pokok kajian seperti

Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam penelitian ini adalah adakah pengaruh intensitas mengikuti bimbingan agama

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Hasil penelitian ini telah membuktikan bahwa penerapan metode mengajar presentasi personal dapat meningkatkan motivasi peserta didik melalui perilaku belajarnya

Then the T asked to S “Is any question so far?” S answer “No, Miss” , then the T gave conclusion about the material that had been discussed.. Then all S said,