Implementasi  Algoritma  Kriptografi Triangle  Chain  Cipher  (TCC) untuk  Pengamanan Database Berbasis Desktop pada CV. Usaha Tani

## IMPLEMENTASI ALGORITMA KRIPTOGRAFI TRIANGLE CHAIN

## CIPHER (TCC) UNTUK PENGAMANAN DATABASE BERBASIS DESKTOP PADA CV. USAHA TANI
Sani Akazar Pebresega 1) , Dewi Kusumaningsih 2)
1,2 Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur Jl. Raya Ciledug, Petukangan Utara, Jakarta Selatan 12260 Telp. (021) 5853753, Fax. (021) 5866369
E-mail : 1) saniakazar1@gmail.com, 2) dewi.kusumaningsih@budiluhur.ac.id

## ABSTRAK
CV.Usaha  Tani  adalah  sebuah  lembaga  yang  bekerja  pada  bidang  pertanian.  Banyak  database  yang  bersifat rahasia  dan  tidak  boleh  di  ketahui  oleh  pihak  yang  tidak  berhak  untuk  melihatnya.  Oleh  karena  itu,  untuk mengamankan  tabel  database  kita  dapat  menggunakan  kriptografi,  pengguna  tabel  database  membutuhkan bantuan keamanan akan tabel database yang akan disimpannya. Penerapan kriptografi pada CV.Usaha Tani akan di fokuskan bagaimana sampai dengan database dibuka oleh pihak yang berhak untuk melihatnya. Algoritma yang digunakan  oleh  penulis  adalah  Triangle  Chain. Oleh  karena  itu  dibutuhkan  aplikasi  yang  dapat  memudahkan pengguna untuk menginput dan menyimpan data-data tersebut dengan aman dan terjaga kerahasiaannya. Pada penelitian  ini  penulis  mengimplementasikan  keamanan  data  pada  database.  Teknik  pengamanan  data  ini dilakukan  dengan  menggunakan  teknik  kriptografi    TCC  (Triangle  Chain  Cipher).  Algoritma  kriptografi  TCC (Triangle  Chain  Cipher)  dapat  dimanfaatkan  untuk  mengamankan  data  serta  memberikan  kemudahan  kepada user untuk mengamankan datanya supaya isi  dari data tersebut  tidak diketahui oleh pihak yang tidak memiliki kepentingan  terhadap  data  tersebut.  Pada  tugas  akhir  ini  penulis  berusaha  untuk  membuat  suatu  aplikasi pengamanan  database  dengan  menggunakan  algoritma  kriptografi  TCC  (Triangle  Chain  Cipher).  Aplikasi pengamanan database ini berbasis desktop menggunakan bahasa pemrograman VB.net. Dengan adanya aplikasi ini, penulis berharap agar pengguna dapat menyimpan data yang bersifat rahasia ke dalam database tanpa takut ada orang lain yang dapat membaca isi dari data tersebut.
Kata kunci : Algoritma TCC ( Triangle Chain Cipher ), Kriptografi, Database .

## 1. PENDAHULUAN
Salah  satu  dampak  perkembangan  negatif dalam perkembangan teknologi adalah ada pencurian data, yang merupakan salah satu masalah yang  paling  di  takuti  oleh  Jaringan  komuikasi. Dengan  adanya  pencurian  data  maka  aspek keamanan dalam pertukaan informasi serta penyimpanan  data  di  anggap  penting.  CV.Usaha Tani  adalah  sebuah  lembaga  yang  bekerja  pada bidang  pertanian.  Banyak database yang  bersifat rahasia  dan  tidak  boleh  di  ketahui  oleh  pihak  yang tidak  berhak  untuk  melihatnya.  Oleh  karena  itu, untuk  mengamankan  tabel database kita  dapat menggunakan kriptografi. Pengguna tabel database membutuhkan  bantuan  keamanan  akan  tabel database yang  akan  disimpannya.  Penerapan kriptografi  pada  CV.Usaha  Tani  akan  di  fokuskan bagaimana  cara  mengamankan database dengan ilmu  kriptografi  ini  sehingga database tidak  bisa dibaca,  kemudian  bisa  dibaca  kembali  oleh  pihak yang berhak untuk melihatnya.

