Laporan Praktikum Bahasa Pemrograman 1 - Modul 10



MAKALAH
ANIMASI
Disusun Untuk Memenuhi Tugas Laporan Praktikum Bahasa Pemrograman 1
Dosen Pengampu: Dede Irawan, M.Kom


Disusun oleh:
Fitri Nurhayati
20160910015
SI  2016 A




SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2018



KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah swt. yang telah melimpahkan rahmat, inayah, dan hidayah-Nya sehingga penulis dapat menyelesaikan makalah dengan tema ”Animasi.”
Adapun tujuan penulisan makalah ini adalah untuk memenuhi tugas praktikum bahasa pemrograman 1 Semester Ganjil Tahun Pelajaran 2017/2018 Universitas Kuningan.
Selama penyusunan makalah ini penulis banyak mendapat dukungan moral dan material dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan terima kasih kepada:
1.      Kedua orang tua yang telah memberikan motivasi untuk tetap bisa mengerjakan makalah ini sampai selesai.
2.      Dede Irawan, M.Kom selaku dosen pengampu yang telah memberikan arahan motivasi kepada penulis untuk menyelesaikan makalah ini.
3.      Rekan-rekan yang telah memberikan motivasi kepada penulis untuk menyelesaikan makalah ini.
Penulis menyadari bahwa makalah ini masih kurang sempurna. Oleh karena itu, saran dan kritik yang bersifat membangun dari pembaca sangat penulis harapkan demi kesempurnaan makalah ini. Semoga makalah ini bermanfaat bagi para pembaca. Amin.




Kuningan, Januari 2018



Penulis







DAFTAR ISI

KATA PENGANTAR ……………………………………………………………………….
DAFTAR ISI ……………………………………………………………………….……….

BAB I
PENDAHULUAN
LATAR BELAKANG ……………………………………………………………….

BAB II
PEMBAHASAN
1.      Pengertian Animasi …………………….….……………….…………………………
2.      Animasi di JAVA ………………….….…………………………….…………………
3.      Contoh program Animasi ……….……………………………………………………
4.      Post Test ………………………………………………………………………………

BAB III
PENUTUP
4.1 KESIMPULAN ……………………………………………………………….………
4.2 DAFTAR PUSTAKA ……………………………………………………………….…










BAB I
PENDAHULUAN


1.1  LATAR BELAKANG
Perkembangan ilmu pengetahuan dan teknologi saat ini sangatlah pesat. Dimana setiap gerak-gerik dan liku-liku kehidupan ini sangat dipengaruhi oleh adanya informasi yang kemudian informasi itu dapat diperoleh melalui ilmu pengetahuan dan teknologi.
Komputer merupakan salah satu teknologi yang paling pesat perkembangannya. Pada saat pertama kali ditemukan, komputer digunakan terutama sebagai alat bantu untuk mempercepat proses hitung menghitung. Komputer dari generasi  ke generasi mengalami perkembangan dalam hal pengolahan data baik kapasitas maupun kecepatannya. Data yang diolah tidak hanya berupa teks atau angka, tapi kini komputer dapat mengolah gambar/grafika. Komputer yang memiliki piranti grafis untuk mengolah gambar atau grafika disebut grafis komputer.
Grafika komputer pada dasarnya adalah suatu bidang komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara manusia dengan mesin (komputer) dengan jalan membangkitkan, menyimpan dan memanipulasi gambar model suatu objek menggunakan komputer. Grafika komputer memungkinkan kita untuk berkomunikasi lewat gambar-gambar, bagan-bagan dan diagram.




BAB II
PEMBAHASAN


A.    Pengertian Animasi
Animasi adalah suatu rangkaian gambar diam secara inbeethwin dengan jumlah yang banyak, bila kita proyeksikan akan terlihat seolah – olah hidup (bergerak), seperti yang pernah kita lihat film – film kartun di tevisi maupun dilayar lebar jadi Animasi kita simpulkan menghidupkan benda diam diproyeksikan menjadi bergerak. 3 Penggunaan animasi pada komputer telah dimulai dengan ditemukannya software komputer yang dapat dipergunakan untuk melakukan ilustrasi di komputer, membuat perubahan gambar satu ke gambar berikutnya sehingga terbentuk suatu bentuk gerakan tertentu.

