SlideShare a Scribd company logo
Modul 10: Animasi
 Program Animasi adalah program yang
“menggambar” serangkaian bentuk pada lokasi
atau posisi yang ber-urutan.
 Pada bahasa Java, program animasi adalah
program Applet dengan susunan sebagai berikut:
import java.applet.*;
import java.awt.*;
public class nama_applet extends Applet implements Runnable {
Thread runner; // definisikan variabel-variable disini
int xpos;
public void start() { // definisikan fungsi start()
if (runner == null) {
runner = new Thread(this);
runner.start();
}
}
public void stop() { // definisikan fungsi stop()
if (runner != null) {
runner.stop();
runner = null;
}
}
// definisikan fungsi run()
// apa yang akan ditampilkan sebagai animasi di-tulis disini
public void run() {
...........................................
..........................................
}
// definisikan bentuk, teks, atau gambar disini
public void paint (Graphics g) {
// warna latar belakang dengan g.setColor()
// bentuk font dengan g.setFont()
// gambar bentuk dengan g.fillRect(), g.fillOval() dsb.
}
}
Contoh-1 : animasi
lingkaran yang
bergerak, pada program
ini sebuah lingkaran
warna merah dibentuk
(digambar) pada posisi
berbeda namun
berdekatan, dengan latar
belakang warna putih dan
hitam sehingga efek
bergerak dari kiri ke
kanan dan sebaliknya,
tampak jelas.
animasi.java
animasi.html
/* Program Animasi */
import java.awt.Graphics;
import java.awt.Color;
public class Animasi extends java.applet.Applet implements
Runnable {
Thread runner;
int xpos;
int ux1,ux2;
public void start() {
if (runner == null); {
runner = new Thread(this);
runner.start();
}
}
public void stop() {
if (runner != null) {
runner.stop();
runner = null;
}
public void run() {
setBackground(Color.blue);
while (true) {
/* bergerak ke kanan */
for (xpos = 5; xpos <= 105; xpos+=4) {
ux2 = xpos + 90;
repaint();
try { Thread.sleep(100); }
catch (InterruptedException e) { }
if (ux1 == 0) ux1 = xpos;
}
/* bergerak ke kiri */
for (xpos = 105; xpos > 5; xpos -=4) {
ux1 = xpos;
repaint();
try { Thread.sleep(100); }
catch (InterruptedException e) { }
if (ux2 == 0) ux2 = xpos + 90;
}
}
}
public void update(Graphics g) {
g.clipRect(ux1, 5, ux2 - ux1, 95);
paint(g);
}
public void paint(Graphics g) {
// Draw black background
g.setColor(Color.black);
g.fillRect(0,0,100,100);
// Draw white background
g.setColor(Color.white);
g.fillRect(100,0,100,100);
// Draw checker / red circle
g.setColor(Color.red);
g.fillOval(xpos,5,90,90);
// reset the drawing area
ux1 = ux2 = 0;
}
}
 Contoh-2 : Animasi
gerak dari serentetan
gambar kucing, pada
program ini akan
ditampilkan 9 macam
gambar kucing, gambar
1,2 digunakan untuk effek
berlari dari kiri ke kanan,
gambar 3,4 untuk efek
istirahat, gambar 5,6
untuk effek menggaruk,
gambar 7,8 untuk effek
tidur, dan gambar 9 untuk
effek terbangun kaget.
 Neko.java
 Neko.html
/* Program Animasi gambar kucing - (Neko=kucing dalam bahasa
Jepang) */
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Color;
import java.applet.*;
public class Neko extends Applet implements Runnable {
/* nama-nama gambar dimasukkan dalam satu verktor */
Image nekopics[] = new Image[9];
String nekosrc[] = { "right1.gif", "right2.gif", "stop.gif",
"yawn.gif", "scratch1.gif", "scratch2.gif",
"sleep1.gif", "sleep2.gif", "awake.gif" };
Image currentimg;
Thread runner;
int xpos;
int ypos = 50;
public void start() {
if (runner == null) {
runner = new Thread(this);
runner.start();
}
}
public void stop() {
if (runner != null) {
runner.stop();
runner = null;
}
}
public void run() {
// initialize, file-file gambar berada dibawah direktori "images/"
for (int i=0; i < nekopics.length; i++) {
nekopics[i] = getImage(getCodeBase(), "images/" + nekosrc[i]);
}
// warna latar belakang adalah putih
setBackground(Color.white);
// lakukan animasi hingga 100 kali
for (int idx=0; idx<100; idx++) {
// panggil fungsi untuk menggerakkan kucing ke kanan
hingga tengah
nekorun(0, this.size().width / 2);
// stop and pause, kucing berhenti
currentimg = nekopics[2];
repaint();
pause(100);
// yawn, mengantuk
currentimg = nekopics[3];
repaint();
pause(1000);
// scratch four times, menggaruk
nekoscratch(4);
// sleep for 5 seconds, tidur
nekosleep(5);
// wake up and run off, bangun dan lari lagi
currentimg = nekopics[8];
repaint();
pause(500);
nekorun(xpos, this.size().width + 10);
}
}
// fungsi untuk menggerakkan kucing ke kanan
void nekorun(int start, int end) {
for (int i = start; i < end; i+=10) {
this.xpos = i;
// swap images
if (currentimg == nekopics[0])
currentimg = nekopics[1];
else if (currentimg == nekopics[1])
currentimg = nekopics[0];
else currentimg = nekopics[0];
repaint();
pause(150);
}
}
// fungsi yang menampilkan kucing menggaruk
void nekoscratch(int numtimes) {
for (int i = numtimes; i > 0; i--) {
currentimg = nekopics[4];
repaint();
pause(150);
currentimg = nekopics[5];
repaint();
pause(150);
}
}
// fungsi untuk menampilkan kucing tidur
void nekosleep(int numtimes) {
for (int i = numtimes; i > 0; i--) {
currentimg = nekopics[6];
repaint();
pause(250);
currentimg = nekopics[7];
repaint();
pause(250);
}
}
void pause(int time) {
try { Thread.sleep(time); }
catch (InterruptedException e) { }
}
public void paint(Graphics g) {
g.drawImage(currentimg, xpos, ypos,this);
}
}
Contoh-3 : Animasi
Teks, pada program
ini sebuah kalimat
(teks) yang
dimasukkan melalui
parameter HTML,
akan ditampilkan
dengan efek gerak
dari kanan ke kiri.
Ticker4.java
Ticker4.html
 Contoh 4: animasi
pixel, nilai integer dari
pixel dibaca secara
acak, kemudian
ditampilkan kembali
dengan menggunakan
rutin animasi
 AnimasiPixel.java
 AnimasiPixel.html

More Related Content

What's hot

Database
DatabaseDatabase
Database
Nelson Rumuy
 
Interaksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelInteraksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelEko Kurniawan Khannedy
 
Perulangan while, do while
Perulangan while, do while Perulangan while, do while
Perulangan while, do while
Janinda Anindya
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
Smkn-2 Pekanbaru
 
1. realisme dalam grafik komputer
1. realisme dalam grafik komputer1. realisme dalam grafik komputer
1. realisme dalam grafik komputer
Lulu Mawaddah Wisudawati
 
Pert 4 1--_trigger
Pert 4 1--_triggerPert 4 1--_trigger
Pert 4 1--_trigger
Abrianto Nugraha
 
Bab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijitalBab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijital
Syafrizal
 
Register
RegisterRegister
Modul teknik-digital
Modul teknik-digitalModul teknik-digital
Modul teknik-digitalecko gmc
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
Deprilana Ego Prakasa
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasiyuster92
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
Tenia Wahyuningrum
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 
Ferli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen MemoryFerli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen Memory
belajarkomputer
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 

What's hot (20)

Database
DatabaseDatabase
Database
 
Interaksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual ModelInteraksi Manusia dan Komputer : Conceptual Model
Interaksi Manusia dan Komputer : Conceptual Model
 
Perulangan while, do while
Perulangan while, do while Perulangan while, do while
Perulangan while, do while
 
Materi operator java
Materi operator javaMateri operator java
Materi operator java
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
 
Use skenario
Use skenarioUse skenario
Use skenario
 
1. realisme dalam grafik komputer
1. realisme dalam grafik komputer1. realisme dalam grafik komputer
1. realisme dalam grafik komputer
 
Pert 4 1--_trigger
Pert 4 1--_triggerPert 4 1--_trigger
Pert 4 1--_trigger
 
Bab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijitalBab 4 operasi-operasi dasar pengolahan citra dijital
Bab 4 operasi-operasi dasar pengolahan citra dijital
 
Register
RegisterRegister
Register
 
Modul teknik-digital
Modul teknik-digitalModul teknik-digital
Modul teknik-digital
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
Sistem berkas
Sistem berkasSistem berkas
Sistem berkas
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasi
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Ferli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen MemoryFerli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen Memory
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 

Recently uploaded

MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docxMAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
AdindaWulandari12
 
HOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
HOTBET4D: Link Aktif Situs Resmi Nomor 1 IndonesiaHOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
HOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
Hotbet4d Slot
 
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 JamUNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
haliung536
 
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan SantriPesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
ssuser52b0aa
 
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docxlaporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
MarsitaAssech2
 
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa DepositWSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
ributkalibah
 

Recently uploaded (6)

MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docxMAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
MAKALAH SUMBER DAYA MANUSIA ANALISIS PEKERJAAN.docx
 
HOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
HOTBET4D: Link Aktif Situs Resmi Nomor 1 IndonesiaHOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
HOTBET4D: Link Aktif Situs Resmi Nomor 1 Indonesia
 
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 JamUNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
UNIKBET: Situs Bandar Casino Slot Deposit Bank Dki Jakarta Online 24 Jam
 
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan SantriPesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
Pesantren Digital: Membangun Literasi Digital untuk Masa Depan Santri
 
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docxlaporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
laporanoperatordapodikekinpmm-240529092725-d2f0f200.docx
 
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa DepositWSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
WSOSLOT88 : Freebet Bonus Member Baru Klaim 30rb Tanpa Deposit
 

Modul java animasi

  • 2.  Program Animasi adalah program yang “menggambar” serangkaian bentuk pada lokasi atau posisi yang ber-urutan.  Pada bahasa Java, program animasi adalah program Applet dengan susunan sebagai berikut:
  • 3. import java.applet.*; import java.awt.*; public class nama_applet extends Applet implements Runnable { Thread runner; // definisikan variabel-variable disini int xpos; public void start() { // definisikan fungsi start() if (runner == null) { runner = new Thread(this); runner.start(); } } public void stop() { // definisikan fungsi stop() if (runner != null) { runner.stop(); runner = null; } } // definisikan fungsi run() // apa yang akan ditampilkan sebagai animasi di-tulis disini public void run() { ........................................... .......................................... } // definisikan bentuk, teks, atau gambar disini public void paint (Graphics g) { // warna latar belakang dengan g.setColor() // bentuk font dengan g.setFont() // gambar bentuk dengan g.fillRect(), g.fillOval() dsb. } }
  • 4. Contoh-1 : animasi lingkaran yang bergerak, pada program ini sebuah lingkaran warna merah dibentuk (digambar) pada posisi berbeda namun berdekatan, dengan latar belakang warna putih dan hitam sehingga efek bergerak dari kiri ke kanan dan sebaliknya, tampak jelas. animasi.java animasi.html
  • 5. /* Program Animasi */ import java.awt.Graphics; import java.awt.Color; public class Animasi extends java.applet.Applet implements Runnable { Thread runner; int xpos; int ux1,ux2; public void start() { if (runner == null); { runner = new Thread(this); runner.start(); } } public void stop() { if (runner != null) { runner.stop(); runner = null; }
  • 6. public void run() { setBackground(Color.blue); while (true) { /* bergerak ke kanan */ for (xpos = 5; xpos <= 105; xpos+=4) { ux2 = xpos + 90; repaint(); try { Thread.sleep(100); } catch (InterruptedException e) { } if (ux1 == 0) ux1 = xpos; } /* bergerak ke kiri */ for (xpos = 105; xpos > 5; xpos -=4) { ux1 = xpos; repaint(); try { Thread.sleep(100); } catch (InterruptedException e) { } if (ux2 == 0) ux2 = xpos + 90; } } }
  • 7. public void update(Graphics g) { g.clipRect(ux1, 5, ux2 - ux1, 95); paint(g); } public void paint(Graphics g) { // Draw black background g.setColor(Color.black); g.fillRect(0,0,100,100); // Draw white background g.setColor(Color.white); g.fillRect(100,0,100,100); // Draw checker / red circle g.setColor(Color.red); g.fillOval(xpos,5,90,90); // reset the drawing area ux1 = ux2 = 0; } }
  • 8.  Contoh-2 : Animasi gerak dari serentetan gambar kucing, pada program ini akan ditampilkan 9 macam gambar kucing, gambar 1,2 digunakan untuk effek berlari dari kiri ke kanan, gambar 3,4 untuk efek istirahat, gambar 5,6 untuk effek menggaruk, gambar 7,8 untuk effek tidur, dan gambar 9 untuk effek terbangun kaget.  Neko.java  Neko.html
  • 9. /* Program Animasi gambar kucing - (Neko=kucing dalam bahasa Jepang) */ import java.awt.Graphics; import java.awt.Image; import java.awt.Color; import java.applet.*; public class Neko extends Applet implements Runnable { /* nama-nama gambar dimasukkan dalam satu verktor */ Image nekopics[] = new Image[9]; String nekosrc[] = { "right1.gif", "right2.gif", "stop.gif", "yawn.gif", "scratch1.gif", "scratch2.gif", "sleep1.gif", "sleep2.gif", "awake.gif" }; Image currentimg; Thread runner; int xpos; int ypos = 50;
  • 10. public void start() { if (runner == null) { runner = new Thread(this); runner.start(); } } public void stop() { if (runner != null) { runner.stop(); runner = null; } } public void run() { // initialize, file-file gambar berada dibawah direktori "images/" for (int i=0; i < nekopics.length; i++) { nekopics[i] = getImage(getCodeBase(), "images/" + nekosrc[i]); } // warna latar belakang adalah putih setBackground(Color.white); // lakukan animasi hingga 100 kali for (int idx=0; idx<100; idx++) {
  • 11. // panggil fungsi untuk menggerakkan kucing ke kanan hingga tengah nekorun(0, this.size().width / 2); // stop and pause, kucing berhenti currentimg = nekopics[2]; repaint(); pause(100); // yawn, mengantuk currentimg = nekopics[3]; repaint(); pause(1000); // scratch four times, menggaruk nekoscratch(4); // sleep for 5 seconds, tidur nekosleep(5);
  • 12. // wake up and run off, bangun dan lari lagi currentimg = nekopics[8]; repaint(); pause(500); nekorun(xpos, this.size().width + 10); } } // fungsi untuk menggerakkan kucing ke kanan void nekorun(int start, int end) { for (int i = start; i < end; i+=10) { this.xpos = i; // swap images if (currentimg == nekopics[0]) currentimg = nekopics[1]; else if (currentimg == nekopics[1]) currentimg = nekopics[0]; else currentimg = nekopics[0]; repaint(); pause(150); } }
  • 13. // fungsi yang menampilkan kucing menggaruk void nekoscratch(int numtimes) { for (int i = numtimes; i > 0; i--) { currentimg = nekopics[4]; repaint(); pause(150); currentimg = nekopics[5]; repaint(); pause(150); } } // fungsi untuk menampilkan kucing tidur void nekosleep(int numtimes) { for (int i = numtimes; i > 0; i--) { currentimg = nekopics[6]; repaint(); pause(250); currentimg = nekopics[7]; repaint(); pause(250); } }
  • 14. void pause(int time) { try { Thread.sleep(time); } catch (InterruptedException e) { } } public void paint(Graphics g) { g.drawImage(currentimg, xpos, ypos,this); } }
  • 15. Contoh-3 : Animasi Teks, pada program ini sebuah kalimat (teks) yang dimasukkan melalui parameter HTML, akan ditampilkan dengan efek gerak dari kanan ke kiri. Ticker4.java Ticker4.html
  • 16.  Contoh 4: animasi pixel, nilai integer dari pixel dibaca secara acak, kemudian ditampilkan kembali dengan menggunakan rutin animasi  AnimasiPixel.java  AnimasiPixel.html