• Tidak ada hasil yang ditemukan

Perancangan Perangkat Lunak PEnentuan Jalur Kritis Dari Suatu Jaringan Kerja Proyek

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Perangkat Lunak PEnentuan Jalur Kritis Dari Suatu Jaringan Kerja Proyek"

Copied!
106
0
0

Teks penuh

(1)

KRITIS DARI SUATU JARINGAN KERJA PROYEK

SKRIPSI

DIAN MANJA SARI

041401012

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

PADA HILL CIPHER

SKRIPSI

DIAN MANJA SARI

041401012

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(3)

PADA HILL CIPHER

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

DIAN MANJA SARI 041401012

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(4)

SARJANA REGULER/EXTENSION (S1) DAN DIPLOMA III/IV *)

No. :

Nama/NIM : Dian Manja Sari/041401012

Tempat/Tgl.Lahir/Gol.Darah : Psr. V Kw. Mencirim/07 Oktober 1985/B

Jenis Kelamin/Agama/Status : Perempuan/Islam/Belum Menikah Tinggi/Berat Badan : 158 cm/ 50 kg

Asal SLTA : SMU Negeri 1 Sei. Bingai

Fakultas/Departemen/P.Studi : MIPA/Ilmu Komputer/S-1

Tanggal Lulus : 19 Desember 2008

No.Alumni/No.Ijazah :

Judul Skripsi : Aplikasi Invers Matriks

Tergeneralisasi pada Hill Cipher Nama Orang Tua/Pekerjaan : Bahari/Pensiunan PNS

Alamat Orang Tua : Dsn.1 Adi Mulio Ds. Psr VI Kw. Mencirim Kec. Sei. Bingai Kab. Langkat

Diketahui, Medan, 23 Desember 2008

PUDEK I Fakultas MIPA Peserta Wisuda

(Dr. Sutarman, M.Sc) (Dian Manja Sari)

(5)

Saya yang bertandatangan di bawah ini :

Nama :

NIM :

Tempat/Tgl.Lahir :

Dep/Prog. Studi : Ilmu Komputer/S-1

Jika dikemudian hari ada kekurangan / kesalahan dalam Penulisan ijazah saya (Foto Berjilbab) karena kesalahan saya sendiri. Saya tidak akan menuntut pihak USU maupun Fakultas.

Medan, 9 Desember 2008

(6)

Yang bertanda tangan dibawah ini saya lulusan Fakultas MIPA Program Studi (S1/D3) menyatakan bahwa pada ijazah saya program nama dan data saya supaya ditulis sebagai berikut :

Nama : Dian Manja Sari

NIM : 041401012

Tempat/Tgl. Lahir : Psr. V Kw. Mencirim/07 Oktober 1985 Departemen/Prog. Studi : Ilmu Komputer/S-1

Jika dikemudian hari ada kekurangan atau kesalahan dalam penulisan ijazah saya tersebut karena kesalahan saya sendiri, saya tidak akan menuntut pihak USU maupun Fakultas.

Mengetahui Medan, 23 Desember 2008

Orang Tua / Wali Hormat Saya,

(7)

Judul : APLIKASI INVERS MATRIKS

TERGENERALISASI PADA HILL CIPHER

Kategori : SKRIPSI

Nama : DIAN MANJA SARI

Nomor Induk Mahasiswa : 041401012

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 19 Desember 2008

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dra. Mardiningsih, M.Si Drs. James P. Marbun, M.Kom

NIP. 131 803 344 NIP. 131 639 804

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(8)

APLIKASI INVERS MATRIKS TERGENERALISASI PADA HILL CIPHER

SKRIPSI

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

Medan, Desember 2008

(9)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. James P. Marbun, M.Kom dan Ibu Dra. Mardiningsih, M.Si selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan skripsi ini. Panduan ringkas dan padat serta profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si., MIT, Dekan dan Pembantu Dekan FMIPA USU, semua dosen pada Program Studi S1 Ilmu Komputer FMIPA USU, dan seluruh pegawai di Program Studi S1 Ilmu Komputer FMIPA USU. Tidak terlupakan kepada yang tersayang Ayahanda Bahari dan Ibunda Siti Rosinar yang telah memberikan doa, dukungan, perhatian dan kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya semenjak penulis dilahirkan hingga menyelesaikan skripsi ini. Bang Bambang, Bang Jaka dan adikku Tio serta seluruh keluarga tercinta yang berjasa dan selalu sabar dalam memberikan dorongan moril maupun materil serta motivasi yang baik kepada penulis. Teristimewa kepada Mas Ikhwan yang selalu memberikan waktu, semangat, dan ikhlas membagi pengetahuan yang dimiliki kepada penulis. Teristimewa juga kepada Rocky yang telah banyak membantu dan memberi semangat kepada penulis untuk menyelesaikan skripsi ini. Ucapan terima kasih juga penulis ucapkan kepada sahabat-sahabat terbaik penulis, Awe, Leni, Farida, Try, Tika, Nita dan seluruh rekan-rekan kuliah angkatan ’04 yang telah banyak memberikan semangat kepada penulis dan Ayu yang selalu menjadi teman saat suka dan duka selama menyelesaikan skripsi ini. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta kerja samanya kepada penulis dalam menyelesaikan skripsi ini.

(10)

ABSTRAK

Penulisan skripsi ini bertujuan untuk merancang suatu sistem keamanan data dengan cara menerapkan invers matriks tergeneralisasi pada algoritma Hill Cipher dengan kunci dapat berbentuk matriks bujur sangkar atau persegi panjang. Sistem kriptografi Hill Cipher Tergeneralisasi ini, dapat digunakan untuk mengamankan data dan informasi yang tersimpan di komputer dari gangguan para kriptoanalis. Dengan penerapan invers matriks tergeneralisasi pada algoritma Hill Cipher ini, maka kunci

dapat berupa matriks persegi panjang sehingga setiap pesan yang panjangnya n setelah

dienkripsi akan mempunyai panjang m. Hal ini akan lebih menyamarkan pesan

sehingga lebih sulit dipecahkan. Sistem ini dibangun menggunakan perangkat lunak MATLAB 7.0. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan sistem tersebut meliputi tahapan analisis permasalahan, perancangan aplikasi yang

melibatkan diagram alir data, algoritma dan flowchart beserta pemodelan struktur

(11)

AN APPLICATION OF GENERALIZED INVERS MATRICES ON THE HILL CIPHER

ABSTRACT

This final project is aim to design a data security system by applying generaralized invers matrices of Hill Cipher algorithm by using square or rectangle matrices. Crytography system of generalized Hill Cipher can be used to protect data and information in comput er from disturbing by cryptoanalyst. By application of generalized invers matrices on the Hill Cipher algorithm, the key could be rectangle

matrices so every plaintext which its length n after encryption will be m. This way will

be hider the ciphertext for more difficult to be solved. This system is built up by software application MATLAB 7.0. The methodologies to form the system is use the approach of waterfall model. The step which writer has been taken in this application process are analysis the problem, application programme that involving data flow diagram, algorithm and flowchart so is the model of progamme structure, therefore the model application is easier used and has optimum function. For sure all function in the cryptography system of generalized Hill Cipher work optimally, so the application system tested and formed final conclusion.

.

(12)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Gambar x

Daftar Tabel xi

Bab 1 Pendahuluan 1

1.1 Latar Belakang Masalah 1

1.2 Perumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori 6

2.1 Kriptografi 6

2.1.1 Defenisi Kriptografi 6

2.1.2 Sejarah Kriptografi 7

2.1.3 Tujuan Kriptografi 10

2.1.4 Terminologi dan Konsep Dasar Kriptografi 11

2.1.4.1 Pesan, Plainteks dan Cipherteks 11

2.1.4.2 Peserta Komunikasi 12

2.1.4.3 Kriptologi 13

2.1.5 Algoritma dan Kunci 14

2.1.6 Algoritma Kriptografi 15

2.1.6.1 Algoritma Simetris 15

2.1.6.2 Algoritma Asimetris 16

2.1.6.3 Perbandingan Algorima Simetris dan Asimetris 17

2.1.7 Sistem Kriptografi 19

2.1.7.1 Keamanan Sistem Kriptografi 19