Animasi komputer adalah seni menghasilkan gambar bergerak melalui penggunaan komputer dan merupakan sebagian bidang komputer grafik dan animasi. Animasi semakin banyak dihasilkan melalui grafik komputer 3D, walaupun grafik komputer 2D masih banyak ada. Kadangkala sasaran animasi adalah komputer itu sendiri, kadangkala sasaran adalah antara lain, seperti filem. Untuk menghasilkan gambar pergerakan, image (gambar) dipaparkan pada screen komputer dan diganti dengan image (gambar) baru yang selaras gambar sebelumnya dengan pantas. Teknik ini serupa dengan bagaimana gambar bergerak dihasilkan melalui televi dan film. Animasi komputer 3D pada asasnya merupakan pengganti digit bagi seni animasi gerak (stop motion); patung animasi dibina pada screen komputer dan dipasang dengan rangka siber. Kemudian anggota badan, mata, mulut, pakaian, dan lain-lain bagi patung 3D digerakkan oleh juru animasi. Akhirnya, animasi dihasilkan.

Jenis animasi yang banyak dikenal adalah animasi 2D dan 3D. Perbedaan dari animasi 2D dan 3D adalah dilihat dari sudut pandangnya. Animasi 2D menggunakan koordinat x dan y, sedangkan animasi 3D menggunakan koordinat x, y dan z yang memungkinkan kita dapat melihat sudut pandang objek secara lebih nyata.
1.      Animasi 2D (2 Dimensi)
Animasi ini yang paling akrab dengan keseharian kita. Biasa juga disebut dengan film kartun. Kartun sendiri berasal dari kata Cartoon, yang artinya gambar yang lucu.
2.      Animasi 3D (3 Dimensi)
Perkembangan teknologi dan komputer membuat teknik pembuatan animasi 3D semakin berkembang dan maju pesat. Animasi 3D adalah pengembangan dari animasi 2D. Dengan animasi 3D, karakter yang diperlihatkan semakin hidup dan nyata, mendekati wujud manusia aslinya.
B.     Animasi di JAVA
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).


C.    Contoh program Animasi
Sintaks program
import java.awt.*;
import java.util.*;
import java.awt.image.BufferedImage;

public class Latihan_01 extends javax.swing.JFrame {
   
    private static int waktu = 100;
    Image gambar;
    Dimension ukuran;
    Insets insets;
    Color color[] = {Color.RED,Color.YELLOW,Color.GREEN};
   
    public Latihan_01() {
        initComponents();
        setTitle("Animasi Warna");
    }
   
    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 width = 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, width, height);
        for(int i=0; i<steps; i++){
            tampil_gambar.setColor(color[i]);
            tampil_gambar.fillArc(x, y, width, 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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                       
   
    /**
     * @param args the command line arguments
     */
    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();
            }
        });
    }                  
}


Running Program

 
 

D.    POST TEST
Buatlah contoh animasi sederhana dengan menggerakan gambar horizontal maupun vertical.

Sintaks program
import java.awt.*;
import javax.swing.*;
public class Animasi extends JPanel{
    int x = 0;
    @Override
    public void paint(Graphics g){
        g.setColor(Color.DARK_GRAY);
        g.fillRect(0, 100, 700, 250);
        g.setColor(Color.WHITE);
        for(int i = 0; i <= 700; i += 70){
            g.fillRect(i, 225, 60, 10);
        }
       
        g.setColor(Color.BLUE);
        g.fillRect(5+x, 225, 244, 100);
        g.fillOval(102+x, 180, 148, 120);
        g.setColor(Color.BLACK);
        g.fillRect(0+x, 314, 5, 9);
        g.fillRect(5+x, 180, 150, 70);
        g.fillRect(165+x, 200, 50, 50);
        g.fillOval(30+x, 290, 50, 50);
        g.fillOval(161+x, 290, 50, 50);
        g.setColor(Color.GRAY);
        g.fillOval(43+x, 302, 25, 25);
        g.fillOval(173+x, 302, 25, 25);
    }
    private void jalan(){
        x++;
        if(x == 690){
            x = 0;
        }
    }
    public static void main(String[] args) throws InterruptedException{
    JFrame f = new JFrame();
    f.setVisible(true);
    f.setSize(700, 500);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setLocationRelativeTo(null);
    Animasi fitri = new Animasi();
    f.add(fitri);
    while(true){
        fitri.jalan();
        fitri.repaint();
        Thread.sleep(20);
        }
    }
}


Running Program






BAB III
PENUTUP

A.   Kesimpulan
Bahasa pemrograman java tidak hanya dapat digunakan untuk membuat program berbasis text (text-base program) namun lebih dari itu java juga mendukung pemrograman grafis. Dengan menguasai pemrograman grafis dalam bahasa java maka dimungkinkan dapat membuat aneka bentuk program grafis seperti games, aplikasi grafis, animasi dll.


DAFTAR PUSTAKA
        Modul Pembelajaran Bahasa Pemrograman 1 FKOM Universitas Kuningan

Komentar

Postingan populer dari blog ini

Laporan Praktikum Bahasa Pemrograman 1 - Modul 6

Laporan Praktikum Bahasa Pemrograman1 - Modul 1

Laporan Praktikum Bahasa Pemrograman 1 - Modul 9