## Perancangan Aplikasi Pencarian File Teks dengan Menggunakan Algoritma Colussi Dan Algoritma Simon
Sastra Ramadanu
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Medan, Indonesia

## Abstrak
String matching merupakan suatu pemrosesan string dimana menjadi kebutuhan utama dalam memperoleh informasi pada teks yang  membantu  manusia  menemukan  infomasi  lebih  cepat  karena  memiliki  algoritma  untuk  pencarian  string    tersebut. Algoritma pencarian memiliki keunggulan dan kekurangan dalam pencarian, pencocokan, kecepatan, ketepatan, dan lain-lain. Dengan melakukan analisis perbandingan performansi maka akan dapat diketahui kecepatan dan ketepatan dalam waktu proses pencarian dan pencocokan  kata dan persentase  memory yang  dipakai dalam satu kali proses dari masing-masing algoritma tersebut.  Algoritma  colussi  merupakan pencarian  yang  telah  ditentukan secara spesifik  oleh sistem atau algoritma tersebut dimana  algoritma  colussi  merupakan  perbaikan  dari  algoritma  boyer  moore  yang  merupakan  pencarian  dari  kanan  ke  kiri sedang algoritma simon merupakan algoritma klasik yang telah dikenal luas sebagai metode yang dapat mengidentifikasi local similarities  (penyejajaran  sekuens)  yaitu  proses  penyusun  dua  local  sequences  nucleotide  atau  protein  sequences  dimana kemiripan antara dua sequences tersebut akan terlihat.
Kata Kunci : String matching, Colussi, Simon.

## Abstract
String matching is a string processing which is the main requirement in obtaining  information in the text that helps humans find  information  faster  because  it  has  an  algorithm  for  searching  the  string.  Search  algorithms  have  advantages  and disadvantages in search, matching, speed, accuracy, and others. By performing a performance comparison analysis, it can be seen the speed and accuracy in the search process time and word matching and the percentage of memory used in one process of each of these algorithms. The colussi algorithm is a search that has been specifically determined by the s ystem or algorithm where  the  colussi  algorithm  is  an  improvement  of  the  boyer  moore  algorithm  which  is  a  right-to-left  search  while  simon algorithm is a classic algorithm that is widely known as a method that can identify local similarities ) that is the process of making two nucleotide local sequences or protein sequences where similarities between the two sequences will be seen.
Keywords : String matching, Colussi, Simon.

## 1. PENDAHULUAN
Manusia sering menghabiskan waktu yang lama untuk memperoleh suatu informasi. terlebih lagi informasi yang harus  dicari  dilakukan  secara  manual  dan  masih  menggunakan  kertas  sebagai  media  pencarian  informasi. Informasi  merupakan  perkembangan  suatu  fakta  yang  diolah  menjadi  data  kemudian  di  kelola  menjadi  suatu informasi.  Pada  sekarang  ini  banyak  metode  yang  sudah  dipakai  untuk  memperoleh  sebuah  informasi    yang diciptakan untuk membantu manusia. Informasi yang diperoleh baik berupa file teks maupun file yang berekstensi .pdf maupun .doc.
String matching merupakan suatu pemrosesan string dimana menjadi kebutuhan utama dalam memperoleh informasi pada teks yang membantu manusia menemukan infomasi lebih cepat karena memiliki algoritma untuk pencarian string  tersebut. Ada beberapa langkah untuk pencocokan string yaitu diberikan string yang panjangnya n karakter lalu diberikan pola string dengan panjang karakter (m<n)  yang akan diproses atau dicari pada teks. Masing-masing  algoritma  pencarian  memiliki  keunggulan  dan  kekurangan  dalam  pencarian,  pencocokan, kecepatan, ketepatan, dan lain-lain.
Dengan melakukan analisis perbandingan performansi maka akan dapat diketahui kecepatan dan ketepatan dalam waktu proses pencarian dan pencocokan kata dan persentase memory yang dipakai dalam satu kali proses dari  masing-masing  algoritma  tersebut.  Algoritma  colussi  merupakan  pencarian  yang  telah  ditentukan  secara spesifik oleh sistem atau algoritma tersebut dimana algoritma colussi merupakan perbaikan dari algoritma boyer moore yang merupakan pencarian dari kanan ke kiri. Algoritma colussi terdiri dari 2 fase pencarian, yaitu fase pemrosesan awal dan fase pencarian.
Pada  fase  pemrosesan  awal,  dilakukan  pencarian  sepasang  karakter  untuk  menentukan  posisi  dan pergeseran pattern, sedang algoritma simon merupakan algoritma klasik yang telah dikenal luas sebagai metode yang dapat mengidentifikasi local similarities (penyejajaran sekuens) yaitu proses penyusun dua local sequences nucleotide  atau  protein  sequences  dimana  kemiripan  antara  dua  sequences  tersebut  akan  terlihat.  Berdasarkan fungsi  proses  penyejajaran  sekuens  tersebut,  maka  algoritma  ini  dapat  dikonversikan  ke  dalam  pemrograman komputer untuk digunakan membantu proses pendeteksian dokumen teks yang dianggap cenderung sama dengan cara melihat kesamaan isi (local similarities) dari beberapa dokumen teks.