2.1.7.2 Serangan pada Sistem Kriptografi 20

2.2 Konsep Dasar Matematis Kriptografi 20

2.2.1 Persamaan Linear 20

2.2.2 Matriks dan Operasi pada Matriks 21

2.2.2.1 Matriks 21

2.2.2.2 Operasi pada Matriks 21

2.2.2.3 Transpos, Transpos Konjugat dan Hermitian 22

(13)

2.2.2.5 Invers Matriks 23

2.2.3 Ruang-ruang Vektor 24

2.2.3.1 Ruang Baris dan Kolom Matriks 24

2.2.3.2 Kombinasi Linear dan Bebas Linear 25

2.2.3.3 Basis dan Dimensi 25

2.2.4 Aljabar Abstrak 26

2.2.4.1 Grup 26

2.2.4.2 Gelanggang (Ring) 27

2.2.4.3 Lapangan (Field) 27

2.2.5 Teori Bilangan 27

2.2.5.1 Sifat Pembagian pada Bilangan Bulat 27

2.2.5.2 Pembagian Persekutuan Terbesar 28

2.2.5.3 Algoritma Euclide 28

2.2.5.4 Algoritma Euclide yang Diperluas 29

2.3 Invers Matriks Tergeneralisasi 30

2.3.1 Definisi Umum 30

2.3.2 Invers Matriks Tergeneralisasi atas Bilangan Bulat

Modulo p 30

2.4. Hill Cipher 31

2.5 Aplikasi Invers Matriks Tergeneralisasi pada Algoritma Hill

Cipher (Hill Cipher Tergeneralisasi) 32

2.5.1 Proses Penyandian 34

2.5.1.1 Proses Pembentukan Kunci 34

2.5.1.2 Proses Enkripsi 34

2.5.1.3 Proses Dekripsi 35

2.6 Rekayasa Perangkat Lunak 35

2.7 MATLAB 36

2.7.1 Sejarah MATLAB 37

2.7.2 Kemampuan dan Kegunaan MATLAB 37

Bab 3 Analisis dan Pemodelan Perangkat Lunak 38

3.1 Analisis Permasalahan Algoritma Hill Cipher Tergeneralisasi 38

3.2 Analisis Kebutuhan Algoritma Hill Cipher Tergeneralisasi 38

3.3 Pemodelan Fungsional 40

3.3.1 DFD dan Spesifikasi Proses 40

3.3.2 Kamus Data 48

3.3.2.1 Kamus Data Proses Pembentukan Kunci 49

3.3.2.2 Kamus Data Proses Enkripsi 50

3.3.2.3 Kamus Data Proses Dekripsi 51

Bab 4 Perancangan dan Implementasi 52

4.1 Perancangan 52

4.1.1 Perancangan Struktur Program 52

4.1.2 Perancangan Prosedural 54

4.1.2.1 Algoritma dan Flowchart Proses Pembentukan

Kunci 54

4.1.2.2 Algoritma dan Flowchart Proses Enkripsi 57

4.1.2.3 Algoritma dan Flowchart Proses Dekripsi 59

(14)

Bab 5 Penutup 70

5.1 Kesimpulan 70

5.2 Saran 71

Daftar Pustaka 72

(15)

Halaman

Gambar 2.1 Scytale 8

Gambar 2.2 Mesin Enkripsi Enigma 9

Gambar 2.3 Contoh Plainteks dan Cipherteksnya 12

Gambar 2.4 Skema Komunikasi dengan Proses Enkripsi 12

Gambar 2.5 Hubungan Kriptografi, Kriptanalisis dan Steganografi 13

Gambar 2.6 Skema Enkripsi dan Dekripsi 15

Gambat 2.7 Skema Algoritma Simetris 16

Gambar 2.8 Skema Algoritma Asimetris 17

Gambar 2.9 Fungsi Enkripsi 33

Gambar 3.1 Diagram Konteks atau DFD Level 0 41

Gambar 3.2 Diagram Level 1 Proses 0 42

Gambar 3.3 DFD Level 2 Proses Pembentukan Kunci 44

Gambar 3.4 DFD Level 2 Proses Enkripsi 46

Gambar 3.5 DFD Level 2 Proses Dekripsi 47

Gambar 4.1 Struktur Program GenHillCrypt 53

Gambar 4.2 Flowchart Prosedur Pembentukan Kunci 56

Gambar 4.3 Flowchart Prosedur Enkripsi 58

Gambar 4.4 Flowchart Prosedur Dekripsi 60

Gambar 4.5 Tampilan Layar Utama 61

Gambar 4.6 Tampilan Layar Program Utama 62

Gambar 4.7 Tampilan Layar Bentuk Kunci 62

Gambar 4.8 Tampilan Layar Input Matriks Manual 63

Gambar 4.9 Tampilan Layar Input Kalimat sebagai Kunci 64

Gambar 4.10 Tampilan Layar Lihat Matriks 65

Gambar 4.11 Tampilan Layar Enkripsi 66

Gambar 4.12 Tampilan Layar Dekripsi 67

Gambar 4.13 Tampilan Layar Dekripsi Cipher 67

Gambar 4.14 Tampilan Layar Dekripsi Cipher Baru 68

Gambar 4.15 Tampilan Layar Tentang Penulis 69

(16)

Halaman

Tabel 3.1 Spesifikasi Proses Diagram Konteks atau DFD Level 0 41

Tabel 3.2 Spesifikasi Proses Diagram Level 1 43

Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses 2 45

Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses 3 46

Tabel 3.5 Spesifikasi Proses DFD Level 2 Proses 4 48

Tabel 3.6 Kamus Data Proses Pembentukan Kunci 49

Tabel 3.7 Kamus Data Proses Enkripsi 50

(17)

ABSTRAK

Penulisan skripsi ini bertujuan untuk merancang suatu sistem keamanan data dengan cara menerapkan invers matriks tergeneralisasi pada algoritma Hill Cipher dengan kunci dapat berbentuk matriks bujur sangkar atau persegi panjang. Sistem kriptografi Hill Cipher Tergeneralisasi ini, dapat digunakan untuk mengamankan data dan informasi yang tersimpan di komputer dari gangguan para kriptoanalis. Dengan penerapan invers matriks tergeneralisasi pada algoritma Hill Cipher ini, maka kunci

dapat berupa matriks persegi panjang sehingga setiap pesan yang panjangnya n setelah

dienkripsi akan mempunyai panjang m. Hal ini akan lebih menyamarkan pesan

sehingga lebih sulit dipecahkan. Sistem ini dibangun menggunakan perangkat lunak MATLAB 7.0. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan sistem tersebut meliputi tahapan analisis permasalahan, perancangan aplikasi yang

melibatkan diagram alir data, algoritma dan flowchart beserta pemodelan struktur

(18)

AN APPLICATION OF GENERALIZED INVERS MATRICES ON THE HILL CIPHER

ABSTRACT

This final project is aim to design a data security system by applying generaralized invers matrices of Hill Cipher algorithm by using square or rectangle matrices. Crytography system of generalized Hill Cipher can be used to protect data and information in comput er from disturbing by cryptoanalyst. By application of generalized invers matrices on the Hill Cipher algorithm, the key could be rectangle

matrices so every plaintext which its length n after encryption will be m. This way will

be hider the ciphertext for more difficult to be solved. This system is built up by software application MATLAB 7.0. The methodologies to form the system is use the approach of waterfall model. The step which writer has been taken in this application process are analysis the problem, application programme that involving data flow diagram, algorithm and flowchart so is the model of progamme structure, therefore the model application is easier used and has optimum function. For sure all function in the cryptography system of generalized Hill Cipher work optimally, so the application system tested and formed final conclusion.

.

(19)

PENDAHULUAN

1.1 Latar Belakang Masalah

Keamanan informasi merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi sensitif yang hanya boleh diketahui isinya oleh pihak yang berhak saja, apalagi jika pengirimannya dilakukan melalui jaringan publik. Apabila data tersebut tidak diamankan terlebih dahulu akan sangat mudah disadap dan diketahui isi informasinya oleh pihak-pihak yang tidak berhak. Hal ini merupakan salah satu masalah dalam keamanan data dan informasi. Untuk itu dibutuhkan cara agar persoalan tersebut dapat diatasi.

