Friday, 30 May 2014

Tutorial Membuat Hotspot di Mikrotik

17:28 Posted by Unknown No comments
       Router Mikrotik merupakan router yang memiliki fitur lengkap. Salah satu fitur yang cukup populer dan banyak digunakan dari Router Mikrotik itu sendiri adalah Hotspot. Tahukah anda perbedaan internet sharing biasa dengan Hotspot? Mungkin anda sering menemukan sinyal internet wifi yang di password dengan menggunakan WPA atau WEP. Anda akan bisa internetan jika memasukkan password dengan benar. Jadi siapa saja bisa mengakses wifi itu jika tau password nya karena password nya hanya ada satu. Berbeda dengan metode Hotspot, yang mana kebanyakan wifi hotspot tidak di password dan semua user bisa konek kemudian akan diarahkan ke halaman login di Web Browser. Tiap user bisa login dengan username dan password yang berbeda-beda. Metode semacam inilah yang sering kita temukan di wifi Cafe, Sekolah, kampus, maupun area publik lainnya.

    Untuk membuat sebuah hotspot pertama tentukan interface yang akan dibuatkan hotspot. Karena kita akan membuat hotspot via wifi maka pilih interface wlan. Disini saya asumsikan menggunakan wlan1. Aktifkan wlan1 dan gunakan mode AP Bridge, isikan SSID dengan nama hotspot anda.



 Setelah Itu beri IP address interface wlan1, misalnya 192.168.100.1/24, melalui winbox, masuk ke menu IP --> Address.



    Sekarang kita mulai membuat Hotspot untuk wlan1. Untuk lebih mudah nya kita menggunakan wizard Hotspot Setup. Masuk ke menu IP --> Hotspot --> Hotspot Setup.



Pilih Hotspot Interface : wlan1 --> klik Next.

Selanjutnya kita akan mengisikan IP address dari wlan1 dan centang Masquerade Network. klik Next.


Selanjutnya kita akan menentukan range IP address yang akan diberikan ke user (DHCP Server), misal : 192.168.100.10-192.168.100.254. Jadi user akan diberikan IP secara otomatis oleh DHCP Server antara range IP tersebut.


Untuk SSL certificate. Pilih none saja, lalu klik Next.


 IP Address untuk SMTP Server kosongkan saja. Klik Next.


Selanjutnya kita akan memasukkan alamat DNS Server. Isikan saja dengan DNS Server nya Google : 8.8.8.8 dan 8.8.4.4. Klik Next.


Masukkan nama DNS untuk local hotspot server. Jika diisi nantinya akan menggantikan alamat IP dari wlan1 sebagai url halaman login. Jika tidak diisi maka url halaman login akan mengguakan IP address dari wlan1. Kosongkan saja, klik next.


Hotspot sudah berhasil dibuat. Silakan anda coba koneksikan laptop anda ke wifi hotspot anda.


Buka browser dan akses web apa saja, misalnya Google.com maka anda akan dialihkan ke halaman login hotspot mikrotik.


Silakan coba login dengan username : admin dan password : kosong. 
Jika berhasil login berarti Hotspot sudah beres.

Untuk mengedit dan menambahkan user silakan masuk ke menu IP --> Hotspot --> klik tab Users



Sekian............

Wednesday, 21 May 2014

Membuat dan Menggunakan Web Server Serta Mengubah Hak Akses Direktori Di Linux

05:40 Posted by Unknown No comments
     Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML
Untuk Packet Software Web Server sendiri ada beberapa macam. Berikut adalah macam-macam Packet Software yang dapat digunakan untuk membangun Web Server :


  • Apache Tomcat
  • Microsoft windows Server 2003 Internet Information Services (IIS)
  • Lighttpd
  • Sun Java System Web Server
  • Xitami Web Server
  • Zeus Web Server
  • Dan lain sebagainya
