Sabtu, 01 November 2014

MEMBUAT GAMBAR RUMAH , DAN MATAHARI , MENGGUNAKAN JAVA

Kali ini saya akan memberikan salah satu contoh program menggambar rumah sederhana dengan menggunakan awt pada bahasa pemrograman Java. untuk memenuhi tugas yang MATA KULIAH GRAFIKA KOMPUTER...dan gmbar rumah ini juga saya dapatkan dari internet.



LISTING PROGRAMNYA BISA DILAHAT DIBAWAH INI:

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
package awt1;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;

/**
 *
 * @author xavhy
 */
public class AWT1 extends Panel {
    AWT1 () {
        setBackground (Color.cyan);
    }
   
    public void paint(Graphics u)
    {
   
    //Rumput
    u.setColor(Color.GREEN);
    u.fillRect(0, 200, 590, 270);
   
   
    //Matahari
    u.setColor(Color.yellow);
    u.fillOval(430, 50, 80, 80);
   
    u.setColor(new Color(245,135,14));  //cahaya matahari
    u.drawLine(430, 90, 380, 90);   //garis kiri
    u.drawLine(440, 60, 380, 30);   //kiri atas
    u.drawLine(440, 120, 380, 150);   //kiri bawah
    u.drawLine(560, 90, 510, 90);   //garis kanan
    u.drawLine(560, 30, 500, 60);   //kanan atas
    u.drawLine(560, 150, 500, 120);   //kanan bawah
    u.drawLine(470, 10, 470, 50);   //utara
    u.drawLine(470, 130, 470, 170); //selatan
   
    //Awan
    u.setColor(Color.white);
    u.fillOval(20, 15, 70, 70);
    u.fillOval(50, 15, 70, 75);
    u.fillOval(100, 15, 70, 70);
   
    //Rumah
    u.setColor(Color.RED);
    u.fillRect(10, 300, 100, 150);
   
    //Pintu Rumah
    u.setColor(Color.BLUE);
    u.fillRect(50, 374, 50, 75);
   
    //Gagang Pintu
    u.setColor(Color.YELLOW);
    u.fillOval(88, 400, 10, 10);
   
    //Atap Rumah
    u.setColor(Color.ORANGE);
    int x[] = new int[] {10,60,110};
    int y[] = new int [] {300,250,300};
    u.fillPolygon(x, y, 3);
   
    //Jalan
    u.setColor(Color.gray);
    int a[] = new int[]{580,240,410,580};
    int b[] = new int[]{200,460,460,320};
    u.fillPolygon(a, b, 4);
   
    //Garis Jalan 1
    u.setColor(Color.white);
    int c[] = new int[]{530,560,570,540};
    int d[] = new int[]{280,260,260,280};
    u.fillPolygon(c, d, 4);
   
    //Garis Jalan 2
    int e[] = new int[]{440,470,480,450};
    int f[] = new int[]{360,340,340,360};
    u.fillPolygon(e, f, 4);
   
    //Garis Jalan 3
    int g[] = new int[]{340,370,380,350};
    int h[] = new int[]{450,430,430,450};
    u.fillPolygon(g, h, 4);
   
   
    }
   
 
    public static void main(String[] args) {
     Frame f1 = new Frame();
     AWT1 H = new AWT1();
     f1.add(H);
     f1.setSize(600, 500);
     f1.setVisible(true);
       
    }
}


Hasil Outputnya : 

Menggambar Pegunungan, mobil, pohon dan jalan 2D dengan Java OGL.


Langkah-langkahnya bisa di ikuti seperti dijelaskan berikut ini;
1. bukalah Netbeants anda di komputer,
2. kemudian buat project baru. pada tab Project Name isikan dengan "GambarPemandangan" (tanpa petik). lalu klik finish.


3. lalu buka calas GambarPemandangan.java yang terdapat pada project diatas. Copy dan Paste code yang ada dibawah.

code:

package gambarpemandangan; /**
*
* @author xavhy
*/
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import java.applet.*;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
   
public class GambarPemandangan extends JApplet{
public static void main (String [] args){
JFrame frame= new JFrame ();
frame.setTitle("Edi Haryanto | 8011171 | Absen : 28");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet= new GambarPemandangan ();
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 {
int awal = 0;
int mulai = 0;
public Panel2D (){
setPreferredSize(new Dimension(1010, 570));
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(Color.gray); //latar
g.fillRect(0, 320,1020 ,300 );
g.setColor(Color.blue); //langit
g.fillRect(0, 0,1020 ,320 ); //langit
g.setColor(Color.orange); //matahari
g.fillOval(490,120,170 ,170 ); //matahari

//========= GUNUNG LINGKARAN =============
g.setColor(Color.darkGray); //gunung
g.fillArc(200, 150, 400, 400, 0, 180); //gunung
g.fillArc(0, 175, 600, 350, 90,90 ); //gunung
g.fillArc(550, 75, 500, 550, 0, 180); //gunung

//Gambar Tanaman
g.setColor(Color.green);
g.fillOval(0, 500, 30,30);
g.fillOval(25, 500, 30,30);
g.fillOval(50, 500, 30,30);
g.fillOval(15, 480, 30,30);
g.fillOval(32, 480, 30,30);
g.fillOval(90, 500, 30,30);
g.fillOval(115, 500, 30,30);
g.fillOval(140, 500, 30,30);
g.fillOval(105, 480, 30,30);
g.fillOval(122, 480, 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, 500, 30,30);
g.fillOval(295, 500, 30,30);
g.fillOval(320, 500, 30,30);
g.fillOval(285, 480, 30,30);
g.fillOval(302, 480, 30,30);
g.fillOval(510, 500, 30,30);
g.fillOval(535, 500, 30,30);
g.fillOval(560, 500, 30,30);
g.fillOval(525, 480, 30,30);
g.fillOval(542, 480, 30,30);
g.fillOval(600, 500, 30,30);
g.fillOval(625, 500, 30,30);
g.fillOval(650, 500, 30,30);
g.fillOval(615, 480, 30,30);
g.fillOval(632, 480, 30,30);
g.fillOval(690, 500, 30,30);
g.fillOval(715, 500, 30,30);
g.fillOval(740, 500, 30,30);
g.fillOval(705, 480, 30,30);
g.fillOval(722, 480, 30,30);
g.fillOval(780, 500, 30,30);
g.fillOval(805, 500, 30,30);
g.fillOval(830, 500, 30,30);
g.fillOval(795, 480, 30,30);
g.fillOval(812, 480, 30,30);
g.fillOval(870, 500, 30,30);
g.fillOval(895, 500, 30,30);
g.fillOval(920, 500, 30,30);
g.fillOval(885, 480, 30,30);
g.fillOval(902, 480, 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);
//pohon
g.setColor(Color.green);
g.fillOval(600,220, 30,40);
g.fillOval(590, 240, 30,30);
g.fillOval(610, 240, 30,30);
g.fillRect(610,260,9 ,60 );
g.setColor(Color.green);
g.fillOval(660,220, 30,40);
g.fillOval(650, 240, 30,30);
g.fillOval(670, 240, 30,30);
g.fillRect(670,260,9 ,60 );
//Membuat jalan
g.setColor(Color.black);
g.fillRect(0, 300, 1020, 50);
//Membuat 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, 320, 1000, 320));

//pohon
g.setColor(Color.green);
g.fillOval(720,250, 30,40);
g.fillOval(710, 270, 30,30);
g.fillOval(730, 270, 30,30);
g.fillRect(730,290,9 ,60 );
g.setColor(Color.green);
g.fillOval(780,250, 30,40);
g.fillOval(770, 270, 30,30);
g.fillOval(790, 270, 30,30);
g.fillRect(790,290,9 ,60 );
//========== mobil
g.setColor(Color.red);
g.fillRect(205,305,100,30 ); //badan bawah
g.fillOval(207,278,104,45); //badan atas
g.setColor(Color.blue);
g.fillRect(210,305,100,30 ); //badan bawah
g.fillOval(210,280,100,45); //badan atas
g.fillArc (180,298,60,70,0,180);// atas ban
g.fillArc (285,298,60,70,0,180);// atas ban
g.setColor(Color.yellow);
g.fillArc (318,301,23,23,0,80);// atas ban
g.setColor(Color.black); //ban
g.fillOval(198, 313, 32,32); //ban
g.fillOval(298, 313, 32,32); //ban
g.setColor(Color.white); //ban
g.fillOval(204, 319, 20,20); //ban
g.fillOval(304, 319, 20,20); //ban
g.setColor(Color.red);
g.fillArc (230,285,70,40,0,90);// atas ban
g.setColor(Color.black);
g.fillArc (234,286,64,36,0,90);// atas ban
g.setColor(Color.red);
g.fillArc (220,285,70,40,90,90);// atas ban
g.setColor(Color.black);
g.fillArc (223,286,68,36,90,90);// atas ban
g.setColor(Color.red);
g.fillRect(258,286,10,18 );

//==============Gambar Awan
g.setColor(Color.white);
g.fillOval(30+mulai,70,90,40);
g.fillOval(70+mulai,70,90,40);
g.fillOval(40+mulai, 60, 50,50);
g.fillOval(90+mulai, 60, 50,50);
g.fillOval(210+awal,90,90,40);
g.fillOval(250+awal,90,90,40);
g.fillOval(220+awal, 80, 50,50);
g.fillOval(270+awal, 80, 50,50);
g.fillOval(820-awal,50,90,40);
g.fillOval(860-awal,50,90,40);
g.fillOval(830-awal,40, 50,50);
g.fillOval(880-awal,40, 50,50);

//bendera
g.setColor(Color.red);
g.fillRect(100,120,100 ,35 );
g.setColor(Color.white);
g.fillRect(100,150,100 ,35 );
g.fillRect(100,150,5 ,150 );
//nama background
g.setColor(Color.white);
g.fillRect(750, 500,250 ,70 );
//N
g.setColor(Color.black);
g.fillRect(770,510,3,15 );
g2d.draw(new Line2D.Double(772, 512, 780, 522));
g.fillRect(780,510,3,15 );
//A
g.fillRect(790,510,3,15 ); // berdiri
g.fillRect(800,510,3,15 ); //berdiri
g.fillRect(790,510,10,3 ); //atas
g.fillRect(790,517,10,3 );//tengah
//M
g.fillRect(810,510,3,15 ); //
g.fillRect(818,510,3,15 ); //berdiri
g.fillRect(826,510,3,15 ); //berdiri
g.fillRect(810,510,16,3 ); //atas
//A
g.fillRect(835,510,3,15 ); // berdiri
g.fillRect(845,510,3,15 ); //berdiri
g.fillRect(835,510,10,3 ); //atas
g.fillRect(835,517,10,3 );//tengah
//:
g.fillRect(880,512,3,3 ); //atas
g.fillRect(880,520,3,3 ); //bawah
//E
g.fillRect(890,510,3,15 ); //berdiri
g.fillRect(890,510,10,3  ); //atas
g.fillRect(890,516,10,3 ); //tengah
g.fillRect(890,522,10,3 ); //bawah
//D
g.fillRect(910,510,3,15 ); //berdiri
g.fillRect(920,512,3,11 ); //berdiri
g.fillRect(910,510,10,3  ); //atas
g.fillRect(910,522,10,3 ); //bawah
//I
g.fillRect(930,510,3,15 ); //berdiri


//ABSEN
//A
g.setColor(Color.black);
g.fillRect(770,540,3,15 ); //berdiri
g.fillRect(780,540,3,15 ); //berdiri
g.fillRect(770,540,10,3 ); //atas
g.fillRect(770,547,10,3 );//tengah
//B
g.fillRect(790,540,3,15 ); //berdiri
g.fillRect(800,541,3,5 ); //berdiri
g.fillRect(800,548,3,5 ); //berdiri
g.fillRect(790,540,10,3  ); //atas
g.fillRect(790,546,10,3 ); //tengah
g.fillRect(790,552,10,3 ); //bawah
//S
g.fillRect(810,540,3,8 ); // berdiri
g.fillRect(819,548,3,8 ); //berdiri
g.fillRect(810,540,12,3 ); //atas
g.fillRect(810,546,12,3 );//tengah
g.fillRect(810,553,12,3 );//bawah
//E
g.fillRect(830,540,3,15 ); // berdiri
g.fillRect(830,540,12,3 ); //atas
g.fillRect(830,547,10,3 );//tengah
g.fillRect(830,553,12,3 );//bawah
//N
g.setColor(Color.black);
g.fillRect(850,540,3,15 );
g2d.draw(new Line2D.Double(852, 542, 860, 552));
g.fillRect(860,540,3,15 );
//:
g.fillRect(880,542,3,3 ); //atas
g.fillRect(880,550,3,3 ); //bawah
//S
g.fillRect(890,548,3,8 ); //berdiri
g.fillRect(899,540,3,8 ); //berdiri
g.fillRect(890,540,12,3 ); //atas
g.fillRect(890,546,12,3 );//tengah
g.fillRect(890,553,12,3 );//bawah
//A
g.fillRect(910,540,3,15 ); // berdiri
g.fillRect(920,540,3,15 ); //berdiri
g.fillRect(910,540,10,3 ); //atas
g.fillRect(910,547,10,3 );//tengah
g.fillRect(910,553,12,3 );//bawah
}
}
}

  dan jika kodinnya di jalankan maka akan muncul screen shot gambar pegunungan 2D dengan OGL di Java  seperti berikut