Anda di halaman 1dari 5

LAPORAN KOMPUTER GRAFIK

ALGORITMA DDA (DIGITAL DEFFERENTIAL ANALYZER)

DISUSUN OLEH :

NAMA : RISKI PANGESTU

NPM : 201855201017

KELAS :B

DOSEN : SUSANTO,S.KOM.,MT

UNIVERSITAS MUSAMUS MERAUKE

FAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKA

2019
A. TUJUAN

Tujuan di tulisnya laporan praktikum Algoritma DDA (Digital Defferential


Analyzer) yaitu :
1) Agar mahasiswa lebih memahami proses pembentukan garis dengan
menggunakan algoritma DDA.
2) Mahasiswa dapat menerapkan algoritma DDA ke dalam bahasa pemograman
pascal.
3) Untuk memenuhi tugas dalam mata kuliah computer grafik.

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.

Berikut ini adalah algoritma DDA:


1) Tentukan 2 buah titik.
2) Tentukan yang menjadi titik awal (X0,Y0) dan titik akhir (X1,Y1).
3) Hitung Dx dan Dy
 Dx = X1-X0 dan Dy = Y1 – Y0
4) Bandingkan Abs(Dx) dan Abs(Dy)
 Jika Abs(Dx) > Abs(Dy) maka
 Steps = Abs(Dx) bila tidak Steps = Abs(Dy)
5) Hitung penambahan koordinat pixel, yaitu:
 X_increment = dx/steps, dan
 Y_increment = dy/steps.
6) Koordint selanjutnya, yaitu
 X+X_increment
 Y+Y_increment
7) Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut.
8) Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y = Y1

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.

Anda mungkin juga menyukai