Disini saya akan memberikan panduan untuk mengistall dan menjalankan web server di linux.

  Pertama kali yang harus dilakukan adalah dengan masuk keterminal dan menjadi super user,Jika anda lupa bagaimana caranya menjadi super user, silakan lihat post saya sebelumnya yang membahas konfigurasi DNS.

Jika sudah menjadi super user maka langkah selanjutnya adalah menginstal web server dengan menggunakan perintah :
apt-get install apache2
apt-get install php5
apt-get install mysq
Karena OS yang saya gunakan adalah Linux Backtrack maka saya tidak perlu lagi menginstall ketiga Aplikasi tersebut.

Langkah Selanjutnya adalah dengan mengubah direktori kita ke /var/www/ dengan perintah :
cd /var/www/

Jika sudah Masuk ke direktori tersebut, buat folder baru dengan perintah :
mkdir 12018139
12018139 bisa diganti dengan nama yang anda inginkan.

selanjutnya masuk ke folder yang telah dibuat tadi dengan perintah :
cd /var/www/12018139

Langkah Selanjutnya adalah membuat file PHP dengan perintah :
touch index.php

Buka file PHP tersebut dengan :
nano index.php

Jika sudah masuk ke file PHP tersebut isikan :
<?php

Echo “Selamat Datang Di Web Ini”;

?>

Jika Sudah, save file tersebut lalu kembali ke terminal.

Untuk melihat hasilnya cukup dengan membuka browser, pada kolom url ketikan :
localhost/12018139



  Folder yang anda buat di folder /var/www/ tadi memiliki hak akses hanya sebatas membaca (r) saja, jika anda berniat untuk mengubah hak akses tersebut untuk memungkinkan anda menulis (w) atau mengeksekusi (x) atau bahkan keduanya adalah dengan masuk ke direktori tersebut lewat terminal dengan perintah :
cd /var/www/

lalu ketikan :
chmod 777 12018139

lalu di cek dengan perintah :
ls -l


 Jika Hasilnya seperti diatas maka anda sudah dapat Akses penuh terhadap direktori tersebut.




Saturday, 17 May 2014

Program Merge Sort dengan Algoritma Divide & Conquer

18:52 Posted by Unknown No comments
     Merge sort dilakukan dengan menggunakan cara divide and conquer yaitu dengan memecah kemudian menyelesaikan setiap bagian kemudian menggabungkannya kembali. Pertama data dipecah menjadi 2 bagian dimana bagian pertama merupakan setengah (jika data genap) atau setengah minus satu (jika data ganjil) dari seluruh data, kemudian dilakukan pemecahan kembali untuk masing-masing blok sampai hanya terdiri dari satu data tiap blok.

     Setelah itu digabungkan kembali dengan membandingkan pada blok yang sama apakah data pertama lebih besar daripada data ke-tengah+1, jika ya maka data ke-tengah+1 dipindah sebagai data pertama, kemudian data ke-pertama sampai ke-tengah digeser menjadi data ke-dua sampai ke-tengah+1, demikian seterusnya sampai menjadi satu blok utuh seperti awalnya. Sehingga metode merge sort merupakan metode yang membutuhkan fungsi rekursi untuk penyelesaiannya.

Contoh Algoritma/Pseudo Codenya Adalah :
procedure MergeSort(input/output A : TabelInt, 
 input i, j : integer) 
{ Mengurutkan tabel A[i..j] dengan algoritma 
  Merge Sort Masukan: Tabel A dengan n elemen
  Keluaran: Tabel A yang terurut
}
Deklarasi:
   k : integer

Algoritma:
   if i < j then  { Ukuran(A)> 1}
     k¬(i+j) div 2
     MergeSort(A, i, k)
     MergeSort(A, k+1, j)
     Merge(A, i, k, j)
   endif






