Perancangan Dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem Keamanan Pembelian Dan Penjualan Produk Pada PT. Nuga Agara Internasional

(1)

PERANCANGAN DAN IMPLEMENTASI ALGORITMA

ENKRIPSI ONE TIME PAD UNTUK SISTEM

KEAMANAN PEMBELIAN DAN

PENJUALAN PRODUK PADA

PT. NUGA AGARA

INTERNASIONAL

SKRIPSI

ALEX CHANDRA HUTAURUK

081421019

PROGRAM STUDI EKSTENSI ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2010


(2)

ENKRIPSI ONE TIME PAD UNTUK SISTEM KEAMANAN PEMBELIAN DAN

PENJUALAN PRODUK PADA PT. NUGA AGARA

INTERNASIONAL

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

ALEX CHANDRA HUTAURUK 081421019

PROGRAM STUDI EKSTENSI ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(3)

Judul PERANCANGAN DAN IMPLEMENTASI ALGORITMA ENKRIPSI ONE TIME PAD UNTUK SISTEM KEAMANAN PEMBELIAN DAN PENJUALAN PRODUK PADA PT. NUGA AGARA INTERNASIONAL

Kategori SKRIPSI

Nama ALEX CHANDRA HUTAURUK

Nomor Induk Mahasiswa 081421019

Program Studi SARJANA (S1) ILMU KOMPUTER

Departemen ILMU KOMPUTER

Fakultas MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Juli 2010

Komisi Pembimbing

Pembimbing 2 Pembimbing 1

Maya Silvi Lydia, B.Sc., M.Sc Syahril Efendi, S.Si, M.IT

NIP. 132 229 349 NIP. 132 148 612

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003


(4)

PERNYATAAN

PERANCANGAN DAN IMPLEMENTASI ALGORITMA ENKRIPSI ONE TIME PAD UNTUK SISTEM

KEAMANAN PEMBELIAN DAN PENJUALAN PRODUK PADA

PT. NUGA AGARA INTERNASIONAL

SKRIPSI

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

Medan, Juli 2010

ALEX CHANDRA HUTAURUK 081421019


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa dengan limpah dan karunia-Nya, kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih saya sampaikan kepada bapak Syahril Efendi, S.Si, M.IT sebagai Dosen Pembimbing I dan ibu Maya Silvi Lydia, B.Sc., M.Sc sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan tugas ini. Selanjutnya kepada Dosen Penguji Bapak Prof. Dr. Muhammad Zarlis dan Bapak Drs. Agus Salim Harahap, M.Si atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si,MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.

Skripsi ini terutama saya persembahkan untuk kedua orang tua dan keluarga saya yang telah memberikan dukungan dan motivasi, ayahanda Jimmer Hutauruk dan ibunda Marlin Panjaitan yang selalu sabar dalam mendidik saya. Untuk kedua adik saya, Nova Andriani Hutauruk dan Sry Yanthi Hutauruk. Untuk Neli Kristina Sipayung yang selalu memberikan motivasi dan dorongan dalam menyelesaikan skripsi ini. Kepada Bapak Elo Hansen Panjaitan dan Bapak Choko Parulian Situmeang yang telah membantu saya dalam menyelesaikan penelitian dalam menganalisis selama menyelesaikan skripsi ini. Kepada teman-teman terbaik yang selalu memberikan dukungan, Andika, Truman, Mangatur, Jernita, Novita dan lain-lain yang tidak dapat saya sebutkan namanya satu per satu. Untuk teman-teman sekelas dan satu angkatan yang sedang berjuang tanpa patah semangat dan tiada putus harapan. Terima kasih kepada semua pihak-pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, saran, dan kerja sama yang baik.

Saya menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.


(6)

ABSTRAK

Masalah keamanan komputer dan kerahasiaan data merupakan sesuatu yang sangat penting dalam era informasi ini. Kerahasiaan data adalah hal yang penting dalam keamanan data. Ada beberapa algoritma enkripsi yang biasa digunakan seperti DES, Triple DES, Blowfish, IDEA, One Time Pad dan sebagainya. Algoritma-algoritma tersebut begitu rumit dan sulit dimengerti dengan dalih ‘faktor keamanan’, katanya semakin sulit suatu algoritma dimengerti, maka semakin aman. Namun bagi para pengguna mereka tidak memikirkan seberapa sulit algoritmanya, yang penting data mereka aman. Untuk proteksi data yang cukup penting tidak ada jalan lain selain menggunakan metode pengamanan data atau disebut juga teknik kriptografi. Secara umum, teknik kriptografi digunakan untuk melakukan penyandian data dan autentikasi data. Untuk itu, saya menggunakan metode enkripsi One Time Pad untuk sistem keamanan pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional.


(7)

DESIGN AND IMPLEMENTATION OF ONE TIME PAD ENCRYPTION ALGORITHM SECURITY SYSTEM FOR THE BUYING AND

SELLING PRODUCTS IN PT. NUGA AGARA INTERNATIONAL

ABSTRACT

The problem of computer security and data privacy, something very important in this information era. Confidentiality of data is very important in data security. There are some commonly used encryption algorithms like DES, Triple DES, Blowfish, IDEA, One Time Pad, etc. The algorithms are very complicated and difficult to understand, on the pretext of "safety factor '", they said the more difficult one to understand the more secure algorithm. However, for those users they do not think about how difficult algorithms, which are important data safe. For the protection of important data that there is no other way besides using a method known as data security or cryptography techniques. In General, cryptographic techniques used to perform data encryption and authentication data. To do this, use an encryption method one time Pad for security in information system product sales and the purchase in PT. Nuga Agara Internasional.


(8)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak iv

Abstract v

Daftar Isi vi

Daftar Tabel viii

Daftar Gambar ix

Bab 1 Pendahuluan

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.8 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Data dan Informasi 7

2.1.1 Siklus Informasi 7

2.2 Keamanan Data 9

2.3 Kriptografi 10

2.3.1 Jenis-Jenis Kriptografi 11

2.3.1.1 Algoritma Simetri 12

2.3.1.2 Algoritma Asimetri 14

2.3.1.3 Hash Function 16

2.3.2 Kriptanalisis 16

2.3.3 Jenis-Jenis Serangan Terhadap Kriptografi 17

2.4 Prinsip Penyandian Shannon 19

2.5 One Time Pad 20

Bab 3 Analisis dan Pemodelan Perangkat Lunak

3.1 Analisis masalah 24

3.1.1 Pengenalan masalah 25

3.2 Analisis Kerahasiaan 25

3.3 Desain Sistem 26

3.3.1 Analisis Kebutuhan Sistem 26

3.3.2 Diagram Aliran Data 27

3.3.2.1 Data Flow Diagram (DFD) 27

3.4 Rancangan Database 30

3.4.1 Struktur Tabel 30

3.4.2 Struktur Relasi Antar Tabel 35


(9)

Bab 4 Perancangan dan Implementasi

4.1 Perancangan Antarmuka 39

4.2 Implementasi 49

4.3 Pengujian 49

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 55

5.2 Saran 55

Daftar Pustaka 57

Lampiran 58


(10)

DAFTAR TABEL

Halaman

Tabel 3.1 Supplier 30

Tabel 3.2 Customer 30

Tabel 3.3 Login 31

Tabel 3.4 Satuan 31

Tabel 3.5 Kriteria 31

Tabel 3.6 Setup 32

Tabel 3.7 Barang 32

Tabel 3.8 Pembelian 33

Tabel 3.9 Pembeliandt 33

Tabel 3.10 Penjualan 33

Tabel 3.11 Penjualandt 34


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Siklus Informasi 8

Gambar 2.2 Proses Enkripsi/ Dekripsi Sederhana 15

Gambar 3.1 Data Flow Diagram (DFD) Level Top (Contex) 27

Gambar 3.2 Data Flow Diagram (DFD) Level 1 28

Gambar 3.3 Data Flow Diagram (DFD) Level 2 Untuk Enkripsi 29

Gambar 3.4 Data Flow Diagram (DFD) Level 2 Untuk Dekripsi 29

Gambar 3.5 Data Flow Diagram (DFD) Level 2 Untuk Proses Transaksi 29

Gambar 3.6 Struktur Relasi Antar Tabel 35

Gambar 3.7 View Supplier 36

Gambar 3.8 View Customer 36

Gambar 3.9 View Satuan 36

Gambar 3.10 View Kriteria 37

Gambar 3.11 View Barang 37

Gambar 3.12 View Pembelian 38

Gambar 3.13 View Penjualan 38

Gambar 4.1 Perancangan Tampilan Daftar Menu Sistem Informasi 40

Gambar 4.2 Form Supplier 41

Gambar 4.3 Form Customer 42

Gambar 4.4 Form User 42

Gambar 4.5 Form Satuan 43

Gambar 4.6 Form Kriteria 43

Gambar 4.7 Form Setup Parameter 44

Gambar 4.8 Form Enkripsi dan Dekripsi 44

Gambar 4.9 Form Barang 45

Gambar 4.10 Form Pembelian 45

Gambar 4.11 Form Rincian Pembelian 46

Gambar 4.12 Form Penjualan 46

Gambar 4.13 Form Rincian Penjualan 47

Gambar 4.14 Form Laporan Data Master 47

Gambar 4.15 Form Laporan Data Transaksi 48

Gambar 4.16 Form Transfer 48

Gambar 4.17 Form About 48

Gambar 4.18 Flowchart Proses Enkripsi 53


(12)

ABSTRAK

Masalah keamanan komputer dan kerahasiaan data merupakan sesuatu yang sangat penting dalam era informasi ini. Kerahasiaan data adalah hal yang penting dalam keamanan data. Ada beberapa algoritma enkripsi yang biasa digunakan seperti DES, Triple DES, Blowfish, IDEA, One Time Pad dan sebagainya. Algoritma-algoritma tersebut begitu rumit dan sulit dimengerti dengan dalih ‘faktor keamanan’, katanya semakin sulit suatu algoritma dimengerti, maka semakin aman. Namun bagi para pengguna mereka tidak memikirkan seberapa sulit algoritmanya, yang penting data mereka aman. Untuk proteksi data yang cukup penting tidak ada jalan lain selain menggunakan metode pengamanan data atau disebut juga teknik kriptografi. Secara umum, teknik kriptografi digunakan untuk melakukan penyandian data dan autentikasi data. Untuk itu, saya menggunakan metode enkripsi One Time Pad untuk sistem keamanan pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional.


(13)

DESIGN AND IMPLEMENTATION OF ONE TIME PAD ENCRYPTION ALGORITHM SECURITY SYSTEM FOR THE BUYING AND

SELLING PRODUCTS IN PT. NUGA AGARA INTERNATIONAL

ABSTRACT

The problem of computer security and data privacy, something very important in this information era. Confidentiality of data is very important in data security. There are some commonly used encryption algorithms like DES, Triple DES, Blowfish, IDEA, One Time Pad, etc. The algorithms are very complicated and difficult to understand, on the pretext of "safety factor '", they said the more difficult one to understand the more secure algorithm. However, for those users they do not think about how difficult algorithms, which are important data safe. For the protection of important data that there is no other way besides using a method known as data security or cryptography techniques. In General, cryptographic techniques used to perform data encryption and authentication data. To do this, use an encryption method one time Pad for security in information system product sales and the purchase in PT. Nuga Agara Internasional.


(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Suatu instansi atau organisasi sangat membutuhkan keamanan infrastruktur teknologi informasi yang baik untuk melindungi aset-asetnya terutama informasi-informasi dan data-data yang penting dan sensitif. Sehingga saat ini dibutuhkan sistem keamanan yang lebih kompleks dengan kesanggupan untuk mengikuti perkembangan yang ada agar dapat melindungi sistem dari berbagai ancaman yang mungkin timbul.

PT. Nuga Agara Internasional merupakan Perseroan Terbatas yang bergerak dibidang Telematika (Jasa Konsultansi Non Konstruksi) yaitu Perangkat Keras Komputer, Aplikasi/Perangkat Lunak dan sub bidang telematika lainnya. Untuk bidang Aplikasi/Perangkat Lunak (Teknologi Informasi) PT. Nuga Agara Internasional memfokuskan diri pada Sistem Informasi Keuangan Pemerintahan Daerah berorientasi pada pengembangan sumber daya bidang aplikasi komputer yang bertujuan untuk memudahkan segala pekerjaan bidang keuangan pemerintahan dalam rangka peningkatan kinerja pemerintahan daerah dalam percepatan hasil laporan, efisiensi waktu dan hasil kerja yang baik. PT. Nuga Agara Internasional berdiri pada tanggal 24 Februari 2007 berdasarkan Akta Notaris No. 47 Tahun 2007 yang dibuat Oleh Notaris dan Pejabat Pembuat Akta Tanah Fatma Devi, SH.

Dari awal pendirian, perusahaan ini mulai merintis Pembangunan Sistem Informasi Pengelolaan Keuangan Bendahara penerimaan Kota Bukittinggi, Pembangunan Sistem Informasi Pengelolaan Keuangan PPK SKPD Bukittinggi dan Pembangunan Sistem Informasi Keuangan SKPD di Kota Binjai. Hasil yang dicapai dari pembangunan beberapa Sistem Informasi Keuangan ini direspon sangat baik oleh pengguna jasa, ditambah dengan keinginan mereka untuk melanjutkan penggunaan sistem yang sudah dibangun. Di akhir tahun 2008 perusahaan ini mendapat


(15)

kepercayaan dari Pemerintah Kota Bukittinggi untuk melakukan pembangunan Sistem Informasi Pelayanan Terpadu Satu Pintu Pemerintah Kota Bukittinggi, kemudian di awal tahun 2009 perusahaan ini mendapat kepercayaan kembali untuk melakukan pemeliharaan aplikasi Sistem Informasi bendahara penerimaan, Sistem Informasi Bendahara Pengeluaran dan Sistem Informasi Pejabat Penatausahaan Keungan (PPK) SKPD di Kota Binjai sesuai peraturan Menteri Dalam Negeri No. 13 Tahun 2006.

Salah satu cara yang digunakan untuk menjamin keamanan dari infrastruktur teknologi adalah dengan menjamin keamanan komunikasi. Komunikasi yang aman dimaksudkan untuk melindungi data ataupun informasi ketika dikirimkan atau ditransmisikan kepada pihak lain, sehingga data atau informasi yang ditransmisikan itu tidak dapat disadap, dimanipulasi ataupun dirusak oleh pihak-pihak yang tidak bertanggung jawab. Salah satu cara untuk mengamankan komunikasi adalah dengan menerapkan teknik penyandian/ kriptografi.

Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) dengan cara menyamarkannya menjadi bentuk tersandi yang tidak mempunyai makna. Pesan yang dirahasiakan dalam kriptografi disebut plaintext (plaintext) dan hasil penyamaran disebut chipertext (ciphertext ). Proses penyamaran dari plaintext ke chipertext disebut enkripsi (dari kata encryption) dan proses pembalikan dari chipertext menjadi plaintext kembali disebut dekripsi (decryption). Baik proses enkripsi maupun proses dekripsi melibatkan satu atau beberapa kunci kriptografi. Dalam suatu sistem di mana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, chipertext dan kunci-kuncinya disebut kriptosistem (cryptosistem atau cryptographic sistem).

Kriptografi sesungguhnya merupakan studi terhadap teknik matematis yang terkait dengan aspek keamanan suatu sistem informasi, antara lain seperti kerahasiaan (confidentiality), integritas data (data integrity), otentikasi (authentication), dan pembuktian yang tak tersangkal (non-repudiation). Keempat aspek tersebut merupakan tujuan fundamental dari suatu sistem kriptografi.

Salah satu aspek keamanan yang perlu dijamin dalam suatu dokumen, baik konvensional maupun digital, adalah kerahasiaannya (confidentiality). Kerahasiaan


(16)

adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat diakses oleh pihak-pihak yang berhak saja.

Kebutuhan untuk menjaga aspek keamanan dari dokumen elektronis semakin penting terutama karena semakin mudahnya distribusi dokumen elektronis. Teknik kriptografi dapat dimanfaatkan untuk menjamin aspek keamanan dokumen elektronis. Salah satu teknik kriptografi yang dapat dimanfaatkan adalah enkripsi dan dekripsi

data atau dengan kata lain menyandikan data sehingga hanya orang yang

bersangkutan saja yang dapat mengetahui isi data tersebut.

Algoritma One Time Pad merupakan algoritma sederhana dan unbreakable yang sampai saat ini dinyatakan aman karena masih belum ada serangan kriptanalisis yang benar – benar dapat mematahkan algoritma ini. Oleh sebab itu, maka penulis berusaha memanfaatkan algoritma ini untuk dapa digunakan pada suatu sistem informasi terutama pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional.

1.2 Rumusan Masalah

Bagaimana implementasi Algoritma One Time Pad pada sistem keamanan pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional berdasarkan: karakteristik kunci, karakteristik penyandian plaintext terhadap chipertext dan karakteristik pembalikan dari ciphertext menjadi plaintext.

1.3 Batasan Masalah

Supaya pembahasan masalah lebih mendalam dan terperinci, maka pembahasan masalah dibatasi menjadi:

1. Analisis pada algoritma One Time Pad dilakukan berfokus pada aspek


(17)

2. Penggunaan metode Padding sehingga panjang kunci dan panjang pesan yang akan dienkripsi sama;

3. Cara pengoperasian (Operation Mode) yang digunakan adalah Electronic Code

Book (ECB).

1.4 Tujuan Penelitian

Membangun suatu program aplikasi yang dapat memberikan layanan kerahasiaan/ keamanan data menggunanakan algoritma One Time Pad.

1.5 Manfaat Penelitian

Manfaat penelitian yang hendak dicapai adalah program aplikasi yang dibuat dapat digunakan sebagai salah satu alternatif metode pengamanan informasi sehingga informasi yang ada pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional dapat terjaga kerahasiaannya.

1.6 Metodologi Penelitian

Penelitian dilakukan dengan tahapan metode sebagai berikut : 1. Studi literatur dan pemahaman sistem

Studi literatur dilakukan dengan pengumpulan bahan yang berkenaan dengan teknik enkripsi maupun dekripsi data dan perancangan program aplikasi One Time Pad yang realisasinya dalam bentuk sebuah interface form-form aplikasi.

2. Analisis dan perancangan.

Analisis dilakukan dengan pengamatan pada teknik dan proses enkripsi plaintext menjadi ciphertext maupun pada proses dekripsi ciphertext menjadi plaintext. 3. Pengkodean.


(18)

Pengkodean dilakukan dengan pembuatan program aplikasi untuk melakukan proses enkripsi maupun dekripsi. Dalam hal ini analis menggunakan aplikasi program Microsoft Visual Basic 6.0 dengan database server berupa SQL Server 2000.

4. Implementasi.

Implementasi dilakukan dengan menampilkan program aplikasi enkripsi dan

dekripsi pesan/ data pada perangkat lunak yang dibangun.

5. Pengujian.

Pengujian dilakukan dengan menampilkan progam aplikasi enkripsi dan dekripsi pesan/ data yang akan dihubungkan dengan database program aplikasi sistem informasi.

6. Penyusunan Laporan.

Penyusunan laporan dilakukan setelah aplikasi program enkripsi dan dekripsi pesan/ data terhubung ke database program aplikasi sistem informasi.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:

BAB 1 : PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Perancangan dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem Keamanan Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional”, perumusan masalah, pembatasan masalah, tujuan penelitian, manfaat penelitian, metodologi, dan sistematika penulisan.


(19)

Bab ini akan membahas teori-teori yang berkaitan dengan kriptografi, karakteristik kunci, metode proses enkripsi maupun proses dekripsi, serta informasi tambahan yang berhubungan dengan aplikasi kriptografi.

.

BAB 3 : ANALISIS DAN PEMODELAN PERANGKAT LUNAK

Berisikan hasil analisis perancangan interface aplikasi program, analisis kerahasiaan pesan/ data berdasarkan karakteristik penyandian plaintext terhadap chipertext dan karakteristik pembalikan dari ciphertext menjadi plaintext.

BAB 4 : PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK Berisikan gambaran rancangan struktur program dan disain interface, serta memberikan gambaran dari rancang bangun yang lengkap kepada user dan pemakai komputer yang lain, serta implementasinya, yaitu: menguji untuk menemukan kesalahan.

BAB 5 : KESIMPULAN DAN SARAN

Bab terakhir ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.


(20)

BAB 2

LANDASAN TEORI

2.1 Data dan Informasi

Data dapat didefenisikan sebagai kenyataan yang digambarkan oleh nilai-nilai bilangan-bilangan, untaian karakter atau simbol-simbol yang membawa arti tertentu. Dalam perusahaan, data tersebut identik dengan perubahan nilai atau sering disebut dengan istilah “Transaksi”. Informasi sendiri dapat didefenisikan sebagai hasil dari pengolahan data dalam bentuk yang lebih berguna bagi penerimanya, yang digunakan sebagai alat bantu dalam pengambilan keputusan.

2.1.1 Siklus Informasi

Pengolahan data sehingga menjadi suatu informasi dapat digambarkan sebagai sebuah siklus yang saling berhubungan dan berkesinambungan seperti terlihat pada Gambar 2.1.

Data diproses sehingga menghasilkan informasi, pada perkembangan selanjutnya, informasi sebagai hasil dari pengolahan data tersebut akan digunakan manusia untuk membantu pengambilan keputusan. Dari keputusan tersebut akan diteruskan dengan suatu tindakan sebagai follow up-nya. Dengan tindakan tersebut, diperoleh suatu hasil yang nantinya akan dianggap sebagai sebuah data input untuk tahap pengolahan berikutnya.


(21)

Gambar 2.1 Siklus Informasi

Pengolahan data menjadi informasi itu merupakan suatu siklus yang terdiri dari tahap-tahap sebagai berikut:

1. Pengumpulan data, pada tahap ini dilakukan suatu proses pengumpulan data yang asli dengan cara tertentu, seperti sampling, data transaksi, data warehouse, dan lain sebagainya yang bisaanya merupakan proses pencatatan data ke dalam suatu file. 2. Input, tahap ini merupakan proses pemasukan data dan prosedur pengolahan data

ke dalam komputer melalui alat input seperti keyboard. Prosedur pengolahan data itu merupakan urutan langkah untuk mengolah data yang ditulis dalam suatu bahasa pemograman yang disebut program.

3. Pengolahan data, tahap ini merupakan tahap dimana data diperoleh sesuai dengan prosedur yang telah dimasukkan. Kegiatan pengolahan data ini meliputi pengumpulan data, klasifikasi (pengelompokan), kalkulasi, pengurutan, penggabungan, peringkasan baik dalam bentuk tabel maupun grafik, penyimpanan dan pembacaan data dari tempat penyimpanan data.

4. Output, hasil pengolahan data akan ditampilkan pada alat output seperti monitor dan printer sebagai informasi.

Proses

Informasi

Keputusan

Tindakan


(22)

5. Distribusi, setelah proses pengolahan data dilakukan, maka informasi yang dihasilkan harus segera didistribusikan. Proses pendistribusian ini tidak boleh terlambat dan harus diberikan kepada yang berkepentingan, sebab hasil pengolahan tersebut akan menjadi bahan pertimbangan dalam pengambilan keputusan atau menjadi data dalam pengolahan selanjutnya.

2.2 Keamanan Data

Keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan pengelola sistem informasi. Masalah kemanan 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 keamananan nasional terhadap serangan teroris, keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan penyelusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak situasi berhubungan lainnya (Kristianto, 2003). Host/ komputer yang terhubung ke

network, mempunyai ancaman keamanan lebih besar dari pada host yang tidak

terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi.

Kebutuhan keamanan untuk sebuah sistem komputer berbeda – beda bergantung kepada aplikasi – aplikasi yang dikandungnya, antara lain sistem transfer keuangan elektronik, akan berbeda kebutuhannya dengan sistem reservasi atau sistem–sistem kontrol lainnya. Pada saat ini data storage merupakan suatu komponen utama yang sangat vital, dimana data storage sangat penting nilainya jika didalamnya disimpan file atau data yang sifatnya sangat penting dan rahasia.

Oleh karena jaringan komputer yang bersifat multiuser, maka dibutuhkan suatu metode pengamanan tersendiri. Pada saat ini banyak bentuk ancaman dan


(23)

penyerangan terhadap jaringan komputer itu sendiri, termasuk salah satunya adalah ancaman dan penyerangan terhadap data yang terdapat pada alat penyimpanan data itu sendiri.

2.3 Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain (Ariyus, 2008).

Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi.

Merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks-asli ke bentuk teks-kode kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini.

2. Dekripsi.

Merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk dekripsi.


(24)

3. Kunci.

Yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

2.3.1. Jenis-Jenis Kriptografi

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya: 1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripsinya), 2. Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan

dekripsi), 3. Hash Function.

2.3.1.1. Algoritma Simetri.

Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut, termasuk pihak-pihak yang tidak diinginkan, dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan. Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard) dan RC-4.

Dua kategori yang termasuk pada algoritma simetris ini adalah algoritma block

cipher dan stream cipher. a. Block Cipher

Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode operasi enkripsi block cipher:


(25)

1. Data Enkripsi Standard ( DES )

Algoritma enkripsi yang paling banyak digunakan di dunia adalah DES yang telah diadopsi oleh NIST (Nasional Institude of Standard and Tecnology) sebagai standart pengolahan informasi Federal AS. Data dienkrip dalam block-block 64 bit menggunakan kunci 56 bit. Algoritma DES berasal dari algoritma Lucifer buatan IBM. Algoritma ini ditawarkan kepada NIST dan menjadi DES tahun 1977. Akan tetapi terdapat dua masalah besar pada algoritma ini. Pertama, kunci yang hanya 56 bit, sehingga sangat rawan terhadap serangan brute force. Kedua, desain struktur internal DES dimana bagian subsitusinya (S-box) masih dirahasiakan.

2. AES ( Advanced Encrytion Standard )

Sekitar tahun1990-an ketika semakin banyak komputer yang dapat menembus kunci DES yang disebabkan terlalu pendeknya panjang kunci. Dalam kriptografi modern, panjang kunci dalam ukuran jumlah bit yang digunakan, merupakan salah satu faktor yang sangat penting. Hal ini dikarenakan penggunaan komputer yang sangat intensif dalam dunia kriptografi. Untuk itu NIST mengadakan sebuah kontes untuk mencari sebuah algoritma standart baru untuk menggantikan DES. Pada bulan oktober 2000, Rijndael dipilih menjadi pemenang kontes AES. Algoritma Rijndael dipilih bukan karena yang paling aman, melainkan karena keseimbangan antara keamanan dan fleksibilitas dalam berbagai platform software dan hardware. Algoritma menyingkirkan saingan terdekatnya yaitu algoritma RC6 buatan RSA.

3. Blowfish

Blowfish merupakan block cipher 64-bit dengan panjang kunci variabel. Algoritma ini terdiri dari dua bagian: key expansion dan enkripsi data. Key expansion merubah kunci yang dapat mencapai 448 bit menjadi beberapa array subkunci (subkey) dengan total 4168 byte. Enkripsi data terdiri dari iterasi fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci dan data kunci-dependent. Semua operasi adalah penambahan XOR pada variable 32-bit. Tambahan operasi lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran. Blowfish menggunakan subkunci yang besar. Kunci ini harus dihitung sebelum enkripsi atau dekripsi data.


(26)

b. Stream Chipher

Stream cipher ( Cipher aliran ) adalah cipher yang berasal dari hasil XOR antara bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap attack pembalikan bit. Beberapa model algoritma stream cipher antara lain :

1. One Time Pad ( OTP )

Dalam OTP terdapat teknik enkripsi yang sempurna. Ditemukan oleh Mayor J Maugborne dan G Verman tahun 1917. Setiap kunci hanya digunakan untuk sekali pesan. Teknik ini dikatakan sempurna karena kunci yang acak dan hanya digunakan sekali. One Time Pad (pad = kertas bloknot) adalah kertas yang berisi deretan karakter-karakter kunci yang berisi huruf-huruf yang tersusun acak. Satu pad hanya digunakan sekali (one time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain.

2. Rivest Code 4 (RC 4)

RC4 merupakan salah satu algoritma kunci simetris yang berbentuk stream cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data pada umumnya sebuah byte atau kadang-kadang bit. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkripsi. Algoritma ini ditemukan pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA. RC4 merupakan enkripsi stream simetrik proprietary yang dibuat oleh RSA Data Security Inc (RSADSI). Penyebarannya diawali dari sebuah source code yang diyakini sebagai RC4 dan dipublikasikan secara 'anonymously' pada tahun 1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi RC4 pada produk resmi. RC4 digunakan secara luas pada beberapa aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkan/membongkarnya. RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas (trade secret). Algoritma RC4 bekerja pada dua tahap, menyetem susunan (key setup) dan pengkodean (ciphering). Kunci susunan merupakan hal yang lebih awal dan merupakan tahap yang paling sulit dari algoritma ini. Selama menyetem susunan suatu N-bit ( N menjadi panjangnya kunci), kunci enkripsi digunakan


(27)

untuk menghasilkan suatu variabel enkripsi yang menggunakan dua arrays, state dan kunci, dan jumlah N dari operasi pencampuran. Operasi pencampuran terdiri dari menukar bytes, modulo operasi, dan rumusan lain. Suatu modulo operasi adalah proses sisa dari suatu hasil divisi. Sebagai contoh, 11/4 adalah 2 sisa 3; oleh karena itu 11 mod 4 sama dengan 3. Sekali variabel enkripsi dihasilkan dari key setup, langkah selanjutnya adalah masuk ke fase ciphering di mana dalam proses ini hasilnya akan diXORkan dengan plaintext. Sekali penerima mendapat pesan yang dienkripsi, langkah selanjutnya adalah mendekripsinya dengan XOR pesan yang dienkripsi dengan menggunakan variabel yang sama. (Ariyus, 2008)

2.3.1.2. Algoritma Asimetri.

Algoritma asimetri sering juga disebut dengan algoritma kunci publik, dengan arti kata kunci yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu:

1. Kunci umum (public key): kunci yang boleh diketahui semua orang

(dipublikasikan).

2. Kunci rahasia (private key): kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang saja).

Kunci –kunci tersebut berhubungan satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Bob mengirim pesan ke Alice menggunakan algoritma asimetri. Hal yang harus dilakukan adalah:

1. Bob memberitahukan kunci publiknya ke Alice.

2. Alice mengenkripsi pesan dengan menggunakan kunci public Bob. 3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice.


(28)

Gambar 2.2 Proses Enkripsi/ Dekripsi sederhana

Algoritma yang memakai kunci publik diantaranya adalah: 1. Digital Signature Algorithm (DSA).

DSA mempunyai perhitungan yang sulit karena pemisahan algoritma dan berorientasi pada algoritma ElGamal dan Schnorr. Kunci publik berisi tiga parameter p, q dan g, untuk semua grup dari user. Memilih q sebagai bilangan prima 160 bit dan menyeleksi bilangan prima p dengan 512 < p < 1024 bit seperti q adalah factor dari bilangan prima p-1. Kemudian memilih q > 1 menjadi bentuk h_(p-1)/q (mod p), seperti h_ adalah integer antara 1 dan p-1.

Dengan tiga bilangan tersebut, pengguna memilih kunci rhasia x antara 1 < x < q-1 dan kunci umum y adalah perhitungan dari x sama dengan y ≡ gx (mod p). Memanggil kembali penanda x adalah suatu hal yang tidak mungkin karena algoritma yang terpisah dari y untuk basis g (mod p) sulit untuk dihitung.

2. RSA

RSA tidak pernah dibuktikan aman tidaknya, hanya karena sulitnya pemfaktoran bilangan yang sangat besar, maka RSA dianggap aman. Dalam pembangkitan kedua kunci, digunakan dua bilangan prima acak yang sangat besar

3. Diffie-Hellman ( DH )

Diffie Helman dianggap merupakan algoritma asimetrik yang pertama kali ditemukan pada tahun 1976, meskipun NSA telah mengaku menemukan algoritma asimetrik jauh-jauh hari sebelumnya. Algoritma ini memperoleh keamanannya dari sulitnya menghitung logaritma diskrit pada bilangan yang amat besar. Akan tetapi algoritma ini hanya dapat digunakan untuk pertukaran kunci (simetris) dan tidak dapat digunakan untuk enkripsi/dekripsi maupun untuk tanda tangan digital.


(29)

2.3.1.3. Hash Function

Fungsi HASH adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengonversinya menjadi string keluaran yang panjangnya tetap (fixed), yang umumnya berukuran jauh lebih kecil dari pada ukuran semula. Fungsi Hash satu arah (one-way hash function) berfungsi sebagai:

1. Sidik jari (fingerprint): membuat sidik jari dari suatu dokumen atau pesan M yang

mana sidik jari merupakan suatu identitas dari si pengirim pesan.

2. Funsi kompresi: dokumen D (yang besarnya dapat bervariasi) yang akan di-hash

disebut pre-image, sedangkan keluarannya yang memiliki ukuran tetap dalam bentuk aslinya dan pada dasarnya masukan lebih besar dari pada keluaran, seolah-olah mengalami kompresi, namun hasil dari kompresi tidak bisa dikembalikan ke bentuk awalnya, yang oleh karenanya dinamakan satu arah.

3. Message digest: dianggap intisari dari suatu dokumen, padahal tidak demikian

karena intisari dokumen merupakan ringkasan dokumen yang dapat dipahami maknanya. Message digest tidak demikian, karena dengan sidik jari orang lain tidak mengerti asli dari dokumen tersebut.

Fungsi HASH satu arah dirancang dengan kompleksitas yang tinggi, sehingga apabila terjadi perubahan satu bit saja, maka dapat mengubah nilai dari HASH yang dihasilkan. Untuk HASH yang modern menghasilkan panjang 128 bit atau lebih. Fungsi HASH ini banyak digunakan pada proses digital signitureuntuk data integrity. Salah satu kegunaan Fungsi HASH yaitu untuk MAC (Message Authentication Code) dan HMAC yaitu kode yang dihasilkan oleh fungsi HASH untuk sebuah pesan atau data pada jaringan komputer. (Ariyus, 2008)

2.3.2. Kriptanalisis

Kriptanalisis bertujuan untuk memecahkan chipertext menjadi plaintext semula tanpa memiliki akses ke kunci yang digunakan. Kriptanalis berusaha menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plaintext.


(30)

Dalam membahas serangan terhadap kriptografi, diasumsikan bahwa kriptanalis mengetahui algoritma kriptografi yang digunakan, sehingga satu-satunya keamanan sistem kriptografi terletak sepenuhnya pada kunci.

Dengan kata lain, kriptanalis mengetahui algoritma enkripsi dan dekripsi secara detil. Merahasiakan algoritma kriptografi bukanlah solusi yang praktis, sebab setiap kali algoritma berhasil diketahui lawan, maka kriptografer harus membuat algoritma baru. Dengan membuat algoritma menjadi public, maka cukup kunci saja yang dirahasiakan. Jika kunci berhasil dicuri, maka kunci baru dibangkitkan tanpa harus mengganti algoritmanya. Jadi tidak mengherankan kalau semua algoritma kriptografi telah dipublikasikan di berbagai jurnal dan buku-buku sehingga siapapun bisa mempelajarinya. Menurut Schneier, algoritma yang terbaik adalah algoritma yang telah dipublikasikan dan telah “diserang” oleh para kriptografer dan kriptanalis terbaik dunia dan hingga kini belum berhasil dipecahkan. Dengan mempublikasikan algoritma kriptografi, kriptografer memperoleh konsultasi gratis dari sejumlah kriptologis akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat mempublikasikan paper yang memperlihatkan kecerdasan mereka. Jika banyak pakar telah mencoba memecahkan algoritma selama 5 tahun setelah dipublikasikan dan tidak seorangpun berhasil, maka mungkin algoritma tersebut tangguh.

2.3.3. Jenis-Jenis Serangan Terhadap Kriptografi.

Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara: a. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas

dua macam, yaitu serangan aktif dan serangan pasif. 1. Serangan aktif.

Pada jenis serangan ini, penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian chipertext, mengubah

chipertext, menyisipkan potongan chipertext palsu, me-replay pesan lama,


(31)

2. Serangan pasif.

Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode penyadapan data antara lain:

a) Wiretapping; penyadap mencegat data yang ditransmisikan pada saluran

komunikasi dengan menggunakan sambungan perangkat keras.

b) Electromagnetic eavesdropping: penyadap mencegat data yang

ditransmisikan melalui saluran wireless, misalnya radio dan microwave. c) Acoustic eavesdropping: menangkap gelombang suara yang dihasilkan

oleh suara manusia.

b. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, dikelompokkan menjadi 5 jenis:

1. Chipertext-only attack.

Ini adalah jenis serangan yang paling umum namun paling sulit karena informasi yang tersedia hanyalah chipertext saja. Kriptanalis memiliki beberapa chipertext dari pesan, semuanya dienkripsi dengan algoritma yang sama. Tugas kriptanalis adalah menemukan plaintext sebanyak mungkin dari

chipertext tersebut atau menemukan kunci yang digunakan untuk mendekripsi.

2. Known-plaintext attack.

Ini adalah jenis serangan di mana kriptanalis memiliki pasangan plaintext dan

chipertext yang berkoresponden. Plaintext mungkin diperoleh dengan

mempelajari karakteristik pesan. Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plaintext dari chipertext yang bersesuaian.

3. Chosen-plaintext attack.

Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena kriptanalis dapat memilih plaintext yang dimilikinya untuk dienkripsikan, yaitu plaintext yang lebih mengarahkan penemuan kunci.


(32)

4. Chosen-ciphertext attack.

