Skripsi - 21110886-Dedi Koswara-STMIK-MArdira Indonesia - BAB II (Landasan Teori)

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 28

BAB II

LANDASAN TEORI

2.1 Kriptografi
Kata kriptografi berasal dari bahasa Yunani, kryptos (tersembunyi) dan

graphein (tulisan) yang artinya tulisan yang tersembunyi. Kriptografi merupakan

suatu ilmu yang mempelajari tentang bagaimana merahasiakan suatu informasi

penting kedalam suatu bentuk yang tidak dapat dibaca (ciphertext) menggunakan

sebuah metode atau teknik-teknik formula matematis serta mengembalikannya

kembali menjadi informasi semula (plaintext) sehingga informasi tersebut tidak

dapat diketahui oleh pihak manapun yang bukan pemilik atau yang tidak

berkepentingan. Tujuan akhir atau goal yang hendak dicapai dari pengaplikasian

kriptografi ialah membentuk sebuah informasi yang samar atau tidak dapat

dimengerti oleh orang awam yaitu berupa pesan seperti teks, suara, gambar dan

video yang teracak atau cipher. Menurut Mollin, sistem kriptografi (Cryptosystem)

adalah kumpulan dari fungsi enkripsi dan dekripsi yang berkoresponden terhadap

kunci enkripsi dan dekripsi (Mollin, 2007).

Secara global, kriptografi terdiri atas dua unsur penting/utama yaitu bagian

Enkripsi dan bagian Dekripsi. Enkripsi adalah proses mengubah

informasi/data/pesan yang dapat berupa teks, audio, gambar ataupun video yang

kita sebut plaintext menjadi bentuk lain (cipher) yang tidak dapat dipahami atau

dimengerti oleh pihak manapun selain pengguna yang memiliki sistem dan kunci

atas algoritma enkripsi tersebut, hal ini dimaksudkan agar informasi tetap

terlindungi dari pihak yang tidak berhak menerima. Sedangkan Dekripsi adalah
17

proses kebalikan dari Enkripsi, yaitu mengubah/transformasi data/informasi/pesan

menjadi data/pesan/informasi semula (plaintext).

Tujuan lainnya dari kriptografi adalah untuk memberikan layanan

keamanan, yaitu:

a. Kerahasian pesan informasi (Confidentiality) dilakukan dengan

menyembunyikan informasi dari segala aspek yang tidak berhak.

b. Keutuhan informasi (Data Integrity) adalah aspek yang berhubungan dengan

jaminan penjagaan dari perubahan informasi secara tidak sah selama

pengiriman. Sistem harus mampu mendeteksi terhadap manipulasi data dan

informasi dari pihak yang tak berhak terhadap data dan informasi tersebut yang

diantaranya mendeteksi penyisipan (insertion), penghapusan (deletion), dan

dan manipulasi data lainnya kedalam data yang sebenarnya.

c. Keaslian informasi (Authentication) kejelasan identitas semua entitas yang

terkait serta identifikasi pihak-pihak yang terlibat dalam pengiriman

data/informasi.

d. Tidak ada penolakan (Non-Repudiation) setiap entitas saling berhubungan dan

tidak ada penolakan atau membantah data yang dikirim atau diperoleh.

Dalam kriptografi juga terdapat istilah-istilah sebagai berikut:

 Plaintext (M) adalah pesan asli yang akan dikirimkan (berisi data asli).

 Ciphertext (C) adalah pesan yang terenkripsi dengan teknik algoritma tertentu

yang merupakan hasil dari proses enkripsi.


18

 Enkripsi (fungsi E) adalah proses mentransformasi plaintext menjadi

ciphertext dengan teknik dan algoritma tertentu.

 Dekripsi (fungsi D) adalah proses mengubah ciphertext menjadi plaintext

sehingga menjadi data semula/asli.

 Kunci (K) adalah suatu digit angka desimal (0-9) yang dirahasiakan yang

digunakan dalam proses enkripsi dan dekripsi.

Berikut ini adalah gambaran mekanisme kerja dalam kriptografi untuk proses

Enkripsi (mengubah plaintext menjadi ciphertext) dan Dekripsi (mengubah

ciphertext kembali menjadi plaintext teks orisinil).

Enkripsi Dekripsi

Kunci Enkripsi Kunci Dekripsi

Gambar 2. 1 Proses Enkripsi dan Dekripsi

Sistem kriptografi yang baik seharusnya tahan terhadap serangan analisis

sandi. Analisis sandi atau juga dikenal dengan istilah Cryptanalysis merupakan

ilmu yang mempelajari tentang cara menganalisa dan memecahkan sebuah teks

sandi (ciphertext) dengan metode/teknik-teknik matematis tertentu sehingga akan

