Senin, 15 Februari 2016

Install MikroTik RouterOS Menggunakan USB Flashdisk




LATAR BELAKANG
Untuk para pengguna MikroTik, mungkin pernah mengalami saat mereka merasa bahwa penggunaan RouterBoard tidaklah memadai jika dilihat dari resource-nya. Mungkin dari kecepatan CPU-nya yang tidak memadai, memory yang terbatas, serta storage kecil yang susah untuk dijadikan proxy internal sebagai caching . Dari keterbatasan itu, banyak sekali pengguna MikroTik beralih ke perangkat yang lebih besar (seperti komputer) untuk mendapatkan resource yang lebih tinggi.

Membuat Aplikasi Enkripsi Vigenere Berbasis Java


Beberapa waktu yang lalu, saya mendapatkan tugas dari kuliah Keamanan Jaringan. Yah, bisa dibilang kalau mata kuliah ini adalah mata kuliah wajib. Jadi, mau nggak mau harus diambil. Dalam mata kuliah ini dijelaskan bahwa setiap data yang lalu lalang di dalam jaringan tidak selalu aman. Oleh karena itu, dibutuhkan tindakkan pengamanan. Langkah pengamanan ini meliputi pengunaan ptotokol jaringan aman atau pengenkripsian data.


Apa itu enkripsi?
Ada banyak sekali algoritma pengenkripsian data. Namun, secara garis besar dapat digolongkan menjadi 2 bagian, yaitu enkripsi simetris dan asimetris. Letak perbedaan dari keduannya adalah pada kuncinya (key).


Pada enkripsi simetris, kunci yang digunakan untuk mendekrip sama dengan kunci untuk mengenkrip. Sehingga, apabila pihak luar mengetahui algoritma sekaligus kuncinya maka pesan dapat diketahui. Enkripsi ini sering disebut enkripsi klasik. Berbeda pada enkripsi asimetris. Enkripsi asimetris melibatkan dua kunci untuk saling mengenkripsi dan mendekripsi. Kunci yang pertama digunakan untuk mengenkripsi, disebut public key. Public key ini akan digunakan oleh pengirim pesan untuk mengenkripsi pesan. Walaupun orang lain mendapatkan public key ini, orang tersebut tidak bisa menerjemahkan chippertext-nya. Dipihak penerima, terdapat sebuah kunci yang disebut private key. Private key ini berfungsi untuk mendekrip pesan yang dikirimkan oleh pihak lainnya. Private key ini bersifat rentan, sehingga pihak penerima tidak boleh membiarkan pihak lain mengetahuinya.


Terdapat banyak algoritma dari enkripsi simetris. Salah satunya adalah algoritma Vigenere. Algoritma ini merupakan algoritma yang telah lama dipakai. Vigenere ditemukan oleh Giovan Battista Bellaso pada abad 19.


Vigenere Chiper
Itu tadi adalah sepintas mengenai enkripsi dan Vigenere Chiper. Selanjutnya adalah paparan mengenai bagaimana cara membuat enkripsi dan dekripsi Vigenere Chiper menggunakan bahasa pemrograman Java.


Berikut langkah-langkah yang harus dikerjakan:
1. Menentukan jenis karakter (Apakah ASCII ataukah beberapa karakter yang telah ditentukan)
2. Mernentukkan jumlah dari karakter total
3. Menuliskan daftar fungsi-fungsi yang kemungkinan dipergunakan.
4. Menuliskan Kode pokok
5. Menuliskan Kode tambahan (Interface dan I/O)


Pembahasan
Langkah 1 (Membuat Class Vigenere)
Jika menggunakan karakter yang terbatas, karakter tersebut harus didefinisikan dahulu dalam sebuah kamus yang berbentuk String. Selanjutnya, dapat di loop sepanjang length. Pembatasan karakter ini, akan mengakibatkan kegagalan dekripsi jika user memasukkan karakter tidak ada dalam kamus. Walaupun begitu, tidak ada salahnya jika jenis Vigenere ini dibuat.


Langkah 2 (Menentukan Jumlah Karakter)
Untuk aplikasi yang menggunakan kamus, dapat digunakan sytax length dalam menentukkan jumlah huruf. Sedangkan untuk ASCII, jumlah karakter total adalah 256.


Langkah 3 (Menuliskan Daftar Fungsi)
Fungsi-fungsi yang kemungkinan digunakan adalah:
1. Looping untuk mengulang huruf dalam kalimat yang akan dienkripsi (looping kalimat)
2. Fungsi untuk mengecek karakter spasi didalam looping
3. Looping untuk mengulang kunci yang ada didalam looping kalimat
4. Fungsi untuk mengkonversi dari alfabet menjadi integer agar dapat dihitung
5. Fungsi menghitung
6. Fungsi untuk mengkonversi dari integer menjadi alfabet
7. Fungsi main


