Kamis, 18 Januari 2018

MODUL 10

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


Disusun oleh:
Aam Stamrotul Puadah
20160910001
SI 2016 A



FAKULTAS ILMU KOMPUTER
SISTEM INFORMASI
 UNIVERSITAS KUNINGAN
Jl. Cut Nyak Dhien No. 36 A Cijoho Kuningan Telp/Fax. (0232)874824








KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuh,
Puji syukur kita panjatkan kehadirat Allah SWT karena atas limpahan rahmat dan karunia-Nya kita dapat menyelesaikan laporan kegiatan kewirausahaan yang merupakan salah satu tugas bahasa pemrograman 1. Semoga dengan adanya laporan ini dapat menambah wawasan.
      Dalam penulisan laporan ini mungkin jauh dari kata sempurna, maka dari itu penyusun meminta kritik dan saran yang membangun demi perbaikan laporan ini diwaktu yang akan datang.
Wassalamu’alaikum Warahmatullahi Wabarakatuh                                                                                                                                                 
Kuningan, 16 Januari  2017




                                                                                                       Penyusun
                                                                                                     







DAFTAR ISI
KATA PENGANTAR
DAFTAR ISI

BAB I  PENDAHULUAN
1.1   Latar belakang
1.2   Rumusan Masalah
1.3   Tujuan

BAB II  PEMBAHASAN
2.1  Dasar Animasi
2.2  Proses Pembuatan Animasi
2.3  Teknik Konvensional
2.4   Animasi 3Dimensi
BAB III ISI
3.1  Contoh Program
3.2  Post test

BAB IV PENUTUP          
4.1   Kesimpulan

DAFTAR PUSTAKA





BAB I
PENDAHULUAN
1.1  LATAR BELAKANG
Animasi sebenarnya merupakan penyesuaian dari kata ‘animation’ yang berasal dari kata dasar ‘to animate’ dalam kamus umum InggrisIndonesia berarti menghidupkan. Secara umum animasi merupakan suatu kegiatan menghidupkan, menggerakkan benda mati dan suatu benda mati diberi dorongan, kekuatan, semangat dan emosi untuk menjadi hidup atau hanya berkesan hidup.

1.2  RUMUSAN MASALAH
1.      Apa yang dimaksud dengan animasi ?
2.      Bagaimana peroses bembuatan animasi ?

1.3  TUJUAN
1.      Dapat mengtahui pengertian dari animasi di Java.
2.      Dapat memahami peroses pembuatan animasi di Java.




 
BAB II
PEMBAHASAN
2.1  DASAR ANIMASI
Film animasi, atau biasa disingkat animasi saja, adalah film yang merupakan hasil dari pengolahan gambar tangan sehingga menjadi gambar yang bergerak. Pada awal penemuannya, film animasi dibuat dari berlembar-lembar kertas gambar yang kemudian di-"putar" sehingga muncul efek gambar bergerak. Dengan bantuan komputer dan grafika komputer, pembuatan film animasi menjadi sangat mudah dan cepat. Bahkan akhir-akhir ini lebih banyak bermunculan film animasi 3 dimensi daripada film animasi 2 dimensi.

2.2  PROSES PEMBUATAN ANIMASI
Ada dua proses pembuatan film animasi, di antaranya adalah secara konvensional dan digital. Proses secara konvensional sangat membutuhkan dana yang cukup mahal, sedangkan proses pembuatan digital cukup ringan. Sedangkan untuk hal perbaikan, proses digital lebih cepat dibandingkan dengan proses konvensional. Tom Cardon seorang animator yang pernah menangani animasi Hercules mengakui komputer cukup berperan.

2.3  TEKNIK KONVENSIONAL
Teknik Celluloid (kadang-kadang disebut cell saja) ini merupakan teknik mendasar dalam pembuatan film animasi klasik. Setelah gambar mejadi sebuah rangkaian gerakan maka gambar tersebut akan ditransfer ke atas lembaran transparan (plastik) yang tembus pandang/ sel (cell) dan diwarnai oleh Ink and Paint Department. Setelah selesai film tersebut akan direkam dengan kamera khusus, yaitu multiplane camera di dalam ruangan yang serba hitam.

2.4  ANIMASI 3DIMESNSI
Tiga Dimensi (3D), biasanya digunakan dalam penanganan grafis. 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game computer.




BAB III
ISI

3.1 CONTOH PROGRAM
Ø  Syntax
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ASUS_X451C
 */
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
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};
    /**
     * Creates new form latihan_01
     */
    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 heigh = 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, heigh);
                  for (int i =0; i<steps;i++){
                  tampil_gambar.setColor(color[i]);
                  tampil_gambar.fillArc(x, y, width, heigh, 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);
              }
  

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @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[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
  java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
              latihan_01 tampil = new latihan_01();
                tampil.setVisible(true);
                tampil.jalan();
            }
        });
    }

    // Variables declaration - do not modify                    
    // End of variables declaration                  
}
Ø  Hasil Running



3.2 POST TEST
Buatkan contoh animasi sederhana dengan menggerakan gambar horizontal maupun vertical
Ø  Syntax
package post_test;
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.red);
g.fillOval(100+x, 100+x, 50, 50);
//gerak vertikal
 g.setColor(Color.BLACK);
 g.fillOval(x, 100, 50, 50);
//gerak horizontal
g.setColor(Color.cyan);
g.fillOval(100, 0+x, 50, 50);
//gerak lingkaran
g.setColor(Color.yellow);
g.fillOval(0+x, 0, 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.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);
        }
    }
   
}

Ø  Hasil Running


BAB IV
PENUTUP
4.1 KESIMPULAN
            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.


DAFTAR PUSTAKA

LAPORAN PRAKTIKUM SISTEM OPERASI MODUL 10

Manajemen Aplikasi pada Linux Pada pembahasan kali ini anda akan mempelajari dan dapat mengerti konsep RPM, TAR dan GZIP. menggunakan ...