ANALISIS DAN PERANCANGAN SISTEM YANG MEN

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

ANALISIS DAN PERANCANGAN SISTEM YANG MENERAPKAN
ALGORITMA TRIANGLE CHAIN CIPHER (TCC) UNTUK
ENKRIPSI RECORD TABEL DATABASE
SYSTEM ANALYSIS AND DESIGN USING TRIANGLE CHAIN CIPHER
ALGORITHM (TCC) FOR DATABASE RECORD ENCRYPTION
Rivalri Kristianto Hondro, Gunadi Widi Nurcahyo
Universitas Putra Indonesia “YPTK” Padang
Jl. Raya Lubuk Begalung, Padang
E'Mail: rivalryhondro@gmail.com, gunadiwidi@yahoo.co.id
ABSTRAK
Data teks pada umumnya yang tersimpan di dalam database masih persis sama dengan teks yang ditampilkan
sebagai informasi akhir bagi pengguna. Hal ini dapat mempermudah seorang kriptanalis maupun orang lain yang
tidak mempunyai hak akses untuk dapat mengetahui secara langsung isi dari database. Paper ini bertujuan untuk
meminimalisir masalah terhadap database tersebut dengan melakukan kegitan penyandian record table database
dengan menggunakan algoritma triangle chain cipher (TCC). Pendekatan eksperimental digunakan untuk
menguji algoritma Triangle Chain yang merupakan salah satu algoritma penyandian yang beroperasi
berdasarkan penyandian (kriptografi) klasik khususnya dalam teknik subtitusi terhadap karakter. Setiap
karakter akan disubtitusi berdasarkan kunci dan faktor pengali yang telah ditetapkan berdasarkan formula

yang berlaku dalam algoritma ini. Algoritma ini melakukan penyandian pada record sebanyak dua kali dan
selalu bergantung pada hasil proses sebelumnya. Hal inilah yang mendasari rumitnya pemecahan dari algoritma
penyandian berantai ini.
: Record, Table, Database, Enkripsi, Dekripsi, algoritma triangle chain cipher, Kunci

ABSTRACT
In generall, database record contains an array of operational data available to a company or organization, as a
source of any information system that is running. Generally, text data is stored in database which is still exactly
the same as the text displayed as the final information for the user. This can facilitate a cryptanalyst and others
who do not have access rights to be able to know the contents of the database directly. This study aims to
minimize the problem by performing record encryption using the triangle chain cipher algorithm (TCC).
Triangle chain algorithm is one of the encryption algorithms that operate based on encryption (cryptography),
especially in classic substitution of character technique. Each character will be substituted by a key and a
multiplier factor that has been determined based on a formula that applies in this algorithm. These algorithms
perform encryption on the record twice and always rely on the results of the previous process. This is what
underlies the complexity of solving this chain encryption algorithms.

PENDAHULUAN
Seiring dengan semakin meningkatnya
kejahatan komputer, keamanan data merupakan suatu

hal yang tak terpisah dalam pembangunan sistem
berbasis jaringan komputer. Salah satu metode dalam
keamanan data adalah kriptografi (Rifki Sadiki,
2012). Mengamankan data dengan teknik kriptografi
merupakan sebuah aktivitas menyembunyikan data
dengan mengubah data asli kedalam bentuk data yang
lain, dalam arti makna pesan tersebut diubah dari data

yang bermakna ke data yang tidak bermakna (Rinaldi
Munir, 2006).
Database secara umum kumpulan informasi
suatu organisasi atau perusahaan yang disimpan di
dalam komputer disebut basis data secara sistematik
yang saling berhubungan dan berkaitan subjek
tertentu untuk menampilkan informasi sesuai dengan
subjeknya masing'masing.
Kriptografi, secara umum adalah ilmu dan seni
untuk menjaga kerahasiaan berita (Bruce Schneier
Applied Cryptography).


118

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

TUJUAN KRIPTOGRAFI
Tujuan dari kriptografi adalah untuk tidak
menyembunyikan keberadaan pesan , melainkan
untuk menyembunyikan maknanya.
Aspek keamanan yang diberikan kriptografi
selain menyandikan pesan juga menyediakan
beberapa aspek keamanan. Berikut aspek keamanan
kriptografi:
1. Kerahasiaan (confidentiality), adalah layanan
yang digunakan untuk menjaga isi pesan dari
siapapun yang tidak berhak membacanya.
Layanan ini direalisasikan dengan cara
menyandikan pesan menjadi bentuk yang tidak
dapat dimengerti. Misalnya pesan “Harap datang
pukul

8”
disandikan
menjadi
“TrxC#45motypetre!%”.
2. Integritas data (data integrity), adalah layanan
yang menjamin bahwa pesan masih asli / utuh
atau belum pernah dimanipulasi selama
pengiriman. Layanan ini direalisasikan dengan
menggunakan tanda'tanda digital (digital
signature). Pesan yang telah ditandatangani
menyiratkan bahwa pesan yang dikirim adalah
asli.
3. Otentifikasi (authenification), adalah layanan
yang berhubungan dengan identifikasi, baik
mengidentifikasi kebenaran pihak'pihak yang
berkomunikasi (user authentification atau entity
authentification) maupun
mengidentifikasi
kebenaran sumber pesan (data origin
authentification). Layanan ini direalisasikan

dengan menggunakan digital signature.
4. Nirpenyangkalan (non repudiation), adalah
layanan untuk mencegah entitas yang
berkomunikasi melakukan penyangkalan, yaitu
pengirim pesan menyangkal melakukan
pengiriman atau penerima pesan menyangkal
telah menerima pesan.

KOMPONEN KRIPTOGRAFI
Dalam melakukan pengamanan dengan ilmu
kriptografi adapun komponen pendukung system
kriptografi:
a. Pesan (message) adalah data atau informasi
yang dapat dibaca atau dimengerti maknanya.
Nama lainnya untuk pesan adalah plainteks
(plaintext) atau teks jelas (clear text).
b. Pengirim (sender) adalah entitas yang
melakukan pengiriman pesan kepada entitas
lainnya.
c. Kunci (cipher)/Secret Key adalah aturan atau

