Selasa, 29 Maret 2011

Algoritma Pembentuk Lingkaran

Algoritma adalah algortitma yang digunakan untuk pemorgraman grafis yang terdiri dari titik-titik yang terhubung dan dihubungkan.
Disini saya ingin mencoba menjelaskan sedikit tentang algoritma pembentuk lingkaran.
Secara umum, pembentukan lingkaran dapat dirumuskan sebagai berikut : x2+y2=R2. Dalam membentuk sebuah lingkaran terdapat beberapa cara, hanya bayka pula yanng tidak efisien.
Lingkaran dapat dibentuk dengan mengggambar seperempat, ini karena bagian lain dapat dibuat sebagai bagian yang simetris.
a)      Algoritma simetris delapan titik.
Disini pembuatan lingkaran dapat dilakukan dengan menentukan satu titik awal. Anggaplah satu titik awal tersebut (X, y), maka akan terdapat tiga posisi lain, sehingga dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya perlu menghitung segmen 45’ dalam menentukan keseluruhan lingkaran. Lewat pusat titik tertentu, delapan titik simetris dapat ditampilkan dengan prosedur circle point dibawah ini:
procedure CirclePoints(x, y, value:integer);
begin
putPixel(x,y,value);
putPixel(-x,y,value);
putPixel(x,-y,value);
putPixel(-x,-y,value);
putPixel(y,x,value);
putPixel(-y,x,value);
putPixel(y,-x,value);
putPixel(-y,-x,value);
end;
b)      Algritma lingkaran midpoint
Disebut juga sebagai algoritma lingkaran bressenham. Bressenham mengembangkan generator lingkaran yang cukup efisien. Algoritma yang digunakan membentuk semua titik menurut titik pusat dengan penambahan jalur sekeliling lingkaran. Algoritma ini  diturunkan dari algoritma midpoint pembentukan garis. Disini hanya diperhatikan bagian 45’ dari suatu lingkaran, yaitu oktan kedua dari  dan menggunakan circle point untuk menampilkan titik dari seluruh lingkaran
Langkah-langkahnya adalah
·         Tentukan radius r dengan titk pusat lingkaran (xc,yc) kemudian diperoleh  (x0, y0)=(0,r)
·         Hitung  nilai dari parameter P0=5/4-r
·         Tentukan nilai awal k=0, untuk setip posisi xk berlaku sebagai berikut :
o   Bila Pk<0, maka titik selanjutnya adalah (xk+1.yk-1), dan Pk+1=Pk+2Xk+1+1-2yk+1
Dimana 2yk+1=2xk+1+2  dan 2yk+=2yk+2
·         Tentukan titik simetris pada ketujuuh oktan yang lain
·         Gerakkan setiap posisi pixel (x,y) pada garis melingkar dari lingkaran dengan titik pusat (xc,yc) dan tentukan nilai koordinat :
X=x+xcy=y+yc
·         Ulangi langkah ke-3 sampai 4, sehingga x>=y

Untuk menggambarkan algoritma ini, pembentukan suatu lingkaran denga titik pusat (0,0) dan radius, perhitungan berdasarkan pada oktan kuadaran pertama di mana x=0 sampai x=y. nilai parameter dapat ditentukan dengan P0=1-r=1-10=-9

 Prosedur Algoritma Lingkaran Midpoint
Input yang digunakan pada prosedur ini adalah koordinat  titik pusat dan radius lingkaran. Posisi pixel ditentukan dengan setPixel.
uses graph,crt;

procedure circlePlotPoints(xCenter,yCenter,x,y:integer);
begin
putPixel(xCenter+x, yCenter+y,30);
putPixel(xCenter-x, yCenter+y,30);
putPixel(xCenter+x, yCenter-y,30);
putPixel(xCenter-x, yCenter-y,30);
putPixel(xCenter+y, yCenter+x,30);
putPixel(xCenter-y, yCenter+x,30);
putPixel(xCenter+y, yCenter-x,30);
putPixel(xCenter-y, yCenter-x,30);
end;
procedure circleMidPoint (xCenter,yCenter,radius:integer);
var
x,y,p:integer;
begin
x:=0;
y:=radius;
p:=1-radius;
circlePlotpoints(xCenter,yCenter,x,y);
while x<y do
begin
x:=x+1;;
if p<0 then
p:=p+(2*x+1)
else
begin
y:=y-1;
p:=p+(2*(x-y)+1);
end;
end;
circlePlotPoints(xCenter,yCenter,x,y);
end;
begin
init;
circleMidPoint(100,100,90);
readkey;
destroy;
end.


Rabu, 16 Maret 2011

IMMATURE

