Anda di halaman 1dari 71

APLIKASI PENGAMANAN DATA SETIFIKASI PROFESI

MENGGUNAKAN METODE ELGAMAL DAN DIGITAL


SIGNATURE ALGORITHM (DSA)

TUGAS AKHIR

Oleh :

ABDUL AZIZ
NIM. 1612000150

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS POTENSI UTAMA
MEDAN
2020
KATA PENGANTAR

Alhamdulillah puji syukur atas kehadirat Allah SWT yang telah

memberikan kesehatan dan kesempatan, Tak lupa pula shalawat beriringkan

salam kepada junjungan Nabi Besar Muhammad SAW. Adapun judul penulisan

skripsi ini yang penulis buat adalah “Aplikasi Pengamanan Data Setifikasi

Profesi Menggunakan Metode Elgamal Dan Digital Signature Algorithm

(Dsa)”. Penulisan skripsi ini merupakan syarat untuk menyelesaikan Pendidikan

Strata Satu (S1) jurusan Teknik Informatika pada Universitas Potensi Utama.

Namun demikian penulisan skripsi ini bukan hanya sekedar “syarat” belaka, tetapi

juga merupakan suatu aplikasi nyata terhadap ilmu pengetahuan yang telah

penulis dapat selama mengikuti perkuliahan. Selain itu, penulisan skripsi ini juga

sebagai bahan pembelajaran bagi penulis, khususnya dalam hal penulisan karya

ilmiah.

Maka dengan selesainya penyusunan Skripsi ini, Penulis mengucapkan

terima kasih yang sedalam-dalamnya untuk seluruh pihak yang membantu. Pada

kesempatan ini penulis mengucapkan terima kasih kepada :

1. Bapak Yusfrizal, M.Kom, selaku Dosen Pembimbing yang telah meluangkan

waktu, tenaga dan pikiran ditengah kesibukannya untuk memberikan arahan,

dukungan dan bimbingan yang telah mengajarkan banyak ilmu dan tata cara

penulisan skripsi yang baik dan benar dalam menyelesaikan skripsi ini.

i
2. Ibu Hj.Nuriandy, BA, Selaku Pembina Yayasan Universitas Potensi Utama.

3. Bapak H. Bob Subhan Riza, ST, M.Kom, selaku Ketua Yayasan Universitas

Potensi Utama.

4. Ibu Dr. Rika Rosnelly, S.Kom, M.Kom, selaku Rektor Universitas Potensi

Utama.

5. Ibu Lili Tanti, M.Kom, selaku Wakil Rektor I Universitas Potensi Utama.

6. Ibu Ratih Puspasari, M.Kom, Selaku Dekan Fakultas Teknik Dan Ilmu

Komputer Universitas Potensi Utama.

7. Bapak Budi Triandi, M.Kom, selaku Ketua Program Studi Teknik Informatika

Universitas Potensi Utama.

8. Bapak Ahir Yugo Nugroho Harahap, M.Kom, selaku Wali Dosen yang telah

memberikan dukungan kepada penulis selama perkuliahan dan memberi

masukan serta kritik yang berguna selama pengerjaan penulisan ini.

9. Kepada Seluruh Dosen Pengajar dan Staff Universitas Potensi Utama yang

membantu dalam proses belajar mengajar dan administrasi perkuliahan.

10. Teristimewa kepada kedua orang tua dan keluarga saya yang telah

memberikan seluruh usaha, doa, dan semangat kepada penulis sehingga dapat

menyelesaikan skripsi ini.

11. Kepada seluruh teman-teman seperjuangan TIF-D Malam Stambuk 2016

Terima Kasih atas bantuan dan motivasi dalam penyelesaian skripsi ini.

12. Kepada para sahabat-sahabat penulis.

ii
Didalam penulisan ini penulis sadar, bahwa masih banyak kekurangan dan

jauh dari sempurna. Untuk itu penulis mengharapkan kritik dan saran yang

bersifat membangun dari pembaca agar lebih bermanfaat bagi penulis dan bagi

kita semua. Semoga Skripsi ini dapat berguna bagi siapa saja yang membacanya,

terutama mahasiswa/i Universitas Potensi Utama.

Medan, 26 Juni 2020

Penulis

Abdul Aziz
1612000150

iii
DAFTAR ISI

KATA PENGANTAR..................................................................................................i

DAFTAR ISI................................................................................................................ iv

DAFTAR GAMBAR....................................................................................................vii

DAFTAR TABEL........................................................................................................ ix

BAB I. PENDAHULUAN

I.1. Latar Belakang.................................................................................................1

I.2. Ruang Lingkup Permasalahan......................................................................... 2

I.2.1. Identifikasi Masalah...............................................................................3

I.2.2. Rumusan Masalah.................................................................................. 3

I.2.3. Batasan Masalah.....................................................................................3

I.3. Tujuan dan Manfaat ........................................................................................4

I.3.1. Tujuan Penelitian....................................................................................4

I.3.2. Manfaat Penelitian..................................................................................4

I.4. Metodologi Penelitian......................................................................................4

I.5. Kontribusi Penelitian....................................................................................... 7

I.6. Sistematika Penelitian......................................................................................7

BAB II. TINJAU PUSTAKA

II.1. Penelitian Terkait.................................................................................10

II.2. Landasan Teori.................................................................................... 11

II.2.1. Aplikasi..................................................................................... 11

II.2.2. Keamanan Data......................................................................... 11

II.2.3. Keamanan Komputer.................................................................12

iv
II.2.4. Kriptografi.................................................................................14

II.2.5. Sertifikat.................................................................................... 18

II.2.6. Elgama...................................................................................... 18

II.2.7. Digital Signatur Algorithm (DSA)............................................22

II.2.7.1. Prosedur Pembuatan Kunci.............................................24

II.2.7.2. Proses Pemberian Tanda Tanda...................................... 24

II.2.7.3. Proses Verifikasi Tanda Tangan..................................... 25

II.2.8. Microsoft Visual Studio 2010....................................................25

II.2.9. Database....................................................................................26

II.2.10. Unified Modeling Language (UML)....................................... 26

II.2.10.1. UseCase Diagram......................................................... 27

II.2.10.2. Activity Diagram........................................................... 28

II.2.10.3. Sequence Diagram........................................................ 30

II.2.14. Class Diagram......................................................................... 31

BAB III. ANALISIS DAN DESAIN SISTEM

III.1. Analisa Masalah................................................................................. 34

III.1.2. Kebutuhan Hardware dan Software.........................................35

III.2. Perancangan Metode Elgamal dan Digital Signature Algorithm (DSA)

III.2.1. Flowchart.................................................................................41

III.3. Desain Sistem.....................................................................................42

III.3.1. Diagram UseCase.................................................................... 42

III.3.2. Activity Diagram...................................................................... 43

III.3.2.1. Activity Diagram Login................................................. 43

v
III.3.2.2. Activity Diagram Petunjuk.............................................44

III.3.2.3. Activity Diagram Isi Data.............................................. 45

III.3.2.4. Activity Diagram Tahapan Enkripsi...............................46

III.3.2.5. Activity Diagram Deskripsi............................................47

III.3.3. Diagram Sequence................................................................... 48

III.3.3.1. Diagram Sequence Login...............................................48

III.3.3.2. Diagram Sequence Petunjuk..........................................49

III.3.3.1. Diagram Sequence Isi Data............................................50

III.3.3.1. Diagram Sequence Cari Data.........................................51

III.3.3.1. Diagram Sequence Enkripsi...........................................52

III.3.3.1. Diagram Sequence Dekripsi.......................................... 53

III.4. Desain User Interface.........................................................................54

III.4.1. Tampilan Menu Utama............................................................ 54

III.4.2. Tampilan Menu Belajar........................................................... 55

III.4.3. Tampilan Petunjuk................................................................... 56

III.4.4. Tampilan Isi Data.....................................................................57

III.4.5. Tampilan Cari Data..................................................................58

III.4.6. Tampilan Menu Enkripsi......................................................... 59

