Pages

Subscribe:

Ads 468x60px

♪ ♥ Get Paid Daily - The Best Sites PTC ♥ ♪
DonkeyMails.com: No Minimum Payout
AyuWage Services - Get Paid to Visits Sites and Complete Surveys

Selasa, 09 Oktober 2012

Java 2D | Animasi Java | Contoh Program Animasi Java


Java 2D|Animasi Java

Dalam Praktikum grafika komputer ke 6 menerapkan Thread(dasar dari animasi) lebih jelasnya baca penjelasan dibawah ini :
Definisi Thread
Sebuah  thread merupakan  sebuah  pengontrol  aliran  program.  Untuk  lebih mudahnya, bayangkanlah  thread  sebagai  sebuah  proses  yang  akan  dieksekusi  didalam  sebuah program  tertentu.  Penggunaan  sistem  operasi  modern  saat  ini  telah  mendukung kemampuan untuk menjalankan beberapa program. Misalnya, pada saat Anda mengetik sebuah dokumen di komputer Anda dengan menggunakan text editor, dalam waktu yang bersamaan  Anda  juga  dapat  mendengarkan  musik,  dan  surfing  lewat  internet  di  PC Anda. Sistem  operasi  yang  telah  terinstal  dalam  computer  Anda  itulah  yang memperbolehkan  Anda  untuk  menjalankan  multitaskting.  Seperti  itu  juga  sebuah program  (ibaratkan  di  PC Anda),  ia  juga  dapat mengeksekusi  beberapa  proses  secara bersama-sama(ibaratkan  beberapa  aplikasi  berbeda  yang  bekerja  pada  PC  Anda). Sebuah  contoh  aplikasi  adalah  HotJava  browser  yang  memperbolehkan  Anda  untuk browsing  terhadap  suatu  page,  bersamaan  dengan  mendownload  object  yang  lain, misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.
hal tersebut merupakan keunggulan thread, singkatnya jika kita menggunakan thread saat kita melakukan aplikasi lain pada saat bersamaan maka aplikasi kita tidak akan berhenti. jika kita tidak menggunakan thread maka salahsatu aplikasi kita kan berhenti saat kita menjalankan aplikasi lain.
State dari Thread 
Sebuah thread memungkinkan untuk memiliki beberapa state:
1. Running
Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.
2. Ready to run
Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk
melakukannya.
3. Resumed
Setelah sebelumnya di block atau diberhentikan sementara, state  ini kemudian siap
untuk dijalankan.
4. Suspended
Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk
menjalankan thread lain bekerja.
5. Blocked
Sebuah  thread yang di-block merupakan sebuah  thread yang  tidak mampu berjalan,
karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi.
Prioritas
Untuk  menentukan  thread  mana  yang  akan  menerima  control  dari  CPU  dan  akan dieksekusi pertama kali, setiap thread akan diberikan sebuah prioritas. Sebuah prioritas adalah  sebuah  nilai  integer  dari  angka  1  sampai  dengan  10,  dimana  semakin  tinggi prioritas  dari  sebuah  thread,  berarti  semakin  besar  kesempatan  dari  thread  tersebut untuk dieksekusi terlebih dahulu.
Sebagai contoh, asumsikan bahwa  ada dua buah  thread yang berjalan bersama-sama. Thread  pertama  akan  diberikan  prioritas  nomor  5,  sedangkan  thread  yang  kedua memiliki prioritas 10. Anggaplah bahwa thread pertama telah berjalan pada saat thread kedua dijalankan.  Thread  kedua  akan menerima  control dari CPU dan  akan dieksekusi pada saat thread kedua tersebut memiliki prioritas yang lebih tinggi dibandingkan thread yang pada saat  itu  tengah berjalan. Salah satu contoh dari skenario  ini adalah context switch.
Sebuah context switch terjadi apabila sebagian dari thread telah dikontrol oleh CPU dari thread  yang  lain. Ada beberapa  skenario mengenai bagaimana  cara  kerja dari  context switch.  Salah  satu  skenario  adalah  sebuah  thread  yang  sedang  berjalan memberikan kesempatan  kepada  CPU  untuk  mengontrol  thread  lain  sehingga  ia  dapat  berjalan. Dalam kasus ini, prioritas tertinggi dari thread adalah thread yang siap untuk menerima kontrol  dari  CPU.  Cara  yang  lain  dari  context  switch  adalah  pada  saat  sebuah  thread yang  sedang berjalan  diambil  alih  oleh  thread  yang memiliki prioritas  tertinggi  seperti yang telah dicontohkan sebelumnya.
Hal ini juga mungkin dilakukan apabila lebih dari satu CPU tersedia, sehingga lebih dari satu prioritas thread yang siap untuk dijalankan. Untuk menentukan diantara dua thread yang  memiliki  prioritas  sama  untuk  menerima  kontrol  dari  CPU,  sangat  bergantung kepada  sistem  operasi  yang  digunakan. Windows 95/98/NT menggunakan  time-slicing dan  round-robin untuk menangani kasus ini.  Setiap thread dengan prioritas yang sama akan diberikan sebuah jangka waktu tertentu untuk dieksekusi sebelum CPU mengontrol thread lain yang memiliki prioritas yang sama. Sedangkan Solaris, ia akan membiarkan sebuah  thread  untuk  dieksekusi  sampai  ia  menyelesaikan  tugasnya  atau  sampai  ia secara suka rela membiarkan CPU untuk mengontrol thread yang lain.
Class Thread
Constructor
Constructor-constructor Thread
Thread()
//Membuat sebuah object Thread yang baru.
Thread(String name)
//Membuat sebuah object thread dengan memberikan penamaan yang spesifik.
Thread(Runnable target)
//Membuat  sebuah  object  Thread  yang  baru  berdasar  pada  object  Runnable.  Target
menyatakan sebuah object dimana method run dipanggil.
Thread(Runnable target, String name)
//Membuat sebuah object Thread yang baru dengan nama yang spesifik dan berdasarkan
pada object Runnable.
Constants
Class Thread juga menyediakan beberapa constants sebagai nilai prioritas.berikut ini adalah rangkuman dari class Thread.
public final static int MAX_PRIORITY
//Nilai prioritas maksimum, 10
public final static int MIN_PRIORITY
//Nilai prioritas minimum, 1.
public final static int NORM_PRIORITY
//Nilai default prioritas, 5.
Methods
Method-method inilah yang disediakan dalam class Thread.
public static Thread currentThread()
//Mengembalikan sebuah reference kepada thread yang sedang berjalan.
public final String getName()
//Mengembalikan nama dari thread.
public final void setName(String name)
//Mengulang  pemberian  nama  thread  sesuai  dengan  argument  name.  Hal  ini  dapat
menyebabkan SecurityException.
public final int getPriority()
//Mengembalikan nilai prioritas yang telah diberikan kepada thread tersebut.
public final boolean isAlive()
//Menunjukkan bahwa thread tersebut sedang berjalan atau tidak.
public final void join([long millis, [int nanos]])
//Sebuah  overloading method.  Sebuah  thread  yang  sedang  berjalan,  harus menunggu
sampai  thread  tersebut  selesai  (jika  tidak  ada  parameter-parameter  spesifik),  atau
sampai waktu yang telah ditentukan habis.
public static void sleep(long millis)
//Menunda  thread  dalam  jangka  waktu  milis.  Hal  ini  dapat  menyebabkan
InterruptedException.
public void run()
//Eksekusi thread dimulai dari method ini.
public void start()
//Menyebabkan eksekusi dari thread berlangsung dengan cara memanggil method run.
Contoh Thread
import javax.swing.*;
import java.awt.*;
class CountDownGUI extends JFrame {
JLabel label;
CountDownGUI(String title) {
super(title);
label = new JLabel(“Start count!”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(new Panel(), BorderLayout.
getContentPane().add(label);
setSize(300,300);
setVisible(true);
}
void startCount() {
try {
for (int i = 10; i > 0; i–) {
Thread.sleep(1000);
label.setText(i + “”);
}
Thread.sleep(1000);
label.setText(“Count down complete.”);
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
label.setText(Thread.currentThread().toString());
}
public static void main(String args[]) {
CountDownGUI cdg = new CountDownGUI(“Count down GUI”);
cdg.startCount();
}
}
Artikel Terkait:

Visit:

Earn Money With Your Website

Earn Money With Your Website

Earn Money With Your Website

Earn Money With Your Website

Earn Money With Your Website

Earn Money With Your Website

Earn Money With Your Website

Get Paid(Dolar) Dengan Hanya Dengan Mengklik Inbox Account Atau Melalui Email.

DonkeyMails.com: No Minimum Payout

Solusi Terbaik Yang Ingin Berbisnis Dengan Sukses. Anda akan diberikan modal $10, hanya mengklik website/ meriveiw website klik :
genuineptr.com
Cewek HOT



0 komentar:

Poskan Komentar

Please Give Your Feedback Or Message.
Thank You!!?

♪ ♥ Ma liste de blogs ♥ ♪

♪ ♥ Please Votes! Thanks. ♪ ♥
×