hei, aku letih, ,
penat menjalar betis ku, tak sanggup
bayang hitam menyelimuti pikiranku, terbuka dan tertutup
bila gelap ini masih datang, aku pun masih tertunduk
tak sanggup wajah ini menatap dunia, kian memburuk
entah apa yang kan ku pijak, surga,  neraka, atau ilusi
semua ini berlalu dengan  cepat, cinta datang dan pergi
seakan aku ini sampah tak berarti
malaikat kecil membawakan ku peniti
inginkan ku menutup kebodohanku, lalu pergi
sebuah mahakarya tuhan yang mungkin kan ku jadikan pijakan
tatanan dunia yg begitu menyesatkan,  aku tertipu
ku kira, langkah ku takkan bisa lebih lurus lagi,
nyatanya, aku hanya berputar dalam dunia kekanak-kanakan pagi
mengira matahari tak pernah terbenam, aku salah
aku terlalu bodoh untuk sebuah jiwa yga terlalu suci
mengira ku ini adalah dewa
aku hanya keledai bodoh yg terjepit hidungnya
terpontang panting dibawa arah dunia
tak terpijak, bahkan sebagai terlemah
lambaikan tangan selamat tinggal
tetap seperti ini, kepala ini kan terpenggal
takluk pada dominasi nafsu yang memang begitu adanya
mendominasi yang mendominasi
hingga akhirnya, aku mati
tetap tak berarti

Rabu, 09 Maret 2011

Teriakan Gadisku

sebuah tanya hanya berjalan dari satu hati, ke hati yang lain.
saat ku menyadari, aku kini sendiri,
terikat di tengah dunia yang "tampak" adil,
pijakan ku merapuh, jatuh, maka aku pun mati,
tenggelam dalam munafiknya manusia-manusia kaya
sebuah tawa yang menari,
diantara luka-luka anak bangsa
anak bangsa yang tertindas oleh "adil"-nya dunia
coba tengok, disana ku temukan senyum yang mati
seorang gadis terluka hati
terinjak janji SETAN yang menggiurkan
salahkan Ia?
sebuah api yang mengharap kehadiran angin ketika ia hampir padam,
ku bilang, bangsa ini merdeka, ketika masih banyak penindasan
ku bilang, bangsa ini merdeka, ketika suap menyuap menjadi kebudayaan
ku bilang, bangsa ini merdeka,
benar merdeka, ketika orang kaya menari dengan menancap paku derita,
di jantung anak bangsa,gadis terluka hati, menangis dalam tawa
ini hanya keluhanku, takkan didengar mereka yang tuli.
ini sebuah cacianku, yang takkan berarti buat mereka yang kaya
dunia ditangan mereka, dan kami di tangan NERAKA
lihat, gadis terluka hati, berteriak pun hatinya tetap telah mati
prostitusu jiwa yang biadab merenggut bahagianya.
tawa itu kini kenangan, kobar dendam kini menyala,
dalam kepalaku, dalam hatiku, selamanya kepada mereka
ini hanya puisi, kalau kalian ingin menyebutnya begitu
tulisan sunyi anak bangsa tertindas,
teraniaya,  karena bukan siapa-siapa
bukan anak Gusti Paduka Raja
bukan Bangsawan,
bukan kaya,
lihat dia, gadis itu menangis, bukan anak Gusti Paduka Raja
dan ku bilang, bangsa ini merdeka, bukan untuk kami
Anak Bangsa Tertindas

February, 1, 2011
[R.Sastro]

tulisan hati

matahari telah terbit, terlalu pagi, ,
hangat yang seakan memaksaku ku tu berdiri,
sebuah tulisan langit yang menjadi tumupuan setiap hati
adakah jalan tuk bisa berlari sebebas diri mu menjadi ?
aku terlalu dini tuk mengerti,
namun tak ada waktu buatku untuk tak perduli
kenyataan menjadikanku tak berarti, ,
dunia membuat ku seakan seorang napi, ,
sungguh, matahari telah terbit, terlalu pagi,
terlalu pagi hari ini,
mempersingkat usiaku, walau sebenarnya hanya ilusi
seperti berjalan menapaki bukit tertinggi,
semua selalu menanjak, terjal, jatuh mati
adakah sudah yang membimbing tubuh ini
teriakan jiwa tak akan didengar langit pagi, ,
hingga akhirnya, kau mati

sedianya ada bidadari menyapaku,
raih tangan ku yang mulai renta dimakan waktu
arahkan langkahku menuju jiwa baru,
tak perduli terlambat bagiku, semua ini hanya untukmu
hanya inginkan kebahagiaanmu, bukan merebut maksudku,
hanya saja, aku adalah manusia yang membenci muna, kaku
aku hanya ingin segalanya bahagia bagi mu, sepanjang waktu
sedianya bidadari datang, mencium lembut bibirku.
merengkuh lembutnya matahari pagi, sebelum malam mulai membawa tabu
hitam, gelap, pekat, dan kelam, seperti duniaku dulu
ketika ku masih dalam rahim ibu

hanya bahagia, sebuah ukiran senyum manis di wajah cantik itu
karena itulah tujuan Tuhan menciptakan aku.