Kriptografi adalah ilmu yang mempelajari bagaimana pesan yang dikirim oleh sender dan dapat diterima receiver dengan aman, yaitu dengan cara menyandikan isi informasi (plaintext) tersebut menjadi isi yang tidak dipahami melalui proses enkripsi. Untuk memperoleh kembali informasi yang asli, maka dilakukan proses dekripsi yang disertai dengan penggunaan kunci yang benar.

Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih ke arah metode-metode yang digunakan. Tujuan pokok dari proses enkripsi dan dekripsi adalah metode untuk merahasiakan pesan agar tidak mudah diketahui oleh orang lain.

(20)

Algoritma asimetris adalah algoritma yang menggunakan kunci berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini juga disebut sebagai sistem kriptografi public-key karena kunci untuk enkripsi dibuat secara umum (public-key, dapat

diketahui oleh siapa saja), tapi untuk proses dekripsinya dibuat satu kunci yang hanya diketahui oleh yang berwenang. Kunci ini disebut private-key.

Hill Cipher merupakan salah satu algoritma kunci simetris. Algoritma Hill Cipher menggunakan matriks bujur sangkar sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam Hill Cipher antara lain adalah operasi perkalian dan melakukan invers pada matriks.

Ide awal dari invers matriks tergeneralisasi (Generalized Inverses of Matrix) adalah menggeneralisasi pengertian invers matriks. Dari teori invers matriks tergeneralisasi tersebut maka ada kemungkinan menggunakan matriks persegi panjang sebagai kunci. Dengan adanya kemungkinan tersebut, maka penulis tertarik untuk melakukan pengembangan terhadap algoritma Hill Cipher yaitu dengan mengaplikasikan invers matriks tergeneralisasi pada algoritma Hill Cipher.

1.2 Perumusan Masalah

Rumusan masalah dari penulisan skripsi ini adalah:

1. Bagaimana menerapkan invers matriks tergeneralisasi pada algoritma Hill Cipher. 2. Bagaimana mengimplementasikan Hill Cipher Tergeneralisasi dalam sebuah

program komputer.

1.3 Batasan Masalah

Permasalahan pada skripsi ini dibatasi pada hal-hal sebagai berikut: 1. Penyandian hanya dilakukan pada pesan dalam format teks.

2. Proses penyandian pesan yang dibahas meliputi: proses pembangkitan kunci, proses enkripsi dan proses dekripsi serta implementasinya dalam sebuah program komputer.

(21)

4. Bilangan prima dan kunci yang digunakan pada algoritma Hill Cipher Tergeneralisasi dibatasi hanya pada Z29.

5. Aplikasi dibuat dengan menggunakan bahasa pemrograman MATLAB 7.0.

1.4 Tujuan Penelitian

Tujuan dari skripsi ini adalah Merancang suatu sistem keamanan data dengan menggunakan algoritma Hill Cipher Tergeneralisasi dengan kunci dapat berbentuk matriks bujur sangkar atau matriks persegi panjang, kemudian mengimplementasikannya dalam sebuah program komputer.

1.5 Manfaat Penelitian

Diharapkan skripsi ini dapat memperkaya literatur mengenai kriptografi khususnya algoritma Hill Cipher, sehingga nantinya dapat bermanfaat untuk menjaga keamanan data dan dapat diimplementasikan.

1.6 Metode Penelitian

Penelitian dalam skripsi ini dilakukan dengan beberapa tahapan, yaitu: 1. Studi Literatur

(22)

2. Analisis masalah

Pada tahap ini dilakukan analisis terhadap algoritma Hill Cipher dan invers matriks tergeneralisasi dari aspek matematis dan proses penyandian kemudian menerapkan invers matriks tergeneralisasi pada algoritma Hill Cipher.

3. Perancangan Sistem

Pada tahap ini, sistem dirancang sehingga dapat menjamin keamanan data. Perancangan sistem meliputi perancangan data, perancangan struktur program, dan perancangan prosedural sistem.

4. Pengkodean

Pada tahap ini, sistem yang telah dirancang kemudian diimplementasikan kedalam bahasa pemrograman.

5. Pengujian

Pada tahap ini, menguji program dan mencari kesalahan pada program hingga program itu dapat berjalan sesuai dengan yang dirancang.

6. Penyusunan laporan dan kesimpulan akhir

Pada tahap ini, menyusun laporan hasil analisis dan perancangan kedalam format penulisan skripsi dengan disertai kesimpulan akhir.

1.7 Sistematika Penulisan

BAB 1 : PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2 :LANDASAN TEORI

(23)

BAB 3 :ANALISIS dan PEMODELAN PERANGKAT LUNAK

Bab ini berisikan analisis permasalahan pengaplikasian invers matriks tergeneralisasi pada algoritma Hill Cipher, serta pemodelan sistem.

BAB 4: PERANCANGAN dan IMPLEMENTASI

Bab ini berisikan gambaran rancangan struktur program dan desain, serta memberikan gambaran dari rancang bangun yang lengkap kepada user dan pemakai komputer yang lain serta implementasinya yaitu menguji untuk menemukan kesalahan.

BAB 5: PENUTUP

(24)

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi atau yang sering dikenal dengan ilmu penyandian pesan adalah seni dan ilmu yang menyembunyikan informasi dari yang tidak berhak (Rahayu, 2005).

Menurut Request for Comments (RFC), kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau mencegahnya dari penggunaan yang tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga bisa diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas.

Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai berikut:

“Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan menggunakan huruf dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang memproses kunci, juga semua hal yang ditulis dengan cara seperti ini.”

(25)

Menezes, van Oorschot dan Vanstone (1997) menyatakan bahwa kriptografi adalah suatu studi teknik matematika yang berhubungan dengan aspek keamanan informasi seperi kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian data. Kriptografi tidak hanya berarti penyediaan keamanan informasi, melainkan sebuah himpunan teknik-teknik.

Selain definisi di atas, Scheiner (1996) mengemukakan pendapatnya tentang definisi kriptografi yaitu: ilmu dan seni untuk menjaga keamanan pesan. Penggunaan kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah seni) (Munir, 2006).

2.1.2 Sejarah Kriptografi

Secara historis ada empat kelompok orang yang berkontribusi terhadap perkembangan kriptografi, dimana mereka menggunakan kriptografi untuk menjamin kerahasiaan dalam komunikasi pesan penting, yaitu kalangan militer (termasuk intelijen dan mata-mata), kalangan diplomatik, penulis buku harian, dan pencinta (lovers). Di antara keempat kelompok ini, kalangan militer yang memberikan kontribusi paling penting karena pengiriman pesan di dalam suasana perang membutuhkan teknik enkripsi dan dekripsi yang rumit.

(26)

Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang disebut scytale (Gambar 2.1(a)). Scytale terdiri dari sebuah kertas panjang dari daun papyrus yang dililitkan pada sebuah silinder dari diameter tertentu (diameter silender menyatakan kunci penyandian). Pesan ditulis secara horizontal, baris per baris (Gambar 2.1(b)). Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun secara acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus melilitkan kembali melilitkan kembali kertas tersebut ke silinder yang diameternya sama dengan diameter silinder pengirim.

(a) Sebuah scytale (b) Pesan ditulis secara horizontal, baris perbaris.

Gambar 2.1 Scytale.

Sedangkang algoritma substitusi paling awal dan paling sederhana adalah Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alfabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet (Munir, 2006).

Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pada masa awal agama Kristen menggunakan kriptografi untuk menjaga tulisan relijius dari gangguan otoritas politik atau budaya yang dominan saat itu. Mungkin yang sangat terkenal adalah “Angka si Buruk Rupa (Number of the Beast)” di dalam Kitab Perjanjian Baru. Angka “666” menyatakan cara kriptografik (yaitu dienkripsi) untuk menyembunyikan pesan berbahaya, para ahli percaya bahwa pesan tersebut mengacu pada Kerajaan Romawi.

(27)

cipher. Pada Abad ke-17, sejarah kriptografi mencatat korban ketika ratu Skotlandia,