## 2. LANDASAN TEORI

## 2.1 File Teks
Pada saat kita memakai komputer, kita pasti akan berhubungan dengan data. Data yang dikumpulkan menjadi satu akhir  membentuk  sesuatu  yang  memberikan  pengertian  dan  kenyataan  (informasi).  Kemudian  informasi- informasi tersebut akan disimpan oleh komputer ke dalam suatu wadah yang disebut dengan file. Secara umum, format file teks dibagi menjadi dua bagian, yaitu 1. Teks  sederhana  ( plain  text )  Format  data  teks  (*.txt)  merupakan  contoh  format  teks  jenis  ini  yang  paling populer.
2. Teks  terformat  ( formatted  text )  Merupakan  teks  yang  terformat  dan  mengandung  styles.  Format  data dokumen Microsoft Word (*.doc) merupakan contoh format teks jenis ini yang paling populer. Contoh format file teks di atas beserta perangkat lunak yang biasa digunakan di antaranya adalah: a. Format data TXT
Format  data  teks  merupakan  format  teks  yang  digunakan  untuk  menyimpan  huruf,  angka,  karakter kontrol  (tabulasi,  pindah  baris,  dan  sebagainya)  atau  simbol-simbol  lain  yang  biasa  digunakan  dalam tulisan seperti titik, koma, tanda petik, dan sebagainya. Satu huruf, angka, karakter kontrol atau simbol pada  arsip  teks  memakan  tempat  satu  byte.  Berbeda  dengan  jenis  teks  terformat  yang  satu  huruf  saja dapat memakan tempat beberapa byte untuk menyimpan format dari huruf tersebut seperti font, ukuran, tebal atau tidak dan sebagainya. Kelebihan dari format data teks ini adalah ukuran datanya yang kecil karena tidak adanya fitur untuk memformat tampilan teks.
b. Format file dokumen (*.doc)
Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling banyak digunakan dalam menulis laporan, makalah dan sebagainya. Doc merupakan jenis teks terformat yang tidak hanya dapat  mengatur  tampilan  teks  seperti styles ( font ,  ukuran  huruf,  dan  sebagainya),  namun  juga  dapat menyisipkan gambar. Kekurangan format teks dokumen ini terletak pada ukuran datanya yang besar.

## 2.2  Algoritma Colussi
Algoritma Colussi merupakan suatu pengembangan dari algoritma Knuth-Morris-Pratt . Algoritma Knuth-Morris- Pratt sendiri  adalah  algoritma  pencocokan  string  dengan  cara  memelihara    informasi  karakter-karakter sebelumnya  untuk  melakukan  jumlah  pergesaran yang lebih jauh.
Algoritma Knuth-Morris-Pratt diusulkan pada tahun 1977,  perbandingan karakter dilakukan dari kiri ke kanan.  Sedangkan  Algoritma Colussi dipublikasikan  oleh Livio  Colussi  pada  tahun 1994.  [6].  Pada  algoritma colussi himpunan  dari  posisi  pola  dibagi  menjadi  dua  sub  himpunan  terpisah.  Lalu  percobaan  pencocokan berlangsung selama dua fase:
1. Fase pertama: Perbandingan dilakukan dari kiri ke kanan pada teks yang terletak pada posisi yang sama
2. Fase kedua: Membandingkan posisi-posisi yang tersisa (dari arah kanan ke kiri).
Strategi  ini  memberikan  dua  kelebihan,  yaitu:  Ketika  terjadi  ketidak  cocokan  pada fase pertama, maka setelah terjadi pergeseran tidak perlu untuk membandingkan teks pada percobaan sebelumnya. [6] Secara  sistematis,  proses  yang  dilakukan  algoritma Colussi pada  saat  mencocokkan string adalah sebagai berikut : 1. Pencocokan pattern dan teks dimulai dari karakter yang pertama.
2. Proses  pencocokan  akan  dimulai  sesuai  dengan  nilai  pada  nilai h[i] ,  jika  pada  nilai h[i ]  dimulai dari angka 1  maka  proses pencocokan  dimulai dari kolom indeks  yang  ke 1 dan selanjutnya  sampai nilai h[i] yang terakhir.
3. Jika  karakter  pada teks dan pattern sama,  maka  proses  pencocokan  akan  berlanjut  pada  karakter selanjutnya,  namun  jika  karakter  pada teks dan pattern tidak  sama  maka  proses  pencocokan  string  akan berpindah pada langkah pencarian selanjutnya.
4. Jika karakter  pada teks dan pattern sama  dari kiri  ke kanan,  dan  selalu  sama  sampai nilai indeks yang ke m-1,  maka  algoritma colussi akan  melakukan penccokan kembali dari kanan ke  kiri,  sesuai dengan  nilai h[i] .
5. Jika  proses  pencocokan  menggunakan  pergeseran  melalui  nilai h[i] mencapai  nilai h[i] yang terakhir, maka pattern yang diinginkan telah didapat atau sesuai.

## 2.3  Algoritma Simon
Algoritma Simon memiliki proses sequence alignment yang mengaplikasikan secara dasar dynamic programming. Secara umum langkah-langkah yang biasa digunakan dalam mengaplikasikan pemrograman dinamis adalah : 1. Memecahkan suatu permasalahan umum menjadi sub-permasalahan yang lebih sederhana.
2. Memecahkan semua sub-permasalahan secara optimal.
3. Mengonstruksikan pemecahan optimal sub-permasalahan sebagai pemecahan optimal permasalahan secara umum.
Menurut artikel yang terdapat dalam situs wikipedia.org berbahasa Indonesia, algoritma simon merupakan algoritma klasik yang telah dikenal luas dalam bidang bioinformatika sebagai metode yang dapat mengidentifikasi local  similarities (penyejajaran  sekuens)  yaitu  proses  penyusun  dua local  sequences (rangkaian/susunan  atau rentetan) nucleotide atau protein sequences kemiripan antara dua sequences tersebut akan terlihat. Berdasarkan fungsi  proses  penyejajaran  sekuens  tersebut,  maka  algoritma  ini  dapat  dikonversikan  ke  dalam  pemrograman komputer  untuk  digunakan  membantu  proses  pendeteksian  dokumen  teks  yang  dianggap  cenderung  plagiat dengan cara melihat kesamaan isi (local similarities) dari beberapa dokumen teks. Untuk lebih jelasnya bisa kita lihat pada gambar dibawah ini.
Gambar 1. Ilustrasi Konversi Algoritma Simon dari bidang Bioinformatika ke Pemrograman Komputer
Anggap simbol X dan Y merupakan dua sequences string yang  masing-masing berasal dari dokumen yang berbeda,  dengan  panjang  X  dan  Y  masing-masing  sebagai  m  dan  n.  Dari  dua  string  ini  dapat  dihitung  nilai goodness of fit yang diperoleh dari pembandingan substring X dari string X dengan substring Y dari string  Y. proses pembandingan ini akan menghasilkan penyejajaran yang identik/mirip (hit) dengan atau tanpa perubahan sekuens seperti penghilangan (deletion), penyisipan (insertion) dan penggantian (replacement) . Anggap h adalah kontribusi  positif  yang  merepresentasikan  hit  atau  cocok. d untuk kontribusi  negatif  yang  merepresentasikan insertion atau deletion (atau  bisa  disebut indel ),  sedangkan r adalah  kontribusi  negatif  yang  dibuat  dengan menggantikan  satu  simbol  dengan  simbol  yang  lain (replacement) .  Model  yang  lebih  umum  pada  khususnya digunakan  dalam  bidang  biologi  komputasional.  Dengan  menggunakan  nilai  positif  untuk hit dan nilai  negatif untuk deletion dan replacement , maka pembentukan nilai dari tiap-tiap simbol dari dua buah string tersebut dapat direpresentsikan di dalam bentuk matriks. Tetapi masih belum diketahui secara jelas nilai hubungan h , d , dan r . pada  intinya  di  dalam  mengidentifikasi  kesamaan  string  ini  memakai  prinsip reward  and  punishment . h merupakan simbol yang mengimplementasikan punishment . Dapat diasumsikan bahwa reward dan punishment memiliki bobot yang sama. Dengan demikian dapat dianggap nilai dari masing-masing h , d , dan r adalah 1. Sebagai contoh, bila substring X = abcbadbca dan substring Y = abbdbda, dengan aligment yang optimal didapatkan  6 hit, 2 indel , dan 1 replacement seperti yang ditjunjukkan pada gambar dibawah ini, dan didapatkan nilai untuk dua string  yang diberikan  ini,  yaitu 6h-2d-r, atau 6-2-1=3 untuk kasus h=d=r=1 dengan keterangan tanda “ | ” menunjukkan kecocokan atau match, sedangkan tanda “-” menunjukkan adanya kesenjangan atau gap diantara dua sekuens string. Untuk lebih jelasnya bisa kita lihat pada gambar dibawah ini.
A b
A b c b - b a d - d b c a b d a
Gambar 2. Optimal Aligment dari dua substring
Tujuan dari pembandingan substring ini yaitu menemukan kemiripan yang significant sesuai dengan nilai ambang batas (treshold) . Bila nilai hasil pembandingan di bawah nilai ambang atas, maka dianggap kemiripannya tidak significant dan  bila  nilainya  di  atas  atau  sama  dengan  nilai  ambang  batas,  maka  dianggap  kemiripannya significant.

