BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
2.1 Keamanan Informasi

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB Kriptografi

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI Sistem Rekomendasi

MEMBANGUN APLIKASI KEAMANAN DATA TEKS DENGAN METODE RSA CRT BERBASIS ANDROID

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB 1 PENDAHULUAN Latar Belakang

BAB II LANDASAN TEORI

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB I PENDAHULUAN. Keamanan sistem komputer menjadi semakin penting seiring dengan. berkembangnya proses bisnis yang terkomputerisasi.

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

IMPLEMENTASI ALGORITMA VIGENERE CIPHER DAN RIVEST SHAMMER ADLEMAN (RSA) DALAM KEAMANAN DATA TEKS

BAB I PENDAHULUAN , 1.1. Latar Belakang

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB I PENDAHULUAN. Kerahasiaan dan keamanan saat melakukan pertukaran. data adalah hal yang sangat penting dalam komunikasi data,

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Informasi merupakan suatu hal yang sangat penting dalam. kehidupan kita. Seperti dengan adanya teknologi internet semua

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 2 LANDASAN TEORI

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar belakang

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB II KAJIAN PUSTAKA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

Penerapan Algoritma Kriftografi Rives Shamir Adleman (RSA) Pada Sebuah Image

BAB I PENDAHULUAN. 1.1 Latar Belakang

Bab 3. Metode dan Perancangan Sistem

BAB II LANDASAN TEORI. sama lain melalui media perantara (Sofana, 2013). Media perantara dapat

Bab 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

7

IMPLEMENTASI KRIPTOGRAFI VIGENERE CIPHER DENGAN PHP

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. Telepon selular(ponsel) semakin berkembang dari hari ke hari, tidak hanya

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA


BAB III ANALISIS DAN PERANCANGAN SISTEM

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB I PENDAHULUAN Latar Belakang

ANALISA DAN IMPLEMENTASI ALGORITMA TRIANGLE CHAIN PADA PENYANDIAN RECORD DATABASE

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Penerapan digital signature pada social media twitter

BAB III ANALISIS DAN DESAIN SISTEM

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

BAB I PENDAHULUAN. manusia dengan komputer untuk memudahkan membantu penyelesaian dan

BAB I PENDAHULUAN. berkembang dengan sangat baik, telah membantu kehidupan umat manusia.

BAB III ANALISA DAN DESAIN SISTEM

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Perhitungan dan Implementasi Algoritma RSA pada PHP

Kriptografi Kunci Rahasia & Kunci Publik

BAB I PENDAHULUAN. 1.1 Latar Belakang

Implementasi Keamanan SMS Dengan Algoritma RSA Pada Smartphone Android

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB I PENDAHULUAN. teknik enkripsi terhadap integritas data maka suatu informasi tidak bisa dibaca oleh orang yang

BAB III ANALISIS DAN PERANCANGAN

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB IV HASIL DAN UJI COBA

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

BAB 2 TINJAUAN PUSTAKA

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

5 BAB 2 TINJAUAN PUSTAKA Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan pengamanan pesan pada NIC Messenger dengan Algoritma RSA 512-bit dan One Time Pad. 2.1. Pertukaran Data Dalam software messenger pada umumnya terjadi pertukaran data, dapat berupa pesan teks, suara dan dapat pula berupa gambar. Maksud dari pertukaran data disini adalah proses pengiriman data yang berupa teks, suara atau gambar dari pengguna messenger satu ke pengguna messenger lainnya, dimana data yang dikirimkan akan disimpan terlebih dahulu ke server dan dari server akan dikirim ke penerima data tersebut. Karena proses ini penulis dapat mengambil kesimpulan bahwasanya pertukaran data pada aplikasi messenger sangat rentan terhadap kejahatan maya seperti data dicuri dan atau data dibajak oleh pihak yang tidak berkepentingan. 2.2. Keamanan Informasi Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat serta akurat (Rahardjo, 2005). Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim. Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak memiliki arti fisik (Rahardjo, 2012).

