Share this history on :

Jumat, 12 Oktober 2012

2 Java Multi Thread Berbasis GUI


Jangan Lupa Tinggalkan Komentar Kalian Ya...!!!
Alhamdulinllah kita masih diberi kesehatan lahir dan batin sehingga kita masih bisa berjumpa lagi di postingan yang berbeda, Alhamdulillahhirobbil'alamin.
Kali ini kita masih membahas tentang java, yaitu Java Multi Thread Berbasis GUI. oya sebelumnya sudah pada tau belum Thread itu apa..? Thread dalam java adalah rangkaian eksekusi dari aplikasi java, dan setiap program java minimal memiliki satu buah thread dan thread ini bisa berada di salah satu dari 4 status, yaitu new, runnable, blocked dan dead. Maka bisa kita simpulkan Multi Thread adalah sebuah mekanisme dimana dalam satu proses ada beberapa thread yang mengerjakan tugasny masing-masing pada waktu yang bersamaan. sebenarnya tidak bersamaan sih, tetapi kalau kita lambatkan kerja prosesor sebenarnya ada jeda antara satu pekerjaan dengan pekerjaan yang lainnya, nah
inilah yang akan kita bahas pada postingan ini. langsung saja yok kita persiapkan :
1. Kita buat new projeck misal kita beri nama "Multi_Thread", ooo iya lupa disini contohnya masih menggunakan NetBeans IDE 1.7.1 ya
2. Maka didalam source package terdapat package multi_thread nah didalamnya sudah ada Multi_Thread.java kita delet aja dulu soalnya kita mau membuat pekek GUI.
3. Kemudian klick kanan pada package multi thread => new => JFrame Form.
4. Kemudian kita kasih 2 jLabel  dan 1jButton seperti gambar dibawah ini :


5. Kemudian kita rubah sehinnga menjadi seperti ini :
6. Sebelum kita mengasih code di tombol proses kita harus buat Threadnya dulu, kita ber nama "ThreadPertama.java" dan "ThreadKedua.java" kita ketikkan kode seperti dibawah ini :
   ThreadPertama.java


package multithread;

import java.util.logging.Level;
import java.util.logging.Logger;

public class ThreadPertama extends Thread {
    private MainForm f;

    public ThreadPertama(MainForm f){
        this.f = f;
    }
    public void run() {
        //body of Thread
        for (int i=0;i<20;i++) {
            f.label_pertama.setText(String.valueOf(i));
            try {
                Thread.sleep(900);
            } catch (InterruptedException ex) {
                Logger.getLogger(ThreadPertama.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}

   ThreadKedua.java



package multithread;

import java.util.logging.Level;
import java.util.logging.Logger;

public class ThreadKedua extends Thread {
    private MainForm f;

    public ThreadKedua(MainForm f){
        this.f = f;
    }
    public void run() {
        //body of Thread
        for (int i=0;i<20;i++) {
            f.label_kedua.setText(String.valueOf(i));
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                Logger.getLogger(ThreadPertama.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}

7. Sekarang saatnya kita isi tombol proses dengan kode seperti dibawah ini :


 //membuat object thread
ThreadPertama tp = new ThreadPertama(this);
ThreadKedua tk = new ThreadKedua(this);

        //menjalankan thread
        tp.start();
        tk.start();
8. Nah sekarang sudah selesai, coba kita jalankan dan kita click tombol proses maka jika anda benar maka hasilnya akan seperti gambar dibawah ini :


9. Disini program akan lupping sampai 20 kali soalnya sudah kita tentukan di dalam ThreadPertama dan ThreadKedua tadi "for (int i=0;i<20;i++)" dan akan berjalan bergantian karena kita perlambat proses prosesornya dengan perintah "Thread.sleep(1000);"
Gimana pada bisa n sukses kan ngebuatnya..? hehehe kalo masih bingung silahkan komen.
Inget lo jangan asal copas aja :)
Terimakasih atas kunjungannya jangan lupa di share dan di like yah..:D
Semoga bermanfaat amin amin amin ya Robbal'alamin.

2 komentar:

  1. Sangat menginspirasi bagi pemula yang ingin membuat aplikasi GUI multithread. Menggunakan class thread yang terpisah membuat program menjadi lebih modular serta mudah dipelajari.....

    BalasHapus