Jumat, 17 Januari 2020

Laprak Modul 10: ANIMASI


LAPORAN PRAKTIKUM
BAHASA PEMROGRAMAN 1
MODUL 10
 Animasi”




DOSEN PENGAMPU:
DEDE IRAWAN, M.KOM.
DISUSUN OLEH:
FARADILA SUHAEFI
20180910003
SISTEM INFORMASI 2018 A

FAKULTAS KOMPUTER
SISTEM INFORMASI
UNIVERSITAS KUNINGAN
2019



KATA PENGANTAR

Puji syukur saya panjatkan kehadirat Allah SWT, atas kasih dan sayang-Nya memberikan pengetahuan, kemampuan dan kesempatan kepada penyusun sehingga mampu menyelesaikan tugas ini. Penyusunan makalah ini ditulis sebagai tugas mata kuliah praktikum bahasa pemrograman 1 modul 10.
Penyusun menyadari, dalam penulisan makalah ini masih ada kemungkinan kekurangan-kekurangan karena keterbatasan kemampuan penyusun, untuk itu masukan yang bersifat membangun akan sangat membantu penyusun untuk semakin membenahi kekurangannya.
Ucapan terima kasih tidak lupa saya  haturkan kepada dosen pembimbing mata kuliah ini yaitu Bapak Dede Irawan, M.Kom , semoga makalah  ini dapat berguna sebagai karya dari kita dan untuk semua. Amiin….



Penyusun
Kuningan, 15 Januari 2020






DAFTAR ISI

HALAMAN JUDUL

KATA PENGANTAR

DAFTAR ISI

BAB 1 PENDAHULUAN

1.1    Latar Belakang
1.2    Rumusan Masalah
1.3    Tujuan Penulisan

BAB 2 ISI

2.1   Pengantar Animasi dalam Program Java
2.2   Hasil Praktikum dan Analisis
2.3   Latihan / Post Test

KESIMPULAN
                     
DAFTAR PUSTAKA




BAB 1
PENDAHULUAN

1.1         Latar Belakang
Animasi adalah tampilan objek yang bergerak. Animasi dapat berupa objek 2D ataupun 3D. Java menyediakan semua fasilitas yang dibutuhkan untuk membuat animasi 2D maupun 3D.

1.2         Rumusan Masalah
1.      Bagaimana hasil dari praktikum dan analisisnya ?
2.      Bagaimana program dari latihan / pos test ?

1.3         Tujuan Penulisan
Tujuan dari penulisan makalah ini agar mahasiswa dapat membuat animasi 2D sederhana menggunakan Java.


BAB 2
ISI

2.1 Pengantar Java Grafis

Dengan kemampuan dari kelas graphics yang dimiliki Java dalam class libraries, maka dimungkinkan untuk dapat membangun bidang lines, shape, character, warna dan image pada suatu applet. Anda tidak harus menciptakan sebuah instance dari Graphics yang tujuannya adalah untuk membangun sesuatu di applet; pada applet anda metode paint() menyediakan objek-objek dari kelas Graphics. Kelas Graphics adalah bagian dari paket java.awt dengan demikian apabila Anda membangun suatu bidang pada applet, pastikan bahwa Anda harus melakukan import pada class tersebut dan diletakkan pada bagian awal dari file java

Kelas java.awt.Graphics digunakan untuk lukisan adat. Ini mengelola konteks grafis (seperti warna, font dan area klip) dan menyediakan metode untuk merender tiga jenis objek grafis :
-          Teks : via drawString() .
-          Primitif dan bentuk vektor vektor: melalui drawXxx() dan fillXxx() untuk Line , PolyLine , Oval , Rect , RoundRect , 3DRect , dan Arc .
-          Gambar bitmap: via drawImage() .

Kelas Graphics juga memungkinkan Anda untuk mendapatkan / mengatur atribut dari konteks grafis :
-          Font ( setFont() , getFont() )
-          Warna ( setColor() , getColor() )
-          Area kliping tampilan ( getClip() , getClipBounds() , setClip() )

Untuk membangun sebuah objek pada layar, memanggil salah satu dari metode yang tersedia didalam kelas Graphics. Pada semua metode drawing memiliki argumen yang mewakili titik-akhir, titik-sudut dan titik-awal dari sebuah objek yang berisi nilai-nilai dalam sistem koordinat yang membangun grafik, sebagai contoh : suatu garis dimulai dari titik-awal (10,10) dan titik-akhir (20,20). Sistem koordinat pada java selalu dimulai dari titik (0,0) yang diposisikan pada sudut kiri atas. Nilai x positif berada di kanan dan nilai y positif berada di bawah. Semua nilai piksel bertipe integer (tidak ada piksel dengan nilai partial dan fractional).