6 Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut. 2.3. Android Android adalah salah satu sistem operasi yang dapat berjalan pada handphone, android merupakan turunan dari sistem operasi linux. Oleh karena itu banyak vendor telepon genggam memanfaatkan sistem operasi android yang open source hal ini mengundang banyaknya developer aplikasi untuk mengembangkan berbagai aplikasi mobile karena mereka dapat dengan bebas biaya mengembangkan aplikasi untuk dapat digunakan di handphone berbasis android. Berbeda dengan sistem operasi IOS besutan Apple yang mengharuskan developer aplikasi membayar $99 per tahun untuk mendapatkan lisensi agar aplikasi buatan developer dapat diinstalasi pada iphone atau idevice lainnya. Hal ini yang menjadi alasan penulis untuk mengembangkan aplikasi NIC Messenger ini pada handphone berbasis android. 2.4. Kriptografi Menurut Sadikin (2012), kriptografi adalah ilmu yang bersandarkan pada teknik matematika yang berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Kriptografi terbagi atas dua kategori yaitu kriptografi klasik dan kriptografi modern. Kriptografi klasik adalah sistem kriptografi yang menggunakan penyandian kunci simetris dan menggunakan metode subtitusi (pergantian huruf) atau transposisi (pertukaran tempat). Dan kriptografi modern adalah sistem kriptografi yang menggunakan penyandian kunci asimetris (Sadikin, 2012). Berikut ini adalah beberapa mekanisme yang berkembang pada kriptografi: 1. Fungsi Hash Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang ke sebuah teks khusus yang disebut message digest dengan panjang

7 yang tetap. Fungsi hash pada umumnya digunakan untuk menguji keutuhan pada sebuah data. 2. Penyandian dengan kunci simetris Penyandian dengan kunci simetris adalah penyandian yang pada proses enkripsi dan dekripsinya menggunakan sebuah kunci yang sama. Kunci yang digunakan pada proses enkripsi dan dekripsi bersifat rahasia. Beberapa jenis kriptografi dengan penyandian kunci simetris antara lain Data Encryption Standard (DES), 3DES, Advance Encryption Standard (AES), Blowfish dan International Data Encryption Algorithm (IDEA). 3. Penyandian dengan kunci asimetris Penyandian dengan kunci asimetris atau sering juga disebut dengan kunci publik adalah penyandian yang pada proses enkripsi dan dekripsinya memiliki kunci yang berbeda. Pada kunci yang digunakan untuk enkripsi bersifat publik (public key). Sedangkan kunci yang digunakan untuk dekripsi bersifat rahasia (private key). Beberapa jenis kriptografi dengan penyandian kunci asimetris antara lain RSA, Diffie-Helman, ELGamal, Knapsack, dan beberapa penerapan teknik Elliptic Curve. 2.4.1 Algoritma RSA Karena semakin berkembangnya pertukaran data, khususnya dalam wireless dan local area network (LAN), hal ini memberi kesempatan yang besar untuk mencegat data dan memalsukan pesan. Satu-satunya cara yang mudah untuk menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima adalah dengan menggunakan kriptografi kunci publik. RSA adalah sistem kriptografi dengan kunci publik yang pertama kali dapat berjalan dan dipraktekkan, ditemukan pada tahun 1977 dan dipublikasikan pada tahun 1978 oleh Rivest, Shamir dan Adleman (RSA) di Institut Teknologi Massachusetts. RSA adalah sistem kriptografi yang masih paling banyak digunakan seperti transaksi online, email, kartu pintar dan umumnya pada aplikasi mobile commerce (Yan, 2008).

