Perancangan dan Penerapan Sistem Keamanan Data pada Perangkat Lunak Komdat LAN Menggunakan Krittografi dengan Algortima RSA

(1)

DENGAN ALGORITMA RSA

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Hendi Hadian Darmawan

10101186

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2008


(2)

rahmatnya, sehingga penulis dengan segala keterbatasannya dapat menyelesaikan penyusunan tugas akhir ini guna melengkapi sebagian syarat untuk mencapai jenjang setara Sarjana Strata Satu (S1) Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

Dalam proses penulisan tugas akhir ini penulis banyak menemui kesulitan baik yang disebabkan karena keterbatasan kemampuan, waktu maupun tenaga, karena itu penulis sangat menghargai bantuan dari berbagai pihak yang telah memberi bantuan baik berupa dukungan semangat, buku-buku, serta bermacam-macam bahan penulisan sehingga tugas akhir ini dapat terwujud. Untuk itu pada kesempatan ini perekenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Bapak Dr.Ir. Eddy Soeryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia.

2. Bapak Prof.Dr.Ir. Ukun Sastraprawira, M.Sc, selaku Dekan Fakultas Teknik dan Ilmu Komputer.

3. Bapak dan Ibu Pembantu Dekan I, II, III Fakultas Teknik Universitas Komputer Indonesia.

4. Ibu Mira Kania Sabaniah, S.T, M.T, selaku Ketua Jurusan Teknik Informatika, juga selaku Dosen Wali.


(3)

membantu serta memberikan pengarahan dalam menyusun tugas akhir ini. 6. Bapak Andri Heryandi, S.T, selaku dosen penguji 1.

7. Bapak Irfan Maiki, S.T, selaku dosen penguji 3.

8. Bapak dan Ibu dosen pengajar yang telah banyak memberikan kuliah di Jurusan Teknik Informatika Fakultas Teknik Universitas Komputer Indonesia.

9. Bapak dan Ibu serta Staf Pengurus Perpustakaan dan Tata Usaha Fakultas Teknik Universitas Komputer Indonesia.

10. Bapak dan Mamahku yang duitnya sudah terkuras habis buat bantu bayarin kuliahku, serta buat Do’anya yang sampai sekarang masih termunajatkan. (Maaf Cuma Tugas Akhir ini Yang Baru Bisa Ngebayar Itu Semua).

11. Keluarga Besar Darmawan, M’Koko, P’Lusep, M’Aich, P’Ato, M’Nuna, P’Udi, D’Ithot, D’Izal, Cadut, Koko, Jidut, Ecrot, Oach, Seyro.

12. “Mamet”…Dipanjanginya Mamah Metta, Thanx for all everything, sometimes u’re make me so boored, and sometimes u’re make so fit to finished my skripsi. And thanx for all u’re support (duit, dianterin, dibantuin, trus dibikin seger dech…. ☺).

13. Teman Merangkap Sahabat, Ncas, Dick’s, Agoes Boeloe, Paul, Abe, Ateu yang ga pernah bosen nanyain kapan beres kuliah ( padahal sudah bosen ditanyain terus…☺). Thank you for always cheering me up dan makes my day full of joy and happiness. It’s an honor to knowing you all guys.


(4)

disebutkan satu-persatu, dikarenakan keterbatasan memory penulis.

Atas segala bantuan, bimbingan dan dorongan yang telah diberikan kepada penulis, dengan ini semoga Alloh SWT membalas seluruh amal baiknya, baik secara tunai ataupun berupa tabungan buat di akherat nanti. Amin.

Akhir kata, penulis menyadari bahwa tulisan ini masih jauh dari kesempurnaan mengingat terbatasnya pengetahan dan pengalaman yang dimiliki oleh penulis, dan semoga penulisan tugas akhir ini ada manfaatnya bagi penulis khusunya dan pembaca pada umumnya.

Bandung, Februari 2009

Penulis


(5)

i

PERANCANGAN DAN PENERAPAN SISTEM KEAMANAN DATA

PADA PERANGKAT LUNAK “KOMDAT LAN”

MENGGUNAKAN KRIPTOGRAFI

DENGAN ALGORITMA RSA

Oleh

Hendi Hadian Darmawan

10101186

Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, seiring dengan kemajuan teknologi, teknologi instant messanger yang dulu hanya digunakan untuk melakukan percakapan dalam satu jaringan terpadu sekarang sudah bisa digunakan untuk saling bertukar file. Dengan berkembangnya teknik telekomunikasi dan sistem pengolahan data yang berkaitan erat dengan komunikasi antar pengguna komputer yang satu dengan pengguna komputer yang lain yang berfungsi untuk menyalurkan data, sehingga masalah keamanan menjadi salah satu aspek penting dari teknologi itu sendiri.

Pada tugas ini akan dipaparkan rancang bangun aplikasi KomDat LAN yang bertitik berat pada teknologi keamanan data waktu dikirim dan diterima melalui jaringan komputer. Dalam hal ini teknik yang digunakan adalah kriptografi menggunakan algoritma RSA yang terdiri dari algoritma pembangkitan kunci (key generation), algoritma enkripsi (encryption algorithm), dan algoritma dekripsi (decryption algorithm)


(6)

ii

ON SOFTWARE “KOMDAT LAN” BY USING CRYPTOGRAPHY

WITH RSA ALGORITHM

BY :

Hendi Hadian Darmawan 10101186

Application of computer technology as one of the applications of information technology has been a necessity. In line with developments in technologies, the technology of instant messenger, once used for only making conversation in an integrated network, now has been applicable to mutually exchange files. With the developments in telecommunication techniques and data processing system closely related to communication among one computer user with another that serves to distribute data, so security problem becomes an important aspect of the technology it self

Presented in this assignation is design of an of KomDat LAN that is emphasized on data security technology when sent and received by computer network. In this case, the technique used was cryptography with RSA algorithm consisting of key generation, encryption, and decryption algorithm.


(7)

LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRAK. ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI... vi

DAFTAR TABEL... xi

DAFTAR GAMBAR ... xii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN... xv

BAB I PENDAHULUAN 1.1 Latar Belakang .. ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian.. ... 4

1.5.1. Metode Penelitian... 4

1.5.2. Metode Pengumpulan Data.. ... 4

1.5.3. Metode Pengembangan Perangkat Lunak.. ... 6

1.6 Sistematika Penulisan... 7


(8)

2.3 Jenis Kriptografi... 11

2.4 Algoritma RSA (Rivest-Shamir-Adleman)... 13

2.5 Enkripsi dan Dekripsi... 15

2.5.1 Enkripsi ... 15

2.5.2 Dekripsi ... 15

2.6 Konsep dasar Perhitungan Matematis ... 15

2.6.1 Fungsi Phi-Euler... 15

2.6.2 Algoritma Euclide ... 16

2.6.2.1 Algoritma Euclide diperluas ... 16

2.6.3 Metode Fast Exponentiation ... 17

2.7 Proses Algoritma RSA ... 18

2.7.1 Pembentukan Kunci ... 18

2.7.2 Enkripsi RSA ... 19

2.7.3 Dekripsi RSA ... 20

2.8 Pengertian Jaringan Komputer ... 20

2.8.1 Jenis-jenis Jaringan Komputer ... 20

2.8.2 Topologi Jaringan Komputer ... 23

2.8.3 Manfaat Jaringan Komputer ... 25

2.9 Visual Basic ... 28

2.9.1 Sejarah Singkat Visual Basic ... 28


(9)

2.9.4 Jenis File Pada Visual Basic ... 34

2.9.5 Komponen Pada Visual Basic ... 34

2.10 Pendekatan rekayasa Perangkat Lunak ... 36

2.10.1 Pengertian Rekayasa Perangkat Lunak ... 36

2.10.2 Model Proses Waterfall (pressman 1992)... 37

2.11 Flowchart ... 39

BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah... 41

3.1.1 Gambaran umu Sistem ... 42

3.1.2 Contoh Proses Enkripsi dan Dekripsi RSA ... 43

3.2 Analisis Non Fungsional ... 45

3.2.1 Analisis Kebutuhan Sistem ... 45

3.2.1.1 Analisis Kebutuhan Perangkat Keras... 46

3.2.1.2 Analisis Kebutuhan Perangkat Lunak... 47

3.2.1.3 Analisis Jaringan ... 48

3.2.1.4 Analisis Pengguna ... 49

3.3 Analisis Masukkan dan Keluaran Sistem... 50

3.4 Analisis Proses Algoritma RSA ... 50

3.4.1 Proses Pembentukan Kunci Pada Algoritma RSA... 51

3.4.2 Proses Enkripsi Menggunakan RSA ... 51

3.4.3 Proses Dekripsi Menggunakan RSA... 52


(10)

3.5.2 Data Flow Diagram... 55

3.5.3 Spesifikasi Proses... 56

3.5.4 Kamus Data... 58

3.6 Perancangan Sistem... 59

3.6.1 Perancangan Prosedural ... 60

3.6.2 Bagan Alir Sistem ... 62

3.6.3 Diagram Alir Aplikasi KomDat LAN ... 62

3.7 Perancangan Struktur Menu ... 64

3.8 Perancangan Tampilan Antara Muka (interface design) ... 65

3.9 Jaringan Semantik ... 71

BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem ... 72

4.1.1 Perangkat Keras ... 72

4.1.2 Perangkat Lunak ... 73

4.1.3 Implementasi Aplikasi... 73

4.2 Pengujian Sistem ... 78

4.2.1 Skenario Pengujian ... 78

4.2.1.1 Pengujian Koneksi ... 79

4.2.1.2 Pengujian Kirim Pesan Teks ... 80

4.2.1.3 Pengujian Kirim File Teks ... 80


(11)

4.2.2 Analisa Hasil Pengujian Alpha ... 83 BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan... 84 5.2 Saran... 84 DAFTAR PUSTAKA


(12)

BAB I PENDAHULUAN

1.1 Latar Belakang

Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, seiring dengan kemajuan teknologi, teknologi instant messanger yang dulu hanya digunakan untuk melakukan percakapan dalam satu jaringan terpadu sekarang sudah bisa digunakan untuk saling bertukar file. Dengan berkembangnya teknik telekomunikasi dan sistem pengolahan data yang berkaitan erat dengan komunikasi antar pengguna komputer yang satu dengan pengguna komputer yang lain yang berfungsi untuk menyalurkan data, sehingga masalah keamanan menjadi salah satu aspek penting dari teknologi itu sendiri.