didapat pola, kunci rahasia serta teks aslinya. Apabila terdapat ciphertext dapat

berubah menjadi plaintext dengan menggunakan kunci yg benar maka proses

tersebut dinamakan breaking code sedangkan yang melakukannya adalah

cryptanalyst.
19

2.2 Kriptografi Klasik dan Kriptografi Modern


Menurut (Munir, 2019) Kriptografi memiliki dua jenis yaitu kriptografi klasik

dan kriptografi modern. Dalam kriptografi klasik, terdapat beberapa teknik

diantaranya substitusi dan transposisi. Di dalam teknik substitusi juga dibagi

menjadi beberapa macam diantaranya Caesar Cipher, Viginere Cipher, Hill Cipher.

1. Kriptografi Klasik

Pada algoritma kriptografi klasik ini teknik yang digunakan menggunakan

teknik substitusi dan permutasi dengan mengubah tiap karakter pada pesan asli

dengan karakter lain yang sudah digeser beberapa urutan baik ke kanan ataupun

kekiri sehingga pesan asli menjadi tersamarkan. Pesan yang sama bila dienkripsi

dengan menggunakan kunci yang berbeda pada algoritma yang sama akan

menghasilkan pesan rahasia yang berbeda pula. Proses persandian dilakukan pada

setiap karakter pesan. Semua algoritma klasik termasuk ke dalam sistem kriptografi

simetris dan digunakan jauh sebelum ada komputer dan digunakan jauh sebelum

sistem kriptografi publik ditemukan (Mollin, 2007).

Kriptografi klasik dibagi menjadi dua yaitu Cipher Substitusi (Substitution

Ciphers) dan Transposisi Cipher (Transposition ciphers) (Sadikin, 2012).

a. Cipher Substitusi (Substitution Ciphers)

Algoritma kriptografi yang menggunakan operasi substitusi pada

formulanya disebut dengan sistem substitusi (penggantian). Prinsip

utama cipher substitusi ialah mengganti setiap karakter pada pesan asli

dengan karakter/huruf yang lain. Kriptografi yang menggunakan sistem


20

substitusi diantaranya adalah Shift Cipher (Caesar Cipher), Vigenère

Cipher dan Hill Cipher (Sadikin, 2012).

b. Transposisi Cipher (Transposition ciphers)

Cipher transposisi adalah mengubah urutan huruf plaintext atau

melakukan transpose terhadap rangkaian karakter (Setyaningsih, 2015).

Algoritma ini melakukan transposisi terhadap rangkaian karakter di

dalam teks. Pada Cipher transposisi huruf demi huruf pada plaintext tetap

sama hanya urutannya saja yang dirubah. Cipher Transposisi dapat

dikelompokkan ke dalam dua jenis yaitu sandi transposisi columnar dan

sandi permutasi (Sadikin, 2012). Salah satu contoh algoritma cipher ini

ialah Rail Fence

2. Kriptografi Modern

Algoritma kriptografi modern umumnya beroperasi dalam mode bit. Operasi

dalam mode bit berarti semua data dan informasi (baik kunci, plaintext maupun

ciphertext) dinyatakan dalam rangkaian (string) bit biner 0 dan 1. Algoritma

kriptografi modern dibuat secara kompleks sehingga kriptanalis akan kesulitan

untuk memecahkan ciphertext tanpa mengetahui kunci (Munir, 2006).

Perkembangan algoritma kriptografi modern yang berbasis bit ini didorong oleh

penggunaan komputer digital yang merepresentasikan data dalam bentuk biner

(angka 0 dan 1). Hal ini sangat berguna untuk melindungi confidentiality, data

integrity, authentication, dan non-repudiation. Perkembangan algoritma kriptografi

modern berbasis bit didorong oleh penggunaan komputer digital yang

merepresentasikan data dalam bentuk biner.


21

Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan

menjadi dua kategori (Munir, 2006).

a. Cipher aliran (stream cipher)

Algoritma kriptografi beroperasi pada plaintext atau ciphertext dalam

mode bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan atau

dideskripsikan bit per bit. Stream Cipher atau Stream Encryption merupakan

suatu teknik enkripsi dengan cara melakukan transformasi dari tiap bit secara

terpisah berdasarkan posisi tiap bit dalam aliran data yang biasanya

dikendalikan menggunakan operasi XOR. Enkripsi aliran ini merupakan hasil

dari operasi XOR setiap bit plaintext dengan setiap bit kuncinya. Pada stream

cipher bila terjadi kesalahan selama transisi maka kesalahan pada teks

enkripsi penerima akan terjadi tepat ditempat kesalahan tersebut terjadi.

b. Cipher blok (block cipher)

Algoritma kriptografi beroperasi pada plaintext dan ciphertext dalam

mode blok bit, yang mana rangkaian bit dibagi menjadi blok-blok bit yang

panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 128

bit, maka ini berarti algoritma untuk proses enkripsi memperlakukan 16

karakter setiap kali penyandian (1 karakter ASCII sama dengan 8 bit).

2.3 Algoritma Kriptografi


Algoritma kriptografi atau yang menghasilkan ciphertext adalah suatu fungsi

matematis yang digunakan untuk melakukan enkripsi dan dekripsi. Ada dua tipe

algoritma kriptografi berdasarkan kunci yang digunakan, yaitu algoritma kunci


22

simetris (symmetric algorithms) dan algoritma kunci asimetris (asymmetric

algorithms).

a. Algoritma Kunci Simetris

Algoritma Simetris (Symmetric Algorithms), disebut juga sebagai algoritma

konvensional dan semua teknik kriptografi. Algoritma simetris menggunakan

menggunakan kunci yang sama untuk proses enkripsi dan dekripsi nya. Penggunaan

kunci yang sama menjadikan kekuatan algoritma simetrik menjadi sangat lemah

dan mudah untuk ditembus oleh kriptanalis, karena proses dekripsi pada algoritma

simetrik juga menggunakan kunci yang sama dari proses enkripsi. Apabila

pengiriman atau distribusi kunci dilakukan secara aman, akan menjadikan

kesempatan kriptanalis semakin kecil untuk dapat memecahkan ciphertext menjadi

plaintext atau pesan asli nya.

plaintext
t
ciphertext

plaintext
t
Sumber: https://id.wikipedia.org/wiki/Kriptografi

Gambar 2. 2 Proses Enkripsi dan Dekripsi menggunakan kunci simetris

b. Algoritma Kunci Asimetris

Penggunaan kunci public (public key) merupakan ciri khas dari algoritma

asimetrik. Algoritma asimetris ialah pasangan kunci kriptografi yang salah satunya

digunakan untuk proses enkripsi dan satu lagi untuk mendeskripsikan pesan. Semua
23

orang yang memiliki kunci publik dapat menggunakannya untuk mengenkripsi

pesan menjadi ciphertext, sedangkan hanya satu orang saja yang memiliki kunci

rahasia itu (private key), untuk melakukan dekripsi terhadap pesan yang dikirim

untuknya. Contoh algoritma terkenal yang menggunakan kunci asimetris adalah

RSA (yaitu singkatan dari nama penemunya, Rivest, Shamir dan Adleman).

Berikut gambar untuk mengilustrasikan proses enkripsi dan dekripsi

menggunakan kunci publik dan kunci private yang digunakan pada algoritma

asimetris.

plaintext
t
ciphertext

plaintext
t
Sumber: https://id.wikipedia.org/wiki/Kriptografi

Gambar 2. 3 Proses Enkripsi dan Dekripsi menggunakan kunci asimetris

2.4 Caesar Cipher


Dalam kriptografi sandi Caesar atau Caesar Cipher adalah suatu satu teknik

enkripsi paling klasik, paling sederhana dan paling terkenal karena telah banyak

digunakan pada masa kerajaan untuk mengirimkan pesan rahasia. Sandi ini

termasuk sandi substitusi (Substitution Ciphers) dimana setiap huruf pada teks asli

(plaintext) dalam jajaran alfabet yang berjumlah 26 digantikan oleh huruf lain yang

memiliki selisih posisi tertentu dalam alfabet. Misalnya, jika menggunakan geseran
24

3, maka H akan menjadi K, E menjadi H, L menjadi O, dan O menjadi R sehingga

teks asli "HELLO" akan menjadi "KHOOR" pada teks tersandi (ciphertext). Nama

Caesar diambil dari seorang raja di masa Romawi kuno yakni Julius Caesar, yang

menggunakan sandi ini untuk berkomunikasi dengan para panglimanya.

Sumber: https://id.wikipedia.org/wiki/Sandi_Caesar

Gambar 2. 4 Proses pergeseran huruf dengan kunci 3

Cara kerja caesar cipher ini dapat digambarkan pada gambar dibawah ini

yaitu dengan menyandingkan dua set alfabet sebanyak 26, alfabet asli disusun

secara normal berurutan dan alfabet sandi digeser baik ke kanan ataupun ke kiri

sebanyak angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan

pergeseran/kunci 3, adalah sebagai berikut:

Sumber: https://id.wikipedia.org/wiki/Sandi_Caesar

Gambar 2. 5 Deret Alfabet asli dan digeser 3

Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak

disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk

memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah

pesan adalah sebagai berikut.


25

Sumber: https://id.wikipedia.org/wiki/Sandi_Caesar

Gambar 2. 6 Contoh plaintext dan ciphertext dengan kunci 3

Gambar 2. 7 Deret Mono alfabet

Proses enkripsi pada Caesar Cipher dapat direperesentasi kan menggunakan

operator aritmetika modulo 26 sesuai dengan urutan abjad dari A hingga Z dan

setiap huruf di transformasi kedalam angka decimal begitupun kunci K nya, yaitu:

A=0, B=1, C=3, …., Z=25. Maka secara matematis caesar chiper untuk

menyandikan/enkripsi plaintext P menjadi ciphertext C dengan kunci K dan proses

sebaliknya dekripsi dapat dirumuskan sebagai berikut:

Enkripsi: C => E(P) = (P + K) mod 26

Dekripsi: P => D© = (C – K) mod 26

dengan C adalah ciphertext, P adalah plaintext, K adalah kunci rahasia, E(P) adalah

enkripsi, dan D© adalah dekripsi.

Sebagai contoh kita ingin mengenkripsi/menyadikan huruf “INDONESIA”

menjadi sebuah Caesar Cipher dengan kunci 3 maka hasil ciphertext nya akan

menjadi “LQGRQHVLD” gambarannya adalah sebagai berikut:


26

Gambar 2. 8 Ilustrasi proses enkripsi Caesar Cipher

Adapun proses Enkripsi nya dapat dijelaskan sebagai berikut:

Plaintext (P): INDONESIA

Kunci (K): 3

1) Cek urutan nilai pada alfabet pada gambar 6, didapat: I=8, N=13, D=3,

O=14, N=13, E=4, S=18, I=8, A=0

2) Setelah itu lakukan perhitungan untuk membentuk karakter ciphertext

dgn Rumus: C = E(P) = (P + K) mod 26 pada tiap-tiap karakter tsb dan

cek pada gambar 6 alphabet dari nilai ciphertext yang dihasilkan

E(I) = (P + K) mod 26

= (8+3) mod 26 = 11 => L

E(N) = (P + K) mod 26

= (13+3) mod 26 = 16 => Q

E(D) = (P + K) mod 26

= (3+3) mod 26 = 6 => G

E(O) = (P + K) mod 26

= (14+3) mod 26 = 17 => R

E(E) = (P + K) mod 26
27

= (4+3) mod 26 = 7 => H

E(S) = (P + K) mod 26

= (18+3) mod 21 = 21 => V

E(A) = (P + K) mod 26

= (0+3) mod 26 = 3 => D

3) Hasil enkripsi adalah “LQGRQHVLD”.

Sedangkan untuk tahapan proses untuk mengubah ciphertext kembali

menjadi plaintext atau Dekripsi-nya dapat dijelaskan sebagai berikut:

Ciphertext (C) : LQGRQHVLD

Kunci (K) :3

1) Cek nilai/no urut alfabet pada gambar 6 dari karakter-karakter ter enkripsi

tersebut, didapat: L=11, Q=16, G=6, R=17, Q=16 ,H=7, V=21, L=11,

D=3

2) Kemudian lakukan perhitungan Dekripsi dengan Rumus = P = D(C) = (C

− K) mod 26. Jika hasilnya minus(-) maka harus ditambah 26 agar

nilainya positif (+) kemudian nilai nya dicek pada tabel alphabet (gambar

6) untuk mendapatkan karakter plaintext nya.

D(L) = (P - K) mod 26

= (11-3) mod 26 = 8 => I

D(Q) = (P - K) mod 26

= (16-3) mod 26 = 13 => N

D(G) = (P - K) mod 26

= (6-3) mod 26 = 3 => D


28

D(R) = (P - K) mod 26

= (17-3) mod 26 = 14 => O

D(H) = (P - K) mod 26

= (7-3) mod 26 = 4 => E

D(V) = (P - K) mod 26

= (21-3) mod 26 = 18 => S

D(D) = (P - K) mod 26

= (3-3) mod 26 = 0 => A

3) Hasil dekripsi adalah “INDONESIA” Maka didapatkan plaintext dari

ciphertext “LQGRQHVLD” adalah INDONESIA.

2.5 ASCII
ASCII (American Standard Code for Information Interchange) atau kode

Standar Amerika untuk Pertukaran Informasi. Merupakan suatu standar

internasional dalam kode huruf dan numeric seperti Hex dan Unicode tetapi ASCII

lebih bersifat universal, contohnya decimal 65 adalah untuk karakter “A”. Biasanya

digunakan oleh sistem komputer atau perangkat digital lainnya untuk

merepresentasikan karakter pada teks.

Dalam kriptografi, kode ASCII ini merupakan urutan bit dengan panjang 8

bit untuk mewakili satu karakter unik yang dapat bernilai decimal ataupun

hexadecimal yang mewakili setiap satu karakter yang kemudian dienkripsi untuk

mendapatkan karakter lain dalam bentuk urutan bit atau nilai decimal ataupun nilai

hexadecimal lain. Karakter control pada ASCII dibedakan menjadi 5 kelompok

sesuai dengan penggunaan yaitu berturut-turut meliputi logical communication,


29

Device control, Information separator, Code extention, dan physical

communication.

Jumlah kode ASCII seluruhnya adalah 255 kode. Kode ASCII urutan 0

hingga 127 merupakan kode ASCII untuk manipulasi karakter/teks, sedangkan

kode ASCII urutan 128 hingga 255 merupakan kode ASCII untuk manipulasi

grafik. Kode ASCII ini banyak dijumpai pada keyboard komputer atau instrumen-

instrumen digital (Kharisma & Muhammad, 2017). Berikut adalah tabel susunan

kode ASCII dari nomor 32 hingga 127:

Sumber: https://simple.m.wikipedia.org/wiki/File:ASCII-Table-wide.svg
Gambar 2. 9 Tabel printable ASCII
30

2.6 PHP (Pre Hypertext Processor)

Sumber: https://id.wikipedia.org/wiki/PHP
Gambar 2. 10 Logo PHP

PHP merupakan singkatan dari: Pre Hypertext Processor adalah salah satu

Bahasa pemrograman open source yang banyak digunakan oleh Web Developer

untuk pengembangan Web, PHP ini berjalan di sisi server atau disebut juga (server

side), dan saat ini didukung oleh hampir semua sistem.

Bahasa Pemrograman PHP ditemukan pada tahun 1994 oleh Rasmus Lerdorf

versi pertama PHP tidak dirilis ke publik, melainkan digunakan oleh Rasmus

Lerdorf untuk melacak siapa saja yang melihat resume onlinenya pada homepage

websitenya. Versi pertama yang digunakan oleh kebanyakan orang tersedia sekitar

awal tahun 1995 dan dikenal sebagai Personal Home Page Tools.

PHP biasanya digunakan bersamaan dengan bahasa pemrograman web

lainnya seperti HTML, CSS, JavaScript, Jquery, Ajax, ataupun digabungkan

dengan Python. Namun, PHP dijalankan atau diproses pada sisi server karena

sifatnya server script , sedangkan HTML,CSS, JavaScript dan yang lainnya

digunakan disisi klien (client script) sebagai frontend. Sementara itu, Python hanya

untuk sisi server (backend). PHP banyak digunakan untuk membuat banyak project

aplikasi yang berbasis web karena sangat mudah dipelajari dan diaplikasi, terbuka

(opensource), didukung banyak komunitas dan bersifat dinamis sehingga PHP


31

sangat populer dikalangan web developer karena semua sifatnya dan serbaguna

tersebut.

2.6.1 PHP Array

Dalam pengembangan web, manipulasi data adalah salah satu aspek paling

penting. PHP, sebagai salah satu bahasa pemrograman web yang paling populer,

menyediakan struktur data yang kuat dan cukup komplit yang dikenal sebagai array

atau larik. Array atau larik adalah struktur data yang dapat menyimpan satu atau

lebih nilai dalam satu variabel tunggal. Setiap nilai dalam array memiliki indeks

unik, yang memungkinkan kita untuk mengakses nilai tersebut dengan mudah.

Dalam PHP, array dapat digunakan untuk menyimpan berbagai jenis data, seperti

angka, string, objek, atau bahkan array lainnya.

Ada 3 jenis array dalam pemrograman PHP yaitu array numeric, array

asosiatif dan array multi dimensi (matriks).

1. Array numeric

Array numeric ialah array standar (default) yang sudah disediakan oleh

PHP yang mana setiap elemen dalam isi array berindeks 0 sampai dengan n

dan indeks sebuah array selalu dimulai dari angka 0, contoh: kita memiliki

sebuah array bernama buah dengan isi Mangga, Jeruk, Apel, Pepaya dan

Strawberry maka dalam PHP array buah dapat direprensentasikan sebagai

berikut:

$buah = array(“Mangga”, “Jeruk”, “Apel”, “Strawberry”);

atau:

$buah = [“Mangga”, “Jeruk”, “Apel”, “Strawberry”];


32

Maka dapat kita jelaskan sebagai berikut:

$buah = nama variabel array

Indeks ke-0 : Mangga, atau $buah[0] = “Mangga”;

indeks ke-1: Jeruk, atau $buah[1] = “Jeruk”;

indeks ke-2: Apel, atau $buah[2] = “Apel”;

indeks ke-3: Strawberry, atau $buah[3] = “Strawberry”;

2. Array asosiatif

Array asosiatif disebut juga dengan string-indexed array adalah array

yang indeksnya tidak menggunakan nomor atau angka, disebut demikian

karena ada array jenis lain yang memiliki indeks bukan angka melainkan

string. Indeks array asosiatif terdiri dari nama kunci (keyname) dan nilai (key

value), pada array asosiatif, kita menggunakan tanda => (rocket) untuk

mengasosiasikan sebuah kata kunci dengan isi array.

Contoh array asosiatif:

$arr_usia = array("Herman"=>"25", "Yayan"=>"27", "Maman"=>"21");

Atau bisa juga dituliskan sebagai berikut:

$artikel = [“judul” => “Pemrograman PHP”,


“penulis” => “Ahmad Sani”,
“view” => 257];

Untuk mengakses array asosiatif diatas caranya kita bisa menuliskan:

Echo “Judul Artikel: $artikel[judul]</br>”;


Echo “Penulis: $artikel[penulis]</br>”;
Echo “View: $artikel[view]</br>”;

Atau bisa juga dengan menggunakan looping foreach:


33

foreach ($artikel as $kunci => $nilai_artikel) {


echo "Kunci=" . $kunci . ", Nilai=" . $nilai_artikel;
echo "</br>";
}

3. Array multi dimensi

Array multi dimensi adalah array yang memiliki indek dan nilai array

lebih dari satu atau multi dimensi. Jenis array ini biasanya digunakan untuk

membuat nilai berupa matrik, grapik, dan struktur data lainnya yang cukup

rumit.

Contoh penulisan array multi dimensi:

$mobil = array (
array("Toyota",22,18),
array("Honda",15,13),
array("Mitsubishi",5,2),
array("Nissan",17,15)
);

Cara pengaksesan nya, misalkan kita ingin menampilkan data mobil merk

Honda jml Terjual dan jml Stok nya, maka sintaksnya:

echo $mobil[1][0].": Terjual: ".$mobil[1][1].", Stok: ".$cars[1][2];

atau bisa juga penulisannya seperti ini:

$matriks = [
[3,4,7],
[1,5,6],
[8,3,2]
];
Bila ingin mengakses nilai 5 pada array matriks tersebut maka sintaksnya:

echo $matriks[1][1]; //output 5

Array multi dimensi dapat juga memuat array yang bertipe asosiatif, contoh

nya:
34

$dtktp = [
[
"nik" => "215415121500015",
"nama" => "Dedi Koswara",
"agama" => "Islam",
],
[
"nik" => "215475328900012",
"nama" => "Dadan Nugraha",
"agama" => "Islam",
],
[
"nik" => "214719121901020",
"nama" => "Opan Maulana",
"agama" => "Islam",
]
];

Perintah untuk menampilkan seluruh data array multi dimensi diatas sebagai

berikut:

Foreach ($dtktp As $data){


echo "NIK: ".$data[‘nik’]."<br>";
echo "Nama: ".$data[‘nama’]."<br>";
echo "Agama: ".$data[‘agama’].”<br><br>";
}

4. Array Flip

PHP mempunyai banyak fungsi terkait data array dan salah satu nya

yaitu fungsi array_flip yang fungsinya yaitu untuk membalikan nilai (value)

menjadi kunci pada array asosiatif.

Contoh penggunaan array_flip:

$arrayku=array("1"=>"Merah","2"=>"Kuning","3"=>"Hijau");
$myarray=array_flip($arrayku);
print_r($myarray);

Maka akan dihasilkan output sebagai berikut:


Array ( [Merah] => 1 [Kuning] => 2 [Hijau] => 3 )
35

5. Array Shuffle

PHP juga mempunyai fungsi untuk mengacak (randomize)

susunan/urutan indeks array yaitu dengan fungsi shuffle($array). Contoh

penggunaan shuffle($array):

$array_ku=array("1"=>"Merah","2"=>"Kuning","3"=>"Hijau");
shuffle($array_ku);
print_r($array_ku);

Maka bisa dihasilkan urutan indeks array yang dinamis, output:


Array ( [0] => Kuning [1] => Hijau [2] => Merah )

2.7 MySQL

Sumber: https://id.wikipedia.org/wiki/MySQL

Gambar 2. 11 Logo MySQL

MySQL seperti yang dipaparkan dalam Wikipedia adalah sebuah perangkat

lunak sistem untuk manajemen basis data SQL (database management system) atau

DBMS yang multi alur, multi pengguna, dengan sekitar 6 juta instalasi di seluruh

dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di

bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di

bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok

dengan penggunaan GPL.


36

Saat ini, relational database management system (RDBMS) MySQL telah

dipakai lebih dari 66 juta pengguna di seluruh belahan dunia. Adapun MySQL

memiliki dua bentuk lisensi, yaitu Free Software dan Shareware atau perangkat

lunak bermilik yang penggunaannya terbatas. Jadi, MySQL merupakan sebuah

database server yang gratis (free), artinya kita bebas menggunakan database ini

untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya.

MySQL pertama kali dirintis oleh seorang programmer database bernama Michael

Widenius .

Dalam istilah pemrograman, SQL (Structure Query Language) menjadi

bahasa yang dipakai di dalam mengolah data pada relational database atau database

yang terstruktur. Dengan begitu MySQL merupakan salah satu database

management system yang menggunakan bahasa SQL sebagai bahasa penghubung

antara perangkat lunak aplikasi dengan database server.

Fungsi utama MySQL adalah mengelola dan mengolah informasi database

pada sisi server dengan bahasa pemrograman SQL. Hingga saat ini, dominan

provider hosting internet selalu menyediakan MySQL dalam paket nya untuk

pengembangan web. Selain itu, MySQL juga menjadi salah satu arsitektur database

terpopuler setelah Oracle Database. Hal ini tak lain karena MySQL memiliki

sejumlah kelebihan. Berikut beberapa kelebihannya:

1) MySQL merupakan Database Management System (DBMS)

2) MySQL sebagai Relation Database Management System (RDBMS) atau

disebut dengan database Relational


37

3) MySQL Merupakan sebuah database server yang gratis (free), artinya kita

bebas menggunakan database ini untuk keperluan pribadi atau bisnis tanpa

harus membeli atau membayar lisensinya

4) MySQL memiliki kemampuan cross platform yang berarti dapat berjalan

hampir disemua sistem operasi yang berkembang.

5) MySQL mampu menerima query yang bertumpuk dalam satu permintaan

atau Multi- Threading.

6) MySQL merupakan Database yang mampu menyimpan data berkapasitas

cukup besar hingga berukuran giga byte.

7) MySQL didukung oleh driver ODBC, artinya database MySQL dapat

diakses dari aplikasi lain termasuk berupa visual seperti visual Basic dan

Delphi.

8) MySQL adalah database menggunakan enkripsi password, jadi database ini

cukup aman karena memiliki password untuk mengakses nya.

9) MySQL merupakan Database Server yang multi user

10) MySQL mendukung field yang dijadikan sebagai kunci primer dan kunci

unik (Unique)

11) MySQL memliki kecepatan dalam pembuatan table maupun peng-update an

table
38

I.1 Unified Modelling Language (UML)


Unified Modelling Language (UML) adalah salah satu tool/model untuk

merancang pengembangan software yang berbasis object-oriented. UML sendiri

juga memberikan standar penulisan sebuah sistem blueprint, yang meliputi konsep

proses bisnis, penulisan kelas-kelas dalam bahasa program yang spesifik, skema

database, dan komponen yang diperlukan dalam sistem software.

Awal mulanya, UML diciptakan oleh Object Management Group dengan

versi awal 1.0 pada bulan Januari 1997. Dengan menggunakan UML sebagai bahasa

pemodelan berorientasi objek diharapkan dapat mempermudah para pengembangan

perangkat lunak aplikasi untuk memenuhi semua kebutuhan pengguna dengan

efektif, fleksibel, lengkap, dan cepat.

Sesuai dengan pengertian dan konsep UML, maka ada beberapa diagram

yang dapat digunakan untuk memperjelas penggunaan UML dalam pemrograman

berorientasi objek, diantaranya: Class Diagram, Object diagram, Component

diagram, Deployment diagram, Use Case diagram, Interaction diagram, Statechart

diagram dan Activity diagram.

I.1.1 Class Diagram

Class diagram atau diagram kelas merupakan suatu diagram yang digunakan

untuk menampilkan kelas-kelas berupa pake-paket untuk memenuhi salah satu

kebutuhan paket yang akan digunakan nantinya. Class menggambarkan keadaan

(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi

keadaan tersebut (metoda/fungsi). Class diagram memberikan pandangan secara

luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka.
39

Class diagram bersifat statis, menggambarkan hubungan apa yang terjadi bukan

apa yang terjadi jika mereka berhubungan.

Sumber: https:// dicoding.com/blog/apa-itu-uml

Gambar 2. 12 Contoh Class Diagram

I.1.2 Use Case Diagram

Use Case Diagram adalah satu jenis dari diagram UML (Unified Modelling

Language) yang menggambarkan hubungan interaksi antara sistem dan aktor. Use

Case dapat menggambarkan tipe interaksi antara si pengguna sistem (user) dengan

sistemnya. Use Case merupakan sesuatu yang mudah dipelajari, Use Case

merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, registrasi pengguna

dalam sistem dan membuat sebuah daftar aktivitas lainya.


40

Sumber: https:// dicoding.com/blog/apa-itu-uml

Gambar 2. 13 Contoh Use Case Diagram

I.1.3 Activity Diagram

Activity diagram atau diagram aktivitas dalam bahasa indonesia, merupakan

sebuah diagram yang menggambarkan alir aktifitas dalam sebuah sistem yang juga

dapat memodelkan berbagai aliran proses yang terjadi pada sistem. Seperti

layaknya runtutan proses berjalannya suatu sistem dan digambarkan secara vertikal.

Activity diagram merupakan state diagram khusus, dimana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya.
41

Gambar 2. 14 Contoh Activity Diagram

I.2 Penelitian Sejenis/Terkait


Penelitian yang terkait ataupun sejenis dengan penelitian yang dilakukan pada

skripsi ini yang berjudul “Implementasi Algoritma Triple Caesar Cipher Untuk

Keamanan Data Pesan Teks di CV Jahada Media Informatika” diantaranya adalah:

Tabel 2. 1 Tabel Penelitian Sejenis

Dipublikasi
No Penulis Judul Kesimpulan
pada
Retnani Modifikasi Jurnal Fakultas Penelitian ini
1 Latifah, Sitti Algoritma Caesar Teknik penggabungan metode
Nurbaya Cipher Dan Rail Universitas Caesar Cipher dan Rail
Ambo, Fence Untuk Muhammadiyah Fence untuk
Syafitri Peningkatan Jakarta mengamankan
Indah Keamanan Teks teks alfanumerik dan
Kurnia Alfanumerik Dan karakter khusus ASCII
(2017) Karakter Khusus printable characters.
Metode Caesar Cipher
42

menggunakan modulus
95 dengan sedikit
modifikasi, selain itu
juga dilakukan Reverse
order pada setiap baris
Rail Fence untuk
meningkatkan kualitas
cipher text.
2 (Egar Dika Implementasi Tugas Akhir Menggabungkan
Santosa, Algoritma Program Studi Algoritma Caesar Cipher
2015) Caesar Teknik dan Hill Cipher untuk
cipher dan Hill Informatika - meng enkripsi dan
cipher pada S1, Fakultas dekripsi Database di TB
Database Ilmu Komputer, Mitra Jepara sehingga
Sistem Inventori Universitas menjadi lebih aman
TB Mita Jepara Dian dengan menggunakan
Nuswantoro bahasa pemograman web
PHP & MySQL.
3 (Jahuda Algoritma Tugas Akhir penggabungan algoritma
Dolf Bacas, Caesar Cipher Teknik Caesar cipher dan hill
2021) dan Hill Cipher Informatika cipher dan implementasi
Untuk Politeknik dari penggabungan
Meningkatkan Negeri Jakarta algoritma kedalam
Keamanan bahasa pemrograman
Database Java, maka dapat
disimpulkan bahwa
gabungan dari kedua
algoritma ini dapat
digunakan untuk
meningkatkan keamanan
data yang berada dalam
Database.
4 (Muhammad Perancangan Jurnal STMIK Aplikasi Keamanan
Anas Fauzi, Aplikasi Budi Darma Pesan untuk Enkripsi dan
2019) Keamanan Pesan Medan Dekripsi menggunakan
Teks dengan algoritma triple
menggunakan transposition vigenere
Algoritma Triple cipher yang dilakukan
Transposition sebanyak 3 kali proses
Vigenere Cipher enkripsi dan dekripsi
dengan teknik transposisi
dan 3 kali proses enkripsi
dan dekripsi dengan
teknik substitusi sehingga
menghasilkan ciphertext
yang sulit untuk dibaca
atau dipecahkan
penyadap mengunakan
bahasa pemrograman
43

Microsoft Visual basic


2008.
5 (Muhamad Implementasi Journal of Aplikasi keamanan pesan
Alda1, Mhd Metode Triple Information dengan menggunakan
Ikhsan Rifk, DES Pada Technology metode Triple DES
2022) Aplikasi and Computer berbasis android, yang
Keamanan Pesan Science, dapat membantu user
Berbasis Universitas dalam memberikan
Mobile Widyagama keamanan pada saat
Malang proses pengiriman pesan
melalui smartphone
android, dan pesan yang
telah di enkripsi dapat
langsung dikirim (share)
kepada penerima melalui
aplikasi pesan yang
terdapat pada smartphone
android.

Anda mungkin juga menyukai