procedure Merge(input/output A : TabelInt, input kiri,
tengah,kanan : integer)
{ Menggabung tabel A[kiri..tengah] dan tabel 
  A[tengah+1..kanan]
  menjadi tabel A[kiri..kanan] yang terurut menaik.
  Masukan: A[kiri..tengah] dan tabel A[tengah+1..kanan] 
  yang sudah terurut menaik.
  Keluaran: A[kiri..kanan] yang terurut menaik.
}
Deklarasi
B : TabelInt
i, kidal1, kidal2 : integer

Algoritma:
kidal1¬kiri { A[kiri .. tengah] }
kidal2¬tengah + 1   { A[tengah+1 .. kanan] }
i¬kiri
while (kidal1 £ tengah) and (kidal2 £ kanan) do 
       if Akidal1 £ Akidal2 then 
       Bi¬Akidal1
   kidal1¬kidal1 + 1 
   else 
       Bi¬Akidal2
   kidal2¬kidal2 + 1
   endif
   i¬i + 1
    endwhile 
{ kidal1 > tengah or kidal2 > kanan }

{ salin sisa A bagian kiri ke B, jika ada }
while (kidal1 £ tengah) do 
       Bi¬Akidal1
   kidal1¬kidal1 + 1
   i¬i + 1
    endwhile
   { kidal1 > tengah }
   { salin sisa A bagian kanan ke B, jika ada }
while (kidal2 £ kanan) do 
   Bi¬Akidal2
   kidal2¬kidal2 + 1
   i¬i + 1
endwhile 
{ kidal2 > kanan }
   { salin kembali elemen-elemen tabel B ke A }
for i¬kiri to kanan do
   Ai¬Bi
    endfor   
   { diperoleh tabel A yang terurut membesar }


Untuk implementasinya ke Bahasa C++ Adalah :
#include <cstdlib>
#include <iostream>

using namespace std;

void Merge(int* A, int kiri,int tengah, int kanan){

 int B[kiri+kanan];
 int i,kidal1,kidal2;


 kidal1=kiri;
 kidal2=tengah+1;
 i=kiri;

 while (kidal1<=tengah && kidal2 <= kanan){
  if(A[kidal1] <= A[kidal2]){
   B[i]=A[kidal1];
   kidal1++;
  }
  else{
   B[i]=A[kidal2];
   kidal2++;
  }
  i++;
 }

    while ( kidal1 <= tengah ){
        B[i] = A[kidal1];
        kidal1++;
        i++;
        }

    while ( kidal2 <= kanan ){
        B[i] = A[kidal2];
        kidal2++;
        i++;
        }

 for (int i=kiri;i<= kanan;i++){
  A[i]=B[i];
 }
}

void MergeSort (int* A, int i, int j){
 int k;
 if (i<j){
  k= ((i+j)/2);
  MergeSort(A, i, k);
  MergeSort(A, k+1, j);
  Merge(A, i, k, j);
 }
}

int main(int argc, char *argv[])
{
 int n;
 int i;
 int j;

 cout<<"Masukkan junlah data : ";
 cin>>n;
 i=1;
 j=n;
 int A[n];

 for (int x=1;x<=n;x++){
  cout<<"masukan data ke-"<<x<<" : ";
  cin>>A[x];
 }
 cout<<"Data sebelum diurutkan : ";
 for (int x=1;x<=j;x++){
  cout<<A[x]<<" ";
    }
    cout<<endl;

 MergeSort(A,i,j);

 cout<<"Data sesudah diurutkan : ";
 for (int x=1;x<=j;x++){
  cout<<A[x]<<" ";
    }
    cout<<endl;

 system("pause");
 return 0;
}

Hasil Eksekusinya :

Algoritma Divide & Conquer

18:18 Posted by Unknown No comments
     Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan algoritma yang berprinsip memecah-mecah permasalahan yang terlalu besar menjadi beberapa bagian kecil sehingga lebih mudah untuk diselesaikan. Langkah-langkah umum algoritma Divide and Conquer :

  • Divide    : Membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah                             semula namun berukuran lebih kecil ( idealnya berukuran hampir sama ).
  • Conquer : Memecahkan ( menyelesaikan ) masing-masing sub-masalah ( secara rekursif ).
  • Combine : Menggabungkan solusi masing-masing sub-masalah sehingga  membentuk solusi masalah                                 semula.