Dalam komunikasi data, terdapat sebuah metode pengamanan data yang dikenal dengan nama kriptografi. Kriptografi merupakan salah satu metode pengamanan data yang dapat digunakan untuk menjaga kerahasiaan data, keaslian data, serta keaslian pengirim. Metode ini bertujuan agar informasi yang bersifat rahasia yang dikirim melalui telekomunikasi umum seperti LAN atau internet tidak dapat diketahui atau dimanfaatkan oleh orang yang tidak berkepentingan atau yang tidak berhak menerimanya.

Dalam hal teknik pengamanan data, banyak metode kriptografi yang dapat digunakan. Metode-metode kriptografi tersebut mempunyai teknik dan cara


(13)

tersendiri. Langkah-langkah pengerjaan setiap metode pun berbeda-beda, baik dari segi panjang maupun kerumitan. Salah satu metode kriptografi yang akan diterapkan pada penulisan tugas akhir ini adalah metode RSA (Rivest-Shamir-Adleman).

Pada penulisan tugas akhir ini akan dilakukan perancangan dan pembangunan perangkat lunak untuk komunikasi data pada jaringan lokal dan penerapan sistem keamanan dengan teknik kriptografi algoritma RSA pada perangkat lunak tersebut, dan lebih menitik beratkan pada keamanan data waktu dikirim dan waktu diterima pada jaringan komputer.

Berdasarkan uraian diatas, penulis bermaksud untuk mengambil tugas akhir (skripsi) dengan judul “PERANCANGAN DAN PENERAPAN SISTEM KEAMANAN PADA PERANGKAT LUNAK KOMDAT LAN MENGGUNAKAN KRIPTOGRAFI DENGAN ALGORITMA RSA”.

1.2 Identifikasi Masalah

Berdasarkan latar belakang masalah yang diuraikan, dapat diidentifikasikan masalahnya, yaitu bagaimana membangun suatu perangkat lunak untuk komunikasi data pada jaringan komputer dan menerapkan teknik enkripsi-dekripsi dengan menggunakan kriptografi algoritma RSA pada perangkat lunak yang dibangun untuk menjaga keamanan data baik waktu dikirim ataupun waktu diterima.


(14)

1.3 Maksud dan Tujuan

Maksud penyusunan tugas akhir ini adalah untuk merancang suatu perangkat lunak untuk keamanan data dengan menggunakan kriptografi algoritma RSA.

Tujuan dari penyusunan tugas akhir ini yaitu :

1. Untuk merancang dan membangun sebuah perangkat lunak untuk melakukan komunikasi data pada jaringan komputer lokal.

2. Menerapkan teknik kriptografi algoritma RSA pada perangkat lunak yang dibangun untuk menjaga keamanan data dengan cara melakukan enkripsi pada data yang akan dikrim dan dekripsi pada data yang diterima baik berupa data teks ataupun file.

1.4 Batasan Masalah

Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam penulisan tugas akhir ini dibatasi pada bidang kajian yang akan dibahas yaitu :

1. Data yang akan dienkripsi hanya menangani teks dan file teks.

2. Algoritma Kriptografi yang digunakan adalah RSA (Rivest-Shamir-Adleman).

3. Permasalahan lebih dititik beratkan pada keamanan data saat dikirim dan diterima.


(15)

4. Panjang kunci yang digunakan 64 Bit.

5. Perangkat lunak ini dibangun pada perangkat komputer berbasiskan sistem operasi Windows XP Profesional.

6. Perangkat lunak dibangun menggunakan MS Visual Basic 6.0 yang berfungsi sebagai tempat penulisan script yang digunakan.

1.5 Metodologi Penelitian

Metodologi Penelitian merupakan tahapan-tahapan yang dilalui oleh peneliti mulai dari perumusan masalah sampai kesimpulan. Dalam penyelesaian Tugas Akhir ini, penulis menggunakan beberapa metode penelitian, antara lain :

1.5.1 Metode Penelitian

Metode Penelitian merupakan cara-cara atau teknik dalam melakukan suatu penelitian. Dalam pembuatan tugas akhir ini, penulis menggunakan metode penelitian Eksperimental yang berarti peneliti mengadakan kegiatan percobaan untuk melihat sesuatu hasil.

1.5.2 Metode Pengumpulan Data

Dalam penyusunan tugas akhir ini penulis menggunakan metode dan langkah pengumpulan data sebagai berikut :

a. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan metode kriptografi RSA.


(16)

b. Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap masalah yang diambil.

1.5.3 Metode Pembuatan Perangkat Lunak.

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya :

R e q u ire m e n ts D e fin itio n s

S ys te m a n d S o ftw a re D e s ig n

Im p le m e n ta tio n a n d U n it T e s tin g

In te g ra tio n a n d S ys te m T e s tin g

O p e ra tio n a l M a in te n a n c e

Gambar 1.1 Diagram Alir Secara Waterfall 1. Requirements Definitions

Maksudnya adalah untuk mengidentifikasikan masalah, menentukan penyebabnya, dan garis besar strategi untuk pemecahannya.

2. System and Software Design

Perancangan program aplikasi merupakan upaya untuk membangun desain sistem yang akan dibuat. Perancangan program aplikasi meliputi perancangan desain input dan output serta merancang menu program yang akan berfungsi untuk memudahkan pengguna untuk menjalankan sistem yang akan dibangun.


(17)

3. Implementation and Unit Testing

Hasil langkah ketiga adalah melakukan simulasi yang tengah dirancang pada langkah sebelumnya. Dengan melakukan simulasi dapat diketahui berfungsi atau tidaknya suatu sistem yang dibangun. Hasil dari simulasi ini akan dilakukan pada langkah kelima yaitu dengan melakukan pengujian validasi pada sistem tersebut.

4. Integration and System Testing

Hasil rancangan yang telah dibuat selanjutnya divalidasi, yang meliputi kegiatan konfirmasi dan konsultasi kepada dosen pembimbing. Selain itu tahap validasi ini dilakukan pengujian terhadap hasil rancangan dengan menguji cobakan data. Bila hasil rancangan ini dianggap belum valid, maka rancangan perlu diperbaiki atau dilengkapi.

5. Operational Maintenance

Pada langkah ini, akan dicoba hasil yang telah siap dioperasikan.

1.6 Sistematika Penulisan

Untuk mempermudah penulisan, maka penyusunan skripsi ini dibagi kedalam V (lima) bab, yaitu sebagai berikut :

BAB I. PENDAHULUAN

Bagian ini menguraikan tentang latar belakang masalah, identifikasi masalah, batasan masalah, maksud dan tujuan penelitian, metode pengumpulan data serta sistematika penulisan.


(18)

BAB II. LANDASAN TEORI

Bagian ini membahas tentang hal-hal yang berkaitan dengan kriptograpi, enkripsi dan dekripsi.

BAB III. ANALISIS DAN PERENCANAAN

Bagian ini menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti secara model matematis untuk analisisnya.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Bagian ini merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode dan kaidah yang diterapkan dalam penelitian. Termasuk menentukan variabel penelitian, identifikasi data yang diperlukan dan cara pengumpulannya, penentuan contoh penelitian dan teknik pengambilannya, serta metode/teknik analisis yang akan dipergunakan dan perangkat lunak yang akan dibangun jika ada.

BAB V. KESIMPULAN DAN SARAN

Bagian ini berisi kesimpulan dan saran yang sudah diperoleh dari pembahasan bagian sebelumnya.


(19)

BAB II

TINJAUAN PUSTAKA

2.1 Pengertian Kriptografi

Kriptografi secara umum merupakan ilmu dan seni untuk menjaga kerahasiaan berita. Kriptografi juga dapat diartikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Pada kriptografi tidak semua aspek keamanan informasi akan ditangani.

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi, yaitu sebagai berikut :

1. Kerahasiaan

Merupakan layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki kunci rahasia atau otoritas untuk membuka informasi yang telah disandikan.

2. Integritas data

Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk dapat menjaga integritas data, suatu sistem harus memiliki kemampuan untuk mendeteksi manipulasi data yang dilakukan pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pendistribusian data lain kedalam data yang asli.


(20)

3. Autentikasi

Berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan harus diautentikasi keasliannya, isi datanya, waktu pengiriman dan lain sebagainya.

4. Non-repudiasi

Merupakan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

2.2 Dasar Matematis

Cryptographic algorithm adalah fungsi matematika yang digunakan untuk enksripsi dan dekripsi. Umumnya terdapat dua fungsi yang berhubungan yaitu satu untuk enkripsi dan satu untuk dekripsi. Komponen atau elemen kriptografi terdiri dari :

1. Plaintext

Plaintext adalah sumber berita atau pesan atau teks asli. 2. Ciphertext

Ciphertext adalah teks asli yang sudah diproses (diacak, digantikan). 3. Algoritma & kunci

Misal : subsitusi (algoritma) & number of shift (kunci) Pemisahan algoritma & kunci ditemukan oleh Auguste Kerckhofs von Niewenhof 183).


(21)

Enkripsi merupakan proses pengkodean sebuah pesan sehingga isi dari pesan tersebut tidak diketahui. Dekripsi adalah proses kebalikan dari enkripsi yaitu mentranformasi pesan yang dienkripsi kembali menjadi bentuk semula. Sebuah sistem enkripsi dan dekripsi disebut cryptosystem. Bentuk asli dari sebuah pesan disebut dengan plaintext dan bentuk asli yang dienkripsi disebut ciphertext.

Gambar 2.1. Enkripsi dan Dekripsi

Plaintext dinotasikan dengan M (Message), yang dapat berupa bit tream, file text, digitized voice stream, digital video image atau lebih singkatnya M

adalah data binary. Ciphertext dinotasikan dengan C, juga berupa data binary yang kadang-kadang mempunyai ukuran yang sama dengan M, lebih kecil dari M

atau lebih besar dari M. Fungsi enkripsi E, berfungsi untuk mengubah M menjadi

C, dalam matematika dinotasikan dengan :

E(M) = C.

Fungsi dekripsi D, berfungsi untuk mengubah C menjadi M, dalam matematika dinotasikan dengan :

D(C) = M.

Apabila fungsi enkripsi E ditambahkan sebuah kunci K maka notasi matematikanya menjadi EK(M) = C dan untuk fungsi dekripsi D maka notasi matematikanya menjadi DK(C) = M.


(22)

2.3 Jenis Kriptografi

Kriptografi terbagi menjadi dua bagian, yaitu : 1. Private key cryptosystem ( sistem kripto kunci pribadi )

Yang dimaksud dengan sistem kripto kunci pribadi disini bersifat simetrik, dimana kunci atau password yang digunakan untuk mengunci dan membuka teks yang satu/sama. Dalam penggunaan kripto kunci pribadi, pengiriman kunci akan membutuhkan saluran khusus, dimana kelebihannya akan memberikan proses yang lebih cepat dibandingkan kripto kunci publik.

