Tuesday, 4 February 2014

Contoh Cara Seting Load Balance Mikrotik 2 ISP

Artikel kali ini kembali membahas tentang Load Balancing, yaitu Contoh Cara Seting Load Balance Mikrotik 2 ISP. Disini ada 2 ISP berbeda yang digunakan, yaitu Bandwith ISP A 1024 Kbps Sedangkan ISP  B 256 Kbps 1:8 Tetapi di sini kita akali menambah satu fake ISP untuk seimbangkan akses Langsung. 

Berikut langkah-langkah nya :

Pake WinBox masuk ke -> IP -> Address
-> klik [+] -> isikan Address : 192.168.1.1/24 Network : 192.168.1.0
Broadcast : 192.168.1.255 -> Konfigurasi LAN ( Local)
Interface : Ether1

-> klik [
+] -> isikan Address : 192.168.2.2/24
Network : 192.168.2.0
Broadcast : 192.168.2.255 -> Konfigurasi WAN 1 (ISP A)
Interface : Ether2

-> klik [
+] -> isikan Address : 192.168.3.2/24  Network : 192.168.3.0
Broadcast : 192.168.3.255 -> Konfigurasi WAN 2 (ISP B)
Interface : Ether3

Buat Mangle. Pake WinBox pilih -> New Terminal
Silakan copy dan paste script berikut :
/ip firewall mangle [lalu enter]
add chain=prerouting in-interface=”ether1″ connection-state=new nth=2,2,0 action=mark-connection new-connection-mark=lb_1 passthrough=yes comment=”LB Client” disabled=no
add chain=prerouting in-interface=”ether1″ connection-mark=lb_1 action=mark-routing new-routing-mark=route_lb_1 passthrough=no comment=”" disabled=no
add chain=prerouting in-interface=”ether1″ connection-state=new nth=2,2,1 action=mark-connection new-connection-mark=lb_2 passthrough=yes comment=”" disabled=no
add chain=prerouting in-interface=”ether1″ connection-mark=lb_2 action=mark-routing new-routing-mark=route_lb_2 passthrough=no comment=”" disabled=no
add chain=prerouting in-interface=”ether1″ connection-state=new nth=2,2,2 action=mark-connection new-connection-mark=lb_3 passthrough=yes comment=”" disabled=no
add chain=prerouting in-interface=”ether1″ connection-mark=lb_3 action=mark-routing new-routing-mark=route_lb_3 passthrough=no comment=”" disabled=no

Buat NAT. Pake WinBox pilih -> New Terminal
Copy dan paste lagi script berikut :
/ ip firewall nat
add chain=srcnat out-interface=”ether3″ action=masquerade comment=”" disabled=no
add chain=srcnat out-interface=”ether2″ action=masquerade comment=”" disabled=no

Buat Route. Pake WinBox pilih -> New TerminalCopy dan paste lagi script berikut :
 / ip route
add dst-address=0.0.0.0/0 gateway=192.168.2.1 scope=255 target-scope=10 routing-mark=route_lb_1 comment=”" disabled=no
add dst-address=0.0.0.0/0 gateway=192.168.3.1 scope=255 target-scope=10 routing-mark=route_lb_2 comment=”" disabled=no
add dst-address=0.0.0.0/0 gateway=192.168.2.1 scope=255 target-scope=10 routing-mark=route_lb_3 comment=”" disabled=no
add dst-address=0.0.0.0/0 gateway=192.168.2.1 scope=255 target-scope=10 comment=”default routing connection” disabled=no
Untuk Interface dan IP address nya silakan anda sesuaikan sendiri dengan kebutuhan anda. Demikianlah Contoh Cara Seting Load Balance Mikrotik 2 ISP
Selamat Mencoba :)

Monday, 3 February 2014

Cara Seting Auto Shutdown Mikrotik Menggunakan Winbox

Ada kalanya disaat-saat tertentu kita ingin mematikan Mikrotik secara otomoatis tanpa perlu repot-repot mengakses Mikrotik nya dulu kemudian baru di shutdown. Hal tersebut dapat kita lakukan dengan memanfaatkan fitur script dan schedule pada Mikrotik untuk membuat metode Auto Shutdown Mikrotik. Dengan bantuan kedua fitur ini kita bisa mematikan Mikrotik pada jam dan waktu yang kita inginkan.

Jadi Skenario nya seperti ini :
Saya punya Mikrotik RB951U-2HnD untuk hotspot via modem smartfren di kos. Mikrotik ini cuma dipakai dari jam 6 sore (pulang kerja) hingga 6.40 pagi (berangkat kerja). Karena pas kerja, mikrotik saya bawa ke kantor buat hotspotan. Di kantor Mikrotik beroperasi dari jam 7.30 pagi hingga jam 5 sore. Jadi disini saya ingin membuat Mikrotik shutdown otomatis pada pukul 06.40 dan 17.00. Untuk tau lebih lanjut, silakan simak caranya.

Caranya adalah sebagai berikut :
1. Login ke Mikrotik via Winbox
2. Buka menu System --> Scripts --> Tembahkan Script Baru
> Beri nama Script nya, misal autoshutdown
> Masukkan script berikut pada kolom Source:
system shutdown

3. Untuk menjalankan Script Auto Shutdown secara otomatis tiap harinya, buka menu System --> Scheduler --> Tambahkan schdule baru
> Beri nama schedule nya.
> Start Date : isi tanggal kapan script ini akan mulai dieksekusi
> Start Time : Jam berapa script akan dieksekusi
> Interval : berapa selang waktu (interval) script ini akan dieksekusi lagi (1d = 1 hari = 24 jam)
> On Event : nama script yang sudah dibuat dan akan di eksekusi


4. Script autoshutdown dapat dieksekusi lebih dari sekali. Caranya tinggal tambahkan lagi saja Schedule nya dengan seting waktu yang berbeda.

Oke, silakan anda coba dan praktekkan Tutorial Cara Seting Auto Shutdown Mikrotik Menggunakan Winbox ini. Semoga bermanfaat :)

Alasan Kenapa Tidak Bisa Konek Winbox via Mac Address Mikrotik

Kenapa Mikrotik saya tidak terdeteksi ketika di Search di Winbox? 
Kenapa Mikrotik saya tidak bisa konek Winbox via MAC Address? 
Mungkin dua pertanyaan ini pernah keluar dari pikiran anda ketika mau mengakses Mikrotik via Winbox tapi tidak bisa. Nah, kali ini saya akan mencoba menjelaskan dan menjawab pertanyaan tersebut. Anda bisa download Winbox Mikrotik disini.

Pada dasarnya Winbox adalah sebuah utility yang digunakan untuk melakukan remote ke server mikrotik dalam mode GUI (Graphical User Interface). Jadi dengan ini anda tidak perlu repot-repot mengetikkan perintah-perintah Mikrotik, hanya tinggal klik saja. Biasanya kita tinggal search aja di menu [...] di samping Connect to maka Mikrotik kita akan terdeteksi. Selanjutnya kita bisa memilih untuk konek Mikrotik ke Winbox via IP address atau MAC Address, seperti gambar berikut ini :


Nah, kemudian muncul pertanyaan pertama : 
"Kenapa Mikrotik saya tidak terdeteksi ketika di Search di Winbox?" 

Ada beberapa kemungkinan :
1. Mikrotik belum terkoneksi dengan benar ke PC/Laptop 
Jika menggunakan Kabel, cek kabel UTP nya apakah memang bisa digunakan.
Jika menggunakan Wireless, pastikan Laptop sudah terkoneksi dengan SSID Mikrotik nya dengan baik.
Jika menggunakan Wireless Hotspot, Pastikan anda sudah LOGIN ke hotspot Mikrotik dulu via web browser.

2. Mikrotik anda Hang/Crash, sehingga tidak terdeteksi. Solusinya coba restart Mikrotik nya dengan mencabut dan memasang kembali kabel power nya.

3. PC/Laptop yang digunakan terinstall Virtual Adapter dari aplikasi lain, seperti VirtualBox atau VMWare, dsb. Ternyata hal inilah yang selama ini saya alami setelah kedua kemungkinan di atas sudah teratasi. Mungkin hal ini juga yang terjadi pada Laptop/PC anda. Coba anda cek di "Network and Sharing Center" apakah ada virtual adapter lain yang terinstall di PC anda. 

Jika Virtual Adapter lain itu aktif, maka ketika kita coba search Mikrotik di Winbox, Mikrotik nya tidak muncul.


Untuk mengatasi hal ini, kita bisa menonaktifkan dulu virtual adapter tersebut dengan masuk ke menu "Change Adapter Settings". 
 

Disable dulu semua virtual adapter yang terinstall di PC/Laptop kita. Klik kanan di Virtual Adapter --> Klik Disable. Seperti gambar berikut :
 

Jika sudah nonaktif semua, coba search lagi Mikrotik nya di Winbox. Maka Mikrotik nya pun akan muncul seperti gambar berikut ini :

Coba konek Mikrotik via MAC Address nya.

Sekarang coba aktifkan kembali salah satu Virtual Adapter nya. Maka Winbox akan memunculkan pesan error "Router has been disconnected". Seperti gambar berikut ini :


Hal ini terjadi karena kita konek ke Winbox nya via MAC Address. Sehingga ketika Virtual Adapter nya diaktifkan koneksi ke Winbox akan putus dan tidak bisa menyambung lagi via MAC Address. Hanya bisa konek via IP Address nya.

Oke, jadi hal ini sudah menjawab pertanyaan kedua : 
"Kenapa Mikrotik saya tidak bisa konek Winbox via MAC Address?"

Itulah beberapa Alasan Kenapa Tidak Bisa Konek Winbox via Mac Address Mikrotik yang selama ini saya alami dan ternyata ada sebab dan solusinya. Semoga apa yang saya tuliskan di atas bisa membantu anda. 

Sunday, 26 January 2014

Cara Menghitung dan Menggunakan Burst pada Simple Queue Mikrotik

Cara Menghitung Burst untuk simple queue Mikrotik. Sebelumnya saya pernah membahas tentang burst di artikel ini Tenik Burst Bandwidth pada Mikrotik. Pada kesempatan ini, saya akan coba bahas lagi tentang burst bandwidth yaitu Cara Menghitung dan Menggunakan Burst pada Simple Queue Mikrotik.



Lama waktu ideal untuk mengakses sebuah situs harusnya tidaklah lebih dari 10 hitungan jari atau 10 detik. Hal ini diperlukan untuk memberikan kenyamanan bagi user dalam melakukan aktivitas browsing. Maka tak ada salahnya kita memberikan aliran Bandwidth yang cukup besar pada 10 detik pertama, dan selanjutnya kita batasi untuk memberikan download file yang biasanya lebih dari 10 detik.

Burst pada simple Queue bertujuan untuk mengijinkan aliran data tertinggi untuk beberapa periode waktu. Fasilitas ini berguna untuk membatasi pemakaian bandwidth secara berlebihan dan terus menerus bagi user-user yang rakus akan bandwidth. Hanya pada beberapa periode waktu tertentu sajalah user mendapatkan jatah b/w yang cukup besar.

Pada fitur Burst terdapat beberapa variabel yang harus ditentukan nilainya, antara lain Burst Limit, Burst Threshold dan Burst Time. Yang perlu diperhatikan adalah, jika rata-rata aliran data lebih rendah dari “Burst Threshold“, Burst akan secara aktual mengikuti “Burst Limit", dimana setiap detik router akan menghitung rata-rata data yang dicapai melalui burst time yang terakhir.
Click here to enlarge
Click here to enlarge

Penulis menggunakan rumus tersendiri yang di buat di excel

Dimana :

N = Interval time

X = Burst Limit

Y = Burst Threshold

Z = Burst Time

M = Max Limit

Rumus : Y = (X*N) / Z

M = 4/3 * Y

Contoh :

X = 1024 kbps

N = 10 detik

Z = 40 s

Y = (1024*10) / 40 = 256 kbps

Maka di dapat Burst Threshold = 256 kbps

M = 4/3 * 256 = 342 kbps

Maka di dapat Max Limit = 342kbps

Jika di set maka hasil yang di dapat :

Click here to enlarge

Click here to enlarge

Click here to enlarge

Dari grafik di atas di liat waktu buka website bandwidth langsung naik dari 256 kbps ke 1024 kbps trus makin lama makin turun ke max limit 342 kbps. Teknis ini dapat menghemat bandwidth agar tidak banyak user mengambil bandwidth untuk download.

Untuk limit at dapat di hitung dengan cara misalkan ada 6 komputer. Bandwidth yang kita punya max 1 Mbps (1024 kbps) maka bagi 6 (1024/6) = 170 kbps kita set limit at tidak boleh lebih dari 170 kbps atau kasih rata-rata = 128 kbps. Sehingga user minimal dapat bandwidth 128 kbps.

Agar lebih mudah menghitung nya, silakan gunakan Burst Calculator dengan excel yang dapat anda download disini.


sumber:
http://beta.forummikrotik.com/general-networking/18183-menghitung-burst-threshold-untuk-simple-queue.html

JAVA BASIC NetBeans - Membuat Aplikasi GUI Iframe

Sudah lama tidak update blog kali ini saya akan sedikit memberikan Tutorial bagaimana membuat Aplikasi berbasis Java Denga Gui kali . sesuai Tugas Kuliah kali ini saya membahas Tentang aplikasi Penjual Mobil Basis Java GUI .

Berikut Sourchcode dan tampilanya

Buat tampilaan mengunakan Iframe seperti berikut menguanakn control Tool.















Setelah itu lakukan Tulis Scrip Berikut atau copy n paste

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

/**
 *
 * @author BomberCom
 */
public class PejualanMobil extends javax.swing.JFrame {

