Anda di halaman 1dari 28

UAS PRATIKUM

“MENGANALISA HASIL PEMOGRAMAN DENGAN MEMBUAT ANIMASI RUMAH


MODIFIKASI”
Mata kuliah : “Grafika Komputer Online (A3)”

Dosen Pengampu : Eka Utami Ningsih, ST.,MT

Disusun oleh : Cindi Rahayu (190170047)

UNIVERSITAS MALIKUSSALEH

FAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKA 2021


1
DAFTAR ISI

KATA PENGANTAR ............................................................................................................................... 3


BAB l PENDAHULUAN.............................................................................................................................. 4
1. Batasan Masalah ............................................................................................................................. 4
2. Tujuan ............................................................................................................................................. 4
3. Sistematika Penulisan ..................................................................................................................... 4
BAB II LANDASAN TEORI ........................................................................................................................ 5
1. PENGANTAR KOMPUTER GRAFIS .............................................................................................. 5
a. Visualisasi proses ............................................................................................................................ 5
b. Entertainment .................................................................................................................................. 5
c. Design ............................................................................................................................................. 5
d. Game development ......................................................................................................................... 5
2. PEMROGRAMAN GRAFIK ............................................................................................................. 5
BAB III PEMBAHASAN ............................................................................................................................. 6
1. Source Kode Pembuatan animasi dalam Bahasa Pemograman Java NetBeans. ............................ 6
2) Pilih Menu File → New Project ......................................................................................................... 6
3) Pilih Catagories: Java dan Projects ................................................................................................. 7
2.Source kode pembuatan animasi rumah yang termodifikasi .................................................................. 8

2
KATA PENGANTAR

Puji syukur atas rahmat allah yang maha kuasa, yang mana telah memberikan kesehatan rahmat dan
hidayah nya, sehingga dapat memungkinkan saya untuk mengerjakan pratikum dengan baik. Tidak
lupa pula shalawat dan salam semoga terlimpahkan kepada Rasulullah Muhammad SAW,
keluarganya, sahabatnya, dan kepada kita selaku umatnya.

Makalah ini saya buat untuk melengkapi tugas pratikum membuat animasi rumah yang termodifikasi
dengan berbagai variasi, dengan mata kuliah grafika komputer.Semoga dengan adanya pratikum ini,
dapat membantu nilai saya dalam memenuhi tugas. Didalam makalah ini saya membuat pratikum
dengan pembelajaran teori yang sudah diberikan oleh dosen pengampu yaitu ibu eka, dimana di
dalamnya membuat sebuah pratikum yang dimulai dari garis hingga membentuk sebuah gambar.

Semoga dengan adanya pratikum ini dapat menyelesaikan tugas dengan lebih baik lagi, dapat
membantu para pembacanya dengan lebih mudah. Demikianlah hasil dari pratikum saya ini semoga
banyak bermanfaat bagi pembaca, dan terutama dapat menyelesaikan tugas-tugas saya dengan lebih
baik lagi.

3
BAB l
PENDAHULUAN

1. Batasan Masalah

Batasan masalah pada tahap pertama pembuatan matahari dan pemandangandengan pola
bewarna.
perancangan bangun 2 dimensi adalah :
1. Penggambaran objek pemandangan yang dilengkapi dengan matahari, awan dan juga jalan
dengan objek warna 2D di komputer
2. Praktikum teknik-teknik menghasilkan gambar menggunakan sebuah bahasa
pemograman.
3. Pemograman menggunakan Java NetBeans.

2. Tujuan
1. Menyelesaikan laporan mata kuliah Grafika Komputer semester 4.
2. Mahasiswa mampu menggambar objek 2D menggunakan bahasa pemograman Java
NetBeans.
3. Mahasiswa mampu mengimplementasikan fungsi transformasi 2D dari garis hingga
membentuk sebuah gambar 2D.
3. Sistematika Penulisan
Agar laporan dipahami dengan baik oleh pembaca, maka sistematika penulisan laporan
sebagai berikut :