Gambar 2.2 Diagram Blok Kriptografi Dengan Kunci Pribadi

2. Public key cryptosystem (sistem kripto kunci publik)

Yang dimaksud dengan sistem kripto kunci publik disini bersifat asimetrik, dimana kunci atau password yang digunakan untuk mengunci dan membuka teks berbeda. Dalam penggunaanya kripto kunci publik membutuhkan waktu yang cukup lama ( membutuhkan komputasi yang tinggi ).

Kripto kunci publik mempunyai kelebihan dalam penguncian data, yaitu kunci dalan pengenkripsian lebih sedikit dibandingkan dengan kripto kunci privat. Kripto kunci publik disini membutuhkan penyimpanan kunci publik


(23)

yang terpercaya. Selain itu penggunaan kripto kunci publik akan komplek dikarenakan kemungkinan besar akan ada pihak ketiga.

Menurut stalling, proses enkripsi public key sederhana melibatkan empat tahap, yaitu sebagai berikut :

1. Setiap pengguna didalam jaringan membuat sepasang kunci untuk digunakan sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima.

2. Pengguna mempublikasikan kunci enkripsinya dengan menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang lain tetap dijaga kerahasiaannya.

3. Jika pengguna A ingin mengirimkan sebuah pesan ke pengguna B, ia akan mengenkripsi pesan tersebut dengan mengunakan kunci publik user B.

4. Pada saat pengguna B ingin membuka sebuah pesan dari pengguna A, ia akan menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa mendekripsi pesan itu, karena hanya B sendiri yang mengetahui kunci pribadi.

Sampai saat ini hanya ada beberapa sistem kriptografi asimetrik yang dipublikasikan. Yang paling berhasil sejauh ini adalah algoritma RSA yang memenuhi keenam persyaratan public-key diatas. Disamping itu, algoritma enkripsi public key yang lain adalah LUC, DSS, Diffie Hellman dan lain-lain.


(24)

Gambar 2.3 Diagram Blok Kriptografi Dengan Kunci Publik

2.4 Algoritma RSA (Rivest-Shamir-Adleman)

Algoritma RSA (Rivest-Shamir-Adleman) mulai diperkenalkan pada tahun 1976 oleh tiga orang peneliti dari MIT (Massachussetes Institute of Technology), yaitu Ronald Rivest, Adi Shamir, dan Leonard Adleman. Seperti sistem kunci publik lainnya, algoritma RSA ini berasal dari suatu permasalahan sukar (hard problem) teori matematika, yang dalam hal ini RSA berasal pada permasalahan pencarian faktor prima pada bilangan yang sangat besar.

Kunci enkripsi dan dekripsi pada algoritma ini keduanya merupakan bilangan bulat. Kunci untuk enkripsi merupakan kunci publik, sedangkan kunci untuk dekripsi merupakan kunci rahasia yang hanya diketahui oleh penerima pesan. Untuk membuat pasangan kunci publik dan rahasia, langkah-langkah dasarnya adalah sebagai berikut:

1. Pilih dua buah bilangan prima, kita pilih p dan q. Dari dua bilangan prima tersebut, dapat kita peroleh bilangan modulus n = p.q.


(25)

2. Pilih bilangan ketiga, e, yang bilangannya relatif prima (faktor pembagi terbesarnya =1) terhadap hasil perkalian (p-1) (q-1).

3. Hitung sebuah nilai d dari persamaan (ed-1)/[(p-1)(q-1)]. Bilangan d tersebut adalah kunci deskripsinya.

Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini r = p × q.

Sekali r berhasil difaktorkan menjadi p dan q, maka φ(r) = (p – 1) (q – 1) dapat dihitung. Selanjutnya, karena kunci enkrispi PK diumumkan (tidak rahasia), maka kunci dekripsi SK dapat dihitung dari persamaan PKSK≡ 1 (mod φ(r)).

Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit. Dengan demikian hasil kali r = p × q akan berukuran lebih dari 200 digit. Menurut Rivest dan kawan-kawan, usaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).

Algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan untuk menyandikan pesan.


(26)

2.5 Enkripsi dan Dekripsi 2.5.1 Enkripsi

Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan dekripsi. Enkripsi merubah sebuah plaintext ke dalam bentuk ciphertext. Pada mode ECB (Electronic Codebook), sebuah blok pada plaintext dienkripsi ke dalam sebuah blok ciphertext dengan panjang blok yang sama.

Blok cipher memiliki sifat bahwa setiap blok harus memiliki panjang yang sama (Misal 128 bit). Namun apabila pesan yang dienkripsi memiliki panjang blok terakhir yang tidak tepat 128 bit, maka diperlukan mekanisme padding, yaitu penambahan bit-bit dummies untuk menggenapi menjadi panjang blok yang sesuai, biasanya padding dilakukan pada blok terakhir plaintext.

2.5.2 Dekripsi

Dekripsi merupakan proses kebalikan dari proses enkripsi, merubah ciphertext ke dalam bentuk plaintext.

2.6 Konsep Dasar Perhitungan Matematis 2.6.1 Fungsi Phi-Euler

Fungsi Phi-Euler ( φ)n merupakan fungsi terhadap bilangan bulat positif n yang menyatakan banyaknya elemen ℤn yang mempunyai invers terhadap

