Implementasi Algoritma Pembentuk Garis Bresenham Dalam Membuat Sebuah Lingkaran
Aliza Kumar, Dicky Purnama
[email protected] [email protected]
ABSTRAK
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.
Tujuan penelitian ini bermaksud untuk mengetahui bagaimana cara kerja dan implementasi sebuah algoritma pembentuk garis pada sebuah proses sehingga tebentuk output yang diinginkan seperti membuat lingkaran dengan menggunakan algoritma pembentuk garis Bresenham.
Kata Kunci: Garis, Algoritma, Algoritma Bresenham.
PENDAHULUAN
Algoritma bresenham merupakan suatu algoritma (pendekatan) yang dikreasikan oleh bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya (seperti DDA). Bagian pengkonversian (scan-konversi) garis akan melakukan kalkulasi untuk penambahan nilai-nilai integer (yang dibutuhkan untuk membentuk garis) yang disesuaikan dengan tipe grafik yang dipakai oleh layar komputer.
TINJAUAN PUSTAKA
Algoritma pembentukan garis adalah dasar dalam bentukan berbagai macam grafis dalam ilmu bidang grafika computer, pembentukan garis dengan algoritma DDA sangatlah sederhana sehingga dipilihlah cara kerja pembentukan lingkaran dengan menggunakan algoritma bresenham.
PEMBAHASAN
Algoritma ini akan mencari titik-titik koordinat dalam membuat sebuah lingkaran, sehingga hal yang perlu kita pahami disini ialah bagaimana mendapatkan titik-titik koordinat tersebut.
Dalam mendapatkan titik-titik koordinat pembentuk lingkaran dengan algoritma bresenham, dikenal sebuah istilah pencerminan yang terdiri dari Pencerminan Diagonal, Pencerminan Vertikal dan Pencerminan Horizontal.
Pada praktiknya, kita hanya perlu mencari titik-titik koordinat pada kuadran 1 saja (0-45º). Dan untuk kuadran selanjutnya dapat menggunakan teknik pencerminan yang telah disebutkan diatas.
Pencerminan Diagonal
Untuk mendapatkan titik-titik koordinat kuadran 2.
Pencerminan Vertikal
Untuk mendapatkan titik-titik koordinat kuadran 3 dan 4.
Pencerminan Horizontal
Untuk mendapatkan titik-titik koordinat kuadran 5, 6, 7 dan 8.
ALGORITMA BRESENHAM
Tentukan jari-jari, pusat lingkaran, dan titik awal
r jari-jari
XC , YC pusat lingkaran
X0 XC
Y0 r
Hitung P1
P1 = 1 – r
Tentukan penambahan oktannya dengan aturan:
Jika P >= 0
Xk = Xk-1 + 1
Yk = Yk-1 – 1
Pk+1 = Pk + 2Xk + 1 – 2Yk
Jika P < 0
Xk = Xk-1 + 1
Yk = Yk-1
Pk+1 = Pk + 2Xk + 1
Lakukan langkah penambahan oktan hingga tercapai keadaan dimana X <= Y
Cari oktan untuk kuadran selanjutnya dengan metode pencerminan titik-titik yang telah didapat.
Untuk kasus lingkaran dengan titik tengah (0, 0)
– Pencerminan diagonal Tukar nilai X dan Y
– Pencerminan Vertikal Nilai Y dikali (–1)
– Pencerminan Horizontal Nilai X dan Y dikali (–1)
IMPLEMENTASI PADA PROSES
Deklarasi Variabel
Membuat prosedur untuk mencari titik-titik koordinat Prosedur untuk Kuadran 1
Prosedur untuk Kuadran 2
Prosedur untuk Kuadran 3 dan 4
Prosedur untuk Kuadran 5, 6, 7 dan 8
Membuat prosedur untuk mencetak titik-titik lingkaran
Membuat prosedur untuk menangani titik pusat selain (0, 0)
Prosedur setup()
Prosedur draw()
HASIL
Output atau hasil dari implementasi algoritma bresenham dapat dilihat sebagai gambar berikut.
PENUTUP
Algoritma bresenham merupakan suatu algoritma (pendekatan) yang dikreasikan oleh bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya (seperti DDA). Bagian pengkonversian (scan-konversi) garis akan melakukan kalkulasi untuk penambahan nilai-nilai integer (yang dibutuhkan untuk membentuk garis) yang disesuaikan dengan tipe grafik yang dipakai oleh layar komputer. Dalam mendapatkan titik-titik koordinat pembentuk lingkaran dengan algoritma bresenham, dikenal sebuah istilah pencerminan yang terdiri dari Pencerminan Diagonal, Pencerminan Vertikal dan Pencerminan Horizontal.
DAFTAR PUSTAKA
[1] LAMELLONG 74 Sipakatau, Sipakalebbi, Sippakainge, ALGORITMA PEMBENTUKAN GARIS (BRESENHAM), http://gustiam74.blogspot.com/2016/04/algoritma-pembentukan-garis-dda-dan.html 19.50, 30 May 2018
[2] Andikafisma's Blog Just another WordPress.com weblog, Algoritma dan Pemrograman, https://andikafisma.wordpress.com/algoritma-dan-pemrograman/ 19.55, 30 May 2018
[3] BLOGGERATIS INDAHNYA BERBAGI, IMPLEMENTASI ALGORITMA BRESENHAM "LINGKARAN", https://bloggeratis.wordpress.com/2015/11/07/implementasi-algoritma-bresenham-lingkaran/comment-page-1/#comment-10 , 12.23 31 May 2018