4 2.1 Kriptografi
Perkembangan teknologi sangat pesat khususnya internet, dimana dalam pemanfaatannya sangat besar bagi manusia, diantaranya dalam hal pengiriman informasi seperti pesan, suara, gambar, dll. Dalam hal pengiriman pesan melalui internet, Pesan sangat besar di gunakan oleh manusia. Penggunaan Pesan yang mudah untuk hal pertukaran informasi tidak dapat mnejamin suatu kerahasiaan dan integritas dari pesan yang di kirim oleh pengguna. Hal tersebut dapat terjadi karena pemanfaatan Pesan menggunakan media public yaitu internet yang penggunaannya dapat diakses oleh siapa saja. Sehingga diperlukan sebuah sistem untuk menjaga kerahasiaan terhadap pesan Pesan tersebut supaya tidak mudah di ketahui atau dibaca oleh orang yang tidak berhak.
Kriptografi adalah ilmu pengetahuan untuk memproteksi pengiriman data dengan mengubahnya menjadi kode tertentu dan hanya ditujukan kepada pengguna (user) yang hanya memiliki sebuah kunci untuk mengubah kode tersebut. Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi (encryption) adalah proses dimana informasi atau data yang hendak dikirim dan diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awal dengan menggunakan algoritma tertentu. Dekripsi (decryption) adalah kebalikan dari enkripsi (encryption) yaitu mengubah kembali bentuk informasi atau data tersamar tersebut menjadi informasi awal.
Algoritma kriptografi (cipher) dapat dibedakan menjadi dua macam, yaitu:
simetrik dan asimetrik.
Macam-Macam Algoritma Kriptografi 2.1.1 Algoritma Simetrik
Algoritma Simetrik (model enkripsi konvensional) adalah algoritma yang menggunakan satu kunci untuk proses enkripsi dan dekripsi data, contohnya adalah RC2, RC4, RC5, RC6, DES, Blowfish, GOST, AES dan lain lain.
Gambar 1. Kunci Simetrik
2.1.2 Algoritma Asimetrik
Algoritma asimetrik (model enkripsi kunci publik) menggunakan kunci yang berbeda dalam proses enkripsi dan dekripsi pesan, contoh dari algoritma ini adalah RSA, El Gamal. Berikut gambar kunci simetris dan gambar kunci asimetris :
Gambar 2. Kunci Asimetrik
2.2 Vigenere Cipher
Vigenere Cipher adalah suatu algoritma yang tergolong ke dalam algoritma subtitusi abjad majemuk. Ini artinya setiap huruf yang sama dalam plaintext tidak dipetakan atau disubtitusi oleh satu huruf. Melainkan di subtitusi oleh huruf yang berlainan bergantung dari kunci yang digunakan untuk melakukan enkripsi.
Algoritma ini menggunakan kunci simetrik untuk proses enkripsi dan dekripsinya, yang mana kunci yang digunakan untuk proses enkripsi sama dengan kunci yang digunakan untuk proses dekripsi. Algoritma ini ditemukan oleh diplomat sekaligus kriptologis dari Prancis, Blaise de Vigenere pada abad 16. Vigenere
Cipher dipublikasikan pada tahun 1856, tetapi algoritma ini baru dikenal luas 200 tahun kemudian. Vigenere Cipher sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujur sangkar Vigenere Cipher yang dapat dilihat pada tabel 1.
Kolom paling kiri menyatakan huruf-huruf kunci sedangkan baris paling atas menyatakan huruf-huruf plaintext. Setiap baris dalam bujursangkar menyatakan huruf-huruf ciphertext yang diperoleh dengan Caesar Cipher, yang mana jauh pergeseran huruf plaintext ditentukan nilai numerik huruf kunci tersebut (yaitu, a = 0, b = 1, c = 2, …, z = 25).
Bujursangkar Vigenere digunakan untuk memperoleh ciphertext dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari pada panjang plaintext, maka kunci diulang penggunaannya (sistem periodik).
Bila panjang kunci adalah m, maka periodenya dikatakan m.
Tabel 1. Bujursangkar Vigenere
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Untuk melakukan enkripsi dengan Vigenere Cipher, pada bujursangkar vigenere tarik garis vertikal dari huruf plaintext ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan kedua garis tersebut menyatakan huruf ciphertextnya. Secara matematis proses enkripsi dinyatakan dengan persamaan :
ci = (pi + kr) mod 26
keterangan : ci = cipherteks (hasil teks terenkripsi) pi = plainteks (teks asli) kr = kunci.
Sebagai contoh kalimat THIS PLAINTEXT akan dilakukan proses enkripsi dengan menggunakan kunci sony. Perhitungan huruf T dienkripsi dengan kunci s :
(T + s) mod 26 = (19 + 18) mod 26 = 11 = L
Hal sama dilakukan untuk semua huruf, sehingga dihasilkan : Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Cipherteks : LVVQ HZNGFHRVL
Dekripsi dilakukan dengan cara yang berkebalikan, yaitu menarik garis mendatar dari huruf kunci sampai ke huruf cipherteks yang dituju, lalu dari huruf cipherteks tarik garis vertikal ke atas sampai ke huruf plainteks. Secara matematis proses dekripsi dinyatakan dengan persamaan :
pi = (ci - kr) mod 26
keterangan :
ci = cipher teks (hasil teks terenkripsi) pi = plain teks (teks asli)
kr = kunci
Perhitungan huruf T didekripsi dengan kunci s sebagai : (L - s) mod 26 = (11 - 18) mod 26 = 19 = T
2.3 Email 2.3.1 Pengertian
Email adalah suatu sarana untuk mengirim dan menerima surat atau pesan dengan format digital melalui jalur jaringan komputer dan internet. Pesan digital atau surat elektronik tersebut dapat dibuat dan dikirim ke alamat email lainnya
dengan menggunakan komputer atau laptop dan gadget lainnya, seperti smartphone dan tablet yang terhubung dengan internet
.
2.3.2 Manfaat
Kegunaan email yang paling umum adalah untuk mengirim dan menerima email dari orang lain di manapun mereka berada. Pesan tersebut dapat terkirim ke tujuan dalam waktu yang sangat cepat, bahkan dalam hitungan detik saja. Namun, tentu saja kecepatan tersebut dipengaruhi oleh kecepatan internet, baik si pengirim atau si penerima email. Email juga dapat mengirimkan berbagai jenis file dan dokumen digital dengan ukuran tertentu, baik itu foto, video, teks, dan lain-lain
.
2.4 Enkripsi
Enkripsi merupakan bagian dari kriptografi yang digunakan untuk merubah suatu pesan atau informasi menjadi sandi- sandi yang bersifat rahasia. Enkripsi juga dapat diartikan sebagai cipher atau kode. Secara matematis, enkripsi dapat dituliskan sebagai berikut :
EK (M) = C (Proses Enkripsi)
Ketika proses enkripsi dilakukan, pesan M disandikan menggunakan kunci K kemudian menghasilkan pesan C. Pesan M dapat disebut sebagai plaintext sedangkan pesan C dapat disebut sebagai ciphertext. Penyandian pesan atau informasi yang dilakukan menggunakan kunci, yang menjadikan pesan atau informasi tadi dapat dibaca. Tujuan dari enkripsi adalah untuk menyembunyikan pesan atau informasi dari pihak yang tidak berhak.
2.5 Dekripsi
Dekripsi merupakan kebalikan dari enkripsi. Dekripsi digunakan untuk mengembalikan sandi-sandi atau informasi yang telah diacak menjadi bentuk yang asli dengan menggunakan kunci yang sama untuk proses enkripsi.
Secara matematis, dekripsi dapat dituliskan sebagai berikut : DK (C) = M (Proses Dekripsi)
Ketika proses dekripsi dilakukan, pesan C yang merupakan ciphertext diuraikan dengan menggunakan kunci K sehingga menghasilkan pesan M yang berupa plaintext. Tujuan dari dekripsi adalah untuk mengembalikan pesan atau informasi kebentuk yang dapat dibaca sesusai pesan atau informasi yang sebenarnya.
2.6 Jaringan LAN dan Internet 2.6.1 Jaringan LAN
Local Area Network atau jaringan LAN adalah sebuah jaringan komputer yang mempunyai cakupan wilayah jaringan yang sangat kecil. Cakupan wilayah jaringan lokal hanya meliputi jaringan kantor, jaringan lab komputer, jaringan di sekolah, jaringan di kampus, jaringan dirumah atau hanya satu gedung saja.
Jaringan LAN biasanya akan menghubungkan beberapa komputer dalam satu wilayah yang jaraknya berdekatan, misalnya komputer yang ada di ruang tata usaha dengan komputer yang ada di ruang kepala sekolah, atau menghubungkan beberapa komputer dalam 1 laboratorium sehingga perpindahan dan pertukaran data dapat dilakukan dengan cepat dan mudah.
2.6.2 Internet
Internet adalah suatu jaringan komunikasi yang menghubungkan satu media elektronik dengan media elektronik lainnya. Standar teknologi pendukung yang dipakai secara global adalah Transmission Control Protocol atau Internet Protocol Suite (TCP/IP). TCP/IP ini merupakan protocol pertukaran paket (Switching Communication Protocol) yang bisa digunakan untuk miliaran lebih pengguna yang ada di dunia.
2.6.3 Fungsi dan Manfaat
Fungsi Internet ada berbagai macam dalam kehidupan, yaitu : 1. Memudahkan untuk mengakses informasi.
2. Memudahkan berkomunikasi.
Dengan internet komunikasi dapat dilakukan lebih mudah dengan menggunakan media elektronik seprti handphone, komputer dan lainnya.
3. Memudahkan pekerjaan
Dengan adanya internet dapat memudahkan pekerjaan karena memiliki sistem yang berhubungan satu sama lain.
Selain itu manfaat dari internet terhadap kehidupan, yaitu : 1. Untuk belajar
Internet dengan metode belajar online memudahkan siswa maupun mahasiswa dalam berinteraksi dan mempelajari pelajaran yang diinginkan secara otodidak.
2. Sebagai sarana hiburan
Dalam keuntungan mencari informasi secara cepat, sering kali internet digunakan untuk mencari hiburan seperti, youtube, dan lainnya.
2.7 Steganografi
Steganografi berasal dari bahasa yunani yang terbentuk dari kata steganos dan graphia. Steganos memiliki arti tersembunyi dan graphia memiliki arti tulisan, maka dapat disimpulkan bahwa steganografi merupakan ilmu atau seni untuk menyembunyikan pesan (Anwar, 2017). Tujuan mengapa sebuah pesan dimasukan ke dalam sebuah media penampung adalah agar pesan tersebut tidak dapat dibaca atau diketahui oleh pihak lain selain pihak yang menulis pesan tersebut dan pihak yang menerima pesan tersebut. Metode steganografi akan membahas bagaimana cara menyembunyikan sebuah pesan kedalam sebuah media penampung.
Perkembangan metode steganografi pada saat ini dapat digunakan dalam berbagai hal. Contohnya adalah pengunaan watermarking pada dokumendokumen penting.
Beberapa faktor yang harus diperhatikan dalam steganigrafi (Anwar, 2017), yaitu:
1. Imperceptibility. Keberadaan pesan rahasia tidak dapat dipersepsi oleh inderawi. Misalnya, jika covertext berupa citra digital , maka penyisipan pesan membuat citra stegotext sukar dibedakan oleh mata dengan citra digital covertext-nya. Jika covertext berupa audio, maka indera telinga tidak dapat mendeteksi perubahan pada audio stegotextnya.
2. Fidelity. Mutu tidak berubah banyak akibat penyisipan. Perubahan tersebut tidak dapat dipersepsi oleh inderawi. Misalnya, jika covertext berupa citra, maka penyisipan pesan membuat citra stegotext sukar dibedakan oleh mata dengan citra covertextnya. Jika covertext berupa audio, maka audio stegotext tidak rusak dan indera telinga tidak dapat mendeteksi perubahan tersebut.
3. Recovery. Pesan yang disembunyikan harus dapat diungkapkan kembali.
Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu pesan rahasia di dalam stegotext harus dapat diambil kembali untuk digunakan lebih lanjut.
2.7.1 Citra Digital
Secara harafiah, citra (image) adalah gambar pada bidang dua dimensi (dwimatra). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut.Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamer. Pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. Citra digital merupakan citra yang dapat diolah oleh komputer yang terdiri atas kumpulan dari pixel. Didalam setiap pixel yang ada dicitra digital terdapat kumpulan ‘0’ dan ‘1’. Berikut merupakan beberapa format citra digital, antara lain : jpeg,gif,png,bmp. Pada penulisan ini format citra digital yang dipakai sebagai cover image dan stego image adalah : jpeg,bmp,dan png. PNG (Portable Network Graphics) adalah salah satu format penyimpanan citra yang menggunakan metode pemadatan yang tidak menghilangkan bagian dari citra tersebut (Inggris lossless compression). Untuk keperluan pengolahan citra, meskipun format PNG bisa dijadikan alternatif selama proses pengolahan citra, karena format ini selain tidak menghilangkan bagian dari citra yang sedang diolah (sehingga penyimpanan berulang ulang dari citra tidak akan menurunkan kualitas citra) PNG (Format berkas grafik yang didukung oleh beberapa web browser. PNG mendukung transparansi gambar seperti GIF, berkas
PNG bebas paten dan merupakan gambar bitmap yang terkompresi. Gambaran dari citra digital dapat dimisalkan seperti melukis, dimana kita harus meliliki palet warna dan kanvas sebagai media penampung untuk warna yang akan di taruh.
Dimana palet merupakan kumpulan dari warna yang akan menghasilkan sebuah citra dan setiap palet warna tersebut diberi nomor. Lalu warna dari palet tersebut akan dilukiskan ke sebuah kanvas. Kanvas dimisalkan berupa matriks yang setiap elemen dari matriks tersebut dapat diisi dengan setiap warna yang ada pada palet warna. Kumpulan angka (mewakili warna) dalam bentuk matriks inilah yang disebut dengan citra (Anwar, 2017). Sementara kumpulan informasi mengenai setiap warna yang berada dipalet warna disimpan didalam komputer melalui aplikasi untuk membuka citra seperti photosop dan paint.
2.8 PHP
Menurut Rohi Abdulloh (2018) PHP merupakan singkatan dari Hypertext preprocessor yang merupakan server-side programming , yaitu bahasa pemrograman yang diproses di sisi server. Fungsi Utama PHP dalam membangun website adalah untuk melakukan pengolahan data pada database . Data website akan dimasukkan ke database, diedit, dihapus, dan ditampilkan pada website yang diatur oleh PHP.
2.9 Bootstrap
Menurut Husein Alatas, (2015) Bootstrap merupakan framework untuk membangun desain web secara responsif. Artinya, tampilan web yang dibuat oleh bootstrap akan menyesuaikan ukuran layer dan browser yang kita gunakan baik di desktop, tablet ataupun mobile device. Dengan bootstrap kita juga bisa membangun web dinamis ataupun statis.
Bootstrap diciptakan oleh dua orang programmer di Twitter, yaitu Mark Otto dan Jacob Thornton pada tahun 2011. Pada saat itu para programmer di Twitter menggunakan berbagai macam tool dan library yang mereka kenal dan suka untuk melaksanakan pekerjaan mereka, sehinggat tidak ada standarisasi dan akibatnya sulit untuk dikelola, sehingga Mark Otto dan Jacob Thornton tergerak
untuk menciptakan satu tool ataupun framework yang dapat digunakan bersama di lingkungan internal Twitter. Pada Januari 2012, Bootstrap merelease versi 2.0 yang didalamnya sudah memasukkan fitur responsive layout. Sejak itu, popularitas Bootstrap tak tertahankan lagi dan sampai buku ini ditulis, Bootstrap merupakan project GitHub yang paling banyak dilihat dengan lebih dari 54.000 user dan juga yang paling banyak di copy (forked) yaitu sekitar 18.500 kali.
3.0 End Of File
Metode End of File (EOF) merupakan salah satu teknik yang menyisipkan data pada akhir file. Teknik ini dapat digunakan untuk menyisipkan data yang ukurannya sama dengan ukuran file sebelum disisipkan data ditambah dengan ukuran data yang disisipkan kedalam file tersebut. Dalam teknik EOF, data yang disisipkan pada akhir file diberi tanda khusus sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut. Metode EOF merupakan sebuah metode yang diadaptasi dari metode penanda akhir file (end of file) yang digunakan oleh sistem operasi windows. Dalam sistem operasi windows, jika ditemukan penanda EOF pada sebuah file, maka sistem akan berhenti melakukan pembacaan pada file tersebut. Prinsip kerja EOF menggunakan karakter/simbol khusus yang diberikan pada setiap akhir file. Karakter/simbol ini biasanya digunakan pada sistem operasi DOS untuk menandakan akhir dari sebuah penginputan data. Dengan berkembangnya sistem operasi windows, penggunaan karakter seperti ini dikembangkan untuk menandakan akhir dari sebuah file.
Metode End Of File(EOF) dengan Least Significant Bit (LSB) tidak begitu banyak perbedaan dalam alur algoritmanya, namun terdapat perbedaan yaitu pada pesan yang disisipi dan output. Pada metode LSB, pesan yang disisipi ukurannya harus lebih kecil dari citra yang akan disisipi, tetapi lain halnya pada metode EOF ukuran pesan yang akan disisipi bisa lebih besar dari ukuran citranya.
Pada metode LSB citra yang telah disisipi pesan (hidden text)tidak terlalu mempengaruhi ukuran citranya, tetapi akan mempengaruhi kualitas citranya.
Sedangkan pada metode EOF, kualitas citra setelah disisipi pesan tidak berubah, tetapi akan mengubah ukuran citranya.