## 2. LANDASAN TEORI
2.1   Kriptografi
Kiptografi  sebuah  teori  keamanan  untuk
menjaga kerahasiaan pesan dengan cara menyandikan  ke  dalam  bentuk  yang  tidak  dapat
dimengerti  orang  lain,  selain  pemilik  data  tersebut (Jumrin, 2016) [1].
Kriptografi  pengetahuan  yang  berguna  untuk mengacak data semedikian rupa sehingga tidak bisa dibaca oleh pihak ketiga (Kromodimoeljo,2009) [2].
Seiring  perkembangan  kriptogarfi  digunakan  untuk keamanan  komunikasi  penting  seperti  komunikasi dikalangan  masyarakat  umum  untuk  melindungi data yang bersifat pribadi (Basri, 2016) [3].
(Hasrul, 2016([4]. Aspek-aspek keamanan di dalam kriptografi meliputi :
1) Confidentiality (Kerahasiaan)
2) Data Integrity (Integritas)
3) Authentication (Otentikasi)
4) Non- repudiation (Penyangkalan)

## 2.2 Algoritma triangle chain (TCC)
Pengolahan  kode  rahasia  yang  diproses algoritma TCC berupa cipher segitiga dua kali lipat serta  melakukan  enkripsi  ganda,  dengan  cara membuat  pola  enkripsi  pertama  ke  arah  kanan  dan enkripsi kedua ke arah kiri.
Tabel  1 : Tabel Kode ASCII 0~127

## 2.2.1 Algortima Enkripsi TCC
Adapun  algoritma  enkripsi  yang  ada  pada metode  ini  dengan  menggunakan  rumus  sebagai berikut:
1. Matriks Enkripsi Segitiga Pertama Untuk baris ke-1 :
M1j = P[ j ] + (K * R[ 1]) mod 255
untuk baris ke-2 dan selanjutnya untuk nilai j ≥ i :
Mij  =  M(i,j)  +  (K  *  R  [  i  ])  mod  255, sehingga nilai ciphertext yang diperoleh adalah : Mij = [j,(N+j)-n].
2. Matriks Enkripsi Segitiga Kedua Nilai P diperoleh dari nilai Mij pada i = j Untuk baris ke-1 :
M1j = P[ j ] + (K*R[1])) mod 255 untuk baris ke 2 dan selanjutnya untuk nilai j ≤ (N+1) – i : Mij = M(i,j)+(K*R[i])) mod 255, sehingga nilai cipherteks yang diperoleh adalah : Mij = [ (N-j)+1, j ]. Keterangan : P=Plainteks ; N=Jumlah Karakter Plainteks; M=Matriks penampung hasil penyandian K=Kunci; R= Row (baris perkalian faktor pengali dengan kunci); i= Index faktor pengali; j=Index karakter plaintext; Nilai R = M; J = R; i = R
2.2.2 Algoritma Dekripsi TCC
Sedangkan untuk algoritma dekripsi Triangle Chain Cipher merupakan  kebalikan  dari algoritma enkripsi, rumusnya sebagai berikut:
1. Matriks dekripsi segitiga pertama operasinya merupakan kebalikan dari matriks enskripsi, jadi operasi  ini  kebalikan  operasi  matriks enkripsi segitiga kedua.  Nilai  C  merupakan  tabel  dari ciphertext dengan panjang N yaitu C[N]. Mencari baris ke-1 :
M1j = C[ j ] - (K * R[ 1]) mod 255
untuk baris ke-2 dan selanjutnya untuk nilai j ≥ i : Mij = C(i,j) - (K * R [ i ]) mod 255 Nilai ciphertext yang diperoleh adalah : Mij = [j,(N+j)-n]. 2. Matriks dekripsi segitiga kedua Baris  pertama  berlaku  formula,  dengan nilai i = j Untuk baris ke-1 : M1j = C[ j ] - (K*R[1])) mod 255
untuk baris ke 2 dan selanjutnya untuk nilai j ≤ (N+1) – i :
Mij = M(i,j) - (K*R[i])) mod 255, sehingga nilai cipherteks yang diperoleh adalah : Mij = [ (N-j)+1, j ]. Keterangan : C=Ciphertext

## 3. ANALISA MASALAH DAN RANCANGAN APLIKASI
Tahapan-tahapan  yang  terjadi  dalam  proses sistem aplikasi ini dapat dijelaskan sebagai berikut. karena    berfungsi    sebagai    gudang    penyimpanan data  yang  akan diolah lebih mendalam karena  dapat mengorganisasi    data,  menghidari    duplikasi    data, juga update yang rumit (Rahmad, 2014).

## 3.1 Arsitektur sistem
Gambar 1.Arsitektur Sistem
3.2 ERD ( Entity Relationship Diagram )
Kumpulan  bagian  dari  keseluruhan  suatu  yang berwujud  serta  kumpulan  penghubung  antar pihak  seluruh  data  yang  ada.  Seperti  pada Gambar 3 adalah gambar rancangan ERD:
Gambar 2. ERD ( Entity Relationship Diagram )
3.3  Transformasi ERD ke Logical  Record
Structure (LRS)
Berdasarkan ER-Diagram pada Gambar maka didapatkan transformasi  ER-Diagram  ke Logical  Record Structure sebagai berikut:

## Gambar 3. Tansformasi ERD Ke LRS
3 . 4 Logical Record Structure (LRS) Dari  transFormasi  ER-Diagram  ke  LRS  yang dijabarkan pada gambar 3.3 maka dihasilkan bentuk Logical  Record  Structure (LRS)  untuk  aplikasi yang diusulkan sebagai berikut:
Gambar 4. Logical Record Structure (LRS)

## 3.5 Flowchart Aplikasi
Untuk  memudahkan  pemahaman  proses, kerangka  berfikir  akan  disajikan  dalam  bentuk flowchart sebagai berikut : 3.5.1 Flowchart Enkripsi TCC (Triangle Chain Cipher) Flowachart proses  Enkripsi  TCC  ( Triangle Chain  Cipher )  menjelaskan  alur  proses  atau  cara kerja algoritma TCC ( Triangle Chain Cipher ) untuk menghasilkan ciphertext. Untuk  lebih  jelasnya berikut adalah proses dari flowcahart proses enkripsi TCC ( Triangle Chain Cipher ):
Mulai Masukan Plaintext Masukan Key Hitung segitiga1 (baris pertama) yang ditampung pada matrik, dengan rumus M [1 j] = Plaintext(P) + (Kunci(K) * baris(R)[ 1 ]) Mod 256(ACII) Hitung baris kedua Untuk baris ke-2 dan seterusnya untuk nilai M [i j] = M [i-1] j + (K * R[ i ]) Mod 256 J>I Ya Tidak Sehingga nilai ciphertext yang diperoleh: M [i j] pada nilai j = (N+i) – N Memasukan chipertext ke segitaga dua dari segitiga pertama Chipertext diambil dengan rumus, Jumlah karakter plaintext(N) M [i j] pada nilai j = (N+i) – N J<(N+1)-1 Hitung segitiga2 yang didapat dari segitga pertama Mij dengan rumus M [1 j] = Plaintext(P) + (Kunci(K) * baris(R)[ 1 ]) Mod 256(ACII) Hitung baris kedua Untuk baris ke-2 dan seterusnya untuk nilai M [i j] = M [i-1] j + (K * R[ i ]) Mod 256 Ya Sehingga nilai ciphertext yang diperoleh: M [i j] pada nilai  j = (N+1) – i Tidak ambil chipertext  segitaga dua Chipertext diambil dengan rumus, Jumlah karakter plaintext(N) M [i j] pada nilai  j = (N+1) – i Selesai Ya Ya Tidak Tidak J>I J<(N+1)-1 Gambar 5. Flowchart TCC Enkripsi
3.5.2 Flowchart Dekripsi TCC ( Triangle Chain Cipher ) Flowachart proses  Dekripsi  TCC  ( Triangle Chain  Cipher )  menjelaskan  alur  proses  atau  cara kerja algoritma TCC ( Triangle Chain Cipher ) untuk menghasilkan plaintext. Untuk lebih jelasnya berikut adalah  proses  dari flowcahart proses  enkripsi  TCC ( Triangle Chain Cipher ):
Implementasi  Algoritma  Kriptografi Triangle  Chain  Cipher  (TCC) untuk  Pengamanan Database Berbasis Desktop pada CV. Usaha Tani
Mulai Masukan Chipertext Masukan Key Hitung segitiga1 (baris pertama) yang ditampung pada matrik, dengan rumus M [1 j] = Chipertext(C)[baris(j)] - (Kunci(K) * baris(R)[ 1 ]) Mod 256(ACII) Hitung baris kedua Untuk baris ke-2 dan seterusnya untuk nilai M [ij] = M [i-1]j – (K * (R[i])) Mod 256 J<(N+1)-1 Ya Tidak sehingga nilai plaintext untuk cipertext yang asli adalah:M [i j] pada nilai  j = (N+1) – i Memasukan chipertext ke segitaga dua dari segitiga pertama Chipertex t diambil dengan rumus, Jumlah karakter Chipertext(N) M [i j] pada nilai  j = (N+1) – i j   i Hitung segitiga2 yang didapat dari segitga pertama M ij dengan rumus M [1 j] = Chipertext(C)[baris(j)] - (Kunci(K) * baris(R)[ 1 ]) Mod 256(ACII) Hitung baris kedua Untuk baris ke-2 dan seterusnya untuk nilai M [ij] = M [i-1]j – (K * (R[i])) Mod 256 Ya sehingga nilai plaintext untuk cipertext yang asli adalah: M [i j] pada nilai j = (N+i)-N Tidak ambil chipertext  segitaga dua Chipertex t diambil dengan rumus, Jumlah karakter plaintext(N) M [i j] pada nilai j = (N+i)-N Selesai J<(N+1)-1 Tidak j   i Tidak Ya Ya Gambar 6. Flowchart TCC Dekripsi

## 4. HASIL DAN UJI COBA APLIKASI
4.1 Tampilan Layar Login
Form  Login akan  tampil  pada  saat  aplikasi dijalankan. Pengguna  harus  mengisi Username dan Password kemudian  klik  tombol Login ,  sehingga dapat  masuk  ke  dalam  Menu  Utama.  Bentuk tampilannya sebagai berikut:

## Gambar 7.Tampilan layar Login

## 4.2   Tampilan Layar Menu Utama
Tampilan  layar  menu  utama  akan  muncul ketika  pengguna  berhasil  melakukan login .    Pada menu  utama  terdapat  8  Menu  yaitu form Barang, form pelanggan, form penjualan, laporan penjualan, form pengaturan,  tentang,  Petunjuk,  Keluar  Pada Menu Form Pengaturan terdapat menu item  pengaturan key dan  item  pengaturan user .
Tampilan  layar  menu  utama  dapat  dilihat  seperti pada Gambar 8 berikut ini:
Gambar 8.Tampilan Menu Utama
4.3 Form Tampilan Layar Barang Tampilan  Layar Form Barang terdapat  di  tab  pojok  kanan  atas  di  menu utama.  Pada form barang  terdapat  kode barang yang secara otomatis terinput sesuai dengan  urutan  kode  barang,  terdapat  juga field penginputan nama barang, harga beli, dan  harga  jual.  Terdapat  5 button yaitu simpan, ubah, hapus, batal, dan keluar dan terdapat  1 button yaitu  lihat  data,  seprti gambar 9 berikut ini:
Gambar 9. Layar Form Barang Semua  proses  pencarian,  penambahan, perubahan,  serta  penghapusan  data  yang pada form barang  akan  memunculkan pemberitahuan  berbentuk message dialog yang  dapat  dilihat  seperti  pada  gambar  9 sampai  gambar  10,  Pada  Gambar  10
muncul message dialog  berhasil  apabila user berhasil menambahkan data barang.
Gambar 10: Tampilan Message Dialog Berhasil Menyimpan Barang
Maka data yg disimpan tadi akan tersimpan di dalam database, berikut adalah tampilan data barang yang disimpan di database.
Gambar 11. Hasil Enkrpsi Data Barang Pada