III.4.7. Tampilan Menu Deskripsi........................................................60

vi
DAFTAR GAMBAR

Gambar I.1. Model Waterfall............................................................................. 5

Gambar II.1. Skema Keamanan Komputer........................................................ 13

Gambar II.2. Mekanisme Kriptografi................................................................. 15

Gambar II.3. Skema Keamanan Komputer ....................................................... 16

Gambar II.4. Sertifikasi...................................................................................... 18

Gambar II.5. Mekanisme Algoritma Elgamal.................................................... 20

Gambar II.6. Tampilan Mekanisme DSA...........................................................23

Gambar II.7. Tampilan Visual Studio 2020........................................................26

Gambar III.1. Flowchart.....................................................................................41

Gambar III.2. Diagram UseCase Aplikasi..........................................................48

Gambar III.3. Activity Diagram Login................................................................43

Gambar III.4. Activity Diagram Petunjuk...........................................................44

Gambar III.5. Activity Diagram Isi Data.............................................................45

Gambar III.6. Activity Diagram Tahapan Enkripsi.............................................46

Gambar III.7. Activity Diagram Dekripsi........................................................... 47

Gambar III.8. Sequence Diagram Login.............................................................48

Gambar III.9. Sequence Diagram Petunjuk........................................................ 49

Gambar III.10. Sequence Diagram Isi Data........................................................50

Gambar III.12. Sequence Diagram Cari Data.....................................................51

Gambar III.11. Sequence Diagram Enkripsi.......................................................52

Gambar III.12. Sequence Diagram Dekripsi...................................................... 53

vii
Gambar III.14. Tampilan Menu Utama.............................................................. 54

Gambar III.15. Tampilan Menu Login............................................................... 55

Gambar III.16. Tampilan Menu Petunjuk.......................................................... 56

Gambar III.17. Tampilan Menu Tahapan Isi Data............................................. 57

Gambar III.18. Tampilan Menu Cari Data......................................................... 58

Gambar III.19. Tampilan Menu Enkripsi........................................................... 59

Gambar III.20. Tampilan Menu Deskripsi......................................................... 60

viii
DAFTAR TABEL

Tabel II.1. Hasil Perhitungan Proses Enkripsi....................................................21

Tabel II.2. Hasil Perhitungan Proses Enkripsi....................................................22

Tabel II.3. Simbol-Simbol UseCase Diagram....................................................28

Tabel II.4. Simbol-Simbol Activity Diagram......................................................30

Tabel II.5. Simbol-Simbol SequenceDiagram....................................................31

Tabel II.6 Simbol-Simbol ClassDiagram........................................................... 32

ix
BAB I

PENDAHULUAN
BAB I

PENDAHULUAN

I.1. Latar Belakang

Dalam kemajuan teknologi di era modern ini pentingnya keamanan data,

lemahnya sistem pengamanan data, berpotensi menimbulkan masalah yang dapat

berdampak buruk bagi khalayak ramai, mudahnya pemalsuan data dan identitas

dan diragukannya keaslian data sertifikasi. Pengamanan data secara konvensional

seperti pemberian password kurang memberikan pengamanan yang efektif dan

efesien, karena data pada administrasi tidak diperuntukkan bagi individual. Tujuan

penulis adalah membuat sistem yang khusus melakukan pengamanan data

sertifikasi.

Kriptografi adalah teknik penyandian pesan asli menjadi pesan rahasia.

Kriptografi memiliki cabang yang dibuat untuk mengamankan sebuah data, dalam

permasalahan yang dihadapi khalayak ramai biasanya data setiap individu mudah

di palsukan dan keaslian identitas diragukan, kasus ini sering terjadi di lingkungan

khalayak ramai seperti kasus “ Guru besar Universitas Negeri Surabaya (Unesa),

Prof Toho Cholik dinilai melakukan pemalsuan sertifikat yang diberikan kepada

ribuan pelatih yang mengikuti pelatihan ditempatnya yakni Lembaga Sertifikasi

Profesi Pelatih Olahraga (LSP POR) “

(https://nasional.republika.co.id/berita/nasional/daerah/18/01/17/p2p4z6291-guru-

besar-unesa-dinilai-palsukan-sertifikat-pelatihan).

1
2

Dengan demikian pentingnya pengamanan data sertifikasi profesi agar tidak

terjadi penyalahgunaan data dan pemalsuan sertifikat yang dilakukan oleh

beberapa pelaku pemalsuan data dan identitas, dalam hal ini pentingnya aplikasi

penunjang pengamanan data sertifikasi profesi yang akan dilakukan dalam

beberapa tahapan.

Tahap pertama pemberian digital signature yaitu melakukan login yang

hanya dapat dilakukan oleh user. Lalu user mengunggah dokumen dan mengisi

beberapa form inputan yang dibutuhkan. Dengan menggunakan algoritma

Elgamal dan DSA, program akan membangkitkan kunci private dan publik.

Sedangkan pada verifikasi dapat diakses dengan menggunakan kode Elgamal

yang diberikan kepada masing-masing user pada saat melakukan aktivasi akun.

Hasil dari penelitian ini adalah aplikasi pengamanan yang diatur khusus

untuk menangani permasalahan yang ada dikhalayak ramai. Dari beberapa kriteria

pengujian. Dengan latar belakang tersebut maka penulis menyimpulkan judul

“Aplikasi Pengamanan Data Sertifikasi Profesi Menggunakan Metode

Elgamal Dan Digital Signatue Algorithm (DSA)”.

I.2. Ruang Lingkup Permasalahan

Adapun dalam pembahasan ruang lingkup masalah ini guna memudahkan

penulis dalam melakukan penelitian agar informasi yang dibutuhkan tepat pada

tujuan hasil akhir penelitian.


3

I.2.1. Identifikasi Masalah

Berdasarkan latar belakang tersebut, penulis mengidentifikasi masalah

sebagai berikut :

1. Mudahnya pemalsuan data pribadi yang dapat disalahgunakan.

2. Pengamanan data yang hanya bersifat memberi password kurang efektif pada

keamanan data.

3. Masih dirancangnya aplikasi pengamanan data sertifikasi profesi diperuntukkan

bagi individual.

I.2.2. Rumusan Masalah

1. Bagaimana cara merancang pengamanan data sertifikasi profesi dengan baik ?

2. Bagaimana cara menerapkan algoritma Elgamal dan Digital Signature

Algorithm (DSA) pada aplikasi pengamanan data sertifikasi ?

3. Bagaimana hasil dari penerapan metode pada aplikasi pengamanan data

sertifikasi profesi ?

I.2.3. Batasan Masalah

Adapun batasan masalah dalam skripsi ini agar tidak menyimpang dari

tujuan semula adalah sebagai berikut :

1. Data yang diamankan adalah data sertifikasi profesi.

2. Bahasa pemrogaman yang digunakan adalah Visual Studio 2010.

3. Database yang digunakan adalah Sql Server 2008 R2.

4. Metode yang digunakan dalam merancang aplikasi dengan menggunakan


4

Elgamal dan Digital Signature Algorithm.

I.3. Tujuan Dan Manfaat

I.3.1. Tujuan penelitian

Tujuan penelitian ini agar tercapai kebutuhan keamanan data yang mudah

dipahami, tujuan tersebut antara lain :

1. Merancang pengamanan data sertifikasi profesi dengan baik

2. Menerapkan algoritma Elgamal dan Digital Signature Algorithm (DSA) pada

aplikasi pengamanan data sertifikasi profesi

3. Merancang aplikasi pengamanan data sertifikasi profesi dengan menggunakan

metode Elgamal dan Digital Signature Algorithm (DSA)

I.3.2. Manfaat penelitian

Adapun manfaat dari hasil penelitian ini yaitu :

1. Dapat mengamankan data sertifikasi profesi sebagai media penyimpanan data

massal.

2. Mengurangi resiko penyalahgunaan hak akses, dan pemalsuan data dari pihak-

pihak yang tidak bertanggung jawab.

3. Dapat memberikan referensi untuk pengembangan pengamanan data.