Langkah 4 (Menuliskan Kode)
Nah, berdasarkan daftar fungsi diatas kita bisa maka sytax dari kode diatas adalah sebagai berikut:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pengamanajaringan;


/**
*
* @author blackhiden.blogspot.com
*/

public class Vigenere {
  private String Input; //Input teks
  private String Output; //Output teks
  private String Key; //Key dari enkripsi Vigenere
  private final int PanjangKamus = 51; //jumlah dari kamus
  //kamus yang dipergunakan A-Za-z
  private final String Kamus = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
     
  public Vigenere(){
  }

   public String getInput() {
       return Input;
   }

   public String getOutput() {
       return Output;
   }

   public String getKey() {
       return Key;
   }

   public void setInput(String Input) {
       this.Input = Input;
   }

   public void setOutput(String Output) {
       this.Output = Output;
   }

   public void setKey(String Key) {
       this.Key = Key;
   }
   
   
  
  
  
  //merubah char
  private int chartoInt(char inKey){
      int k = 0;
      for (int i = 0; i < Kamus.length(); i++) {
          if (inKey == Kamus.charAt(i)) {
              k = i;
              break;
          }
      }
      return k;
  }
  //Enkripsi
  public String VigenereEn(){
      int h;
      int k=0;
      for (int i = 0; i < Input.length(); i++) {
          if (Input.charAt(i) == ' ') { //cek spasi agar struktur huruf tidak berubah
              Output += " ";  
          } else {
              if (k < Key.length()) {
              h = hitungVi(chartoInt(Input.charAt(i)),chartoInt(Key.charAt(k)));
              Output += Kamus.charAt(h);
              k++;
          } else {
              k = 0;
              h = hitungVi(chartoInt(Input.charAt(i)), chartoInt(Key.charAt(k)));
              Output += Kamus.charAt(h);
              k++;
          }
          }
      }
      return Output;
  }
  
  public String VigenereDe(){
      int h;
      int k=0;
      for (int i = 0; i < Input.length(); i++) {
          if (Input.charAt(i) == ' ') {
              Output += " ";
          } else {
              if (k < Key.length()) {
              h = hitungViDe(chartoInt(Input.charAt(i)),chartoInt(Key.charAt(k)));
              Output += Kamus.charAt(h);
              k++;
          } else {
              k = 0;
              h = hitungViDe(chartoInt(Input.charAt(i)), chartoInt(Key.charAt(k)));
              Output += Kamus.charAt(h);
              k++;
          }
          }
      }
      return Output;
  }
  
  private int hitungVi(int p, int k){
      int o = (p + k) ;
      if (o > PanjangKamus) {
         o %= PanjangKamus;
          System.out.println(o);
      }
      return o;
  }
  
  private int hitungViDe(int p, int k){
      int o = (p - k);
      if (o < 0) {
          o += PanjangKamus;
      }
      return o;
  }
  
   
}


Langkah 5 (Tampilan dan I/O)
Untuk terakhir, anda bisa membuat interface untuk I/.O.


Semoga anda paham dan mengerti.

Selamat ber-coding ria.

Sabtu, 13 Februari 2016

CloneZilla - Install Banyak Komputer dengan Mudah

Jika anda seorang teknisi salah satu sekolah, kantor ataupun perusahaan anda pasti akan mengalami sebuah kondisi dimana anda mendapatkan pekerjaan untuk menginstall puluhan komputer dalam satu ruangan dan harus selesai dalam waktu singkat. Hal ini sangat menyulitkan, apalagi aplikasi yang harus diinstall lumayan banyak. Pastilah anda butuh waktu lebih lama lagi untuk menginstall aplikasi satu-persatu di setiap komputernya.

Jadi misalkan seperti ini:
Jika anda diharuskan untuk menginstall 20 komputer dengan 7 aplikasi tambahan disetiap komputernya. Maka anda perlu menginstall aplikasi sebanyak (1 kali install sistem operasi + 7 kali install aplikasi) x 20 komputer = 160 kali install. Tidak bisa dibayangkan jika harus menginstall 160 kali dengan langkah yang sama dan waktu yang relatif lama.