fungsi matematika yang digunakan untuk
melakukan proses enkripsi dan dekripsi pada
plaintext dan ciphertext.
d. Ciphertext adalah keluaran algoritma enkripsi.
Cipehertext dapat dianggap sebagai pesan dalam
bentuk tersembunyi. Algoritma enkripsi yang
baik akan menghasilkan ciphertext yang terlihat

e.
f.
g.

teracak. Untuk selanjutnya digunakan istilah
teks sandi sebagai padana kata ciphertext.
Enkripsi adalah mekanisme yang dilakukan
untuk merubah plaintext menjadi ciphertext.
Dekripsi adalah mekanisme yang dilakukan
untuk merubah ciphertext menjadi plaintext.
Penerima (receiver) adalah entitas yang
menerima pesan dari pengirim/entitas yang

berhak atas pesan yang dikirim.

Baik proses enkripsi maupun proses dekripsi
melibatkan satu atau beberapa kunci kriptografi.
Dalam suatu sistem dimana terdapat algoritma
kriptografi, ditambah seluruh kemungkinan plaintext,
chipertext dan kunci'kuncinya disebut kriptosistem
(cryptosystem atau cryptographic system). Proses
tersebut dapat digambarkan secara sederhana sebagai
berikut:

Gambar 1. Skema Enkripsi dan Dekripsi Sederhana

ALGORITMA KRIPTOGRAFI
Algoritma dalam kriptografi merupakan
langkah'langkah logis bagaimana menyembunyikan
pesan dari orang lain yang tidak berhak atas pesan
tersebut.
1. Algoritma Enkripsi: Algoritma enkripsi
memiliki 2 masukan teks asli dan kunci rahasia.

Algoritma enkripsi melakukan transformasi
terhadap teks asli sehingga menghasilkan teks
sandi.
2. Algoritma Dekripsi: Algoritma dekripsi
memiliki 2 masukan yaitu teks sandi dan kunci
rahasia. Algoritma dekripsi memulihkan
kembali teks sandi menjadi teks asli bila kunci
rahasia yang dipakai algoritma dekripsi sama
dengan kunci rahasia yang dipakai algoritma
enkripsi.
3. Algoritma Kunci (Key): Didalam Kutipan Bahan
Perkuliahan Sistem Kriptografi Ir. Rinaldi
Munir, M.T., Kunci adalah yang dipakai untuk
melakukan enkripsi dan dekripsi. Kunci terbagi
dua bagian yaitu kunci rahasia (private key) dan
kunci umum (public key).

119

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014

ISSN : 2338-5839

KEKUATAN ALGORITMA
KRIPTOGRAFI
Dari ketiga algoritma diatas Algoritma
kriptografi harus memiliki kekuatan untuk
melakukan:
1. Konfusi/pembinggungan (confusion), dari teks
terang sehingga sulit untuk direkrontruksikan
secara langsung tanpa menggunakan algoritma
dekripsinya.
2. Difusi/peleburan (diffusion), dari teks terang
sehingga karakteristik dari teks terang tersebut
hilang sehingga dapat digunakan untuk
mengamankan informasi.

JENIS KUNCI (
KRIPTOGRAFI

) PADA


Berdasarkan kunci yang digunakan dalam
proses kriptografi, maka algoritma kunci kriptografi
dibagi menjadi (Dony Arius, 2008) :
1. Algoritma Simetri
Algoritma ini sering disebut dengan algoritma
klasik karena memakai kunci yang sama untuk
kegiatan enkripsi dan dekripsi. Bila mengirim
pesan dengan menggunakan algoritma simetri,
penerima pesan harus mengetahui kunci yang
digunakan agar bisa si penerima mampu
mendekripsikan pesan yang dikirim. Keamanan
dari pesan yang menggunakan algoritma ini
tergantung pada kunci. Algoritma yang
menggunakan kunci simetris misalnya DES,
Kode Rivest’s IDEA, AES, OTP, A5 dan lain'
lain.
2. Algoritma Asimetri
Algorima asimetri sering juga disebut dengan
algoritma kunci publik, dengan arti kata kunci

yang digunakan untuk melakukan enkripsi dan
dekripsi berbeda. Pada algoritma asimetri kunci
terbagi menjadi dua bagian yaitu kunci umum
(public key) yang bias diketahui oleh umum dan
kunci rahasia (private key) yaitu kunci yang
dirahasiakan dan hanya boleh diketahui oleh
satu orang saja.
3. Fungsi Hash
Fungsi hash sering disebut dengan fungsi has
satu arah (one way function), message digest,
fingerprint, fungsi kompersi dan Message
Authentication Code (MAC) yang merupakan
suatu fungsi matematika yang mengambil
masukan panjang variabel dan mengubahnya ke
dalam urutan biner dengan panjang yang tetap.

ALGORITMA
%$
(TCC)

!"#

$

!

Algoritma kriptografi triangle cahin cipher
juga dapat disebut dengan algoritma rantai segitiga,

algoritma rantai segitiga merupakan algoritma yang
dibuat guna memperbaiki algoritma kriptografi klasik
khususnya algoritma substitusi abjad tunggal yang
sangat mudah diserang dengan teknik analisis
frekuensi. Algoritma rantai segitiga ini memiliki
aturan substitusi berdasar pada caesar cipher yaitu
dengan pergeseran huruf'huruf. Kekuatan cipher ini
terletak pada kunci yaitu nilai integer yang
menunjukkan pergeseran karakter'karakter sesuai
dengan operasi pada caesar cipher. Kekuatan kedua
terletak pada barisan bilangan'bilangan yang
berfungsi sebagai pengali dengan kunci. Barisan
bilangan tersebut dapat berupa bilangan tertentu
seperti deret bilangan ganjil, deret bilangan genap,
deret fibonaci, deret bilangan prima, serta deret
bilangan yang dapat dibuat sendiri. Algoritma rantai
segitiga memiliki aturan yang sama dengan Caesar
Cipher yaitu dengan pergeseran huruf'huruf.
1.

Algoritma Enkripsi TCC

Adapun algoritma enkripsi yang ada pada
metode ini dengan menggunakan rumus sebagai
berikut:
1. Matriks Enkripsi Segitiga Pertama
Untuk Baris Ke'1:
M [1 j] = P[ j ] + (K * R[ 1 ]) Mod 26
Untuk baris ke'2 dan seterusnya untuk nilai j
≥i:
M [i j] = M [i 1] j + (K * R[ i ]) Mod 26
Sehingga nilai ciphertext yang diperoleh:
M [i j] pada nilai j = (N+i) – N
2.

Matriks Enkripsi Segitiga Kedua
Nilai P diperoleh dari nilai Mi j pada i = j
Untuk Baris Ke'1
M [1j] = P[ j ] + (K * R[ 1 ]) Mod 26
Untuk baris ke'2 dan seterusnya untuk nilai j
≤ (N+1) i :
M [i j] = M [i 1] j + (K * R[ i ]) Mod 26
Sehingga nilai ciphertext yang diperoleh:
M [i j] pada nilai j = (N+1) – i

Keterangan:
P
= Plaintext
N = Jumlah karakter plaintext
M = Matriks penampung hasil penyandian
K = Kunci
R
= Row (baris perkalian faktor pengali dengan
kunci)
i
= indeks faktor pengali
j
= index karakter plaintext
2.

Algoritma Dekripsi TCC

Sedangkan untuk algoritma dekripsi Triangle
Chain Cipher merupakan kebalikan dari algoritma
enkripsi, rumusnya sebagai berikut:
1. Matriks dekripsi segitiga pertama
Untuk baris ke'1:

120

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

M1j = C [ j ] – (K * (R[1])) Mod 26
Untuk baris ke'2:
j ≤ (N+1) – i
M[ij] = M[i 1]j – (K * (R[i])) Mod 26
Sehingga nilai plaintext hasil proses segitiga
pertama diambil nilai setiap barisnya dengan
ketentuan:
M [ij] pada nilai i=n dan j ≤ (N+1) – i
2.

Matriks dekripsi segitiga kedua
Untuk baris ke'1:
M1j = C [ j ] – (K* (R[1])) Mod 26
Untuk baris ke'2:
j≥i
M[ij] = C[i 1]j – (K * (R[i])) Mod 26
sehingga nilai plaintext untuk cipertext yang
asli adalah:
M[ij] pada nilai j = (N+i) N

Keterangan:
P = Plaintext
N = Jumlah karakter plaintext
M = Matriks penampung hasil cipher yang dijadikan
sebagai plaintext
K = Kunci
R = Row (baris perkalian faktor pengali dengan
kunci)
i = indeks faktor pengali
j = index karakter plaintext

database dapat dilihat pada model gambar 3 yang
terdiri dari input, proses dan output:

Gambar 3. Data Masukan, Proses Dan Keluaran Pada
Proses Penyandian (Enkripsi) Record Tabel Database

Dari gambar 3 dapat kita pahami yang menjadi
plainteks dalam proses penyandi (enkripsi) record
tabel database adalah seluruh record tabel yang
belum tersandikan dan untuk proses dekripsi record
tabel database yang menjadi cipherteks adalah
seluruh record tabel yang telah tersandikan, seperti
pada model gambar 4.

METODOLOGI
Elemen yang paling dasar dari sebuah
database diawali oleh beberapa karakter yang
membentuk baris (record), kemudian record ini akan
diletakkan ke dalam kolom (field) sebagai
penampung record. Pertemuan antara baris dengan
kolom disebut item data (data value), tabel'tabel yang
ada dan dapat dihubungakan (relationship)
sedemikian rupa dengan menggunakan field field
kunci (key field), struktur inilah yang akan
membentuk sebuah database.

Gambar 2. Komponen Pembentuk Database
Pembahasan
yang
dibahas
didalam
penelitian ini adalah proses penyandian record tabel
database. Proses enkripsi record tabel database
didalam penelititan ini disebut penyandian record
table database. Proses penyandian record tabel

Gambar 4. Data Masukan, Proses Dan Keluaran
Pada Proses Dekripsi Record Tabel Database

SKEMA PROSES PENYANDIAN
(ENKRIPSI) ALGORITMA TCC
Proses penyandian (enkripsi) dengan algoritma
TCC, ada 2 proses penyandian (enkripsi) yang
pertama disebut enkripsi segitiga pertama dan kedua
disebut enkripsi segitiga kedua. Untuk lebih jelas
dapat dilihat pada model gambar 4.
Dari gambar 5. dapat kita pahami proses dari
pada penyandian (enkripsi) algoritma TCC dilakukan
sebanyak 2 kali, dimana proses enkripsi pertama
(enkripsi segitiga pertama) yang menjadi plainteks
adalah data asli dan diproses menghasilkan cipherteks
yang nantinya dijadikan sebagai plainteks untuk
proses enkripsi kedua (enkripsi segitiga kedua) maka
cipherteks pada enkripsi kedua yang menjadi akhir
dari proses enkripsi algoritma TCC.

121

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

3.

Gambar 5. Skema Model Proses Penyandian (Enkripsi)
Algoritma TCC

Skema Proses Dekripsi Algoritma TCC
Proses dekripsi algoritma TCC kebalikan
daripada proses enkripsi algoritma TCC, proses
dekripsi algoritma TCC ada 2 proses yaitu: dekripsi
segitiga pertama dan dekripsi segitiga kedua.
Dekripsi pertama yang menjadi cipherteks adalah
data yang telah tersandikan diproses menghasilkan
plainteks yang nantinya dijadikan cipherteks untuk
proses dekripsi kedua dan hasil proses dekripsi kedua
(palinteks) adalah merupakan data asli yang tidak
tersandikan. Untuk model dekripsi algoritma TCC
dapat dilihat pada gambar 6.

