Professional Documents
Culture Documents
CHART 1
KOMPUTER GRAFIK 1
Oleh :
NIM NAMA
1. 181011401397 Muhammad Ridhan Maulana.N
GANJIL
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.*;
import javax.swing.*;
public ColumnChart() {
this.setBackground(Color.WHITE);
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
gp.moveTo(38,90);
gp.lineTo(38,295);
gp.moveTo(30,290);
gp.lineTo(500,290);
gp.moveTo(30,90);
gp.lineTo(500,90);
gp.moveTo(30,130);
gp.lineTo(500,130);
gp.moveTo(30,170);
gp.lineTo(500,170);
gp.moveTo(30,210);
gp.lineTo(500,210);
gp.moveTo(30,250);
gp.lineTo(500,250);
gp.moveTo(497,90);
gp.lineTo(497,290);
g2.draw(gp);
g2.drawString("2500",7,90);
//g2.drawString("2500",7,90);
g2.drawString("2000",7,130);
//g2.drawString("2000",7,130);
g2.drawString("1500",7,170);
//g2.drawString("1500",7,170);
g2.drawString("1000",7,210);
//g2.drawString(“1000",7,210);
g2.drawString("500",13,250);
//g2.drawString("500",13,250);
g2.drawString("0",20,290);
g2.drawString("Teknik Industri",155,310);
g2.drawString("Teknik Mesin",248,310);
g2.drawString("Teknik Kimia",339,310);
g2.drawString("Sastra Inggris",430,310);
g2.drawString("Tahun 2014",533,190);
g2.setColor(Color.BLUE);
g2.fill(kotak1);
g2.fill(kotak2);
g2.fill(kotak3);
g2.fill(kotak4);
g2.fill(kotak5);
g2.fill(series1);
frame.addWindowListener(new WindowAdapter() {
System.exit(0);
});
frame.getContentPane().add(canvas);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
a. 3.
Source Code : DoughnutChart
package ColumnChart;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.*;
import javax.swing.*;
String [] label = {"Teknik Informatika", "Teknik Industri", "Teknik Mesin", "Teknik Kimia",
"Sastra Inggris"};
//Constructor
public DoughnutChart() {
this.setBackground(Color.WHITE);
@Override
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
//Hitung total
total += data[k];
Shape sektor = new Arc2D.Float(30, 30, 150, 150, awal, sudut, Arc2D.PIE);
g2.setColor(warna[k]);
g2.fill(sektor);
awal += sudut;
g2.setColor(java.awt.Color.BLACK);
ly += (lh+5);
//
g2.setColor(Color.white);
}
public static void main(String args[]) {
frame.setSize(650,350);
frame.addWindowListener(new WindowAdapter() {
System.exit(0);
});
frame.getContentPane().add(canvas);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
b. 1.
• protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
GeneralPath gp = new GeneralPath(GeneralPath.WIND_NON_ZERO);
• gp.moveTo(30,50); - //Adalah menambahkan garis dibelakang
g2.fill(kotak1);
g2.draw(gp);
g2.setColor(Color.BLUE);
frame.addWindowListener(new WindowAdapter() {
frame.getContentPane().add(canvas);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
b. 3.
• // Definisikan field untuk menyimpan data
String [] label = {"Teknik Informatika", "Teknik Industri", "Teknik Mesin", "Teknik Kimia",
"Sastra Inggris"};
• //Constructor
public DoughnutChart() {
this.setBackground(Color.WHITE);
g2.setRenderingHint (RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
• //Menghitung total
total += data[k];
Shape sektor = new Arc2D.Float(30, 30, 150, 150, awal, sudut, Arc2D.PIE);
g2.setColor(warna[k]);
g2.fill(sektor);
awal += sudut;
g2.setColor(java.awt.Color.BLACK);
• //Bagian sebuah Grafik Lingkaran
g2.setColor(Color.white);
frame.setSize(650,350);
frame.addWindowListener(new WindowAdapter() {
frame.getContentPane().add(canvas);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
c. 1.
c. 3.
d. 1.
Pendapat saya tentang tugas ini No.1 lebih sulit di bandingkan pertemuan
sebelumnya karena tidak di perbolehkan menggunakan library JfreeChar dan
mengharuskan menggunakan geometri primitive karen di setiap geometri itu
selalu mencocokan sebuah titik dan geometri itu sendiri terlebih di tugas NIM
ganjil saya ini menggunakan grafik batang
d. 3.
Pendapat saya tentang tugas yg No.3 ini lebih mudah ke timbang bagian No.1
karena walaupun geometri lingkaran nya tersebut harus presisi di karenakan
untuk membuat lingkaran sebuah donat