operasi pergandaan. Ingat bahwa ℤn belum tentu merupakan grup terhadap operasi pergandaan. Dengan kata lain, ( φ)n adalah banyaknya elemen {x, 0 ≤ x < n | gcd( x , n = 1 }. Jika n = pq dengan p dan q adalah bilangan prima, maka ( φ)n = (p – 1) ( q - 1). Jika n adalah bilangan prima, maka ( φ)n = n -1.


(27)

2.6.2 Algoritma Euclide

Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar dari dua bilangan bulat. Algoritma ini didasarkan pada pernyataan berikut ini. Diberikan bilangan bulat r0 dan r1 , dengan r0 ≥ r1, kemudian dihitung

menggunakan algoritma pembagian : r0 = q1r1 + r2, 0 < r2 < r1 r1 = q2r2 + r3, 0 < r3 < r2 rn-2 = qn-1rn-1 + rn, 0 < rn < rn-1 rn-1 - qn rn

Dari pernyataan di atas, dapat ditunjukkan bahwa : gcd(r0, r1) =gcd(r1, r2) = … = gcd(rn-1, rn) = (rn,0) = rn.

Contoh 1. Akan dihitung gcd(40,24). Jawab : 40 = 1.24 + 16

24 = 1.16 + 8 16 = 2.8

Jadi, gcd(40,24)=8.

2.6.2.1 Algoritma Euclide Diperluas

Algoritma ini merupakan perluasan dari algoritma Euclide (Extended

Euclidean Algorithm), digunakan untuk mencari invers terhadap operasi

pergandaan. Algoritma ini didasarkan pada pernyataan berikut. Diberikan bilangan bulat positif r0 dan r1, r0 > r1. Jika gcd(r0, r1), maka r1-1 mod r0 ada. Jika

gcd(r0, r1) ≠ 1, r1-1 mod r0 tidak ada. Gunakan rumus rekurensi berikut ini : r0 = 0, t1 = 1


(28)

tj = tj-2 - qj – 1tj-1, j≥ 2 ……… (1)

Ket: qj diperoleh dari perhitungan gcd(r0, r1) menggunakan algoritma Euclide.

Jika gcd(r0, r1) = 1, r1-1= tn, sehingga rn = tnr1 atau 1 =tnr1

Contoh 2. Akan dihitung 28-1 mod 75 .

Diketahui r0 = 75 dan r1 = 28 r. Hitung gcd(75,28) menggunakan

algoritma Euclide, yaitu:

75 = 2.28 + 19 n = 1, r1= 28, q1= 2

28 = 2.19 + 9 n = 2, r2 = 19, q2= 2

19 = 2.9 + 1 n = 3, r3= 9, q3 = 2

9 = 9.1 n = 4, r4 = 1 , q4 = 9

Jadi, gcd(75,28) = 1, dengan kata lain 28-1 mod 75 ada.

Dari penyelesaian algoritma Euclide di atas diperoleh n = 4. Selanjutnya, menggunakan rumus rekurensi (1) di atas, diperoleh : (semua perhitungan dilakukan dalam mod 75)

t2= t0q1t1 = 0 – 2.1 = -2 = 73 t3 = t1q2t2= 1-1.(-2) = 3 t4= t2q3t3 = -2-2.3 = -8 = 67 r4 = t4r1 = 67.28 = 1 ↔ 67 = 28-1

Dari hasil terakhir di atas, diperoleh 28-1 mod 75= 67.

2.6.3 Metode Fast Exponentiation

Metode ini digunakan untuk menghitung operasi pemangkatan besar bilangan bulat modulo dengan cepat. Metode ini memanfaatkan ekspansi biner dari eksponennya dan didasarkan pada pernyataan berikut ini:


(29)

g2i+1 = ( g2i ) 2

Untuk lebih jelasnya mengenai langkah-langkah metode fast exponentiation, perhatikan contoh berikut ini.

Contoh 3. Akan dihitung 673 mod100 . Jawab :

73 = 1.26 + 1.23 + 1.20 atau 73 = ( 1001001 ) 2

(semua perhitungan dilakukan dalam mod 100)

6

20 =

6

,

6

21 =

36, 6

22 =

36

2 =

96, 6

23 =

16,

6

24 = 1

6

2 =

56

,

6

25 =

56

2=

36

,

6

26

56

2

= 96

Sehingga diperoleh:

6

73 =

6.6

23

.6

26

= 6.16.96 = 16

Jadi

673 mod100 = 16

2.7 Proses Algoritma RSA

Proses-proses yang digunakan oleh RSA terdiri dari pembentukan kunci, enkripsi, dan dekripsi, yaitu sebagai berikut :

2.7.1 Pembentukan Kunci

Berikut ini adalah proses pembentukan kunci. Proses ini dilakukan oleh pihak penerima, dalam hal ini adalah B.

1. Pilih bilangan prima p dan q. 2. Hitung n = pq .


(30)

3. Hitung j (n) = ( p -1)(q -1) .

4. Pilih sebarang bilangan b, 1 < b < j (n) , dengan gcd(b,j (n)) = 1. 5. Hitung invers dari b, yaitu a = b-1 modj (n) .

6. Kunci publik: (n, b) dan kunci rahasia: a.

Untuk mempermudah pemahaman dalam sandi RSA, maka plaintext yang digunakan hanya berupa bilangan 0 s/d 25 yang berkorespondensi dengan huruf a s/d z. tetapi pada penggunaan yang sebenarnya, digunakan korespondensi khusus seperti kode ASCII, serta bilangan-bilangan yang sangat besar. Dalam pemilihan p dan q harus memenuhi n = pq lebih dari atau sama dengan nilai plainteks yang mungkin. Dalam hal ini n = pq ≥ 25 .

Tabel 2.1 Korespondensi

a b c d e f g h i j k l m 1 2 3 4 5 6 7 8 9 10 11 12 13 n o p q r s t u v w x y z 14 15 16 17 18 19 20 21 22 23 24 25 26

2.7.2 Enkripsi RSA

Berikut ini adalah proses enkripsi RSA. Dilakukan oleh pihak pengirim, dalam hal ini adalah A. Seluruh perhitungan pemangkatan bilangan modulo dilakukan menggunakan metode fast exponentiation.

1. Ambil kunci publik (n,b).

2. Pilih plaintextm, dengan 0 ≤m n -1 . 3. Hitung c = mbmod n .


(31)

4. Diperoleh ciphertextc, dan kirimkan kepada B.

2.7.3 Dekripsi RSA

Berikut ini adalah proses dekripsi RSA. Dilakukan oleh pihak penerima ciphertext, yaitu B.

1. Ambil kunci publik (n,b) dan kunci rahasia a. 2. Hitung m = camod n .

2.8 Pengertian Jaringan Komputer

Jaringan komputer merupakan sekelompok komputer otonom yang saling berhubungan antara satu dengan yang lainnya menggunakan protokol komunikasi melalui media komunikasi sehingga dapat saling berbagi informasi, program-program, penggunaan perangkat keras bersama seperti printer, harddisk, dan sebagainya.

2.8.1 Jenis – Jenis Jaringan Komputer

Jenis-jenis jaringan komputer terdiri dari : 1.Local Area Network (LAN)

Local Area Network (LAN) merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan Workstation dalam kantor perusahaan atau pabrik-pabrik untuk memakai bersama resource (misalnya printer, scanner) dan saling bertukar informasi.


(32)

LAN dapat dibedakan dari jenis jaringan lainnya berdasarkan tiga karakteristik yaitu ukuran, teknologi transmisi dan topologinya. LAN mempunyai ukuran yang terbatas, yaitu berarti bahwa waktu transmisi pada keadaan terburuknya terbatas dan dapat diketahui sebelumnya. Dengan mengetahui keterbatasannya menyebabkan adanya kemungkinan untuk menggunakan jenis desain tertentu. Hal ini juga memudahkan manajemen jaringan.

2.Metropolitan Area Network (MAN)

Metropolitan Area Network (MAN) pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya memakai teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang berdekatan dan dapat dimanfaatkan untuk keperluan pribadi swasta atau umum. MAN biasanya mampu menunjang data dan suara, dan bahkan dapat berhubungan dengan jaringan televisi kabel.

MAN hanya memiliki sebuah kabel atau dua buah kabel dan tidak mempunyai elemen switching. Switching dapat digunakan atau berfungsi untuk mengatur paket melalui beberapa output kabel. Adanya elemen switching membuat rancangan menjadi lebih sederhana.

3.Wide Area Network (WAN)

Wide Area Network (WAN) adalah sebuah jaringan yang memiliki jarak yang sangat luas, karena radiusnya mencakup sebuah Negara dan benua. Pada sebagian besar WAN, komponen yang dipakai dalam


(33)

kabel transmisi dan elemen switching. Kabel transmisi berfungsi untuk memindahkan bit-bit dari satu komputer ke komputer lainnya, sedangkan elemen switching disini adalah sebuah komputer khusus yang digunakan untuk menghubungkan dua buah kabel transmisi atau lebih. Saat data yang dikirimkan sampai ke kabel penerima, elemen switching harus memilih kabel pengirim untuk meneruskan pesan-pesan tersebut.

4.Jaringan tanpa kabel

komputer mobile seperti komputer notebook dan Personal Digital Assitant (PDA), merupakan cabang industri komputer yang paling cepat pertumbuhannya. Banyak pemilik jenis komputer tersebut yang sebenarnya telah memiliki mesin-mesin desktop yang terpasang pada LAN atau WAN tetapi karena koneksi kabel tidaklah mungkin dibuat di dalam mobil atau pesawat terbang, maka banyak yang tertarik untuk memiliki komputer dengan jaringan tanpa kabel. Jaringan tanpa kabel mempunyai berbagai manfaat, yang telah umum dikenal adalah kantor

portable. Orang yang sedang dalam perjalanan seringkali ingin

menggunakan peralatan elektronik portablenya untuk mengirim atau menerima telepon, fax, e-mail, membaca file jarak jauh, login ke mesin jarak jauh dan sebagainya, juga ingin melakukan hal-hal tersebut di mana saja, darat, laut, udara. Jaringan tanpa kabel sangat berguna untuk mengatasi permasalahan-permasalahan tersebut.


(34)

2.8.2 Topologi Jaringan Komputer

Topologi jaringan komputer adalah pola hubungan antar terminal dalam suatu jaringan komputer. Bentuk topologi terbagi dua menjadi topologi secara logik dan topologi secara fisik. Bentuk topologi yang paling utama terdiri dari topologi bus, ring dan star, yaitu sebagai berikut :

1. Bus

Pada topologi bus semua terminal terhubung ke jalur komunikasi. Informasi yang dikirim akan melewati semua terminal pada jalur tersebut. Jika alamat yang tercantum dalam data atau informasi yang dikirim sesuai dengan alamat terminal yang dilewati, maka data atau informasi tersebut akan diterima dan diproses, jika alamat tersebut tidak sesuai, maka informasi tersebut akan diabaikan oleh terminal yang dilewati.

Gambar 2.4 Topologi Bus 2. Ring

Sistem ring menggunakan koneksi antar node berbentuk melingkar, sistem ini dikembangkan oleh IBM. Topologi ini mirip dengan topologi bus, tetapi kedua terminal yang berada di ujung saling dihubungkan. Setiap informasi yang diperoleh diperiksa alamatnya oleh terminal yang


(35)

dilewatinya. Jika bukan untuknya, informasi dilewatkan sampai menemukan alamat yang benar. Setiap terminal dalam topologi ini sangat tergantung, sehingga jika terjadi kerusakan pada satu terminal maka seluruh jaringan akan terganggu.

Gambar 2.5 Topologi Ring 3. Star

Sistem star menggunakan konsentrator untuk koneksi semua node, konsentrator ini bisa berupa hub ataupun switch. Pada topologi star, semua terminal pusat bertindak sebagai pengatur dan pengendali semua komunikasi data yang terjadi. Terminal-terminal lain terhubung padanya dan pengiriman data dari satu terminal ke terminal lainnya melalui terminal pusat. Terminal pusat akan menyediakan jalur komunikasi khusus untuk dua terminal yang akan berkomunikasi. Sebagai salah satu contoh penggunaan topologi ini adalah jaringan telepon.


(36)

Gambar 2.6 Topologi Star

2.8.3 Manfaat Jaringan Komputer

Manfaat komputer bagi manusia dapat dikelompokkan pada jaringan untuk perusahaan, jaringan untuk umum, dan masalah sosial jaringan.

1. Jaringan untuk perusahaan atau organisasi

Dalam membangun jaringan komputer di perusahaan atau organisasi, ada beberapa resource sharing, reliabilitas tinggi, lebih ekonomis, skabilitas, dan media komunikasi. Resource sharing bertujuan agar seluruh program, peralatan, khususnya data dapat digunakan oleh setiap orang yang ada pada jaringan tanpa terpengaruh oleh lokasi resource dan user (pemakai). Reliabilitas tinggi yaitu adanya sumber-sumber alternatif pengganti jika terjadi masalah pada salah satu perangkat dalam jaringan. Komputer yang lebih kecil memiliki rasio harga atau kinerja yang lebih baik dibanding dengan komputer besar. komputer mainframe memiliki kekuatan kurang lebih sepuluh kali lipat kecepatan komputer pribadi, akan tetapi harga mainframe seribu kalinya lebih mahal. Dengan selisih rasio harga/kinerja yang cukup besar ini menyebabkan perancang sistem


(37)

memilih membangun sistem yang terdiri dari komputer-komputer pribadi dibandingkan dengan mainframe.

Skalabilitas yaitu kemampuan untuk meningkatkan kinerja sistem secara berangsur-angsur sesuai dengan beban pekerjaan dengan hanya menambahkan sejumlah prosesor. pada komputer mainframe yang tersentralisasi, jika sistem sudah jenuh, maka komputer harus diganti dengan komputer yang mempunyai kemampuan lebih besar. hal ini membutuhkan biaya yang sangat besar dan dapat menyebabkan gangguan terhadap kontinyuitas kerja para pemakai. Sebuah jaringan komputer mampu bertindak sebagai media komunikasi yang baik bagi para pegawai yang terpisah secara jauh.

2. Jaringan untuk umum

Jaringan komputer akan memberikan layanan yang berbeda kepada perorangan di rumah-rumah dibandingkan dengan layanan yang diberikan pada perusahaan. Terdapat tiga hal pokok yang menjadi daya tarik jaringan komputer pada jaringan yaitu :

a.Akses ke informasi yang berada ditempat yang lebih jauh.

b.Komunikasi orang ke orang.


(38)

3. Masalah sosial jaringan

Penggunaan jaringan oleh masyarakat luas akan menyebabkan masalah-masalah sosial, etika, dan politik. Internet telah masuk ke segala penjuru kehidupan masyarakat, semua orang dapat memanfaatkannya tanpa memandang status sosial, usia dan jenis kelamin. Penggunaan internet tidak akan menimbulkan masalah selama subyeknya terbatas pada topik-topik teknis, pendidikan atau hobi, hal-hal dalam batas norma-norma kehidupan.

4. Layanan-layanan dalam jaringan komputer a. Layanan kirim data

Layanan ini berfungsi untuk melakukan proses kirim (send) ataupun menerima data (receive).

b. Layanan chatting (percakapan dalam jaringan lokal atau internet) Chatting adalah percakapan dalam bentuk tulisan yang diselenggarakan melalui jaringan internet. Pelaksanaanya tidak berbeda dengan percakapan telepon yang dapat dilaksanakan dengan siapapun/dimanapun dalam jangkauan jaringan telepon baik melalui saluran maupun dengan transmisi. Perbedaanya terletak pada bentuknya yang berupa komunikasi tulisan. Terdapat beberapa web site yang juga menyediakan fasilitas chatting bagi penggunanya dan ada pula web yang khusus untuk chatting. Pengguna hanya perlu memonitor nama-nama pengguna yang sedang online dalam chatting, selanjutnya menawarkan diri untuk untuk


(39)

bergabung dalam chatting, pengguna dapat pula terlebih dahulu mengadakan perjanjian untuk chatting dengan penggunalain.

2.9 Visual Basic

Microsoft Visual Basic adalah bahasa pemrograman yang digunakan untuk membuat aplikasi Windows yang berbasis grafis (GUI – Graphical User Interface). Visual Basic merupakan event-driven programming (pemrograman terkendali kejadian) artinya program menunggu sampai adanya respon dari pemakai berupa event/kejadian tertentu (tombol diklik, menu dipilih, dan lain-lain). Ketika event terdeteksi, kode yang berhubungan dengan event (prosedur event) akan dijalankan.

2.9.1 Sejarah Singkat Visual Basic

Berikut ini adalah point-point penting dalam sejarah perkembangan Visual Basic, sebagai berikut :

1. Visual Basic pertama kali diperkenalkan tahun 1991. 2. Berikutnya dirilis Visual Basic 3.0 tahun 1993.

3. Visual Basic 4.0 dirilis pada akhir tahun 1995 (tambahan dukungan untuk aplikasi 32 bit).

4. Visual Basic terbaru adalah versi 6.0 yang dirilis pada akhir tahun 1998. Microsoft umumnya membuat tiga edisi Visual Basic yaitu :

a. Standard Edition merupakan produk dasar.

b. Profesional Edition berisi tambahan Microsoft Jet Data Access Engine (database) dan pembuatan serverOLE automation.


(40)

c. Enterprise Edition adalah edisi client-server.

2.9.2 IDE Visual Basic

Langkah awal dari belajar Visual Basic adalah mengenal IDE (Integrated Developement Environment) Visual Basic yang merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan koding, melakukan testing dan debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien

Sesaat kita aktif di IDE Visual Basic, maka kita akan dihadapkan kepada suatu pilihan terhadap jenis Project yang ingin kita buat sebagaimana yang ditunjukkan oleh Gambar 2.7.

Sebagai langkah awal dari proses belajar adalah memilih project Standard EXE.


(41)

2.9.3 Jendela IDE

IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Visual Basic. Mungkin pada IDE anda hanya ditampilkan sebagian jendela , karena penampilan dari jendela-jendela tersebut dapat diatur dengan perintah pada menu View. Sebagai langkah awal dari proses belajar, tidak semua jendela akan kita gunakan, tetapi hanya beberapa yang penting, sedangkan yang lainnya bersifat khusus.

Adapun jendela-jendela yang perlu kita perhatikan adalah sebagai berikut:

1. Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll

2. Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat.

3. Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi anda. Anda dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R untuk menampilkan jendela project, ataupun menggunakan icon Project Explorer.

4. Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi anda. Jadi jendela ini menyerupai kanvas bagi seorang pelukis.


(42)

5. Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface.

6. Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7. 7. Jendela Properties, merupakan daftar properti-properti object yang

sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). Anda dapat menggunakan F4 untuk menampilkan jendela properti.

8. Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object.

9. Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime.

10.Jendela Toolbox merupakan jendela yang sangat penting bagi anda. Dari jendela ini anda dapat mengambil komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface.

11.Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah sebagai berikut :


(43)

12.Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda ingin memilih kontrol yang sudah berada pada form.

13.PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF (enhanced metafile), GIF, dan JPEG.

14.Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai.

15.TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris.

16.Frame adalah kontrol yang digunakan sebagai

kontainer bagi kontrol lainnya. Gambar 2.8 Toolbox

17.CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik padanya.

18.CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.


(44)

19.OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu.

20.ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu (bergantung pada property MultiSelect).

21.ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan. 22.HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar

berdiri sendiri.

23.Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Merupakan kontrol non-visual.

24.DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file.

25.Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, bulatan, oval.

26.Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol image menggunakan resource yang lebih kecil dibandingkan dengan PictureBox

27.Data digunakan untuk data binding

28.OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel, Word, dll.


(45)

2.9.4 Jenis File Pada Visual Basic

Proyek merupakan cikal bakal dari aplikasi dan terdiri dari beberapa file yang saling terkait satu sama lain, file-file tersebut mempunyai ekstensi yang berbeda-beda sesuai dengan isi dan fungsinya. Sebuah Proyek dapat terdiri atas:

a. File .VBF untuk tiap proyek

b. File .FRM untuk tiap form aplikasi pada sebuah proyek. c. File .VBX atau OCX untuk tiap custom pada sebuah proyek. d. File .BAS untuk tiap modul standar pada proyek.

e. File .CLS untuk tiap modul class pada sebuah proyek.

f. File .FRX untuk tiap form pada sebuah proyek yang memiliki control berproperti menggunakan data binary.

g. File .RES yaitu sebuah resource file pada sebuah proyek.

Dalam hal ini tidak perlu membuat seluruh file di atas. Karena apa saja yang dibutuhkan tergantung dari proyek yang sedang dikerjakan.

2.9.5 Komponen Pada Visual Basic

Komponen-komponen yang sering dipakai diantaranya: a. Modul Form (File berekstensi .FRM).

Merupakan kumpulan form yang berisi deskripsi secara grafis mengenai tampilan serta kontrol yang digunakan dalam sebuah proyek. Termasuk di dalamnya pengaturan properti yang digunakan oleh masing-masing kontrol. Disampimg itu rutin yang ditulis untuk masing-masing obyek pada form juga tersimpan pada file ini. Untuk aplikasi yang terdiri dari


(46)

banyak form, masing-masing form tersimpan dalam sebuah file berekstensi .FRM.

b. Modul Class (File Berekstensi .CLS)

Fungsinya sama dengan modul form tetapi terlihat dalam bentuk tampilan. Melalui modul ini bisa dicoba membuat sendiri obyek yang ingin ditampilkan. Masing-masing obyek yang dibuat harus mempunyai properti dan modul tersendiri.

c. Modul Standar (File berekstensi .BAS).

Modul ini berisi deklarasi tipe, konstanta, variabel eksternal procedure (prosedur yang menangani kejadian) dan public procedure. Biasanya file ini berisikan perhitungan atau logika yang kompleks.

d. File Resource (File berekstensi .RES).

File ini berisi bitmap, text string, atau data lainnya yang dapat diubah tanpa perlu mengedit kembali rutin. Biasanya file ini digunakan untuk mengubah bahasa pada user interface alokasi untuk pemakai berbahasa asing (selain yang digunakan oleh si pembuat aplikasi).

e. OLE Custom Control dan Insertable Objects (File berekstensi .OCX) File ini berisi custom dan Insertable Objects yang ditambahkan pada proyek anda.

f. VBX Custom Controls (File berekstensi .VBX).

Sama dengan file berekstensi .OCX namun hanya digunakan pada Visual Basic 4.0 versi 16 bit.


(47)

2.10 Pendekatan Rekayasa Perangkat Lunak 2.10.1 Pengertian Rekayasa Perangkat Lunak

Pengertian rekayasa perangkat lunak menurut Pressman (1992) : Pembentukan dan penggunaan dari prinsip-prinsip rekayasa yang baik untuk mendapatkan perangkat lunak ekonomis yang handal dan bekerja efisien pada mesin nyata.

Rekayasa perangkat lunak adalah :

1. Sekumpulan aktifitas-aktifitas kerja yang berkaitan erat dengan perancangan dan implementasi produk-produk dan prosedur-prosedur yang dimaksudkan untuk merasionalisasikan produksi perangkat lunak berikut pengawasannya. 2. Pendekatan sistematik dalam pengembangan, operasi, pemeliharaan perangkat

lunak.

Rekayasa perangkat lunak merupakan teknologi yang terdiri dari beberapa elemen (Pressman, 1992) yaitu :

1. Proses : Bertindak sebagai perekat yang mempertahankan teknologi dan memungkinkan pengembangan perangkat lunak menjadi rasional dan tepat waktu. Selain itu, proses juga mendefinisikan kerangka yang harus didirikan agar penyerahan teknologi rekayasa perangkat lunak menjadi efektif.

2. Metode : Menyediakan teknik bagaimana membangun perangkat lunak, meliputi tugas-tugas yang mencakup analisis, perancangan, implementasi (pemrograman), pengujian, dan pemeliharaan.

3. Alat bantu (tools) : Alat bantu yang digunakan saling terintegrasi sehingga informasi yang dihasilkan oleh suatu alat bantu dapat digunakan alat bantu


(48)

lainnya, maka sistemnya sering disebut Computer Aided Software Engineering (CASE).

2.10.2 Model Proses Waterfall (Pressman 1992)

Model ini memerlukan pendekatan yang sistematis dan sekuensial di dalam pengembangan sistem perangkat lunaknya, pengembangannya dimulai dari analisis dan definisi kebutuhan, perancangan sistem dan perangkat lunak, implementasi dan pengujian unit, integrasi dan pengujian sistem, operasi dan perawatan. Model Proses Waterfall dapat dilihat dalam gambar 2.9.

Gambar 2.9 Model Proses Waterfall

Dengan demikian, pada model ini terdapat aktifitas-aktifitas sebagai berikut :


(49)

Karena perangkat lunak merupakan bagian dari sistem yang lebih besar maka pengembangannya dimulai dari pengumpulan semua kebutuhan elemen-elemen sistem. Hal ini menjadi sangat penting karena perangkat lunak akan berkomunikasi dengan perangkat keras, data, manusia, dan bahkan dengan perangkat lunak lainnya.

2. Analisis.

Pada tahap ini dilakukan pengumpulan kebutuhan elemen-elemen di tingkat perangkat lunak. (requirement analysis). Dengan analisis, harus dapat ditentukan domain-domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan beserta unjuk kerjanya. Hasil akhir dari tahap ini adalah spesifikasi kebutuhan perangkat lunak.

3. Perancangan.

Pada tahap perancangan, kebutuhan-kebutuhan atau spesifikasi perangkat lunak, yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karateristik mudah dimengerti dan tidak sulit untuk diimplementasikan.

4. Pemrograman.

Pada tahap ini dilakukan implementasi hasil rancangan ke dalam baris-baris kode program yang dapat dimengerti oleh mesin (komputer).

5. Pengujian.

Pada tahap ini pengujian dilakukan pada setiap modul. Jika setiap modul selesai diuji dan tidak bermasalah, modul-modul tersebut segera diintegrasikan (dan dikompilasi) hingga membentuk suatu perangkat lunak yang utuh.


(50)

6. Pengoperasian dan Pemeliharaan.

Tahap ini ditandai oleh penyerahan perangkat lunak kepada pemesanannya yang kemudian dioperasikan oleh pemiliknya. Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu.

2.11 Flowchart