I.4. Metodologi Penelitian

Bagian ini akan membahas mengenai objek penelitian serta metode

penelitian bagaimana langkah-langkah penelitian dilakukan. Objek penelitian akan

dijelaskan secara lebih jelas pada bagian ini. Metodologi yang digunakan pada
5

perancangan aplikasi ini adalah Elgamal Dan Digittal Signature Algorithm (DSA)

yang dijelaskan pada Gambar I.1.

Gambar I.1. Model Waterfal

Adapun langkah-langkah dalam penelitian yang dilakukan oleh penulis

dapat dijelaskan sebagai berikut:

1. Requirement (Analisa Kebutuhan Sistem)

Setelah melalui tahap prosedur perancangan, maka tahap selanjutnya

adalah analisa kebutuhan yaitu hal-hal yang diperlukan untuk perancangan sistem

berupa perangkat lunak yaitu Visual Studio 2010 yang digunakan untuk

merancang aplikasi dan Sql Server 2008 R2 untuk menyimpan database, untuk

perangkat keras seperti komputer atau laptop yang dibutuhkan untuk membangun

aplikasi.

2. Design (Perancangan Sistem)


6

Pada tahap ini dirancang sebuah desain dari aplikasi Visual Studio 2010 yang

akan digunakan pada antarmuka perangkat berbasis desktop. Setelah dilakukan

perancangan desain aplikasi selanjutnya melakukan implementasi terhadap desain

antarmuka dari aplikasi berbasis desktop yang telah dirancang kedalam bahasa

pemrograman Visual Studio 2010.

3. Development (Pembangunan Sistem)

Pada proses ini rancang bangun aplikasi pengamanan data sertifikasi profesi

berbasis desktop dituangkan kedalam bahasa pemrograman dan mulai dibangun

menggunakan visual studio 2010 untuk menghasilkan sebuah aplikasi sesuai

dengan perancangan. Seluruh fungsi dan antarmuka yang terdapat pada

perancangan akan disesuaikan dengan aplikasi yang akan dihasilkan.

4. Testing (Uji Coba Sistem)

Pada tahap ini dilakukan pengujian aplikasi pengamanan data sertifikasi

profesi berbasis desktop secara menyeluruh, meliputi pengujian fungsional dan

pengujian ketahanan aplikasi. Pengujian fungsional dilakukan untuk mengetahui

bahwa aplikasi Pengamanan data sertifikasi berbasis desktop telah berjalan sesuai

dengan perancangan. Pengujian ketahanan merupakan kemampuan aplikasi untuk

berjalan dengan baik pada spesifikasi minimum desktop.

5. Implementation (Implementasi Sistem)

Pada tahap ini akan diambil kesimpulan dari rancang bangun aplikasi

pengamanan data sertifikasi profesi berbasis desktop yang telah dihasilkan, seperti
7

apa saja kelebihan dan kekurangan dari pengamanan data sertifikasi profesi

berbasis desktop. Sehingga didapatkan kesimpulan untuk menambahkan fungsi-

fungsi tertentu sesuai dengan kebutuhan kedalam aplikasi.

I.5. Kontribusi Penelitian

Kontribusi yang dihasilkan penelitian ini yaitu :

1. Hasil dari aplikasi yang akan diciptakan akan menjadi sebuah sebuah pilihan

dalam menyimpan data dan sertifikat profesi.

2. Untuk menunjang penggunaan aplikasi yang mampu memenuhi kebutuhan

khalayak ramai, serta lebih efektif dan efisien dibanding dengan cara

konvensional.

3. Penelitian yang dilakukan dapat dijadikan rujukan bagi peneliti yang akan

mengembangkan aplikasi yang lebih aman bagi khalayak ramai.

I.6. Sistematika Penulisan

Adapun sistematika penulisan yang diajukan dalam penulisan skripsi ini

adalah sebagai berikut :

BAB I : PENDAHULUAN

Pada bab ini menerangkan tentang latar belakang, ruang lingkup

permasalahan, tujuan dan manfaat, metodologi penelitian,

kontribusi penelitian dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Pada bab ini menerangkan tentang teori-teori dan metode yang


8

berhubungan dengan topik yang dibahas atau permasalahan yang

sedang dihadapi.

BAB III : ANALISA DAN DESAIN SISTEM

Pada bab ini mengemukakan tentang analisa sistem yang sedang

berjalan, evaluasi sistem yang berjalan dan desain sistem secara

detail.

BAB IV : HASIL DAN UJI COBA

Pada bab ini menerangkan hasil dan pembahasan aplikasi yang

dirancang serta kelebihan dan kekurangan aplikasi yang dirancang.

BAB V : KESIMPULAN DAN SARAN

Pada bab ini berisi kesimpulan penulisan dan saran dari penulis

sebagai perbaikan di masa yang akan datang untuk pembuatan

aplikasi pengamanan data sertifikasi profesi dengan menggunakan

metode Elgamal dan Digital Signature Algorithm (DSA) berbasis

desktop agar bisa menjadi lebih baik lagi......................................


BAB II

TINJAUAN PUSTAKA
BAB II

TINJAUAN PUSTAKA

II.1. Penelitian Terkait

Untuk mendukung keberhasilan penelitian ini, penyusun melakukan

pendekatan teoritis melalui beberapa literatur yang berhubungan dengan

penelitian yang dilakukan :

1. Khairul Fajri, Lili Tanti, Rofiqoh Dewi (2017) dengan judul “Aplikasi

Verifikasi Ijazah Menggunakan Digital Signature Metode SHA-1”. Penelitian ini

menghasilkan sebuah aplikasi layanan verifikasi ijazah berbasis web yang

menyediakan layanan verifikasi ijazah yang mudah untuk digunakan.

2. Leonardo, dkk (2015) dengan judul Pengamanan Sertifikat Tanah Digital

Menggunakan Digital Signature SHA-512 dan RSA. Penelitian ini menghasilkan

aplikasi yang bermanfaat karena dapat mengetahui adanya proses menipulasi pada

dokumen sertifikat dengan cepat sehingga dapat menyelesaikan masalah

pemalsuan pada sertifikat tanah.

3. Oris, dkk, (2016) dengan judul “Model Keamanan Informasi Berbasis Tanda

Tangan Digital Dengan Data Encryption Standard (DES) Algorithm” pada Jurnal

Nasional Informatika dan Teknologi Jaringan. Penelitian ini menghasilkan

aplikasi dengan 2 kriteria kriptografi yaitu kerahasiaan dan Nirpenyangkalan.

4. Mohamad, (2016) dengan judul “Model Keamanan Informasi Berbasis

Digital Signature Dengan Algoritma RSA” penelitian ini berhasil menyimpulkan

10
11

5. bahwa Model algoritma Digital Signature Algorithm (DSA) sangat tepat

digunakan dalam proses pengiriman file dan berbasis arsitektur perusahaan.

6. Adi, (2018) Dengan judul " Aplikasi Digital Signature Untuk pengaman E-

Document DI PG. Pesantren Baru Menggunakan Algoritma DSA” penelitian ini

menghasilkan aplikasi verifikasi e-document yg diterapkan dalam mengamankan

data karyawan.

II.2. Landasan Teori

II.2.1. Aplikasi

Secara istilah pengertian aplikasi adalah suatu program yang siap untuk

digunakan yang dibuat untuk melaksanakan suatu fungsi bagi pengguna jasa

aplikasi serta penggunaan aplikasi lain yang akan dituju.(Andi, 2015)

Pengertian aplikasi menurut Kamus Besar Bahasa Indonesia adalah penerapan

dari rancang sistem untuk mengolah data yang menggunakan aturan atau

ketentuan bahasa pemrogaman tertentu.(Andi, 2015)

Dengan demikian, penulis menyimpulkan pengertian aplikasi adalah suatu

perangkat lunak atau sistem yang digunakan untuk membantu melaksanakan

tugas tertentu dengan fungsi sesuai dengan kegunaannya.

II.2.2. Keamanan data

Keamanan data adalah hal yang sangat penting untuk dipertimbangkan

pada setiap kegiatan yang berhubungan data rahasia atau terbatas pada komunitas

tertentu.(Pratiwi, 2016)
12

Sedangkan menurut Joni, dkk,(2019), keamanan data menjadi hal

yang sangat penting pada saat ini karena untuk setiap pengambil keputusan,

kebijakan harus berdasarkan data. Banyak data yang berisikan informasi penting

dan terbatas untuk diketahui oleh pihak yang terkait. Dengan demikian, penulis

meyimpulkan pengertian keamanan data adalah suatu pengamanan informasi penting

dimana berisikan data yang harus diamankan. Keamanan data menjadi hal yang

sangat penting pada saatini karena untuk setiap pengambilan keputusan, kebijakan

harus berdasarkan data. Banyak data yang berisikan informasi penting dan

terbatas untuk diketahui pihak yang terkait saja. Faktor keamanan data menjadi

sangat penting dan harus diperhatikan. Salah satu cara untuk meningkatkan

keamanan data diperlukan kriptografi dengan metode enkripsi[1].

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari

bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi

adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan

keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi

pengertian kriptografi modern adalah tidak saja berurusan hanya dengan

penyembunyian pesan namun lebih pada sekumpulan teknik yang menyediakan

keamanan informasi[2]. (Joni, 2019)

II.2.3. Keamanan Komputer

Menurut Howard (1997) dalam bukunya “An Analysis OF Security Incident on

The Internet” menyatakan bahwa keamanan komputer adalah tindakan

pencegahan dari serangan pengguna komputer atau pengaksesan jaringan yang

tidak bertanggung jawab(Muhammad, 2016).


13

Keamanan komputer merupakan kegiatan preventif dari kejahatan yang

menggunakan sebagai media. Keamanan yang diperlukan meliputi keamanan fisik,

keamanan akses, keamanan data, dan keamanan sistem operasi

komputer.(Muhammad, 2016)

Dengan demikian, penulis menyimpulkan pengertian keamanan komputer adalah

kegiatan pencegahan dalam mengatasi keamanan dari berbagai kegiatan kejahatan

komputer.

Gambar II.1 Skema Keamanan Komputer


Sumber : https://flinsetyadi.com/wp-content/uploads/2019/07/keamanan-

database.png

Keamanan komputer merupakan kegiatan preventif dari kejahatan yang

menggunakan sebagai media. Keamanan yang diperlukan meliputi keamanan fisik

(ruangan server dan pendukung infrastruktur), keamanan akses (manusia sebagai

pengguna), keamanan data (virus dan pencurian data) dan kemanan sistem operasi

komputer. Dalam membangun keamanan komputer harus mempertimbangkan

aspek confidentialy, integrity, authentication, non-repudiation dan availability[4].


14

Aspek confidentialy ditujukan untuk menjaga agar data pada komputer tidak jatuh

ke tangan yang tidak berhak untuk mencegah penyalahgunaannya. Aspek

integrity

terkait dengan konsistensi informasi data agar tidak dimodifikasi atau dirusak oleh

pihak lain.

Pada aspek ini sering digunakan metode enkripsi untuk penyandian. Aspek

authentication terkait dengan identifikasi kebenaran pihak pengguna dan

kebenaran sumberdata. Sedangkan pada aspek non-repudiation untuk menjadi

penyangkalan akses data oleh pihak yang seharusnya bertanggung jawab

penyangkalan akses data oleh pihak yang seharusnya bertanggung jawab pada

data tersebut.Aspek availability menekankan bagaimana ketersediaan informasi

jika pengguna tidak dapat mengakses data pada komputer yang disebabkan

adanya kejahatan komputer tersebut.

Dalam upaya meningkatkan keamanan komputer dilakukan tindakan pencegahan

yaitu dengan menggunakan password untuk mencegah kemungkinan pengguna

yang tidak berhak melakukan akses terhadap data (confidentialy)dan mencegah

data tidak dimanipulasi/dirusak (integrity) dan memberi authentication pada pihak

yang memang berhak untuk akses data tersebut.(Pratiwi, 2016)

II.2.4. Kriptografi

Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan

cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi

maknanya. Dalam ilmu kriptografi, terdapat dua buah proses yaitu melakukan

enkripsi dan dekripsi. Pesan yang akan dienkripsikan disebut sebagai


15

plaintext(teks biasa). Disebut demikian karena informasi ini dengan mudah dapat

dibaca dan dipahami oleh siapa saja. Algoritma yang dipakai untuk mengenkripsi

dan mendekripsi sebuah kunci. Pesan Plaintext yang telah dienkripsi (atau

dikodekan) dikenal sebagai ciphertext (text sandi)(Pabokory et al., 2016).

Gambar II.2 Mekanisme Kriptografi


Sumber : https://flinsetyadi.com/wp-
content/uploads/2019/07/keamanan-database.png

Di dalam kriptografi kita akan sering menemukan berbagai istilah atau

terminology. Beberapa istilah yang harus diketahui yaitu :

1. Pesan, Plainteks, dan Cipherteks

2. Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti

maknanya. Nama lain untuk pesan adalah (plaintext) atau teks jelas (cleartext).

Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim

(sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima

(receiver) adalah entitas yang menerima pesan.

3. Enkripsi dan dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption)

atau enciphering (standard nama menurut ISO 7498-2). Sedangkan proses

mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption)

atau deciphering (standard nama menurut ISO 7498-2).

4. Cipher dan kunci


16

Algoritma kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi,

atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa

cipher memerlukan algoritma yang berbeda untuk enkripsi dan dekripsi. Konsep

matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah

himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi

cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-

elemen antara dua himpunan tersebut. Misalkan P menyatakan plainteks dan C

menyatakan cipherteks, maka :

E(P) = C fungsi enkripsiE memetakan P ke C D(C) = P fungsi dekripsi D

memetakan C ke P

Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan

asal, maka persamaan D(E(P)) = P harus benar. Kriptografi mengatasi masalah

keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak

dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key)

adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kunci

biasanya berupa string atau deretan bilangan. Dengan menggunakan kunci K,

maka fungsi enkripsi dan dekripsi dapat ditulis sebagai skema diperlihatkan pada

Gambar 1.

Gambar II.3 Skema Keamanan Komputer


Sumber : https://flinsetyadi.com/wp-content/uploads/2019/07/keamanan-database.png
17

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu

metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan

bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik

dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition

cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi

mengubah susunan huruf-huruf di dalam pesan, sedangkan cipher substitusi

mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok

huruf lain.

Tujuan kriptografi

Dari paparan awal dapat dirangkumkan bahwa kriptografi bertujuan untuk

member layanan keamanan. Yang dinamakan aspek-aspek keamanan:

1. Kerahasiaan (confidentiality)

Adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh

pihak-pihak yang tidak berhak.

2. Integritas data (data integrity) Adalah layanan yang menjamin bahwa pesan

masih asli atau belum pernah dimanipulasi selama pengiriman.


18

3. Otentikasi (authentication)

Adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi

kebenaran pihak-pihak yang berkomunikasi (user autehentication).

4. Non-repudiation

Adalah layanan untuk menjaga entitas yang berkomunikasi melakukan

penyangkalan.

II.2.5. Sertifikat

Sertifikat adalah tanda atau surat keterangan (pernyataan) tertulis dari orang yang

berwenang yang dapat digunakan sebagai bukti pemilikan atau suatu

kejadian.(Faizal, 2017)

Gambar II.4 Sertifikat


Sumber : https://flinsetyadi.com/wp-content/uploads/2019/07/keamanan-
database.png

II.2.6. Elgamal

Algoritma ElGamal s dipublikasikan oleh Taher s ElGamal pada

tahun 1985. Hingga s saat ini, algoritma ElGamal masih digunakan sebagai salah
19

satu metode penyandian, contohnya pada penggunaan aplikasi PGP dan GnuPG

yang terdapat pada keamanan email dan tanda tangan digital. Algoritma ElGamal

