## TIN: Terapan Informatika Nusantara
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin

## Implementasi Algoritma Skipjack Dalam Pengamanan File Video

## Rina Wanty Lumban Gaol
Prodi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: wantyrina41@gmail.com
Abstrak− Masalah yang terdapat pada ruang lingkup video adalah dimana video yang bersifat privasi tersebut dapat ditonton oleh orang yang tidak berhak jika file video tanpa pengamanan. Apabila terjadi suatu pembobolan dan pencurian informasi suatu data penting dalam sebuah file video tersebut, maka akan merugikan pihak yang berkepentingan. Oleh karena itu, dibutuhkan suatu sistem aplikasi untuk dapat mengamankan file video tersebut. Untuk meminimalisir hal ini maka diperlukan pengamanan tingkat kedua yaitu dengan mengacak video tersebut sehingga informasi visual dari video tersebut tidak dapat terlihat oleh orang yang tidak memiliki kunci. Maka informasi dalam file video tersebut di ubah dalam bentuk kode atau isyarat dimana kode inilah yang akan dimanipulasi. Dengan demikian penulis merasa file video perlu diamankan dengan pengamanan yang baik. Sehingga perlu membuat enkripsi dan dekripsi pada file video.Algoritma skipjack salah satu algoritma kriptografi yang dapat digunakan untuk mengamankan file video. Algoritma skipjack merupakan algoritma elektronik codebook 64-bit yang merubah 64-bit blok masukkan menjadi 64-bit blok keluaran. Parameter yang digunakan untuk enkripsi adalah 80- bit kunci, dan mempunyai 32 putaran untuk proses enkripsi dan deskripsi. Penelitian ini menguraikan bagaimana pengamanan file video berdasarkan algoritma skipjack.
Kata Kunci: Kriptografi; Algoritma Skipjack; File Video
Abstract −The problem that lies within the scope of the video is where the privacy video can be  watched by unauthorized people if the video file is unsecured. In the event of a burglary and theft of important data information in a video file, it will be detrimental to interested parties. Therefore, we need an application system to be able to secure the video file. To minimize this, a second level of security is needed by scrambling the video so that the visual information from the video cannot be seen by people who do not have a key. Then the information in the video file is changed in the form of codes or signals where this code will be manipulated. Thus the authors feel the video files need to be secured with good security. So it is necessary to make encryption and decryption on video files. The skipjack algorithm is one of the cryptographic  algorithms that  can  be  used  to  secure  video  files.  The  skipjack  algorithm  is  a  64-bit  codebook  electronic  algorithm  that changes  a 64-bit input  block to  a  64-bit output block. The parameters used  for encryption  are  80-bit keys,  and  have  32  rounds  for  the encryption and description process. This study describes how to secure video files based on the skipjack algorithm.
Keywords : Cryptography; Skipjack Algorithm; Video File

## 1. PENDAHULUAN
Saat  ini  siapa  saja  dapat  membuat  video  asalkan  memiliki  perangkat  pembuat  video  misalnya  menggunakan smartphone . Namun, setiap smartphone memiliki kapasitas terbatas sehingga memungkinkan untuk menyimpannya kedalam suatu drive yang memiliki kapasitas lebih besar misalnya kedalam google drive . Seperti yang sudah kita ketahui bahwa setiap smartphone memiliki satu akun google , dimana akun tersebut bisa digunakan untuk masuk ke akun google lainnya seperti google drive , google maps , dan lain sebagainya. Ada kalanya file video yang dimasukkan dalam google drive tersebut bersifat private atau rahasia  sehingga  hanya  pemilik  akunlah  yang  bisa  membuka google  drive tersebut  dengan password yang  telah terdaftar. Akun google menggunakan cara single sign on yaitu sekali login dapat membuka semua akun google yang dimiliki. Oleh karena itu apabila username dan password salah satu akun diketahui oleh pihak lain maka pihak tersebut dapat membuka semua akun yang lainnya. Hal ini sangat merugikan tak terkecuali jika terdapat rekaman video yang bersifat pribadi yang  disimpan  di drive tersebut.  Untuk  meminimalisir  hal  ini  maka  diperlukan  pengamanan  tingkat  kedua  yaitu  dengan mengacak video tersebut sehingga informasi  visual  dari video tersebut tidak dapat terlihat oleh orang yang tidak memiliki kunci.Untuk itu dibutuhkan pengamanan file video yang berada dalam google drive tersebut  supaya tingkat  keamanannya lebih terjamin. Maka informasi dalam file video tersebut di ubah dalam bentuk kode atau isyarat dimana kode inilah yang akan dimanipulasi.

## 2. LANDASAN TEORI

## 2.1 Algoritma Skipjack
Skipjack memiliki blok data masukan (Plaintext) berukuran 64 bit yang kemudian data tersebut diubah menjadi kumpulan blokblok  data  yang  berukuran  64  bit  yang  diproses  dengan  kunci  yang  sama  untuk  menghasilkan chipertext. Kunci  yang digunakan berukuran 80 bit. Dalam proses enkripsi dan dekripsinya skipjack memiliki 32 putaran artinya algoritma utamanya diputar sebayak 32 kali untuk menghasilkan chipertext .Dalam Skipjack terdapat beberapa istilah yang digunakan yaitu antara lain:
a. Word : berisi 16 bit b. Byte : berisi 8 bit c. X.Y : XOR dari X dan Y

## TIN: Terapan Informatika Nusantara
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online)

## Website https://ejurnal.seminar-id.com/index.php/tin
Skipjack mengenkripsi  data  sebanyak  4 word (terdiri  atas  8  byte,  1byte  =  16  bit). Skipjack mempunyai  2  aturan diantaranya  adalah  Rule  A  dan  Rule  B,  aturan  ini  digunakan  secara  bergantian  dalam  proses  enkripsi  untuk  mengubah plaintext menjadi chipertext dan  dalam  proses  dekripsi  untuk  mengubah chipertext menjadi plaintext. Terdapat  dua  tipe putaran dalam skipjack cipher yang disebut dengan stepping rule .Kedua tipe tersebut adalah : Tipe A :
1. Upablok W1 dienkripsi dengan fungsi permutasi G yang adalah empat putaran feistel cipher biasa.
2. Hasil enkripsinya dan nomor putaran yang bertambah dari satu sampai dengan 32, di xor dengan upablok W4.
3. Setiap upablok dirotasi W1 ke W2, W2 ke W3, W3 ke W4, dan W4 ke W1. Tipe B :
1. Upablok W2 di-xor dengan W1 dan nomor putaran.
2. W1 dienkripsi dengan fungsi permutasi G.
Setiap upablok dirotasi W1 ke W2, W2 ke W3, W3 ke W4, dan W4 ke W1

## 3. HASIL DAN PEMBAHASAN
Analisa  masalah  dilakukan  untuk  mendapatkan  solusi  dalam  menyelesaikan  permasalahan  yang  telah  dijelaskan  pada  bab sebelumnya yang bertujuan untuk  mencapai  sistem  yang baik  agar mendapatkan hasil yang akurat. Adapun masalah yang diangkat penulis dalam penelitian ini adalah bagaimana mengamankan file video dengan menggunakan algoritma skipjack . File video format MP4  merupakan sebuah format file yang umumnya digunakan untuk format file pada audio dan juga video. Selain itu, juga bisa digunakan untuk menyimpan subtitle dan bahkan gambar, yang bersifat rahasia maka diperlukan sebuah pengamanan.

## 3.1 Kunci Algoritma Skipjack
Kunci pada algoritma skipjack merupakan kunci simetri. Proses pengolahan kunci pada metode skipjack adalah proses yang dilakukan sebelum melakukan proses enkripsi maupun dekripsi. Berikut ini adalah pelaksanaan proses pengolahan kunci yang bertujuan untuk menghasilkan 10 buah subkunci ( cryptovariable ). Kunci  = RINAWANTYY Kunci dalam bentuk hexadesimal = 52,49,4E,41,57,41,4E,54,59,59 Bagi kunci menjadi 10 subkunci ( cryptovariable ), masing-masing 8 bit sebagai berikut.
CV(0) = 52 CV(5) = 41 CV(1) = 49 CV(6) = 4E CV(2) = 4E CV(7) = 54 CV(3) = 41 CV(8) = 59 CV(4) = 57 CV(9) = 59

