Anda di halaman 1dari 6

ALGORITMA

PEMBENTUKAN GARIS

1.Dede Heri

2.Atep Suptian

3.M Anggi Rizky

Program Studi Teknik Informatika


Sekolah Tinggi Manajeman Informatika dan Komunikasi (STMIK) Sumedang
ABSTRAK
Penggambaran grafik garis lurus dan kurva memerlukan waktu komputasi yang tinggi, untuk
mereduksi waktu komputasi yang tinggi tersebut dapat dilakukan dengan peningkatan kemampuan
komputasi prosesor dan peningkatan efisiensi algoritma. Algoritma Midpoint merupakan Algoritma
dengan dasar operasi bilangan integer, sehingga memerlukan waktu operasi yanglebih sedikit
dibandingkan dengan algoritma yang menggunakan operasi bilangan riel.Implementasi ke dalam
bahasa pemrograman C dari kedua macam algoritma diatas,
menunjukkan bahwa waktu komputasi algoritma midpoint lebih cepat sebesar 8 kali pada pembuatan
garis lurus, dan lebih cepat sebesar 15 kali pada penggambaran lingkaran, dibandingkan dengan waktu
komputasi algoritma yang menggunakan dasar operasi bilangan riel. Dan waktu komputasi algoritma
midpoint lebih cepat sebesar 6 kali pada pembuatan garis lurus, dibandingkan dengan waktu
komputasi lgoritma yang Breserham telah menggunakan dasar operasi bilangan integer juga.

I.PENDAHULUAN

Garis dibuat dengan menentukan dua endpoint atau posisi awal dan posisi akhir dari suatu
garis. Kemudian peralatan output membuat garis sesuai posisi titik titik tersebut
Garis adalah penghubung antara dua buah titik (titik awal dan titik akhir). Seperti yang kita tahu,
bahwa persamaan garis lurus dinyatakan dalam rumus y=mx+c. Dimana m adalah gradien yang
didapatkan dari hasil pembagian ∆Y dengan ∆X dan c adalah sebuah konstanta. Mulai dari sini kita
coba mulai untuk membahas algortima apa saja yang digunakan dalam pembentukan garis lurus.
Di sini kami menjelaskan beberapa jenis algoritma pembentukan garis,yaitu algoritma DDA
(Digital Differential Analyzer) dan algoritma Bresenham.

II. TINJAUAN PUSTAKA

penelitian Jurnal SarjanaTeknik Informatika Volume 2 Nomor 1, Tahun 2014 e-ISSN: 2338-
5197”Media Pembelajaran Algoritma Garis Dan Lingkaran Berbasis Multimedia” membahas
algoritma DDA,algoritma bresenham, algoritma midpoint dan peneliti membuat media
pembelajaran untuk membantu memudahkan siswa untuk menghitung algoritma garis dan
lingkaran dengan aplikasi multimedia ini.

III. PEMBAHASAN

1. ALGORITMA DDA (Digital Differential Analyzer)

1.1 Pengertian algoritma DDA (Digital Differential Analyzer)


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.

1.2 Langkah- langkah pembentukan garis DDA


● Tentukan koordinat awal dan koordinat akhir, titik awal sebagai (x0,y1) dan titik akhir sebagai
(x1,y1)
● Kemudian hitung nilai ∆x = x0 – x1 dan nilai ∆y = y1 – y0
● Selanjutnya lakukan penetuan jumlah step dari proses penambahan koordinat pembuatan garis
yang akan kita lakukan. Dengan cara yaitu dengan membandingkan nilai dari |∆x| dan |∆y|
● jika |∆y| > |∆x|, maka jumlah nilai step yang diambil sama dengan nilai |∆y|,
● sebaliknya, bila |∆x| > |∆y|, maka nilai step = |∆x|
● Hitung penambahan koordinat (increment) pada setiap sumbu berdasarkan nilai perbandingan
terhadap jumlah step. Misal nilai increment_x = ∆x/step, dan nilai increment_y = ∆y/step.
● penentuan koordinat selanjutnya untuk masing-masing sumbu ditentukan dari nilai x
sebelumnya ditambah nilai increment_x, dan nilai y sebelumnya ditambah nilai increment_y.
● Pada proses penentuan koordinat ini, berlaku sistem pembulatan integer untuk hasil titik
selanjutnya.

1.3 Contoh penerapan pembentukan garis DDA


Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan
titik (10,10) dan (17,16), pertama-tama ditentukan ∆x dan ∆y, kemudian dicari step untuk
mendapatkan x_increment dan y_increment.
Δx = x1 – x 0 = 17-10 = 7
Δy = y1 – y0 = 16 -10 = 6
selanjutnya hitung dan bandingkan nilai absolutnya.
|Δx| = 7
|Δy| = 6
karena |Δx| > |Δy|, maka step = |Δx| = 7, maka diperoleh :
x_inc = 7/7= 1
y_inc = 6/7 = 0,86 .

k X Y x.y

(10,10)

0 11 10,86 (11,11)

1 12 11,72 (12,12)

2 13 12,58 (13,13)

3 14 13,44 (14,13)

4 15 14,3 (15,14)

5 16 15,16 (16,15)

6 17 16,02 (17,16)

Table source by https://robbyyuliardi.files.wordpress.com/2014/DDA