tebentuk melalui 3 proses yakni proses pembentukan kunci,proses enkripsi data

dan proses dekripsi data.

Algoritma ini menggunakan chiper blok, adalah suatu proses enkripsi

pada blok- blok chipertext. Kemudian pada blok-blok chipertext dilakukan proses

dekripsi, dan hasilnya digabungkan agar menjadi suatu pesan yang utuh dan

mudah dimengerti. Dalam pembentukan Algoritma kriptografi ElGamal,

Diperlukan bilangan prima p dan elemen s primitif.[7]


20

Algoritma ElGamal memiliki public key berbentuk tiga s pasang s bilangan dan

kunci rahasia berbentuk dua pasang bilangan. Algoritma ini memiliki kerugian

terdapat pada pembentukan chipertext-nya yang memiliki ukuran dua kali lipat

lebih besar dari pada plaintext-nya. Namun, Algoritma ElGamal s miliki

kelebihan pada s proses enkripsi. Pada plaintext yang sama, algoritma ini

menghasilkan chipertext yang berbeda-beda pada saat plaintext tersebut di

enkripsi.

Hal tersebut s disebabkan s karena s pengaruh dari suatu s variabel s yang

ditetapkan s secara acak saat s prosesi enkripsi s dilakukans. Pada Gambar 2.1

adalah diagram blok dari algoritma ElGamal.(Fachriyan, 2019)

Gambar II.5 Mekanisme Algoritma Elgamal

Sumber : (Adi,2016)
21

Berikut ini adalah contoh perhitungan manual Algoritma Elgamal

I Mi Ki γ=148k mod 383 δ = 295k. M mod 383


1 104 319 197 158
2 101 259 122 2
3 108 353 85 300
4 108 105 379 336
5 111 267 340 250
6 32 279 369 98
7 97 190 339 99
8 110 152 31 153
9 100 60 168 292
10 114 87 37 113
11 111 360 38 367
12 105 139 356 345
13 100 48 144 8

Tabel II.1 Hasil Perhitungan Proses Enkripsi

Sumber : (Gama,2018)

1. Susunlah plainteks menjadi blok-blok m1, m2, (nilai setiap blok di dalam

selang [0, p – 1]).

2. Pilih bilangan acak k, yang dalam hal ini 1 ≤ k ≤ p – 2.

3. Setiap blok m dienkripsi dengan rumus : a = gk mod p b = ykm modp

4. Susun chipertext dengan urutan x1, y1, x2, y2,........... , an, bn.

Pasangan x dan y adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks

dua kali ukuran plainteksnya.

Diketahui: Plaintext: “hello android” Nilai p = 383, g = 148, dan y = 295.

Nilai k1 = 319, k2 = 259, k3 = 353, k4 = 105, k5 = 267, k6 =279, k7 = 190, k8 =

252, k9 = 60, k10 = 87, k11 = 360, k12 =139


22

I δ γ Mi = δi γi(383-1338) mod 383 Karakter Mi


1 158 197 104 h
2 2 122 101 e
3 300 85 108 l
4 336 379 108 l
5 250 340 111 o
6 98 269 32 <spaci>
7 99 339 97 a
8 153 31 110 n
9 292 168 100 d
10 113 37 114 r
11 367 38 111 o
12 345 356 105 i
13 8 144 100 d

Tabel II.2 Hasil Perhitungan Proses Enkripsi


Sumber : (Gama,2018) Pada proses ini digunakan kunci pribadi (x, p).

1. Gunakan kunci privat x untuk menghitung plaintext m = a.b (p – 1 – x) modp

2. Nilai m yang didapat dalam ASCII lalu diubah menjadi plaintext.

3. Susunlah plaintext dengan urutan m1, m2, m3, ..., mn.

Hasil yang didapat dari proses dekripsi berupa pesan asli (plaintext). Langkah

penyelesaian dekripsi secara manual adalah sebagai berikut:

Ciphertext : 197, 158, 122, 2, 85, 300, 379,336, 340, 250, 269, 98, 339, 99, 31,

153, 168,292, 37, 113, 38, 367, 356, 345, 144, 8

Nilai p = 383, x = 338.(Gama, dkk, 2018)

II.2.7. Digital Signature Algorithm (DSA)

Tanda tangan digital (digital signature) adalah suatu mekanisme untuk

menggantikan tanda tangan secara manual pada dokumen kertas.Tanda tangan

pesan dapat dilakukan dengan dua cara yaitu:


23

1. Enkripsi pesan

Mengenkripsi pesan dengan sendirinya serta menyediakan ukuran

otentikasi, pesan yang terenkripsi sudah menytakan pesan tersebut telah

ditandatangani

2. Tanda tangan digital dengan fungsi hash (hash function)

Tanda tangan digital dibangkitkan dari hash terhadap pesan. Nilai hash

adalah kode ringkas dari pesan. Tanda tangan digital berlaku seperti tanda tangan

dokumen kertas, tanda tangan digital ditambahkan (append) pada pesan..(Dewi,

dkk, 2018)

Gambar II.6 Tampilan Mekanisme DSA


Sumber : (Farah,2018)

DSA mempunyai properti berupa parameter sebagai berikut:

1. p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini 512 L

1024 dan L harus kelipatan 64. Parameter p bersifat publik.

2. q, bilangan prima 160 bit, merupakan factor dari p – 1. Dengan kata lain,
(p –1) mod q = 0. Parameter q bersifat publik.

3. g h (p-1)/q mod p, yang dalam hal ini h < p – 1 sedemikian sehingga


24

h (p 1) / q mod p > 1. Parameter g bersifat publik.

4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci privat.

5. y g x mod p , adalah kunci publik.

6. m, pesan yang akan diberi tanda-tangan

II.2.7.1. Prosedur Pembuatan Kunci

1. Pilih bilangan prima p dan q, yang dalam hal ini (p-1)mod q = 0

2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1<h< p -1dan h(p – 1)/q

mod p > 1

3. Tentukan kunci privat x, yang dalam hal ini x< q.18

4. Hitung kunci publik y = gx mod p.

II.2.7.2. Proses Pemberian Tanda Tangan

1. Bangkitkan bilangan k secara acak untuk setiap pesan, di mana 0 < k < q.

2. Hitung r = (gk mod p) mod q

3. Hitung s = (k-1(SHA-1(m) + x*r)) mod q, di mana SHA-1(m) merupakan

fungsi hash SHA-yang diterapkan terhadap pesan m.

4. Tanda tangan digitalnya adalah (r, s)


25

II.2.7.3. Proses Verifikasi Tanda Tangan

1. Hitung w = (s)-1 mod q

2. Hitung u1 = (SHA-1(m)*w) mod q

3. Hitung u2 = (r*w) mod q

4. Hitung v = ((gu1*yu2) mod p) mod q

5. Tanda tangan digital dianggap valid jika memenuhi v = r. (Farah,2018)

II.2.8. Microsoft Visual Studio 2010

Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite), yang

dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis,

aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console,

aplikasi Windows, ataupun aplikasi Web.

Visual Studio mencakup kompiler, SDK, Integrated Development Environment

(IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang

dimasukkan ke dalam paket Visual Studio antara lain Visual C++,Visual C#,

Visual Basic, VisualBasic.NET, Visual InterDev, Visual J++,Visual J#,Visual

FoxPro, dan Visual SourceSafe.(Givy, dkk, 2019)


26

Gambar II.7 Tampilan Visual Studio 2010


Sumber : (Farah,2018)

II.2.9. Database
Menurut Asrianda dalam Urva, Gellysa(2008). Database adalah

sekumpulan tabel-tabel yang saling berelasi, relasi tersebut bisa ditunjukkan

dengan kunci dari tiap tabel yang ada. Satu database menunjukkan satu lingkup

perusahaan atau instansi. Database juga merupakan kumpulan data yang

umumnya menggambarkan aktifitas-aktifitas dan pelakunya dalam suatu

organisasi.Sistem database merupakan sistem komputer yang digunakan untuk

menyimpan dan mengelola data tersebut (Nugroho, Yuliandri Priyo,

2012)..(Hendini,2016)

II.2.10. Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah bahasa spesifikasi standar

yang dipergunakan untuk mendokumentasikan, menspesifikasikan dan


27

membanngun perangkat lunak.UML merupakan metodologi dalam

mengembangkan sistem berorientasi objek dan juga merupakan alat untuk

mendukung pengembangan sistem.(Hendini,2016)

II.2.10.1. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakuakn (behavior)

sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi

apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak

menggunakan fungsi-fungsi tersebut. Simbol-simbol yang digunakan dalam Use

Case Diagram yaitu:

Simbol Deskripsi
Use Case menggambarkan fungsionalitas yang
disediakan sistem sebagai unit-unit yang bertukar
pesan antar unit dengan aktir, yang dinyatakan
dengan menggunakan kata kerja

Actor atau Aktor adalah Abstraction dari orang


atau sistem yang lain yang mengaktifkan fungsi
dari target sistem. Untuk mengidentifikasikan
aktor, harus ditentukan pembagian tenaga kerja
dan tugas-tugas yang berkaitan dengan peran
pada konteks target sistem. Orang atau sistem
bisa muncul dalam beberapa peran. Perlu dicatat
bahwa aktor berinteraksi dengan use case, tetapi
tidak memiliki kontrol terhadap use case.

Asosiasi antara aktor dan use case, digambarkan


dengan garis tanpa panah yang mengindikasikan
siapa atau apa yang meminta interaksi secara
langsung dan bukannya mengindikasikan data.
28

Asosiasi antara aktor dan usecase yang


menggunakan panah terbuka untuk
mengindikasikan bila aktor berinteraksi secara
pasif dengan sistem

Include, merupakan di dalam use case lain


(required) atau pemanggilan use case oleh use
<<include>> case lain, contohnya adalah pemanggilan sebuah
fungsi program
Extend, merupakan perluasan dari use case lain
<<extend>> jika kondisi atau syarat terpenuhi

Tabel II.3 Simbol-Simbol Use Case Diagram


Sumber : (Hendini, 2016)

II.2.10.2 Activity Diagram

Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas

dari sebuah sistem atau proses bisnis. Simbol-simbol yang digunakan dalam

activity Diagram yaitu :

Simbol Deskripsi

Start Point, diletakkan pada pojok kiri atas dan


merupakan awal aktivitas

End Point, akhir aktivitas

Activities, menggambar kan suatu proses/kegiatan


bisnis
29

Fork/percabangan,digunakan untuk menunjukkan


kegiatan yang dilakukan secara paralel atau untuk
menggabungkan dua kegiatan paralel menjadi satu.

Join (penggabungan) atau rake, digunakan untuk


menunjukkan adanya dekomposisi.

Decision Points, menggambar kan pilihan untuk


pengambilan keputusan, true atau false
30

Swimlane, pembagian activity diagram untuk


menunjukkan siapa melakukan apa

Tabel II.4 Simbol-Simbol ActivityDiagram


Sumber : (Hendini, 2016)

II.2.10.3. Sequence Diagram

Sequence Diagram menggambarkan kelakuan objek pada use case dengan

mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima

antar objek. Simbol-simbol yang digunakan dalam Sequence Diagram yaitu:

Simbol Deskripsi

Entity Class, merupakan bagian dari sistem yang


berisi kumpulan kelas berupa entitas-entitas yang
membentuk gambaran awal sistem dan menjadi
landasan untuk menyusun basis data.

Boundary Class, berisi kumpulan kelas yang menjadi


interfaces atau interaksi antara satu atau lebih aktor
dengan sistem, seperti tampilan form entry dan form
cetak.

Control class, suatu objek yang berisi logika aplikasi


yang tidak memiliki tanggung jawab kepada entitas,
contohnya adalah kalkulasi dan aturan bisnis yang
melibatkan berbagai objek.
31

Message, simbol mengirim pesan antar class.

Recursive, menggambarka n pengiriman pesan yang


dikirim untuk dirinya sendiri.

Activation,mewakili sebuah eksekusi operasi dari


objek, panjang kotak ini berbanding lurus dengan
durasi aktivasi sebuah operasi.

Lifeline, garis titik-titik yang terhubung dengan objek,

sepanjang lifeline terdapat activation

Tabel II.5 Simbol-Simbol SequenceDiagram


Sumber : (Hendini, 2016)

II.2.14. Class Diagram

Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di

dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan

tanggung jawab entitas yang menentukan perilaku sistem. Class Diagram juga

menunjukkan atribut-atribut dan operasi-operasi dari sebuah kelas dan constraint

yang berhubungan dengan objek yang dikoneksikan.Class Diagram secara khas

meliputi : Kelas (Class), Relasi Assosiations, Generalitation dan Aggregation,


32

attribut (Attributes), operasi (operation/method) dan visibility, tingkat akses objek

eksternal kepada suatu operasi atau attribut. Hubungan antar kelas mempunyai

keterangan yang disebut dengan Multiplicity atau Cardinality.

Multiplicity Penjelasan

1 Satu dan hanya satu

0..* Boleh tidak ada atau 1 atau lebih

1..* 1 atau lebih

0..1 Boleh tidak ada, maksimal 1

n..n Batasan antara. Contoh 2..4 mempunyai arti

minimal 2 maksimal 4

Tabel II.6 Simbol-Simbol ClassDiagram


Sumber : (Hendini, 2016)
33

BAB III

ANALISA DAN DESAIN SISTEM


34

BAB III

ANALISA DAN DESAIN SISTEM

III.1. Analisa Masalah


Analisa bertujuan untuk mengidentifikasi permasalahan – permasalahan

yang ada pada sistem serta menentukan kebutuhan dari sistem yang dibangun.

Kemudahan dalam mendapatkan informasi dapat memberikan ancaman.

Beberapa ancaman yang diberikan adalah masalah tentang Keamanan,

kerahasiaan, dan keotentikan data yang terdapat pada keaslian data sertifikasi.

Dengan berkembangnya teknik pengambilan informasi secara ilegal, banyak

orang yang mencoba untuk memalsukan data yang bukan haknya. Oleh karena itu

diperlukan suatu sistem pengamanan yang bertujuan untuk meningkatkan

keamanan dan melindungi suatu data agar tidak dapat dipalsukan oleh pihak yang

tidak berwenang dan mencegah pihak yang tidak berwenang untuk menyisipkan,

menghapus, ataupun merubah data tersebut. Pada penelitian ini akan dibangun

sebuah aplikasi yang dapat mengamankan data sertifikasi dalam suatu aplikasi

desktop. Untuk mengamankan datanya akan digunakan kombinasi Digital

Signature Algorithm dan Elgamal. Tujuannya adalah untuk menghasilkan tingkat

keamanan yang lebih baik pada proses mengamankan data yang akan di input-kan

ke dalam sistem keamanan data.

34
35

III.1.2. Kebutuhan Hardware dan Software

Dalam merancang aplikasi pengamanan data sertifikasi profesi dibutuhkan

beberapa hardware dan software , antara lain sebagai berikut :

a. Personal Computer (Laptop)

Hardware yang digunakan sebagai berikut:

 Processor : Core i3

 Memory : 4 Gb

 SSD : 120 Gb

Software yang digunakan sebagai berikut:

 Sistem Operasi : Windows 7

 Visual Studio : Visual Studio 2010

 Sql Server : Sql Server 2008 R2

II1.2. Penerapan Metode Elgamal dan Digital Signature Algorithm (DSA)

1. Perhitungan Algoritma Elgamal

Algoritma ElGamal s dipublikasikan oleh Taher s ElGamal pada tahun

1985. Hingga s saat ini, algoritma ElGamal masih digunakan sebagai salah satu

metode penyandian, contohnya pada penggunaan aplikasi PGP dan GnuPG

yang terdapat pada keamanan email dan tanda tangan digital. Algoritma

ElGamal tebentuk melalui 3 proses yakni proses pembentukan kunci,proses

enkripsi data dan proses dekripsi data.

Algoritma ini menggunakan chiper blok, adalah suatu proses enkripsi pada

blok- blok chipertext. Kemudian pada blok-blok chipertext dilakukan proses


36

dekripsi, dan hasilnya digabungkan agar menjadi suatu pesan yang utuh dan

mudah dimengerti. Dalam pembentukan Algoritma kriptografi ElGamal,

Diperlukan bilangan prima p dan elemen s primitif.[7]

Algoritma ElGamal memiliki public key berbentuk tiga s pasang s bilangan dan

kunci rahasia berbentuk dua pasang bilangan. Algoritma ini memiliki kerugian

terdapat pada pembentukan chipertext-nya yang memiliki ukuran dua kali lipat

lebih besar dari pada plaintext-nya. Namun, Algoritma ElGamal s miliki

kelebihan pada s proses enkripsi. Pada plaintext yang sama, algoritma ini

menghasilkan chipertext yang berbeda-beda pada saat plaintext tersebut di

enkripsi.

Hal tersebut s disebabkan s karena s pengaruh dari suatu s variabel s yang ditetapkan s

secara acak saat s prosesi enkripsi s dilakukans. Pada Gambar 2.1 adalah diagram blok

dari algoritma ElGamal.(Fachriyan, 2019)

Berikut ini adalah contoh perhitungan manual Algoritma Elgamal

I Mi Ki γ=148k mod 383 δ = 295k. M mod 383


1 104 319 197 158
2 101 259 122 2
3 108 353 85 300
4 108 105 379 336
5 111 267 340 250
6 32 279 369 98
7 97 190 339 99
8 110 152 31 153
9 100 60 168 292
10 114 87 37 113
11 111 360 38 367
12 105 139 356 345
13 100 48 144 8
37

1. Susunlah plainteks menjadi blok-blok m1, m2, (nilai setiap blok di

dalam selang [0, p – 1]).

2. Pilih bilangan acak k, yang dalam hal ini 1 ≤ k ≤ p – 2.

3. Setiap blok m dienkripsi dengan rumus : a = gk mod p b = ykm modp

4. Susun chipertext dengan urutan x1, y1, x2, y2, , an, bn.

Pasangan x dan y adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks

dua kali ukuran plainteksnya.

Diketahui: Plaintext: “hello

android” Nilai p = 383, g = 148,

dan y = 295.

Nilai k1 = 319, k2 = 259, k3 = 353, k4 = 105, k5 = 267, k6 =279, k7 = 190, k8 =

252, k9 = 60, k10 = 87, k11 = 360, k12 =139

I δ γ Mi = δi γi(383-1338) mod 383 Karakter Mi


1 158 197 104 h
2 2 122 101 e
3 300 85 108 l
4 336 379 108 l
5 250 340 111 o
6 98 269 32 <spaci>
7 99 339 97 a
8 153 31 110 n
9 292 168 100 d
10 113 37 114 r
11 367 38 111 o
12 345 356 105 i
13 8 144 100 d
38

Pada proses ini digunakan kunci pribadi (x, p).

1. Gunakan kunci privat x untuk menghitung plaintext m = a.b (p – 1 – x)


mod p

2. Nilai m yang didapat dalam ASCII lalu diubah menjadi plaintext.

3. Susunlah plaintext dengan urutan m1, m2, m3, ..., mn.

Hasil yang didapat dari proses dekripsi berupa pesan asli (plaintext). Langkah

penyelesaian dekripsi secara manual adalah sebagai berikut:

Ciphertext : 197, 158, 122, 2, 85, 300, 379,336, 340, 250, 269, 98, 339, 99, 31,

153, 168,292, 37, 113, 38, 367, 356, 345, 144, 8

Nilai p = 383, x = 338.(Gama, dkk, 2018)

2. Perhitungan Digital Signature Algorithm (DSA)

Tanda tangan digital (digital signature) adalah suatu mekanisme untuk

menggantikan tanda tangan secara manual pada dokumen kertas.

Tanda tangan pesan dapat dilakukan dengan dua cara yaitu:

1. Enkripsi pesan

Mengenkripsi pesan dengan sendirinya serta menyediakan ukuran

otentikasi, pesan yang terenkripsi sudah menytakan pesan tersebut telah

ditandatangani

2. Tanda tangan digital dengan fungsi hash (hash function)

Tanda tangan digital dibangkitkan dari hash terhadap pesan. Nilai hash adalah

kode ringkas dari pesan. Tanda tangan digital berlaku seperti tanda tangan dokumen
39

kertas, tanda tangan digital ditambahkan (append) pada pesan..(Dewi, dkk 2018)

DSA mempunyai properti berupa parameter sebagai berikut:

1. p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini 512 L

1024 dan L harus kelipatan 64. Parameter p bersifat publik.

2. q, bilangan prima 160 bit, merupakan factor dari p – 1. Dengan kata lain,

(p –1) mod q = 0. Parameter q bersifat publik.

3. g h (p-1)/q mod p, yang dalam hal ini h < p– 1 sedemikian

sehingga h ( p-1) / q mod p > 1. Parameter g bersifat publik.

4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci privat.

5. y g x mod p , adalah kunci publik.

6. m, pesan yang akan diberi tanda-tangan

1. Prosedur Pembuatan Kunci

1. Pilih bilangan prima p dan q, yang dalam hal ini (p-1)mod q = 0

2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1<h< p -1dan

h (p – 1) / q mod p > 1

3. Tentukan kunci privat x, yang dalam hal ini x< q.18

4. Hitung kunci publik y = gx mod p.

2. Proses Pembuatan Tanda Tangan

1. Bangkitkan bilangan k secara acak untuk setiap pesan, di mana 0 < k < q.

2. Hitung r = (gk mod p) mod q


40

3. Hitung s = (k-1(SHA-1(m) + x*r)) mod q, di mana SHA-1(m)

merupakan fungsi hash SHA-yang diterapkan terhadap pesan m.

4. Tanda tangan digitalnya adalah (r, s)

3. Proses Verifikasi Tanda Tangan

1. Hitung w = (s)-1 mod q

2. Hitung u1 = (SHA-1(m)*w) mod q

3. Hitung u2 = (r*w) mod q

4. Hitung v = ((gu1*yu2) mod p) mod q

5. Tanda tangan digital dianggap valid jika memenuhi v = r. (Farah,2018)


41

III.2.1. Flowchart

Berikut ini adalah flowchart dari aplikasi pengamanan data sertifikasi

profesi.

Gambar III.1. Flowchart Aplikasi Pengamanan Data Sertifikasi Profesi


Menggunakan Metode Elgamal Dan Digital Signature Algorithm (DSA)
42

III.3. Desain Sistem

Desain sistem menggunakan bahasa pemodelan UML yang terdiri dari

Use Case Diagram, Activity Diagram dan Sequence Diagram.

III.3.1. Diagram Use Case

Berikut ini merupakan diagram use case dari “Aplikasi pengamanan

data sertifikasi profesi menggunakan metode Elgamal dan Digital Signature

Algorithm (DSA) ”. Terlihat pada gambarIII.2.

Gambar III.2. Diagram Use Case Aplikasi

Use case diagram menggambarkan hubungan yang terjadi antara aktor

dengan aktivitas yang terdapat pada sistem. Aktor dalam sistem adalah

pengguna, sedangkan sistem adalah aplikasi pengamanan data sertifikasi profesi.

Berikut use case diagram aplikasi pengamanan data sertifikasi profesi.


43

III.3.2. Activity Diagram

Activity diagrammenggambarkan berbagai alur aktivitas dalam sistem

yang sedang dirancang, bagaimana masing–masing alur berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagramjuga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

III.3.2.1. Activity Diagram Login

Activity Diagram Login dapat dilihat pada gambar III.3. sebagai berikut :

Gambar III.3. Activity Diagram Login

Keterangan dari Activity Diagram Login di atas adalah :

a) Sistem “Mulai” dan menampilkan menu mulai.