BAB I PENDAHULUAN
Berisikan batasan masalah, tujuan dibuatnya laporan, dan sistematika penulisan laporan.

BAB II LANDASAN TEORI


Berisikan teori-teori yang digunakan dalam makalah.

BAB III PEMBAHASAN


Berisikan proses pembuatan program untuk menggambar 2D dengan pemograman Java
NetBeans.

4
BAB II

LANDASAN

TEORI

1. PENGANTAR KOMPUTER GRAFIS

Pada praktikum Komputer grafis ini akan dipelajari teknik-teknik untuk menghasilkan
gambar menggunakan sebuah pemrograman komputer dalam hal ini adalah Java NetBeans.
Komputer grafis merupakan Kebutuhan yang saat ini tidak bisa dihindarkan dengan
perkembangan teknologi komputer yang semakin cepat. Dan Hampir semua bidang
menggunakannya, kebutuhan komputer grafis lebih dirasakan dalam bidang-bidang berikut:
a. Visualisasi proses: komputer grafis banyak digunakan untuk menampilkan suatu
perkembangan proses dan analisis, seperti pada perkembangan nilai saham, visualisasi
simulasi, visualisasi proses pada industri dan lain-lain.
b. Entertainment: Tidak bisa dihindarkan pemakaian komputer grafis sangat membantu
dalam pembuatan movie yang bermutu. Sebagai contoh ”Terminator III” yang mampu
menampilkan efek morphing (perubahan secara perlahan dan jelas) dari lantai menjadi
manusia, atau ”Werewolf” yang mampu menyajikan perubahan manusia menjadi
srigala. Bahkan pada film animasi, pemakaian komputer grafis menjadi komponen
utama, seperti ”Final fantasy”.
c. Design: Saat ini pemakaian software design berkembang pesat khususnya yang 3D,
seperti Autocad, 3D Studio Max, Home design dan lain-lain.
d. Game development: Mau tidak mau harus diakui, salah satu komponen dasardari game
adalah grafik.

2. PEMROGRAMAN GRAFIK

Pemrograman grafik sebenarnya tidak berbeda dengan pemrograman komputer, hanya saja hasil
yang ditampilkan menggunakan layar grafis. Pada bahasa java hasil program pada umumnya
berupa text, sehingga pemakaian layar grafis membutuhkan pendekatan yang berbeda.
Salah satu komponen penting di dalam pemrograman grafik adalah pemakaian library
grafik yang berisi kumpulan procedure-procedure untuk membentuk objek grafis seperti garis,
lingkaran, dll.
Di samping itu, dalam pemrograman grafik terdapat komponen dasar yang disebut dengan
objek grafik. Objek grafik ini merupakan objek dasar dalam pembuatan grafik di computer
antara lain:

5
• Titik
• Garis,
• Polyline dan Polygon,
• Ellips,
• Text
• Paint

BAB III
PEMBAHASAN

1. Source Kode Pembuatan animasi dalam Bahasa Pemograman Java NetBeans.


1) Start AllProgram NetBeans NetBeans IDE 7.1.2

2) Pilih Menu File → New Project

6
3) Pilih Catagories: Java dan Projects

7
2. Source kode pembuatan animasi rumah yang termodifikasi
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import java.applet.*;