Queen Mary, dipancung setelah surat rahasianya dari balik penjara (surat terenkrpsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode (Munir, 2006).

Seperti yang telah disebutkan di atas bahwa kriptografi umum digunakan di kalangan militer. Pada Perang Dunia ke II, Pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Enigma. (Gambar 2.2). Mesin yang menggunakan beberapa buah rotor (roda berputar) ini melakukan enkripsi dengan cara yang sangat rumit. Namun Enigma cipher berhasil dipecahkan oleh pihak Sekutu dan keberhasilan memecahkan Enigma sering dikatakan sebagai faktor yang memperpendek perang dunia ke-2 (Churchhouse, 2004).

Gambar 2.2 Mesin Enkripsi Enigma.

Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Dengan komput er digital, cipher yang lebih kompleks menjadi sangat mungkin untuk dapat dihasilkan dan berdampak pada permintaan dari pihak-pihak tertentu sebagai sarana untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan. Dimulai dari usaha Feistel dari IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi federal Amerika Serikat untuk

mengenkripsi informasi yang tidak atau belum diklasifikasi. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah.

(28)

memungkinkan dilakukannya perhitungan yang rumit dan kompleks dalam waktu yang relatif singkat. Dari hal tersebut lahirlah banyak teori dan algoritma penyandian pesan yang semakin kompleks dan sulit dipecahkan.

2.1.3 Tujuan Kriptografi

Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah sebagai berikut (Menezes, van Oorschot dan Vanstone, 1997) (Scheiner, 1996):

1. Kerahasiaan adalah layanan yang digunakan untuk menjaga isi informasi dari semua pihak kecuali pihak yang memiliki otoritas terhadap informasi. Ada beberapa pendekatan untuk menjaga kerahasiaan, dari pengamanan secara fisik hingga penggunaan algoritma matematika yang membuat data tidak dapat dipahami. Istilah lain yang senada dengan confidentiality adalah secrecy dan privacy.

2. Integritas data adalah layanan penjagaan pengubahan data dari pihak yang tidak berwenang. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam pesan yang sebenarnya. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan digital (digital signature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.

3. Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan

(29)

4. Nirpenyangkalan adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

Selain ada pihak yang ingin menjaga agar pesan tetap aman, ada juga pihak yang ingin mengetahui pesan rahasia tersebut secara tidak sah. Bahkan ada pihak yang ingin agar dapat mengubah isi pesan tersebut. Usaha untuk membongkar suatu pesan sandi tanpa mendapatkan kunci dengan cara yang sah dikenal istilah serangan (attack). Beberapa macam penyerangan terhadap pesan yang telah dienkripsi yaitu:

1. Ciphertext only attack.

Dimana penyerang hanya mendapatkan pesan yang sudah disandikan saja. 2. Known plaintext attack atau clear-text attack.

Dimana penyerang selain mendapatkan sandi, juga mendapatkan pesan asli. 3. Choosen plaintext attack.

Sama dengan known plaintext attack, namun penyerang bahkan dapat memilih penggalan mana dari pesan asli yang disandikan.

2.1.4 Terminologi dan Konsep Dasar Kriptografi

2.1.4.1 Pesan, Plainteks, dan Cipherteks

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks atau teks-jelas (cleartext) (Scheiner, 1996). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dan sebagainya) atau yang disimpan di dalam media perekaman (kertas, storage, dan sebagainya). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya.

(30)

(a) Plainteks (teks) (b) Cipherteks dari (a)

Gambar 2.3 Contoh-contoh plainteks dan cipherteksnya.

2.1.4.2 Peserta Komunikasi

c

Unsecured Channel

[image:30.595.145.480.107.311.2]

Alice Bob

Gambar 2.4 Skema komunikasi dengan proses enkripsi.

Skema komunikasi dengan proses enkripsi dapat dijelaskan sebagai berikut:

1. Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, atau memanipulasi informasi. Entitas bisa berupa orang, terminal komputer, kartu kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya (contoh: Alice berkomunikasi dengan Bob) sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di bank).

Adversary

m Encryption

Ee (m) = c

Plaintext source

m Decryption

Ed (c) = m

Destination Ketika saya berjalan-jalan

(31)

2. Pengirim adalah entitas dalam komunikasi yang mengirimkan informasi kepada entitas lainnya.

3. Penerima adalah entitas dalam komunikasi yang diharapkan menerima informasi. 4. Penyusup (adversary) adalah entitas diluar pengirim dan penerima yang mencoba

untuk membobol keamanan informasi. Penyusup biasanya bertindak seolah-olah sebagai pengirim yang sah ataupun penerima yang sah.

2.1.4.3 Kriptologi

Kriptologi berasal dari bahasa Yunani, “kryptos” yang berarti “tersembunyi” dan “logos” yang berarti “kata”. Jadi, kriptologi dapat diartikan sebagai frase kata yang tersembunyi. Kriptologi dapat juga diartikan sebagai seni dan ilmu untuk membuat dan memecahkan kode rahasia. Kriptologi dibagi menjadi kriptografi (seni dan ilmu membuat kode rahasia), kriptanalisis (ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan) (Stamp, 2007) dan steganografi (metoda menyembunyikan pesan atau data lainnya). Pelaku kriptanalisis disebut kriptanalis. Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci.

Cryptology

Cryptanalysis Steganography

(32)

2.1.5 Algoritma dan Kunci

Algoritma menggambarkan sebuah prosedur komputasi yang terdiri dari variabel input dan menghasilkan output yang berhubungan. Algoritma kriptografi atau sering disebut dengan cipher adalah suatu fungsi matematis yang digunakan untuk melakukan enkripsi dan dekripsi (Schneier, 1996). Algoritma kriptografi ini bekerja dalam kombinasi dengan menggunakan kunci (key) seperti kata, nomor atau frase tertentu.

Dasar matemetis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen plainteks dan elemen cipherteks. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen plainteks dinotasikan dengan P, elemen-elemen cipherteks dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dinotasikan dengan D, maka secara matematis kriptografi dapat dinyatakan sebagai berikut:

E(P) = C

D(C) = P atau D(E(P)) = P

(33)

Gambar 2.6 (a) Skema enkripsi dan dekripsi, (b) contoh ilustrasi enkripsi dan dekripsi pesan.

2.1.6 Algoritma Kriptografi

Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan suatu masalah yang disusun secara sistematis. Langkah-langkah tersebut harus logis, ini berarti nilai kebenarannya harus dapat ditentukan benar atau salah. Algoritma kriptografi adalah bagian dari kriptografi yang berisi kumpulan langkah-langkah logis yang digunakan oleh seseorang untuk melakukan enkripsi dan dekripsi. Biasanya langkah-langkah ini berupa sekumpulan fungsi matematik. Berdasarkan sifat kuncinya, ada dua jenis algoritma kriptografi yaitu algoritma simetris dan algoritma asimetris.

2.1.6.1 Algoritma Simetris

Algoritma enkripsi akan disebut algoritma simetris apabila pasangan kunci untuk proses enkripsi dan dekripsinya adalah sama. Pada algoritma enkripsi algoritma simetris, digunakan sebuah kunci untuk melakukan proses enkripsi dan dekripsinya.

(34)

Plainteks Cipherteks Plainteks

A Enkripsi Dekripsi B

Kunci

bahwa seseorang yang ditunjuk membawa kunci untuk dipertukarkan adalah orang yang dapat dipercaya.

Kelebihan sistem kriptografi simetris ini adalah kecepatan proses enkripsi dan dekripsinya yang jauh lebih cepat dibandingkan dengan algoritma asimetris. Sedangkan kelemahan dari algoritma ini adalah permasalahan pendistribusian kunci dan efisiensi jumlah kunci.

Gambar 2.7 Skema Algoritma Simetris.

Contoh dari algoritma simetris adalah Vigenere Cipher, Cipher Permutasi, Cipher Substitusi, Hill Cipher, OTP, RC2, RC4, RC5, RC6, Twofish, Magenta, SAFER, LOKI, AES, DES, IDEA dan lain-lain.

2.1.6.2 Algoritma Asimetris

Algoritma asimetris adalah algoritma yang menggunakan kunci berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini juga disebut sebagai sistem kriptografi public-key karena kunci untuk enkripsi dibuat secara umum (public-key, dapat

diketahui oleh siapa saja), tapi untuk proses dekripsinya dibuat satu kunci yang hanya diketahui oleh yang berwenang. Kunci ini disebut private-key.

Public-key merupakan kunci yang bersifat umum, artinya kunci ini tidak dirahasiakan sehingga dapat dilihat oleh siapa saja, sedangkan private-key adalah kunci yang dirahasiakan dan hanya orang-orang tertentu yang boleh mengetahuinya.

(35)

tidak ada kesepakatan mengenai keamanan pesan terlebih dahulu bahkan jika mereka saling tidak mengenal satu sama lainnya.

Kelemahan dari sistem ini adalah waktu yang digunakan untuk melakukan proses enkripsi dan dekripsi jauh lebih lambat dibandingkan dengan sistem kriptografi simetris, sehingga kurang cocok jika digunakan untuk mengenkripsi suatu pesan yang cukup banyak.

Gambar 2.8 Skema Algoritma Asimetris.

Contoh dari algoritma asimetris adalah RSA, Elgamal, ACC, LUC, DSA dan lain-lain.

2.1.6.3 Perbandingan Algoritma Simetris dan Asimetris.

Baik kriptografi simetris maupun kriptografi asimetris (kunci publik), keduanya mempunyai kelebihan dan kelemahan.

1. Kelebihan kriptografi simetri:

a. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.

b. Ukuran kunci simetri relatif pendek.

c. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan bilangan acak.

d. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat.

e. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

B Dekripsi

Plainteks Kunci Rahasia

A Enkripsi

(36)

2. Kelemahan kriptografi simetri:

a. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini.

b. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.

3. Kelebihan kriptografi kunci-publik (asimetri):

a. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada kebutuhan mengirim kunci privat sebagaimana pada sistem simetri.

b. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.

c. Dapat digunakan untuk mengamankan pengiriman kunci simetri.

d. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan.

4. Kelemahan kriptografi kunci-publik (asimetri):

a. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.

b. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).

c. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.

d. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim. e. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block

cipher). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya

(37)

2.1.7 Sistem Kriptografi

Suatu sistem kriptografi merupakan sebuah himpunan algoritma, seluruh kemungkinan plainteks, cipherteks, kunci, dan proses manajemen kunci yang digunakan. Sistem kriptografi merupakan suatu fasilitas untuk mengkonversikan plainteks menjadi cipherteks, dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan proses plainteks menjadi cipherteks tertentu disebut dengan set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci. Secara umum, kunci–kunci yang digunakan untuk proses enkripsi dan dekripsi tidak perlu identik, tergantung dari sistem yang digunakan.

2.1.7.1 Keamanan Sistem Kriptografi

Suatu sistem kriptografi dikatakan aman jika para penyusup (adversary) dengan kemampuan yang dimilikinya tidak dapat memecahkan atau membobol sistem tersebut.

Berdasarkan kemampuan yang dimiliki penyusup, terdapat dua jenis keamanan sistem kriptografi, yaitu:

1. Keamanan tak kondisional, jika penyusup tidak dapat membobol sistem dengan kemampuan komputer yang tidak terbatas. Keamanan ini berhubungan dengan teori informasi dan teori probabilitas.

2. Keamanan kondisional, jika secara teoritis mungkin bagi penyusup untuk membobol sistem tapi secara komput asi tidaklah mungkin (karena keterbatasan sumberdaya dan kemampuan penyusup untuk mengakses informasi). Keamanan ini berhubungan dengan teori kompleksitas.

Sistem kriptografi dikatakan aman bila memiliki keadaan sebagai berikut: 1. Bila harga untuk membobol sistem lebih besar daripada nilai informasi yang

dibuka.

(38)

3. Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih sedikit dari jumlah data yang diperlukan untuk menembus algoritma tersebut (Kurniawan, 2004).

2.1.7.2 Serangan pada Sistem Kriptografi

Pada dasarnya serangan terhadap sistem kriptografi dapat dibedakan menjadi dua jenis yaitu:

1. Serangan pasif adalah serangan dimana penyerang hanya memonitor saluran komunikasi. Penyerang pasif hanya mengancam kerahasiaan data.

2. Serangan aktif adalah serangan dimana penyerang mencoba untuk menghapus, menambahkan, atau dengan cara yang lain mengubah transmisi pada saluran. Penyerang aktif mengancam integritas data dan otentikasi, juga kerahasiaan.

2.2 Konsep Dasar Matematis Kriptografi

2.2.1 Sistem Persamaan Linear

Variabel adalah sebuah notasi yang mewakili suatu bilangan dengan nilai yang belum diketahui. Sebagai contoh, sebuah garis dalam bidang xy secara aljabar dapat dinyatakan oleh persamaan yang berbentuk a1x + a2y = b. Persamaan ini dinamakan

persamaan linear dalam peubah (variabel) x dan peubah y. Secara lebih umum, mendefenisikan persamaan linear dalam n peubah x1, x2, ... xn

1 1 2 2 n n

a x +a x + + a x =b

sebagai persamaan yang dapat dinyatakan dalam bentuk:

dimana a1, a2, ... , an

1, 2,..., n

s s s dan b adalah konstanta-konstanta.

Solusi persamaan linear adalah urutan n bilangan sehingga suatu

persamaan linear a x1 1+a x2 2+ + a xn n =b dipenuhi bila disubtitusikan

1 1, 2 2, , n n

x =s x =sx =s . Himpunan dari semua solusi persamaan linear dinamakan

(39)

Sebuah sistem persamaan linear yang terdiri dari m persamaan linear dengan n bilangan tak diketahui (variabel) akan dituliskan sebagai berikut:

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

n n

n n

m m mn n m

a x a x a x b

a x a x a x b

a x a x a x b

+ + + = + + + = + + + =       

Dapat dilihat bahwa sistem persamaan linear tersebut bisa direpresentasikan sebagai persamaan perkalian matriks Ax = b, dengan

11 12 1

21 22 2

1 2

n

n

m m mn

a a a

a a a

A

a a a

      =             

berukuran m n× , matriks

1 2 n x x x x       =      

 dan matriks

1 2 m b b b b       =       

adalah matriks kolom. Untuk selanjutnya jika disebut sistem Ax=b berarti ekivalen dengan menyebutkan sistem persamaan linear dengan n variabel dan m persamaan yang bisa direpresentasikan sebagai sistem persamaan perkalian matriks Ax = b. Jika

1, 2,..., n

b b b semuanya nol maka sistem ini disebut sistem persamaan linear homogen.

Jika terdapat bi ≠0, 1≤ ≤i n maka disebut sistem persamaan linear tak homogen.

2.2.2 Matriks dan Operasi pada Matriks

2.2.2.1 Matriks

Matriks adalah susunan bilangan berbentuk persegi panjang yang diatur dalam baris dan kolom yang diletakkan dalam kurung biasa atau kurung siku. Matriks merupakan suatu cara visualisasi variabel yang merupakan kumpulan dari angka-angka atau variabel lain, misalnya vektor. Dengan representasi matriks, perhitungan dapat dilakukan dengan lebih terstruktur.

2.2.2.2 Operasi pada Matriks

Misal A, B, dan C adalah matriks yang berukuran sama dengan a, b R, maka berlaku operasi-operasi pada matriks sebagai berukut:

(40)

2. A + (B + C) = (A + B) + C (Hukum asosiatif). 3. A(BC) = (AB)C (Hukum asosiatif).

4. A(B + C ) = AB +AC (Hukum distributif). 5. (B + C)A = BA + CA (Hukum distributf). 6 A(B – C) = AB – AC.

7. (B -C) – A = BA – CA. 8. a(B + C) = aB + aC 9. a(B – C) = aB – aC. 10. (a + b)C = aC + bC. 11. (a – b)C = aC – bC. 12. (ab)C = a(bC).

13. a(BC) = (aB)C = B(aC).

Untuk membuktikan kesamaan-kesamaan diatas, maka perlu ditegaskan bahwa matriks pada ruas kiri harus mempunyai ukuran yang sama seperti matriks pada ruas kanan.

2.2.2.3 Transpos, Transpos Konjugat, dan Hermitian

Diberikan sebarang matriks A berukuran mxn, maka transpos dari A didefinisikan

dengan matriks n m× dinotasikan dengan AT yang setiap kolom dari A menjadi baris dari AT

