DISUSUN OLEH :
NPM : 201855201017
KELAS :B
DOSEN : SUSANTO,S.KOM.,MT
FAKULTAS TEKNIK
2019
A. TUJUAN
B. TEORI
DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δx dan Δy,
menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua endpoint
yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis
diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer. Garis
merupakan kumpulan dari titik-titik, untuk membentuk garis lurus adalah dengan
mengetahui titik awal dan titik akhir. Dengan mengetahui titik awal dan titik
akhir maka kita dapat membentuk garis. Untuk menggambarkan proses
pembuatan garis dari titik awal ke titik akhir ada berbagai algoritma. Algoritma
yang umum adalah DDA dan Bresenham.
C. PEMBAHASAN
1) Program
uses wincrt;
var
X1, Y1, X2, Y2, Xpixel, Ypixel, Dx, Dy, Steps, n : integer;
Xinc, Yinc, Xnew, Ynew : real;
Begin
writeln('Nama : Riski Pangestu');
writeln('NPM : 201855201017');
writeln;
write('Masukan Nilai X awal : '); readln(X1);
write('Masukan Nilai Y awal : '); readln(Y1);
write('Masukan Nilai X akhir : '); readln(X2);
write('Masukan Nilai Y akhir : '); readln(Y2);
writeln;
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~');
Dx := X2 - X1;
Dy := Y2 - Y1;
If Abs(Dx) > Abs(Dy)Then
Steps := Abs(Dx)
Else
Steps := Abs(Dy) ;
Xinc := Dx / Steps ;
Yinc := Dy / Steps ;
Xnew := X1;
Ynew := Y1;
Begin
writeln(' X awal = ',X1,' ',' Y Awal = ',Y1,'');
for n := 1 to Steps do
begin
Xnew := Xnew + Xinc;
Ynew := Ynew + Yinc;
Xpixel := round(Xnew);
Ypixel := round(Ynew);
writeln('Pixel ke-',n,' ',' adalah X = ',Xpixel, ' Y = ',Ypixel,'');
End;
End;
n := n + 1;
readln;
End.
2) Output
Pada program pembentukan garis menggunakan algoritma DDA ini, pertama
user diminta untuk memasukan Nilai X awal, Nilai Y awal, Nilai X akhir,
dan Nilai Y akhir dimana nilai tersebut akan dijadikan nilai pada titik awal
(x,y) dan nilai pada titik akhir (x,y). Pencarian nilai selisih antara titik awal
dan titik akhir menggunakan perintah Dx := X2 - X1; dan Dy := Y2 - Y1;.
Kemudian menentukan nilai steps dengan kondisi if, jika kondisi
(AbsDx)>(AbsDy) bernilai benar maka steps bernilai Abs(Dx) sedangkan
jika bernilai salah maka steps bernilai Abs(Dy). Selanjutnya program akan
berhenti jika nilai X sesuai dengan nilai pada X akhir dan nilai Y sesuai
dengan Y akhir, sesuai dengan yang diinputkan sebelumnya.
D. KESIMPULAN
Algoritma DDA dapat digunakan untuk pembentukan garis sesuai dengan
perhitungan Δx dan Δy. Garis dapat dibuat dengan menentukan titik awal dan
titik akhir. Algoritma DDA juga meggunakan hasil bagi dari bilangan real yang
kemudian di tambahkan pada titik awal dan dibulatkan, sehingga perulangan
akan terus berjalan dari titik awal sampai titik akhir yang sudah diinputkan.