Selasa, 25 Desember 2018

ANIMASI

LAPORAN BP 1
Modul VIII

“ANIMASI”




Di susun Oleh :


Nama: Agus Ihsan Mochammad Dahlan
NIM: 20170910062
Kelas : SI 2017 A


FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2017

Jalan Cut Nyak Dhien No 36 A. Kel. Cijoho, Kuningan, Jawa Barat, Indonesia






Kata Pengantar

Alhamdulillah , puji syukur saya haturkan kehadirat Allah SWT. atas rahmatnya lah saya dapat menyelesaikan makalah ini dengan baik.
saya menyadari bahwa makalah ini memang belum mencapai kesempurnaan, masih banyak kekurangan-kekurangan yang harus di perbaiki. untuk itu saya sebagai penyusun mengharapkan kritik dan saran yang membangun dari para pembaca agar dapat memperbaiki dalam penulisan makalah yang saya buat selanjutnya. akhirnya saya sebagai penyusun berharap, semoga makalah yang saya buat dapat menambah wawasan kepada saya pada khususnya dan kepada para pembaca.



DAFTAR ISI

KATA PENGANTAR
DAFTAR ISI
BAB I PENDAHULUAN
A.  Latar Belakang
B. Rumusan Masalah
C. Tujuan
BAB II PEMBAHASAN
A. Pengertian Animasi
B. Animasi dengan Java
C. Post Test
BAB III PENUTUP
A. Kesimpulan
B. Daftar Pustaka


                                                                           BAB I
                                                                 PENDAHULUAN

A. 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.

B. Rumusan Masalah
1. Apa itu Animasi ?
2.Animasi dengan Java ?

C. Tujuan
Untuk mengetahui apa itu Animasi dan juga agar mendapatkan ilmu dari pengetahuan tentang Animasi apalagi yang berhubungan dengan Java.

                                                                          BAB II
                                                                  PEMBAHASAN

A. Dasar Animasi
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.

B. 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.

C. Post Test
Buatlah contoh animasisederhana dengan menggerakan gambar horizontal maupun vertical.
Script Programnya :

package modul_10;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;

/**
 *
 * @author Riza
 */
public class Ball extends JFrame{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        new Ball();
    }
  
public Ball() {
    this.setSize(500, 500); // MEMBUAT WINDOS
    this.setTitle("Agus I.M.D");//MEMBERI JUDUL TITLE
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.add(new PaintSurface(), BorderLayout.CENTER);
    Thread t = new AnimationThread(this); // MENJALANKAN THREAD TERHADAP VARIABLE
    t.start();
    this.show();
    }

    }

class AnimationThread extends Thread {
    JFrame c;

public AnimationThread(JFrame c){
    this.c = c;
}

public void run(){
    while(true){
    c.repaint();
    try{
    Thread.sleep(30); // FRAME GAMBAR PERDETIK
    }
    catch(InterruptedException ex){
    }
    }

   }
}
class PaintSurface extends JComponent{
    double x_p = 100;
    double y_p = 100;
    int rotation = 0;
    double angle = 0;

public void paint(Graphics g){
    Graphics2D g2 = (Graphics2D)g; // MEMBERI VARIABLE G PADA GRAPHIC KE G2
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   
    g2.setPaint(new GradientPaint(20,0, Color.PINK,0, getHeight(), Color.BLUE));  // warna background gradasi
    g2.fillRect(0,0,getWidth(),getHeight());

    Shape ellipse = new Ellipse2D.Double(150,100,200,200);
    GradientPaint paint = new GradientPaint(100, 100, Color.WHITE, 400,400, Color.GRAY);  // bulatan tengah
    g2.setPaint(paint);
    g2.fill(ellipse);
    AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float) 0.4f );
    g2.setComposite(ac);
    g2.setColor(Color.blue); // pewarnaan kata
    Font font = new Font("Serif", Font.BOLD, 120); // pengaturan font untuk huruf
    g2.setFont(font);
    g2.drawString("Agus", 120, 200);  // penulisan huruf rio dan tata letak
    FontRenderContext frc = g2.getFontRenderContext();
    GlyphVector gv = font.createGlyphVector(frc, "I.M.D"); // penulisan 2d
    Shape glyph = gv.getOutline(150, 300); // letak vertikal tulisan 2D
    g2.rotate(Math.PI/6, 200, 300);   //letak horizontal posisi tulisan 2D
    g2.fill(glyph);
    if(rotation == 360) { // rotasi 2D
    rotation = 0;
}
else {
    rotation += 10; // PERTTAMBAHAN PERCEPATAN ROTASI
    angle -= 0.05;
    x_p = 100*Math.cos(angle)+200; // MEREVOLUSI OBYEK
    y_p = 100*Math.sin(angle)+200;
}

    Shape ball = new Ellipse2D.Float((int)x_p,(int)y_p, 50, 20); // FUNGSI MEMBENTUK ELIPS
    g2.rotate(Math.toRadians(rotation), x_p + 50/2, y_p + 10/2); // MEROTASI OBYEK
    g2.setColor(Color.magenta); // MEMBERI WARNA OBYEK
    g2.fill(ball); // MENGAMBAR ball nya yang mutar
}
}

Hasil Running




BAB III
PENUTUP

KESIMPULAN

Jadi di animasi ini kita bisa membuat aneka bentuk objek yang bergerak, animasi dapat berupa 2D ataupun 3D. Banyak sekali kegunaannya dan cukup membantu untuk orang yang membutuhkannya.


DAFTAR PUSTAKA

Tidak ada komentar:

Posting Komentar

Laporan Praktikum Bahasa Pemrograman 2 Download file laporan moul 1-6 dibawah : DOWNLOAD DISINI @AgusIhsanMD