Ads 468x60px

Minggu, 19 Mei 2013

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 ThreadSebuah  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. RunningSebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.2. Ready to runThread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untukmelakukannya.3. ResumedSetelah sebelumnya di block atau diberhentikan sementara, state  ini kemudian siapuntuk dijalankan.4. SuspendedSebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untukmenjalankan thread lain bekerja.5. BlockedSebuah  thread yang di-block merupakan sebuah  thread yang  tidak mampu berjalan,karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi.

PrioritasUntuk  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 ThreadConstructorConstructor-constructor ThreadThread()//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.  Targetmenyatakan sebuah object dimana method run dipanggil.Thread(Runnable target, String name)//Membuat sebuah object Thread yang baru dengan nama yang spesifik dan berdasarkanpada object Runnable.

ConstantsClass Thread juga menyediakan beberapa constants sebagai nilai prioritas.berikut ini adalah rangkuman dari class Thread.public final static int MAX_PRIORITY//Nilai prioritas maksimum, 10public final static int MIN_PRIORITY//Nilai prioritas minimum, 1.public final static int NORM_PRIORITY//Nilai default prioritas, 5.

MethodsMethod-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  dapatmenyebabkan 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 menunggusampai  thread  tersebut  selesai  (jika  tidak  ada  parameter-parameter  spesifik),  atausampai waktu yang telah ditentukan habis.public static void sleep(long millis)//Menunda  thread  dalam  jangka  waktu  milis.  Hal  ini  dapat  menyebabkanInterruptedException.public void run()//Eksekusi thread dimulai dari method ini.public void start()//Menyebabkan eksekusi dari thread berlangsung dengan cara memanggil method run.

Contoh Threadimport 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();}}


Contoh Program Animasi Java, Seperti Animasi Ball,Animasi Ball Room, Animasi Orang Berjalan, Animasi Grafik, Animasi Tombol, Dll


Animasi pada dasarnya adalah membuat objek seolah-olah bergerak sehingga terjadi pergerakan yang membuat mata kita memandangnya sebagai sebuah kesatuan utuh. Padahal dibalik itu, animasi dibuat berdasarkan pada bagian-bagian tertentu (terpisah) dan baru kemudian akan disatukan untuk mendapatkan pergerakan yang sempurna.

Untuk membuat animasi, terlebih dahulu kita harus membuat satu per satu bagian- bagian tertentu tadi. Hal ini merupakan hal yang sangat berat dalam membuat animasi mengingat kita harus memikirkan bagaimana desain atau bagian dari animasi yang kita buat tersebut supaya benar-benar mendapatkan hasil yang sempurna jika disatukan.

DASAR ANIMASI DENGAN JAVA

Java merupakan bahasa pemrograman yang sangat ampuh sekali. Ini bisa dibuktikan dengan kemampuannya yang tidak bergantung pada platform. Artinya Java dapat dijalankan pada sembarang komputer dan bahkan pada sembarang sistem operasi (sering disebut dengan istilah portabilitas). Yang menarik, tingkat portabilitas Java tidak hanya sebatas pada program sumber (source code), melainkan juga pada tingkat kode biner yang disebut bytecode. Ini berarti, bila Anda telah mengkompilasi program Java pada komputer bersistem operasi Windows, maka Anda dapat menjalankan hasil kompilasi pada komputer bersistem operasi Linux tanpa perlu mengkompilasi ulang lagi.

Berikut Link dan Source Kode Program Animasi. Silahkan Download Animasinya :

0 Komentar: