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
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
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 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. 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.
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…
i
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.
ii
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.
iii
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
iv
DAFTAR ISI
ABSTRAKKATA 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
I.3. 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
BAB II TINJAUAN PUSTAKA II.1. Aplikasi ... 9
II.1.1. Data ... 9
II.1.2. Keamanan ... 10
v
II.2. Sistem ... 11
II.2.1. Elemen Sistem ... 11
II.3 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
II.9. Unified Modeling Language (UML) ... 25
II.10. Entity Relationship Diagram ... 31
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
vi
III.5.1.1. Use Case Diagram ... 37
III.5.1.2 SequenceDiagram ... 38
III.5.1.3 ActivityDiagram Penyandian ... 39
III.6. Desain Sistem Secara Detail ... 40
III.6.1. Desain Input ... 40
III.6.2. Desain Output ... 41
BAB IV 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
BAB V KESIMPULAN DAN SARAN V.1. Kesimpulan ... 50
V.2. Saran ... 50
DAFTAR PUSTAKA LAMPIRAN
vii
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. SequenceDiagram Penyandian ... 39
Gambar III.4. Activity Diagram Penyandian ... 40
Gambar III.5. Rancangan Form Penyandian ... 41
Gambar III.6. Rancangan OutputForm Penyandian ... 42
Gambar IV.1. Tampilan Form Login ... 43
Gambar IV.2. Tampilan Form Penyandian ... 44
Gambar IV.3 Tampilan Form Penjelasan ... 45
viii
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) ... 31
Tabel III.1. Input Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher ... 33
Tabel III.2. Output Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher ... 34
ix
DAFTAR LAMPIRAN
Lampiran-1 Listing ProgramLampiran-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
BAB I
1
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
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 databaseMySQL?
3. Bagaimana menerapkan aplikasi penyandian data di dalam databaseMySQL
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. Mengatasi masalah penyandian isi database MySQL.
2. Penulis dapat lebih memahami penggunaan metode vernam cipher dan
gronsfeld cipher.
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.
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 Judul Hasil Penelitian 1. Azanuddin, 2013 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. 2. M. Sholeh Dan J.V. Hamokwarong, 2011 Aplikasi Kriptografi Dengan Metode Vernam Cipher Dan Metode Permutasi Biner
Aplikasi ini menggunakan dua metode enkripsi dan dekripsi agar lebih aman dan terjamin
kerahasiaan data. 3. Aman Julianto Pakpahan, 2013 Aplikasi Penyandian Data Dengan Menggunakan Algoritma Noekeon
Perangkat lunakyang dihasilkan diharapkan dapat menambah perbendaharaan aplikasi kriptografi 4. Fachrul Rozi Pratama, 2016 Pembelajaran Penyandian Data Di Dalam Database MySQL
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
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
9
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). Aplikasi-aplikasi 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).
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 aspek-aspek 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.
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.
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).
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
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
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).
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
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
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.
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 MySQLdatabase 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> )
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
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 untuk menunjukkan siapa melakukan apa.
(Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015) New Swimline
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
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
BAB III
32
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.
33
Tabel III.1. Input Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher
No. Teks Asli Kunci
1. Rozi 332
2. 123 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
Gambar III.1. Proses Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher
Mulai
Teks Asli
Input Teks Asli Dan Kunci
Teks Sandi
Teks Sandi Teks Sandi
Teks Asli Input Teks Sandi
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. Teks Asli Kunci Teks Sandi
1. Rozi 332 ZERt
2. 123 Oke 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
= 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
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.
Gambar III.2. Use Case Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld
Cipher III.5.1.2. SequenceDiagram
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 :
Aplikasi Pembelajaran Penyandian Data Di Dalam Database MySQL Menggunakan Metode Vernam Cipher Dan Gronsfeld Cipher
Enkrip Proses Pesan Asli Kunci Pesan Rahasia Penjualan Dekrip Proses Pesan Rahasia Kunci Pesan Asli Penjualan
39
Gambar III.3. SequenceDiagram Penyandian
User Sistem
Ya Tidak
Tulis Pesan Asli
Kunci Sukses Klik Enkrip Tidak Tulis Kunci Enkrip Pesan Ya Tidak
Input Pesan Sandi
Klik Dekrip Tulis Kunci Dekrip Pesan
Pesan Tersandikan
Kunci Sukses Pesan Asli Terbuka
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 :
Gambar III.4. Activity Diagram Penyandian Berhasil
Admin Form Penyandian Proses Hasil
Sandi Enkrip Dekrip Pesan Asli Sandi Pesan Rahasia
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 :
Gambar III.5. Rancangan Form Penyandian
Buka Database Primary Nama Database Nama Tabel Tampilkan Database Pesan Asli Kunci Enkrip Pesan Rahasia Kunci Dekrip
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:
Gambar III.6. Rancangan OutputForm Penyandian
Buka Database Primary Nama Database Nama Tabel ********** ***** ********** ********** ***** Tampilkan Database ***** ***** ***** ***** ***** ***** Pesan Asli ***** Kunci ***** Enkrip Pesan Rahasia ***** Kunci ***** Dekrip
BAB IV
43 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.
44
2. Tampilan Form Penyandian
Tampilan yang disajikan oleh sistem untuk menampilkan form penyandian dapat dilihat pada gambar IV.2.
3. Tampilan Form Penjelasan
Tampilan yang disajikan oleh sistem untuk menampilkan form Penjelasan dapat dilihat pada gambar IV.3.
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. Pembahasan
1. 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
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, teks nama database dan teks nama tabel di isi.
Sistem akan menampilkan isi tabel dari database sesuai dengan nama yang di isi ke dalam
datagridview
Valid
2 Form Penyandian, teks pesan asli dan teks kunci di isi kemudian klik enkrip Sistem menyandikan isi teks di dalam database dan gridview Valid
3 Form Penyandian, teks pesan rahasia dan teks kunci di isi kemudian klik dekrip
Sistem membuka teks yang tersandi di dalam database dan gridview
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
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.
BAB V
50
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.
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