Java merupakan bahasa yang cross platform, dan sudah menyediakan primitif grafik 2D dan secara opsional grafik 3D. Java cukup mudah dipelajari, dan bisa mengakses mode grafik dalam lingkungan manapun (X Window, GDI Windows, dll). Java  juga  sudah  digunakan  sebagai  sarana  pembantu  dalam  banyak  mata kuliah, termasuk juga pemrograman sistem terdistribusi dan sistem operasi. Selain operasi grafik dasar, Java juga mendukung pemrosesan grafik 2D melalui kelas-kelas Java2D dan pemrosesan grafik 3D melalui paket tambahan (bukan standar)  Java3D.  Dalam  hal  Java3D ini  tidak  dibahas  di  dalam  diktat  ini,  namun informasi mengenai hal tersebut dapat dicari dalam dokumentasi yang disertakan. Pada grafik java dasar, terdapat beberapa objek grafik yang nilai koordinat pada grafik itu adalah bilangan bulat (integer).

2.2 Praktikum dan Analisis

Program:
package modul10;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Timer;
import java.util.TimerTask;


public class Latihan_01 extends javax.swing.JFrame {
    private static int waktu = 100;
    Image gambar;
    Dimension ukuran;
    Insets insets;
    Color color [] = {Color.RED, Color.GREEN, Color.BLUE};
    
    public Latihan_01() {
        initComponents();
        setTitle("Animasi Warna");
        setLocationRelativeTo(null);
    }
   
    @Override
    public void paint (Graphics g) {
       if ((ukuran==null)||(ukuran!=getSize())) {
        ukuran=getSize();
        gambar=new BufferedImage (getWidth(), getHeight(),
                BufferedImage.TYPE_INT_RGB);
    }
      if(insets == null) {
         insets = getInsets ();
      }
     int x = insets.left;
     int y = insets.top;
     int widht = getWidth() - insets.left - insets.right;
     int height = getHeight() - insets.top - insets.bottom;
       int start = 0 ;
       int steps = color.length;
       int stepSize = 360 / steps;
       synchronized (color){
           Graphics tampil_gambar = gambar.getGraphics();
           tampil_gambar.setColor(Color.WHITE);
           tampil_gambar.fillRect(x, y, widht, height);
           for (int i=0; i<steps; i++) {
             tampil_gambar.setColor(color[i]);
             tampil_gambar.fillArc(x, y, widht, height, start, stepSize);
             start += stepSize;
           }
       }
      g.drawImage(gambar, 0, 0, this);
    }

    public void jalan () {
        TimerTask task = new TimerTask () {
            public void run () {
                Color c = color [0];
                synchronized (color){
                System.arraycopy(color, 1, color, 0, color.length - 1);
                color [color.length - 1] = c;
        }
                repaint ();
                }
        };
                Timer timer = new Timer();
               timer.schedule(task, 0, waktu);
    }
@SuppressWarnings("unchecked")
public static void main(String args[]) {
       
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Latihan_01 tampil = new Latihan_01();
                tampil.setVisible(true);
                tampil.jalan();
            }
        });
    }
}

Output:

2.3 Post Test

Berikan contoh animasi sederhana dengan menggerakan gambar horizontal maupun vertical.
Program:
 package modul10;

import java.awt.*;
import javax.swing.*;

public class post_test extends JPanel {
int x = 0;
int y = 0;

@Override
 public void paint(Graphics g){
super.paint(g);
//gerak sudut
g.setColor(Color.BLUE);
g.fillRect(100+x, 100+x, 50, 50);
//gerak vertikal
 g.setColor(Color.RED);
 g.fillOval(20+x, 200, 50, 50);
//gerak horizontal
g.setColor(Color.GREEN);
g.fillOval(100, 10+x, 50, 50);
//gerak lingkaran
g.setColor(Color.YELLOW);
g.fillRect(5+x, 300-x, 50, 50);
    }
  
void gerak(){
x++;
if(x == 500){
 x = 0;
        }
    }
  
 public static void main(String[] args) throws InterruptedException{
JFrame f = new JFrame();
f.setSize(500, 500);
f.setVisible(true);
f.setTitle("POST TEST - FARADILA");
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
post_test a = new post_test();
f.add(a); //menambahkan JPanel
while(true){
a.gerak();//memanggil gerak
a.repaint();//menggambar ulang objek
Thread.sleep(5);
        }
    } 
}

Output:



KESIMPULAN
Jadi dengan Java Grafis kita bisa membuat berbagai bentuk program grafis seperti Games, Aplikasi Grafis, Animasi dan lain-lain.


DAFTAR PUSTAKA
Buku Modul Bahasa Pemrograman 1



Tidak ada komentar:

Posting Komentar