## 3. ANALISA DAN PEMBAHASAN
Pencarian  memiliki keunggulan dan kekurangan dalam pencarian, pencocokan, kecepatan, ketepatan, dan  lain- lain. Dengan melakukan analisis perbandingan performansi maka akan dapat diketahui kecepatan dan ketepatan dalam waktu proses pencarian dan pencocokan kata dan persentase memory yang dipakai dalam satu kali proses dari masing-masing algoritma tersebut. Perancangan aplikasi pencarian file teks berbasis visual basic, Microsoft
Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated  Development  Environment (IDE)  visual  untuk  membuat program perangkat  lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman. Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat.

## 3.2. Algoritma Colussi
Algoritma colussi melakukan proses dari kiri ke kanan dimana himpunan dari posisi pola dibagi menjadi dua sub himpunan terpisah. Lalu percobaan pencocokan berlangsung selama dua fase:
1. Fase pertama: Perbandingan dilakukan dari kiri ke kanan pada teks yang terletak pada posisi yang sama 2. Fase kedua: Membandingkan posisi-posisi yang tersisa (dari arah kanan ke kiri).
Cara   melakukan  pergeseran   dengan   menggunakan   algoritma Colussi adalah  sebagai berikut : Teks : SASTRA RAMA.PDF Pattern (yang ingin dicari) : RAMA.PDF 1. Langkah Pertama Setelah mendapatkan hasil yang diperoleh dari tabel pergeseran maka pencarian kata dapat dilakukan dengan langkah-langkah berikut :
Tabel 1. Proses Pencarian Pertama I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 T S A S T R A R A M A . P D F P R A M A . P D F h[i] 1 2
i = Indeks , T = Text, P = Pattern
a. Proses pencocokan dimulai sesuai dengan nilai h[i ] yang  mana pada tabel 3.1 yang dibahas   sebelumnya nilai   h[i]   adalah   1,2,3,4,5,6,0.   Maka   proses pencarian dilakukan pada nilai h(i) ke 1  yang terdapat pada indeks ke 1
b. P e n c a r i a n   d i m u l a i   d a r i   indeks  ke  1  string  antara  teks  dan  pattern sama, maka langkah pertama berhenti sampai indeks ke 1 yaitu antara A dan A. dikarenakan A dan A “SAMA” maka lanjut ke nilai h[i] selanjutnya  yaitu  pada karakter  S  dan M,  dikarenakan S  dan M  adalah karakter yang  berbeda, maka langkah kedua telah selesai.
c. Pindah 2  karakter ke  langkah selanjutnya,  yang  mana  pada nilai shift, angka  2 berada pada indeks yang ke 1, maka langkah selanjutnya : Pindah 2 karakter ( shift [1]).
2. Langkah kedua
Setelah mendapatkan hasil yang diperoleh dari tabel pergeseran maka pencarian kata dapat dilakukan dengan langkah-langkah berikutnya :
Tabel 2. Proses Pencarian Kedua
I 0 1 2 3 4 5 6 7 8 9 10  11 12 13 14 T S A S T R A R A M A . P D F P R A M A . P
D F h[i] 1
a. Dikarenakan  pencocokan pada  tabel  diatas  karakter  antara  teks  dan pattern berbeda, maka langkah ketiga berhenti di T dan karakter A
b. Pindah 1  karakter ke  langkah selanjutnya,  yang  mana  pada nilai shift, angka  1 berada pada indeks yang ke 0, maka langkah selanjutnya : Pindah 1 karakter ( shift [0]).
3. Langkah Ketiga
Setelah mendapatkan hasil yang diperoleh dari tabel pergeseran maka pencarian kata dapat dilakukan dengan langkah-langkah berikutnya
Tabel 3. Proses Pencarian Ketiga I 0 1 2 3 4 5
6
7 8 9 10 11 12 13 14 T S A S T R A R A M A . P D F P R A M A . P
D F h[i] 1
a. Dikarenakan  pencocokan pada  tabel  diatas  karakter  antara  teks  dan pattern berbeda, maka langkah ketiga berhenti di R dan karakter A
b. Pindah 1  karakter ke  langkah selanjutnya,  yang  mana  pada nilai shift, angka  1 berada pada indeks yang ke 0, maka langkah selanjutnya : Pindah 1 karakter ( shift [0]).
4. Langkah Keempat
Proses pencarian untuk langkah keempat dapat di lihat pada proses berikut ini.
Tabel 4. Proses Pencarian Keempat I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 T S A S T R A R A M A . P D F P R A M A . P D F h[i] 1
a. Dikarenakan  pencocokan pada karakter antara teks  dan   pattern sama,  maka  langkah pertama  berhent i sampai  indeks ke 1  yaitu antara A dan A. maka  lanjut  ke nilai h[i] selanjutnya  yaitu pada karakter spasi dan M, dikarenakan spasi dan M adalah karakter yang berbeda, maka langkah keempat telah selesai.
b. Pindah 2 karakter ke langkah selanjutnya,  yang  mana pada nilai shift, angka 2 berada pada indeks yang ke 1, maka langkah selanjutnya : Pindah 2  karakter ( shift [1]).
5. Langkah Kelima
Setelah  mendapatkan  hasil  untuk  langkah  keempat,  maka  proses  selanjutnya  dilakukan  untuk  langkah kelima. Adapun proses pada langkah kelima dapat di lihat pada tabel di bawah ini.
Tabel 5. Proses Pencarian Kelima I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 T S A S T R A R A M A . P D F P R A M A . P D F h[i] 1
a. Dikarenakan  pencocokan  pada  tabel  diatas  karakter  antara  teks  dan pattern berbeda, maka  langkah ketiga berhenti di R dan karakter A
b. Pindah 1  karakter ke  langkah selanjutnya,  yang  mana  pada nilai shift, angka  1 berada pada indeks yang ke 0, maka langkah selanjutnya : Pindah 1 karakter ( shift [0]).
6. Langkah Keenam
Proses selanjutnya adalah untuk langkah keenam, langkah keenam dapat dilihat pada tabel dibawah ini
Tabel 6. Proses Pencarian Keenam I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 T S A S
T R A R
A M A . P D F P R A M A . P D F h[i] 1 2 8 1 2 3 4 5 6 7
a. Langkah keenam pattern telah ditemukan.
b. Pencocokan  dimulai  dari  nilai h[i] yang  pertama  yaitu  1  pada  tabel  diatas  nilai h[i] ke  1  terdapat  di karakter  antara  A  dan  A,  jika  sama  maka  lanjut  ke  karakter  selanjutnya dan  akan  diberi  nilai h[i] 2 begitu  seterusnya,  sampai  habis  panjang  pattern,  jika  belum  ditemukan  maka  algoritma colussi melakukkan pencarian kembali yaitu dari kanan ke kiri yang dicontohkan pada tabel diatas yaitu karakter R dan R dengan posisi h[i] yang terakhir  yaitu 0, dan prores pencocokan karakter berhenti pada langkah keenam.

## 3.2  Algoritma Simon
Algoritma Simon memiliki proses sequence alignment yang mengaplikasikan secara dasar dynamic programming. Secara umum langkah-langkah yang biasa digunakan dalam mengaplikasikan pemrograman dinamis adalah : 1. Memecahkan suatu permasalahan umum menjadi sub-permasalahan yang lebih sederhana.
2. Memecahkan semua sub-permasalahan secara optimal.
3. Mengonstruksikan  pemecahan  optimal  sub-permasalahan  sebagai  pemecahan  optimal  permasalahan  secara umum.
Adapun  caranya  penyelesaiannya  yaitu,  bila  substring  X  =  SASTRA  RAMA.PDF  dan  substring  Y  = RAMA.PDF,  dengan aligment yang  optimal  didapatkan    8 hit, 6 indel ,  dan  0 replacement seperti  yang ditjunjukkan pada gambar dibawah ini, dan didapatkan nilai untuk dua string yang diberikan ini, yaitu 6h-2d-r, atau 8-6-0=2 untuk kasus h=d=r=1 dengan keterangan tanda “ | ” menunjukkan kecocokan atau match, sedangkan
tanda “-” menunjukkan adanya kesenjangan atau gap diantara dua sekuens string. Untuk lebih jelasnya bisa kita lihat pada gambar dibawah ini.
Gambar 2. Optimal Aligment dari dua substring
Tujuan dari pembandingan substring ini yaitu menemukan kemiripan yang significant sesuai dengan nilai ambang batas (treshold) . Bila nilai hasil pembandingan di bawah nilai ambang atas, maka dianggap kemiripannya tidak significant dan  bila  nilainya  di  atas  atau  sama  dengan  nilai  ambang  batas,  maka  dianggap  kemiripannya significant .