public class JavaApplication36 extends JApplet{


public static void main (String [] args){
JFrame frame= new JFrame ();
frame.setTitle("cindi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet= new JavaApplication36 ();
applet.init();
frame.getContentPane().add(applet);
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
public void init () {
JPanel panel4 = new Panel2D ();
getContentPane().add(panel4);
}
class Panel2D extends JPanel {

private int PI;


private int d;
public Panel2D (){
setPreferredSize(new Dimension(1010, 570));
8
setBackground(Color.blue); //BACKGROUND
}
public void paintComponent (Graphics g) {
super.paintComponent (g);
Graphics2D g2= (Graphics2D) g;

//Gambar Gunung, jalan ke gunung dan matahari


g.setColor(new Color(103,206,2));//warna hijau latar
g.fillRect(0, 320,1020 ,300 );
g.setColor(new Color(1,191,254));//warna biru muda //langit
g.fillRect(0, 0,1020 ,320 ); //langit
g.setColor(new Color(253,171,2));//warna kuning matahari
g.fillOval(475,190,100 ,100 ); //matahari

//========= GUNUNG SEGITIGA =============


g.setColor(new Color(0,145,0));//warna hijau
Polygon p = new Polygon ();
int xPoly[]= {450, 600, 300};
int yPoly[]= {200, 300, 300};
g2.fillPolygon(xPoly, yPoly, xPoly.length);

g.setColor(new Color(0,145,0));//warna hijau


int xPoly2[]= {600, 750, 450};
int yPoly2[]= {200, 300, 300};
g2.fillPolygon(xPoly2, yPoly2, xPoly2.length);

9
//jalan
g.setColor(Color.black);
g.fillRect(0, 300, 1020, 100);

//garis jalan
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.white);
float[] dash = {20.0f};
BasicStroke strok = new BasicStroke(3.0f, BasicStroke.CAP_SQUARE,
BasicStroke.JOIN_MITER, 1.0f, dash, 0.0f);
g2d.setStroke(strok);
g2d.draw(new Line2D.Double(10, 350, 1000, 350));

//pohon atas kanan


g.setColor(Color.green);
g.fillOval(660,210, 30,50);
g.fillOval(650, 230, 30,30);
g.fillOval(670, 230, 30,30);
g.fillRect(670,240,9 ,60 );

//pohon atas kanan


g.setColor(Color.green);
g.fillOval(860,210, 30,50);
g.fillOval(850, 230, 30,30);
g.fillOval(870, 230, 30,30);
g.fillRect(870,240,9 ,60 );

10
//pohon atas kiri
g.setColor(Color.green);
g.fillOval(150,210, 30,50);
g.fillOval(140, 230, 30,30);
g.fillOval(160, 230, 30,30);
g.fillRect(160,240,9 ,60 );

//pohon bawah kanan


g.setColor(Color.green);
g.fillOval(780,300, 30,40);
g.fillOval(770, 320, 30,30);
g.fillOval(790, 320, 30,30);
g.fillRect(790,340,9 ,60 );

//pohon bawah kanan


g.setColor(Color.green);
g.fillOval(930,300, 30,40);
g.fillOval(920, 320, 30,30);
g.fillOval(940, 320, 30,30);
g.fillRect(940,340,9 ,60 );

//pohon bawah kanan


g.setColor(Color.green);
g.fillOval(80,300, 30,40);
g.fillOval(70, 320, 30,30);
g.fillOval(90, 320, 30,30);
g.fillRect(90,340,9 ,60 );

11
//pohon bawah tengah
g.setColor(Color.green);
g.fillOval(390,300, 30,40);
g.fillOval(380, 320, 30,30);
g.fillOval(400, 320, 30,30);
g.fillRect(400,340,9 ,60 );

//pohon bawah tengah


g.setColor(Color.green);
g.fillOval(590,300, 30,40);
g.fillOval(580, 320, 30,30);
g.fillOval(600, 320, 30,30);
g.fillRect(600,340,9 ,60 );

//Tanaman
g.setColor(new Color(0,140,0));//warna hijau
g.fillOval(0, 550, 30,30);
g.fillOval(25, 550, 30,30);
g.fillOval(50, 550, 30,30);
g.fillOval(15, 530, 30,30);
g.fillOval(32, 530, 30,30);

g.fillOval(90, 430, 30,30);


g.fillOval(115, 430, 30,30);
g.fillOval(140, 430, 30,30);
g.fillOval(105, 410, 30,30);

12
g.fillOval(122, 410, 30,30);

g.fillOval(180, 500, 30,30);


g.fillOval(205, 500, 30,30);
g.fillOval(230, 500, 30,30);
g.fillOval(195, 480, 30,30);
g.fillOval(212, 480, 30,30);

g.fillOval(270, 430, 30,30);


g.fillOval(295, 430, 30,30);
g.fillOval(320, 430, 30,30);
g.fillOval(285, 410, 30,30);
g.fillOval(302, 410, 30,30);

g.fillOval(390, 550, 30,30);


g.fillOval(415, 550, 30,30);
g.fillOval(440, 550, 30,30);
g.fillOval(405, 530, 30,30);
g.fillOval(422, 530, 30,30);

g.fillOval(510, 430, 30,30);


g.fillOval(535, 430, 30,30);
g.fillOval(560, 430, 30,30);
g.fillOval(525, 410, 30,30);
g.fillOval(542, 410, 30,30);

g.fillOval(600, 500, 30,30);


g.fillOval(625, 500, 30,30);

13
g.fillOval(650, 500, 30,30);
g.fillOval(615, 480, 30,30);
g.fillOval(632, 480, 30,30);

g.fillOval(690, 430, 30,30);


g.fillOval(715, 430, 30,30);
g.fillOval(740, 430, 30,30);
g.fillOval(705, 410, 30,30);
g.fillOval(722, 410, 30,30);

g.fillOval(780, 550, 30,30);


g.fillOval(805, 550, 30,30);
g.fillOval(830, 550, 30,30);
g.fillOval(795, 530, 30,30);
g.fillOval(812, 530, 30,30);

g.fillOval(870, 430, 30,30);


g.fillOval(895, 430, 30,30);
g.fillOval(920, 430, 30,30);
g.fillOval(885, 410, 30,30);
g.fillOval(902, 410, 30,30);

g.fillOval(960, 500, 30,30);


g.fillOval(985, 500, 30,30);
g.fillOval(1010, 500, 30,30);
g.fillOval(975, 480, 30,30);
g.fillOval(992, 480, 30,30);

14
//==============Gambar Awan
g.setColor(Color.white);
g.fillOval(30,70,100,50);
g.fillOval(90,70,90,40);
g.fillOval(125,70,100,50);

g.fillOval(330,70,100,50);
g.fillOval(390,70,90,40);
g.fillOval(425,70,100,50);

g.fillOval(730,70,100,50);
g.fillOval(790,70,90,40);
g.fillOval(825,70,100,50);
g.setColor(Color.red);

//Rumah
//salju
g.setColor(Color.WHITE);
g.fillOval(750, 375, 100, 100);
g.fillOval(820, 360, 50, 50);
g.fillOval(850, 375, 60, 60);
g.fillOval(870, 380, 80, 80);

//Cerobong Asap
g.setColor(new Color(201, 187, 161));
g.fillRect(900, 360, 25, 100);

15
//Atap Rumah
g.setColor(new Color(70, 51, 36));
int x[] = new int[] {700,850,1000};
int y[] = new int [] {420,370,420};
g.fillPolygon(x, y, 3);

//Rumah
g.setColor(new Color(246, 220, 226));
g.fillRect(750, 420, 200, 120);

//Pintu Rumah
g.setColor(new Color(199, 75, 5));
g.fillRect(800, 465, 50, 75);

g.setColor(new Color(130, 82, 33));


g.fillRect(805, 470, 40, 15);
g.fillRect(805, 488, 40, 15);
g.fillRect(805, 506, 40, 15);
g.fillRect(805, 525, 40, 13);

//Jendela Rumah
g.setColor(new Color(199, 75, 5));
g.fillRect(880, 455, 40, 40);
g.setColor(new Color(251, 252, 191));
g.fillRect(885, 460, 30, 30);

//Gagang Pintu
g.setColor(new Color(201, 187, 161));

16
g.fillOval(830, 500, 10, 10);

//salju kiri
g.setColor(Color.WHITE);
g.fillOval(-23, 450, 100, 100);
g.fillOval(-15, 500, 180, 180);
g.fillOval(150, 490, 200, 200);
g.fillOval(300, 520, 200, 200);

//Rumput pada salju kiri


g.setColor(new Color (9, 169, 9));
g.fillOval(-23, 530, 50, 80);
g.fillOval(22, 545, 50, 90);
g.fillOval(65, 550, 100, 100);
g.fillOval(150, 560, 90, 100);
g.fillOval(220, 555, 60, 100);
g.fillOval(260, 560, 100, 100);
g.fillOval(330, 555, 100, 150);
g.fillOval(380, 565, 100, 150);

//Bunga Kiri
g.setColor(new Color (223, 79, 245));
g.fillOval(10, 550, 30, 10);
g.fillOval(20, 540, 10, 30);
g.setColor(Color.yellow);
g.fillOval(20, 550, 10, 10);

g.setColor(new Color (223, 79, 245));

17
g.fillOval(55, 560, 30, 10);
g.fillOval(65, 550, 10, 30);
g.setColor(Color.yellow);
g.fillOval(65, 560, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(145, 565, 30, 10);
g.fillOval(155, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(155, 565, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(205, 565, 30, 10);
g.fillOval(215, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(215, 565, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(255, 565, 30, 10);
g.fillOval(265, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(265, 565, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(325, 565, 30, 10);
g.fillOval(335, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(335, 565, 10, 10);

18
g.setColor(new Color (223, 79, 245));
g.fillOval(395, 560, 30, 10);
g.fillOval(405, 550, 10, 30);
g.setColor(Color.yellow);
g.fillOval(405, 560, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(5, 500, 30, 10);
g.fillOval(15, 490, 10, 30);
g.setColor(Color.yellow);
g.fillOval(15, 500, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(35, 480, 30, 10);
g.fillOval(45, 470, 10, 30);
g.setColor(Color.yellow);
g.fillOval(45, 480, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(-10, 465, 30, 10);
g.fillOval(0, 455, 10, 30);
g.setColor(Color.yellow);
g.fillOval(0, 465, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(50, 510, 30, 10);
g.fillOval(60, 500, 10, 30);

19
g.setColor(Color.yellow);
g.fillOval(60, 510, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(90, 530, 30, 10);
g.fillOval(100, 520, 10, 30);
g.setColor(Color.yellow);
g.fillOval(100, 530, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(170, 540, 30, 10);
g.fillOval(180, 530, 10, 30);
g.setColor(Color.yellow);
g.fillOval(180, 540, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(220, 520, 30, 10);
g.fillOval(230, 510, 10, 30);
g.setColor(Color.yellow);
g.fillOval(230, 520, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(260, 510, 30, 10);
g.fillOval(270, 500, 10, 30);
g.setColor(Color.yellow);
g.fillOval(270, 510, 10, 10);

g.setColor(new Color (223, 79, 245));

20
g.fillOval(290, 540, 30, 10);
g.fillOval(300, 530, 10, 30);
g.setColor(Color.yellow);
g.fillOval(300, 540, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(365, 540, 30, 10);
g.fillOval(375, 530, 10, 30);
g.setColor(Color.yellow);
g.fillOval(375, 540, 10, 10);

g.setColor(new Color (223, 79, 245));


g.fillOval(410, 540, 30, 10);
g.fillOval(420, 530, 10, 30);
g.setColor(Color.yellow);
g.fillOval(420, 540, 10, 10);

//Tumpukan Salju kanan


g.setColor(Color.WHITE);
g.fillOval(950, 485, 130, 130);
g.fillOval(900, 515, 90, 110);
g.fillOval(850, 520, 65, 65);
g.fillOval(500, 490, 130, 130);
g.fillOval(600, 530, 120, 120);
g.fillOval(700, 520, 110, 100);

//Rumput kanan
g.setColor(new Color (9, 169, 9));

21
g.fillOval(950, 500, 100, 100);
g.fillOval(900, 530, 80, 80);
g.fillOval(850, 530, 65, 65);
g.fillOval(500, 500, 130, 130);
g.fillOval(600, 540, 120, 120);
g.fillOval(700, 530, 110, 100);

//Bunga Kanan
g.setColor(Color.red);
g.fillOval(570, 550, 30, 10);
g.fillOval(580, 540, 10, 30);
g.setColor(Color.yellow);
g.fillOval(580, 550, 10, 10);

g.setColor(Color.red);
g.fillOval(550, 510, 30, 10);
g.fillOval(560, 500, 10, 30);
g.setColor(Color.yellow);
g.fillOval(560, 510, 10, 10);

g.setColor(Color.red);
g.fillOval(630, 570, 30, 10);
g.fillOval(640, 560, 10, 30);
g.setColor(Color.yellow);
g.fillOval(640, 570, 10, 10);

g.setColor(Color.red);
g.fillOval(670, 560, 30, 10);

22
g.fillOval(680, 550, 10, 30);
g.setColor(Color.yellow);
g.fillOval(680, 560, 10, 10);

g.setColor(Color.red);
g.fillOval(720, 565, 30, 10);
g.fillOval(730, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(730, 565, 10, 10);

g.setColor(Color.red);
g.fillOval(855, 560, 30, 10);
g.fillOval(865, 550, 10, 30);
g.setColor(Color.yellow);
g.fillOval(865, 560, 10, 10);

g.setColor(Color.red);
g.fillOval(775, 570, 30, 10);
g.fillOval(785, 560, 10, 30);
g.setColor(Color.yellow);
g.fillOval(785, 570, 10, 10);

g.setColor(Color.red);
g.fillOval(775, 570, 30, 10);
g.fillOval(785, 560, 10, 30);
g.setColor(Color.yellow);
g.fillOval(785, 570, 10, 10);

23
g.setColor(Color.red);
g.fillOval(890, 550, 30, 10);
g.fillOval(900, 540, 10, 30);
g.setColor(Color.yellow);
g.fillOval(900, 550, 10, 10);

g.setColor(Color.red);
g.fillOval(920, 570, 30, 10);
g.fillOval(930, 560, 10, 30);
g.setColor(Color.yellow);
g.fillOval(930, 570, 10, 10);

g.setColor(Color.red);
g.fillOval(1000, 565, 30, 10);
g.fillOval(1010, 555, 10, 30);
g.setColor(Color.yellow);
g.fillOval(1010, 565, 10, 10);

g.setColor(Color.red);
g.fillOval(980, 540, 30, 10);
g.fillOval(990, 530, 10, 30);
g.setColor(Color.yellow);
g.fillOval(990, 540, 10, 10);

g.setColor(Color.red);
g.fillOval(995, 515, 30, 10);
g.fillOval(1005, 505, 10, 30);
g.setColor(Color.yellow);

24
g.fillOval(1005, 515, 10, 10);

g.setColor(Color.red);
g.fillOval(945, 550, 30, 10);
g.fillOval(955, 540, 10, 30);
g.setColor(Color.yellow);
g.fillOval(955, 550, 10, 10);

//Boneka Salju
g.setColor (Color.white);
g.fillOval (128, 385, 40, 40); // kepala
g.fillOval (114, 413, 70, 50); // badan atas
g.fillOval (100, 450, 100, 60); // badan bawah

g.setColor (Color.black);
g.fillOval (135, 400, 5, 5); // mata kiri
g.fillOval (153, 400, 5, 5); // mata kanan

g.drawArc (137, 407, 20, 10, 190, 160); // senyum

g.setColor(Color.BLACK);
g.drawLine (178, 437, 213, 427); // tangan kiri
g.drawLine (120, 437, 80, 427); // tangan kanan

g.drawLine (128, 387, 168, 387); // topi


g.fillRect (134, 362, 30, 25);
}
}

25
Outputnya

26

Anda mungkin juga menyukai