Penerapan Algoritma Hill Cipher Dalam Ke
PENERAPAN ALGORITMA HILL CHIPER DALAM KEAMANAN PESAN TEKS DAN ALGORITMA BOYER MOORE UNTUK PENYARINGAN PESAN BERBASIS WEB CHAT SKRIPSI
Diajukan Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer OLEH : TOMY SATRIA ALASI 1111795 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK BUDIDARMA
MEDAN 2015
PENERAPAN ALGORITMA HILL CHIPER DALAM KEAMANAN PESAN TEKS DAN ALGORITMA BOYER MOORE UNTUK PENYARINGAN PESAN BERBASIS WEB CHAT
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada Strata 1 Program Studi Teknik Informatika
Yang Dipersiapkan dan Disusun Oleh :
Tomy Satria Alasi NPM : 1111795
Telah Memenuhi Persyaratan Untuk Di Pertahankan Di Depan Dewan Penguji Pada Sidang Skripsi
Medan, Agustus 2015
Pembimbing I Pembimbing II
Mesran, S.Kom , M.kom Zekson Arizona Matondang M. Kom
NIDN : 0124087801
NIDN : 0125048801
Diketahui Oleh Ketua Program Studi Teknik Informatika STMIK Budidarma Medan
Hery Sunandar, ST, M.kom
NIDN : 0128127501
PENERAPAN ALGORITMA HILL CHIPER DALAM KEAMANAN PESAN TEKS DAN ALGORITMA BOYER MOORE UNTUK PENYARINGAN PESAN BERBASIS WEB CHAT
Yang Dipersiapkan dan Disusun Oleh :
Tomy Satria Alasi NPM : 1111795
Telah Di seminarkan Di Depan Dewan Pembanding Seminar Skripsi
Pada Tanggal Mei 2015
Dan Dinyatakan Memenuhi Syarat Untuk Menjadi Skripsi
Medan, Agustus 2012
Pembanding I Pembanding II
Kristian Siregar, S.Kom, M. Kom Taroni Zebua, S.Kom, M.Kom NIDN :
NIDN :
Diketahui Oleh
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan
Heri Sunandar, ST, M.kom
NIDN : 0317086703
KATA PENGANTAR
Puji syukur yang tiada hentinya penulis haturkan atas berkat dan rahmat Allah SWT. Sehingga penulis dapat menyelesaikan skripsi ini dengan judul PENERAPAN ALGORITMA HILL CHIPER DALAM KEAMANAN PESAN TEKS DAN ALGORITMA BAYER MOORE UNTUK PENYARINGAN PESAN BERBASIS WEB CHAT Penulis sepenuhnya menyadari tidak mungkin akan selesai penulisan skripsi ini tanpa pertolongan dan bantuan dari Allah SWT. Sholawat diiringi dengan salam tak lupa juga penulis haturkan pahalanya kepada junjungan alam nabi besar Muhammad SAW. Karena sesungguhnya karena perjuangan beliaulah umat muslim dan lainnya dapat rukun dan damai serta aman sentosa, tidak ada lagi pembantaian, dan semua sudah memahami tentang akhlak yang diajarkan oleh beliau.
Skripsi ini disiapkan memiliki latar belakang untuk syarat penulis dalam mencapai gelar sarjana pada jurusan Teknik Informatika STMIK Budidarma Medan. Penulis menyadari bahawa skripsi ini belum sepenuhnya layak untuk kesempurnaan untuk digunakan. Untuk itu penulis sangat mengharapkan kritik dan saran yang bermanfaat dan bersifat membangun dari pihak manapun yang membaca skripsi ini, demi kesempurnaan skripsi ini.
Skripsi ini tidak mungkin dapat selesai tanpa adanya bantuan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terimakasih kepada :
1. Bapak Mesran, S.Kom, M.Kom sebagai pembimbing I yang telah susah payah menyediakan waktu untuk membimbing penulis selama mengerjakan skripsi ini.
2. Bapak Zekson Arizona Matondang, S.Kom, M.Kom sebagai pembimbing II yang juga telah bersusah payah menyediakan waktu untuk mengkoreksi tulisan skripsi ini hingga menjadi seperti ini.
3. Bapak Hery Sunandar, ST, M.Kom selaku ketua program studi Teknik informatika STMIK Budidarma Medan yang telah membantu penulis untuk 3. Bapak Hery Sunandar, ST, M.Kom selaku ketua program studi Teknik informatika STMIK Budidarma Medan yang telah membantu penulis untuk
4. Bapak Mesran, S.Kom, M.Kom selaku Ketua STMIK Budidarma Medan.
5. Bapak dan Ibu dosen pengajar beserta seluruh staf pegawai STMIK budidarma medan.
6. Paling teristimewa yaitu untuk kedua orang tua penulis sendiri, yang telah sangat membantu secara moril dan materil serta doa yang membuat penulis tetap tegar dan juga semangat untuk dapat menyelesaikan penulisan skripsi ini.
7. Kepada rekan mahasiswa dan juga rekan sesama pegawai di STMIK Budidarma medan yang telah sangat membantu penulis dalam keseharian sewaktu menulis skripsi ini.
8. Semua yang telah membantu penulis untuk menyelesaikan skripsi ini, penulis mohon maaf karena tidak dapat menyebutkan semua orang yang telah membantu penulis dalam penyusunan skripsi ini.
Demikian penulis ucapkan terimakasih sekali lagi kepada seluruh pihak yang telah sangat membantuk penulis. Harapan penulis agar skripsi ini dapat menjadi berguna sebagai bahan pelajaran, penambah wawasan, serta menjadi referensi selanjutnya bagi mahasiswa yang ingin mengembangkan skripsi ini yang semuanya bertujuan untuk membangun. Semoga Allah SWT memberkahi penulis dan semua pihak yang telah membantu penulis serta juga para pembaca yang berjasa terhadap skripsi ini dan ilmu pengetahuan. Akhir kata sekali lagi penulis ucapkan banyak terima kasih.
Medan, Agustus 2015 Penulis,
Tomy Satria Alasi NPM : 1111795
ABSTRAK
Web chat merupakan halaman situs untuk saling berbagi informasi komunikasi melalui pesan teks, suara, vidio dan file yang dapat diakses dengan masuk ke dalam sistem aplikasi yang disediakan oleh situs. Khusus untuk berbagi pesan teks melalu web chat sering berisi kata-kata yang tidak baik sehingga hal- hal yang tidak diinginkan terjadi seperti saling membalas kata-kata yang tidak baik bahkan berahir dengan perkelahian dan penyedia juga kurang memperhatikan keamanan dalam proses pesan teks sehingga pesan mudah dibajak oleh orang yang tidak berkepentingan dengan macam-macam tujuan, dua permasalahan tentu tidak diinginkan oleh seseorang pada saat berbagi pesan.
Dengan segala permasalahan yang diuraikan ternyata ada suatu penyelesaian masalah tersebut yaitu dengan memanfaatkan algoritma boyer moore yaitu proses pencarian kata dari kanan karakter ke kiri karakter sehingga proses pencarian tek pada kata lebih cepat sehingga tidak ada yang terlewatkan dari teks sampai menumukan kata yang tidak pantas dan di saring atau disembunyikan dan memakai algoritma hill chiper yang mefaatkan penyandian hingga perubahan pada pesan teks dengan proses aritmatika matriks sehingga kunci dan pembuka tidak sama dan susah dipecahkan sekalipun karakter pada teks sama. Sehingga dengan mengunakan dua algoritma tersebut yaitu algoritma boyer moore dan algoritma hill chiper dua permasalahan tersebut dapat diselesaikan yaitu penyaringan pesan teks dan pengamanan pesan teks.
Kata Kunci : Web Chat, Pesan Teks, Penyaringan Pesan, Keamanan Pesan, Algoritma Boyer Moore, Algoritma Hill Chiper.
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Pesan merupakan suatu informasi yang dapat dibaca dan dimengerti maknanya agar pesan dapat diterima dari pengguna satu ke pengguna lain, proses pengiriman pesan memerlukan sebuah media perantara agar pesan yang dikirimkan oleh sumber (source) dapat diterima dengan baik oleh penerima (receiver). Perkembangan teknologi jaringan komputer menyebabkan terkaitnya satu komputer dengan komputer lainnya menjadi lebih mudah untuk berbagi pesan dan informasi mulai dari perusahaan, organisasi dan bahkan hanya untuk bercerita antar seseorang, tanpa disadari hampir setiap hari orang-orang melakukan proses berbagi pesan sehingga pesan menjadi inti dari setiap proses komunikasi yang terjadi. Proses pengiriman pesan harus dikemas sebaik mungkin untuk mengatasi gangguan yang muncul dalam transmisi pesan, agar tidak mengakibatkan perbedaan makna yang diterima oleh penerima.
Web chat adalah sistem yang memungkinkan pengguna untuk berko- munikasi secara real time dengan menggunakan antarmuka web yang mudah diakses, merupakan jenis internet chat online dengan kesederhanaan dan aksesibilitas bagi pengguna yang ingin meluangkan waktu berbagi komunikasi. Pada social network hampir semua sudah menyedikan fasilitas chat yang digunakan oleh orang-orang untuk berbagi pesan atau informasi pada kehidupan sehari-hari.
Algoritma pencarian string adalah algoritma untuk melakukan pencarian semua kemunculan string pendek. Pencocokkan string merupakan permasalahan paling sederhana dari semua permasalahan string dan dianggap sebagai bagian dari pemrosesan data, pengkompresian data, analisis leksikal dan temu balik informasi (Ginting, 2014, Vol.III). Algoritma boyer moore adalah salah satu algoritma pencarian string yang paling efisien pada aplikasi pencarian umum, algoritma boyer moore mulai mencocokkan karakter dari sebelah kanan pattern sehingga akan lebih banyak informasi yang dapat (Ginting, 2014, Vol.III).
Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain, teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya (Ariyus, 2005, Hal.2). Algoritma hill cipher adalah teknik kriptografi menggunakan sebuah matriks persegi sebagai kunci berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam hill cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks sebagai kunci, sehingga hill cipher merupakan algoritma kriptografi kunci simetris yang sulit dipecahkan karena teknik kriptanalisis seperti analisis frekuensi tidak dapat diterapkan dengan mudah untuk memecahkan algoritma (Ariyus, 2008, Hal.36).
Penyaringan pesan yang tepat sehingga pesan yang telah terkim diperiksa atau disaring secara keseluruhan bila menemukan kata-kata yang tidak pantas akan di sembunyikan dan digantikan dengan karakter tertentu sehingga kalimat dipesan teks tersebut memiliki kata-kata yang sopan, baik dan dewasa sehingga antara pengirim dan penerima tidak akan ada pertengkaran didalam berbagi pesan melalui aplikasi web chat tersebut. Penyedia web chat kurang memperhatikan keamanan dalam proses pesan teks network, seseorang bisa saja dengan ilegal melihat isi pesan tersebut tanpa diketahui pengirim atau penerima. Sehingga tanpa fasilitas keamanan penerima akan menerima pesan tersebut dengan adanya perubahan hal tersebut pasti tidak diinginkan oleh siapapun sekalipun pesan tersebut hanya sebatas saling menyapa.
Berdasarkan uraian masalah tersebut, maka penulis membuat topik pembahasan dalam skripsi ini adalah Penerapan Algoritma Hill Cipher Dalam
Keamanan Pesan Teks Dan Algoritma Boyer Moore Untuk Penyaringan Pesan Berbasis Web Chat .
1.2 Perumusan Masalah
Adapun yang menjadi perumusan masalah dalam skripsi ini adalah sebagai berikut :
1. Bagaimana proses pencarian kata teks dengan algoritma boyer moore?
2. Bagaimana proses keamananan teks dengan algoritma hill chiper ?
3. Bagaimana menerapkan algoritma boyer moore untuk penyaringan pesan teks?
4. Bagaimana menerapkan algoritma hill chiper untuk keamanan pesan teks?
5. Bagaimana merancang aplikasi web chat dengan menggunakan bahasa pemrograman PHP dan database MySql dengan menerapkan algoritma boyer moore untuk penyaringan pesan serta dan menerapkan algoritma hill chiper dalam keamanan pesan teks?
1.3 Batasan Masalah
Adapun yang menjadi batasan masalah yang dibahas dalam skripsi ini adalah sebagai berikut :
1. Proses penyaringan pesan dengan pesan teks disaring berdasarkan kata-kata yang telah ditetapkan dan maximal panjang karakter 20 karater.
2. Proses keamanan pesan menggunakan matriks ordo 2 dalam proses aritmatika, rentang karakter yang digunakan berupa karakter (string) dan maximal panjang karakter 20 karater.
3. Proses penyaringan pesan berdasarkan algoritma boyer moore untuk penyaringan pesan.
4. Proses keamanan pesan teks berdasarkan algoritma hill chiper yaitu dengan menyandikan pesan teks.
5. Aplikasi menggunakan bahasa pemrograman PHP, database MySQL dan ada dua user yaitu penerima dan pengirim dalam aplikasi.
1.4 Tujuan dan Manfaat Penelitian
Tujuan dan manfaat penenilitian berguna untuk menetapkan tujuan yaitu hasil ahir atau sasaran dari penelitian dan manfaat yaitu kegunaan dari penilitan.
1.4.1 Tujuan Penelitian
Adapun tujuan dari penelitian yang dilakukan adalah sebagai berikut :
1. Mengetahui proses pencarian kata pada teks dengan algoritma boyer moore.
2. Mengetahui proses keamanan pada teks dengan algoritma hill chiper.
3. Mengetahui penerapan algoritma boyer moore untuk penyaringan pesan teks.
4. Mengetahui penerapan algoritma hill chiper dalam keamanan pesan teks.
5. Mengetahui perancangan aplikasi web chat menggunakan bahasa pemrograman Hypertext Preprocessing (PHP), database MySql dan menerapkan algoritma boyer moore untuk penyaringan pesan teks menerapkan serta algoritma hill chiper dalam keamanan pesan teks.
1.4.2 Manfaat Penelitian
Adapun yang menjadi manfaat dari penelitian ini adalah sebagai berikut :
1. Menambah pengetahuan dan wawasan penulis mengenai konsep dan metode kerja algoritma boyer moore.
2. Menambah pengetahuan dan wawasan penulis mengenai konsep dan metode kerja algoritma hill chiper.
3. Meningkatkan penyaringan kata-kata yang tidak sopan dalam pesan teks berbasis web chat sehingga setiap pesan teks menghasilkan kata-kata sopan dan kata-kata yang santun.
4. Meningkatkan keamanan pesan teks yaitu dengan menyandikan pesan teks berbasis web chat.
5. Mempermudah proses penyaringan pesan dan proses keamanan pesan berbasis web chat.
1.5 Metode Penelitian
Metode yang digunakan dalam melakukan penelitian pada keamanan pesan teks dan penyaringan pesan teks dan selanjutnya menjadi pokok bahasan dalam skripsi ini agar konsep sampai ahir dapat dicapai dan benar-benar telah disiapkan dengan baik. Tahapan-tahapan dari awal sampai ahir penelitian di rangkup Metode yang digunakan dalam melakukan penelitian pada keamanan pesan teks dan penyaringan pesan teks dan selanjutnya menjadi pokok bahasan dalam skripsi ini agar konsep sampai ahir dapat dicapai dan benar-benar telah disiapkan dengan baik. Tahapan-tahapan dari awal sampai ahir penelitian di rangkup
1. Studi kepustakaan Mempelajari berbagai referensi yang berhubungan dengan penyaringan pesan dengan algoritma boyer moore dan keamanan pesan teks dengan algoritma hill chiper.
2. Analisa Mempelajari algoritma boyer moore pada penyaringan pesan serta algoritma hill chiper untuk penyaringan pesan yang digunakan untuk dianalisis dan diterapkan sebagai salah satu solusi pada kasus yang dikaji dan hal-hal yang berhubungan dengan pemecahan masalah lebih mudah.
3. Perancangan Melakukan perancangan algoritma dan aplikasi sebagai interface penerapan algoritma yang telah dianalisa pada tahap sebelumnya.
4. Pengujian Melakukan proses pengujian terhadap aplikasi dan algoritma yang telah dibuat dengan tujuan untuk mengetahui relevansi hasil analisis terhadap kasus yang dikaji.
5. Implementasi
Mengimplementasikan algoritma yang telah dianalisa dengan menggunakan bahasa pemrograman yang telah ditentukan sebelumnya dalam keamanan pesan dan penyaringan pesan.
6. Membuat kesimpulan dan saran untuk mengembangkan penelitan dari penelitian yang telah dilakukan
1.6 Sistematika Penulisan
Penulisan skripsi ini, penulis membaginya dalam 5 bab dimana masing- masing bab dibagi lagi dalam beberapa sub bab. Adapun sistematika penulisan skripsi ini adalah sebagai berikut:
BAB I :PENDAHULUAN
Bab ini berisi tentang latar belakang masalah penelitian, perumusan masalah yang akan di selesaikan pada penelitan, batasan masalah, tujuan dan manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB II :LANDASAN TEORI
Bab ini membahas mengenai landasan teori mengenai penerapan, keamanan, kriptografi, algoritma hill chiper, pencaritan string, algoritma boyer moore, Unifed Modeling Languange (UML), Hypertext Preprocessing (PHP), JavaScipt dan MySQL.
BAB III :ANALISA DAN PERANCANGAN
Bab ini membahas mengenai uraian terhadap proses penyelesaian masalah penelitian yang dibahas. Proses analisa dan perancangan diawali dengan analisa perancangan, analisa sistem yang akan dibuat, analisa dan logika metode penyelesaian masalah, perancangan sistem serta perancangan output dan input dari sistem yang dijadikan sebagai solusi penyelesaian masalah.
BAB IV :ALGORITMA DAN IMPLEMENTASI
Bab ini menguraikan algoritma keamanan pesan dan algoritma penyaringan pesan dan keamanan pesan yang dituangkan dalam bentuk pseudocode, implementasi dari perancangan sistem serta hasil pengujian implementasi algoritma boyer moore penyaringan pesan dan algoritma hill chiper terhadap keamanan pesan teks.
BAB V :KESIMPULAN DAN SARAN
Bab ini berisi tentang beberapa kesimpulan mengenai isi dari skripsi dan beberapa saran yang dapat berguna untuk pengembangan aplikasi perangkat lunak ini lebih lanjut.
BAB II LANDASAN TEORI
2.1 Penerapan
Penerapan adalah suatu aktifitas, aksi, tindakan adanya suatu sistem. Penerapan bukan sekedar aktivitas tetapi suatu kegiatan yang terencana yang harus dicapai untuk memenuhi tujuan kegiatan, penerapan merupakan perluasan aktifitas yang saling menyesuaikan proses interaksi antara tujuan dan tindakan untuk mencapai tujuan dalam memenuhi aktivitas kegiatan (Sitomorang, 2013, Vol.III).
Berdasarkan defenisis di atas, maka dapat disimpulkan bahwa penerapan bermuara pada mekanisme suatu sistem. Ungkapan mekanisme mengandung arti bahwa Penerapan bukan sekadar aktivitas, tetapi suatu kegiatan yang terencana yang dilakukan secara sungguh-sungguh berdasarkan acuan norma tertentu untuk mencapai tujuan kegiatan. Penerapan dalam kenyataanya berupa gagasan dan tolak ukur suatu tindakan individu yang diarahkan pada tujuan serta ditetapkan untuk mencapai kebijakan yang mampu memberi hasil yang bersifat praktis terhadap suatu sistem.
2.2 Algoritma
Istilah algoritma pertama kali di perkenalkan oleh seorang ahli matematika yaitu Abu Ja far Muhammad Ibnu Musa Al Khawarizmi. Algoritma adalah urutan dari barisan instruksi untuk menyelesaikan suatu masalah. Ada pun algoritma dapat dinyatakan dalam bentuk flowchart, diagram alir, bahasa semu sedangkan secara bahasa, algoritma berarti suatu metode khusus untuk menyelesaikan suatu masalah yang nyata (Kadir, 2013, Hal.10).
Dalam bidang pemrograman algoritma didefinisikan sebagai metode khusus yang tepat dan terdiri dari serangkaina langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
Ada lima komponen utama dalam algoritma yaitu finiteness, definiteness, input, output dan effectivenes (Kadir, 2013, Hal.12), yaitu:
1. Finiteness. Sebuah algoritma harus selalu berakhir setelah sejumlah langkah berhingga.
2. Definiteness. Setiap langkah dari sebuah algoritma harus didefinisikan secara tepat, tindakan yang di muat harus dengan teliti dan sudah jelas ditentukan untuk setiap keadaan.
3. Input. Sebuah algoritma memiliki nol atau lebih masukan, sebagai contoh, banyaknya masukan diberikan di awal sebelum algoritma mulai.
4. Output. Sebuah algoritma memiliki satu atau lebih keluaran, sebagai contoh, banyaknya keluaran memiliki sebuah hubungan yang ditentukan terhadap masukan.
5. Effectiveness. Pada umumnya sebuah algoritma juga diharapkan untuk efektif.
Beberapa notasi yang digunakan dalam penulisan algoritma (Kadir, 2013, Hal.12), antara lain :
1. Notasi I, menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif. Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti baca ,
hitung , bagi , ganti , dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan jika maka . Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak mangkus. Selain itu, pengkonversian notasi algoritma ke notasi bahasa relatif sukar(Kadir, 2013, Hal.12). Contoh algoritma notasi I adalah : Input : Tahun lahir (tl), Tahun sekarang (ts) Proses : Umur = ts tl Output : Umur
Menghitung usia berdasarkan tahun lahir dan tahun sekarang (Kadir, 2013, Hal.13).
2. Notasi II, menggunakan diagram alir (flowchart) Flow chart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternative-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah, khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Notasi ini menggunakan sejumlah simbol untuk menyatakan kegiatan-kegitan secara keseluruhan. Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. dapat dilihat pada table 2.1.
Tabel 2.1 : Simbol Bagan Alir (Flowchart) Simbol
Fungsi
Notasi Terminator Menunjukkan awal dari suatu perancangan sistem baik secara manual maupun komputer.
Magnetic Disk ( hard disk ) Menunjukkan media penyimpanan data yang menunjukkan input/output yang menggunakan hard disk.
Connector (penghunbung dalam suatu halaman) digunakan untuk menghubung ke halaman yang sama.
Connector off-page digunakan untuk penghubung ke halaman lain.
Deklarasi variable menunjukkan awal proses data sebagai pengenalan notasi field.
Lanjutan Tabel 2.1 : Simbol Bagan Alir (Flowchart) Simbol
Fungsi
Decision (keputusan) menunjukkan proses logical perbandingan dalam memberikan keputusan yang benar (true) atau salah (false).
Proses dengan metode komputerisasi menunjukkan kegiatan proses operasi program komputer.
Arsip digunakan sebagai multi document sebagai simbol arsip data secara manual.
Notasi document (laporan) Menunjukkan dokumen yang digunakan untuk input dan output baik secara manual, maupun komputerisasi.
Digunakan sebagai input/output data notasi field. Proses manual menunjukkan pekerjaan yang
dilakukan secara manual. Store data merupakan symbol proses penyetoran
data ke dalam database
Sumber : Kadir, 2013, Hal.14
2.3 Kriptografi
Penjagaan sebuah informasi sangat diperlukan agar tidak jatuh ke tangan orang-orang yang tidak berhak untuk mengaksesnya. Teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya(Ariyus, 2005, Hal.1). Cryptography (kriptografi) berasal dari bahasa Yunani yaitu dari kata crypto yang berarti Penjagaan sebuah informasi sangat diperlukan agar tidak jatuh ke tangan orang-orang yang tidak berhak untuk mengaksesnya. Teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya(Ariyus, 2005, Hal.1). Cryptography (kriptografi) berasal dari bahasa Yunani yaitu dari kata crypto yang berarti
Kriptografi pada awalnya merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kemudian seiring dengan berkembangnya kriptografi yaitu kriptografi tidak lagi sebatas mengenkripsikan pesan, tetapi juga memberikan aspek keamanan yang lain seperti serangan dari kriptanalisis. Oleh karena itu pengertian kriptografi pun berubah menjadi ilmu sekaligus seni untuk menjaga keamanan pesan. Kriptotografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan rangkuman beberapa menyediakan keamanan informasi (Sadikin, 2012, Hal.1).
2.3.1. Sejarah Kriptografi
Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka menggunakan hieroglyphcs untuk menyembunyikan tulisan dari mereka yang tidak diharapkan. Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti ukiran rahasia. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih mudah untuk digunakan. Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale (Ariyus, 2005, Hal.5).
Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf-huruf alfabet disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, cipher ini merupakan substitusi monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dengan 3 huruf dan mensubstitusikan huruf tersebut. Substitusi ini kadang dikenal dengan C3(untuk Caesar menggeser 3 tempat). Disk mempunyai peranan penting dalam kriptografi sekitar 500 tahun yang lalu. Di Italia sekitar tahun 1460, Leon Battista Alberti mengembangkan disk cipher untuk enkripsi, sistemnya terdiri dari dua disk konsentris. Setiap disk memiliki alfabet di sekelilingnya, dan dengan memutar satu disk berhubungan dengan yang lainnya, huruf pada satu alfabet dapat ditransformasi ke huruf pada alfabet yang lain.
Bangsa Arab menemukan cryptanalysis karena kemahirannya dalam bidang matematika, statistik, dan lingiustik. Karena setiap orang muslim harus menambah pengetahuannya, mereka mempelajari peradaban terdahulu dan mendekodekan tulisan-tulisannya ke huruf-huruf Arab. Pada tahun 815, Caliph al-Mamun mendirikan House of Wisdom di Baghdad yang merupakan titik pusat dari usaha- usaha translasi. Pada abad ke-9, filsuf Arab al-Kindi menulis risalat (ditemukan kembali th 1987) yang diberi judul A Manuscript on Deciphering Cryptographic Messages .
Pada 1790, Thomas Jefferson mengembangkan alat enkripsi dengan menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar secara individual. Pesan dirakit dengan memutar setiap disk ke huruf yang tepat dibawah batang berjajar yang menjalankan panjang tumpukan disk. Kemudian, batang berjajar diputar dengan sudut tertentu, A, dan huruf-huruf dibawah batang adalah pesan yang terenkripsi. Penerima akan menjajarkan karakter-karakter cipher di bawah batang berjajar, memutar batang kembali dengan sudut A dan membaca pesan plaintext.
Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun 1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin Hagelin dikenal sebagai M-209. Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8 yang dikenal sebagai Black Chamber. MI-8 menjebol kode-kode sejumlah megara. Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telap disadap kepada sekretaris Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun 1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin Hagelin dikenal sebagai M-209. Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8 yang dikenal sebagai Black Chamber. MI-8 menjebol kode-kode sejumlah megara. Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telap disadap kepada sekretaris
2.3.2. Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi (Munir, 2006, Hal.10), yaitu:
1. Kerahasiaan (confidentiality), adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
2. Integritas data (data integrity), adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
3. Outentikasi (authentication), adalah usaha yang berhubungan dengan identifikasi/pengenalan, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication).
4. Nirpenyangkalan (non-repudiasi) adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
2.3.3. Algoritma Kriptografi
Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.Algoritma kriptografi harus memiliki langkah-langkah yang terpenuhi Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.Algoritma kriptografi harus memiliki langkah-langkah yang terpenuhi
1. Enkripsi Merupakan hal yang sangat penting dalam kriptografi, merupakan Pengaman- an data yang dikirim agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai cipher atau kode dengan menggunakan algoritma yang untuk mengkodekan data yang kita inginkan.
2. Dekripsi Merupakan kebalikan dari proses enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi.
3. Kunci Kuci adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).
Algoritma kriptografi tersebut harus memiliki kekuatan untuk melakukannya (Ariyus, 2008, Hal.14) :
1. Konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
2. Difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang sehingga dapat digunakan untuk mengamankan informasi.
2.3.4. Sistem Kriptografi
Sistem kriptografi atau cryptosystem adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext dan kunci (Sadikin, 2012, Hal.1). Encryption dan decryption umumnya membutuhkan penggunaan sejumlah informasi yang rahasia, yang sering disebut kunci (key). Mekanisme enkripsi, kunci yang sama digunakan untuk enkripsi dan dekripsi, sementara beberapa mekanisme lain, kunci yang digunakan berbeda pada saat enkripsi dan pada saat Sistem kriptografi atau cryptosystem adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext dan kunci (Sadikin, 2012, Hal.1). Encryption dan decryption umumnya membutuhkan penggunaan sejumlah informasi yang rahasia, yang sering disebut kunci (key). Mekanisme enkripsi, kunci yang sama digunakan untuk enkripsi dan dekripsi, sementara beberapa mekanisme lain, kunci yang digunakan berbeda pada saat enkripsi dan pada saat
1. Plaintext
Pesan atau data dalam bentuk adlinya yang dapat terbaca, Plaintext ada- lah masukan bagi algoritma engkripsi. Untuk selanjutnya digunakan istilah teks asli sebagi padanan kata plaintext.
2. Secret Key Secret key yang juga merupakan amsukan bagi algoritma engkripsi
merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. Untuk selanjutnya istilah kunci rahasia padanana kata secret key.
3. Ciphertext Ciphertext adalah keluaran algoritma engkripsi. Ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. Untuk selanjutnya digunakan istilah teks sandi sebagai padanan kata ciphertext.
4. Algoritma Enkripsi Algoritma engkripsi memiliki 2 masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi, dan teks enkripsi yang dari proses aritmatika rumus sendiri.
5. Algoritma Dekripsi Algoritma Dekripsi memiliki 2 masukan yaitu teks asli dan kuci rahasia. Algoritma deskripsi memulihkan kembali teks asli bila kunci rahasia.
2.3.4.1 Algoritma Kriptografi Simetris
Algoritma kriptografi simetris (symmetric algorithms) atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses dekripsi (Sadikin, 2012, Hal.13). Proses enkripsi-dekripsi pada algoritma kriptografi simetris dapat seperti gambar berikut:
Gambar 2.1 : Skema Algoritma Simetri Gambar 2.1 : Skema Algoritma Simetri Gambar 2.1 : Skema Algoritma Simetri Sumber: Sadikin, 2012, Hal.13 Sumber: Sadikin, 2012, Hal.13 Sumber: Sadikin, 2012, Hal.13
Keterangan : A = pengirim pesan Keterangan : A = pengirim pesan Keterangan : A = pengirim pesan
B = penerima pesan B = penerima pesan B = penerima pesan = proses perjalanan pesan = proses perjalanan pesan = proses perjalanan pesan
Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphers dan Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphers dan Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphers dan stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Pada block menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Pada block menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Pada block ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan stream-cipher (algoritma sandi yang mengenkripsi data). stream-cipher (algoritma sandi yang mengenkripsi data). stream-cipher (algoritma sandi yang mengenkripsi data).
2.3.4.2 Algoritma Kriptografi Asimetris 2.3.4.2 Algoritma Kriptografi Asimetris 2.3.4.2 Algoritma Kriptografi Asimetris
Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi- kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi- kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi- dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut : dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut : dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut :
Gambar 2.2 : Skema Algoritma Asimetri Sumber: Sadikin, 2012, Hal.14
Keterangan : A = pengirim pesan
B = penerima pesan = proses perjalanan pesan Algoritma kriptografi kunci terbagi menjadi dua bagian, yaitu kunci publik dan kunci pribadi. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.
2.4 Algoritma Hil Chiper
Hill cipher diciptakan oleh Lester S. Hill pada tahun 1929.Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill cipher tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya. Hill cipher adalah kriptografi simetris biasa juga disebut kode hill merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi (Sadikin, 2012, Hal.33).
Hill cipher merupakan salah satu algoritma kriptografi kunci simetris. Algoritma hill cipher menggunakan matriks berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam hill cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks. Hill cipher seperti polyalphabetic cipher dapat dikategorikan sebagai block cipher karena teks yang akan diproses akan dibagi menjadi blokblok dengan ukuran tertentu. Setiap karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula disinilah kelebihan dari algoritma hill chiper dalam proses mengamankan pesan untuk diamankan yang dilakukan pada saat proses aritmatika, seperti gambar berikut :
KOM I KOM II
Enc(P ---P )=K(P1---Pm) T Mod 26 Dec(c ,,,c )=K(c1---cm) 1 T m 1 m Mod 26
Gambar 2.3 : Proses Hill Chiper Sumber : Sadikin, 2012, Hal.33
Termasuk kepada algoritma kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila dilakukan hanya dengan mengetahui berkas ciphertext saja. Namun, teknik ini dapat dipecahkan dengan cukup mudah apabila kriptanalis memiliki berkas ciphertext dan potongan berkas plaintext. Teknik kriptanalisis ini disebut known-plaintext attack (Sadikin, 2012, Hal.34).
2.4.1 Pengenkripsian Hill Cipher
Langkah-langkah untuk proses enkripsi plaintext dengan hill cipher (Sadikin, 2012, Hal.34), adalah sebagai berikut:
1. Pilih suatu matriks kunci K yang berupa matriks bujur sangkar sebagai kunci.
2. Transformasikan tiap huruf dalam teks ke angka dengan sesuai (A = 0; B = 1;---; Z = 25).
3. Kelompokkan barisan angka ke dalam beberapa blok vektor P yang panjangnya sama dengan ukuran matriks K.
4. Hitung C = K . P (mod 26) untuk tiap vektor P.
5. Kembalikan tiap angka dalam vektor sandi C ke huruf yang sesuai untuk mendapatkan teks sandi. Bagian berikut akan menjelaskan enkripsi dengan hill cipher dengan memberikan contoh. Hill cipher menggunakan matriks untuk mentransformasikan string plaintext menjadi ciphertext.
Contoh : Enkripsi teks sandi jika di berikan teks asli MATAHARI dengan hill chiper dengan kunci K=[4 3 ; 3 3] atau DCCC mod 26 ? Jawab : Karena K berukuran 2 x 2 maka mengengkripsikan hill chiper teks asli 2 karakter, sebelum penyelesaian ubah teks asli menjadi bilangan bulat yaitu [ 12 0 19 0;7 0 17 8] enkripsi dilakukan dengan membentuk vektor 4 x 1 dari 2 karakter pada teks asli secara berurutan. Untuk karakter ke 1 dan ke 2 dapat dihitung sebagai berikut :
c8 3 4 8 75 23 Maka hasil chipertext dari MATAHARI atau [ 12 0 19 0;7 0 17 8] adalah
WKYFCVOX atau [22 10 24 5;2 21 14 23]. Setelah mendapatkan chipertext maka selanjutnya mencari deskripsi hill chiper, sebelum mencari hill chiper maka haruslah mencari kunci sebagai pembuka deskripsi hill chiper, kunci di cari dengan cara matriks invers yaitu kebalikan dari matriks kunci dan invers matriks, bila ordo matriks menggunakan ordo 2 maka deskripsi juga menggukan ordo 2 begitu seturusnya sampai mendapatkan deskripsi hill chiper. Bila mengenkripsikan kalimat yang panjang yang memiliki karakter lebih dari 26 yang telah di tentukan maka untuk menggantikan karakter-karakter yang tidak terdaftar didalam tabel harus dengan karakter didalam tabel misal karakter spasi maka di ganti dengan x , contoh : SAYA SIBUK , maka menjadi : SAYAXSIBUK .
2.4.2 Pendekripsian Hill Cipher
Algoritma proses pendekripsian hill cipher dapat diuraikan dalam bentuk langkah-langkah (Sadikin, 2012, Hal.36), sebagai berikut:
1. Hitung matriks K 1( mod 26) sebagai kunci pembuka.
2. Lakukan langkah-langkah 2 5 pada enkripsi dengan mengganti:
(a) Matriks K dengan matriks K . (b) Blok vektor teks asli P dengan blok vektor sandi C dan sebaliknya.
Contoh: Deskripsi chipertext WKYFCVOX atau [22 10 24 5;2 21 14 23] dengan hill chiper dengan kunci K=[4 3;3 3] atau DCCC mod26?
Jawab : matriks K mod 26) matriks determinan adalah adalah : Matriks K dengan matriks K 1 :
3 3 = det k = ( 4 ∗ 3) − ( 3 ∗ 3) = 3 3 4
Invers modulo :
3 -1 mod 26 ---->3x=1 mod 26, x=1 mod 26 ----> 3x=1 + 26k ---->x= (1+26k)/3
cari k=n sehingga hasil x adalah bilangan bulat. k=0----> x=(1+26*0)/3= 1/3 (bukan bilangan bulat) k=1----->x=(1+26*1)/3= 9 (bilangan bulat), stop. sehingga invers dari 3 mod 26 ekuivalen dengan 9 mod 26 yaitu 9.
ab d −b Misal K
maka K −1 = deter minan
cd −c a Setiap bilangan yang bernilai negative ditambah 26 agar nilai tetap positif, ini digunakan karena bilangan 0 25.
1 − 25 Sehingga K −13−3 =
mod 26 =
−3 4 − 27 36 − 25 10 Setelah dimod 26 maka hasilnya adalah matriks identitas, hal ini
membuktikan bahwamatriks K saling invers dengan K -1 . Selanjutnya lakukan peroses dekripsi dengan mengalikanmatriks K -1 dengan ciphertext yang telah
didapat sebelumnya. Tahap selanjutnya pada proses dekripsi yang akan dilakukan pada proses pembalikkan ke plaintext (teks asli), dimana sebelumnya telah terjadi enkripsi teks tersebut. Maka untuk proses dekripsinya antara lain sebagai berikut :
12 WK
D1 1 25 22 272
mod 26 =
D2 25 10 10 650
8 Maka hasil plaintext adalah MATAHARI atau [ 12 0 19 0;7 0 17 8]. Dapat dilihat diatas bahwa hasil deskripsi chipertext menghasilkan plaintext yang menandakan pengerjaan diatas sudah benar.
D6 25 10 23 580
2.5 Algoritma Pencarian String
Pencocokan string merupakan bagian penting dari sebuah proses pencarian string (string searching) dalam sebuah dokumen. Hasil dari pencarian sebuah string dalam dokumen tergantung dari teknik atau cara pencocokan string yang digunakan. Untuk mengetahu isi dokumen yang benar sesuai dengan kebutuhan informasi, diperlukan metode pencarian string (string searching) isi dokumen yang bagus. Proses pencocokan string (string matching) yang merupakan bagian utama dalam proses pencarian string memegang peranan penting untuk mendapatkan dokumen yang sesuai dengan kebutuhan informasi tersebut (Mesran, 2014, Vol.III).
Pencocokkan string merupakan permasalahan paling sederhana dari semua permasalahan string dan dianggap sebagai bagian dari pemrosesan data, pengkompresian data, analisis leksikal, dan temu balik informasi. Teknik untuk menyelesaikan permasalahan pencocokkan string biasanya akan menghasilkan implikasi langsung ke aplikasi string lainnya (Ginting, 2014, Vol: III).
String matching adalah proses pencarian semua kemunculan query yang selanjutnya disebut pattern ke dalam string yang lebih panjang atau teks sehingga teks berjumpa (Mesran, 2014, Vol.III).Penyelesaian string matching yatu:
x = x[0 m-1] y = y[0 n-1]
Dimana : x adalah pattern Dimana : x adalah pattern
Kedua string terdiri dari sekumpulan karakter yang disebut alfabet yang dilambangkan dengan (sigma) dan mempunyai ukuran (tao). String matching dibagi menjadi dua, yakni exact matching dan heuristic atau statistical matching. Exact Matching digunakan untuk menemukan pattern yang berasal dari satu teks. Contoh pencarian exact matching adalah pencarian kata pelajar dalam kalimat
saya seorang pelajar atau saya seorang siswa . Sistem akan memberikan hasil bahwa kalimat pertama mengandung kata pelajar sedangkan kalimat kedua tidak, meskipun kenyataannya pelajar dan siswa adalah kata yang bersinonim. Algoritma string matching diklasifikasi menjadi tiga bagian menurut arah pencariannya (Mesran, 2014, Vol.III), yaitu:
1. Arah pembacaan dari kiri ke kanan. Algoritma yang termasuk kategori ini adalah Brute Force Morris dan Pratt
(yang kemudian dikembangkan oleh Knuth, Morris, dan Pratt).
2. Arah pembacaan dari kanan ke kiri. Algoritma yang termasuk kategori ini adalah boyer dan moore yang kemudian dikembangkan menjadi algoritma turbo boyer moore, tuned boyer moore, dan Zhu-Takaoka.
2.6 Algortima Boyer Moore
Algoritma boyer moore menjadikan dalam pencarian lebih cepat dibandingkan algoritma-algoritma pencocokkan kata lainnya. Dan juga banyak dikembangkan algoritma pencocokkan kata dengan bertumpu pada konsep algoritma boyer moore , seperti algoritma quick search. Konsep algoritma boyer moore adalah preprocessing, right to left scan, bad character shift, good suffix shift . Langkah awal dari algoritma boyer moore mencocokkan pattern dimulai dari awal teks dengan pergeseran window dari kiri ke kanan dan melakukan perbandingan karakter dari kanan pattern . Apabila terjadi ketidakcocokan (mismatch) karakter maka dilakukan pergeseran. Algoritma boyer moore diciptakan oleh R.M Boyer dan J.S Moore pada tahun 1977. Algoritma ini Algoritma boyer moore menjadikan dalam pencarian lebih cepat dibandingkan algoritma-algoritma pencocokkan kata lainnya. Dan juga banyak dikembangkan algoritma pencocokkan kata dengan bertumpu pada konsep algoritma boyer moore , seperti algoritma quick search. Konsep algoritma boyer moore adalah preprocessing, right to left scan, bad character shift, good suffix shift . Langkah awal dari algoritma boyer moore mencocokkan pattern dimulai dari awal teks dengan pergeseran window dari kiri ke kanan dan melakukan perbandingan karakter dari kanan pattern . Apabila terjadi ketidakcocokan (mismatch) karakter maka dilakukan pergeseran. Algoritma boyer moore diciptakan oleh R.M Boyer dan J.S Moore pada tahun 1977. Algoritma ini
Algoritma booyer moore banyak diterapkan terhadap proses pencarian. Fasilitas find/search pada berbagai aplikasi pengolah teks, web browser, dan aplikasi lainnya mungkin saja telah memanfaatkan algoritma boyer moore dalam pencarian tersebut, karena algoritma boyer moore paling banyak diimplementasikan dalam berbagai aplikasi untuk fasilitas pencarian teksnya walaupun sebenarnya pencarian yang dilakukan dapat berupa pencarian terhadap teks, dokumen, atau juga file yaitu dengan melakukan pencocokan string antara kata kunci dengan objek yang dicari atau terhadap kata dengan mengacu pada sebuah database leksikal (Ginting, 2014, Vol.III ). Dengan cara kerja: