0% menganggap dokumen ini bermanfaat (0 suara)
118 tayangan10 halaman

Modul Java - Thread

Thread merupakan kemampuan Java untuk membuat aplikasi multitasking. Dokumen ini menjelaskan cara membuat thread dengan mewarisi kelas Thread atau mengimplementasikan interface Runnable, serta mendemonstrasikan thread melalui beberapa percobaan seperti menggunakan thread pada aplikasi client-server.

Diunggah oleh

Budi P
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
118 tayangan10 halaman

Modul Java - Thread

Thread merupakan kemampuan Java untuk membuat aplikasi multitasking. Dokumen ini menjelaskan cara membuat thread dengan mewarisi kelas Thread atau mengimplementasikan interface Runnable, serta mendemonstrasikan thread melalui beberapa percobaan seperti menggunakan thread pada aplikasi client-server.

Diunggah oleh

Budi P
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

1

MODUL 1
THREAD

Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang
tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya
thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan
sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama.
Thread umumya digunakan untuk pemrograman multitasking, networking, yang melibatkan
pengaksesan ke sumber daya secara konkuren.

Ada dua cara yang bisa digunakan dalam membuat sebuah tliread. yaitu :
♦ Membuat subclass dari thread
Untuk menjalankan thread, dapat dilakukan dengan memanggil method start(). Saat
start() dijalankan, maka sebenamya method run() dari class akan dijalankan. Jadi untuk
membuat thread, hams mendefinisikan method run() pada definisi class. Konstruktor
dari cara ini adalali:

♦ Mengimplementasikan interface Runnable


Cara ini mempakan cara yang paling sederhana dalam membuat thread. Runnable
merupakan unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya
cukup mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita
akan mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara
ini adalah:

A. Daemon Dan User Thread


Ada dua Macam thread dalam Java, yaitu daemon dan user thread. Daemon thread
merupakan thread yang siklus hidupnya tergantung pada thread utama atau induk, sehingga
apabila thread induk berakhir, maka otomatis thread-thread daemon juga ikut berakhir.
2

Sedangkan user thread memiliki sifat berbeda, dimana apabila thread utama sudah selesai,
maka user thread akan terns dijalankan.

B. Sleep
Mengatur thread untuk menghentikan prosesnya sejenak dan memberi kesempatan pada
thread atau proses lain. Sleep dilakukan dengan cara memanggil method :
Sleep(long waktu);
Waktu untuk method ini merupakan tipe long dalam milisekon.
C. Interrupt
Apabila menginginkan suatu thread untuk menghentikan proses, maka perlu memanggil
method interrupt. Interrupt digunakan untuk memberi signal pada thread untuk menghentikan
prosesnya.

Latihan 1. Thread.java
3

D. Synchronized
Sinkronisasi adalah method atau blok yang memiliki tambahan keyword synchronized,
sehingga apabila dijalankan maka hanya satu tliread pada suatu waktu yang dapat menjalankan
method atau blok program. Thread lain akan menunggu tliread yang sedang mengeksekusi
method ini hingga selesai. Mekanisme sinkronisasi penting apabila terjadi pembagian sumber
daya maupun data di antara thread-thread. Sinkronisasi juga melakukan penguncian pada sumber
daya atau data yang sedang diproses.
Latihan 2. ThreadSinkronisasi.java
4

PERCOBAAN
Percobaan 1 : Implementasi thread dengan Thread Class sebagai parent
Salah satu cara untuk membuat thread adalah dengan meng-extend class Thread. Program berikut adalah
contoh cara membuat thread dengan meng-extend class thread.
5

Percobaan 2 : Implementasi thread dengan Interface Runnable


Selain dengan meng-extend class thread kita juga dapat membuat thread dengan cara
mengimplementasikan interface runnable. Berikut adalah contoh program untuk membuat thread dengan
interface runnable.

Percobaan 3 : Implementasi thread dengan membuat instance dari Class Thread

Selain mengimplementasikan interface runnable atau meng-extend class Thread, kita juga bias membuat

thread dengan cara langsung membuat instance dari class thread.

Percobaan 4 : Start Thread Twice


Apakah sebuah thread dapat dijalankan lebih dari satu kali? Untuk menjawab pertanyaan tersebut silahkan
jalankan program berikut ini.
6

Percobaan 5 : Menjalankan Thread dengan memanggil method run()


Dapatkah kita menjalankan thread dengan hanya memanggil method run() saja?

Percobaan 6 : Permasalahan ketika memanggil method run()


Apa yang terjadi jika kita menjalankan thread dengan memanggil method run? Apa perbedaan memanggil
method run() dan start()? Untuk menjawab pertanyaan tersebut silahkan jalankan dua program berikut.
Buatlah analisa untuk perbedaan pemanggilan method run() dan start().
7

PRAKTEK MANDIRI
Latihan 1 : Aplikasi Client-Server tanpa thread
- Buatlah JFrame dengan nama ServerFrame.java seperti berikut.

- Tambahkan variable_dan method berikut ke dalam class ServerFrame.java

- Tambahkan code berikut dalam button Start

- Tambahkan code berikut dalam button Shutdown


System.exit(0)

- Buatlah JFrame dengan nama ClientFrame.java seperti berikut.


8

- Tambahkan variable dan method berikut pada class ClientFrame.java

- Tambahkan code berikut dalam button Connect

Latihan 2 : Aplikasi Client-Server dengan thread


- Buatlah JFrame dengan nama ServerFrameThread.java seperti berikut.

-Tambahkan variable dan method berikut ke dalam class ServerFrame.java


9

-Tambahkan code berikut dalam button Start

-Tambahkan code berikut dalam button Shutdown

-Untuk aplikasi Client menggunakan ClientFrame.java.


10

TUGAS PRAKTEK THREAD

1. Lakukan percobaan berikut:


- Jalankan class ServerFrame.java (tanpa thread) kemudian aktifkan server.
- Amatilah yang terjadi pada window aplikasi server.
- Catatlah hasil pengamatan anda dalam lap
2. Lakukan percobaan berikut:
- Jalankan class ServerFrame.java (tanpa thread) kemudian aktifkan server.
- Setelah server aktif, lalu jalankan class ClientFrame.java
- Amati window aplikasi server sebelum dan setelah aplikasi client berjalan.
- Catatlah hasil pengamatan anda dalam laporan!
3. Lakukan percobaan berikut:
- Jalankan class ServerFrameThread.java (dengan thread) kemudian aktifkan server.
- Setelah server aktif, lalu jalankan class ClientFrame.java
- Amati window aplikasi server sebelum dan setelah aplikasi client berjalan.
- Catatlah hasil pengamatan anda dalam laporan!
4. Buatlah analisa dari hasil pengamatan dari percobaan yang telah anda lakukan!

LAPORAN RESMI
Buatlah laporan untuk hasil percobaan dan latihan. Tambahkan analisa dari hasil percobaan
tersebut.

Anda mungkin juga menyukai