Sabtu, 20 Januari 2018

LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN MODUL 10

LAPORAN PRAKTIKUM 
BAHASA PEMROGRAMAN 1
MODUL X
“ANIMASI"
Dosen : Dede Irawan M.Kom



Disusun Oleh : 
Lisna Wulandari
20160910049
SI 2016 A


SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN


KATA PENGANTAR


Puji syukur kehadirat Allah SWT yang memberikan bimbingan dan pertolongannya sehingga dalam penulisan Laporan Praktikum Bahasa pemograman 1 ini bisa berjalan dengan lancar. Penulisan Laporan Praktikum Bahasa pemograman 1 ini dimaksudkan penulis khusunya saya sendiri untuk memenuhi tugas mata kuliah Bahasa pemograman 1. Penulisan Laporan Praktikum Bahasa pemograman 1 ini dimaksudkan sebagai penambah wawasan pembaca khususnya tentang Bahasa pemograman 1 tentang Animasi.  Di sisi lain, penulis mengajak kepada para pembaca agar dapat memahami dan mendalami masalah topik di atas, sekaligus menerapkan hasil Laporan Praktikum Bahasa pemograman 1.

Demikianlah sebagai pengantar, mudah-mudahan dengan laporan ini bisa diterima dengan baik. Dan semoga Allah senantiasa melimpahkan rahmat-Nya dalam setiap aktivitas yang kita kerjakan. Amin



                                                                                                  Kuningan, 19 Januari 2018
                                                                                                  Penyusun,


                                                                                                 
                                                                                                  Lisna Wulandari


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("LISNA WULANDARI");//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("LISNA", 120, 200);  // penulisan huruf rio dan tata letak
    FontRenderContext frc = g2.getFontRenderContext();
    GlyphVector gv = font.createGlyphVector(frc, "2D"); // 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 MODUL 10

LAPORAN PRAKTIKUM  BAHASA PEMROGRAMAN 1 MODUL X “ANIMASI" Dosen : Dede Irawan M.Kom Disusun Oleh :  Lisna Wulandar...