Kunci Algoritma Triangle Chain Cipher
Dalam melakukan proses enkripsi dan dekripsi
algoritma triangle chain cipher data kunci yang
digunakan terdiri dari deretan angka. Penerapan
algoritma triangle chain cipher (rantai segitiga
cipher) mengadopsi teknik penyandian Caesar,
dimana dapat melakukan subtitusi setiap karakter
yang akan disandikan secara berantai berdasarkan
kunci dan faktor'faktor pengali yang terbentuk.
Nilai kunci yang digunakan dalam proses
penyandian plaintext yang ada pada record database
dikalikan dengan faktor pengali yang terbentuk,
dalam hal ini faktor pengali tersebut merupakan tabel
bilangan dengan jumlah sepanjang plaintext yang
akan disandikan.
Contoh: Plaintext = RIVA dari plaintext ini faktor
pengali berjumlah = 4 fp[1], fp[2], fp[3], fp[4].
Dari nilai fp (faktor pengali) diatas akan
menghasilkan nilai kunci dengan rumus sebagai
berikut: Kunci = K * fp
Keterangan lebih lanjut dapat dilihat dalam
tabel berikut dengan model matriks Mij dimana M =
Matriks, i = baris, dan j = kolom
Tabel 1. Faktor Pengali Terhadap Kunci
P(R)
C11(R)

P(I)
C12(I)
C22(I)

P(V)
C13(V)
C23(V)
C33 (V)

P(A)
C14 (A)
C24(A)
C34(A)
C44(A)

Plaintext, i = 0
i = 1 fp[1]
i = 2 fp[2]
i = 3 fp[3]
i = 4 fp[4]

Ket: P = Plaintext, C = Ciphertext
4.

Tabel ASCII Mod 255
Sesuai dengan tabel ASCII mod 255 yang
ada pada lampiran, karakter yang akan di enkripsi
atau dekripsi terlebih dahulu dirubah ke bentuk
desimal.
Contoh: Plaintext = R I V A
Nilai Desimal pada
ASCII = 82, 73, 86, 65.

HASIL DAN PEMBAHASAN
Gambar 6. Skema model proses dekripsi algoritma
TCC

1.

Penerapan Kunci
Penerapan kunci dalam penelitian ini
menggunakan algoritma kunci simetri yaitu kunci
yang digunakan pada proses enkripsi sama dengan
kunci pada proses dekripsi. Untuk penerapan nya
kunci yang digunakan angka tunggal dengan deretan
bilangan adalah 1 sampai dengan 20.
2.

Pendistribusian Kunci Simetri
Untuk pendistribusian kunci terhadap proses
dekripsi dilakukan dengan memberitahu kepada
orang yang akan melakukan pendekripsian record
tabel database.

Contoh Kasus Penerapan Algoritma Triangle
Chain Cipher (TCC):
1.

Proses Penyandian (Enkripsi)
Triangle Chain Cipher (TCC)

Algoritma

a.

Matriks enkripsi segitiga pertama
Plaintext
= RIVALRY
Kunci yang digunakan = 4 (Bilangan Asli
Integer)
Sesuai dengan panjang plaintext N = 7
Faktor Pengali (fp = R) berdasarkan nilai
N = (deret bilangan asli) (1, 2, 3, 4, 5, 6, 7).
Sebelum plaintext dienkripsi, setiap karakter
terlebih dahulu dirubah ke nilai desimal sesuai
dengan nilai ASCII denga nilai mod 255:

122

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

KARAKTER
NILAI DESIMAL

R
82

I
73

V
86

A
65

L
76

R
82

Y
89

Langkah selanjutnya adalah melakukan proses
enkripsi segitiga pertama sesuai dengan rumus:
P = RIVALRY
K=4
N=7
R = 1, 2, 3, 4, 5, 6, 7.
Rumus untuk baris pertama (i = 1):
M [1 j] = P[ j ] + (K * R[ 1 ]) Mod 256
Maka Penyelesain enkripsi baris pertama:
M11 = (P[1] + (4 * R[1])) Mod 256
= (R + (4 * (1))) Mod 256
= (82 + 4) Mod 256
= 86 (huruf V dalam
karakter ASCII)

M12 = (P[2] + (4 * R[1])) Mod 256
= (I + (4 * (1))) Mod 256
= (73 + 4) Mod 256
= 77 (huruf M dalam
karakter ASCII)

M13 = (P[3] + (4 * R[1])) Mod 256
= (V + (4 * (1))) Mod 256
= (86 + 4) Mod 256
= 90 (huruf Z dalam
karakter ASCII)

M14 = (P[4] + (4* R[1])) Mod 256
= (A + (4 * (1))) Mod 256
= (65 + 4) Mod 256
= 69 (huruf E dalam
karakter ASCII)

M16 = (P[5] + (4 * R[1])) Mod 256
= (L + (4 * (1))) Mod 256
= (76 + 4) Mod 256
= 80 (huruf P dalam
karakter ASCII)

M16 = (P[6] + (4 * R[1])) Mod 256
= (R + (4 * (1))) Mod 256
= (82 + 4) Mod 256
= 86 (huruf V dalam
karakter ASCII)

M17 = (P[7] + (4 * R[1])) Mod 256
= (Y + (4 * (1))) Mod 256
= (89 + 4) Mod 256
= 93 (huruf ] dalam
karakter ASCII)

Hasil enkripsi keseluruhan sampai baris ke'2 ini,
dapat dilihat di bawah ini:
82
86

RIVALRY
VMZEPV]
UbMX^e

