Animasi Obj Uraian Materi 1. Konsep Dasar Tra

118 animasi pada JAVA dilakukan program dan delay. Contoh 2. Membuat A To change this and open the te package gambarjava http:javalfi.blo gerak.html; import java . awt .; import java . util . l import java . util . l publicclass gambar atap rumah int x []= new int []{ 9 int y []= new int []{ 2 jalan int a []= new int []{ 5 int b []= new int []{ 2 garis jalan atas int e []= new int []{ 5 int f []= new int []{ 2 garis jalan teng int c []= new int []{ 4 int d []= new int []{ 3 garis jalan bawa int g []= new int []{ 3 int h []= new int []{ 4 public gambarJava setBackgro dengan set warna s } publicvoid paint G rumput tanah k . setColor manual A dengan langsung menentukan proses a an berapa lama waktu tunggu menuju prose t Animasi Teks dengan Thread template, choose Tools | Templates emplate in the editor. a ; diperoleh ogspot.co.id201210membuat-animasi- ; logging . Level ; logging . Logger ; rJava extends Panel { 90 , 150 , 210 }; x1,x2,x3 260 , 200 , 260 }; y1,y2,y3 584 , 240 , 413 , 584 }; x1,x2,x3,x4 200 , 460 , 460 , 320 }; y1,y2,y3,y4 s 537 , 563 , 573 , 547 }; x1,x2,x3,x4 280 , 260 , 260 , 280 }; y1,y2,y3,y4 gah 442 , 468 , 478 , 452 }; x1,x2,x3,x4 360 , 340 , 340 , 360 }; y1,y2,y3,y4 ah 337 , 363 , 373 , 347 }; x1,x2,x3,x4 450 , 430 , 430 , 450 }; y1,y2,y3,y4 { constructor ound new Color 207 , 245 , 243 ; setBa secara manual Graphics k { method paint r new Color 130 , 235 , 24 ; setColor s apa yang ses tersebut dari i-gambar- ackground r secara k . fil matahari k . set kuning k . fil x, karena memben membuat g Threa sebuah pengon for int i = 1 ; dengan warna menimpa gamba awan secara manual 70,40 adalah agar fillOval if i == 70 { atau awan kem } try { tambahk kecepatan ger } catch Interr Logger . getLog , null , ex ; } atap rumah k . set manual k . fil jumlah titikn cahaya mata k . set manual k . dra k . dra k . dra k . dra k . dra llRect , 200 , 584 , 262 ; tColor Color . yellow ; setColor men llOval 430 , 50 , 80 , 80 ; ,y maksudnya 80,80 adalah lebar bul ntuk lingkaran sempurna gambar gerak ad t = new Thread ; Sebuah thre ntrol aliran program i = 70 ; i ++{ k . setColor new Color 207 , 245 , 243 yang sama dengan warna langit k . fillRect , , 300 , 200 ; buat fi ar awan yang bergerak k . setColor new Color 96 , 213 , 207 l k . fillOval 120 + i , 60 , 70 , 40 ; x,y agar bentuknya tidak bulat sempurna k . fillOval 140 + i , 70 , 70 , 40 ; x+i l bergerak ke arah kanan k . fillOval 100 + i , 70 , 70 , 40 ; k . fillOval 160 + i , 60 , 70 , 40 ; k . fillOval 60 + i , 70 , 70 , 40 ; k . fillOval 80 + i , 50 , 70 , 40 ; jika i sudah mencapai titik 70 i = 1 ; maka i akan kembali mbali ke titik semula kan blok try-catch t . sleep 50 ; sleep digunakan un rak. Harus menggunakan blok try-catch ruptedException ex { gger gambarJava . class . getName . log tColor new Color 177 , 115 , 29 ; setC llPolygon x , y , 3 ; membuat fillPo nya 3, mengambil array dari x[] dan y ahari tColor new Color 245 , 135 , 14 ; setC awLine 430 , 90 , 380 , 90 ; garis kiri awLine 440 , 60 , 380 , 30 ; garis kiri at awLine 440 , 120 , 380 , 150 ; garis kiri awLine 560 , 90 , 510 , 90 ; garis kanan awLine 560 , 30 , 500 , 60 ; garis kanan a 119 enjadi warna latannya, sama ead merupakan 3 ; setColor fillRect untuk 7 ; setColor maksudnya ouval maksudnya i ke titik 1 ntuk mengatur h Level . SEVERE tColor secara olygon dengan y[] tColor secara tas bawah atas 120 k . drawLine k . drawLine k . drawLine dinding k . setColor manual k . fillRect lalu lebarnya,ting pintu k . setColor manual k . fillRect lebarnya,tingginya gagang pintu k . setColor manual k . fillOval koordinat x,y lalu jalan k . setColor manual k . fillPoly jumlah titiknya 4, garis jalan k . setColor manual k . fillPoly jumlah titiknya 4, k . fillPoly jumlah titiknya 4, k . fillPoly jumlah titiknya 4, } } publicstaticvoid m Frame f1 = gambarJava gambarJava f1 . add H ; f1 . setSize f1 . setVisi window dapat tampi } } e 560 , 150 , 500 , 120 ; garis kanan bawa e 470 , 10 , 470 , 50 ; garis atas e 470 , 130 , 470 , 170 ; garis bawah r new Color 67 , 177 , 114 ; setColor t 100 , 260 , 100 , 200 ; titik koordin gginya r new Color 252 , 176 , 63 ; setColor t 150 , 370 , 50 , 90 ; titik koordinat x a r new Color 92 , 86 , 39 ; setColor l 185 , 415 , 10 , 10 ; menentukan u lebar dan tinggi bulatan r new Color 97 , 111 , 96 ; setColor ygon a , b , 4 ; membuat fillPolygon , mengambil array dari a[] dan b[] r new Color 255 , 255 , 255 ; setColor ygon c , d , 4 ; membuat fillPolygon , mengambil array dari c[] dan d[] ygon e , f , 4 ; membuat fillPolygon , mengambil array dari e[] dan f[] ygon g , h , 4 ; membuat fillPolygon , mengambil array dari g[] dan h[] main String [] args { = new Frame ; instansiasi class Fram a H = new gambarJava ; instansias ; e 600 , 500 ; setSize window ible true ; setVisible menjadi tr il wah r secara nat x,y r secara x,y lalu secara titik secara n dengan r secara n dengan n dengan n dengan ame si class rue agar Output Membuat A Gamba

D. Aktivitas Pe

17. Buat Kela 18. Import be

import import import import

19. Buat met delay

. Tu method pa G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISE COND 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Pa njang 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; t Animasi Teks bar 5. 5 tampilan hasil running animasi program s Pembelajaran elas Java dengan nama Latihan8.java beberapa komponen library yang diperluka java . awt .; java . awt . event .; java . util . Calendar ; java . util . Random ; ethod paint dengan isi berupa garis yang m Tuliskan Source Code berikut untuk membu paint G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISE COND 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Pa njang 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; 121 ram kan g memiliki waktu buat objek pada G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISE COND 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Pa njang 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; 122

20. Secara garis besar

package latihan8 ; import java . awt .; import java . awt . event .; import java . util . Calendar ; import java . util . Random ; publicclass Latihan8 extends Frame { privateint PX , PY , xorR , xorG , xorB ; Random Rdm ; public Latihan8 { super Waktu Detik ; setLayout new FlowLayout ; setSize 800 , 600 ; addWindowListener new WindowListener { publicvoid windowActivated WindowEvent e {} publicvoid windowClosed WindowEvent e {} publicvoid windowClosing WindowEvent e { System . exit ; } publicvoid windowDeactivated WindowEvent e {} publicvoid windowDeiconified WindowEvent e {} publicvoid windowIconified WindowEvent e {} publicvoid windowOpened WindowEvent e {} }; Rdm = new java . util . Random ; setBackground Color . white ; new javax . swing . Timer 1000 , new ActionListener { mengatur kecepatan detik 1 detik 1000 ms publicvoid actionPerformed ActionEvent ev { repaint ; PX = getWidth 2 ; PY = getHeight 2 ; xorR = Rdm . nextInt 255 ; xorG = Rdm . nextInt 255 ; xorB = Rdm . nextInt 255 ; } }. start ; } publicstaticvoid main String [] a { new Latihan8 . setVisible true ; } publicvoid paint Graphics G { G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISECOND ar, isi kelas Latihan8.java adalah sebagai b package latihan8 ; import java . awt .; import java . awt . event .; import java . util . Calendar ; import java . util . Random ; publicclass Latihan8 extends Frame { privateint PX , PY , xorR , xorG , xorB ; Random Rdm ; public Latihan8 { super Waktu Detik ; setLayout new FlowLayout ; setSize 800 , 600 ; addWindowListener new WindowListener { publicvoid windowActivated WindowEvent e {} publicvoid windowClosed WindowEvent e {} publicvoid windowClosing WindowEvent e { System . exit ; } publicvoid windowDeactivated WindowEvent e {} publicvoid windowDeiconified WindowEvent e {} publicvoid windowIconified WindowEvent e {} publicvoid windowOpened WindowEvent e {} }; Rdm = new java . util . Random ; setBackground Color . white ; new javax . swing . Timer 1000 , new ActionListener { mengatur kecepatan detik 1 detik 1000 ms publicvoid actionPerformed ActionEvent ev { repaint ; PX = getWidth 2 ; PY = getHeight 2 ; xorR = Rdm . nextInt 255 ; xorG = Rdm . nextInt 255 ; xorB = Rdm . nextInt 255 ; } }. start ; } publicstaticvoid main String [] a { new Latihan8 . setVisible true ; } publicvoid paint Graphics G { G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISECOND i berikut: package latihan8 ; import java . awt .; import java . awt . event .; import java . util . Calendar ; import java . util . Random ; publicclass Latihan8 extends Frame { privateint PX , PY , xorR , xorG , xorB ; Random Rdm ; public Latihan8 { super Waktu Detik ; setLayout new FlowLayout ; setSize 800 , 600 ; addWindowListener new WindowListener { publicvoid windowActivated WindowEvent e {} publicvoid windowClosed WindowEvent e {} publicvoid windowClosing WindowEvent e { System . exit ; } publicvoid windowDeactivated WindowEvent e {} publicvoid windowDeiconified WindowEvent e {} publicvoid windowIconified WindowEvent e {} publicvoid windowOpened WindowEvent e {} }; Rdm = new java . util . Random ; setBackground Color . white ; new javax . swing . Timer 1000 , new ActionListener { mengatur kecepatan detik 1 detik 1000 ms publicvoid actionPerformed ActionEvent ev { repaint ; PX = getWidth 2 ; PY = getHeight 2 ; xorR = Rdm . nextInt 255 ; xorG = Rdm . nextInt 255 ; xorB = Rdm . nextInt 255 ; } }. start ; } publicstaticvoid main String [] a { new Latihan8 . setVisible true ; } publicvoid paint Graphics G { G . setColor Color . black ; warna jam int Panjang ; if getWidth getHeight Panjang = getWidth - 100 ; else Panjang = getHeight - 100 ; G . drawOval PX - Panjang 2 , PY - Panjang 2 , Panjang , Panjang ; float Detik = Waktu Calendar . SECOND + float Waktu Calendar . MILLISECOND 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Panjan g 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; } privateint Waktu int Jenis { return Calendar . getInstance . get Jenis ; } }

21. Melihat jalann

E. LatihanKasu

Buatlah suat jam analog harus mamp detik maka Interval dari j analog seper Contoh Tampi 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Panjan g 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; } privateint Waktu int Jenis { return Calendar . getInstance . get Jenis ; } } nnya program Gambar 5. 6 Jalannya program detik Kasus Tugas atu objek jam analog yang mampu beroperasi g yang ditempelkan pada jam-jam dinding. pu melakukan rotasi jarum 1 detik dan jika a jarum menit akan bergerak selayaknya ri jam tersebut harus sesuai dengan interval d erti biasanya. pilan Program 123 1000 ; G . drawLine PX , PY , int PX + Math . sin 2 Math . PI Detik 60 Panjan g 2 , int PY +- 1 Math . cos 2 Math . PI Detik 60 Panjang 2 ; } privateint Waktu int Jenis { return Calendar . getInstance . get Jenis ; } } rasi selayaknya . Jam tersebut a mencapai 60 a jam analog. l detik pada jam 124 Gam

F. Rangkuman

Transformasi ad telah dibuat pada suatu yaitu translasi, rotasi d posisi perspektif verte Method yang diguna translatex,y. Rotasi suatu objek dengan 1 digunakan untuk melak rotatex. suatu perubahan uku perubahan tersebut b menjadi lebih besar. scalex,y . Untuk m bahasa JAVA dapat m paint telah mendeklarasikan Animasi pada perulangan dan meng animasi melalui kedua dalam satuan milise memproses suatu pro program yang dieksek Thread dalam memun ambar 5. 7 Jalannya program jam adalah perubahan yang terjadi pada objek gam atu frame. Perubahan tersebut dibagi menjadi si dan skala scalling. Translasi adalah suatu p ertex x atau y yang terjadi pada objek yan nakan untuk melakukan translasi adalah translatex,y. tasi adalah suatu perubahan posisi berupa be 1 titik inti sebesar beberapa derajat. Met lakukan rotasi adalah rotatex. Skala scallin kuran yang terjadi pada objek yang tela t berupa perubahan lebih kecil ataupun p sar. Method yang digunakan untuk scallin scalex,y mengimplementasikan transformasi tersebu t melakukan modifikasi terhadap method paint an pada objek yang dibuat. a bahasa JAVA dapat dilakukan dengan 2 enggunakan Thread. Secara umum, untuk dua metode tersebut, harus menampilkan d liseconds. Thread merupakan suatu meto roses program dengan cara mengakses sua sekusi secara urut ataupun bersamaan. Pe ungkinkan seorang pembuat program dapat m ambar yang di 3 macam, u perubahan yang dibuat. lah method translatex,y. berputarnya ethod yang rotatex. lling adalah elah dibuat, perubahan lling adalah scalex,y sebut, dalam paint yang 2 metode, k membuat delay time tode untuk suatu modul Penggunaan t melakukan