Contoh :
Diketahui table A yang berukuran n eleman sudah berisi nilai integer. Kita ingin menentukan nilai minimum dan nilai maksimum sekaligus di dalam table tersebut. Misalkan tabel A berisi elemen-elemen sebagai berikut :
Maka cara penyelesaiannya dengan Algoritma Divide & Conquer adalah :
Ukuran table hasil pembagian dapat dibuat cukup kecil sehingga mencari minimum dan maksimum dapat diselesaikan (SOLVE) secara lebih mudah. Dalam hal ini, ukuran kecil yang dipilih adalah 1 elemen atau 2 elemen.

Saturday, 26 April 2014

Algoritma Kruskal

18:02 Posted by Unknown No comments
Algoritma Kruskal adalah algoritma untuk mencari pohon merentang minimum secara langsung didasarkan pada algoritma MST (Minimum Spanning Tree) umum. Pada algoritma Kruskal sisi-sisi di dalam graf diurut terlebih dahulu berdasarkan bobotnya dari kecil ke besar. Sisi yang dimasukkan ke dalam himpunan T adalah sisi graf G sedemikian sehingga T adalah pohon. Pada keadaan awal, sisi-sisi sudah diurut berdasarkan bobot membentuk hutan (forest). Hutan tersebut dinamakan hutan merentang (spanning forest). Sisi dari graf G ditambahkan ke T jika tidak membentuk sirkuit di T.
Perbedaan prinsip antara algoritma Prim dan Kruskal adalah jika pada algoritma Prim sisi yang dimasukkan ke dalam T harus bersisian dengan sebuah simpul di T, maka pada algoritma Kruskal sisi yang dipilih tidak perlu bersisian dengan simpul di T asalkan penambahan sisi tersebut tidak membentuk sirkuit.
Langkah-langkah dalam algoritma Kruskal adalah sebagai berikut:
1.   Lakukan pengurutan terhadap setiap sisi di graf mulai dari sisi dengan bobot terkecil sampai terbesar.
2.  Pilih sisi yang mempunyai bobot minimum yang tidak membentuk sirkuit di pohon. Tambahkan sisi tersebut ke dalam pohon.
3.  Ulangi langkah 2 sampai pohon merentang minimum terbentuk, yaitu ketika sisi di dalam pohon merentang minimum berjumlah n-1 (n adalah jumlah simpul di graf).
                                                                        


             Berdasarkan gambar di atas, maka dilakukan pengurutan sisi pada graf mulai dari sisi dengan bobot 
terkecil sampai terbesar dapat dilihat pada tabel berikut:

Kalau masih kurang paham, bisa dilihat di video dibawah ini :

                                 


Algoritma Prim

17:47 Posted by Unknown No comments
                      
     Algoritma Prim adalah sebuah algoritma dalam teori graf untuk mencari pohon rentang minimum untuk sebuah graf berbobot yang saling terhubung. Ini berarti bahwa sebuah himpunan bagian dari edge yang membentuk suatu pohon yang mengandung node, di mana bobot keseluruhan dari semua edge dalam pohon diminimalisasikan. Bila graf tersebut tidak terhubung, maka graf itu hanya memiliki satu pohon rentang minimum untuk satu dari komponen yang terhubung.(Wiki).


Langkah-langkah untuk mencari bobot minimum:
  1. Ambil sisi dari graph (G) yang berbobot minimum, masukkan dalam Tree ( T ).
  2. Pilih sisi yang mempunyai bobot minimum dan bersisian dengan simpul di T ,tetapi sisi tersebut tidak membentuk sirkuit di T, kemudian tambahkan sisi tersebut ke dalam T.
  3. Ulangi langkah 2 sebanyak (N -2 ) kali.