Flowchart adalah suatu alat yang cukup efisien untuk menggambarkan suatu algoritma agar dapat dengan mudah diimplementasikan pada suatu aplikasi. Tujuan utama penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana. Metode ini menggunakan simbol-simbol tertentu yang mudah dimengerti dan telah distandarisasi dalam menyelesaikan masalah yang dihadapi. Adapun simbol-simbol program flowchart dapat dilihat pada gambar 2.10.


(51)

SIMBO L KETERA NG A N

Te rm ina l Po int Sym b o l. d ig una ka n untuk me nunjukka n a wa l d a n a khir d a ri sua tu p ro se s.

Pre p a ra tio n Sym b o l. Simb o l Pe rsia p a n d ig una ka n untuk me mb e ri nila i a wa l Sua tu b e sa ra n a ta u va ria b e l ( ha rg a a wa l ).

Pro c e ss Sym b o l. Simb o l Pro se s a ta u Pe ng o la ha n d ig una ka n untuk me wa kili sua tu p ro se s, se p e rti p e ng o la ha n a ritma tika a ta u p e mind a ha n d a ta .

Pre d e fine d Pro c e ss Sym b o l. Simb o l Pro se s Te rd e fe nisi d ig una ka n untuk me nunjukka n sua tu o p e ra si ya ng rinc ia nnya d itunjukka n d i te mp a t la in a ta u untuk p ro se s ya ng d e tilnya d ije la ska n te rp isa h, misa lnya b e rb e ntuk sub ro utine .

De c isio n Sym b o l. Simb o l Ke p utusa n d ig una ka n untuk me wa kili o p e ra si p e rb a nd ing a n lo g ika a ta u sua tu p e nye le ksia n ko nd isi d i d a la m p ro g ra m.

Inp ut/ O utp ut Sym b o l. Simb o l Inp ut/ O utput d ig una ka n untuk me nya ta ka n d a n me wa kili d a ta ma suka n a ta u ke lua ra n.

C o nne c to r Sym b o l. Simb o l Pe ng hub ung d ig una ka n untuk me nunjukka n sa mb ung a n d a ri b a g a n a lir ya ng te rp utus d i ha la ma n ya ng ma sih sa ma .

O ff- p a g e C o nne c to r. Simb o l Pe ng hub ung Ha la m a n la in d ig una ka n untuk me nunjukka n hub ung a n a rus p ro se s ya ng te rp utus d e ng a n sa mb ung a nnya a d a d i ha la ma n ya ng la in.

Flo w Line s Sym b o l. Simb o l G a ris A lir d ig una ka n untuk me nunjukka n a lira n a ta u a rus d a ri p ro se s.


(52)

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Masalah

Analisis masalah bertujuan untuk mengidentifikasi permasalahan-permasalahan yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat keras (hardware), perangkat lunak (software) dan pengguna (user). Analisis ini diperlukan sebagai dasar bagi tahapan perancangan sistem. Analisis sistem meliputi identifikasi permasalahan, analisis sistem, analisis kriptografi, analisis proses enkripsi, analisis proses dekripsi.

Keamanan informasi adalah suatu keharusan yang perlu diperhatikan apalagi jika informasi itu bersifat rahasia. Ketika suatu data dikirim melalui jaringan komputer, data akan melewati sejumlah komputer lainnya, sehingga memberi kesempatan kepada pengguna komputer lain untuk menyadap dan mengubah data tersebut.

Sistem keamanan informasi pada jaringan komputer harus direncanakan dan dipahami dengan baik, agar dapat melindungi sumber daya dan investasi jaringan komputer tersebut secara efektif. Berdasarkan hal tersebut kita harus menentukan siapa saja yang berhak untuk akses sehingga keamanan data dan informasi yang berada didalamnya dapat dilindungi dari ancaman yang ditimbulkan oleh akses yang illegal.


(53)

3.1.1 Gambaran Umum Sistem

Dalam hal penerapan sistem keamanan dengan menggunakan kriptografi algoritma RSA pada proses komunikasi data, maka dibangun sebuah aplikasi yang diberi nama KomDat LAN.

Aplikasi ini digunakan untuk melakukan chatting (percakapan) dan pengiriman data (send/receive) dalam sebuah jaringan komputer, baik jaringan lokal ataupun internet. Dengan melakukan enkripsi terhadap teks ataupun berkas yang akan dikirimkan, dan melakukan dekripsi terhadap teks atau berkas yang akan diterima maka keamanan data tersebut akan terjaga dari upaya orang yang tidak berhak untuk melakukan penyusupan atau penyadapan.

Ketika user menggunakan aplikasi KomDat LAN ini, user tidak perlu

memasukkan kunci untuk enkripsi ataupun dekripsi, user pada sisi pengirim cukup mengirimkan teks atau berkas dan user pada sisi penerima akan menerima teks atau berkas dalam keadaan sudah terdekripsi. Penjelasan lebih lengkap dapat dilihat pada gambar 3.1.  


(54)

A (pengirim) C (Penyadap) B (penerima) Laptop PC Desktop PC Desktop

Switch Kunci Publik Enkripsi Dekripsi Kunci Private Cipherteks Plainteks Cipherteks Plainteks Cipherteks Kunci Publik Kunci Publik

Layanan Chattingdan Kirim Berkas

Gambar 3.1 Proses Komunikasi KomDat LAN 

3.1.2 Contoh Proses Enkripsi dan Dekripsi RSA

Misalkan input key p = 5, dan q = 11, maka proses pembentukan kunci adalah sebagai berikut :

1. Mencari nilai n, yaitu hasil dari p.q

n = 5.11

= 55

2. Mencari nilai m, yaitu hasil dari (p-1).(q-1)

m = (5-1).(11-1)

= 4.10


(55)

3. Mencari nilai relatif prima (e) / GCD dari m,

GCD (e) = 13

4. Mencari nilai kunci private (d), d = (1 + m.n ) / e

d = (1+40.55) / 13

= 37

5. Didapatkan kunci public (n,e), dan kunvi private (n,d)

Kunci publik = 55,13

Kunci private = 55,37

Misalkan dimasukkan plainteks : “unikom”, maka proses enkripsi sebagai berikut :

Menggunakan table 3.1 diperoleh m1=22, m2=15, m3=10, m4=12, m5=16, m6=14. Selanjutnya dihitung :

c1 = m1e mod n = 2213 mod 55 = 22

c2 = m2e mod n = 1513 mod 55 = 20

c3 = m3e mod n = 1013 mod 55 = 10

c4 = m4e mod n = 1213 mod 55 = 12

c5 = m5e mod n = 1613 mod 55 = 26


(56)

Jadi cipherteksnya adalah 22-20-10-12-26-49, selanjutnya A mengirimkan cipherteks ke B.

Setelah B menerima cipherteks dari A, yaitu 22-20-10-12-26-49, maka diambil kunci rahasia d = 37, dan dilakukan perhitungan berikut :

m1 = c1d mod n = 2237 mod 55 = 22

m2 = c2d mod n = 2037 mod 55 = 15

m3 = c3d mod n = 1037 mod 55 = 10

m4 = c4d mod n = 1237 mod 55 = 12

m5 = c5dmod n = 2637 mod 55 = 16

m6 = c6d mod n = 4937 mod 55 = 14

Diperoleh plainteks 22-15-10-12-16-14, jika dikorespondensikan dengan tabel 3.1, diperoleh pesan asli yang dikirimkan oleh A, yaitu “unikom”.

3.2 Analisis Non Fungsional

3.2.1 Analisis Kebutuhan Sistem

Sistem yang akan dibangun dalam tugas akhir ini, dirancang sebagai sistem keamanan dalam pengiriman pesan atau pun berkas, karenanya sistem ini dapat memenuhi kebutuhan-kebutuhan, antara lain sebagai berikut :


(57)

1. Aplikasi KomDat LAN ini dapat dijalankan pada Komputer dengan Sistem Operasi Windows.

2. Aplikasi KomDat LAN ini dapat melakukan proses enkripsi ketika

mengirim Pesan ataupun berkas.

3. Aplikasi ini dapat melakukan dekripsi pada teks ataupun berkas

yang telah terenkripsi.

Dalam pengoperasiannya sistem ini membutuhkan perangkat keras (Hardware) dan perangkat lunak (Software) pendukung dengan spesifikasi sebagai berikut :

3.2.1.1 Analisis Kebutuhan Perangkat Keras

Pada dasarnya komputer merupakan sebuah sistem yang terdiri dari beberapa komponen saling berhubungan dan menghasilkan fungsi dasar : input,

proses, output dan storage. Dengan kata lain sebuah komputer adalah sebuah

sistem yang terdiri dari beberapa komponen dan fungsi perangkat keras yaitu yang mendukung proses komputerisasi.

Perangkat keras yang dibutuhkan untuk implementasi sistem yang akan dibuat. Adapun perangkat keras yang dibutuhkan antara lain :

1. Komputer server

Prosesor : P IV 2 GHZ

Memori : DDR 512 GB


(58)

Monitor : LG 17"

Kartu Jaringan

Keyboard dan Mouse

2. Komputer Klien

Prosesor : Intel PIII 933 MHZ

Memori : SDRam 128 MB

Hardisk : 10GB

Monitor : LG 15"

Kartu Jaringan

Keyboard dan Mouse

3.2.1.2 Analisis Kebutuhan Perangkat Lunak

Pada bagian ini dijelaskan mengenai kebutuhan perangkat lunak (software) dari aplikasi KomDat LAN, adapun perangkat lunak yang dibutuhkan antara lain :

1. Perangkat lunak ini dibangun pada perangkat komputer berbasiskan

sistem operasi Windows XP Profesional.

2. Adapun perangkat lunak dibangun menggunakan Microsoft Visual


(59)

Secara keseluruhan sistem operasi yang digunakan pada setiap komputer adalah Windows XP. Untuk pengolahan sistem maka diperlukan perangkat lunak penunjang untuk melakukan proses tersebut. Perangkat lunak yang diusulkan

dalam pembuatan sistem kamanan ini adalah Visual Basic alasan penulis

menggunakan Visual Basic yaitu dikarenakan Visual Basic menawarkan

kemudahan dalam mengembangkan aplikasi serta berbasis GUI ( Graphical User Interface )

3.2.1.3 Analisis Jaringan

Koneksi jaringan yang ada menggunakan switch sebagai penghubung antar komputer. Proses pengiriman data berlangsung tanpa adanya sistem keamanan yang menjamin keaslian dan keakuratan data, disebabkan adanya interupsi dari komputer yang tidak berhak dalam pengaksesan data.

Berikut ini adalah gambar lingkungan pengguna komputer yang ada.