Menjadi seorang teknisi menuntut  saya untuk menemukan solusi dalam menangani masalah seperti ini. Salah satu solusinya adalah menginstall satu komputer dengan sistem operasi beserta aplikasinya, kemudian meng-clonning seluruh hardisk pada komputer tersebut lalu menginstall komputer sisanya dengan cara me-restore hasil dari clonning sebelumnya. Dengan begitu, waktu yang digunakan untuk penginstalan akan lebih sedikit. Karena setiap komputer hanya perlu dilakukan satu kali penginstalan.

Salah satu yang dapat melakukan tugas seperti itu adalah CloneZilla. CloneZilla merupakan sebuah live operating system berbasi Linux yang dapat digunakan untuk imaging hardisk/partisi, data recovery dan deployment computer. Program ini sangat cocok ketika anda ingin melakukan backup dan clonning hardisk. Aplikasi ini mirip sekali dengan Norton Ghost dan True Image. Terdapat dua macam versi pada CloneZilla. Yang pertama adalah CloneZilla Live digunakan untuk backup dan restore. Dan yang kedua adalah CloneZilla SE (Server Edtion) digunakan untuk instalasi komputer secara massal.

Nah, sebagaimana biasanya. Setiap metode selalu mempunyai kelebihan dan kekurangan. Berikut adalah kelebihan dan kekurangan dari CloneZilla

KELEBIHAN
1. Dapat digunakan untuk install sistem operasi yang sudah terinstall pada komputer lain sebelumnya.
2. Sebagai aplikasi bantu untuk menginstall sistem operasi yang mempunyai keterbatasan. (Misalkan MikroTik yang hanya bisa diinstall dengan PXE dan CD/DVD-ROM dapat melalui USB)
3. Dapat menginstall komputer secara massal (CloneZilla SE)
4. Dapat digunakan untuk V2P (Virtual to Physical). Sebuah sarana untuk membentuk sistem virtual menjadi fisik.
5. Me-recover data yang hilang

KEKURANGAN
1. Instalasi komputer massal hanya dapat dilakukan oleh komputer yang support PXE (SOLOSI: Dapat ditangani dengan menggunakan CloneZilla Live dan menggunakan Samba Server)
2. Ketidaksesuaian ukuran hardisk antara komputer source dengan komputer target (SOLUSI: Dapat ditangani dengan Disk Management atau Gparted Live)
3. Harus menggunakan jaringan (SOLUSI: Dapat menggunakan flashdisk dengan ukuran besar atau hardisk ekternal)
4. Harus menggunakan 2 perangkat untuk CloneZilla Live (SOLUSI: Buat 2 partisi, partisi 1 untuk CloneZilla Live sisanya untuk penyimpanan image)

Nah, bagi para teknisi tidak perlu khawatir lagi untuk menginstall banyak komputer. Karena sudah ada CloneZilla yang akan membantu. Selamat bekerja dan Mencoba serta Bereksperimen.

Semoga tulisan ini dapat membantu.

Minggu, 07 Februari 2016

Indonesian Cyber Army (ICA) 2014 - Makassar



Merupakan sebuah pengalaman terbaik bagi saya, bisa turut berkontribusi dalam acara tahunan lomba sekaligus workshop Indonesia Cyber Army (ICA) di Makassar. Setelah tahun sebelumnya gagal untuk berangkat lantaran kendala biaya yang tidak turun. Lebih detailnya mengenai kegagalan kami sebagai tim untuk ikut serta ICA dan bagaimana RSAC terbentuk, silahkan mengunjungi link berikut (Klik Me). Sedangkan untuk mengetahui apa itu ICA, klik link INI

Setelah mengalami masa suram,di-php-in kampus, akhirnya bisa juga berangkat ke Makassar mengikuti lomba ICA 2014. Saat itu, rute keberangkatan dari Jember (kampus) - Bandara Juanda - Bandara Sultan Hasanudin - Universitas Dipanegara Makassar.

Saat malam keberangkatan, beberapa saat kami mendapatkan briefing dari pembina untuk mempersiapkan segala kebutuhan. Mulai dari kebutuhan umum sampai kebutuhan untuk lomba. Jam satu dini hari, kami berangkat menuju Juanda, diantarkan oleh mobil yang disewa sebelumnya. Perlu saya akui, karena yang nyupir masih muda, ya gitulah, Kenceeeeeng banget. Sampai saya kebentur atap mobil lantaran mobil menghantam pita jalan.