Berikut ini adalah contoh sebuah kasus mengenai Algoritma Prim:  
                

Penyelesaiannya:
                          

Pohon Rentang Minimum

17:36 Posted by Unknown No comments
                                                    

      Pohon rentang minimum (minimal spanning tree) adalah teknik mencari jalan penghubung yang dapat menghubungkan semua titik dalam jaringan secara bersamaan sampai diperoleh jarak minimum.
      Masalah pohon rentang minimum serupa dengan masalah rute terpendek (shortest route), kecuali bahwa tujuannya adalah untuk menghubungkan seluruh simpul dalam jaringan sehingga total panjang cabang tersebut diminimisasi. Jaringan yang dihasilkan merentangkan (menghubungkan) semua titik dalam jaringan tersebut pada total jarak (panjang) minimum.

Langkah-langkah dari pohon rentang minimum adalah :
  1. pilih secara arbitrer sebuah node dalam jaringan
  2. hubungkan node tersebut dengan node terdekat yang dapat meminimalkan total jarak
  3. perhatikan semua node apakah terdapat node yang belum terhubung, temukan dan hubungkan node terdekat yang belum terhubung
  4. ulangi langkah ketiga sampai seluruh node dapat terhubung
       Sebagai contoh, gedung Istec Corporation yang baru memiliki beberapa ruangan dan tiap ruangan membutuhkan 1 lubang aliran listrik (atau biasa disebut sebagai steker). Teknisi listrik akan menyalurkan listrik dari ruang bagian depan sampai keseluruh ruangan dengan total panjang kabel yang seefisien mungkin. Adapun jarak antar ruangan dapat digambarkan dalam gambar jaringan berikut ini, sedangkan ruang bagian depan digambarkan sebagai node-1.
           Karena node-1 adalah ruangan terdepan yang menjadi sumber aliran listrik utama, maka node-1 akan dijadikan sebagai patokan dalam jaringan. Node yang paling dekat dengan node-1 adalah node dengan jarak 2 meter, sehingga kita hubungkan node 1 dengan node-3.

           Kemudian kita lihat node-node terdekat yang belum terhubung dengan node 1 dan 3, yaitu node 7, 6 dan 2. Yang terdekat dengan node 3 adalah node 7 dengan jarak 3 meter. Kemudian node 3 dan node 7 dapat dihubungkan.

             Node yang belum terhubung terdekat dengan node 1, 3 dan 7 adalah node 6 dengan panjang 2 meter.



           Node yang belum terhubung dan dekat dengan node 1,3,7 dan 6 adalah 5 dan 2. Node 5 dapat terhubung dengan node 6 dengan jarak 3 meter, sedangkan node 3 dapat dihubungkan dengan node-1 dengan jarak 3 meter.


              Sisa node yang belum terhubung adalah node 8, 4 dan 9. Node 4 dapat dihubungkan dengan node 5 dengan jarak 3 meter, dan untuk mencapai node 9 total jarak terdekat lebih pendek jika ditempuh dari node 8 ke 9 dari pada melalui node 4.



           Karena seluruh node telah terhubung atau telah terkait dalam satu jaringan, maka solusi di atas telah optimum. Jadi teknisi listrik dapat memulai merentangkan kabelnya dengan menghubungkan node 1 – 2, 1 – 3, 3 – 7, 6 – 7, 5 – 6, 4 – 5,6 – 8, 8 – 9
Panjang kabel yang dibutuhkan adalah : 21 meter


Tuesday, 8 April 2014

Algoritma Greedy

21:03 Posted by Unknown No comments
         Algoritma Greedy adalah salah satu algoritma yang dapat digunakan untuk mendapatkan solusi terbaik dan merupakan algoritma yang paling populer dalam hal ini.

Tuesday, 25 March 2014