PEMBELAJARAN PENYANDIAN DATA DI DALAM DATABASE MYSQL MENGGUNAKAN METODE VERNAM CIPHER DAN GRONSFELD CIPHER Skripsi Oleh : FACHRUL ROZI PRATAMA NIM : 1210000077 FAKULTAS TEKNIK DAN ILMU KOMPUTER PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS POTENSI UTAMA MEDAN 2016 2 SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer ABSTRAK The importance of information in life makes people vying and hantusias to get information ahead of others, because with important information they can process data so that it becomes the new information. With the new information that people can earn so much money. Today the use of computer technology has evolved to be very fast, so much information is stored and processed through computer technology. The use of computers to manage information have been used in the business world, students and others. Information that has been processed normally be a highly confidential data, most people store their personal data and conceal from the public into a computer that is usually called a database.The need for data security in the computer database so that the confidential information, especially those maintained. To the authors recommend a system to secure data on MySQL database. In this system, the contents of the data in the database can be encrypted, so it can not be read by information thieves. But in its application needs a method to solve the security problem in the data.Dengan the above background, the author takes the title "Learning Encoding In The MySQL Database Using Method And Gronsfeld Vernam Cipher Cipher". Keywords : Vernam Cipher, Gronsfeld Cipher, MYSQL,Visual Basic 2010, Universitas Potensi Utama. ABSTRAK Pentingnya sebuah informasi dalam kehidupan membuat orang-orang berlombalomba dan hantusias untuk mendapatkan informasi lebih dahulu dari orang lain, karena dengan adanya informasi yang penting mereka dapat mengolah data sehingga menjadi informasi yang baru. Dengan adanya informasi yang baru orang-orang dapat menghasilkan uang yang banyak. Pada zaman sekarang ini penggunaan teknologi komputer sudah berkembang menjadi sangat pesat, sehingga informasi banyak disimpan dan diolah melalui teknologi komputer. Penggunaan komputer untuk mengelola informasi sudah dipakai di kalangan dunia bisnis, pelajar dan lain sebagainya. Informasi yang telah diolah biasanya menjadi sebuah data yang sangat rahasia, kebanyakan orang menyimpan datadata pribadi mereka dan merahasiakan dari umum ke dalam sebuah komputer yang biasa disebut database. Perlu adanya keamanan data di dalam komputer terutama database agar rahasia informasi mereka tetap terjaga. Untuk itu penulis merekomendasikan sebuah sistem pengamanan data pada database MySQL. Pada sistem ini isi data di dalam database dapat disandikan, sehingga tidak dapat terbaca oleh pencuri informasi. Namun di dalam penerapannya dibutuhkannya metode untuk menyelesaikan masalah di dalam keamanan data.Dengan latar belakang diatas maka penulis mengambil judul “Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher”. Kata Kunci : Vernam Cipher, Gronsfeld Cipher, MYSQL,Visual Basic 2010, Universitas Potensi Utama. LEMBAR DEDIKASI Yang Utama Dari Segalanya... Sembah sujud serta syukur kepada Allah SWT. Taburan cinta dan kasih sayangMu telah memberikanku kekuatan, membekaliku dengan ilmu serta memperkenalkanku dengan cinta. Atas karunia serta kemudahan yang Engkau berikan akhirnya skripsi yang sederhana ini dapat terselesaikan. Sholawat dan salam selalu terlimpahkan keharibaan Rasullah Muhammad SAW. Kupersembahkan karya sederhana ini kepada orang yang sangat kukasihi dan kusayangi. Ibunda dan Ayahanda Tercinta Sebagai tanda bakti, hormat, dan rasa terima kasih yang tiada terhingga kupersembahkan karya kecil ini kepada Ibu dan Ayah yang telah memberikan kasih sayang, segala dukungan, dan cinta kasih yang tiada terhingga yang tiada mungkin dapat kubalas hanya dengan selembar kertas yang bertuliskan kata cinta dan persembahan. Semoga ini menjadi langkah awal untuk membuat Ibu dan Ayah bahagia karna kusadar, selama ini belum bisa berbuat yang lebih. Untuk Ibu dan Ayah yang selalu membuatku termotivasi dan selalu menyirami kasih sayang, selalu mendoakanku, selalu menasehatiku menjadi lebih baik, Terima Kasih Ibu.... Terima Kasih Ayah... Dosen Pembimbing Skripsi ku... Bapak Iwan Fitrianto Rahmad, M.Kom dan Bapak Helmi Kurniawan, ST, M.Kom selaku dosen pembimbing Skripsi saya, terima kasih banyak pak...bu.., saya sudah dibantu selama ini, sudah dinasehati, sudah diajari, saya tidak akan lupa atas bantuan dan kesabaran dari bapak. Terima kasih banyak pak...., bapak adalah dosen favorit saya.. Seluruh Dosen Pengajar di Fakultas Teknik Dan Ilmu Komputer : Terima kasih banyak untuk semua ilmu, didikan dan pengalaman yg sangat berarti yang telah kalian berikan kepada kami… KATA PENGANTAR Alhamdulillah penulis ucapkan puji syukur atas kehadiran Allah SWT, yang telah memberikan Rahmat dan Hidayah, serta Kesehatan, sehingga penulis dapat menyelesaikan Skripsi yang berjudul “ Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vername Cipher Dan Gronsfeld Cipher ” sesuai dengan yang direncanakan. Tugas akhir ini disusun dengan berdasarkan pengamatan saya tentang penyandian data di dalam database MySql, merupakan syarat untuk menyelesaikan pendidikan program Strata I pada Universitas Potensi Utama. Pada kesempatan ini penulis ingin menyampaikan rasa terima kasihnya kepada : 1. Bapak Iwan Fitrianto Rahmad, M.Kom, sebagai Dosen Pembimbing I yang telah memberi pengarahan serta saran-saran yang berguna bagi penulis dalam menyelesaikan Skripsi. 2. Bapak Helmi Kurniawan, ST, M.Kom, sebagai Dosen Pembimbing II yang memberikan arahan dan kritik yang membangun dan konstruktif sehingga penulis bisa menyelesaikan pembuatan skripsi ini. 3. Ibu Hj. Nuriandy BA, selaku Pembina Yayasan Potensi Utama Medan. 4. Bapak Bob Subhan Riza, ST, M.Kom, selaku Ketua Yayasan Potensi Utama Medan. 5. Ibu Rika Rosnelly, SH, M.Kom, selaku Rektor Universitas Potensi Utama. i 6. Ibu Lili Tanti, M.Kom, selaku Wakil Rektor I Universitas Potensi Utama. 7. Ibu Ratih Puspasari, selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Potensi Utama. 8. Bapak Budi Triandi, M.Kom, selaku Ketua Program Studi Teknik Informatika Universitas Potensi Utama. 9. Dosen Fakultas Teknik dan Ilmu Komputer secara khusus dan Dosen Fakultas lain secara umum yang membantu kelancaran penyelesaian Skripsi Ini. 10. Teristimewa saya mengucapkan salam sayang dan Terima Kasih kepada Ayahanda Tercinta “Elfix Friyanto” dan Ibunda tersayang “Norma”, berkat kasih saying, nasihat dan motivasi dari merekalah saya mampu menjalani skripsi ini serta doa yang selalu mereka sampaikan kepada Allah SWT. 11. Tersayang ”Rikha Aulia Lubis S.E” saya mengucapkan banyak terima kasih yang telah memberi saya semangat dan selalu pengertian kepada saya selama pembuatan skripsi ini. ii 12. Kepada teman teman satu perjuangan “Agus Fajar Rizki”,”Wigi Pranata”,”Sutrsno”,”Niko”,”Mhd Hardiansyah”,”Peter Simanjuntak”,yang telah memberi dorongan kepada saya Medan, Agustus 2016 Penulis, FACHRUL ROZI PRATAMA 1210000077 iii DAFTAR ISI ABSTRAK KATA PENGANTAR ................................................................................... i DAFTAR ISI ................................................................................................... iv DAFTAR GAMBAR ..................................................................................... vii DAFTAR TABEL........................................................................................... viii DAFTAR LAMPIRAN ................................................................................. ix BAB I PENDAHULUAN I.1. Latar Belakang ................................................................. 1 I.2. Ruang Lingkup Permasalahan .......................................... 3 1.2.1. Identifikasi Masalah ................................................. 3 1.2.2. Perumusan Masalah ................................................. 3 1.2.3. Batasan Masalah ...................................................... 4 Tujuan Dan Manfaat ........................................................ 4 1.3.1. Tujuan ...................................................... ............... 4 1.3.2. Manfaat .................................................... ............... 4 I.4. Metodologi Penelitian ....................................................... 5 I.5 Keaslian Penelitian ............................................................. 6 I.6 Sistematika Penulisan......................................................... 7 I.3. BAB II TINJAUAN PUSTAKA II.1. Aplikasi ............................................................................. 9 II.1.1. Data ......................................................................... 9 II.1.2. Keamanan ............................................................... 10 II.1.3. Definisi Keamanan Data.......................................... 10 iv II.2. Sistem ................................................................................ 11 II.2.1. Elemen Sistem ......................................................... 11 Kriptografi ......................................................................... 13 II.3.1. Sistem Kriptografi .................................................. 14 II.3.2. Karakteristik Sistem Kriptografi ............................. 15 II.4. Algoritma Gronsfeld Cipher ............................................ 16 II.5. Algoritma Vernam Cipher.................................................. 18 II.6. Microsoft Visual Basic 2010 ............................................. 20 II.7. Basis Data........................................................................... 21 II.8. Database MySQL .............................................................. 23 II.8.1. Perintah-Perintah MySQL ........................................ 24 Unified Modeling Language (UML) ................................. 25 II.10. Entity Relationship Diagram ............................................. 31 II.3 II.9. BAB III ANALISA DAN DESAIN SISTEM III.1. Analisis Sistem Yang Berjalan .......................................... 32 III.1.1. Analisa Input ....................................................... 32 III.1.2. Analisa Proses ...................................................... 33 III.1.3. Analisa Output .................................................... 34 III.2. Strategi Pemecahan Masalah ............................................. 34 III.3. Penerapan Metode ............................................................. 34 III.4. Evaluasi Sistem Yang Berjalan ......................................... 36 III.5. Desain Sistem .................................................................... 37 III.5.1. Desain Sistem Secara Global ............................... 37 v III.6. BAB IV BAB V III.5.1.1. Use Case Diagram .................................. 37 III.5.1.2 Sequence Diagram ................................... 38 III.5.1.3 Activity Diagram Penyandian .................. 39 Desain Sistem Secara Detail ............................................ 40 III.6.1. Desain Input ........................................................ 40 III.6.2. Desain Output ...................................................... 41 HASIL DAN PEMBAHASAN IV.1. Tampilan Hasil .................................................................. 43 IV.2. Pembahasan ....................................................................... 46 IV.2.1. Uji Coba Program .................................................. 47 IV.2.2. Hasil Uji Coba........................................................ 48 IV.3. Kelebihan dan Kekurangan Sistem ....................................... 48 IV.3.1. Kelebihan Sistem ................................................... 48 IV.3.2. Kekurangan Sistem ................................................ 49 KESIMPULAN DAN SARAN V.1. Kesimpulan ....................................................................... 50 V.2. Saran .................................................................................. 50 DAFTAR PUSTAKA LAMPIRAN vi DAFTAR GAMBAR Gambar III.1. Proses Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher .................................................................................... 33 Gambar III.2. Use Case Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher ................................................................... 38 Gambar III.3. Sequence Diagram Penyandian .............................................. 39 Gambar III.4. Activity Diagram Penyandian ................................................. 40 Gambar III.5. Rancangan Form Penyandian ................................................. 41 Gambar III.6. Rancangan Output Form Penyandian..................................... 42 Gambar IV.1. Tampilan Form Login ............................................................ 43 Gambar IV.2. Tampilan Form Penyandian ................................................... 44 Gambar IV.3 Tampilan Form Penjelasan ..................................................... 45 Gambar IV.4 Tampilan Form Biodata ......................................................... 46 vii DAFTAR TABEL Tabel I.1. Keaslian Penelitian ................................................................... 6 Tabel II.1. Simbol Use Case ...................................................................... 26 Tabel II.2. Simbol Activity Diagram.......................................................... 28 Tabel II.3. Simbol Sequence Diagram ....................................................... 29 Tabel II.4. Multiplicity Class Diagram ...................................................... 30 Tabel II.5. Simbol Yang Digunakan Pada Entity Relationship Diagram (ERD) ....................................................................... Tabel III.1. Input Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher ...................... Tabel III.2. 31 33 Output Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Tabel IV.1. Cipher ...................................................................................... 34 Blackbox Testing ...................................................................... 47 viii DAFTAR LAMPIRAN Lampiran-1 Listing Program Lampiran-2 Surat Pengajuan Judul Skripsi Lampiran-3 Formulir Pendaftaran Judul Skripsi Lampiran-4 Surat Pernyataan Bersedia Membimbing I Lampiran-5 Surat Pernyataan Bersedia Membimbing II ix BAB I PENDAHULUAN BAB I PENDAHULUAN I.1. Latar Belakang Pentingnya sebuah informasi dalam kehidupan membuat orang-orang berlomba-lomba dan hantusias untuk mendapatkan informasi lebih dahulu dari orang lain, karena dengan adanya informasi yang penting mereka dapat mengolah data sehingga menjadi informasi yang baru. Dengan adanya informasi yang baru orang-orang dapat menghasilkan uang yang banyak. Pada zaman sekarang ini penggunaan teknologi komputer sudah berkembang menjadi sangat pesat, sehingga informasi banyak disimpan dan diolah melalui teknologi komputer. Penggunaan komputer untuk mengelola informasi sudah dipakai di kalangan dunia bisnis, pelajar dan lain sebagainya. Informasi yang telah diolah biasanya menjadi sebuah data yang sangat rahasia, kebanyakan orang menyimpan data-data pribadi mereka dan merahasiakan dari umum ke dalam sebuah komputer yang biasa disebut database. Di dunia bisnis kebanyakan di perusahaannya menggunakan database MySQL sebagai aplikasi untuk menyimpan data-data perusahaan, karena database MySQL mampu menampung data dalam jumlah yang besar dan kegunaannya yang mudah. Untuk itu menjaga keamanan data menjadi sangat penting bagi mereka. Banyaknya pencuri informasi dan perusak data membuat kalangan pembisnis merasa risau, karena dengan jatuhnya informasi ketangan mereka, bisnis mereka akan berjalan menjadi tidak baik 1 2 karena informasi tersebut dapat diolah ataupun dirusak oleh para pencuri data tersebut. (Anisa, 2013). Perlu adanya keamanan data di dalam komputer terutama database agar rahasia informasi mereka tetap terjaga. Untuk itu penulis merekomendasikan sebuah sistem pengamanan data pada database MySQL. Pada sistem ini isi data di dalam database dapat disandikan, sehingga tidak dapat terbaca oleh pencuri informasi. Namun di dalam penerapannya dibutuhkannya metode untuk menyelesaikan masalah di dalam keamanan data. Untuk itu penulis merekomendasikan dua metode yaitu metode vernam cipher dan metode gronsfeld cipher agar keamanan datanya lebih terjaga. Metode vernam cipher atau biasa dikenal dengan sebutan one time pad (OTP) merupakan algoritma berjenis symmetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher yang berasal dari hasil XOR antara bit plaintext dan bit key. Pada metode ini plain text diubah kedalam kode ASCII dan kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. (M. Sholeh dan J.V. Hamokwarong, 2011). Metode Gronsfeld adalah satu cipher subsitusi sederhana polyalphabetic. Gaspar Schot adalah seorang kriptografer abad ke 17 di Jerman, yang belajar cipher ini selama perjalanan antara Mainz dan Frankfurt dengan menghitung Gronsfeld, maka terciptalah nama dari chipper tersebut yaitu gronsfeld. System gronsfeld menggunakan suatu kunci numeric yang biasanya cukup pendek misalnya 7341, kunci ini diulang secara periodic, sesuai dengan jumlah kata plaintext. (Aznuddin, 3 2013). Dengan latar belakang diatas maka penulis mengambil judul “Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher”. I.2. Ruang lingkup Permasalahan Adapun beberapa tahap yang dilakukan dalam membuat ruang lingkup permasalahan adalah : I.2.1. Identifikasi Masalah Dengan mengetahui latar belakang pemilihan judul di atas, maka indentifikasi masalah dari penulis untuk skripsi ini adalah: 1. Diperlukan sebuah keamanan isi database MySQL. 2. Diperlukan sebuah metode untuk penyandian database MySQL. 3. Diperlukan sebuah perangkat lunak untuk menyandikan data di dalam database MySQL. I.2.2. Perumusan Masalah Perumusan masalah yang terdapat pada penelitian ini yaitu: 1. Bagaimana tampilan antarmuka aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher? 2. Bagaimana metode vernam cipher dan gronsfeld cipher dapat menyandikan isi database MySQL? 3. Bagaimana menerapkan aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher di komputer? 4 I.2.3. Batasan Masalah Disebabkan banyaknya permasalahan dan waktu yang terbatas, maka agar pembahasan masalah tidak melebar penulis membatasi masalah sebagai berikut: 1. Aplikasi hanya untuk menyandikan isi database MySQL. 2. Aplikasi tidak dapat menyandikan isi database yang bertipe data angka. 3. Input aplikasi ini berupa teks untuk disandikan. 4. Output aplikasi ini berupa teks yang tersandikan. 5. Perancangan dan pembuatan Aplikasi ini menggunakan bahasa Microsoft Visual Basic 2010. I.3. Tujuan Dan Manfaat 1.3.1 Tujuan 1. Untuk menghasilkan sebuah perangkat lunak yang dapat menyandikan isi database MySQL. 2. Untuk mengetahui dan memahami cara kerja dari Metode Vernam Cipher dan Gronsfeld Cipher di dalam penyandian isi database MySQL.. 3. Untuk membantu user dalam menyandikan isi database MySQL. 1.3.2 Manfaat 1. 2. Mengatasi masalah penyandian isi database MySQL. Penulis dapat lebih memahami penggunaan metode vernam cipher dan gronsfeld cipher. 3. Penulis mendapat wawasan dalam pembuatan aplikasi komputer. 5 I.4. Metodologi Penelitian Metode merupakan suatu cara yang sistematik untuk mengerjakan suatu permasalahan. Untuk itu penulis menggunakan beberapa cara untuk memperolehnya, diantaranya : 1. Pengumpulan Data Pada tahap ini dilakukan dengan mempelajari teori dasar yang mendukung penelitian, pencarian dan pengumpulan data-data yang dibutuhkan. Untuk mengumpulkan data yang dibutuhkan, maka penulis memakai teknik : a. Pengamatan Langsung (Observation) Melakukan pengamatan secara langsung ke tempat objek pembahasan yang ingin diperoleh yaitu bagian-bagian terpenting dalam pengambilan data yang diperlukan berkaitan tentang database MySQL. b. Wawancara (Interview) Teknik ini secara langsung bertatap muka dengan pihak bersangkutan untuk mendapatkan penjelasan dari masalah-masalah yang sebelumnya kurang jelas yaitu tentang mekanisme sistem yang digunakan pada perusahaan dan juga untuk meyakinkan bahwa data yang diperoleh dikumpulkan benar-benar akurat. c. Sampling Meneliti dan memilih data - data yang tersedia dan sesuai dengan bidang yang dipilih sebagai berkas lampiran. 6 2. Penelitian perpustakaan (Library Research) Pada metode ini penulis mengutip dari beberapa bacaan yang berkaitan dengan pelaksanaan skripsi yang dikutip dapat berupa teori ataupun beberapa pendapat dari beberapa buku bacaan. Ini dimaksudkan untuk memberikan landasan teori yang kuat melalui buku-buku yang tersedia diperpustakaan, yang berhubungan dengan penulisan Laporan Skripsi ini. I.5. Keaslian Penelitian Berikut adalah tabel keaslian penelitian, penelitian mengenai pembelajaran penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher. Tabel I.1. Keaslian Penelitian No Nama / Tahun 1. Azanuddin, 2013 2. M. Sholeh Dan J.V. Hamokwarong, 2011 3. 4. Judul Hasil Penelitian Penyandian Short Message Service (SMS) Pada Telepon Selular Dengan Menggunakan Algoritma Gronsfeld Dengan menerapkan algoritma gronsfeld dalam penyandian SMS, maka dapat mencegah dari ancaman penyadapan dan pencurian SMS karena SMS yang dikirim bukan berupa SMS yang asli melainkan berupa chiperteks, sehingga akan sulit untuk dimengerti penyerang. Aplikasi ini menggunakan dua metode enkripsi dan dekripsi agar lebih aman dan terjamin kerahasiaan data. Aplikasi Kriptografi Dengan Metode Vernam Cipher Dan Metode Permutasi Biner Aman Julianto Aplikasi Penyandian Pakpahan, 2013 Data Dengan Menggunakan Algoritma Noekeon Fachrul Rozi Pembelajaran Pratama, 2016 Penyandian Data Di Dalam Database MySQL Perangkat lunakyang dihasilkan diharapkan dapat menambah perbendaharaan aplikasi kriptografi Aplikasi ini menggunakan dua metode yang disatukan untuk menciptakan keamanan yang lebih dari satu metode. 7 Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher I.6. Sistematika Penulisan Adapun sistematika penulisan yang diajukan dalam tugas akhir ini adalah sebagai berikut : BAB I : PENDAHULUAN Pada bab ini menerangkan tentang latar belakang, ruang lingkup permasalahan, tujuan dan manfaat, metode penelitian dan sistematika penulisan. BAB II : TINJAUAN PUSTAKA Pada bab ini menerangkan teori dasar yang berhubungan dengan program yang dirancang serta bahasa pemrograman yang digunakan. BAB III : ANALISA DAN DESAIN SISTEM Pada bab ini mengemukakan analisa masalah program yang akan dirancang dan rancangan program yang digunakan pada penulisan Skripsi ini. BAB IV : HASIL DAN PEMBAHASAN Pada bab ini mengemukakan tentang hasil implementasi sstem yang dirancang mencakup uji coba sistem, tampilan serta 8 perangkat yang dibutuhkan. Analisa sistem dirancang untuk mengetahui kelebihan dan kekurangan sistem yang dibuat. BAB V : KESIMPULAN DAN SARAN Dalam bab ini berisikan berbagai kesimpulan yang dapat dibuat berdasarkan uraian yang telah disimpulkan, serta saran kepada perusahaan. BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Aplikasi Aplikasi merupakan rangkaian kegiatan atau perintah untuk dieksekusi oleh komputer atau suatu perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Aplikasiaplikasi dalam suatu paket biasanya memiliki antar muka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. (Ernita Sitohang, 2013). II.1.1. Data Data dapat didefenisikan sebagai kenyataan yang digambarkan oleh nilai, bilangan-bilangan, untaian karakter atau symbol-simbol yang membawa arti tertentu. Informasi sendiri dapat didefenisikan sebagai hasil dari pengolahan data dalam bentuk yang lebih berguna bagi penerimaanya, yang digunakan sebagai alat bantu dalam pengambilan. (Ernita Sitohang, 2013). 9 10 II.1.2. Keamanan Keamanan merupakan salah satu aspek terpenting dari sebuah system informasi. Masalah keamanan sering kurang mendapatkan perhatian dari para perancang dan pengelola sistem informasi. Masalah keamanan sering berada diurutan setelah tampilan, atau bahkan diurutan terakhir dalam daftar hal-hal yang dianggap penting. Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan merupakan topik yang luas termasuk keamanan nasional terhadap serangan teroris, keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan penyelusup lainnya, keamanan financial terhadap kehancuran ekonomi dan banyak situasi berhubungan lainnya. Host komputer yang terhubung ke network, mempunyai ancaman keamanan lebih besar dari pada host yang tidak berhubungan kemana-mana. Dengan mengendalikan network security resiko tersebut dapat dikurangi. (Ernita Sitohang, 2013). II.1.3. Definisi Keamanan Data Keamanan data dan informasi terdiri dari perlindungan terhadap aspekaspek berikut : 1. Confidentiality (kerahasiaan) aspek yang menjamin kerahasiaan data atau informasi, memastikan bahwa informasi hanya dapat diakses oleh orang yang berwenang dan menjamin kerahasiaan data yang dikirim, diterima dan disimpan. 2. Integrity ( integritas) aspek yang menjamin bahwa data tidak dirubah tanpa ada ijin pihak yang berwenang (authorized), menjaga keakuratan dan keutuhan informasi serta metode prosesnya untuk menjamin aspek intefrity ini. 11 3. Availability (ketersediaan) aspek yang menjamin bahwa data akan tersedia saat dibutuhkan, memastikan user yang berhak dapat menggunakan informasi dan perangkat terkait (aset yang berhubungan bilamana diperlukan). Keamanan data dan informasi diperoleh dengan mengimplementasi seperangkat alat control yang layak, yang dapat berupa kebijakan-kebijakan, praktek-praktek, prosedur-prosedur, struktur-stuktur organisasi dan piranti lunak. (Ernita Sitohang, 2013). II.2. Sistem Sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang dimaksudkan untuk mencapai suatu tujuan. Sebagai gambaran, jika dalam sebuah sistem terdapat elemen yang tidak memberikan manfaat dalam mencapai tujuan yang sama, maka elemen tersebut dapat dipastikan bukanlah bagian dari sistem. (Abdul Kadir, 2014). II.2.1. Elemen Sistem Elemen – elemen yang membentuk sebuah sistem yaitu : a. Tujuan Setiap sistem memiliki tujuan (goal), entah hanya satu atau mungkin banyak. Tujuan inilah yang menjadi pemotivasi yang mengarahkan sistem. Tanpa tujuan, sistem menjadi tidak terarah dan tidak terkendali. Tentu saja, tujuan antara satu sistem dengan sistem lain berbeda – beda. Begitu pula yang berlau pada sistem informasi. Setiap sistem informasi memiliki suatu tujuan, tetapi denga tujuan yang 12 berbeda – beda. Walaupun begitu, tujuan utama yang umum ada tiga macam, yaitu : 1. Untuk mendukung fungsi kepengurusan manajemen, 2. Untuk mendukung pengambilan keputusan manajemen, 3. Untuk mendukung kegiatan operasi perusahaan. b. Masukan Masukan (input) sistem adalah segala sesuatu yang masuk kedalam sistem dan selanjutnya menjadi bahan untuk diproses. Masukan dapat berupa hal-hal berwujud (tampak secara fisik) maupun yang tidak tampak. Contoh masukan yang berwujud adalah bahan mentah, sedangkan contoh yang tidak berwujud adalah informasi (misalnya permintaan jasa dari pelanggan). Pada sistem informasi, masukan dapat berupa data transaksi, dan data non-transaksi (misalnya, surat pemberitahuan), serta instruksi. c. Proses Proses merupakan bagian yang melakukan perubahan atau transformasi dari masukan menjadi keluaran yang berguna, misalnya berupa informasi dan produk, tetapi juga bias berupa hal – hal yang tidak berguna, misalnya saja sisa pembuangan atau limbah. Pada pabrik kimia, proses dapat berupa pemanasan bahan mentah. Pada rumah sakit, proses dapat berupa aktivitas pembedahan pasien. Pada sistem informasi, proses dapat berupa suatu tindakan yang bermacam – macam. Meringkas data, melakukan perhitungan, dan mengurutkan data merupakan beberapa contoh proses. 13 d. Keluaran Keluaran (output) merupakan hasi dari pemrosesan. Pada sistem informasi, keluaran bias berupa suatu informasi, saran, cetakan laporan, dan sebagainya. (Abdul Kadir, 2014). II.3. Kriptografi Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian kriptografi modern kriptografi adalah ilmu yang bersabdarkaan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi. (Rifki Sadikin, 2012). 1. Fungsi Hash Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang ke sebuah teks khusus yang disebut message digest dengan panjang tetap. Fungsi hash umumnya dipakai sebagai nilai uji (check value) pada mekanisme keutuhan data. (Rifki Sadikin, 2012) 2. Penyandian Dengan Kunci Simetrik Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernialai sama. Kunci pada penyandian simetrik diasumsikan bersifat rahasia hanya pihak yang melakukan enkripsi dan dekripsi yang mengetahui nilainya. Oleh karena itu penyandian dengan kunci simetrik disebut 14 juga penyandian dengan kunci rahasia secret key encipherment. (Rifki Sadikin, 2012) 3. Penyandian dengan kunci asimetrik Penyandian dengan kunci asimetrik atau sering disebut juga dengan penyandian kunci publik (public key) adalah penyandian dengan kunci enkripsi dan dekripsi berbeda nilai. Kunci enkripsi yang juga disebut dengan kunci publik (public key) bersifat terbuka. Sedangkan, kunci dekripsi yang juga disebut kunci privat (private key) bersifat tertutup/ rahasia. (Rifki Sadikin, 2012). II.3.1. Sistem Kriptografi Sistem kriptografi terdiri dari 5 bagian yaitu : 1. Plaintext Pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext adalah masukan bagi algoritma enkripsi. (Rifki Sadikin, 2012). 2. Secret Key Secret key yang juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. (Rifki Sadikin, 2012). 3. Ciphertext Ciphertexti adalah keluaran algoritma enkripsi. Ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. (Rifki Sadikin, 2012). 15 4. Algoritma Enkripsi Algortima enkripsi memiliki 2 masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi. (Rifki Sadikin, 2012). 5. Algoritma Dekripsi Algoritma dekripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai algoritma dekripsi sama dengankunci rahasia yang dipakai algoritma enkripsi. (Rifki Sadikin, 2012). II.3.2. Karakteristik Sistem Kriptografi Sistem kriptografi dapat dikarakteristikan berdasarkan : 1. Tipe Operasi Dipakai Dalam Enkripsi Dan Dekripsi Dua tipe operasi yang dipakai dala enkripsi dan dekripsi : subsitusi, elemen pada pesan (karakter, byte atau bit) ditukar/ disubsitusikan dengan elemen lain dari ruang pesan. Misalnya subsitusi sederhana A ditukar B, B ditukar D, dan C ditukar Z, pesan ”BACA” menjadi ”DBZB”. Tipe operasi lainnya adalah transposisi, elemen pada pesan berpindah posisi misalnya posisi 1 menjadi posisi 4 dan posisi 2 menjadi posisi 3, posisi 3 menjadi posisi 1 dan posisi 4 menjadi posisi 2, pesan ”KAMI” menjadi ”MAIK”. Sistem kriptografi modern mencakup kedua tipe operasi ini. (Rifki Sadikin, 2012). 2. Tipe Kunci Yang Dipakai Umumnya sistem kriptografi klasik dan beberapa sistem kriptografi modern menggunakan kunci yang sama pada sisi penyandi dan penyulih sandi. Sistem 16 kriptografi seperti ini disebut kriptografi dengan kunci simetri. Baru pada tahun 1976 sistem kriptografi yang memperbolehkan kunci yang tidak sama diusulkan oleh Whitfield Deffie dan Martin Hellman, (Deffie & Hellman, 1976). Sistem kriptografi ini disebut dengan kriptografi dengan kunci asimetri. (Rifki Sadikin, 2012). 3. Tipe Pengolahan Pesan Ketika melakukan penyandian pesan yang akan dienkripsi ataupun didekripsi diolah pesatuan blok elemen disebut dengan block cipher. Cara lain adalah dengan menganggap masukan untuk enkripsi dan dekripsi sebagai aliran elemen secara terus menerus disebut dengan stream cipher. (Rifki Sadikin, 2012). II.4. Algoritma Gronsfeld Cipher Algoritma Gronsfeld adalah satu cipher subsitusi sederhana polyalphabetic. Gaspar Schot adalah seorang kriptografer abad ke 17 di Jerman, yang belajar cipher ini selama perjalanan antara Mainz dan Frankfurt dengan menghitung Gronsfeld, maka terciptalah nama dari chipper tersebut yaitu gronsfeld. System gronsfeld menggunakan suatu kunci numeric yang biasanya cukup pendek misalnya 7341, kunci ini diulang secara periodic, sesuai dengan jumlah kata plaintext. (Aznuddin, 2013). Algoritma enkripsi Gronsfeld cipher : Ci = ( Pi + Ki ) mod 256 Algoritma dekripsi Gronsfeld cipher : Pi = ( Ci – Ki ) mod 256 17 Contoh Proses Enkripsi : Plaintext : GRO Kunci : 734 Solusi : Ascii Plaintext : G = 71 R = 82 O = 79 Key : 7,3,4 C1 = (G + k1) mod 256 = (71 + 7) mod 256 = 78 mod 256 = 78 = N C2 = (R + k2) mod 256 = (82 + 3) mod 256 = 85 mod 256 = 85 = U C3 = (O + k3) mod 256 = (79 + 4) mod 256 = 83 mod 256 = 83 = S Chipertext : NUS Contoh Proses Dekripsi : 18 C1 = (N - k1) mod 256 = (78 - 7) mod 256 = 71 mod 256 = 71 = G C2 = (U - k2) mod 256 = (85 - 3) mod 256 = 83 mod 256 = 83 = R C3 = (S - k3) mod 256 = (83 - 4) mod 256 = 79 mod 256 = 79 = O Plaintext : GRO II.5. Algoritma Vernam Cipher Algoritma vernam cipher atau biasa dikenal dengan sebutan one time pad (OTP) merupakan algoritma berjenis symmetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher yang berasal dari hasil XOR antara bit plaintext dan bit key. Pada metode ini plain text diubah kedalam kode ASCII dan kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. (M. Sholeh dan J.V. Hamokwarong, 2011). Algoritma enkripsi Vernam cipher : 19 Ci = ( Pi xor Ki ) mod 256 Algoritma dekripsi Vernam cipher : Pi = ( Ci xor Ki ) mod 256 Contoh Proses Enkripsi : Plaintext : GRO Kunci : OSG Solusi : Ascii Plaintext : G = 71 R = 82 O = 79 Key : O = 79 S = 83 G = 71 C1 = (G xor k1) mod 256 = (71 xor 79) mod 256 = 8 mod 256 =8 C2 = (R xor k2) mod 256 = (82 xor 83) mod 256 = 1 mod 256 =1 20 C3 = (O xor k3) mod 256 = (79 xor 71) mod 256 = 8 mod 256 =8 Ascii Chipertext : 818 Contoh Proses Dekripsi : C1 = (G xor k1) mod 256 = (8 xor 79) mod 256 = 71 mod 256 = 71 = G C2 = (R xor k2) mod 256 = (1 xor 83) mod 256 = 82 mod 256 = 82 = R C3 = (O xor k3) mod 256 = (8 xor 71) mod 256 = 79 mod 256 = 79 = O Plaintext : GRO II.6. Microsoft Visual Basic 2010 Visual Basic 2010 merupakan salah satu bagian dari produk pemrograman terbaru yang dikeluarkan oleh Microsoft, yaitu Microsoft Visual Studio 2010. Visual Studio merupakan produk pemrograman andalan dari mocrosoft 21 corporation, dimana di dalamnya berisi beberapa jenis IDE pemrograman seperti Visual Basic, Visual C++, Visual Web Developer, Visual C#, dan Visual F#. Semua IDE pemrograman tersebut sudah mendukung penuh implementasi .Net Framework terbaru, yaitu .Net Framework 4.0 yang merupakan pengembangan dari .Net Framework 3.5. Adapun database standar yang disertakan adalah Microfot SQL Server 2008 express. Visual Basic 2010 merupakan versi perbaikan dan pengembangan dari versi pendahulunya yaitu visual basic 2008. Beberapa pengembangan yang terdapat di dalamnya antara lain dukungan terhadap library terbaru dari Microsoft, yaitu .Net Framework 4.0, dukungan terhadap pengembangan aplikasi menggunakan Microsoft SilverLight, dukungan terhaddap aplikasi berbasis cloud computing, serta perluasan dukungan terhadap database-database, baik standalone maupun database server. (Wahana Komputer, 2011). II.7. Basis Data Basis data dapat didefenisikan sebagai koleksi dari data-data yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbarui, dicari, diolah dengan perhitungan-perhitungan tertentu, serta dihapus). Secara teoritis, basis data tidak harus berurusan dengan komputer (misalnya, catatan belanja hari ini yang dibuat oleh seorang ibu rumah tangga juga merupakan basis data dalam bentuk yang sangat sederhana). (Adi Nugroho, 2011). Untuk mengelola basis data diperlukan perangkat lunak yang disebut Database Management System (DBMS). DBMS adalah perangkat lunak sistem 22 yang memungkinkan para pemakai membuat, memelihara, mengontrol dan mengakses basis data dengan cara yang praktis dan efisien. DBMS dapat digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. (Abdul Kadir, 2014). Umumnya DBMS menyediakan fitur-fitur sebagai berikut : Independensi data-program Karena basis data ditangani oleh DBMS, program dapat dipilih sehingga tidak tergantung pada struktur data dalam basis data. Dengan perkataan lain, program tidak akan terpenaruh sekiranya bentuk fisik data diubah. Keamanan Keamanan dimaksudkan untuk mencegah pengaksesan data oleh orang yang tidak berwewenang. Integritas Hal ini ditujukan untuk menjaga agar data selalu dalam keadaan yang valid dan konsisten. Konkurensi Konkurensi memungkinkan data dapat diakses oleh banyak pemakai tanpa menimbulkan masalah. Pemulihan (recovery) DBMS menyediakan mekanisme untuk mengembalikan basis data ke keadaan semula yang konsisten sekiranya terjadi gangguan perangkat keras atau kegagalan perangkat lunak. 23 Katalog Sistem Katalog Sistem adalah deskripsi tentang data yang terkandung dalam basis data yang dapat diakses oleh pemakai. Perangkat Produktivitas Untuk menyediakan kemudahan bagi pemakai dan meningkatkan produktivitas, DBMS menyediakan sejumlah perangkat produktivitas seperti pembangkit query dan pembangkit laporan. II.8. Database MySQL Database MySQL merupakan aplikasi yang bersifat daemon atau menetap dalam memori yang berjalan bersama dengan sistem operasi Microsoft Windows. Interface utama MySQL database server adalah command line atau berbasis DOS sehingga diperlukan pengetahuan khusus mengenai penggunaan perintah atau commandi dalam command shell MySQL. (Wahana Komputer, 2011). Menurut Anisya (2013) MySQL (biasa dibaca dengan mai-es-ki-el atau bisa juga mai-se-kuel) adalah suatu perangkat lunak database relasi (Relational Database Management System atau DBMS), seperti halnya ORACLE, POSTGRESQL, MSSQL, dan lain sebagainya. SQL merupakan singkatan dari Structure Query Language, didefenisikan sebagai suatu sintaks perintah – perintah tertentu atau bahasa program yang digunakan untuk mengelola suatu database. Jadi MySQL adalah softwarenya dan SQL adalah bahasa perintahnya. 24 II.8.1. Perintah-Perintah MySQL Query dikirimkan ke database dalam bentuk SQL Query. (Anisya, 2013). Beberapa perintah yang umum digunakan adalah sebagai berkut: a. CREATE : Untuk membuat tabel baru CREATE TABLE <NAMA TABLE> (<NAMA KOLOM> <TIPE>, <NAMA KOLOM> <TIPE>, ......... PRIMARY KEY (<NAMA KOLOM>) FOREIGN KEY (<NAMA KOLOM>) REFERENCES <NAMA_TABLE> (<NAMA KOLOM>) b. SELECT : Untuk mengambil record dari database yang memenuhi kriteria tertentu. SELECT <NAMA KOLOM>, <NAMA KOLOM>, ... FROM <NAMA TABEL> WHERE <KONDISI> c. INSERT : Untuk menambah record ke dalam suatu tabel INSERT INTO <NAMA TABEL> (<NAMA KOLOM>, <NAMA KOLOM> ) 25 VALUES (<NILAI KOLOM>, <NILAI KOLOM>, . . .) d. UPDATE : Untuk merubah isi record tertentu pada suatu tabel UPDATE <NAMA TABEL> SET (<NAMA KOLOM> = <NILAI KOLOM>,<NAMA KOLOM> = <NILAI KOLOM>, . . . ) WHERE <KONDISI> e. DELETE : Untuk menghapus record pada suatu tabel DELETE FROM <NAMA TABEL> WHERE <KONDISI> f. DROP : Untuk menghapus sebuah tabel DROP <NAMA TABEL> II.9. Unified Modeling Language (UML) Menurut Windu Gata (2013) Hasil pemodelan pada OOAD terdokumentasikan dalam bentuk Unified Modeling Language (UML). UML adalah bahasa spesifikasi standar yang dipergunakan untuk mendokumentasikan, menspesifikasikan dan membangun perangkat lunak. UML merupakan metodologi dalam mengembangkan sistem berorientasi objek dan juga merupakan alat untuk mendukung pengembangan sistem. UML saat ini sangat banyak dipergunakan dalam dunia industri yang merupakan standar bahasa pemodelan umum dalam industri perangkat lunak dan pengembangan sistem. (Gellysa Urva dan Helmi Fauzi Siregar, 2015). 26 Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan UML adalah sebagai berikut : 1. Use case Diagram Use case diagram merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dapat dikatakan use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Simbol-simbol yang digunakan dalam use case diagram dapat dilihat pada tabel II.2 dibawah ini : Tabel II.2. Simbol Use Case Gambar Keterangan Use case menggambarkan fungsionalitas yang disediakan sistem sebagai unit-unit yang bertukar pesan antar unit dengan aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal nama use case. Aktor adalah abstraction dari orang atau sistem yang lain yang mengaktifkan fungsi dari target sistem. Untuk mengidentifikasikan aktor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target sistem. Orang atau sistem bisa muncul dalam beberapa 27 peran. Perlu dicatat bahwa aktor berinteraksi dengan use case, tetapi tidak memiliki control terhadap use case. Asosiasi antara aktor dan use case, digambarkan dengan garis tanpa panah yang mengindikasikan siapa atau apa yang meminta interaksi secara langsung dan bukannya mengidikasikan aliran data. Asosiasi antara aktor dan use case yang menggunakan panah terbuka untuk mengidinkasikan bila aktor berinteraksi secara pasif dengan sistem. Include, merupakan di dalam use case lain (required) atau pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program. Extend, merupakan perluasan dari use case lain jika kondisi atau syarat terpenuhi. (Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015) 2. Diagram Aktivitas (Activity Diagram) Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Simbol-simbol yang digunakan dalam activity diagram dapat dilihat pada tabel II.2 dibawah ini : 28 Tabel II.3. Simbol Activity Diagram Gambar Keterangan Start point, diletakkan pada pojok kiri atas dan merupakan awal aktifitas. End point, akhir aktifitas. Activites, menggambarkan suatu proses/kegiatan bisnis. Fork (Percabangan), digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan pararel menjadi satu. Join (penggabungan) atau rake, digunakan untuk menunjukkan adanya dekomposisi. Decision Points, menggambarkan pilihan untuk pengambilan keputusan, true, false. Swimlane, pembagian activity diagram New Swimline menunjukkan siapa melakukan apa. (Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015) untuk 29 3. Diagram Urutan (Sequence Diagram) Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Simbol-simbol yang digunakan dalam sequence diagram dapat dilihat pada tabel II.4 dibawah ini : Tabel II.4. Simbol Sequence Diagram Gambar Keterangan Entity Class, merupakan bagian dari sistem yang berisi kumpulan kelas berupa entitas-entitas yang membentuk gambaran awal sistem dan menjadi landasan untuk menyusun basis data. Boundary Class, berisi kumpulan kelas yang menjadi interface atau interaksi antara satu atau lebih aktor dengan sistem, seperti tampilan formentry dan form cetak. Control class, suatu objek yang berisi logika aplikasi yang tidak memiliki tanggung jawab kepada entitas, contohnya adalah kalkulasi dan aturan bisnis yang melibatkan berbagai objek. Message, simbol mengirim pesan antar class. Recursive, menggambarkan pengiriman pesan yang dikirim untuk dirinya sendiri. 30 Activation, activation mewakili sebuah eksekusi operasi dari objek, panjang kotak ini berbanding lurus dengan durasi aktivitas sebuah operasi. Lifeline, garis titik-titik yang terhubung dengan objek, sepanjang lifeline terdapat activation. (Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015) 4. Class Diagram (Diagram Kelas) Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan tanggng jawab entitas yang menentukan perilaku sistem. Class diagram juga menunjukkan atribut-atribut dan operasi-operasi dari sebuah kelas dan constraint yang berhubungan dengan objek yang dikoneksikan. Class diagram secara khas meliputi: Kelas (Class), Relasi, Associations, Generalization dan Aggregation, Atribut (Attributes), Operasi (Operations/Method), Visibility, tingkat akses objek eksternal kepada suatu operasi atau atribut. Hubungan antar kelas mempunyai keterangan yang disebut dengan multiplicity atau kardinaliti yang dapat dilihat pada tabel II.5 dibawah ini : Tabel II.5. Multiplicity Class Diagram Multiplicity Penjelasan 1 Satu dan hanya satu 0..* Boleh tidak ada atau 1 atau lebih 1..* 1 atau lebih 0..1 Boleh tidak ada, maksimal 1 31 n..n Batasan antara. Contoh 2..4 mempunyai arti minimal 2 maksimum 4 (Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015) II.10. Entity Relationship Diagram Entity Relationship Diagram (ERD) adalah bagian yang menunjukkan hubungan antara entity yang ada dalam sistem. Simbol-simbol yang digunakan dapat dilihat dari tabel II.6. (Yuhendra, M.T, Dr. Eng dan Riza Eko Yulianto, 2015). Tabel II.6. Simbol Yang Digunakan Pada Entity Relationship Diagram (ERD) SIMBOL KETERANGAN Entity Atribut Dan Entity Atribut Dan Entity Dengan Key (Kunci) Relasi Atau Aktifitas Antar Entity Hubungan Satu Dan Pasti Hubungan Banyak Dan Pasti Hubungan Satu Tapi Tidak Pasti Hubungan Banyak Tapi Tidak Pasti (Sumber : Yuhendra, M.T, Dr. Eng dan Riza Eko Yulianto; 2015) BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1. Analisis Sistem Yang Berjalan Penggunaan komputer untuk mengelola informasi sudah dipakai di kalangan dunia bisnis, pelajar dan lain sebagainya. Informasi yang telah diolah biasanya menjadi sebuah data yang sangat rahasia, kebanyakan orang menyimpan data-data pribadi mereka dan merahasiakan dari umum ke dalam sebuah komputer yang biasa disebut database. Di dunia bisnis kebanyakan di perusahaannya menggunakan database MySQL sebagai aplikasi untuk menyimpan data-data perusahaan, karena database MySQL mampu menampung data dalam jumlah yang besar dan kegunaannya yang mudah. Untuk itu menjaga keamanan data menjadi sangat penting bagi mereka. Banyaknya pencuri informasi dan perusak data membuat kalangan pembisnis merasa risau, karena dengan jatuhnya informasi ketangan mereka, bisnis mereka akan berjalan menjadi tidak baik karena informasi tersebut dapat diolah ataupun dirusak oleh para pencuri data tersebut III.1.1. Analisa Input Input data pada aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher adalah berupa teks yang asli dari database. Adapun inputan yang diperlukan dapat dilihat pada tabel III.1. 32 33 Tabel III.1. Input Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher No. 1. 2. Teks Asli Rozi 123 Kunci 332 Oke III.1.2. Analisa Proses Berdasarkan sistem yang sedang berjalan, tahapan-tahapan proses penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher adalah sebagai berikut : Enkripsi Dekripsi Teks Sandi Mulai Teks Asli Input Teks Asli Dan Kunci Teks Sandi Teks Sandi Input Teks Sandi Dan Kunci Teks Asli Gambar III.1. Proses Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher 34 III.1.3. Analisa Output Hasil output pada aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher adalah berupa isi teks database yang telah di sandikan. Adapun inputan yang diperlukan dapat dilihat pada tabel III.3. Tabel III.3. Output Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher No. 1. 2. Teks Asli Rozi 123 Kunci 332 Oke Teks Sandi ZERt DfDs III.2. Strategi Pemecahan Masalah III.3. Penerapan Metode Untuk dapat membuktikan keamanan aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher, maka diperlukan sebuah perhitungan manual. Adapun perhitungan manual metode vernam cipher dan gronsfeld cipher adalah sebagai berikut : Algoritma enkripsi Gronsfeld cipher : Ci = ( Pi + Ki ) mod 256 Algoritma dekripsi Gronsfeld cipher : Pi = ( Ci – Ki ) mod 256 Contoh Proses Enkripsi : Plaintext : GRO Kunci : 734 35 Solusi : Ascii Plaintext : G = 71 R = 82 O = 79 Key : 7,3,4 C1 = (G + k1) mod 256 = (71 + 7) mod 256 = 78 mod 256 = 78 = N C2 = (R + k2) mod 256 = (82 + 3) mod 256 = 85 mod 256 = 85 = U C3 = (O + k3) mod 256 = (79 + 4) mod 256 = 83 mod 256 = 83 = S Chipertext : NUS Contoh Proses Dekripsi : C1 = (N - k1) mod 256 = (78 - 7) mod 256 = 71 mod 256 36 = 71 = G C2 = (U - k2) mod 256 = (85 - 3) mod 256 = 83 mod 256 = 83 = R C3 = (S - k3) mod 256 = (83 - 4) mod 256 = 79 mod 256 = 79 = O Plaintext : GRO III.4. Evaluasi Sistem Yang Berjalan Berdasarkan analisa terhadap input, proses dan output pada aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher yang sedang berjalan, penulis menemukan beberapa kelemahan antara lain sebagai berikut : 1. Diperlukan sebuah keamanan isi database MySQL. 2. Diperlukan sebuah metode untuk penyandian database MySQL. 3. Diperlukan sebuah perangkat lunak untuk menyandikan data di dalam database MySQL. Untuk menangani kelemahan-kelemahan sistem yang ada salah satu solusi yang ditawarkan adalah dengan merancang aplikasi penyandian data di dalam database MySQL menggunakan metode vernam cipher dan gronsfeld cipher. 37 III.5. Desain Sistem III.5.1. Desain Sistem Secara Global Desain sistem atau perancangan sistem adalah proses pengembangan spesifikasi baru berdasarkan hasil rekomendasi analisis sistem. Dalam tahap perancangan, diharuskan merancang spesifikasi yang dibutuhkan. Bentuk rancangan sistem yang penulis buat menggunakan beberapa bentuk diagram dari UML (Unified Modeling Language) yaitu Use Cace Diagram, Class Diagram dan Activity Diagram. III.5.1.1. Use Case Diagram Perancangan dimulai dari identifikasi aktor dan bagaimana hubungan antara aktor dan use case didalam sistem. Perancangan Use Case Diagram dapat dilihat pada gambar III.2. 38 Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher Pesan Asli Kunci Proses Pesan Rahasia Penjualan Enkrip Pesan Rahasia Kunci Proses Pesan Asli Penjualan Dekrip Gambar III.2. Use Case Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher III.5.1.2. Sequence Diagram Rangkaian kegiatan pada setiap terjadi event sistem digambarkan pada sequence diagram berikut: 1. Sequence Diagram Penyandian Serangkaian kerja melakukan penyandian dapat terlihat seperti pada gambar III.5 berikut : 39 User Sistem Enkrip Pesan Tidak Ya Tulis Pesan Asli Tulis Kunci Kunci Sukses Klik Enkrip Pesan Tersandikan Dekrip Pesan Tidak Ya Input Pesan Sandi Tulis Kunci Kunci Sukses Klik Dekrip Tidak Pesan Asli Terbuka Gambar III.3. Sequence Diagram Penyandian 40 III.5.1.3. Activity Diagram Penyandian Pada proses ini kita akan membuat alur dari system yang dirancang yaitu activity diagram. Berikut adalah activity diagram sistem yang dirancang. 1. Activity Diagram Penyandian Aktivitas yang dilakukan untuk melakukan penyandian dapat dilihat seperti pada gambar III.4 berikut : Admin Form Penyandian Proses Sandi Enkrip Pesan Rahasia Sandi Dekrip Berhasil Pesan Asli Gambar III.4. Activity Diagram Penyandian Hasil 41 III.6. Desain Sistem secara Detail III.6.1. Desain Input Perancangan Input merupakan masukan yang penulis rancang guna lebih memudahkan dalam entry data. Entry data yang dirancang akan lebih mudah dan cepat dan meminimalisir kesalahan penulisan dan memudahkan perubahan. Perancangan Input tampilan yang dirancang adalah sebagai berikut : 1. Perancangan Form Penyandian Perancangan Form Penyandian berfungsi untuk menyandikan isi database MySQL. Adapun rancangan form login dapat dilihat pada gambar III.5. sebagai berikut : Buka Database Primary Tampilkan Database Nama Database Nama Tabel Pesan Asli Pesan Rahasia Kunci Kunci Enkrip Gambar III.5. Rancangan Form Penyandian Dekrip 42 III.6.2. Desain Output Desain sistem ini berisikan pemilihan menu dan hasil pencarian yang telah dilakukan. Adapun bentuk rancangan output dari aplikasi penyandian isi database ini adalah sebagai berikut : 1. Rancangan Output Form Penyandian Rancangan Output Form Penyandian berfungsi menampilkan form penyandian. Adapun rancangan Output Form Penyandian dapat dilihat pada Gambar III.6. sebagai berikut: Buka Database Primary ********** Nama Database ***** ********** Nama Tabel ***** ********** Tampilkan Database ***** ***** ***** ***** ***** ***** Pesan Asli ***** Pesan Rahasia ***** Kunci ***** Kunci ***** Enkrip Gambar III.6. Rancangan Output Form Penyandian Dekrip BAB IV HASIL DAN PEMBAHASAN BAB IV HASIL DAN PEMBAHASAN IV.1. Tampilan Hasil Berikut ini akan dijelaskan tentang tampilan hasil dari perancangan Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher dapat dilihat sebagai berikut : 1. Tampilan Form Menu Utama Tampilan yang disajikan oleh sistem untuk menampilkan menu utama dapat dilihat pada gambar IV.1. Gambar IV.1. Tampilan Form Login 43 44 2. Tampilan Form Penyandian Tampilan yang disajikan oleh sistem untuk menampilkan form penyandian dapat dilihat pada gambar IV.2. Gambar IV.2. Tampilan Form Penyandian 45 3. Tampilan Form Penjelasan Tampilan yang disajikan oleh sistem untuk menampilkan form Penjelasan dapat dilihat pada gambar IV.3. Gambar IV.3. Tampilan Form Penjelasan 46 4. Tampilan Form Biodata Tampilan yang disajikan oleh sistem untuk menampilkan form Biodata dapat dilihat pada gambar IV.4. Gambar IV.4. Tampilan Form Biodata IV.2. 1. Pembahasan Satu unit laptop atau PC dengan spesifikasi sebagai berikut : a. Processor Core i3 / Core i2 / Core 2 duo b. RAM minimal 2 Gb c. Hardisk minimal 80 Gb 2. Perangkat Lunak dengan spesifikasi sebagai berikut : a. Sistem Operasi Windows 7 / Windows Xp b. Visual Studio 2010 47 c. Xampp IV.2.1. Uji Coba Program Uji coba terhadap sistem bertujuan untuk memastikan bahwa sistem sudah berada pada kondisi siap pakai. Instrumen yang digunakan untuk melakukan pengujian ini yaitu dengan menggunakan Blackbox Testing : Tabel. IV.1. Blackbox Testing No Form Keterangan Hasil 1 Form Penyandian, teks primary, Sistem akan Valid teks nama database dan teks nama menampilkan isi tabel di isi. tabel dari database sesuai dengan nama yang di isi ke dalam datagridview 2 Form Penyandian, teks pesan asli Sistem dan teks kunci di isi kemudian menyandikan isi klik enkrip teks di dalam Valid database dan gridview 3 Form Penyandian, teks pesan Sistem membuka rahasia dan teks kunci di isi teks yang tersandi kemudian klik dekrip di dalam database dan gridview Valid 48 IV.2.2. Hasil Uji Coba Setelah melakukan uji coba terhadap sistem, maka dapat disimpulkan hasil yang didapatkan yaitu : 1. Performance menjadi lebih menarik. 2. Sistem dapat menyandikan sesuai dengan metode yang diterapkan. 3. Sistem dapat memproses enkripsi dan dekripsi dengan cepat dan tepat. 4. Hanya membutuhkan waktu beberapa detik dalam enkripsi dan deksripsi data. 5. Antarmuka yang sederhana dapat mempermudah pengguna dalam mempelajari sistem ini. 6. Keamanan sistem cukup terjamin dari resiko peretasan dengan teknik yang biasa dilakukan para peretasan. IV.3. Kelebihan dan Kekurangan Sistem Setiap sistem memiliki kelebihan dan kekurangan, berikut ini adalah kelebihan dan kekurangan sistem yang telah dibuat. IV.3.1. Kelebihan Sistem Adapun kelebihan sistem yang telah dibuat diantaranya yaitu : 1. Minimnya kesalahan yang terjadi dalam enkripsi dan dekripsi data. Dapat mempermudah dan mempercepat user/pengguna dalam melakukan penyandian data sehingga tidak perlu lagi melakukan pemeriksaan data secara berulang-ulang. 2. Sistem keamanan pada aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld 49 Cipher yang telah dirancang akan memberi kenyamanan kepada pengguna aplikasi dalam penyandian data. 3. Memudahkan dalam penyandian data di dalam database MySQL. IV.3.2. Kekurangan Sistem Adapun kekurangan sistem yang telah dibuat diantaranya yaitu : 1. Pengolahan data dalam melakukan penyandian data ini masih tergolong dalam pengolahan skala kecil. 2. Sistem yang telah dirancang belum menggunakan berbasis online. 3. Sistem ini masih memiliki beberapa bugs yang terkadang muncul. BAB V KESIMPULAN DAN SARAN BAB V KESIMPULAN DAN SARAN V.1. Kesimpulan Berdasarkan pembahasan dari bab-bab sebelumnya yang telah dilakukan maka dapat diambil beberapa kesimpulan sebagai berikut : 1. Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher menambah wawasan penulis di dalam bidang ilmu kriptografi. 2. Tampilan Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher bersifat user friendly, sehingga pengguna aplikasi dapat memahami dengan mudah. 3. Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher dapat menyandikan isi seluruh database yang ada pada database MySQL. V.2. Saran Untuk pengembangan lebih lanjut pada aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher ini, maka dapat diberikan beberapa saran sebagai berikut : 1. Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher dapat menyandikan database lain seperti misalnya SQL Server. 50 51 2. Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher dapat menggunakan metode lain yang penyandiannya lebih kuat. 3. Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher dapat diterapkan berbasis online. DAFTAR PUSTAKA Sholeh, Ahmad Timbul, 2013, Jurnal : Mengamankan Skrip Pada Bahasa Pemograman PHP Dengan Menggunakan Kriptografi Base64 Pakpahan , Aman Julianto ; 2015 , Jurnal : Aplikasi Penyandian Data Dengan Menggunakan Algoritma NEOKEON Anisya, 2013,Jurnal: Aplikasi Sistem Database Rumah Sakit Terpusat Pada Rumah Sakit Umum(RSU)’AISYIYAH Padang Dengan Menerapkan Open Source (PHP – MYSQL) Azanuddin,2013,Jurnal:Penyandian Short Message Service (SMS) Pada Telepon Selular Dengan Menggunakan Algoritma Gronsfeld Sitohang, Ernita, 2013,Jurnal:Perangkat Aplikasi Keamanan Data Text Menggunakan Elektronic Codebook Dengan Algoritma DES M. Sholeh danJ.V.Hamokwarong, 2011,Jurnal: Aplikasi Kriptografi Dengan Metode Vernam Cipher Dan Metode Permutasi Biner Sadikin ,Rifki, 2012,:Kriptografi Untuk Keamanan Jaringan LAMPIRAN LISTING PROGRAM Form Kriptografi Imports System.Data.Odbc Imports System.Data Public Class Form1 Public conn As OdbcConnection Public da As OdbcDataAdapter Public ds As DataSet Public strcon As String Public Sub sambungMYSQL() strcon = "Driver={MySQL ODBC 5.3 ANSI Driver};database=" & Databasetxt.Text & ";server=localhost;uid=root" conn = New OdbcConnection(strcon) If conn.State = ConnectionState.Closed Then conn.Open() End If End Sub Private Sub jalankansql(ByVal sQl As String) Dim objcmd As New System.Data.Odbc.OdbcCommand strcon = "Driver={MySQL ODBC 5.3 ANSI Driver};database=" & Databasetxt.Text & ";server=localhost;uid=root" conn = New OdbcConnection(strcon) If conn.State = ConnectionState.Closed Then conn.Open() End If Try objcmd.Connection = conn objcmd.CommandType = CommandType.Text objcmd.CommandText = sQl objcmd.ExecuteNonQuery() objcmd.Dispose() DataGridView.Refresh() DataGridView.RefreshEdit() Catch ex As Exception MsgBox("Tidak Dapat Menyimpan Data ke Server, Periksa Kembali Sambungan Database Anda", vbInformation, "Informasi") End Try End Sub Private Sub ubah() On Error GoTo perubahdata Dim satu, pjg, ttl As Double Dim dua As String dua = PesanAsli.Text satu = dua Dim tukar As String = "ALTER TABLE " & Tabletxt.Text & " CHANGE & Fieldtxt.Text & " " & Fieldtxt.Text & " TEXT" Dim objcmd2 As New System.Data.Odbc.OdbcCommand strcon = "Driver={MySQL ODBC 5.3 ANSI Driver};database=" & Databasetxt.Text & ";server=localhost;uid=root" conn = New OdbcConnection(strcon) If conn.State = ConnectionState.Closed Then conn.Open() End If " objcmd2.Connection = conn objcmd2.CommandType = CommandType.Text objcmd2.CommandText = tukar objcmd2.ExecuteNonQuery() objcmd2.Dispose() DataGridView.Refresh() DataGridView.RefreshEdit() BtnTampil.PerformClick() Dim ubahlagi As String = "update " & Tabletxt.Text & " set " & Fieldtxt.Text & "='" & Pesantxt.Text & "' where " & Idtxt.Text & "='" & Rahasia1txt.Text & "'" Dim objcmd1 As New System.Data.Odbc.OdbcCommand strcon = "Driver={MySQL ODBC 5.3 ANSI Driver};database=" & Databasetxt.Text & ";server=localhost;uid=root" conn = New OdbcConnection(strcon) If conn.State = ConnectionState.Closed Then conn.Open() End If objcmd1.Connection = conn objcmd1.CommandType = CommandType.Text objcmd1.CommandText = ubahlagi objcmd1.ExecuteNonQuery() objcmd1.Dispose() DataGridView.Refresh() DataGridView.RefreshEdit() BtnTampil.PerformClick() Exit Sub perubahdata: Dim ubah As String = "update " & Tabletxt.Text & " set " & Fieldtxt.Text & "='" & Pesantxt.Text & "' where " & Idtxt.Text & "='" & Rahasia1txt.Text & "'" Dim objcmd As New System.Data.Odbc.OdbcCommand strcon = "Driver={MySQL ODBC 5.3 ANSI Driver};database=" & Databasetxt.Text & ";server=localhost;uid=root" conn = New OdbcConnection(strcon) If conn.State = ConnectionState.Closed Then conn.Open() End If objcmd.Connection = conn objcmd.CommandType = CommandType.Text objcmd.CommandText = ubah objcmd.ExecuteNonQuery() objcmd.Dispose() DataGridView.Refresh() DataGridView.RefreshEdit() BtnTampil.PerformClick() End Sub Private Sub BtnTampil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTampil.Click sambungMYSQL() da = New Odbc.OdbcDataAdapter("select * from " & Tabletxt.Text, conn) ds = New DataSet ds.Clear() da.Fill(ds, Tabletxt.Text) DataGridView.DataSource = (ds.Tables(Tabletxt.Text)) Primary.Text = DataGridView.Columns(0).HeaderText End Sub Private Sub DataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView.CellClick On Error Resume Next PesanAsli.Text = DataGridView.SelectedCells(0).Value Rahasia2txt.Text = DataGridView.SelectedCells(0).ColumnIndex Dim af As Integer af = Val(Rahasia2txt.Text) Fieldtxt.Text = DataGridView.Columns(af).HeaderText If Fieldtxt.Text = Idtxt.Text Then Rahasia1txt.Text = DataGridView.SelectedCells(0).Value End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label13.Visible = True Label8.Visible = True ListView1.Visible = True ListView2.Visible = True Pesantxt.Clear() TextBox9.Clear() TextBox5.Clear() TextBox6.Clear() ListView1.Clear() ListView2.Clear() Timer1.Enabled = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Label15.Visible = True Label14.Visible = True ListView3.Visible = True ListView4.Visible = True Pesantxt.Clear() TextBox7.Clear() TextBox8.Clear() ListView3.Clear() ListView4.Clear() Timer2.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If Val(TextBox5.Text) <> 1 Then Dim a As Integer a = Val(TextBox5.Text) a = a + 1 TextBox5.Text = a Else TextBox5.Clear() Dim i As Integer i = Val(TextBox6.Text) i = i + 1 TextBox6.Text = i 'Gronsfeld Dim j, jum, nkata, nkunci, nkey, nenc, nk As Integer Dim skata, skey As String Dim splaint, spl As String splaint = "" spl = "" j = 0 skata = PesanAsli.Text jum = Len(skata) skey = Enkrip_Key.Text If j = Len(skey) Then j = 1 Else j = j + 1 End If nkata = Asc(Mid(skata, i, 1)) nkunci = Asc(Mid(skey, j, 1)) - 48 nkey = Asc(Mid(skey, j, 1)) nenc = ((nkata + nkunci) Mod 255) ListView1.Items.Add("Ascii " & nkata & " (" & Chr(nkata) & ")" & " Menjadi Karakter " & Chr(nenc)) spl = spl & Chr(nenc) nk = nenc nenc = ((nenc - nkey) Mod 255) ListView2.Items.Add("Ascii " & nk & " (" & Chr(nk) & ")" & " Menjadi Karakter " & Chr(nenc)) splaint = splaint & Chr(nenc) Pesantxt.Text = Pesantxt.Text & splaint TextBox9.Text = TextBox9.Text & splaint If i = jum Then TextBox1.Text = spl TextBox2.Text = Pesantxt.Text Call ubah() Timer1.Enabled = False End If End If End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick If Val(TextBox7.Text) <> 1 Then Dim a As Integer a = Val(TextBox7.Text) a = a + 1 TextBox7.Text = a Else TextBox7.Clear() Dim i As Integer i = Val(TextBox8.Text) i = i + 1 TextBox8.Text = i 'Metode Gronsfeld On Error Resume Next Dim j, jum, nkata, nkunci, nkey, nenc, nk As Integer Dim skata, skey, ada As String Dim splaint, spl As String splaint = "" spl = "" j = 0 skata = TextBox9.Text jum = Len(skata) skey = Dekrip_Key.Text If j = Len(skey) Then j = 1 Else j = j + 1 End If nkata = Asc(Mid(skata, i, 1)) nkunci = Asc(Mid(skey, j, 1)) - 48 nkey = Asc(Mid(skey, j, 1)) nenc = ((nkata + nkey) Mod 255) ListView3.Items.Add("Ascii " & nkata & " (" & Chr(nkata) & ")" & " Menjadi Karakter " & Chr(nenc)) spl = spl & Chr(nenc) nk = nenc nenc = ((nenc - nkunci) Mod 255) ListView4.Items.Add("Ascii " & nk & " (" & Chr(nk) & ")" & " Menjadi Karakter " & Chr(nenc)) splaint = splaint & Chr(nenc) Pesantxt.Text = Pesantxt.Text & splaint If i = jum Then TextBox3.Text = spl TextBox4.Text = Pesantxt.Text Call ubah() Timer2.Enabled = False End If End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class Form Menu Utama Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form3.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form1.Show() End Sub Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class