A

. Konjugat dari A, ditulis A, merupakan matriks yang dibentuk dengan

menegasikan bagian imajiner setiap entri , jadi A=[aij]. Transpos konjugat dari A

didefinisikan oleh AH = AT. Matriks Adikatakan hermitianjika AH

A

= A.

Jika real, maka A dikatakan matriks simetri, yaitu AH

A

= A. Dapat dilihat

bahwa setiap matriks hermitian haruslah persegi. Untuk setiap matriks berukuran

m n× berlaku (AH A) H

= AH (AH)H = AH H

A A

(41)

2.2.2.4 Eselon Baris Tereduksi

Matriks A disebut dalam bentuk eselon baris tereduksi (reduced row echelon form) disingkat rref jika memenuhi empat kondisi berikut:

1. Jika ada baris nol (baris yang seluruh entrinya bernilai nol), maka baris nol tersebut terletak paling bawah atau paling akhir.

2. Jika baris tidak seluruhnya terdiri dari nol, maka entri pertama yang bukan nol

dalam baris itu adalah 1, disebut satu utama (leading one).

3. Dalam sebarang dua baris yang berurutan yang tidak seluruhnya terdiri dari nol, maka satu utama dalam baris yang lebih rendah terdapat lebih jauh ke kanan dari satu utama dalam baris yang lebih tinggi.

4. Setiap kolom yang memuat satu utama mempunyai nol di tempat lain.

Matriks yang hanya mempunyai sifat-sifat 1,2, dan 3, dikatakan berada dalam bentuk eselon baris (row echelon form). Rank dari matriks A, ditulis rank(A), adalah banyaknya baris tak nol setelah A dibentuk ke dalam bentuk eselon baris. Suatu matriks Am n× dikatakan mempunyai full column rank jika rank A( )=n dan full row

rankjika rank (A) = m.

2.2.2.5 Invers Matriks

Jika A adalah matriks persegi, dan dapat ditemukan matriks A-1 sehingga A A-1 = A-1

A

A

= I, maka dikatakan dapat dibalik(invertibel) dan A-1

A

dinamakan invers dari A,

Salah satu metode sederhana mencari invers dari matriks yang dapat dibalik adalah dengan mencari urutan operasi baris elementer tereduksi menjadi matriks identitas, kemudian melakukan urutan operasi yang sama pada In untuk mendapatkan

A-1.

(42)

1. Kalikanlah sebuah baris dengan sebuah konstanta yang tidak sama dengan nol. 2. Pertukarkanlah kedua baris tersebut.

3. Tambahkanlah perkalian dari satu baris pada baris yang lain.

Jika A adalah sebarang matriks persegi n n× dan Cij adalah kofaktor aij

11 12 1 21 22 2

1 2

n

n

n n nn

C C C

C C C

C C C

                   , maka matriks

dinamakan matriks kofaktor A. Transpos matriks ini dinamakan adjoin A dan dinotasikan dengan Adj(A). Jika A adalah matriks yang dapat dibalik, maka

1 A-1

det( )A =0 = adj(A)

det(A)

Dari rumus di atas, dapat disimpulkan jika suatu matriks mempunyai nilai determinan nol maka matriks tersebut tidak punya invers. Sebab jika maka

terjadi pembagian dengan nol.

2.2.3 Ruang-ruang Vektor.

Ruang Vektor V atas lapangan F adalah himpunan tak kosong atas objek yang dinamakan vektor bersama dengan operasi yang dinamakan penjumlahan vektor, dan operasi yang dinamakan pergandaan antara skalar dan vektor,

2.2.3.1 Ruang Baris dan Kolom Matriks

Suatu kolomdengan panjang n adalah n×1 larik

1

2 1 2

( n)T

n x

x

x x x x

(43)

Matriks A berukuran m n× merupakan larikan bilangan-bilangan dengan m baris dan n kolom,

( )

11 1

1 n ij m mn a a A a a a     = =           ,

dengan aij disebut entri (isi) pada baris ke-i dan kolom ke-j. Sehingga kolom dengan

panjang n merupakan matriks berukuran n x 1, sedangkan baris dengan panjang n adalah matriks berukuran 1 x n.

2.2.3.2 Kombinasi Linear dan Bebas Linear

Jika di dalam suatu ruang vektor, satu vektor dapat dinyatakan sebagai hasil dari beberapa operasi yang terdefinisi dalam ruang vektor tersebut dengan melibatkan beberapa vektor lain, maka vektor tersebut dikatakan sebagai kombinasi linear atas vektor-vektor yang lain.

Jika S ={v1, v2, ..., vr} adalah himpunan vektor, maka persamaan vektor k1v1 + k2v2 + ...+ krvr = 0

mempunyai paling sedikit satu pemecahan, yaitu: k1= 0, k2 = 0, ... , kr= 0

Jika ini adalah satu-satunya pemecahan, maka S dinamakan himpunan bebas linear (linearly independent). Jika ada pemecahan lain, maka S dinamakan himpunan tak bebas linear (linearly dependent).

2.2.3.3 Basis dan Dimensi

Jika V adalah sebarang ruang vektor dan S ={v1, v2, ..., vr

(44)

vektor-vektor {v1, v2, ..., vn

{ }

} yang membentuk sebuah basis. Jika tak ada himpunan seperti itu, maka V dinamakan berdimensi tak berhingga (infinite dimensional).

2.2.4 Struktur Aljabar

Aljabar adalah bidang matematika yang berhubungan dengan himpunan elemen (seperti himpunan bilangan) dan operasi yang dilakukan pada elemen tersebut (Churchhouse, 2004). Aljabar abstrak adalah cabang matematika yang mempelajari struktur aljabar. Struktur aljabar adalah satu atau lebih himpunan dengan sejumlah operasi yang didefenisikan didalamnya serta memenuhi beberapa aksioma. Di dalam struktur aljabar terdapat grup, ring dan grup berhingga yang penting dalam kriptografi pada umumnya dan kriptografi kunci publik khususnya (Churchhouse, 2004).

Himpunan adalah sekumpulan objek atau unsur dengan kriteria atau syarat tertentu. Unsur-unsur dalam elemen S disebut anggota (elemen) dari S. Himpunan

yang tidak memiliki anggota disebut himpunan kosong dan ditulis atau Φ.

2.2.4.1 Grup

Grup (group) G,* adalah suatu struktur yang terdiri dari himpunan G dan suatu

operasi biner * dengan sifat:

a). ∀a b, ∈G berlaku sifat a b* ∈G.

b). ∀a a b b1, 2, ,1 2G berlaku a1=a2dan b1 =b2a1*b1 =a2*b2.

c). Terhadap operasi * memenuhi aksioma-aksioma sebagai berikut: 1. Assosiatif, yaitu ∀a b c, , ∈G, berlaku * ( * )a b c =( * ) *a b c.

2. ∃ ∈e Gsedemikian sehingga a a* −1 =a a* −1=e, ∀∈G.

3. ∀ ∈ ∃a G, a−1∈Gsedemikian sehinggaa a* −1=a−1*a=e.

Sifat a) dan b) di atas berarti bahwa operasi biner * bersifat tertutup (closed) dan terdefinisi dengan baik (well defined) pada G. Jika G adalah grup terhadap operasi * dan ∀a b, ∈G berlaku a b* =b a* , yaitu operasi * bersifat komutatif, G

(45)

2.2.4.2Gelanggang(Ring)

Gelanggang (Ring) 〈R,+•〉 adalah himpunan tak kosong yang dilengkapi dua operasi

biner yang disajikan dengan tanda jumlahan dan tanda pergandaan yang memenuhi aksioma-aksioma berikut:

1. 〈 +〉R, grup komutatif.

2. Terhadap operasi pergandaan memenuhi sifat assosiatif.

3. Memenuhi sifat distribusi kiri dan distribusi kanan, yaitu untuk setiap a, b, c∈R berlaku a(b+c) = ab + ac dan (a+b)c = ac + bc.

2.2.4.3 Lapangan (field)

Suatu gelanggang yang bersifat komutatif dimana setiap elemen tidak nol mempunyai invers perkalian disebut dengan lapangan (field). Yang dimaksud dengan invers perkalian adalah untuk setiap a ≠ 0 yang termasuk dalam F, terdapat a-1 Є F sedemikian hingga a × a-1