8 Rumus dasar dari metode enkripsi dan dekripsi RSA adalah C M c mod N (1) Dan M C d mod N (2) Penjelasan: N = p * q p dan q = Bilangan prima M = Plaintext C = Ciphertext e = Encryption exponent d = Decryption exponent ɸ(N) = (p-1)(q-1) Tahapan Algoritma RSA 1. Pilih dua bilangan prima secara acak dan tidak sama. 2. Hitung perkalian p dan q, simpan dalam variabel n. 3. Hitung ɸ(n) (p-1).(q-1) 4. Pilih e secara acak dengan syarat, PBB(e, ɸ(n)) = 1 5. Hitung d e -1 (mod ɸ(n) atau d.e 1.mod(ɸ(n)) 6. Rahasiakan p, q, ɸ(n) dan d 7. Kirimkan e dan n Contoh kasus sederhana algoritma Kriptografi RSA: P = 47 (bilangan prima) dan Q = 71 (bilangan prima) N = P.Q = 3337 ɸ(N) = (P-1)*(Q-1) = 3220 E = 79 (pilih angka acak) D = 1+(k*3220)/79 dicoba K = 1,2,..,dst D = 1019 (dipilih karena hasilnya bilangan bulat)

9 Misalkan plainteks M = ABC, ubah kedalam ASCII menjadi 65 66 67 Enkripsi dengan kunci publik E = 79 dan N = 3337: M1 = 65 -> C1 = 65^79 mod 3337 = 541 M2 = 66 -> C2 = 66^79 mod 3337 = 795 M3 = 67 -> C3 = 67^79 mod 3337 = 1479 Dekripsi dengan kunci D = 1019: C1 = 541 -> M1 = 541^1019 mod 3337 = 65 -> A C2 = 795 -> M2 = 795^1019 mod 3337 = 66 -> B C3 = 1479 -> M3 = 1479^1019 mod 3337 = 67 -> C 2.4.2 Algoritma LCG (Linear Congruential Generators) Algoritma LCG atau Linear Congruential Generators adalah algoritma yang umumnya digunakan untuk pembangkit bilangan acak, dengan rumus sebagai berikut: Xn = (a * Xn-1 + b) mod m (3) Penjelasan: X = Kunci sementara a = Bilangan pengali b = Bilangan inkremen m = Modulus Keuntungan dari linear congruential generators adalah proses pembangkitan bilangan acak cepat, dan membutuhkan beberapa operasi per-bit (Schneier, 1996). Akan tetapi kekurangan dari algoritma pembangkit bilangan acak ini adalah bilangan acak yang dihasilkan tidak dapat digunakan untuk kriptografi, karena bilangan acak tersebut bisa ditebak. Pada penelitian ini algoritma LCG akan dikombinasikan dengan waktu dalam satuan milidetik, dimana untuk setiap bilangan acak yang dihasilkan akan ditambahkan dengan milidetik saat ini, dengan demikian hasil bilangan acak yang dihasilkan akan sulit untuk ditebak.

10 Contoh: m = 1024 a = 105 c = 71 X = 1 t = Waktu dalam milidetik Pengujian LCG tanpa kombinasi waktu 0 = (105 * 176) +71) mod 1024 = 176 1 = (105 * 119) +71) mod 1024 = 119 2 = (105 * 278) +71) mod 1024 = 278 3 = (105 * 589) +71) mod 1024 = 589 4 = (105 * 476) +71) mod 1024 = 476 Hasil pengujian jika dilakukan berulang kali akan tetap menghasilkan bilangan yang sama. Pengujian LCG dengan kombinasi waktu 0 = ((105 * 46) +71 + 514942) mod 1024 = 46 1 = ((105 * 753) +71 + 515020) mod 1024 = 753 2 = ((105 * 267) +71 + 515051) mod 1024 = 267 3 = ((105 * 464) +71 + 515078) mod 1024 = 464 4 = ((105 * 694) +71 + 515103) mod 1024 = 694 Hasil pengujian jika dilakukan berulang kali akan menghasilkan bilangan yang berbeda. 2.4.3 Fermat s Primality Test Untuk menghasilkan sebuah kunci pada sistem kriptografi kunci publik RSA membutuhkan bilangan P dan Q yang prima, algoritma Fermat s Little Theorem dapat digunakan untuk menguji apakah sebuah bilangan prima atau bilangan biasa (Thomas, et al. 2001).

11 Sebuah bilangan dikatakan prima jika memenuhi rumus sebagai berikut: a p-1 1 (mod p) atau a p-1 (mod p) 1 (4) Penjelasan: a = Bilangan Inkremen p = Bilangan yang diuji Jika dalam interval a dalam pengujian menghasilkan sekali saja nilai bukan 1 maka bilangan yang diuji bukan bilangan prima. Contoh: Uji keprimaan angka 6 a = 1 1 5 (mod 6) = 1 a = 2 2 5 (mod 6) = 2 Proses berhenti karena dalam interval a = 2 menghasilkan nilai bukan 1, maka angka 6 bukanlah bilangan prima. Uji keprimaan angka 5 a = 1 1 4 (mod 5) = 1 a = 2 2 4 (mod 5) = 1 a = 3 3 4 (mod 5) = 1 A = 4 4 4 (mod 5) = 1 Proses berhenti dan dalam setiap interval a menghasilkan nilai 1, maka angka 5 adalah bilangan prima.

12 2.4.4 Algoritma Rabin-Miller Michael Rabin dan Gary Miller mengembangkan sebuah algoritma untuk mengujian keprimaan sebuah bilangan pada tahun 1976. Algoritma ini adalah algoritma yang umumnya digunakan untuk menentukan sebuah bilangan prima (Schneier, 1996). Berikut ini adalah langkah-langkah dalam melakukan pengujian bilangan prima berdasarkan Algoritma Rabin-Miller pada buku Schneier (1996). 1. Pilih bilangan acak n untuk diuji dan bilangan acak a untuk menguji 2. Hitung b yang dalam hal ini 2 b adalah nilai pangkat terbesar yang habis membagi n-1 3. Hitung M dengan n = 1 + 2 b * m atau m = n-1 / 2 b 4. Nyatakan j = 0 dan z = a m mod n 5. Jika z = 1 atau z = n-1, maka n adalah bilangan prima 6. Jika z > 0 dan z = 1, maka n bukan bilangan prima 7. Nyatakan j = j+1. Jika j < b dan z n-1, nyatakan z = z 2 mod n dan ulangi langkah 7. Jika z = p-1, maka n adalah bilangan prima 8. Jika j = b dan z n-1, maka n adalah bukan bilangan prima. Contoh: 1. n = 223, n-1 = 222 2. b = 1, jadi 2 b = 2. Karena 2 b mod n-1 = 2 1 mod 222 = 0 3. a = 24 4. hitung M, 223 = 1 + 2 1 * M, M = 223 1 / 2 1, M = 111 5. j = 0, z = 24 111 mod 223, z = 222 6. z = 222 maka n adalah bilangan prima. 2.4.5 Algoritma One Time Pad Sandi One Time Pad merupakan salah satu dari Sistem Kriptografi Klasik berbasis subtitusi, ditemukan oleh Major Joseph Mauborgne pada tahun 1917. Proses kerja Sandi One Time Pad menggunakan kunci yang acak setiap karakternya untuk semua teks asli, kunci yang acak tersebut hanya digunakan sekali saja dan panjang kuncinya sama dengan panjang teks asli, sistem Sandi One Time Pad diklaim merupakan sandi yang mencapai kerahasiaan sempurna (perfect secrecy) (Sadikin, 2012).

13 Rumus dasar dari Sandi One Time Pad adalah Enkripsi: ci = (pi + ki) mod 26 (10) Dekripsi: d i = (c i - k i ) mod 26 (11) Penjelasan: c = Ciphertext p = Plaintext k = Kunci enkripsi i = Karakter ke-i Tahapan Sandi OTP 1. Pilih karakter secara acak sebanyak karakter pada pesan sebagai kunci enkripsi. 2. Jumlahkan karakter ke-i dari pesan dengan kunci ke-i dan mod 26. Contoh kasus sederhana algoritma Kriptografi One Time Pad: Misalkan plainteks P = BUKU Generate Kunci OTP sepanjang P karakter = 70 75 83 78 Ubah P dan Kunci kedalam bentuk ASCII: P = 66 85 75 85 K = 70 75 83 78 Enkripsi Ci = (Pi + Ki) mod 26 : C1 = (66+70) mod 26 = 84 -> T C2 = (85+75) mod 26 = 108 -> l C3 = (75+83) mod 26 = 80 -> P C4 = (85+78) mod 26 = 85 -> U