(60)

Penulis membangun suatu jaringan client – server dimana menggunakan topologi star. Usulan untuk gambaran jaringan komputer yaitu digunakannya aplikasi KomDAt LAN pada tiap komputer, dengan spesifikasi satu komputer

sebagai server dan satu lagi digunakan sebagai client dimana jaringan yang

digunakan menggunakan topologi star.

Gambar 3.3 Arsitektur Jaringan Komputer

3.2.1.4 Analisis Pengguna

1. Yang mempunyai hak akses untuk menggunakan aplikasi KomDat

LAN.


(61)

3.3 Analisis Masukan dan Keluaran Sistem

Pada sistem ini yang akan menjadi inputan adalah teks dan berkas yang akan dibuat.

Sedangkan yang menjadi keluaran adalah sebagai berikut :

1. Teks dan berkas Enkripsi

2. Teks dan berkas yang telah di dekripsi.

3.4 Analisis Proses Algoritma RSA

 


(62)

3.4.1 Proses Pembentukan Kunci Pada Algoritma RSA

Proses pembentukan kunci pada metode algoritma RSA adalah sebagai berikut :

1. Pilih dua buah bilangan prima p dan q secara acak, p ≠ q.

2. Hitung n = pq.

3. Hitung m = (p-1) (q-1).

4. Pilih bilangan bulat (integer) antara 1 dan m (1 < e < m) yang tidak mempunyai factor pembagi dari m.

5. Hitung d hingga d e ≡ 1 (mod m) atau bisa ditulis d = ( 1+m.n ) / e

Setelah langkah ini selesai, didapatkan kesimpulan :

Public key

n,e

Secret key

n,d

3.4.2 Proses Enkripsi Menggunakan RSA

Berikut ini adalah proses enkripsi RSA. Dilakukan oleh pihak pengirim, dalam hal ini adalah A. seluruh perhitungan pemangkatan bilangan modulo dilakukan menggunakan metoda fast exponentiation.

1. Ambil kunci publik (n,e)


(63)

3. Hitung c = pe mod n.

4. Diperoleh cipherteks c, dan kirimkan kepada B.

3.4.3 Proses Dekripsi Menggunakan RSA

Berikut ini adalah proses dekripsi RSA. Dilakukan oleh penerima cipherteks, yaitu B.

1. Ambil kunci public (n,e) dan kunci rahasia d.

2. Hitung p = cdmod n.

3. Diperoleh plainteks p.

3.4.4 Konversi Plainteks ke Bilangan Sequent

Seluruh teks (plainteks) yang akan dienkripsi harus dikonversikan terlebih dahulu kedalam bentuk bilangan sequent, karena proses enkripsi yang dilakukan adalah proses perhitungan matematis (mod), sehingga teks yang sudah menjadi bilangan dapat langsung di ekripsi dengan algoritma RSA yang sudah ditetapkan.

A B C D E ….. Z

2 3 4 5 6 ….. 28


(64)

0 dan 1 tidak dijadikan referensi konversi teks ke bilangan karena apabila “0” dan “1” dienkripsi dengan menggunakan kunci public maka hasilnya tetap, sehingga proses konversi dimulai dari 2, sebagai contoh, A=2, B=3, dan seterusnya.

3.5 Analisis Fungsional 3.5.1 Diagram Konteks

Diagram Konteks merupakan gambaran aliran data dari suatu sistem atau perangkat lunak secara global, yang bertujuan untuk memudahkan pemahaman terhadap suatu sistem atau perangkat lunak tersebut. Pada intinya diagram konteks mendeskripsikan ruang lingkup sistem atau perangkat lunak dan interaksi yang terjadi dengan entitas-entitas luarnya.  

Gambar 3.6 dibawah ini menjelaskan tentang diagram konteks dari sistem kriptografi. 

Pengirim

Penerim a Sistem kriptografi

Plainteks, kunci publik

Plainteks Kunci Private


(65)

Gambar 3.6 Diagram Konteks menerangkan tentang suatu sistem dari Kriptografi atau cara kerja dari Kriptografi. Dalam gambar diatas, input yang digunakan adalah Plaintext yaitu berupa berkas asli yang akan di-enkripsi, kemudian diproses dalam sistem kriptografi untuk menghasilkan output berupa ciphertext yaitu berupa berkas yang sudah ter-enkripsi. Sistem Kriptografi juga akan menghasilkan ciphertext yang akan dikembalikan lagi menjadi plaintext.

3.5.2 Data Flow Diagram

DFD merupakan hasil pemodelan analisis yang merupakan pecahan dari diagram konteks ke tingkat atau level selanjutnya yang lebih spesifik. Gambaran pada DFD dan seterusnya haruslah konsisten sampai ke tingkat terkecil atau tingkat paling primitive yang bisa dicapai.

Dalam gambar 3.7 dibawah ini, menjelaskan tentang proses dari sistem kriptografi.

Gambar 3.6 Data Flow Diagram Level 1

Gambar 3.7 Data Flow Diagram Level 1 menerangkan tentang sistem kerja dari kriptografi. Langkah awal yaitu dengan meng-input plaintext (berkas asli) yang akan dienkripsi. Dalam proses enkripsi, akan menghasilkan output berupa berkas hasil enkripsi yang disebut ciphertext (berkas sudah teracak).


(66)

Proses dekripsi dilakukan untuk mengembalikan ciphertext menjadi berkas asli (plaintext).

 

Gambar 3.7 Data Flow Diagram Level 1 Proses 1

Gambar 3.8 Data Flow Diagram Level 1 Proses 1 menerangkan tentang sistem kerja dari proses konversi dan enkripsi. Langkah awal yaitu dengan meng-input plaintext (berkas asli) yang akan dikonversi. Dalam proses konversi, akan menghasilkan berkas dalam bentuk nilai sequent. Kemudian berkas hasil konversi di enkripsi sehingga menghasilkan output berupa berkas hasil enkripsi yang disebut ciphertext (berkas sudah teracak). Proses dekripsi dilakukan untuk mengembalikan ciphertext menjadi berkas asli (plaintext).

Gambar 3.8 Data Flow Diagram Level 1 Proses 2

Gambar 3.9 Data Flow Diagram Level 1 Proses 2 menerangkan tentang sistem kerja dari proses dekripsi. Langkah awal yaitu dengan meng-input cipherteks (berkas sudah teracak) yang akan didekripsi. Dalam proses dekripsi, akan menghasilkan output berupa berkas sequent yang kemudian dilakukan proses


(67)

konversi untuk mengembalikan berkas dalam bentuk teks. Proses dekripsi dilakukan untuk mengembalikan ciphertext menjadi berkas asli (plaintext).

3.5.3 Spesifikasi Proses

Spesifikasi proses merupakan deskripsi dari setiap elemen proses yang terdapat dalam program, yang meliputi nama proses, input, output dan keterangan proses.

Penggunaan algoritma RSA pada simulasi kriptografi seperti telah disebutkan, menerapkan beberapa proses yang saling berhubungan sehingga akan membentuk suatu sistem utuh yang diharapkan. Berikut ini spesifikasi proses aplikasi KomDat LAN.

Tabel 3.2 Spesifikasi Proses Aplikasi KomDat LAN

Proses Keterangan

No. Proses 1.1

Nama Proses Konversi ke bilangan sequent

Input Teks atau file dari pengguna berupa plainteks Output Teks atau file dalam bentuk bilangan sequent Logika Proses Begin

{pengguna memasukkan teks atau file berupa plainteks} End

Proses Keterangan

No. Proses 1.2


(68)

Input Teks atau file dalam bentuk bilangan sequent Output Teks atau file dalam bentuk cipherteks

Logika Proses Begin {sistem memasukkan teks atau file berupa bilangan sequent} End

Proses Keterangan

No. Proses 2.1

Nama Proses Dekripsi teks atau file

Input Teks atau file berupa cipherteks

Output Teks atau file dalam bentuk bilangan sequent Logika Proses Begin

{sistem memasukkan teks atau file berupa bilangan sequent} End

Proses Keterangan

No. Proses 2.2

Nama Proses Konversi ke bentuk teks

Input Teks atau file dalam bentuk bilangan sequent Output Teks atau file dalam bentuk plainteks

Logika Proses Begin {sistem memasukkan teks atau file berupa bilangan sequent} End


(69)

3.5.4 Kamus Data

Kamus data ikut berperan dalam perancangan dan pembangunan sistem informasi. Berfungsi untuk menjelaskan semua data yang digunakan didalam sistem. Berikut adalah kamus data untuk sistem informasi yang dibangun

Tabel 3.3 Kamus Data

Nama Data plainteks

Deskripsi Berisi teks atau file dalam bentuk plainteks

Struktur data Teks + File

Teks [A..Z | a..z | 0..9]

File [A..Z | a..z | 0..9]

Nama Data bilangan sequent

Deskripsi Berisi teks atau file plainteks yang dikonversi

Struktur data Bilangan sequent

Bilangan sequent [0..255]

Nama Data cipherteks

Deskripsi Berisi teks atau file yang sudah terenkripsi

Struktur data Teks + File

