IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES DAN WATERMARK DENGAN METODE LSB PADA DATA CITRA
NASKAH PUBLIKASI
diajukan oleh Joko Tri Purwanto 10.11.4561
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
IMPLEMENTATION CRYPTOGRAPHIC ALGORITHM AES AND WATERMARK WITH LSB METHOD IN IMAGE DATA IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES DAN WATERMARK DENGAN METODE LSB PADA DATA CITRA Joko Tri Purwanto Ema Utami Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT The presence of computers give more attention not only in data processing but also the security of data . Computer network technologies currently evolving , allowing one computer to connect to other computers in different parts of the world to share data and information . The above problems led to new knowledge on the world of informatics is called cryptography . Various experts have developed a wide range of cryptographic encryption algorithms . AES ( Advanced Encryption Standard ) is an algorithm that never became very well known in America and has been the basis of security that is used throughout the world . AES own weaknesses that have been encoded message can be seen with the naked eye . Meanwhile, the watermark technique LBS method ( Least Significant Bit ) is a solution in protecting confidentiality in a way to hide messages in images . The advantages of the technique itself watermark message can not be seen with the naked eye . The message at random using the AES algorithm and hide / pasted the image is layered data security . Comparison of image files inserted message with an image that has not been inserted messages could hardly be distinguished with the naked eye . It did not take long in the insertion of the message . Therefore performer merging algorithm AES cryptographic techniques and Watermaking with LBS is an alternative method of securing messages . Keyword : Kriptografi, Algoritma AES, Watermark, Metode Least Significant Bit
1.
Pendahuluan Kehadiran komputer memberi perhatian yang lebih bukan hanya dalam pengolahan data saja melainkan juga dengan keamanan data. Teknologi jaringan komputer yang saat ini berkembang, memungkinkan satu komputer dapat terhubung dengan komputer lainnya di belahan dunia ini untuk saling berbagi data dan informasi. Semenjak kehadiran internet pada kehidupan manusia, kontrol atas informasi bergerak dengan amat cepat. Termasuk pula informasi-informasi yang harus mendapatkan “perhatian” khusus karena nilai informasi tersebut yang sangat penting semisal informasi intelijen, militer, dan berbagai macam informasi yang sering dilabeli TOP SECRET. Kehidupan sekarang pun, orang-orang banyak yang menyimpan suatu pesan pada media digital. Terkadang ada juga pesan yang merupakan informasi rahasia yang disimpan pada media gambar namun sang pemilik pesan tersebut hanya mengizinkan beberapa orang saja yang dikehendaki untuk mengetahuinya. Tetapi ada saja pihak maupun orang yang ingin mengetahui isi pesan tersebut untuk kepentingan tertentu namun sebenarnya tidak diberi hak oleh sang pemilik pesan. Adanya masalah di atas memunculkan ilmu baru pada dunia informatika yang disebut kriptografi yang merupakan pengembangan dari kriptologi. Berbagai pakar kriptografi telah mengembangkan berbagai macam algoritma enkripsi. Advanced encryption standar atau yang sering di sebut AES merupakan algoritma yang pernah menjadi sangat terkenal di Amerika dan pernah menjadi keamanan dasar yang digunakan di seluruh dunia. Teknologi Watermark juga merupakan suatu solusi didalam melindungi kerahasiaan dari tanda kepemilikan. Watermark dapat menyamarkan pesan ke dalam suatu media tanpa orang lain menyadari bahwa media tersebut telah disisipi suatu pesan kecuali orang yang telah mengetahui kuncinya, karena hasil keluaran Watermark adalah data yang memiliki bentuk persepsi yang sama dengan data aslinya apabila dilihat menggunakan indera manusia, namun berbeda apabila dilihat dengan perangkat pengolah data digital seperti komputer, sedangkan perubahan pesan dalam kriptografi dapat dilihat dan disadari langsung oleh indera manusia. Penggunaan
teknik
Watermark
dan
kriptografi
secara
bersamaan
dimaksudkan untuk memberikan keamanan berlapis dalam pengamanan pesan sebagai tanda kepemilikan. Pada skripsi ini akan dibahas mengenai penyisipan data yang sudah di enkripsi dengan kriptografi algoritma AES ke dalam sebuah citra dengan metode penyisipan Least Significant Bit atau yang sering di singkat LSB.
1
1.1 Rumusan Masalah Dalam pelaksanaan penelitian ini terdapat beberapa permasalahan yang menjadi titik utama pembahasan ini, diantaranya adalah sebagai berikut : 1 Bagaimana mengimplementasi teknik kriptografi AES dan Watermark metode LBS pada data citra RGB (Red Green Blue)? 2 Bagaimana kualitas dan perbedaan citra sebelum dan sesudah disisipkan teks? 3 Bagaimana perfoma teknik kriptografi AES dan Watermark dengan metode LBS? 1.2 Batasan Masalah Dalam penulisan skripsi ini penulis membatasi sebagai berikut : 1. Data rahasia yang akan disisipkan hanya berupa teks. 2. Citra masukan berupa citra berwarna RGB yang akan disisipi oleh data rahasia. 3. Penelitian ini hanya sebatas pengimplementasikan algoritma AES ke dalam teknik Watermark LBS dan tidak membahas tentang distribusi kunci. 4. Diimplementasikan ke dalam bahasa pemrograman java dan di jalankan di sistem operasi windows. 5. Tipe Watermark yang digunakan adalah invisible. 6. Tidak membahas masalah keamanan pada algoritma AES dan metode LBS. 1.3 Tujuan Penelitian Tujuan penelitian ini adalah untuk menawarkan alternative dalam hal penyisipan pesan maupun penyadian pesan. Selain itu, penelitian ini juga bertujuan untuk menganalisis kinerja dan perfoma algoritma AES dan Watermark metode LBS dengan data terbatas. 1.4 Manfaat Penelitian Manfaat yang diharapkan adalah alternative enkripsi data menggunakan algoritma AES dan Watermark metode LBS mampu diterapkan secara tepat oleh pihak-pihak maupun instansi yang menginginkan kerahasiaan dari informasi tetap terjaga. Selain itu mendapatkan alternatif cara yang unik dalam penyembunyian pesan.
2
1.5 Metode Pengumpulan Data Dalam kasus ini penulis menggunakan beberapa metode 2 metode pengumpulan data, yaitu : 1. Metode Kepustakaan Penulis melakukan studi literatur dari dari berbagai tulisan ilmiah dan melakukan download data dari berbagai macam sumber dari internet. 2. Metode Eksperimental Penulis menyajikan simulasi enkripsi dan dekripsi data serta hasil dan analisanya. 1.6 Sistematika Penulisan Dalam penyusunan laporan penelitian ini akan diuraikan dalam bentuk bab, dan masing-masing bab akan dipaparkan dalam beberapa sub bab, diantaranya : BAB I.
Pendahuluan Dalam bab ini akan menjelaskan latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, metode pengumpulan data dan sistematika penulisan.
BAB II.
Landasan Teori Dalam bab ini akan membahas dan menjelaskan mengenai dasar teoritis yang menjadi landasan dan mendukung pelaksanaan penulisan scripsi.
BAB III.
Analisis dan Perancangan Sistem Dalam bab ini akan membahas tentang analisis kebutuhan sistem dan perancangan sistem antara lain use case diagram, class diagram, flowchart sistem dan flowchart program.
BAB IV. Implementasi dan Pembahasan Dalam bab ini akan membahas tentang
hasil pengujian
kecepatan berdasarkan proses, pembahasan kode program, dan petunjuk penggunaan aplikasi. BAB V.
Penutup Dalam bab ini akan disampaikan kesimpulan dan saran dari keseluruhan bahasa.
2.
Landasan Teori
2.1 Kriptografi Kriptografi merupakan seni dan ilmu menyembunyikan informasi dari penerima yang tidak berhak. Kata cryptography berasal dari kata Yunani kryptos
3
(tersembunyi)
dan
graphein
1
(menulis) .
Cryptanalysis
adalah
ilmu
untuk
mendapatkan plaintext pesan tanpa harus mengetahui kunci secara wajar. 2
Kehilangan kunci melalui peralatan noncryptanalitic disebut compromise . Pesan atau informasi yang dapat dibaca disebut sebagai plaintext atau cleartext. Teknik untuk membuat pesan agar tidak dapat dibaca disebut dengan enkripsi. Pesan yang tidak dapat dibaca tersebut disebut chipertetx. Proses yang merupakan kebalikan dari enkripsi disebut diskripsi yang membuat chipertext menjadi plaintext3. Enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah informasi rahasia, disebut sebagai kunci. Untuk beberapa mekanisme enkripsi, kunci yang sama digunakan baik untuk enkripsi dan dekripsi, untuk mekanisme yang lain kunci yang digunakan untuk enkripsi dan dekripsi berbeda. Ada dua jenis algoritma 6 kriptografi berdasarkan jenis kuncinya yaitu symmetric key (secret/ private key) cryptography dan asymmetric (public key) cryptography4. Pada symmetric key cryptography, baik pengirim maupun penerima memiliki kunci rahasia yang umum yaitu kunci enkripsi sama dengan kunci deskripsi. Pada asymmetric key cryptography, pengirim dan penerima masing-masing berbagi kunci publik dan privat yaitu kunci enkripsi berbeda dengan kunci dekripsi5. 2.2 Sejarah AES Pada tahun 90-an setelah beberapa tahun standar penyandian simetris DES di anggap tidak lagi aman, lembaga standar Amerika Serikat NIST (National Institute of standards and technology) membuat sayembara untuk menggantikan DES dengan sebuah system penyandian yang disebut dengan Advanced encryption standard pada tanggal 12 desember 1997. NIST memberikan spesifikasi AES yaitu memiliki panjang blok 128 bit dan mampu mendukung panjang kunci 128, 192, 2566. AES merupakan simetri block cipher untuk mengantikan DES. DES terbukti menjadi algoritma enkripsi yang aman di dunia selama puluhan tahun, tapi pada tahun 1990 panjang kunci DES dianggap terlalu pendek dan pada tahun 1998, 70 ribu PC di internet berhasil membobol satu kunci DES dalam tempo waktu 96 hari. Tahun 1999 dalam tempo waktu 22 hari. Kemudian di buatlah mesin khusus untuk memecahkan algoritma DES dan mesin tersebut dapat memecahkan 25% kunci
1 2
Dony Ariyus, Kriptografi keamanan data dan komunikasi, 2006, Hal 9 Ir. Yusuf Kurniawan, MT. , Kriptografi keamanan internet dan jaringan komunikasi, 2004, Hal 1, 4,
6 3
Ibid Ibid 5 Ir. Yusuf Kurniawan, MT. , Kriptografi keamanan internet dan jaringan komunikasi, 2004, Hal 6-8 6 Rifki Sadikin, Kriptografi untuk keamanan jaringan, 2012, Hal 151 4
4
DES dalam tempo waktu 2,3 hari dan dapat memecahkan kunci DES dalam tempo waktu 4,5 hari7. Dengan alasan tersebut kemudian NIST mengadakan kompetisi untuk mengantikan algoritma DES denganyang baru. Pada tahun 1997 ada 21 pelamar dan 6 dari mereka gugur karena tidak termasuk dalam kriteria pemilihan. Kriteria yang di tetapkan NIST pada tahap I adalah : 1. Tingkat keamanan a. Keamanan yang aktual b. Randomness c. Soundness d. Faktor keamanan lain 2. Harga a. Persyaratan lisensi b. Perhitungan yang efisien c. Persyaratan memory 3. Algoritma dan karakteristik implementasi a. Fleksible b. Software dan hardware yang seimbang c. Sederhana Dari persyaratan di atas maka didapatkan 15 calon tahap I pada bulan Juni 1998yang berasal dari Amerika, Canada, Belgia, Prancis, Jerman, Norwegia, Inggris, Korea, Israel, Jepang, Costa Rica dan Australia. 10 algoritma yang ada pada tahap I gugur karena di anggap kurang amam dan efektif8. Pada bulan Agustus 1999 di pilihlah 5 kandidat untuk seleksi akhir yaitu Mars (IBM Amerika), RSA (RSA corp, Amerika), Rijndael (Belgia), Serpent (Israel, Norwedia dan Inggris) dan TwoFish (Counterpane, Amerika). Kriteria pada final adalah : 1. General security 2. Implementasi software 3. Ruang lingkup yang tidak terbatas 4. Implementasi hardware 5. Implementasi atas serangan 6. Enkripsi VS Dekripsi 7. Kemampuan kunci 8. Kemampuan yang lain dan Fleksibelitas 7 8
Dony Ariyus, Kriptografi keamanan data dan komunikasi , 2006, Hal 84 Ibid
5
9. Potensial untuk level intruksi paraller Pada tanggal 2 Oktober 1999 terpilihlah algoritma Rijnde sebagai pemenang, yang dibuat oleh Dr. Vincrnt Rijmen dan Dr. Joan Daemen. Dasar dari pemilih ini bukan karena Rijndel sebagai algoritma yang paling aman dari ke 5 kandidat terakhir, tapi Rijndel memiliki keseimbangan antara keamanan dan 9
Fleksibelitas dalam berbagai software dan hardware . a. Ekspansi Kunci Algoritma AES mengambil kunci cipher, K, dan melakukan rutin ekspansi kunci (key expansion) untuk membentuk key schedule. Ekspansi kunci menghasilkan total Nb(Nr+1) word. Algoritma ini membutuhkan set awal key yang terdiri dari Nb word, dan setiap round Nr membutuhkan data kunci sebanyak Nb word. Hasil key schedule terdiri dari array 4 byte word linear yang dinotasikan dengan [wi]. SubWord adalah fungsi yang mengambil 4 byte word input dan mengaplikasikan S-Box ke tiap-tiap data 4 byte untuk menghasilkan word output. Fungsi RotWord mengambil word [a0, a1, a2, a3] sebagai input, melakukan permutasi siklik, dan mengembalikan word [a1, a2, a3, a0]. Rcon[i] terdiri dari nilainilai yang diberikan oleh [xi-1, {00}, {00}, {00}], dengan x i-1 sebagai pangkat dari x (x dinotasikan sebagai {02} dalam field GF(28). Word ke Nk pertama pada ekspansi kunci berisi kunci cipher10. Setiap word berikutnya, w[i], sama dengan XOR dari word sebelumnya, w[i-1] dan word Nk yang ada pada posisi sebelumnya, w[i-Nk]. Untuk word pada posisi yang merupakan kelipatan Nk, sebuah transformasi diaplikasikan pada w[i1] sebelum XOR, lalu dilanjutkan oleh XOR dengan konstanta round, Rcon[i]. Transformasi ini terdiri dari pergeseran siklik dari byte data dalam suatu word RotWord, lalu diikuti aplikasi dari lookup Tabel untuk semua 4 byte data dari word 11
SubWord . b. Enkripsi Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah dikopikan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang 9
Dony Ariyus, Kriptografi keamanan data dan komunikasi, 2006, Hal 85-87 Rifki Sadikin, Kriptografi untuk keamanan jaringan, 2012, Hal 77-94, 151-153 11 Ibid 10
6
terakhir agak berbeda dengan round-round sebelumnya dimana pada round 12
terakhir, state tidak mengalami transformasi MixColumns . c. Dekripsi Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah
InvShiftRows,
InvSubBytes,
InvMixColumns,
dan
AddRoundKey.
Algoritma dekripsi dapat dilihat pada skema berikut ini : Cipher Text AddRoundKey InvShiftRows InvSubBytes
AddRoundKey InvMixColumns InvShiftRows InvSubBytes
Nr - 1 Round
AddRoundKey
Plain Text
Gambar 2.6 Diagram Alir Proses Dekripsi Sumber: Dony Ariyus, Pengantar Ilmu Kriptografi, 2008, hal.170 2.3 Watermaking Istilah watermarking ini muncul dari salah satu cabang ilmu yang disebut dengan steganography. Stegranography merupakan suatu cabang ilmu yang mempelajari tentang bagaimana menyembunyikan suatu informasi “rahasia” di dalam suatu informasi lainnya. Perbedaan stegranograpy dengan cryptography terletak pada bagaimana proses penyembunyian data dan hasil akhir dari proses tersebut.Watermarking (tanda air) dapat diartikan sebagai suatu teknik penyembunyian data atau informasi “rahasia” kedalam suatu data lainnya untuk “ditumpangi” (kadang disebut dengan host data), tetapi orang lain tidak menyadari kehadiran adanya data tambahan pada
12
Rifki Sadikin, Kriptografi untuk keamanan jaringan, 2012, Hal 77-94, 151-153
7
data host-nya. Jadi seolah-olah tidak ada perbedaan antara data host sebelum dan 13
sesudah proses watermarking . Watermarking ini memanfaatkan kekurangan-kekurangan sistem indera manusia seperti mata dan telinga. Jadi watermaking merupakan suatu cara untuk penyembunyian atau penanaman data/informasi tertentu (baik hanya berupa catatan umum maupun rahasia) kedalam suatu data digital lainnya, tetapi tidak diketahui kehadirannya oleh indera manusia (indera penglihatan atau indera pendengaran), dan mampu menghadapi proses-proses pengolahan sinyal digital yang tidak merusak kualitas data yang ter-watermark sampai pada tahap tertentu. Disamping itu data yang terwatermark harus tahan (robust) terhadap serangan-serangan baik secara sengaja maupun tidak sengaja untuk menghilangkan data watermark yang terdapat didalamnya14.
2.4 Metode LBS (Least Significant Bit) Least significant bit adalah bagian dari barisan data biner (basis dua) yang mempunyai nilai paling tidak berarti/paling kecil. Letaknya adalah paling kanan dari barisan bit. Sedangkan most significant bit adalah sebaliknya, yaitu angka yang paling berarti/paling besar dan letaknya disebelah paling kiri15. Contohnya adalah bilangan biner dari 255 adalah 11111111 (kadang-kadang diberi huruf b pada akhir bilangan menjadi 1111 1111b). Bilangan tersebut dapat berarti :
Dari barisan angka 1 di atas, angka 1 paling kanan bernilai 1, dan itu adalah yang paling kecil. Bagian tersebut disebut dengan least significant bit (bit yang paling tidak berarti), sedangkan bagian paling kiri bernilai 128 dan disebut dengan most significant bit (bit yang paling berarti). Least significant bit sering kali digunakan untuk kepentingan penyisipan data ke dalam suatu media digital lain, salah satu yang memanfaatkan Least significant bit sebagai metode penyembunyian adalah steganografi audio dan gambar. Metode yang digunakan untuk penyembunyian pesan rahasia pada aplikasi ini adalah dengan cara menyisipkan pesan ke dalam bit rendah (least significant bit) pada data pixel yang menyusun file gambar BMP 24 bit tersebut. Pada file gambar BMP 24 bit setiap pixel pada gambar terdiri dari susunan tiga warna yaitu merah, hijau, biru (RGB) yang masingmasing disusun oleh bilangan 13
Dony Ariyus, Kriptografi keamanan data dan komunikasi, 2006, Hal 151-152 Ibid 15 Tri Prasetyo Utomo, Jurnal Steganografi Gambardengan Metode Least Significant Bit Untuk Proteksi Komunikasi Pada Media Online, 2012 14
8
8 bit (1 byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 1111111116. 3.
Analisis Dan Perancangan Sistem
3.1 Analisis 3.1.1 Analisis Kelemahan Sistem a. Sistem hanya dapat berjalan jika komputer sudah terinstall java b. Sistem memerlukan waktu yang tidak sedikit untuk medeskripsi dan atau mengenkripsi data c.
Sistem hanya dapat mengolah file gambar dan text
d. Sistem membutuhkan waktu yang cukup lama apabila ukuran gambar terlalu besar 3.1.2 Analisis Kebutuhan Sistem a. Sistem membutuhkan instalisasi java b. Sistem membutuhkan data text dan data gambar c.
Sistem dapat menyajikan hasil pengelolahan data text pada data gambar
d. Sistem membutuhkan password untuk mengenkripsi dan atau mendeskripsi pesan e. Sistem membutuhkan program NetBeans untuk pengembangan lebih lanjut 4.
Pembahasan
4.1 Pengujian File Gambar Berdasarkan pengujian pada file gambar berekstensi *.jpg, *.gif, dan *.png data yang di pakai 100 karakter. Dapat dilihat pada table di bawah ini.
16
Tri Prasetyo Utomo, Jurnal Steganografi Gambardengan Metode Least Significant Bit Untuk Proteksi Komunikasi Pada Media Online, 2012
9
Table 4.1 Hasil Pengujian
Size File Gambar
Waktu untuk
Type
Size
setelah
Waktu untuk
File
Awal
disisipi
enkripsi
deskripsi
Gambar RGB
text 4.1 & 4.2
*.gif
367KB
3KB
00:00:00.49
00:00:00.39
4.3 & 4.4
4.5 & 4.6
*.jpg
224KB
656KB
00:00:00.43
00:00:00.41
4.7 & 4.8
4.9 & 4.10
*.png
305KB
396KB
00:00:00.47
00:00:00.41
4.11 & 4.12
4.13 & 4.14
*.jpg
4.291KB
14.838KB
00:00:05.50
00:00:01.40
4.15 & 4.16
4.17 & 4.18
*.png
1.004KB
911KB
00:00:00.77
00:00:00.52
4.19 & 4.20
Gambar 4.1 Sebelum disisipi
Gambar 4.2 Sesudah disisipi
10
50
Gambar 4.3 Sebelum disisipi 5.
Gambar 4.4 Sesudah disisipi
Penutup
5.1 Kesimpulan Dari hasil Percobaan yang telah dilakukan, maka dapat disimpulkan bahwa implementasi algoritma kriptografi AES dan watermak dengan metode LBS cukup berhasil. 1. Pengimplementasian teknik kriptografi AES dan watermark dengan metode LBS pada data citra RGB berhasil dan berjalan dengan baik. Semakin besar ukuran foto semakin lama proses enkripsi maupun deskripsi. 2. Kualitas gambar sebelum dan sesudah disisipkan pesan cukup bagus karena dengan kasat mata hampir tidak ada perbedaan antara sebelum ataupun sesudah disisipi. 3. Performa teknik kriptografi AES dan Watermark dengan metode LBS sangat bagus walaupun hasil tidak bisa dilihat secara visual perbedaan citra bisa dilihat melalui histogram. 5.2 Saran Saran – saran yang berguna untuk pengembangan lebih lanjut terhadap program aplikasi ini adalah sebagai berikut: 1. Input teks tidak hanya berupa texks biasa saja, akan tetapi bisa dalam format doc/docx.
11
2. Pengguna dapat menentukan letak penyimpanan gambar yang telah disisipi 3. Pengguna dapat menambahkan menu ganti gambar apabila gambar yang telah di ambil kurang sesuai. Daftar Pustaka Ariyus , Dony. 2006. Kriptografi keamanan data dan komunikasi. Yogyakarta: Graha Ilmu. Kurniawan ,Yusuf. 2004. Kriptografi keamanan internet dan jaringan komunikasi. Bandung: Informatika. Sadikin, Rifki. 2012. Kriptografi untuk keamanan jaringan. Yogyakarta: Andi.
Utomo , Tri Prasetyo. 2012. Jurnal Steganografi Gambar dengan Metode Least Significant Bit Untuk Proteksi Komunikasi Pada Media Online. http://jumadi.blog.ugm.ac.id/files/2012/05/trip.pdf. diakses 16 Mei 2013
Badriyah ,Tessy. Unified Modeling Language (UML). http://politekniktelkom.ac.id/bebas/BachelorartDegree/UML/OOT/uml5.pdf. diakses 13 Oktober 2013 Aji, Bayu. Unified Modeling Language. http://bayuaji.staff.gunadarma.ac.id/Downloads/files/32096/UML.pdf. diakses 12 Oktober 2013 Adelia, Jimmy Setiawan. 2011. Jurnal Implementasi Customer Relationship Management (CRM) pada Sistem Reservasi Hotel berbasisi Website dan Desktop. http://repository.maranatha.edu/569/1/Implementasi%20Customer%20Relationship %20Management.pdf. diakses 12 oktober 2013
12