14 Dekripsi Pi = (Ci - Ki) mod 26 : P1 = (84-70) mod 26 = 66 -> B P2 = (108-75) mod 26 = 85 -> U P3 = (80-83) mod 26 = 75 -> k P4 = (85-78) mod 26 = 85 -> U 2.5. Database Menurut Rosa et al (2011), Database atau basis data adalah sistem terkomputerisasi yang berfungsi untuk menyimpan data atau informasi yang sudah diolah dan membuat informasi tersedia saat dibutuhkan. Kebutuhan basis data dalam sistem informasi meliputi 2 hal, yaitu: 1. Memasukkan, menyimpan, dan mengambil data 2. Membuat laporan berdasarkan data yang telah disimpan 2.5.1 DBMS Menurut Rosa et al (2011), DBMS (Database Management System) atau Sistem Manajemen Basis Data adalah aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. Aplikasi DBMS memiliki beberapa persyaratan minimal sebagai berikut: 1. Menyediakan fasilitas untuk mengelola akses data 2. Mampu menangani integritas data 3. Mampu menangani akses data yang dilakukan secara efektif 4. Mampu menangani backup data DBMS sudah lama berkembang dimulai sejak tahun 1960an, dan memasuki tahun 1970an mulai berkembang teknologi Relational DBMS yaitu DBMS yang berbasis model relasional dikembangkan oleh Edgar J. Codd. DBMS model relasional adalah sebuah model pada DBMS yang memandang data sebagai sekumpulan tabel yang saling berkaitan. Seiring perkembangan teknologi, model DBMS berkembang menjadi Object Oriented DBMS atau DBMS dengan model berorientasi objek yang memandang data sebagai suatu objek.

15 Berikut ini adalah beberapa macam DBMS yang paling populer dan banyak digunakan di dunia saat ini, yaitu: 1. Oracle 2. Microsoft SQL Server 3. Microsoft Access 4. MySQL 2.5.2 MySQL MySQL adalah salah satu DBMS yang sangat populer dikalangan developer aplikasi web. Untuk dapat mengelola data yang disimpan dalam database, memerlukan sebuah perintah khusus yang dikirimkan kepada DBMS bernama SQL (Structured Query Language). Dalam MySQL, SQL disebut sebagai pernyataan. Adapun beberapa pernyataan umum yang digunakan dalam MySQL adalah sebagai berikut: 1. SELECT, berguna untuk menampilkan informasi dari sebuah table pada database. 2. UPDATE, berguna untuk mengubah informasi dari sebuah table pada database. 3. DELETE, berguna untuk menghapus informasi dari sebuah table pada database. 4. INSERT, berguna untuk menambah informasi baru kedalam table pada database. 2.6. PHP Menurut Sibero (2011), PHP (Hypertext Preprocessor) adalah pemrograman interpreter yaitu proses penerjemahan dari kode sumber menjadi kode mesin yang dimengerti komputer pada saat baris kode dijalankan secara langsung. PHP pada awalnya ditulis menggunakan bahasa PERL (Perl Script), kemudian ditulis ulang dengan menggunakan bahasa C CGI-BIN (Common Gateway Interface-Binnary) yang bertujuan agar halaman website dapat mendukung formulir dan penyimpanan data.