## 4. KESIMPULAN
Berdasarkan hasil penelitian yang telah dilakukan, maka dapat maka dapat diambil kesimpulan diantaranya: 1. Jenis File yang dapat di - load oleh program adalah file .pdf dan file .word
2. String  Matching  dengan  menggunakan  metode  Metode  Collusion  dan  Simon  sangat  baik  digunakan  dalam pencarian kata dalam pengolah data.
3. Mempermudah user dalam pencarian file teks.

## REFERENCES
[1]. http://kurriah.blogspot.co.id/2016/10/string-matching.html [2]. https://gandha23.wordpress.com/2014/05/21/quantum-computing [3]. https://catatananalgo.wordpress.com/2016/10/02/algoritma-string-matching-pencocokan-string [4]. https://analgo102016.wordpress.com/2016/10/01/blog-post-title [5]. http://pengertiandefinisi.com/pengertian-file-dan-jenis-jenis-file-pada-komputer [6]. http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2007-2008/Makalah2008/MakalahIF2251-2008-041.pdf [7]. http://skripsimakalah.com/2016/07/implementasi-algoritma-pecocokan-stringcolussi-pada-aplikasi-kamus-biologi-berbasis- android.html [8]. http://searchlauncher.bcm.tmc.edu/help/Simon.html [9]. Andika, Dwiki 2016 [10]. Wahana Komputer, 2009:11