Diberikan

= 1.

2.2.5 Teori Bilangan

Teori bilangan (Number Theory) adalah teori mendasar dalam memahami kriptografi. Bilangan yang digunakan disini adalah bilangan bulat positif (integer). Bilangan bulat positif adalah himpunan bilangan asli yang dinotasikan dengan “A” yaitu A = {1, 2, 3, ...}. Himpunan semua bilangan bulat yang dinotasikan dengan Z adalah himpunan

{...,-3,-2,-1,0,1,2,3,...}. Himpunan ini berperan sangat penting karena banyak algoritma kriptografi yang menggunakan sifat-sifat himpunan semua bilangan bulat dalam melakukan prosesnya. Pada himpunan bilangan bulat berlaku sifat asosiatif, komutatif dan distributif terhadap operasi penjumlahan dan pergandaan biasa.

2.2.5.1 Sifat Pembagian pada Bilangan Bulat

Ζ ∈ n

a, . Bilangan bulat a dikatakan membagi (divides) n jika terdapat Ζ

(46)

(divisior) n dan n disebut kelipatan (multiple) a. Bilangan bulat a yang membagi n

ditulis a n.

Diberikan a,b,m∈Ζ, m>0. Jika m membagi (b – a), maka a disebut

kongruen dengan b modulo m, ditulis ab

(

modm

)

. Bilangan bulat m disebut

modulus. Misalkan a dan b dibagi dengan m, didapatkan hasil bagi bilangan bulat dan

sisa, dimana sisa bernilai antara 0 dan m – 1. Yaitu a=q m r1 + 1 dan b = q2 + r2

1 2

0≤ ≤ −r m 1 dan 0≤ ≤ −r m 1

,

dimana . Maka jelas bahwa ab(mod )m jika hanya

jika r1 =r2.

2.2.5.2 Pembagi Persekutuan Terbesar

Dalam

Z

p dengan p prima, suatu bilangan mempunyai invers terhadap pergandaan a jika hanya jika gcd( , ) 1a p = . Bilangan tersebut adalah semua elemen dalam

Z

p

A

kecuali 0. Matriks atas

Z

p gcd(det , ) =1A p

mempunyai invers modulo p jika hanya jika

.

2.2.5.3 Algoritma Euclide

Telah diperlihatkan bahwa jika a∈Ζp, maka a mempunyai invers terhadap

pergandaan pada

Z

p jika hanya jika gcd( , ) 1a p = . Algoritma Euclide dapat digunakan untuk menghitung nilai pembagi persekutuan terbesar (gcd) dari dua bilangan bulat dengan efisien.

Pertama, misalkan ingin dihitung gcd( , ), , bilangan bulatr r0 1 r r0 1 dengan

0 1

r >r. Algoritma Euclid terdiri dari beberapa pembagian :

1 1 2, 0 2 1

o

r =q r +r ≤ <r r

1 2 2 3, 0 3 2

r =q r +r ≤ <r r

  

2 1 1 , 0 1

m m m m m m

(47)

1

m m m

r =q r ,

maka gcd( , )r r0 1 =gcd( , )r r1 2 ==gcd(rm1,rm)=rm.

Dan didapatkan gcd( , )r r0 1 =rm.

2.2.5.4 Algoritma Euclide yang Diperluas

Dari algoritma Euclide dapat diketahui apakah suatu bilangan mempunyai invers atas

Z

p

0, ,1 2 , m

t t tt

atau tidak, namun belum dapat menghitung nilai inversnya (jika ada). Dengan

algoritma Euclide yang diperluas, dapat dihitung nilai invers dari suatu bilangan.

Misalkan didefinisikan suatu barisan bilangan dengan ketentuan

sebagai berikut:

0

1

2 1 1 0

0 1

(mod ) 2

j j j j

t

t

t t q t r j

= =

= − ≥

maka, untuk 0≤ ≤j m, rjt rj1 (mod )r0 . Dimana rj didapatkan dari algoritma

Euclid.

Pembuktian dilakukan dengan induksi matematika. Pernyataan benar untuk 0 dan 1

j= j= . Asumsi pernyataan benar untuk j= −i 1 dan j= −i 2, untuk i≥2,

akan dibuktikan pernyataan benar untuk j=i. Dengan induksi didapatkan:

2 2 1 (mod )0

i i

rt r r dan ri1t ri1 1 (mod )r0

Selanjutnya dihitung :

i

rri2q ri1 i1

2 1 1 1 1

i i i

t r q t r

≡ − ( mod )r0

2 1 1 1

(ti q ti i)r

≡ − ( mod )r0

1 ( mod )0

i

t r r

(48)

Misalkan gcd( , ) 1r r0 1 = , maka 1

1 mod 0

m

t =rr, dapat dibuktikan jika

0 1

gcd( , ) 1r r = maka rm =1. Sehingga dari teorema di atas, rm = ≡1 t rm1 (mod )r0 ,

dengan melihat bentuk : 1≡t rm1 , berarti

1

1 mod 0

m

t =rr .

2.3 Invers Matriks Tergeneralisasi

Ide awal dari invers matriks tergeneralisasi (Generalized Inverses of Matrix) adalah untuk menggeneralisasi pengertian invers matriks. Selanjutnya konsep dari invers matriks tergeneralisasi diberikan dalam definisi berikut ini.

2.3.1 Definisi Umum

Diberikan A matriks m n× atas field, suatu matriks B yang memenuhi sifat:

1. BAB=B

2. ABA=A

3. (BA)H =BA

4. (AB)H =AB

matriks B disebut pseudo-invers atau p-invers atau invers matriks tergeneralisasi

(Generalized Inverses of Matrix) dari A, dinotasikan dengan A−(Goldberg,J.L., 1991).

2.3.2 Invers Matriks Tergeneralisasi atas Bilangan Bulat Modulo p

Pada kriptografi klasik data-data yang berupa huruf dikonversikan ke dalam

sistem

Z

26. Sedangkan pada tulisan ini dikembangkan khusus pada

Z

p, dengan p bilangan prima. Penulis memilih

Z

p sebab

Z

p adalah field, sehingga teori-teori yang telah dibahas sebelumnya berlaku. Untuk selanjutnya pembahasan invers matriks

tergeneralisasi adalah untuk matriks yang entri-entrinya atas himpunan

Z

p

A

.