    /**
     * Creates new form PejualanMobil
     */
    public PejualanMobil() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    //                          
    private void initComponents() {

        grup = new javax.swing.ButtonGroup();
        jLabel1 = new javax.swing.JLabel();
        av = new javax.swing.JRadioButton();
        grup.add(av);
        xe = new javax.swing.JRadioButton();
        grup.add(xe);
        er = new javax.swing.JRadioButton();
        f = new javax.swing.JRadioButton();
        jSeparator1 = new javax.swing.JSeparator();
        jSeparator2 = new javax.swing.JSeparator();
        jLabel2 = new javax.swing.JLabel();
        jm = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        hp = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        t = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jSeparator3 = new javax.swing.JSeparator();
        cpph = new javax.swing.JCheckBox();
        pph = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("APLIKASI PENJUALAN MOBIL");

        av.setText("Avanza");
        av.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                avActionPerformed(evt);
            }
        });

        xe.setText("Xenia");
        xe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                xeActionPerformed(evt);
            }
        });

        er.setText("Ertiga");
        grup.add(er);
        er.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                erActionPerformed(evt);
            }
        });

        f.setText("Fourtuner");
        grup.add(f);
        f.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fActionPerformed(evt);
            }
        });

        jLabel2.setText("BOMBERCOMPUTER 2014");

        jLabel3.setText("Jumlah Mobil Terjual");

        jLabel4.setText("Harga Perunit ($)");

        hp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hpActionPerformed(evt);
            }
        });

        jLabel6.setText("Total Penjualan :");

        jButton1.setText("HITUNG");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        cpph.setText("Total  PPH 10%");
        cpph.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cpphActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jSeparator1)
            .addComponent(jSeparator2)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(140, 140, 140)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(155, 155, 155)
                        .addComponent(jLabel2)))
                .addGap(0, 0, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(av)
                    .addComponent(er)
                    .addComponent(xe)
                    .addComponent(f))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(160, 160, 160)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(hp, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jButton1)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jm, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(cpph)
                            .addComponent(pph, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(t, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(av)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(xe)
                        .addGap(25, 25, 25)
                        .addComponent(er)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(f)
                        .addGap(4, 4, 4)
                        .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 4, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addComponent(jm, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jLabel4))
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(6, 6, 6)
                        .addComponent(hp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)
                        .addGap(8, 8, 8)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(cpph))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(t, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(pph, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addContainerGap())
        );

        pack();
    }//
                       
    private void hpActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
    }                                  

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        int bil1 = Integer.parseInt(jm.getText());
        int bil2 = Integer.parseInt(hp.getText());
        int bil3 =  bil1 *bil2;
        t  .setText(""+ bil3);
        
       
        
    }                                        

    private void erActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        if (er.isSelected());
            hp.setText("100000");
    }                                  

    private void avActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        if (av.isSelected());
            hp.setText("150000");

        
    }                                  

    private void xeActionPerformed(java.awt.event.ActionEvent evt) {                                   
        // TODO add your handling code here:
        if (xe.isSelected());
            hp.setText("125000");
    }                                  

    private void fActionPerformed(java.awt.event.ActionEvent evt) {                                  
        // TODO add your handling code here:
        if (f.isSelected());
            hp.setText("6500000");
    }                                 

    private void cpphActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        int bph1 = Integer.parseInt(t.getText());
        
        if (cpph.isSelected());
        int bph2 =  bph1 * 10 /100;
        pph.setText(""+ bph2);
        
    }                                    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(PejualanMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(PejualanMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(PejualanMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(PejualanMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new PejualanMobil().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JRadioButton av;
    private javax.swing.JCheckBox cpph;
    private javax.swing.JRadioButton er;
    private javax.swing.JRadioButton f;
    private javax.swing.ButtonGroup grup;
    private javax.swing.JTextField hp;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JTextField jm;
    private javax.swing.JTextField pph;
    private javax.swing.JTextField t;
    private javax.swing.JRadioButton xe;
    // End of variables declaration                   
}

Setlah itu lagukan Pengetestaan dengan menRun hasilnya 

















Jika berhasil akan tampil seperti di atas terimakasih telah membaca masih banyak lagi artikel seputra dunia IT di blog ini terimakasih

Friday, 17 January 2014

Tutorial Bandwidth Mikrotik : Limited Download, Unlimited Browsing Menggunakan Layer 7

Limited Download dan Unlimited Browsing adalah salah satu teknik manajemen Bandwidth yang efektif untuk membagi bandwidth secara adil. Karena, jika bandwidth download tidak dibatasi, maka akan menggangu kecepatan internet pengguna lain dalam satu jaringan. Akibatnya, jika ada beberapa pengguna yang melakukan download apalagi menggunakan IDM, maka pengguna lain yang cuma browsing tidak kebagian bandwidth.

Nah, untuk mengatasi hal ini, maka teknik Limited Download dan Unlimited Browsing ini kita terapkan. Pada Mikrotik, teknik ini bisa dilakukan dengan banyak cara. Salah satu cara yang simpel dan efektif adalah menggunakan filter Layer 7 Protocol. Yang belum tau apa itu Layer 7 Protocol, silakan baca disini.


1. Buat daftar extensi file yang masuk filter download di Layer 7 protocol. Silakan copy dan paste script berikut ke Terminal Mikrotik kemudian tekan enter. Jika ekstensi file nya dirasa kurang banyak silakan ditambahkan sendiri.

/ip firewall layer7-protocol

add comment="" name=donlotan regexp="^.*get.+\\.(exe|rar|zip|7z|cab|asf|mov|wmv\

|mpg|mpeg|mkv|avi|flv|pdf|wav|rm|mp3|mp4|ram|rmvb|dat|daa|iso|nrg|bin|vcd|\

mp2|3gp|mpe|qt|raw|wma|ogg|doc|deb|tar|bzip|gzip|gzip2|0[0-9][0-9]).*\$"

2. Buat Firewall Mangle untuk menandai paket yang mau dilimit. Silakan copy paste juga script berikut ini ke Terminal dan tekan enter. Kita cukup menggunakan 1 Mangle saja, simpel kan? :D

/ip firewall mangle

add action=mark-packet chain=forward comment=Donlotan disabled=no \

layer7-protocol=donlotan new-packet-mark=paket-donlot passthrough=no protocol=tcp



3. Silakan cek apakah script tadi berhasil dieksekusi menjadi setingan atau tidak.
Cek Setingan Layer 7 protocol : IP --> Firewall --> Layer7 Protocol

Cek Setingan Mangle : IP --> Firewall --> Mangle




4. Selanjutnya buat limit bandwidth nya dengan Queue. 
Queue Type : Masuk ke Queue --> Queue Types --> add
- Beri nama limit dl
- Kind : pcq
- Rate : 64k (silakan sesuaikan dengan keinginan berapa max speed download nya)
jika diisi 64k, maksudnya membatasi kecepatan download 64 kbps dibagi 8 --> 8 KB/s
jika ingin lebih tinggi bisa saja diisi 256k sehingga throughput : 256/8 = 32 KB/s
NB : ingat 1 byte = 8 bit
Silakan diisi sesuai keinginan anda.
- Setingan lainnya biarkan saja, lihat gambar berikut ini :



Queue Tree : masuk ke Queue --> Queue Tree --> add
- Beri nama : Limit Download
- Parent : global (Router OS saya versi 6, cuma ada satu parent global)
- Packet Marks : paket-donlot
- Queue Type : limit dl
- Max Limit : 64k (Sesuaikan dengan kebutuhan anda)
Anda juga bisa memanfaatkan fitur Limit At, silakan baca disini untuk penjelasan lebih lengkap :


5. Setingan selesai. Jadi setingan di atas membatasi bandwidth download sebesar 64kbps = 8KB/s.

6. Coba cek apakah setingan sudah benar dengan melakukan tes download file :
Sebelum menggunakan Limit Download :


Setelah menggunakan Limit Download :

Oke, demikianlah Tutorial Bandwidth Mikrotik : Limited Download, Unlimited Browsing Menggunakan Layer 7 Protocol. Silakan anda praktekan sesuai dengan kondisi jaringan anda. Selamat mencoba :)

Referensi :
http://komputersinau.blogspot.com/2012/10/limitid-download-unlimited-browsing.html

Tutorial Cara Menggunakan Modem USB Smartfren di Mikrotik RB951Ui-2HnD

Tutorial yang sama pernah saya bahas di sini Tutorial Cara Menggunakan Modem USB Smartfren di Mikrotik RB751U-2HnD. Disini saya bahas kembali dengan menggunakan perangkat mikrotik yang berbeda tipe nya. Kebetulan saya baru beli lagi Mikrotik RB951Ui-2HnD, yang bentuk luar nya mirip sekali dengan RB751U-2HnD. Yang membedakannya hanya spesifikasi Hardware yang lebih tinggi dan juga tentunya harga yang lebih mahal :D.

Kelebihan RB951Ui-2HnD dengan RB751U-2HnD adalah processor nya lebih tinggi yaitu AR9344 600MHz, RAM lebih tinggi 128 MB, dan punya port POE Out di port ether 5. 
Oke, kali ini saya akan menggunakan Mikrotik RB951Ui-2HnD untuk membuat jaringan hotspot di kos saya dengan menggunakan modem USB Smartfren AC2726.


Caranya sangat mudah, tinggal nyalakan Mikrotik nya, colokkan Modem USB Smartfren AC2726 nya ke port USB, kemudian seting Mikrotiknya sama seperti yang sudah saya bahas disini :

Tutorial Cara Menggunakan Modem USB Smartfren di Mikrotik RB751U-2HnD

◄ Posting Baru Posting Lama ►
 
Powered by Blogger.

Total Pageviews

Contact Us

Name

Email *

Message *

Copyright 2013 Komputer dan Jaringan Powered by Blogger