Anda di halaman 1dari 6

lgortma DDA adalah algoritma pembentukan garis berdasarkan

perhitungan titik awal dan titik akhir atau dituliskan sebagai Dx dan
Dy, dengan rumus Dy = m. Dx.

Algoritma DDA dapat diimplementasikan pada bahasa


pemrograman Java untuk membuat sebuah garis. Kali ini kamu akan
membaca tutorial Membuat Garis Dengan Algoritma DDA Di
Java. Berikut adalah tahapannya:
Buat Class Garis

Class ini mengimplementasikan algoritma DDA pada Java untuk


membuat sebuah garis.

import java.awt.Graphics;
public class Garis {

public void Garisku(Graphics g, int x0, int


y0, int x1, int y1) {
int dx, dy, steps;
int x_tambah, y_tambah, x, y;

dx = x1 - x0;
dy = y1 - y0;

if (Math.abs(dx) > Math.abs(dy)) {


steps = Math.abs(dx);
} else {
steps = Math.abs(dy);
}
x_tambah = dx / steps;
y_tambah = dy / steps;
x = x0;
y = y0;

g.fillRect(x, y, 1, 1);
for (int k = 10; k < steps; k++) {
x += x_tambah;
y += y_tambah;

g.fillRect(x, y, 1, 1);
}

}
}
Buat Class PanggilGaris

Ini adalah class Main-nya.

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class PanggilGaris extends JPanel{


@Override
public void paintComponent(Graphics g){

Garis baru = new Garis();


g.setColor(Color.BLACK);
baru.Garisku(g, 100, 200, 300, 200);
baru.Garisku(g, 100, 150, 300, 150);
}

public static void main(String[] args) {


Garis baru = new Garis();
JFrame frame = new JFrame("Gambar Garis");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS
E);
frame.add(new PanggilGaris());
frame.setSize(600, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

}
}
implementasi persamaan umum lingkaran pada bahasa
pemrograman Java.

Buat Class Lingkaran

Class ini berisikan algoritma dari implementasi persamaan umum


lingkaran.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import static java.lang.Math.sqrt;
import javax.swing.JPanel;

public class Lingkaran extends JPanel {

BufferedImage gambar;

int x, y, r;

public Lingkaran(int x, int y, int r) {

this.x = x;
this.y = y;
this.r = r;
CirclePolar(x, y, r);
}
public void CirclePolar(int xc, int yc, int
r){
gambar = new BufferedImage(300, 300,
BufferedImage.TYPE_INT_ARGB);
double x, y;
for(double i = 1.0/r; i <= 2 * Math.PI; i
+= 1.0/r){
y = yc + r * Math.sin(i);
x = xc + r * Math.cos(i);
gambar.setRGB((int) x, (int) y,
Color.black.getRGB());
}repaint();
}

public Dimension getPreferredSize() {


return new Dimension(gambar.getWidth(),
gambar.getHeight());
}

public void paintComponent(Graphics g) {


super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(gambar, null, null);
}
}
Buat Main-nya

import java.awt.Color;
import javax.swing.JFrame;

public class main {


public static void main(String[] args) {
// TODO code application logic here
JFrame frame = new JFrame("Lingkaran");
Lingkaran panel = new
Lingkaran(150,150,100);
frame.add(panel);
frame.pack();
frame.setVisible(true);
frame.setResizable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS
E);
}
}

Anda mungkin juga menyukai