Ini adalah jenis serangan dimana kriptanalis memilih chipertext untuk didekripsikan dan memiliki akses ke plaintext hasil dekripsi (misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Jenis serangan ini bisaanya dipakai pada sistem kriptografi.

5. Chosen-text attack.

Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan

chosen-ciphertext attack.

c. Berdasarkan teknik yang digunakan dalam menemukan kunci, dibagi atas: 1. Exhaustive attack atau brute force attack.

Ini adalah serangan untuk mengungkap plaintext atau kunci dengan mencoba semua kemungkinan kunci. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Selain itu kriptanalis memiliki sejumlah chipertext dan/ atau plaintext yang bersesuaian.

2. Analytical attack.

Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka menemukan kunci. Secara statistik misalnya dengan menggunakan analisis frekuensi, sedangkan secara matematik dengan memecahkan persamaan-persamaan matematika (yang diperoleh dari defenisi suatu algoritma kriptografi) yang mengandung peubah-peubah yang merepresentasikan

plaintext atau kunci.

2.4 Prinsip Penyandian Shannon.

Pada tahun 1949, Shannon mengemukakan dua prinsip (properties) penyandian (encoding) data. Kedua prinsip ini dipakai dalam perancangan cipher blok yang kuat. Kedua prinsip Shannon tersebut adalah:


(33)

1. Confusion

Prinsip ini menyembunyikan hubungan apapun yang ada antara plaintext,

chipertext, dan kunci. Sebagai contoh, pada cipher substitusi seperti caesar cipher, hubungan antara chipertext dan plaintext mudah diketahui, karena satu

huruf yang sama pada plaintext diganti dengan satu huruf yang sama pada

chipertext-nya. Prinsip confusion akan membuat kriptanalis frustasi untuk mencari

pola-pola statistik yang muncul pada chipertext. Confusion yang bagus membuat hubungan statistik antara plaintext, chipertext, dan kunci menjadi sangat rumit. 2. Diffusion

Prinsip ini menyebarkan pengaruh satu bit plaintext atau kunci ke sebanyak mungkin chipertext. Sebagai contoh, pengubahan kecil pada plaintext sebanyak satu atau dua bit menghasilkan perubahan pada chipertext yang tidak dapat diprediksi. Prinsip diffusion juga menyembunyikan hubungan statistik antara

plaintext, chipertext, dan kunci dan membuat kriptanalisis menjadi sulit. Untuk

mendapatkan keamanan yang bagus, prinsip confusion dan diffusion diulang berkali-kali pada sebuah blok tunggal dengan kombinasi yang berbeda-beda.

2.5 One Time Pad

Suatu algoritma dikatakan aman, apabila belum ada tidak ada cara untuk menemukan

plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan

tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas.

Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah hal yang tak mungkin untuk mendekripsi chipertext tanpa mengetahui kuncinya. Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau bukan plaintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan untuk sekali pesan. Pengambilan kunci harus dilakukan secara acak supaya tidak dapat diterka lawan dan jumlah karakter kunci harus sebanyak jumlah karakter pesan.


(34)

Sebagai contoh: Sebuah pesan ”MEDAN” akan dienkripsi dengan kunci”XYZAC” dengan perhitungan sebagai berikut, maka akan diperoleh hasil enkripsi”KDDBI”

Pesan (plaintext) : 13(M) 5(E) 4(D) 1(A) 14(N)

Kunci : 24(X) 25(Y) 26(Z) 1(A) 3(C)

Pesan + kunci : 37 30 30 2 17

Pesan + kunci mod 26 : 11(K) 4(D) 4(D) 2(B) 17(I)

Untuk mendekripsinya, maka dilakukan proses kebalikannya, yaitu.

Ciphertext : 11(K) 4(D) 4(D) 2(B) 17(I)

Kunci : 24(X) 25(Y) 26(Z) 1(A) 3(C)

Ciphertext - kunci : -13 -21 -22 1 14

Ciphertext - kunci mod 26 : 13(M) 5(E) 4(D) 1(A) 14(N)

Ketika ada pihak lain yang ingin mencoba mendekripsi ciphertext tersebut, tanpa mengetahui kuncinya, maka dapat diperoleh plaintext yang berbeda dari yang seharusnya, contohnya;

Ciphertext : 11(K) 4(D) 4(D) 2(B) 17(I)

Kunci yang mungkin : 17(T) 25(Q) 7(U) 10(R) 8(I)

Ciphertext - kunci : -6 -21 -11 -8 9

Ciphertext - kunci mod 26 : 20(T) 5(E) 15(O) 18(R) 9(I) Pada deskripsi ini, diperoleh plaintext ”TEORI”. Sistem pada contoh di atas.

Penerima pesan menggunakan One Time Pad yang sama untuk mendekripsikan karakter-karakter ciphertext menjadi karakter-karakter plaintext dengan persamaan:

pi = (ci – ki ) mod 26 Contoh:

Plaintext : MEDAN

Kunci : XYZAC

Misalkan A = 1, B = 2, …, Z = 26.


(35)

yang mana diperoleh sebagai berikut: (M + X) mod 26 = K

(E + Y) mod 26 = D (D + Z) mod 26 = D, dst

Perhatikan bahwa panjang kunci sama dengan panjang plaintext, sehingga tidak ada kebutuhan mengulang penggunaan kunci selama proses enkripsi. Setelah pengirim mengenkripsikan pesan dengan One Time Pad, ia menghancurkan One Time Pad tersebut (makanya disebut satu kali pakai atau one time).

Sistem cipher One Time Pad ini tidak dapat dipecahkan karena barisan kunci acak yang ditambahkan ke pesan plaintext yang tidak acak menghasilkan ciphertext yang seluruhnya acak. Beberapa barisan kunci yang digunakan untuk mendekripsi

chipertext mungkin menghasilkan pesan-pesan plaintext yang mempunyai makna,

sehingga kriptanalis tidak punya cara untuk menentukan plaintext mana yang benar. Meskipun One Time Pad merupakan cipher yang sempurna aman, namun faktanya ia tidak digunakan secara universal dalam aplikasi kriptografi sebagai satu-satunya sistem cipher yang tidak dapat dipecahkan (hanya sedikit sistem komunikasi yang menggunakan One Time Pad). Malahan orang masih tetap menggunakan sistem

cipher yang dapat dipecahkan. Alasannya adalah dari segi kepraktisan, yaitu karena

panjang kunci harus sama dengan panjang pesan, maka One Time Pad hanya cocok untuk pesan berukuran kecil.

Semakin besar ukuran pesan, semakin besar pula ukuran kunci. Pada aplikasi kriptografi untuk mengenkripsikan data tersimpan, timbul masalah lain dalam penyimpanan kunci. Karena kunci dibangkitkan secara acak, maka ‘tidak mungkin’ pengirim dan penerima membangkitkan kunci yang sama secara simultan. Jadi, salah seorang dari mereka harus membangkitkan kunci lalu mengirimkannya ke pihak lain.

Karena kerahasiaan kunci harus dijamin, maka perlu ada perlindungan selama pengiriman kunci. Jika hanya ada satu saluran komunikasi, maka pengirim dan penerima pesan perlu barisan kunci One Time Pad lain untuk melindungi kunci One Time Pad pertama, One Time Pad ketiga untuk melindungi One Time Pad pertama,


(36)

dan seterusnya. Hal ini menghasilkan kumpulan barisan kunci One Time Pad yang tidak berhingga banyaknya.

Mengirimkan barisan kunci melalui saluran komunikasi yang digunakan untuk pengiriman pesan juga tidak praktis karena pertimbangan lalu lintas (traffic) pesan yang padat. Oleh karena itu, One Time Pad hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk mengirim kunci. Saluran kedua ini umumnya lambat dan mahal. Misalnya pada perang dingin antara AS dan Uni Soviet (dahulu), One Time Pad dibangkitkan, disimpan, lalu dikirim dengan menggunakan jasa kurir yang aman. Penting diingat bahwa saluran kedua yang aman tersebut umumnya lambat dan mahal.


(37)

BAB 3

ANALISIS DAN PEMODELAN PERANGKAT LUNAK

3.1 Analisis Masalah

Analisis adalah sebuah tugas rekayasa perangkat lunak yang menjembatani jurang diantara pengalokasian perangkat lunak tingkat sistem dan perancangan perangkat lunak, dalam hal ini perancangan interface program aplikasi untuk proses enkripsi maupun dekripsi pesan/ data, memungkinkan perekayasa sistem menentukan fungsi dan kinerja perangkat lunak, menunjukkan interface perangkat lunak dengan elemen-elemen sistem yang lain, dan membangun batasan yang harus dipenuhi oleh perangkat lunak. Analisis persyaratan perangkat lunak mengijinkan perekayasa perangkat lunak (dalam peran ini sering disebut analis) untuk memperhalus alokasi perangkat lunak dan membangun model-model data yang akan diproses oleh perangkat lunak. Analisis persyaratan memberikan model-model yang akan diterjemahkan ke dalam data, arsitektur, interface, dan disain prosedural kepada perancang perangkat lunak.

Ketika user akan memulai penggunaan program aplikasi, selalu diawali dengan proses identifikasi yaitu proses login. Pada saat proses login inilah hal yang sangat penting dari keamanan sebuah sistem informasi termasuk data yang ada di dalamnya. Untuk mencegah terjadinya pencurian data, maka user harus diverifikasi terlebih dahulu untuk dapat menentukan hak aksesnya.

Pada awalnya, analis mempelajari spesifikasi sistem (bila ada) dan rencana proyek perangkat lunak. Penting untuk memahami perangkat lunak dalam suatu konteks sistem dan mengkaji ruang lingkup perangkat lunak yang telah digunakan untuk memunculkan estimasi perencanaan. Selanjutnya, adalah membangun


(38)

komunikasi untuk analisis untuk menjamin pengenalan masalah. Tujuan analis adalah mengenali elemen masalah dasar seperti dirasakan oleh pemakai/user.

3.1.1 Pengenalan Masalah

Adapun pengenalan masalah dalam penelitian ini adalah “bagaimana menjaga keamanan data/ informasi yang terdapat/ tersimpan pada sebuah sistem informasi dan bagaimana memanfaatkan kriptografi sebagai alternatif pengamanan data khususnya menggunakan algoritma One Time Pad” yang nantinya ditampilkan dalam bentuk

interface dalam bentuk form-form program aplikasi, yang akan memudahkan user

(client) dalam menjaga kerahasiaan data/ informasinya yang kebutuhannya disesuaikan dengan kenyamanan, kemudahan, dan kecepatan dalam memproses data.

Data/ informasi yang tersimpan pada sebuah sistem informasi merupakan aset dari sebuah perusahaan, dimana data/ informasi ini diharapkan tidak jatuh ke tangan orang yang tidak berhak. Untuk menjamin terjaganya data/ informasi ini, maka setiap

user yang akan menggunakan sistem informasi ini harus melalui tahap awal yaitu

proses login. Pada proses login ini, nantinya user akan memasukkan data berupa nama dan password. User yang tidak terdaftar akan ditolak hak aksesnya dan proses akan

terminate.

Penggunaan algoritma kriptografi One Time Pad ini akan digunakan pada

database yaitu pada tabel Login, dimana field password akan mengalami proses

enkripsi maupun dekripsi.

3.2 Analisis Kerahasiaan

Pada algoritma One Time Pad ini, setiap karakter plaintext yang akan dienkripsi dengan masing-masing key yang berbeda, sehingga satu karakter plaintext yang sama akan menghasilkan karakter chipertext yang berbeda, demikian juga pada saat terjadinya proses pembalikan dari chipertext menjadi plaintext (dekripsi).


(39)

Jika kriptanalis mendapatkan key untuk satu karakter plaintext maupun

chipertext, maka key tersebut belum tentu dapat digunakan untuk plaintext maupun chipertext yang lain, sehingga kriptanalis dapat menemukan plaintext yang akan

mempunyai makna yang berbeda dari plaintext yang sebenarnya.

Hal ini dapat dibuktikan dari pembahasan pada Bab 2, dimana plaintext “MEDAN” yang dienkripsi dengan key “XYZAC” akan menghasilkan karakter

chipertext “KDDBI”. Bila kriptanalis menggunakan chipertext tersebut di atas, maka

kriptanalis akan menggunakan key yaitu ”TQURI” maka akan menghasilkan plaintext berupa ”TEORI”, demikian juga bila kriptanlis mencoba untuk menggunakan key yang lain, maka akan menghasilkan plaintext yang berbeda pula, sehingga kriptanalis akan bingung untuk menentukan mana plaintext yang sebenarnya.

3.3 Desain Sistem

Proses perancangan yang akan digunakan merupakan proses perancangan yang yang berorientasi pada proses dan prosedural, untuk itu perlu dibuatkan diagram aliran data (Data Flow Diagram) yang dapat memodelkan proses yang terjadi pada sistem.

3.3.1 Analisis Kebutuhan Sistem

Sistem yang akan dibangun ini diharapkan dapat memenuhi kebutuhan-kebutuhan antara lain sebagai berikut:

1. User dapat diverifikasi hak aksesnya pada saat proses login.

2. Data user dapat dienkripsi pada saat penutupan transaksi dan didekripsi kembali pada saat proses transaksi.

3. Sistem membutuhkan waktu yang relatif singkat untuk memproses data (enkripsi maupun dekripsi).


(40)

3.3.2 Diagram Aliran Data

Diagram ini menjelaskan secara global bahwa sistem berinteraksi dengan sebuah entitas luar yang bernama user. Input user diawali dengan login yang nantinya dianggap sebagai plaintext oleh sistem dan password yang merupakan authentifikasi untuk user masuk ke sistem.

3.3.2.1Data Flow Diagram (DFD)

DFD merupakan diagram yang menggunakan notasi-notasi (simbol-simbol) untuk menggambarkan arus dari data sistem. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (file kartu, harddisk, tape, disket, dan lain sebagainya). DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur (Structure Analysis and

Design). Disini Penulis akan merancang Data Flow Diagram yang digunakan dalam

merancang penggunaan algoritma One Time Pad untuk sistem keamanan sistem informasi pembelian dan penjualan produk, yaitu:

Gambar 3.1 Data Flow Diagram (DFD) Level Top (Contex)

P. 0 SISTEM INFORMASI PEMBELIAN DAN PENJUALAN PRODUK User Data Supplier Data Customer Data Barang Key Plaintext Kunci OTP Text Plain Text Plain Chipertext Text Encrypt Text Encrypt Proses Transaksi


(41)

Gambar 3.2 Data Flow Diagram (DFD) Level 1

P. 0

SISTEM INFORMASI PEMBELIAN DAN

PENJUALAN PRODUK

Key

Key

P. 1

ENKRIPSI

P. 2

DEKRIPSI

Plaintext

P. 3

Transaksi

Chipertext

Text Encrypt

Text Encrypt Kunci OTP

Kunci OTP

Text Plain

Text Plain Text Plain


(42)

Gambar 3.3 Data Flow Diagram (DFD) Level 2 Untuk Enkripsi

Gambar 3.4 Data Flow Diagram (DFD) Level 2 Untuk Dekripsi

Gambar 3.5 Data Flow Diagram (DFD) Level 2 Untuk Proses Transaksi

P. 1.1

ENKRIPSI

Key

Plaintext

Chipertext

Text Plain Kunci OTP

Text Encrypt

P. 2.1

DEKRIPSI

Key

Chipertext

Plaintext

Text Encrypt Kunci OTP

Text Plain

P. 3.1

Transaksi

Supplier

Customer

Barang

Pembelian

Penjualan


(43)

3.4 Rancangan Database

Untuk mendesain atau merancang suatu sistem yang baik dan terstruktur dibutuhkan basis data (database). Dalam hal ini harus dideskripsikan struktur atau susunan dari basis data yang digunakan dalam merancang sistem antara lain sebagai berikut:

3.4.1Struktur Tabel

Tabel 3.1 Supplier

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdSupplier Varchar 5

Supplier Varchar 100

Alamat Varchar 250

Direktur Varchar 100

NoTelp Varchar 20

Setiap record data pada tabel Supplier berisi identitas Supplier dan diisikan sesuai dengan nama field-nya masing-masing.

Tabel 3.2 Customer

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdCustomer Varchar 5

Customer Varchar 250

Alamat Varchar 250

NoTelp Varchar 20

Setiap record data pada tabel Customer berisi identitas Customer dan diisikan sesuai dengan nama field-nya masing-masing.


(44)

Tabel 3.3 Login

Column Name Data Type Length Allow Nulls

Ω Kode Varchar 5

Nama Varchar 30

Password Varchar 30

Status Varchar 30

Prog Bit 1 √

MyKey Varchar 30

Setiap record data pada tabel Login diisikan sesuai dengan nama field-nya masing-masing. Field Prog digunakan sebagai penanda untuk record yang telah dienkrip. Nilai field “Prog” = 1 bermakna field tersebut telah mengalami proses enkripsi, sedangkan nilai field “Prog” = 0 bermakna field tersebut belum mengalami proses enkripsi (telah mengalami proses dekripsi). Field “MyKey” berisi data kunci yang akan digunakan pada proses enkripsi maupun dekripsi.

Tabel 3.4 Satuan

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdSatuan Varchar 2

Satuan Varchar 50

Setiap record data pada tabel Satuan berisi identitas data satuan seperti buah, lusin, paket, dan sebagainya.

Tabel 3.5 Kriteria

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdKriteria Varchar 1

Kriteria Varchar 20

Setiap record data pada tabel Kriteria berisi identitas data kriteria barang seperti barang atau jasa.


(45)

Tabel 3.6 Setup

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Aktif Bit 1

Perusahaan Varchar 50

Status Varchar 50

NoTelp Varchar 30

Alamat Varchar 250

NoSIUP Varchar 50

MasaBerlakuSiup DateTime 8

Izin Varchar 250

NoAkta Varchar 50

TglAkta DateTime 8

Notaris Varchar 50

Direktur Varchar 50

TglLahir DateTime 8

NoTelpDirektur Varchar 30

AlamatDirektur Varchar 250

Setiap record data pada tabel Setup berisi identitas data perusahaan berupa nama perusahaan, direktur, alamat, dan lain-lain. Fungsi field “Tahun” digunakan sebagai tahun transaksi, dan field “Aktif” digunakan sebagai penanda tahun pengisian transaksi.

Tabel 3.7 Barang

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

KdBarang Varchar 5

Barang Varchar 250

KdKriteria Varchar 1


(46)

Setiap record data pada tabel Barang berisi identitas data barang maupun jasa yang dijual atau dibeli oleh perusahaan.

Tabel 3.8 Pembelian

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω Bulan Varchar 2

Ω KdPembelian Varchar 5

TglBeli DateTime 8

KdSupplier Varchar 5

Keterangan Varchar 250

Setiap record data pada tabel Pembelian berisi data transaksi pembelian yang dilakukan oleh perusahaan.

Tabel 3.9 Pembeliandt

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω Bulan Varchar 2

Ω KdPembelian Varchar 5

Urut Int 4

KdBarang Varchar 5

Jumlah Decimal 9

Harga Decimal 9

Total Decimal 17 √

Setiap record data pada tabel Pembeliandt berisi data rincian transaksi pembelian yang dilakukan oleh perusahaan.

Tabel 3.10 Penjualan

Column Name Data Type Length Allow Nulls


(47)

Ω Bulan Varchar 2

Ω KdPenjualan Varchar 5

TglJual DateTime 8

KdCustomer Varchar 5

Keterangan Varchar 250

Setiap record data pada tabel Penjualan berisi data transaksi penjualan yang dilakukan oleh perusahaan.

Tabel 3.11 Penjualandt

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω Bulan Varchar 2

Ω KdPenjualan Varchar 5

Urut Int 4

KdBarang Varchar 5

Jumlah Decimal 9

Harga Decimal 9

Total Decimal 17 √

Setiap record data pada tabel Penjualandt berisi data rincian transaksi penjualan yang dilakukan oleh perusahaan.

Tabel 3.12 Status

Column Name Data Type Length Allow Nulls

Status Varchar 50

Data pada tabel ini berisi Status dari para user apakah sebagai Supervisor atau Operator.


(48)

3.4.2Struktur Relasi Antar Tabel

Untuk menjaga hubungan antar tabel diperlukan suatu rancangan diagram database, dimana harus dibuatkan relasi antar tabel. Berikut adalah rancangan diagram antar tabel:

Gambar 3.6 Struktur Relasi Antar Tabel

3.4.3Struktur View

Untuk melakukan manipulasi data, dalam hal pembuatan laporan diperlukan suatu hubungan tersendiri antar tabel, dimana data dari tabel yang satu dapat digunakan pada tabel yang lain. Berikut adalah rancangan view yang akan dibuat:


(49)

a. Supplier

Gambar 3.7 View Supplier

Struktur View Supplier ini digunakan untuk membuat laporan data Supplier.

b. Customer

Gambar 3.8 View Customer

Struktur View Customer ini digunakan untuk membuat laporan data Customer.

c. Satuan

Gambar 3.9 View Satuan

Struktur View Satuan ini digunakan untuk membuat laporan data Satuan barang/ jasa.


(50)

d. Kriteria

Gambar 3.10 View Kriteria

Struktur View Kriteria ini digunakan untuk membuat laporan data Kriteria barang/ jasa.

e. Barang

Gambar 3.11 View Barang


(51)

f. Pembelian

Gambar 3.12 View Pembelian

Struktur View Pembelian ini digunakan untuk membuat laporan data Pembelian barang/ jasa.

g. Penjualan

Gambar 3.13 View Penjualan

Struktur View Penjualan ini digunakan untuk membuat laporan data Penjualan barang/ jasa.


(52)

BAB 4

PERANCANGAN DAN IMPLEMENTASI

4.1 Perancangan Antar Muka

Aplikasi akan dirancang dalam bentuk aplikasi sistem informasi yang bisa diimplementasikan pada sistem intranet. Interface disediakan untuk memudahkan pengguna dalam memberikan input berupa beberapa parameter yang diperlukan, serta menampilkan hasilnya, termasuk di dalamnya proses enkripsi maupun dekripsi data, yang dalam hal ini menggunakan algoritma One Time Pad.

Disamping itu, penggunaan perancangan interface ini nantinya akan dapat memudahkan analis dalam mendeskripsikan hasil rancangan ke dalam bentuk suatu kode program, yang dimana perancangan ini menggunakan bahasa pemrograman Visual Basic 6.0.

Visual Basic merupakan bahasa pemrograman yang digunakan dalam mengembangkan aplikasi interface. Dalam Visual Basic semua objek sudah disediakan, programer tinggal mengambil sesuai dengan kebutuhan. Selain itu sarana pengembang yang bersifat Visual memudahkan programer dalam mengembangkan program aplikasi berbasis Windows.

Adapun kelebihan dari bahasa pemrograman Visual Basic 6.0 ini, antara lain :

1. Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika

menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan mudah dengan menggunakan Visual basic


(53)

2. Karena Visual basic sangat populer, maka sangat banyak sumber-sumber yang dapat digunakan untuk belajar dan mengembangkan kemampuan, baik berupa buku, web site, dan lain sebagainya. Dengan banyaknya sumber-sumber tersebut, maka tentu saja akan sangat mudah menemukan jawaban atas persoalan yang dihadapi.

3. Bisa memperoleh banyak tools baik gratis maupun tidak di Internet yang akan sangat membantu menghemat waktu dalam pemrograman.

SISTEM INFORMASI

Menu Master Menu Transaksi Menu Report Menu Windows

Supplier Barang Data Master Transfer

Customer Pembelian Data Transaksi About

User Login Penjualan Help

Satuan Exit

Kriteria

Setup Parameter Enkripsi & Dekripsi

Gambar 4.1 Perancangan Tampilan Daftar Menu Sistem Informasi

Dalam perancangan ini, terdapat 4 menu yaitu menu Master, menu Transaksi, menu Report dan menu Windows.

1. Menu Master

Menu ini berfungsi sebagai tempat mengisi, mengubah maupun menghapus data master, yang nantinya akan digunakan pada saat proses pengentrian data transaksi maupun pada saat pencetakan laporan.

Pada menu ini dibagi menjadi 7 sub bagian, yang masing-masing sub menu mempunyai fungsi sesuai dengan nama sub menunya masing-masing. Khusus


(54)

untuk sub menu “Enkripsi & Dekripsi” merupakan tempat/ form proses enkripsi maupun dekripsi data yang nantinya akan dibangun dengan menggunakan algoritma Kriptografi One Time Pad.

2. Menu Transaksi

Menu ini berfungsi sebagai tempat mengisi, mengubah maupun menghapus data transaksi perusahaan, baik itu berupa pembelian maupun penjualan produk.

3. Menu Report

Menu ini berfungsi sebagai tempat akhir kegiatan, dimana data yang telah dientri akan diproses dan dilakukan proses filter data sesuai dengan instruksi dari user dan akan ditampilkan pada kertas/ hard copy.

4. Menu Windows

Menu ini berfungsi sebagai menu tambahan pada sistem informasi yang akan dibangun. Adapun sub menu pada menu ini antara lain, menu transfer yang akan melakukan duplikasi data master untuk tahun selanjutnya (user tidak perlu lagi melakukan pengentrian data yang sama untuk tahun yang berbeda).

Adapun tampilan/ interface untuk form pada sistem informasi yang akan dibangun adalah sebagai berikut:

1. Menu Master

Pada menu master ini terdapat 7 sub menu, diantaranya: a. Supplier


(55)

Pada form ini, user dapat melakukan penambahan, pengeditan, maupun penghapusan data Supplier. Untuk kode supplier diberi batas maksimal 5 (lima) karakter.

b. Customer

Gambar 4.3 Form Customer

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data Customer. Untuk kode customer diberi batas maksimal 5 (lima) karakter.

c. User Login

Gambar 4. 4 Form User

Pada form ini, user dapat melakukan penambahan, pengeditan, maupun penghapusan data user. Pada saat melakukan penambahan user, program akan melakukan proses generate key yang berfungsi sebagai key untuk proses


(56)

enkripsi maupun dekripsi data user. Proses penambahan user ini hanya boleh dilakukan oleh user dengan level supervisor.

d. Satuan

Gambar 4.5 Form Satuan

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data satuan, yang nantinya data pada form ini akan digunakan pada saat pengisian data barang.

e. Kriteria

Gambar 4.6 Form Kriteria

Data pada form ini juga nantinya akan digunakan pada saat pengisian data barang/ produk pada form barang.


(57)

f. Setup Parameter

Gambar 4.7 Form Setup Parameter

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data master yang berhubungan dengan data perusahaan, diantaranya tahun transaksi, nama perusahaan, direktur, dan lain sebagainya. Fungsi check box “Aktif” adalah sebagai penanda tahun transaksi yang akan dilakukan.

g. Enkripsi & Dekripsi Data Perusahaan

Gambar 4.8 Form Enkripsi dan Dekripsi

Pada form ini, user dapat melakukan proses enkripsi maupun dekripsi pada data user yaitu pada field password. Proses enkripsi maupun dekripsi ini akan dilakukan dengan menggunakan algoritma kriptografi One Time Pad. Untuk


(58)

melakukan proses ini adalah user yang mempunyai kedudukan sebagai supervisor.

2. Menu Transaksi

Pada menu Transaksi ini terdapat 3 sub menu, diantaranya: a. Barang

Gambar 4.9 Form Barang

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun penghapusan data barang. Untuk data kriteria dan satuan, datanya diambil dari tabel master, sehingga user tidak perlu lagi mengetikkan data tersebut, cukup hanya dengan memilih data yang sesuai.

b. Pembelian


(59)

Pada form ini, user dapat melakukan proses pengentrian, pengeditan maupun penghapusan data pembelian. Untuk data supplier, cukup dengan menekan spasi pada keyboard, maka akan muncul list box data supplier yang datanya berasal dari tabel master.

Gambar 4.11 Form Rincian Pembelian

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun penambahan data pembelian yang datanya disesuaikan dengan nomor kode pembelian

c. Penjualan

Gambar 4.12 Form Penjualan

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun penghapusan data penjualan. Pada saat melakukan pengisian data customer, cukup dengan menekan tombol spasi, maka list box untuk data customer akan


(60)

muncul yang datanya berasal dari tabel master, sehingga user dapat dengan mudah memilih customer yang akan dientri.

Gambar 4.13 Form Rincian Penjualan

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun penambahan data penjualan yang datanya disesuaikan dengan nomor kode penjualan.

3. Menu Report

Pada menu Report ini terdapat 2 sub menu, diantaranya: a. Data Master

Gambar 4.14 Form Laporan Data Master

Pada form ini, user dapat melakukan proses pencetakan data yang berasal dari pengentrian data master. Masing-masing tombol mempunyai fungsi yang disesuaikan dengan judul dari masing-masing tombol.


(61)

b. Data Transaksi

Gambar 4.15 Form Laporan Data Transaksi

Pada form ini, user dapat melakukan proses pencetakan data yang berasal dari pengentrian data transaksi. Masing-masing tombol mempunyai fungsi yang disesuaikan dengan judul dari masing-masing tombol.

4. Menu Windows

Pada menu Windows ini terdapat 4 sub menu, diantaranya: a. Transfer

Gambar 4.16 Form Transfer

Form ini berfungsi untuk mentransfer data dari tahun asal ke tahun tujuan,

sehingga user tidak perlu lagi melakukan pengentrian data yang sama untuk tahun yang berbeda.

b. About


(62)

Form ini berfungsi sebagai penjelasan dari aplikasi yang dibangun.

c. Help

Menu help digunakan untuk menampilkan manual book penggunaan aplikasi yang dibangun, dimana dokumen manual book ini akan dimuat dalam format “.pdf”.

d. Exit

Menu ini berfungsi sebagai “log out” atau keluar dari program aplikasi.

4.2 Implementasi

Implementasi sistem merupakan prosedur yang dilakukan untuk menyelesaikan desain sistem yang ada dalam dokumen desain yang disetujui, menguji sistem, menginstal dan memulai sistem baru yang telah diperbaiki.

Adapun tujuan dari pengimplementasian sistem ini adalah sebagai berikut: a. Menguji dan mendokumentasikan prosedur dan program yang diperlukan oleh

dokumen desain sistem yang telah dibuat.

b. Menyelesaikan desain sistem yang telah dibuat sesuai dengan kebutuhan pemakai. c. Memperhitungkan sistem yang telah dibuat sesuai dengan kebutuhan pemakai.

Pada tahap implementasi ini, penulis juga melakukan analisa terhadap kesalahan/ bug yang mungkin terjadi pada saat perancangan maupun pada saat proses

coding.

4.3 Pengujian

Data yang diujikan adalah data pada tabel Login dimana pada field “Password” akan dilakukan proses enkripsi maupun dekripsi dengan menggunakan algoritma


(63)

kriptografi One Time Pad. Pada pengujian ini, tiap record data pada tabel Login yaitu pada field “Password” dan field “MyKey” akan dienkripsi dan dekripsi.

Berikut adalah contoh proses enkripsi pada record yang ada pada tabel Login: a. Ambil record yang mempunyai nilai pada field “Prog” = “0”,

KODE NAMA PASSWORD STATUS PROG MYKEY

00001 ALEX CHANDRA SUPERVISOR 0 73460

00002 TEST My Secret Key > ^_^ OPERATOR 0 40003

00003 1234567890 1234567890 OPERATOR 0 132

00004 1 1 OPERATOR 0 293

00005 2 2 OPERATOR 0 249

Untuk contoh diambil data pada field Kode = “00001”

Kode : 00001

Nama : ALEX

Plaintext : CHANDRA

Prog : 0

Key : 73460

b. Lakukan perbandingan panjang data pada field “Password” dengan panjang data pada field “MyKey”.

Len (Plaintext) : 7

Len (Key) : 5

c. Bila panjang data pada field “Password” tidak sama dengan data pada field “MyKey”, lakukan proses Padding.

Padding (Key) : 7346073

d. Cari nilai ASCII dari masing-masing karakter plaintext dan key.

e. Cari hasil modulo 256 dari penjumlahan data antara field “Password” dan field “MyKey”.


(64)

PLAINTEXT KEY

ENKRIP CHIPERTEXT

KARAKTER ASCII KARAKTER ASCII

( 1 ) ( 2 ) ( 3 ) ( 4 ) 5 = ( 2 + 4 ) Mod 256 6 = Char (5)

C 67 7 55 122 z

H 72 3 51 123 {

A 65 4 52 117 u

N 78 6 54 132 „

D 68 0 48 116 t

R 82 7 55 137 ‰

A 65 3 51 116 t

Berikut adalah proses yang terjadi pada saat terjadinya proses dekripsi: a. Ambil record yang mempunyai nilai pada field “Prog” = “1”,

KODE NAMA PASSWORD STATUS PROG MYKEY

00001 ALEX z{u„t‰t SUPERVISOR 1 73460

00002 TEST ฀©Pƒ˜¢•¤S฀•©Pq

TŽ฀Ž OPERATOR 1 40003

00003 1234567890 beeehhhkka OPERATOR 1 132

00004 1 c OPERATOR 1 293

00005 2 d OPERATOR 1 249

Untuk contoh diambil data pada field Kode = “00001”

Kode : 00001

Nama : ALEX

Chipertext : z{u„t‰t

Prog : 1

Key : 73460

b. Lakukan perbandingan panjang data pada field “Password” dengan panjang data pada field “MyKey”.

Len (Chipertext) : 7

Len (Key) : 5

c. Bila panjang data pada field “Password” tidak sama dengan data pada field “MyKey”, lakukan proses Padding.

Padding (Key) : 7346073


(65)

e. Cari hasil modulo 256 dari penjumlahan data antara field “Password” dan field “MyKey”.

CHIPERTEXT KEY

DEKRIP PLAINTEXT

KARAKTER ASCII KARAKTER ASCII

( 1 ) ( 2 ) ( 3 ) ( 4 ) 5 = ( 2 - 4 ) Mod 256 6 = Char (5)

z 122 7 55 67 C

{ 123 3 51 72 H

u 117 4 52 65 A

„ 132 6 54 78 N

t 116 0 48 68 D

‰ 137 7 55 82 R

t 116 3 51 65 A


(66)

Flowchart untuk proses enkripsi adalah sebagai berikut:

Gambar 4.18 Flowchart Proses Enkripsi

Start

Read (Plaintext, Key)

Len (Plaintext) = Len( Key)

J = Int {Len (Plaintext) / Len (Key)}

For I = 1 To Len (Plaintext)

Temp = Char {(ASCII (Plaintext (I) ) + ASCII (Key (I))) Mod 256} Chipertext = Chipertext & Temp Next I

For I = 1 To J

NewKey = NewKey & Key Next I

Key = NewKey

Chipertext


(67)

Flowchart untuk proses dekripsi adalah sebagai berikut:

Gambar 4.19 Flowchart Proses Dekripsi

Start

Read (Chipertext, Key)

Len (Chipertext) = Len( Key)

J = Int {Len (Chipertext) / Len (Key)}

For I = 1 To Len (Chipertext)

Temp = Char {(ASCII (Chipertext (I) ) + ASCII (Key (I))) Mod 256} Plaintext = Plaintext & Temp Next I

For I = 1 To J

NewKey = NewKey & Key Next I

Key = NewKey

Plaintext


(68)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan penelitian dan pengujian, maka penulis mendapatkan suatu kesimpulan yang dapat digunakan sebagai garis besar dari keseluruhan rangkuman dari skripsi ini.

Adapun kesimpulan dari penelitian ini adalah sebagai berikut :

1. Barisan kunci acak yang ditambahkan ke pesan plaintext yang tidak acak menghasilkan chipertext yang seluruhnya acak.

2. Beberapa barisan kunci yang digunakan untuk mendekripsi chipertext mungkin menghasilkan pesan-pesan plaintext yang mempunyai makna, sehingga kriptanalis tidak punya cara untuk menentukan plaintext mana yang benar.

3. Hasil dekripsi dari chipertext dapat menghasilkan plaintext asli seperti semula. 4. Algoritma kriptografi One Time Pad dapat diimplementasikan pada sebuah sistem

informasi.

5.2 Saran

Dalam penelitian ini, ada beberapa saran yang nantinya dapat digunakan sebagai pengembangan yang lebih baik untuk kedepannya, khususnya dalam melakukan penelitian untuk mendapatkan hasil yang lebih baik bagi analis.


(69)

Adapun beberapa saran dari skripsi ini adalah :

1. Untuk password login, sebaiknya dipilih sesuatu yang unik, mudah diingat dan bersifat pribadi. Hindari password yang berasal dari literatur yang bersifat umum karena akan memiliki kemungkinan yang besar untuk ditebak

2. Agar sistem ini berjalan dengan baik dan sesuai dengan harapan, sebaiknya didukung oleh perangkat keras yang sesuai dengan kebutuhan sistem tersebut.


(1)

Flowchart untuk proses enkripsi adalah sebagai berikut:

Gambar 4.18 Flowchart Proses Enkripsi

Start

Read (Plaintext, Key)

Len (Plaintext) = Len( Key)

J = Int {Len (Plaintext) / Len (Key)}

For I = 1 To Len (Plaintext)

Temp = Char {(ASCII (Plaintext (I) ) + ASCII (Key (I))) Mod 256} Chipertext = Chipertext & Temp Next I

For I = 1 To J

NewKey = NewKey & Key Next I

Key = NewKey

Chipertext

End


(2)

Flowchart untuk proses dekripsi adalah sebagai berikut:

Gambar 4.19 Flowchart Proses Dekripsi

Start

Read (Chipertext, Key)

Len (Chipertext) = Len( Key)

J = Int {Len (Chipertext) / Len (Key)}

For I = 1 To Len (Chipertext)

Temp = Char {(ASCII (Chipertext (I) ) + ASCII (Key (I))) Mod 256} Plaintext = Plaintext & Temp Next I

For I = 1 To J

NewKey = NewKey & Key Next I

Key = NewKey

Plaintext


(3)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan penelitian dan pengujian, maka penulis mendapatkan suatu kesimpulan yang dapat digunakan sebagai garis besar dari keseluruhan rangkuman dari skripsi ini.

Adapun kesimpulan dari penelitian ini adalah sebagai berikut :

1. Barisan kunci acak yang ditambahkan ke pesan plaintext yang tidak acak menghasilkan chipertext yang seluruhnya acak.

2. Beberapa barisan kunci yang digunakan untuk mendekripsi chipertext mungkin menghasilkan pesan-pesan plaintext yang mempunyai makna, sehingga kriptanalis tidak punya cara untuk menentukan plaintext mana yang benar.

3. Hasil dekripsi dari chipertext dapat menghasilkan plaintext asli seperti semula. 4. Algoritma kriptografi One Time Pad dapat diimplementasikan pada sebuah sistem

informasi.

5.2 Saran

Dalam penelitian ini, ada beberapa saran yang nantinya dapat digunakan sebagai pengembangan yang lebih baik untuk kedepannya, khususnya dalam melakukan penelitian untuk mendapatkan hasil yang lebih baik bagi analis.


(4)

Adapun beberapa saran dari skripsi ini adalah :

1. Untuk password login, sebaiknya dipilih sesuatu yang unik, mudah diingat dan bersifat pribadi. Hindari password yang berasal dari literatur yang bersifat umum karena akan memiliki kemungkinan yang besar untuk ditebak

2. Agar sistem ini berjalan dengan baik dan sesuai dengan harapan, sebaiknya didukung oleh perangkat keras yang sesuai dengan kebutuhan sistem tersebut.


(5)

DAFTAR PUSTAKA

Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: Andi Yogyakarta.

Ariyus, Dony. 2009. Keamanan Multimedia. Yogyakarta: Andi Yogyakarta.

Halvorson, Michael. 2002. Step by Step Microsoft Visual Basic 6.0 Profesional. Jakarta: PT Elex Media Komputindo.

Jogianto. 2005. Analisis dan Desain Sistem Informasi. Yogyakarta: Andi Yogyakarta.

Kusrini, dan Andri Koniyo. 2007. Tuntunan Praktis Membangun Sistem Informasi Akuntansi Dengan Visual Basic Dan Microsoft SQL Server. Yogyakarta: Andi Yogyakarta.

Munir, R. 2006. Kriptografi. Bandung: Penerbit Informatika

Sanjaya, Ridwan, dan Helmy, 2004. Mempercantik Desain Form Pada Visual Basic 6.0. Jakarta: PT Elex Media Komputindo.

Wardana. Pembuatan Kontrol ActiveX di Visual Basic 6, Jakarta: PT Elex Media Komputindo. 2005.

13 April, 2010.

13 April, 2010.

Yung, Kok. 2002. Membangun Database Dengan Visual Basic 6.0 Dan Perintah SQL, Jakarta: PT Elex Media Komputindo.


(6)

LISTING PROGRAM

Private Sub cmdDekripsi_Click() Dim Plaintext As String

Dim nCountStr As Integer Dim Password As String Dim Plain As String

SQL = "Select * From Login Where Prog = '1' Order By Kode" pRS.CursorLocation = adUseClient

pRS.Open SQL While Not pRS.EOF

Plaintext = pRS.Fields("Nama")

txtKey1.Text = PaddingKey(pRS.Fields("MyKey"), Len(pRS.Fields("Password")) - 1)

Password = txtKey1.Text

Plain = DecryptData(pRS.Fields("Password"), Password, Len(pRS.Fields("Password")))

SQL = "Update Login Set Password = '" & String2SQL(Plain) & "', Prog = '0' Where Kode = '" & pRS.Fields("Kode") & "'"

pADO.Execute SQL pRS.MoveNext

Me.StatusBar.Panels(1).Text = SQL Wend

pRS.Close

Me.StatusBar.Panels(1).Text = "" End Sub

Private Sub cmdEnkripsi_Click() Dim Chipertext As String

Dim nCountStr As Integer Dim Password As String Dim Chiper As String

SQL = "Select * From Login Where Prog <> '1' Order By Kode" pRS.CursorLocation = adUseClient

pRS.Open SQL While Not pRS.EOF

Chipertext = pRS.Fields("Nama")

txtKey1.Text = PaddingKey(pRS.Fields("MyKey"), Len(pRS.Fields("Password")))

Password = txtKey1.Text

Chiper = EncryptData(pRS.Fields("Password"), Password, Len(pRS.Fields("Password")))

SQL = "Update Login Set Password = '" & String2SQL(Chiper) & " ', Prog = '1' Where Kode = '" & pRS.Fields("Kode") & "'"

pADO.Execute SQL pRS.MoveNext

Me.StatusBar.Panels(1).Text = SQL Wend

pRS.Close

Me.StatusBar.Panels(1).Text = "" End Sub