b) User melihat tampilan menu utama dan memilih menu login.

c) Sistem menampilkan form menu login.

d) User memilih dan melihat login.

e) User mengakhiri aplikasi.


44

III.3.2.2. Activity Diagram Petunjuk

Activity Diagram Petunjuk dapat dilihat pada gambar III.4. sebagai berikut:

Gambar III.4. Activity Diagram Petunjuk

Keterangan dari Activity Diagram Petunjuk di atas adalah :

a) Sistem “Mulai” dan menampilkan menu utama.

b) User melihat tampilan menu utama dan memilih menu petunjuk.

c) Sistem menampilkan form menu petunjuk.

d) User melihat dan membaca petunjuk.

e) User mengakhiri aplikasi.


45

III.3.2.3. Activity Diagram Isi Data

Activity Diagram Isi Data dapat dilihat pada gambar III.5. sebagai berikut:

Gambar III.5. Activity Diagram Tahapan Isi Data

Keterangan dari Activity Diagram Tahapan Isi Data di atas adalah :

a) Sistem “Mulai” dan menampilkan menu utama.

b) User melihat tampilan menu utama dan memilih Login.

c) Sistem menampilkan Login.

d) User memilih menu tahapan Isi Data.

e) Sistem menampilkan menu tahapan Isi Data.

