• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
96
0
0

Teks penuh

(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

(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.

(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

(7)
(8)
(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

(10)

3.5.2 Data Flow Diagram... 55

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.

(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

(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).

(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.

(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 :

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

(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

(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

(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

(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

(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.

(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

(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

(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

(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

(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

(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

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 :

(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

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

(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.

(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

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 .

(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

(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

(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.

(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

(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

(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

(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

(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

(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

(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.

(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

(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

(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

(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

(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

(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

(51)

SIMBO L KETERA NG A N

(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

(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

(54)

A (pengirim) C (Penyadap) B (penerima)

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

(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

(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,

(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}

(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

Gambar

Gambar 2.7 Dialog box New Project
Gambar 2.9  Model Proses Waterfall
Gambar 2.10 Simbol-Simbol Program Flowchart
Gambar 3.1 Proses Komunikasi KomDat LAN 
+7

Referensi

Dokumen terkait

- Bagian belakang antara dubur dengan paha tidak terdapat bintil – bintil, leher dengan bintil besar melancip seperti duri lunak, mata dengan iris warna hitam - Keping karapaks

Tujuan penelitian ini adalah mengidentifikasi pengetahuan indegeneous yang dimiliki lansia dalam mengobati dan menjaga kesehatan anak, serta mengkajinya secara ilmiah

Jabodetabekjur sebagai satu wilayah administrasi baru, maka perlu ditetapkan dalam UU tersendiri karena perlu mengubah 11 undang-undang tentang pembentukan daerah: 3

Beberapa batasan yang diterapkan pada penelitian ini yaitu pembatasan lokasi penelitian yang difokuskan hanya pada daerah irigasi Namu Sira-sira sebelah kanan yang memiliki

Data yang diambil dalam penelitian ini adalah 52 dari 17 Kabupaten/Kota 1 Provinsi dalam waktu 3 tahun.Dari tabel 1 menunjukkan hasil statistik deskriptif yaitu

Dengan kata lain, secara linguistik sumber daya linguistik apa yang digunakan untuk struktur surat kabar dan fungsi komunikasi apa yang dilakukan dalam

Oleh karena itu, deiksis dapat dibedakan menjadi bentuk deiksis persona, ruang, waktu dan sosial yang masing-masing memiliki fungsi secara bahasa yakni, (1) emotif,

Pada musyawarah itu diputuskan bahwa seluruh warga Al Washliyah baik laki-laki maupun perempuan diberi pemahaman bahwa kemerdekaan Indonesia dan berdirinya Republik Indonesia