Dalam penghitungan invers tergeneralisasi dibutuhkan mempunyai full column rank , maka B = (AH A)-1 AH. Dapat dilihat bahwa AH A invertible, sehingga (AH

(49)

Hal diatas, akan menjadi landasan dari aplikasi invers matriks tergeneralisasi pada algoritma Hill Cipher.

2.4 Hill Cipher

Pada tahun 1929 block-cipher yang disebut dengan Hill Cipher diperkenalkan oleh Lester S. Hill. Hill Cipher merupakan algoritma kunci simetris yaitu algoritma yang

menggunakan kunci yang sama pada proses enkripsi dan dekripsinya. Hill Cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptogafi ini

menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi serta menggunakan m buah persamaan linear. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik invers terhadap matriks (Widyanarko, 2007).

Ide dari algoritma Hill Cipher adalah untuk membuat m kombinasi linear dari m karakter alfabetik didalam suatu elemen plainteks, sehingga dihasilkan m karakter alfabetik sebagai elemen dari cipherteks.

Secara umum jika A adalah matriks mxm atas

Z

26 dan x = (x1 … xm)T P

sehingga dihitung y = eA(x) = (y1 … ym)T C sebagai berikut:

y1 a11 a12 ... a1m x1 y2 a21 a22 ... a2m x2 y3 = a31 a32 a3m x3

... ... ... … …

ym am1 am2 ... amm xm

sehingga dapat ditulis y = Ax.

(50)

Hill Cipher mengambil matriks A atas

Z

26 sebagai kunci. Pasangan matriks

digunakan untuk proses enkripsi dan dekripsi. Sebelum membagi teks-teks menjadi deretan blok-blok, terlebih dahulu plainteks dikorespondensikan antara huruf dan

bilangan, dengan ketentuan bilangan = Z26 = {0, 1, 2, ..., 26} dan huruf = { A, B, C,

..., Z}.

2.5 Aplikasi Invers Matriks Tergeneralisasi pada Algoritma Hill Cipher

(Hill Cipher Tergeneralisasi)

Pada metode Hill Cipher disyaratkan matriks enkripsi haruslah matriks persegi yang

invertible di Z26. Tulisan ini mencoba menerapkan teori invers matriks tergeneralisasi pada algoritma Hill Cipher, sehingga nantinya matriks yang digunakan dapat berupa matriks bujur sangkar atau persegi panjang. Pengembangan akan dibahas secara

khusus pada Zp, dengan p bilangan prima.

Diberikan m,n bilangan bulat positif, didefinisikan

P = (

Z

p)n = (x1, x2, ..., xn) (∈

Z

p)n dan C=(

Z

p)m= (y1, y2, ..., ym) (∈

Z

p)m dengan P himpunan plainteks dan C adalah himpunan cipherteks.

Diberikan A adalah matriks mxn (yang syarat-syaratnya akan dibahas) diambil sebagai kunci. Proses enkripsi bisa dijelaskan sebagai berikut. Untuk setiap x = (x1 ... xn)T P, dihitung y = eA(x) = (y1 … ym)T C dengan langkah-langkah

sebagai berikut :

y1 a11 a12 ... a1n x1 y2 a21 a22 ... a2n x2 y3 = a31 a32 a3n x3

... ... ... … …

(51)
[image:51.595.201.428.168.275.2]

Jadi dari blok plainteks yang panjangnya n akan didapatkan cipherteks yang panjangnya m. Dapat dilihat bahwa fungsi enkripsi memetakan dua himpunan yang diperlihatkan pada gambar berikut:

Gambar 2.9 Fungsi enkripsi

Jika eA injektif maka haruslah P ≤ C atau nm (2.1)

Fungsi dekripsinya diturunkan dari fungsi enkripsi diatas. Karena y = Ax, jika

B ada dalam

Z

p

x

, maka x = By. Proses dekripsi dapat dipandang sebagai suatu sistem

persamaan linear, yaitu: x = By, dengan P = (

Z

p)n, yC = (

Z

p)m.

Matriks A berukuran mxn, agar eA

m n×

injektif maka rank(A) = n (full column rank). Jadi pemilihan kunci untuk aplikasi invers matriks tergeneralisasi pada

algoritma Hill Cipher dibatasi hanya untuk matriks yang full column rank. (2.2)

Selanjutnya karena A mempunyai full column rank, maka invers tergeneralisasi dari A adalah:

B = (AHA)-1AH

Karena semua perhitungan dilakukan atas

Z

p, maka AH = AT. Sehingga didapatkan

B = (ATA)-1AT (2.3) Im (eK)

eK(x)=Kx

P = (Zp) n

(52)

Telah diketahui bahwa jika A mempunyai full column rank, maka (AT

A)

invertible.

Hill Cipher Tergeneralisasi mangambil matriks A atas

Z

p yaitu

Z

29 sebagai

kunci. Pasangan matriks digunakan untuk proses enkripsi dan dekripsi. Sebelum membagi teks-teks menjadi deretan blok-blok, terlebih dahulu plainteks

dikorespondensikan antara huruf dan bilangan, dengan ketentuan bilangan = Z29

1. Diberikan A matriks berukuran mxn; m=n, kemudian dilakukan pengecekan apakah matriks tersebut mempunyai invers matriks tergeneralisasi.

= {0,

1, 2, ..., 29} dan huruf = { A, B, C, ..., Z, spasi, koma, titik}.

2.5.1 Proses Penyandian

2.5.1.1 Proses Pembentukan Kunci

Pembentukan kunci pada Hill Cipher Tergeneralisasi ini, dilakukan dengan langkah-langkah sebagai berikut:

2. Jika punya, kemudian dicari B yaitu invers matriks tergeneralisasinya atas

Z

p

B

yang berukuran nxm, dengan rumus: = (AT.A)-1 AT

3. Kedua pasangan matriks tersebut (A dan B) digunakan untuk mengenkripsi dan mendekripsi pesan, dimana A digunakan untuk mengenkripsi pesan dan B digunakan untuk mendekripsi pesan.

2.5.1.2 Proses Enkripsi

Proses enkripsi dilakukan dengan langkah-langkah sebagai berikut:

1. Konversikan masing-masing karakter kedalam bilangan

Z

p.

2. Membagi pesan kedalam beberapa blok, yang masing-masing blok mempunyai n

komponen bilangan

Z

p.

3. Cipherteks dihitung dengan perhitungan y = A.x dimana, x = blok-blok plainteks.

(53)

4. Bilangan cipherteks dikonversikan kedalam huruf alfabet.

2.5.1.3 Proses Dekripsi

Proses dekripsi dilakukan dengan langkah-langkah sebagai berikut:

1. Konversikan masing-masing karakter kedalam bilangan

Z

p.

2. Membagi pesan kedalam beberapa blok, yang masing-masing blok mempunyai n

komponen bilangan

Z

p. 3. Dilakukan perhitungan x = B.

1. Model air terjun (waterfall). Model ini mengambil kegiatan proses dasar seperti spesifikasi, pengembangan, validasi dan evolusi dan merepresentasikannya

y

4. Konversikan masing-masing karakter kedalam huruf alfabet.

2.6 Rekayasa Perangkat Lunak

Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.

Ada banyak proses dalam pembuatan perangkat lunak, namun ada kegiatan-kegiatan yang mendasar yang umum bagi semua proses perangkat lunak. Kegiatan tersebut adalah:

1. Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan operasinya harus didefenisikan.

2. Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi syarat harus dibuat.

3. Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan. 4. Pengevaluasian perangkat lunak. Perangkat lunak harus dapat berkembang untuk

menghadapi kebutuhan yang berubah-ubah.

(54)

sebagai fase-fase yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.

2. Pegembangan evolusioner. Suatu sistem awal dikembangkan dengan cepat dari spesifikasi abstrak.

3. Pengembangan sistem formal. Pendekatan ini didasarkan atas pembuatan spesifikasi sistem matematis dan pentransformasian sistem ini dengan metode matematis untuk membangun program.

4. Pengembangan berdasarkan pemakaian ulang. Pendekatan ini didasarkan adanya komponen yang dapat dipakai ulang dalam jumlah yang signifikan.

Pada proses perancangan perangkat lunak dilakukan beberapa kegiatan seperti: 1. Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan

hubungan mereka diidentifikasi dan didokumentasi.

2. Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari

Gambar

Gambar 2.4 Skema komunikasi dengan proses enkripsi.
Gambar 2.9 Fungsi enkripsi
Gambar 3.1 Diagram Konteks atau DFD level 0.
Gambar 3.2 Diagram level 1 Proses 0.
+7

Referensi

Dokumen terkait

Hal ini menunjukan hubungan variabel independen yaitu faktor psikografis yang terdiri dari gaya hidup (X 1 ), karakter kepribadian konsumen (X 2 ), faktor demografis (X 3

Hal ini sesuai dengan yang dikemukakan Rohiat (2010:100) bahwa rumusan visi sekolah yang baik seharusnya memberikan isyarat: a) Visi sekolah berorientasi ke masa

Untuk mengetahui exercise Half Semont Manuver lebih baik dari exercise Brandt-doroff Manuver dalam menggurangi keluhan vertigo pada gangguan fungsi Vestibular Posterior

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

Sehingga apabila sepanjang mengenai kepastian hukum anak sah maka diatur dalam Pasal 250 Burgelijk Wetboek voor Indonesie (BW) atau yang dikenal juga dengan Kitab

Terkait dengan pencapaian tujuan jangka menengah kegiatan SPP maka perlu untuk mengoptimalkan proses pendampingan dalam pelaksanaan kegiatan SPP, maka hal penting

Berdasarkan analisis data yang telah dilakukan, dapat disimpulkan bahwa ada tiga bentuk interaksi sosial yang ditemukan dalam novel Senandung Sabai: Cinta dan

pemikiran di atas dapat disimpulkan bahwa peran Agama dalam Antropologi sebagai panduan untuk membimbing manusia untuk memiliki moral dan perilaku sesuai dengan