f) User melihat menutahapan Isi Data.

g) User mengakhiri aplikasi.


46

III.3.2.4. Activity Diagram Tahapan Enkripsi

Activity Diagram Enkripsi dapat dilihat pada gambar III.6. sebagai berikut:

Gambar III.6. Activity Diagram Enkripsi

Keterangan dari Activity Diagram Enkripsi di atas adalah :

a) Sistem “Mulai” dan menampilkan menu utama.

b) User melihat tampilan menu utama dan memilih Login.

c) Sistem menampilkan Login.

d) User memilih menu Cari Data.

e) Sistem menampilkan menu Cari Data.

f) User melihat menu Enkripsi.

g) User mengakhiri aplikasi.


47

III.3.2.5. Acivity Diagram Deskripsi

Activity Diagram Deskripsi dapat dilihat pada gambar III.7. sebagai berikut:

Gambar III.7. Activity Diagram Deskripsi

Keterangan dari Activity Diagram Deskripsi di atas adalah :

a) Sistem “Mulai” dan menampilkan menu utama.

b) User melihat tampilan menu utama dan memilih Login.

c) Sistem menampilkan menu Login.

d) User memilih menu cari data.

e) Sistem menampilkan menu cari data.

f) User melihat menu Deskripsi.

g) User mengakhiri aplikasi.


48

III.3.3. Diagram Sequence


Sequence Diagram menggambarkan perilaku pada sebuah skenario,

diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang

diletakkan diantara objek–objek ini di dalam use case, berikut gambar sequence

diagram :

III.3.3.1. Sequence Diagram Login


Sequence DiagramBelajar dapat dilihat pada gambar III.8. sebagai berikut:

Gambar III.8. Sequence Diagram Login

Keterangan dari Sequence Diagram Login dapat dilihat pada gambar

III.8. sebagai berikut :

a) User menjalankan aplikasi dan membuka menu utama.

b) User membuka form Login.

c) User dapat kembali ke form menu utama.

d) User dapat melihat menu Login.


49

III.3.3.2. Sequence Diagram Petunjuk


Sequence Diagram Petunjuk dapat dilihat pada gambar III.9. sebagai berikut:

Gambar III.9. Sequence Diagram Petunjuk

Keterangan dari Sequence Diagram Petunjuk dapat dilihat pada gambar

III.9. sebagai berikut :

a. User menjalankan aplikasi dan membuka menu utama.

b. User menjalankan dan membuka form petunjuk.

c. User dapat kembali ke form menu utama.

d. User dapat melihat form petunjuk.


50

III.3.3.3. Sequence Diagram Tahapan Isi Data


Sequence Diagram Tahapan Isi Data dapat dilihat pada gambar III.10.sebagai

berikut:

Gambar III.10. Sequence Diagram Tahapan Isi Data

Keterangan dari Sequence Diagram Tahapan Pembelajaran di atas adalah :

a) User menjalankan aplikasi dan membuka menu utama.

b) User membuka menu login dan User dapat kembali ke menu utama

c) User membuka Isi data dan User dapat kembali ke menu login.

d) User dapat melihat isi data.


51

III.3.3.4. Sequence Diagram Cari Data


Sequence Diagram Cari Data dapat dilihat pada gambar III.11.sebagai berikut:

Gambar III.11. Sequence Diagram Cari Data

Keterangan dari Sequence Diagram Cari Data dilihat pada gambar III.11.

sebagai berikut :

a) User menjalankan aplikasi dan membuka menu utama.

b) User membuka menu login dan User dapat kembali ke menu utama

c) User membuka menu cari data dan User dapat kembali ke menu login.

d) User dapat melihat menu huruf cari data.


52

III.3.3.5. Sequence Diagram Enkripsi


Sequence Diagram Enkripsi dapat dilihat pada gambar III.12.sebagai berikut:

Gambar III.12. Sequence Diagram Enkripsi

Keterangan dari Sequence Diagram Enkripsi di atas adalah :

a) User menjalankan aplikasi dan membuka menu utama.

b) User membuka menu Login dan User dapat kembali ke menu utama

c) User membuka menu Cari Data dan User dapat kembali ke menu Login.

d) User membuka menu Enkripsi dan User dapat Kembali ke menu Cari
Data

e) User dapat melihat menu Enkripsi


53

III.3.36. Sequence Diagram Deskripsi


Sequence Diagram Deskripsi dilihat pada gambar III.13.sebagai berikut:

Gambar III.13. Sequence Diagram Deskripsi

Keterangan dari Sequence Diagram Deskripsi di atas adalah :

a) User menjalankan aplikasi dan membuka menu utama.

b) User membuka menu Login dan User dapat kembali ke menu utama

c) Us er membuka menu Cari Data dan User dapat kembali ke menu Login.

d) User membuka menu Deskripsi dan User dapat Kembali ke menu Cari Data

e) User dapat melihat menu Deskripsi


54

III.4. Desain User Interface

User interface atau disebut juga dengan tampilan antarmuka merupakan

rancangan tampilan aplikasi. Berikut ini adalah rancangan user interface dari

aplikasi pengamanan data sertifikasi profesi.

III.4.1. Tampilan Menu Utama

Pada Tampilan Menu Utama terdapat 2 button, yaitu button Login dan

button Petunjuk.

Gambar III.14. Tampilan Menu Utama


55

III.4.2. Tampilan Menu Belajar

Setelah Tampilan Menu Login Akan terdapat 2 button yaitu button Isi

Data dan button Cari Data.

Gambar III.15. Tampilan Menu Login


56

III.4.3. Tampilan Menu Petunjuk

Pada Tampilan Menu Petunjuk terdapat penjelasan tentang petunjuk

pemakaian aplikasi pengamanan data sertifikasi profesi.

Gambar III.16. Tampilan Menu Petunjuk


57

III.4.4. Tampilan Menu Tahapan Isi Dta

Pada Tampilan Menu Tahapan Isi Data terdapat form yang harus diisi

user untuk menyimpan data sertifikasi profesi.

Gambar III.17. Tampilan Menu Tahapan Isi Data


58

III.4.5. Tampilan Menu Cari Data

Pada Tampilan Menu Cari Data terdapat pencarian dan terdapat 2 yaitu

button Enkripsi dan button Deskripsi yang terdapat pada sisi bawah pencarian.

Gambar III.18. Tampilan Menu Cari Data


59

III.4.6. Tampilan Menu Enkripsi

Pada Tampilan Menu Enkripsi terdapat Button Upload Tanda Tangan

dan kode enkripsi.

Gambar III.19. Tampilan Menu Enkripsi


60

III.4.7. Tampilan Menu Deskripsi

Pada Tampilan Menu Deskripsi terdapat kolom isian kode enkripsi yang

harus diisi..

Gambar III.20. Tampilan Menu Huruf Deskripsi

Anda mungkin juga menyukai