M22 = (P[2'1]2 + (4 * R[2])) Mod
256
= (M + (4 * (2))) Mod 256
= (77 + 8) Mod 256
= 85 (huruf U dalam
karakter ASCII)

M23 = (P[2'1]3 + (4 * R[2])) Mod
256
= (Z + (4 * (2))) Mod 256
= (90+ 8) Mod 256
= 98 (huruf b dalam
karakter ASCII)

M24 = (P[2'1]4 + (4 * R[2])) Mod
256
= (E + (4 * (2))) Mod 256
= (69 + 8) Mod 256
= 77 (huruf M dalam
karakter ASCII)

M25 = (P[2'1]5 + (4 * R[2])) Mod
256
= (P + (4 * (2))) Mod 256
= (80 + 8) Mod 256
= 88 (huruf X dalam
karakter ASCII)

M26 = (P[2'1]6 + (4 * R[2])) Mod
256
= (V + (4 * (2))) Mod 256
= (86 + 8) Mod 256
= 94 (huruf ^ dalam
karakter ASCII)

M27 = (P[2'1]7 + (4 * R[2])) Mod
256
= ( ] + (4 * (2))) Mod 256
= (93 + 8) Mod 256
= 101 (huruf e dalam
karakter ASCII)

Hasil enkripsi baris ke'2 (i = 2) (tanpa tanda “ ” )
adalah “ UbMX^e ” dengan nilai desimal 85 98 77
88 94 101.

86
90
98

65
69
77

76
80
88

82
86
94

89
93
101

i=0
i=1
i=2

Untuk baris selanjutnya prosesnya sama dengan pada
baris kedua, sampai terbentuk hasil seperti pada tabel
berikut:
Tabel 2. Proses Enkripsi

maka dari tabel di atas hasil proses enkripsi pertama
(tanpa tanda “ ” ) adalah “ VUniˆ¦É ” dengan nilai
desimal 86 85 110 105 136 166 201.
b.

Matriks enkripsi segitiga kedua
Plaintext:
V
86

Hasil dari enkripsi baris pertama (i = 1) (tanpa tanda “
” ) adalah “ VMZEPV] ”
RIVALRY ( nilai desimal ASCII : 82 73 86 65 76
82 89 ) i = 0
VMZEPV] ( nilai desimal ASCII : 86 77 90 69 80
86 93) i = 1
hasil enkripsi baris pertama akan digunakan sebagai
plaintext untuk baris kedua (i = 2), di mana nilai j ≥ i,
sehingga:
enkripsi i = 2, j = 2
Rumus untuk baris ke'2 (i = 2) dan seterusnya (i = n):
&[i j] = &[i 1] j + ( * [ ]) & '()
Penyelesain:

73
77
85

U
85

n
110

i
105

ˆ
136

¦
166

É
201

Maka penyelesain untuk baris pertama (i = 1):
M11 = (P[1] + (4 * R[1])) Mod 256
= (V + (4 * (1))) Mod 256
= (86 + 4) Mod 256
= 90 (huruf Z dalam
karakter ASCII)

M12 = (P[2] + (4 * R[1])) Mod 256
= (U + (4 * (1))) Mod 256
= (85 + 4) Mod 256
= 89 (huruf Y dalam
karakter ASCII)

M13 = (P[3] + (4 * R[1])) Mod 256
= (n + (4 * (1))) Mod 256
= (110 + 4) Mod 256
= 114 (huruf r dalam
karakter ASCII)

M14 = (P[4] + (4* R[1])) Mod 256
= (i + (4 * (1))) Mod 256
= (105 + 4) Mod 256
= 109 (huruf m dalam
karakter ASCII)

M16 = (P[5] + (4 * R[1])) Mod 256
= ( ˆ + (4 * (1))) Mod 256
= (136 + 4) Mod 256
= 140 (huruf Πdalam
karakter ASCII)

M16 = (P[6] + (4 * R[1])) Mod 256
= ( ¦ + (4 * (1))) Mod 256
= (166 + 4) Mod 256
= 170 (huruf ª dalam
karakter ASCII)

M17 = (P[7] + (4 * R[1])) Mod 256
= ( É + (4 * (1))) Mod
256
= (201 + 4) Mod 256
= 205 (huruf Í dalam
karakter ASCII)

Hasil enkripsi baris ke'1 (i = 1) (tanpa tanda “ ” )
adalah “ ZYrmŒªÍ ” dengan nilai desimal 90 89 114
109 140 170 205.
Hasil enkripsi keseluruhan sampai baris ke'1 ini,
dapat dilihat di bawah ini:
VUniˆ¦É
ZYrmŒªÍ

86
90

85
89

110
114

105
109

136
140

166
170

201
205

i=0
i=1

Hasil enkripsi baris pertama (i = 1) akan digunakan
sebagai plaintext pada proses enkripsi baris ke'2,
dimana nilai j ≤ (N+1) – i, maka berdasarkan
ketentuan tersebut kegiatan enkripsi dilakukan:

123

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

Rumus:
M[i j] = M[i 1] j + (K * R[ i ]) Mod 256
Penyelesain untuk baris ke'2 sebagai berikut: i = 2;
j≤(7+1)'2 j ≤ 6
M21 = (P[2'1]1 + (4 * R[2])) Mod
256
= (Z + (4 * (2))) Mod 256
= (90 + 8) Mod 256
= 98 (huruf b dalam
karakter ASCII)

M22 = (P[2'1]2 + (4 * R[2])) Mod
256
= (Y + (4 * (2))) Mod 256
= (89 + 8) Mod 256
= 97 (huruf a dalam
karakter ASCII)

M23 = (P[2'1]3 + (4 * R[2])) Mod
256
= (r + (4 * (2))) Mod 256
= (114 + 8) Mod 256
= 122 (huruf z dalam
karakter ASCII)

M24 = (P[2'1]4 + (4* R[2])) Mod 256
= (m + (4 * (2))) Mod 256
= (109 + 8) Mod 256
= 117 (huruf u dalam
karakter ASCII)

M25 = (P[2'1]5 + (4* R[2])) Mod 256
= (Π+ (4 * (2))) Mod 256
= (140 + 8) Mod 256
= 148 (huruf
” dalam
karakter ASCII)

M26 = (P[2'1]6 + (4* R[2])) Mod 256
= ( ª + (4 * (2))) Mod 256
= (170 + 8) Mod 256
= 178 (huruf ² dalam
karakter ASCII)

Hasil enkripsi baris ke'2 (i = 2) (tanpa tanda “ ” )
adalah “ bazu”² ” dengan nilai desimal 98 97 122 117
148 178.
Hasil enkripsi keseluruhan sampai baris ke'2 ini,
dapat dilihat di bawah ini:
VUniˆ¦É
ZYrmŒªÍ
bazu”²

86
90
98

85
89
97

110
114
122

105
109
117

136
140
148

166
170
178

201
205

i=0
i=1
i=2

Dan untuk baris selanjutnya sama prosesnya sama
dengan proses baris ke'2, hasilnya dapat dilihat pada
tabel berikut:
Tabel 3. Hasil Enkripsi

Ciphertext yang dihasilkan pada proses segitiga 2
merupakan hasil akhir dari proses enkripsi.
Ciphertext yang dihasilkan ini kemudian diupdate
untuk menyandikan record tabel database yang telah
dipilih.
Untuk lebih jelasnya dapat dilihat dari tabel berikut:
Tabel 4. Hasil Proses Enkripsi Record Tabel Dengan Algoritma
TCC
PLAINTEXT
DESIMAL
PLAINTEXT
CIPHERTEXT
DESIMAL
CIPHERTEXT

2.

R
82

I
73

V
86

A
65

L
76

R
82

Y
89

Æ
198

©
169

ª
170


145

160

²
178

Í
205

Proses Dekripsi Algoritma
Cipher (TCC)

M [1 j] = C[ j ] (K * R[ 1 ]) Mod 256
Maka penyelesain untuk baris pertama (i = 1):
M11 = (C[1] ' (4 * R[1])) Mod 256
= (Æ ' (4 * (1))) Mod 256
= (198 ' 4) Mod 256
= 194 (huruf  dalam
karakter ASCII)

M12 = (C[2] ' (4 * R[1])) Mod 256
= (© ' (4 * (1))) Mod 256
= (169 ' 4) Mod 256
= 165 (huruf ¥ dalam
karakter ASCII)

M13 = (C[3] ' (4 * R[1])) Mod 256
= ( ª ' (4 * (1))) Mod 256
= (170 ' 4) Mod 256
= 166 (huruf ¦ dalam
karakter ASCII)

M14 = (C[4] ' (4* R[1])) Mod 256
= ( ‘ ' (4 * (1))) Mod 256
= (145 ' 4) Mod 256
= 141 (huruf ... dalam
karakter ASCII)

M16 = (C[5] ' (4 * R[1])) Mod 256
= ( ' (4 * (1))) Mod 256
= (160 + 4) Mod 256
= 156 (huruf œ dalam
karakter ASCII)

M16 = (C[6] ' (4 * R[1])) Mod 256
= ( ² ' (4 * (1))) Mod 256
= (178 ' 4) Mod 256
= 174 (huruf ® dalam
karakter ASCII)

M17 = (C[7] ' (4 * R[1])) Mod 256
= ( Í ' (4 * (1))) Mod 256
= (205 ' 4) Mod 256
= 201 (huruf É dalam
karakter ASCII)

Hasil dekripsi baris ke'1 (i = 1) (tanpa tanda “ ” )
adalah “ Â¥¦... œ® É ” dengan nilai desimal 194 165
166 141 156 174 201.
Hasil dekripsi keseluruhan sampai baris ke'1 ini,
dapat dilihat di bawah ini:
Æ©ª‘ ..²Í
Â¥¦...œ®É

198
194

169
165

170
166

145
141

160
156

178
174

205
201

i=0
i=1

Baris Ke'2
Rumus:
M[i j] = M[i 1] j (K * R[ i ]) Mod 256
Penyelesain untuk baris ke'2 sebagai berikut: i = 2;
j≤(7+1)'2 j ≤ 6
M21 = (C[2'1]1 ' (4 * R[2])) Mod
256
= (Â ' (4 * (2))) Mod 256
= (194 ' 8) Mod 256
= 186 (huruf º dalam
karakter ASCII)

M22 = (C[2'1]2 ' (4 * R[2])) Mod
256
= (¥ ' (4 * (2))) Mod 256
= (165 ' 8) Mod 256
= 157 (huruf ... dalam
karakter ASCII)

M23 = (C[2'1]3 ' (4 * R[2])) Mod
256
= ( ¦ ' (4 * (2))) Mod 256
= (166 ' 8) Mod 256
= 158 (huruf ž dalam
karakter ASCII)

M24 = (C[2'1]4 ' (4* R[2])) Mod 256
= ( ' (4 * (2))) Mod 256
= (141 ' 8) Mod 256
= 133 (huruf … dalam
karakter ASCII)

M25 = (C[2'1]5 ' (4* R[2])) Mod 256
= (œ ' (4 * (2))) Mod 256
= (156 ' 8) Mod 256
= 148 (huruf
” dalam
karakter ASCII)

M26 = (C[2'1]6 ' (4* R[2])) Mod 256
= (® ' (4 * (2))) Mod 256
= (174 ' 8) Mod 256
= 166 (huruf ¦ dalam
karakter ASCII)

Hasil dekripsi baris ke'2 (i = 2) (tanpa tanda “ ” )
adalah “ º...ž…”¦ ” dengan nilai desimal 186 157 158
133 148 166.
Hasil dekripsi keseluruhan sampai baris ke'2 ini,
dapat dilihat di bawah ini:

Triangle Chain

Untuk proses dekripsi TCC adalah kebalikan dari
proses enkripsi TCC
a. Matriks Enkripsi Segitiga Pertama

Æ©ª‘ ..²Í
Â¥¦...œ®É
º...ž…”¦

198
194
186

169
165
157

170
166
158

145
141
133

160
156
148

178
174
166

205
201

Maka hasil akhir seperti pada tabel berikut
Tabel 5. Hasil Akhir Enkripsi

Rumus untuk baris pertama (i = 1):

124

i=0
i=1
i=2

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

Hasil dekripsi baris ke'2 (i = 2) (tanpa tanda “ ” )
adalah “ Ib]|š½ ” dengan nilai desimal 73 98 93 124
154 189.
Hasil dekripsi keseluruhan sampai baris ke'2 ini,
dapat dilihat di bawah ini:
VUniˆ¦É
RQje㢁
Ib]|š½

b.

Matriks Dekripsi Segitiga Kedua

86
82

85
81
73

110
106
98

105
101
93

136
132
124

166
162
154

201
197
189

i=0
i=1
i=2

Maka hasil akhir seperti pada tabel berikut:
Tabel 6. Hasil Dekripsi

Untuk baris ke'1:
M1j = C [ j ] – (K* (R[1])) Mod 256
Maka penyelesain untuk baris pertama (i = 1):
M11 = (C[1] ' (4 * R[1])) Mod 256
= (V ' (4 * (1))) Mod 256
= (86 ' 4) Mod 256
= 82 (huruf R dalam
karakter ASCII)

M12 = (C[2] ' (4 * R[1])) Mod 256
= (U ' (4 * (1))) Mod 256
= (85 ' 4) Mod 256
= 81 (huruf Q dalam
karakter ASCII)

M13 = (C[3] ' (4 * R[1])) Mod 256
= ( n ' (4 * (1))) Mod 256
= (110 ' 4) Mod 256
= 106 (huruf j dalam
karakter ASCII)

M14 = (C[4] ' (4* R[1])) Mod 256
= ( i ' (4 * (1))) Mod 256
= (105 ' 4) Mod 256
= 101 (huruf e dalam
karakter ASCII)

M16 = (C[5] ' (4 * R[1])) Mod 256
= ( ˆ ' (4 * (1))) Mod 256
= (136 + 4) Mod 256
= 132 (huruf „ dalam
karakter ASCII)

M16 = (C[6] ' (4 * R[1])) Mod 256
= ( ¦ ' (4 * (1))) Mod 256
= (166 ' 4) Mod 256
= 162 (huruf ¢ dalam
karakter ASCII)

M17 = (C[7] ' (4 * R[1])) Mod 256
= (É ' (4 * (1))) Mod 256
= (201 ' 4) Mod 256
= 197 (huruf Å dalam
karakter ASCII)

Hasil dekripsi baris ke'1 (i = 1) (tanpa tanda “ ” )
adalah “ RQje„¢Å ” dengan nilai desimal 82 81 106
101 132 162 197.
Hasil dekripsi keseluruhan sampai baris ke'1 ini,
dapat dilihat di bawah ini:
VUniˆ¦É
RQje㢁

86
82

85
81

110
106

105
101

136
132

166
162

201
197

i=0
i=1

Baris Ke'2
Rumus:
M[ij] = C[i 1]j – (K * (R[i])) Mod 256
Penyelesain untuk baris ke'2 sebagai berikut: i = 2; j
≥i j≥2
M22 = (C[2'1]2 ' (4 * R[2])) Mod
256
= (Q ' (4 * (2))) Mod 256
= (81 ' 8) Mod 256
= 73 (huruf I dalam
karakter ASCII)

M23 = (C[2'1]3 ' (4 * R[2])) Mod
256
= (j ' (4 * (2))) Mod 256
= (106 ' 8) Mod 256
= 98 (huruf b dalam
karakter ASCII)

M24 = (C[2'1]4 ' (4 * R[2])) Mod
256
= ( e ' (4 * (2))) Mod 256
= (101 ' 8) Mod 256
= 93 (huruf
]
dalam
karakter ASCII)

M25 = (C[2'1]5 ' (4* R[2])) Mod 256
= ( „ ' (4 * (2))) Mod 256
= (132 ' 8) Mod 256
= 124 (huruf | dalam
karakter ASCII)

M26 = (C[2'1]6 ' (4* R[2])) Mod 256
= ( ¢ ' (4 * (2))) Mod 256
= (162 ' 8) Mod 256
= 154 (huruf
š dalam
karakter ASCII)

M27 = (C[2'1]7 ' (4* R[2])) Mod 256
= (Å ' (4 * (2))) Mod 256
= (197 ' 8) Mod 256
= 189 (huruf ½ dalam
karakter ASCII)

maka dari tabel diatas hasil proses enkripsi pertama
(tanpa tanda “ ” ) adalah “ RIVALRY ” dengan nilai
desimal 82 73 86 65 76 82 89.
Plaintext yang dihasilkan pada proses dekripsi
segitiga 2 adalah plaintext yang sebenarnya. Plaintext
ini kemudian untuk menggantikan record tabel
database yang telah tersandikan.
Untuk lebih jelasnya dapat dilihat dari tabel berikut:
Tabel 7. Hasil Proses Dekripsi Record Tabel
Database Dengan Algoritma TCC
CIPHERTE
Æ ©
ª

²
Í
XT
DESIMAL
19 16 17 14 16 17 20
CIPHERTE
8
9
0
5
0
8
5
XT
PLAINTEX
R
I
V
A
L
R
Y
T
DESIMAL
82 73 86 65 76 82 89
PLAINTEX
T
Hasil pengujian ini menggunakan program
yang telah dibangun dengan menerapkan algoritma
triangle chain cipher untuk proses penyandian record
tabel database, nilai kunci (key) yang digunakan sama
dengan angka “5” dan database dengan nama
“dbrival” dan nama tabel “tip1207”.
Pada pengujian sistem ini, ada beberapa aspek yang
diuji yaitu:
1. Aspek penyandian berdasarkan per record (baris)
tabel
Aspek penyandian berdasarkan per record (baris)
awal datanya adalah karakter string dengan panjang
seperti pada gambar 7.
0811199

Rivalry
Kristianto
Hondro

100

95

89

90

Gambar 7. Data Awal Per Record (Baris) Tabel
Sebelum Disandikan

125

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

Berdasarkan gambar 7 record yang akan disandikan
dengan nilai input kunci adalah angka 5 hasil proses
penyandian seperti pada gambar 5.24

Gambar 8. Data Akhir Per Record (Baris) Tabel
Setelah Disandikan
Berdasarkan gambar 8 proses penyandian per baris
membutuhkan waktu yang singkat dan cepat.
2. Aspek penyandian berdasarkan field (kolom)
tabel
Aspek penyandian berdasarkan per field (kolom) awal
datanya adalah karakter string dengan panjang seperti
pada gambar 9.

Gambar 10. Data Akhir Per Field (Kolom) Tabel
Setelah Disandikan
Berdasarkan gambar 10 proses penyandian per kolom
membutuhkan waktu yang lama jika dibandingkan
dengan penyandian berdasrkan per record.
3. Aspek penyandian seluruh record tabel
Aspek penyandian seluruh record pada tabel awal
datanya adalah karakter string dengan panjang seperti
pada gambar 11.

Gambar 9. Data Awal Per Field (Kolom) Tabel
Sebelum Disandikan
Berdasarkan gambar 9 field yang akan disandikan
dengan nilai input kunci adalah angka 5 hasil proses
penyandian seperti pada gambar 10.
Gambar 11. Data Awal Seluruh Record Tabel
Sebelum Disandikan
Berdasarkan gambar 11 seluruh record yang akan
disandikan dengan nilai input kunci adalah angka 5
hasil proses penyandian seperti pada gambar 12.

Gambar 12. Data Akhir Seluruh Record Tabel
Setelah Disandikan

126

Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839

Implementasi.” Edisi I. Yogyakarta: Andi.
Hlm. 43'45.

Hasil proses enkripsi record tabel database,
pada proses penyandian seluruh record tabel
membutuhkan waktu lama dibandingkan dengan
proses penyandian perbaris dan perkolom. Maka bisa
diambil kesimpulan dari hasil pengujian semakin
banyak record yang akan disandikan semakin lama
waktu proses penyandiannya.

[4] Rosa A.S – M. Shalahuddin (2011). “Modul
Pembelajaran Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek.” Edisi 7.
Bandung: Modula. Hlm.16'21.

KESIMPULAN

[5]

Setelah
melakukan
analisa
terhadap
penerapan algoritma triangle chain cipher pada
penyandian record database, maka penulis menarik
kesimpulan; Algoritma triangle chain melakukan
proses penyandian pada setiap record dari tabel
database yang terpilih sebanyak dua kali (secara
ganda). Penerapan penyandian record tabel database
dengan menggunakan algoritma triangle chain cipher
diawali dengan penentuan nama database dan
pemilihan tabel yang telah memiliki record yang
akan disandikan. Masing'masing record pada tabel
yang dipilij akan disandikan berdasarkan algoritma
triangle chain cipher yang telah tersedia didalam
aplikasi yang telah dibuat. Masing'masing record
tersebut akan di update dan menggantikan record
tabel yang lama dengan melakukan eksekusi perintah
MySQL. Kontrol yang dapat mengakses database
merupakan salah satu control yang sangat penting
dalam proses penyandian record table database.
menampilkan nama'nama tabel, nama'nama field dan
urutan record dari database yang diakses, pengaturan
kunci akan sangat pentinga dengan tujuan
memberikan kebebasan kepada pengguna memilih
tabel, filed, record yang akan disandikan dan kunci
yang akan digunakan dalam proses penyandian.
Untuk Nilai kunci di dalam penelitian ini
menggunakan algoritma kunci simetri, dengan jenis
nilai bilangan kunci yang di terapkan terdiri dari
urutan nilai bilangan angka 1 sampai dengan 20.
Untuk serangan dengan algoritma mampu menjamin
Ciphertext'only attack dengan teknik Analisis
frekuensi tidak lagi dapat digunakan. Cipherteks hasil
enkripsi sudah tidak memiliki frekuensi yang
bersesuaian dengan plainteks. Sehingga teknik
analisis frekuensi tidak cocok lagi digunakan untuk
menyerang algoritma ini.
Menjamin Known'
plainteks attack sulit untuk dilakukan.

Zebua, Taronisokhi (2013). “Analisa dan
Implementasi Algoritma Triangle Chain
Pada Penyandian Record Database”. Jurnal
Pelita Informatika. ISSN:2301'9425. Vol'III.
No.2 Hlm. 37' 49.

[6] Singh Bhalla, Jasdeep (2013). “A Database
Encryption Technique to Enhance Security
Using Hill Cipher Algorithm”. IJEAT. ISSN:
2249'8958.Vol'II. Hal. 660'664.
[7] Alhanjouri, Mohammed and Al Derawi, Ayman
M (2012). “A New Method Of Query Over
Encrypted Data in Database Using Hash
Map”. IJCA. ISSN:0975'8887. Vol'41.No.4.
Hal. 46'51.
[8] Firda Fauzan, Mohamad. “Studi dan Implementasi
Cipher
Subtitusi
Rantai
Segitiga”.
http://www.informatika.stei.itb.ac.id/~rinaldi
.munir/Kriptografi/2006'
2007/Makalah1/Makalah1'088.pdf. Diakses
12 Februari, 2014.

DAFTAR PUSTAKA
[1] Rinaldi Munir (2006). “Kriptografi.” Edisi I.
Bandung: Penerbit Informatika. 1'199.
[2] Rifki Sadiki (2012). "Kriptografi Untuk
Keamanan Jaringan." Edisi.I. Yogyakarta:
Andi. Hlm. 392
[3] Dony Ariyus
Kriptografi

(2008).
Teori,

“Pengantar
Analisis,

Ilmu
dan

127