Image source by https://robbyyuliardi.files.wordpress.com/2014/DDA

1.4 Kelemahan algoritma DDA

▪ Hanya dapat digunakan untuk nilai x1<x2 dan y1<y2 atau garis yang berada di kuadran I
▪ Menggunakan pembagian serta pembulatan.
▪ Koordinat layar berlaku seperti matrix artinya kita tidak bisa secara sembarang meletakkan
titik di sembarang tempat biasanya koordinat selalu positif dengan titik, kiri atas adalah
koordinat 0,0, ke arah kanan positif, dan ke arah bawah positif (keduanya semakin
membesar).

2. ALGORITMA BRESENHAM

2.1 Pengertian Algoritma Bresenham

Algoritma Bressenham merupakan algoritma pembentukan garis berdasarkan selisih antara garis yang
diinginkan terhadap setengah ukuran dari pixel yang sedang digunakan.
Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang
menggunakan persamaan (1), dengan cara menggantikan operasi bilangan ril perkalian dengan operasi
penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai
y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu
dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan
yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan
riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan
operasi bilangan riel, terutama pada penambahan dan pengurangan.

2.2 Langkah-langkah pembentukan algoritma Bresenham

● Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.


● Tetukan titik disebelah kiri sebagai titik awal (x1,y1) dan titik lainnya sebagai titik akhir (x2,
y2 ).
● Hitung Dx, Dy, dan 2Dy – 2Dx.
● Hitung parameter pk = 2Dy – Dx.
● Bandingkan if pk < 0 (xk+1, yk) else (xk +1, yk +1).
A < 0 = 2 Dy
B > 0 = 2 Dy - 2Dx

Pk (+) = Pk + B

Pk (-) = Pk + A

2.3 Aturan Bresenham :


Jika Pk bernilai positif (+), maka tambahkan hasilnya dengan B dan nilai x dan y ditambah 1.
Jika Pk bernilai negatif (-), maka tambahkan hasilnya dengan A dan nilai x ditambah 1, sedangkan y
ditambah 0 (tetap).
Putaran dihentikan jika koordinat x dan y sudah mencapai batas akhir.

2.4 Contoh
Hitung posisi pixel hingga membentuk sebuah garis yang menghubungkan titik (10 , 4) dan (16 ,8) !
Jawab :
(x0,y0) = (10,4)
∆x = 16-10 =6 , ∆y = 8-4 =4 , 2∆y = 8 , 2∆y-2∆x= 8-12= -4
p0= 2∆y-∆x = 8-6=2

Cara mencarinya:

k=0
pk = p 0 = 2
2 > 0 maka xk+1,yk+1 = 10+1,4+1 = 11,5
k=1
pk=p0+1=pk+2∆y-2∆x
p1= 2+(-4)= -2
-2 < 0 maka xk+1,yk = 11+1,5 = 12,5
k=2
pk = p1+1 = pk+2∆y
p2 = -2+8 =6
6 > 0 maka xk+1,yk+1 = 12+1,5+1 = 13,6
k=3
pk= p2+1 = pk+2∆y-2∆x
p3= 6+(-4)=2
2 > 0 maka xk+1,yk+1 = 13+1,6+1 = 14,7
k=4
pk= p3+1= pk+2∆y-2∆x
p4= 2+(-4)= -2
-2 < 0 maka xk+1,yk = 14+1,7 =15,7
k=5
pk = p4+1 = pk+2∆y
p5= -2+8=6
6 > 0 maka xk+1,yk+1 = 15+1,7+1 = 16,8

K pk xk+1,yk+1
0 2 11 , 5
1 -2 12 , 5
2 6 13 , 6
3 2 14 , 7
4 -2 15 , 7
5 6

PENUTUP

Dari pembahasan di atas bisa dsimpulkan Algoritma DDA mengambil nilai integer terdekat
dengan jalur garis berdasarkan atas sebuah titik yang telah ditentukan sebelumnya(titik awal garis).
Keuntungan dari algoritma ini adalah tidak perlu menghitung koordinat berdasarkan persamaan yang
lengkap (menggunakan metode offset). Algoritma dengan dasar operasi bilangan integer memberikan
waktu operasi yang lebih cepat dibandingkan dengan algoritma dengan dasar operasi bilangan riel, hal
ini ditunjukkan dengan waktu komputasi algoritma DDA, algoritma Bresenham dan algoritma
Midpoint yang lebih cepat, baik pada pembuatan garis lurus maupun lingkaran dibandingan waktu
komputasi dengan algoritma yang menggunakan dasar operasi bilangan riel. Algoritma midpoint
memberikan waktu operasi tercepat diantara algoritma penggambaran garis lurus yang telah
menggunakan dasar operasi bilangan integer, seperti algoritma DDA, algoritma Bresenham. Jadi
algoritma Midpoint merupakan algoritma yang cocok untuk penggambaran grafik yang menuntut
kecepatan sebagai hal yang diutamakan.

DAFTAR PUSTAKA

http://jurnalinformatika.petra.ac.id/index.php/inf/article/view/15794/15786

http://3ka01-kelompokbermain.blogspot.co.id/2010/10/algoritma-dda-digital-defferential.html

http://azwarni.blogspot.co.id/2013/09/pembetukan-garis-dengan-algoritma.html

Anda mungkin juga menyukai