## 3.1.1 Proses Enkripsi
Proses enkripsi dalam metode skipjack memiliki 32 putaran dengan menggunakan 10 buah subkunci yang merupakan hasil pembagian dari sebuah kunci rahasia. Berikut ini adalah proses enkripsi metode skipjack : Ubahlah plain video menjadi 4 bagian (W 1 ,W 2 ,W 3 ,W 4 ) sebagai berikut: W 1 (0) = 0000 W 3 (0) = 6973 W 2 (0) = 0020 W 4 (0) = 6F60 Putaran 1 (Rule A, K = 0, Counter = 1 ) G(W1(0)) = G(0000) g1 = 00 g2 = 00 g3 = F(g2  cv[(4*k) mod 10]  g1 cv[(4*0) mod 10]) = cv[0] = 52 g2     = 00 = 0000 0000 cv[0] = 52 = 0101 0010  0101 0010 F(0101 0010) = F(52) = DA F(52) =  DA = 1101 1010 g1      =  00   = 0000 0000  g3  =  1101 1010 (DA) g4 = F(g3  cv[((4*k) + 1) mod 10])  g2 cv[((4*0) + 1) mod 10] = cv[1] = 49
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin
g3     = DA = 1101 1010 cv[1] = 49   = 0100 1001  1001 0011 F(1001 0011) = F(93) = 1F F(93) =  1F = 0001 1111 g2      =  00 = 0000 0000  g4 =  0001 1111(1F)
g5 = F(g4  cv[((4*k) + 2) mod 10])  g3 cv[((4*0) + 2) mod 10] = cv[2] = 4E
g4     = 1F   = 0001 1111 cv[2] = 4E   = 0100 1110  0101 0001 F(0101 0001) = F(51) = B9 F(51) = B9 = 1011 1001 g3     = DA = 1101 1010  g5 =  0110 0011(63)
g6 = F(g5  cv[((4*k) + 3) mod 10])  g4 cv[((4*0) + 3) mod 10] = cv[3] = 41 g5     = 63   = 0110 0011 cv[3] = 41   = 0100 0001  0010 0010 F(0010 0010) = F(22) = 02 F(22) = 02   = 0000 0010 g4      =  1F = 0001 1111  g6  = 0001 1101 (1D) g5+g6 = 631D W1(1) = G(W1(0))  W4(0)  Counter G(W1(0)) = 631D = 0110 0011 0001 1101 W4(0)       = 6F60 = 0110 1111 0110 0000  0000 1100 0111 1101 Counter    = 1
= 0000 0000 0000 0001 
0000 1100 0111 1100 [0C7C] W2(1) = G(W1(0)) = 631D W3(1) = W2(0) = 0020 W4(1) = W3(0) = 6973 K = 1 ; Counter = 2 Cipher video = W1(1)+W2(1)+W3(1)+W4(1) = 0C7C 631D 0020 6973 Putaran 2 (Rule A, K = 1, Counter = 2 ) G(W1(1)) = G(0C7C) g1 = 0C g2 = 7C g3 = F(g2  cv[((4*k) mod 10]  g1 cv[(4*1) mod 10]) = cv[4] = 57 g2     = 7C = 0111 1100 cv[4] = 57 = 0101 0111  0010 1011 F(0010 1011) = F(2B) = C3 F(2B) = C3  = 1100 0011 g1      = 0C  = 0000 1100  g3 = 1100 1111 (CF)
g4 = F(g3  cv[((4*k) + 1) mod 10])  g2
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin
cv[((4*1) + 1) mod 10] = cv[5] = 41 g3     = CF  = 1100 1111 cv[1] = 41   = 0100 0001  1000 1110 F(1000 1110) = F(8E) = 67 F(8E) = 67 = 0110 0111 g2      = 7C = 0111 1100  g4 = 0001 1011(1B) g5 = F(g4  cv[((4*k) + 2) mod 10])  g3 cv[((4*1) + 2) mod 10] = cv[6] = 4E g4     = 1B   = 0001 1011 cv[6] = 4E   = 0100 1110  0101 0101 F(0101 0101) = F(55) = 41 F(55) = 41 =  0100 0001 g3     = CF = 1100 1111  g5 =  1000 1110 (8E) g6 = F(g5  cv[((4*k) + 3) mod 10])  g4 cv[((4*1) + 3) mod 10] = cv[7] = 54 g5     = 8E  = 1000 1110 cv[7] = 54   = 0101 0100  1101 1010 F(1101 1010) = F(DA) = 8E F(DA) = 8E = 1000 1110 g4     = 1B   = 0001 1011  g6  = 1001 0101 (95) g5+g6 = 8E95 W1(2) = G(W1(1))  W4(1)  Counter 1 G(W2(1)) = 8E95 = 1000 1110 1001 0101 W4(1)       = 6973 =  0110 1001 0111 0011 
1110 0111 1110 0110
Counter    = 2
=  0000 0000 0000 0010 
1110 0111 1110 0100  [E7E4] W2(2) = G(W1(1)) = 8E95 W3(2) = W2(1) = 631D W4(2) = W3(1) = 0020 K = 2 ; Counter = 3 Cipher video = W1(2)+W2(2)+W3(2)+W4(2) = E7E4 8E95 631D 0020
Lakukan perhitungan dengan cara yang sama sampai putaran ke 31 sehingga akan mendapatkan hasil akhir sebagai berikut : 8E3E A059 3EB1 E41D.

## 3.1.2 Proses Dekripsi
Proses dekripsi merupakan kebalikan dari proses enkripsi, yang bertujuan untuk mengembalikan cipher video kebentuk plain video (karakter awal). Berikut adalah proses dekripsi, Ubah cipher video kedalam bentuk hexadesimal : 8E3E A059 3EB1 E41D. kemudian bagi cipher video menjadi 4 bagian (W1, W2, W3, W4) yaitu sebagai berikut: W1(32) = 8E3E  W3(32) = 3EB1 W2(32) = A059  W4(32) = E41D Putaran ke-1 (Rule B -1 , K = 32, Counter = 32) G -1 (W2(32)) =G -1 (A059) g5 = A0 g6 = 59 g4 = F(g5  cv [(4*(k-1)+3) mod 10])  g6 cv[(4*(32-1)+3) mod 10] = cv[7] = 54 g5     = A0 = 1010 0000 cv[7] = 54 = 0101 0100 
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin
F (1111 0100) = F (F4) = 57 F (F4) = 57 = 0101 0111 g6       = 59 = 0101 1001  g4 = 0000 1110 (0E) g3 = F(g4  cv [(4*(k-1)+2) mod 10])  g5 cv[(4*(32-1)+2) mod 10] = cv[6] = 4E g4     = 0E = 0000 1110 cv[6] = 4E = 0100 1110  = 0100 0000 F (0100 0000) = F(40) = 39 F(40) = 39 = 0011 1001 g5     = A0 = 1010 0000  g3 = 1001 1001 (99)
g2 = F(g3  cv [(4*(k-1)+1) mod 10])  g4 cv[(4*(32-1)+1) mod 10] = cv[5] = 41 g3     = 99 = 1001 1001 cv[5] = 41 = 0100 0001  = 1101 1000 F (1101 1000) = F(D8) = EC F(D8) = EC = 1110 1100 g4      = 0E  = 0000 1110  g2   = 1110 0010 (E2)
g1 = F(g2  cv [(4*(k-1)) mod 10])  g3 cv[4*(32-1) mod 10] = cv[4] = 57 g2     = E2 = 1110 0010 cv[4] = 57 = 0101 0111  = 1011 0101 F (1011 0101) = F(B5) = C4 F(B5) = C4 = 1100 0100 g3      = 99  = 1001 1001  g1   = 0101 1101 (5D) W1(31) = G -1 ((W2(32)) = 5DE2 W2(31) = G -1 ((W2(32))  W3(32)  Counter G -1 ((W2(32)) = 5DE2 = 0101 1101 1110 0010
W3(32)          = 3EB1 = 0011 1110 1011 0001  = 0110 0011 0101 0011 Counter  = 32 = 0000 0000 0011 0010  = 0110 0011 0110 0001 [6361] W3(31) = W4(32) = E41D W4(31) = W1(32) = 8E3E K=31 ; Counter = 31 Plain vidoe : W1(31)+W2(31)+W3(31)+W4(31)= 5DE2 6361 E41D 8E3E
Putaran ke-2 (Rule B -1 , K = 31, Counter = 31) G -1 (W2(31)) =G -1 (6361) g5 = 63 g6 = 61 g4 = F(g5  cv [(4*(k-1)+3) mod 10])  g6 cv[(4*(31-1)+3) mod 10] = cv[3] = 41 g5     = 63 = 0110 0011 cv[3] = 41 = 0100 0001  0010 0010 F (0010 0010) = F (22) = 02 F (22) = 02 = 0000 0010
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin
g6       = 61 = 0110 0001  g4 = 0110 0011 (63)
g3 = F(g4  cv [(4*(k-1)+2) mod 10])  g5 cv[(4*(31-1)+2) mod 10] = cv[2] = 4E g4     = 63 = 0110 0011 cv[2] = 4E = 0100 1110  = 0010 1101 F (0010 1101) = F(2D) = FA F(2D) = FA = 1111 1010 g5      = 63  = 0110 0011  g3   = 1001 1001  (99)
g2 = F(g3  cv [(4*(k-1)+1) mod 10])  g4 cv[(4*(31-1)+1) mod 10] = cv[1] = 49 g3     = 99 = 1001 1001 cv[1] = 49 = 0100 1001  = 1101 0000 F (1101 0000) = F(D0) = 0C F(D0) = 0C = 0000 1100 g4       = 63 = 0110 0011  g2   = 0110 1111 (6F)
g1 = F(g2  cv [(4*(k-1)) mod 10])  g3 cv[4*(32-1) mod 10] = cv[0] = 52 g2     = 6F = 0110 1111 cv[0] = 52 = 0101 0010  = 0011 1101 F (0011 1101) = F(3D) = 16 F(3D) = 16 =  0001 0110 g3      =  99 = 1001 1001  g1   = 1001 1111 (9F) W1(30) = G -1 ((W2(32)) = 9F6F W2(30) = G -1 ((W2(31))  W3(31)  Counter G -1 ((W2(31)) = 9F6F = 1001 1111 0110 1111
W3(31)         = E41D = 1110 0100 0001 1101  = 0111 1011 0111 0010 Counter  = 31 = 0000 0000 0011 0001  = 0111 1011 0100 0011 [7B43] W3(30) = W4(31) = 83E3 W4(30) = W1(31) = 5DE2 K=30 ; Counter = 30 Plain video : W1(30)+W2(30)+W3(30)+W4(30)= 9F6F 7B43 8E3E 5DE2 Lakukan perhitungan dengan cara yang sama sampai putaran ke 32 sehingga akan mendapatkan hasil akhir sebagai berikut : 0000 0020 6973 6F60.

## 3.2 Pengujian Sistem
Pengujian  sistem  merupakan  pengujian  program  perangkat  lunak  yang  lengkap  dan  terintegrasi.  Dimana  perangkat  lunak ( software ) dihubungkan dengan perangkat keras ( hardware ) lainnya.
Tabel 1. Pengujian Sistem Uji Tombol Fungsi Hasil Browser Mencari file video Berhasil Enkripsi untuk melakukan proses enkripsi plainteks ke cipherteks. Berhasil Dekripsi untuk melakukan proses dekripsi cipherteks ke plainteks. Berhasil Keluar Keluar dari form Berhasil

## TIN: Terapan Informatika Nusantara
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin

## 3.1.1 Pengujian Algoritma Skipjack
Pengujian dilakukan untuk mengukur kinerja dari suatu algoritma, dalam penelitian ini pengujian dilakukan untuk mengukur kinerja algoritma skipjack berdasarkan parameter waktu. Sebagai bahan yang digunakan dalam pengujian digunakan file video dengan  durasi  yang  sama,  tetapi  dengan  format  penyimpanan  yang  berbeda-beda  berikut  ini  hasil  pengujian  yang  telah dilakukan.
Tabel 2. Hasil Pengujian File Video Format Pengujian Durasi (Detik) Waktu Enkripsi (Detik) Waktu Dekripsi (Detik) MP4 01:00 45,0 50,5 WMV 01:11 42,5 33,0 FLV 01:03 41,0 42,3 MOV 01:09 40,5 41,4 Rata-Rata 42,25 41,3
Berdasarkan hasil pengujian di atas yang telah dilakukan nilai rata-rata enkripsi dijumlahkan kemudian dibagi 4 maka akan menghasilkan nilai rata-rata 42,25, dan nilai rata-rata dekripsi dijumlahkan kemudian dibagi 4 maka akan menghasilkan nilai rata-rata 41,3. Proses dekripsi paling cepat adalah file video dengan format MOV dengan durasi 40,5 sedangkan untik enkripsi paling cepat denga format WMV yaitu durasinya 33,0.

## 4. KESIMPULAN
Berdasarkan pembahasan penelitian maka disimpulan penerapan algoritma skipjack untuk mengamankan file video dengan mengacak  nilai  pixel  tersebut  sehingga  dapat  meminimalisir  proses  penyadapan.  Proses  enkripsi  dan  dekripsi  algoritma skipjack sebanyak 32 kali putaran artinya algoritma utama diputar dan diulang sebanyak 32 kali untuk  mendapatkan hasil pengamanan dengan mengubah file video format MP4 ke dalam bentuk heksadesimal terlebih dahulu, lalu menyelesaikannya dengan rule A dan rule B. Bilangan hexadesimal file video dan kunci yang diperoleh, diubah kedlam bilangan biner kemudian dilakukan proses XOR.

## REFERENCES
[1]   Suprianto,”Sistem  Pengkodean  Data  Pada  File  Teks  Pada  Keamanan    Informasi    Dengan  Menggunakan  Metode  Skipjack”,
J.Comput.Bisnis, vol. 1, no.2, pp. 105-118, 2007.
[2] H. Mukhtar, Kriptografi Untuk Keamanan Data . Yogyakarta: Deepublish, 2008.
[3] R. Sadikin, Kriptografi Untuk Keamanan Jaringan . Yogyakarta: C.V OFFSET, 2012
[4] Yusuf Kurniawan, Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung: Informatika Bandung, 2004.
[5] A.Dony, Pengantar Ilmu Kriptografi: Teori Analisis & Implementasi. Yogyakarta: C.V OFFSET, 2008.
[6]  S.S.M.K.Emy Setyaningsih, Kriftografi dan Implementasinya Menggunakan Matlab. Yogyakarta: CV. ANDI OFFSET, 2015
Vol 1, No 9, Februari 2021, Hal 430-437 ISSN 2722-7987 (Media Online) Website https://ejurnal.seminar-id.com/index.php/tin
[7] Mustafa  Almahdi,Ali  Ahmad  Milad,  Hjh  Zaiton  Muda,  Zul  Azri  Bin  Muhamad  Noh,  “Comparative  Study  of  Performance  in Cryptography Algorithms (Blowfish and Skipjack),” J.Comput.Sci., 2012.
[8] Nurainun Sinaga, Syarifah Aini, Bezatulo Gulo,” Penerapan Algoritma Skipjack Untuk Menyandikan Short Message Service”,2018.
[9] Wandani, Kiki Dwi, Sinurat, Sinar,” Implementasi Secure Hash Algoritma untuk Pengamanan pada File Video”, Inf . Dan Teknol.Ilm., vol. 13, pp.165-168,2018.
[10] Rosa A.S dan M. Shalahuddin, Rekayasa Perangkat Lunak . Bandung: Informatika Bandung
[11]  M. primananda Arif Aditya, S.Si, “Dasar-Dasar Pemograman Database Dekstop dengan Visual Basic.Net 2008,” in Dasar-Dasar Pemograman     Database Dekstop dengan Visual Basic.Net 2008 , Jakarta: PT Elex Media Komputindo, 2013, pp. 2–10.