16 PHP adalah bahasa pemrograman Server Side Programming, memungkinkan sebuah website yang dibangun bersifat dinamis (Sibero, 2011). 2.7. DFD Dalam pembangunan software, perlu adanya konsep pemrograman terstruktur untuk memudahkan developer dalam membagi-bagi fungsi, prosedur, dan modul program yang dibangun. Dalam konsep pemrograman terstruktur dikenal metode DFD (Data Flow Diagram). DFD adalah sebuah metode yang digunakan untuk merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level detail. DFD lebih sesuai untuk memodelkan fungsi-fungsi dan prosedur-prosedur pada pemrograman sistem yang terstruktur (Structural Programming) (Rosa, et al. 2011). 2.8. UML (Unified Modelling Language) Untuk membantu dalam pengembangan perangkat lunak dikenal istilah pemodelan. Salah satu pemodelan yang saat ini paling banyak digunakan oleh pengembang perangkat lunak adalah UML (Unified Modelling Language). UML adalah standar bahasa yang sering digunakan dalam bidang industri untuk mendefinisikan requirement (kebutuhan), membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. Ada beberapa hal yang dimaksud dalam kompleksitas pada perangkat lunak (Rosa, et al. 2011): 1. Kompleksitas domain atau permasalahan perangkat lunak 2. Kesulitas mengelola proses pengembangan perangkat lunak 3. Kemungkinan fleksibilitas perubahan perangkat lunak 4. Permasalahan karakteristik bagian-bagian perangkat lunak secara diskrit UML terbagi atas 3 (tiga) kategori, yaitu diagram struktur (structure diagram), diagram kelakuan sistem (behaviour diagram), dan diagram interaksi (interaction diagram). Dalam pembangunan NIC Messenger, penulis menggunakan diagram use

17 case dari kategori diagram kelakuan sistem, untuk menggambarkan interaksi antara satu atau lebih aktor dengan perangkat lunak (Rosa, et al. 2011). 2.9. Penelitian Terdahulu Beberapa penelitian yang menjadi bahan pembelajaran penulis tentang penyelesaian masalah keamanan dalam pertukaran pesan. Wahyudi et al (2008) telah mencoba mengamankan pesan dengan menggunakan teknik steganografi dan algoritma AES, Wahyudi dan Silitongan merancang aplikasi yang menyembunyikan pesan sebelum dikirim kepada penerima kedalam sebuah gambar dengan teknik steganografi, sebelum pesan disisipkan kedalam gambar pesan asli dienkripsi terlebih dahulu menggunakan algoritma AES. Hasilnya pesan menjadi tersembunyi dengan tidak mencurigakan karena telah disisipkan kedalam sebuah gambar. Connely (2008) telah menerapkan algoritma One Time Pad untuk mengamankan email. Connely menerapkan sandi One Time Pad dan teknik TRNG (True Random Number Generator) untuk menghasilkan nilai yang benar-benar random sebagai kunci One Time Pad. Hasilnya email yang dienkripsi benar-benar rahasia, atau perfect secrecy. Rasool et al (2011) telah mencoba meningkatkan algoritma keamanan dalam komunikasi pesan. Rasool et al, menerapkan kombinasi dari algoritma kunci simetris FSET (algoritma yang dibuat oleh Varghese Paul), algoritma kunci publik RSA dan teknik hashing menggunakan SHA-2. Hasilnya komunikasi pesan menjadi rahasia karena telah dienkripsi menggunakan FSET, kemudian kunci yang digunakan telah dienkripsi oleh RSA, untuk mengetahui apakah pesan asli masih terbukti valid, mereka melakukan pengujian menggunakan SHA-2. Pardede (2012) telah mencoba menerapkan RSA sebagai pengamanan sistem e-voting. Hasilnya data jumlah suara yang dihasilkan dari proses voting pemilih dalam pemilu terlindungi.

18 Table 1.1 Tabel penelitian terdahulu No Peneliti Penelitian Algoritma Hasil 1 Wahyudi et al (2008) Mengamankan pesan Steganografi dan AES Tidak praktis 2 Connely (2008) Mengamankan email One Time Pad Sangat aman 3 Rasool et al (2011) Mengamankan pesan FSET, RSA, dan SHA- 2 Sangat aman 4 Pardede (2012) Mengamankan e-voting RSA Aman