Teks [# | 0..9]


(70)

3.6 Perancangan Sistem

Perancangan akan dimulai setelah tahap analisis terhadap sistem selesai dilakukan. Perancangan dapat didenifisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Tahapan ini menyangkut mengkonfigurasi dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga setelah instalasi dari sistem akan benar-benar memuaskan dari rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem. Alat bantu yang digunakan untuk menggambarkan perancangan sistem secara umum yang akan dibangun. Untuk menjelaskan bagaimana suatu masukan diproses pada sistem maka digunakan spesifikasi proses dan kamus data untuk mengetahui aliran data yang mengalir pada sistem.


(71)

3.6.1 Perancangan Prosedural

Proses enkripsi, dapat dilihat pada gambar 3.10 dibawah ini :

 

Gambar 3.9 Flow Chart Form Enkripsi Teks

Gambar 3.10 diatas menerangkan tentang flow chart dari proses enkripsi. Untuk memulai suatu proses enkripsi, maka harus terlebih dahulu memilih suatu berkas yang akan dienkripsi. Berkas asli (sebelum dienkripsi) disebut plaintext. Kemudian akan muncul suatu konfirmasi enkripsi pesan. Jika menjawab ’ya’ maka proses selanjutnya yaitu memasukkan kunci untuk proses enkripsi. Jika menjawab ’tidak’ maka proses enkripsi berakhir. Suatu berkas yang telah dienkripsi akan berubah menjadi berkas dalam bentuk sandi yang disebut ciphertext. Ciphertext kemudian disimpan dalam suatu alamat dan proses enkripsi berakhir.


(72)

Proses Dekripsi dapat dilihat pada gambar 3.11 berikut ini :

Gambar 3.10 Flow Chart Form Dekripsi Teks

Gambar 3.11 diatas menerangkan tentang flow chart dari proses dekripsi. Untuk memulai suatu proses dekripsi, maka harus terlebih dahulu memilih suatu berkas yang akan didekripsi. Berkas yang akan didekripsi berbentuk ciphertext yaitu berkas yang berbentuk sandi. Kemudian akan muncul suatu konfirmasi dekripsi pesan. Jika menjawab ’ya’ maka proses selanjutnya yaitu memasukkan kunci untuk proses dekripsi. Kunci yang digunakan untuk proses dekripsi harus sama dengan kunci yang digunakan pada proses enkripsi. Jika menjawab ’tidak’ maka proses dekripsi berakhir. Suatu berkas yang telah didekripsi akan berubah menjadi


(73)

berkas asli yang disebut plaintext. Plaintext kemudian disimpan dalam suatu alamat dan proses enkripsi berakhir.

3.6.2 Bagan Alir Sistem

Bagan alir sistem (system flowchart) marupakan bagan yang menunjukkanatas pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan prosedur-prosedur yang ada dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan oleh sistem.

3.6.3 Diagram Alir Aplikasi KomDat LAN

 


(74)

Dari gambar 3.11 maka dapat diuraikan penjelasan diagram alir proses sebagai berikut :

1. Inisialisasi password

Proses ini untuk memvalidasi password sebagai autentikasi pengguna yang berhak menggunakan aplikasi versi server.

2. Inisialisasi pengguna

Proses ini untuk menginisialisai pengguna yang akan memulai menggunakan aplikasi KomDat LAN dengan memasukkan nama,

nama tersebut akan ditampilkan pada judul form dan sebagai

pengenal pada komputer lain.

3. Koneksi

Proses ini untuk mengkoneksikan dua komputer yang akan melakukan komunikasi.

4. Putus koneksi

Proses ini untuk memutuskan koneksi diantara dua komputer untuk mengakhiri komunikasi.

5. Input/output data teks/berkas

Proses ini untuk mengirimkan dan menerima data dalam tampilan teks ataupun dalam bentuk berkas.


(75)

3.7 Perancangan Struktur Menu

Struktur menu dibangun untuk menjelaskan perancangan menu proses yang dapat digunakan oleh pengguna. Struktur menu secara umum yang dibuat dalam sistem ini terdiri dari menu-menu dan sub menunya.

Perancangan struktur menu aplikasi KomDat LAN yang akan dibangun dapat dilihat pada gambra dibawah ini :

1. Aplikasi model server

Gambar 3.12 Struktur Menu Aplikasi Model Server

2. Aplikasi model klien

 


(76)

3.8 Perancangan Tampilan Antar Muka (interface design)

Perangkat lunak KomDat LAN dirancang dengan menggunakan bahasa

pemrograman Microsoft Visual Basic 6.0 dengan beberapa komponen standar

seperti Text Box, Picture Box, Label, Shape, dan sebagainya. Desain perangkat lunak dirancang dengan menggunakan aplikasi Adobe Photoshop C.S.

Perangkat lunak pembelajaran ini memiliki beberapa form, seperti :

1. Form Splash

2. Form Nama

3. Form Utama

4. Form Kirim (Server)

5. Form Kirim (Klien)

6. Form E-mail

7. Form Author


(77)

Gambar 3.14 Rancangan Antar Muka Form Splash


(78)

(79)

 


(80)

 

Gambar 3.18 Rancangan Antar Muka Form Kirim File Server


(81)

Gambar 3.20 Rancangan Antar Muka Form E-mail


(82)

Gambar 3.22 Rancangan Antar Muka Form About

3.9 Jaringan Semantik

Jaringan Sematik Model Server Jaringan Semantik Model Klien


(1)

Kasus dan Hasil Uji (Data Salah)

Data Masukan Data nama komputer server dan komputer klien

Yang Diharapkan Tidak dapat masuk ke form utama dan menampilkan pesan “nama komputer tidak boleh kosong”

Pengamatan Form utama tidak dapat ditampilkan dan memberikan pesan “server tidak aktif/penuh”

Kesimpulan Diterima

4.2.1.2 Pengujian Kirim Pesan Teks

Tabel 4.4 Pengujian Kirim Pesan Teks Kasus dan Hasil Uji (Data Normal) Data Masukan Teks Pesan

Yang Diharapkan Teks pesan tercantum pada TextBox pesan

Pengamatan Dapat mengisi TextBox pesan, enkripsi teks pesan dapat dilakukan dan tombol kirim berfungsi sesuai yang diharapkan

Kesimpulan Diterima

4.2.1.3 Pengujian Kirim File Teks

Tabel 4.5 Pengujian Kirim File Teks Kasus dan Hasil Uji (Data Normal) Data Masukan Teks File, kunci

Yang Diharapkan Teks File tercantum pada TextBox file

Pengamatan Dapat mengisi file dan ditampilkan pada TextBox file, enkripsi file dapat dilakukan dan tombol kirim berfungsi sesuai yang diharapkan

Kesimpulan Diterima

Kasus dan Hasil Uji (Data Salah)

Data Masukan Format file bukan txt, dan ukuran file melebihi batas yang ditentukan, kunci enkripsi tidak sesuai dengan kunci dekripsi


(2)

81

Yang Diharapkan Teks File tidak tercantum pada TextBox file enkripsi file tidak dapat dilakukan dan menampilkan pesan “tidak ada file yang dipilih” dan “ukuran file melebihi batas yang ditentukan”

Pengamatan Teks File tidak tercantum pada TextBox file enkripsi file tidak dapat dilakukan dan menampilkan pesan “tidak ada file yang dipilih”

Kesimpulan Diterima

4.2.1.4 Pengujian Terima Pesan Teks

Tabel 4.6 Pengujian Terima Pesan Teks Kasus dan Hasil Uji (Data Normal) Data Masukan Teks Pesan yang sudah terenkripsi

Yang Diharapkan Dekripsi pesan dilakukan secara otomatis, teks pesan ditampilkan pada RichTextBox pesan,

Pengamatan Teks pesan yang telah didekripsi ditampilkan pada RichTextBox

Kesimpulan Diterima

4.2.1.5 Pengujian Terima File Teks

Tabel 4.7 Pengujian Terima File Teks Kasus dan Hasil Uji (Data Normal) Data Masukan Teks File Yang sudah terenkripsi, kunci Yang Diharapkan Teks File tercantum pada TextBox file

Pengamatan File ditampilkan pada TextBox file, dan tombol simpan berfungsi sesuai yang diharapkan

Kesimpulan Diterima

Kasus dan Hasil Uji (Data Salah) Data Masukan Kunci dekripsi


(3)

tidak dapat dilakukan, keluar dari aplikasi

Pengamatan Teks File tidak tercantum pada TextBox file, dekripsi file tidak dapat, keluar dari aplikasi

Kesimpulan Diterima

Tabel 4.8 Pengujian Fungsioanal Sistem

NO Nama Proses Hasil Pengujian Keterangan

1. Koneksi Berhasil Proses Berjalan

2. Enkripsi Berhasil Proses Berjalan

3. Dekripsi Berhasil Proses Berjalan

4. Kirim Berhasil Proses Berjalan

5. Terima Berhasil Proses Berjalan

Hasil pengujian menampilkan status uji dari masing-masing proses yang telah dilakukan. Hasil pengujian proses enkripsi pada komputer dengan menggunakan emulator dapat dilihat pada tabel 4.4 sebagai berikut :

Tabel 4.9 Pengujian Waktu Proses Enkripsi dan Dekripsi File Teks

Nama File

Kapasitas File Awal (Byte)

Lama Enkripsi (s)

Lama Dekripsi (s)

Kapasitas File Akhir (Byte)

1.txt 36 0.01 0.01 36 2.txt 72 0.01 0.01 72 3.txt 146 0.01 0.01 146 4.txt 292 0.02 0.02 292


(4)

83

5.txt 584 0.02 0.02 584

6.txt 803 0.02 Crash -

Pada pengujian dengan ukuran file diatas 584 bytes, pada proses pendekripsian file, aplikasi mengalami looping yang panjang sehingga mengkibatkan aplikasi tidak dapat memberikan respond sesuai yang diharapkan. Hasil analisa, aplikasi tidak memberikan respond dikarenakan proses pendekripsian seacara perkarakter. Sehingga jika satu file mempunyai ukuran yang sangat besar akan berpengaruh terhadap panjang file.

Cara pemecahanya adalah dengan memberikan ketentuan besar file yang akan dikirimkan tidak lebih dari 584 bytes.

4.2.2 Analisa Hasil Pengujian Alpha

Berdasarkan hasil pengujian alpha dengan kasus uji sample atas perangkat lunak diatas yang menggunakan metoda Black box pada tiap tampilan hasil dari pengujian alpha ini belum dapat dikatakan berhasil atau diterima.

Berdasarkan hasil pengujian ini maka dapat ditarik kesimpulan bahwa perangkat lunak ini belum sesuai dengan yang diharapkan dan kebutuhan user serta bebas error sehingga layak dipergunakan.


(5)

[1] M. Zaki Riyanto, A.Ardhian, Kriptografi Kunci Publik : Sandi RSA http://sandi.math.web.id.

[2] Network Protocol Analyzer, WIRESHARK, http://www.wireshark.org. [3] Planet Source Code, http://www.planet-source-code.com.

[4] RSA Homepage, http://www.rsasecurity.com.

[5] S. Ario, Microsoft Visual Basic 6.0, PT. Elex Media Komputindo, 2001. [6] Wahana Komputer Semarang, Memahami MODEL ENKRIPSI &

SECURITY DATA, Andi Offset, Yogyakarta, 2003.

[7] http://203.130.205.68/dosen/aji/computer_security/bab_3.pdf. [8] http://www.rsasecurity.com/rsalabs/node.asp?id=2213.


(6)

BIODATA PENULIS

Nama : Hendi Hadian Darmawan. Tempat tanggal lahir : Bandung, 28 Nopember 1978.

Alamat : Komplek Melong Green Garden Jl. Jumbo Jet III No.1A RT 01/28 Cimahi Selatan 40534.

Telepon : (022) 9119 6226 / 0856 2002 168.

E-Mail : hendi_sagitarius@yahoo.co.id / h3h4d4@yahoo.co.id

Pendidikan yang sudah ditempuh

1984-1991 : SDN Tunas Harapan I Bandung. 1991-1994 : SLTPN 6 Bandung.

1994-1997 : SMK Otoiskandardinata Bandung.