Well, akhirnya kami touchdown di Bandara Juanda sekitar pukul 04:15. Dan perlu saya akui, saya baru pertama kalinya pergi ke Juanda dan tau mengenai satu kenyataan, bahwa Juanda terbagi menjadi 2 bandara, yaitu Penerbangan Domestik dan Internasional (Haha... saking 'ndeso nya). Sebelum menuju bandara, kami singgah terlebih dahulu di masjid bandara. Memang keberangkatan kami masih lumayan lama. Sekitar 3 jam lagi dari keberangkatan.

Jam 5 tepat, kami menuju portal masuk Bandara. Begitu masuk, wih.. keren. Bisa kelihatan, bagaimana wajah 'ndeso saya keliatan. Kami menunggu sekitar 2 jam untuk check-in serta menimbang barang bawaan untuk selanjutnya menunggu keberangkatan.

Yaa.. jam 7. kami masuk dalam pesawat. Jujur sih, saya orangnya itu achropobhia (takut terhadap ketinggian) dan boleh dibilang, saya itu orangnya takut ketinggian. Pesawat mulai take-off dan saya masih tetap saja was-was. Awalnya memang bikin takut, karena saya merasa badan saya tinggi. Apalagi ditambah guncangan-guncangan yang bikin seolah saya mau dijatuhkan. Namun, setelah pesawat sampai di ketinggian dan stabil, perasaan takut pun hilang. Bahkan saya berani menoleh ke arah jendela untuk melihat pemandangan dari atas. Kalo menurut saya, lebih seperti menonton televisi sih. Saya bersyukur, ketakutan saya bukan tergolong akut.

1 jam 30 menit di atas awan, akhirnya saya bisa juga mendarat di Bandar Udara Sultan Hasanudin. Oke, beberapa menit selfie/groufie bareng tim, dosen pembimbing dan pendamping. Dari sini, saya bener-bener merasa awesome. Oh, ternyata begini ya enaknya kalo ikut event yang di modalin sama kampus - skip.

Misi selanjutnya yaitu menunggu jemputan dari panitia. Nah, kalo yang ini agak membosankan juga sih, soalnya nunggunya lumayan lama, panas lagi. Padahal, pas di pesawat tadi berharap kalo udah turun langsung disambut dengan karpet merah, seperti orang penting yang ditunggu kedatangannya (yah, pada akhirnya itu cuman mimpi :v ). Beberapa menit kemudian (60 menit lebih), sebuah mobil mendekat. Sebelumnya, pembimbing kami memang sudah menghubungi pihak ICA dan mengatakan deskripsi tentang kami, agar nanti tidak salah orang. Dalam hati saya pun berkata, "Alhamdulillah, akhirnyaaa dateng juga". Dan yang paling penting, kebosanan yang seolah mencekik akan membunuh, terobati karena yang memjemput waktu itu adalah mbak-mbak yang super cantik, imut, cute nan kawaii yang kalo dilihat-lihat mirip Ayu tingting. Mbak yang waktu itu lupa kami tanyakan namanya, menjemput kami menggunakan mobil avanza. Sebelumnya kami salah menduga, bahwa yang menjemput kami nantinya adalah minibus atau bahkan kendaraan umum.

 "Peserta Indonesian Cyber Army?" "Iyaa!!!" jawabnya serentak. Haha, mungkin karena terpesona kali ya atau mungkin merasa lega karena udah dijemput. Kami dipersilahkan masuk dan meluncur ke tempat "penginapan". Di dalam mobil, kami sempat berbincang-bincang dengan mbak yang menjemput tadi. Dari perbincangan tersebut, saya mengetahui bahwa beberapa info:
1. Dia orang Makassar
2. Dia adalah adik dari salah satu panitia ICA (nggak tau panitia lokal atau penyelenggara)
3. Angkot disana namanya bukan lin (sebutan angkot Jember) melainkan Pete-pete
4. Disana ada istilah, "2 yang bisa tau, kapan supir angkot belok. Kalo nggak Tuhan, ya supir itu sendiri"
5. Makanan khas Makassar adalah, Cotto (Bukan soto lho ya) dan Mi titi.

Setelah beberapa lama berbincang, akhirnya sampek juga. Walaupun sama ngobrol, tapi tetep aja nyampeknya berasa lama banget. Kita dibawa ke penginapan yang, yah bisa dibilang lumayan (untuk standart orang kampungan seperti saya). BLKI  (Balai Latihan Kerja Industri) Makassar adalah tempat dimana kami singgah untuk 2 hari 2 malam kami. 3 tempat tidur 2 tingkat serta kamar mandi yang bersih dan air yang lancar sudah bisa dikatakan cukup.

Untuk saat ini, saya cukupkan dulu ya ceritanya. Disambung lagi dilain waktu (:
Untuk foto-foto, ntar ditaro di sesi galeri aja ^^

(to be continued)