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
Posting Komentar