## Database

## 4.4   Evaluasi Program
Evaluasi adalah salah satu hal yang dilakukan dalam setiap pengembangan aplikasi untuk mengetahui  kelebihan  dan  kekurangannya.  Dalam evaluasi  ini  ditemukan  beberapa  kelebihan  dan kekurangannya antara lain :

## 4.4.1 Kelebihan Program
a) Tampilan  aplikasi user  friendly sehinga mudah digunakan.
b) Database penjualan menjadi lebih aman karan telah melakukan proses enkripsi.
c) Hasil report penjualan  bisa  langsung  dilihat oleh  admin  dan  dapat  melihat  langsung menghitung estimasi kebutuhan serta keuntungan.
d) Mempermudah pencarian data pada database.
4.4.2 Kekurangan Program
a) Banyaknya data penjualan yang tampil adalah sesuai yang user input .
b) Tidak bisa diakses dimana saja karena berbasis desktop.
c) Ukuran file enkripsi menjadi lebih besar.
Dari  hasil  analisis  yang  telah  dilakukan terhadap  permasalahan  dari  aplikasi  yang  telah dibuat, maka dapat ditarik beberapa kesimpulan dan saran  yang  mungkin  dibutuhkan  oleh  penulis dikemudian hari.

## 5. Kesimpulan
Hasil yang telah kami lakukan terhadap analisis permasalahan  dalam  aplikasi  yang  dikembangkan dapat disimpulkan sebagai berikut:
5.1   Kesimpulan
a. Enkripsi  TCC  ( Triangle Chain Cipher ) dapat  diimpementasikan  pada  aplikasi pengamanan database dengan menggunakan bahasa VB . net dan database HeidiSQL .
b. Aplikasi ini dapat mengamankan data yang masuk  kedalam database dengan  teknik kriptografi  menggunakan  metode  TCC ( Triangle Chain Cipher )  sehingga  data yang  tersimpan  kedalam database akan sulit untuk dibaca.
c. Aplikasi ini dapat dijalankan sesuai dengan spesifikasi teknik yang dirancang.

## 5.2 Saran
Selain  menarik  beberapa  kesimpulan,
dapat  pula  diajukan  saran-saran  yang mungkin bisa dijadikan pertimbangan dalam pengembangan sistem, antara lain:
a. Diharapkan  dilakukan  pelatihan  terlebih dahulu kepada user agar user benar-benar memahami  sistem  dan  cara  penggunaan sekaligus pemeliharaannya sehingga sistem  dapat  digunakan  dengan  optimal untuk jangka waktu yang lama.
b. Progam  atau  perangkat  lunak  ini  dapat dikembagkan dengan menambahkan penjelasan  yang  lebih  detail  dan  lebih baik.

## 6. DAFTAR PUSTAKA
[1] Jumrin, Sutardi, & Subardin. (2016). Sistem Keamanan  Basis  Data menggunakan Teknik  Kriptografi  RC4 Stream  Cipher. Jurnal  semanTIK,  Vol.2,  No.1,  Jan-Jun 2016, pp. 59-64 ISSN : 2502-8928.
[2 ]  Kromodimoeljo,    S.    (2009),    “Teori    dan Aplikasi    Kriptografi”,    Penerbit    SPK ITConsulting,Yogyakarta.
[3]  Basri.  (2016).  Kriptografi  Simetris  dan Asimetris  Dalam  Pespetif  Keamanan  Data dan  Kompleksitas  Komputasi.  Jurnal Ilmiah Ilmu Komputer, Vol. 2, No. 2, ISSN 2442-4512, ISSN 2503-3832
[4]  Hasrul,  &  Siregar,  H.L.  (2016).  Penerapan Teknik Kriptografi Pada Database Menggunakan  Algoritma One Time Pad . Jurnal  Elektronik  Sistem  Informasi  dan Komputer, ISSN:  2477-5290, ISSN: 2502- 2148. Vol.2 No.2.