Senin, 17 November 2014

PENDIRIAN USAHA (TUGAS B.INDONESIA)
Latar Belakang
    

       Karena teknologi semakin maju dan semakin canggih saya membuat teknologi seperti robot yang bisa mengecek keadaan sesorang yang lagi sakit secara fisik ,perasaan, dan mental sesorang dengan cara menscan pake teknologi X ray tercanggih,robot ini akan mengupdate ato memeriksa pasien setiap pasien meminta pemeriksaan dan jika pasien puas robot ini akan non aktif sendiri ,dan perusahaan kami akan membuat produk ini secara masal dengan harga yg ekonomis, jadi di masa depan profesi dokter di pakai jika terjadi oprasi2 besar yg tidak dapat dilakukan robot(white Queen).

Tujuan Dari Usaha
 

     Dengan Munculnya Robot (white Queen) akan Mengurangi angka kematian karena keterlambatan medis mengobati pasien ato pasien malas berobat ke dokter,dan memberi kenyamaanan kepada pasien2 yg tidak sempat kerumah sakit/kedokter.

Apa Saja yang di butuhkan
Dalam pendirian usaha ini terdapat beberapa hal yang perlu di sediakan antara lain :

sebuah robot yang di lengkapi teknologi x ray tercanggih Rp 1.500.000 per unit.
sebuah chip yg di lengkapi AI hampir sama dengan kedokteran  RP rahasia perusahaan.
sebuah Batrai yang tahan lama dan dapat di charge kembali Rp 500.000 perunit


JENIS - JENIS KARANGAN


Karangan merupakan karya tulis hasil dari kegiatan seseorang mengungkapkan gagasan dan menyampaikanya melalui bahasa tulis kepada pembaca untuk dipahami. Lima jenis karangan yang umum dijumpai dalam keseharian adalah narasi, deskripsi, eksposisi, argumentasi, dan persuasi.
Jenis-jenis karangan antara lain :
1. Karangan Narasi
Secara sederhana, narasi dikenal sebagai cerita. Pada narasi terdapat peristiwa atau kejadian dalam satu urutan waktu. Di dalam kejadian itu ada pula tokoh yang menghadapi suatu konflik. Kejadian, tokoh, dan konflik merupakan unsur pokok sebuah narasi. Jika ketiga unsur itu bersatu, ketiga unsur itu disebut plot atau alur. Jadi, dapat disimpulkan bahwa narasi adalah cerita yang dipaparkan berdasarkan plot atau alur.
Narasi dapat berisi fakta atau fiksi. Narasi yang berisi fakta disebut narasi ekspositoris, sedangkan narasi yang berisi fiksi disebut narasi sugestif. Contoh narasi ekspositoris adalah biografi, autobiografi, atau kisah pengalaman. Sedangkan contoh narasi sugestif adalah novel, cerpen, cerbung, ataupun cergam.
Pola narasi secara sederhana berbentuk susunan dengan urutan awal – tengah – akhir.

a.       Awal narasi biasanya berisi pengantar yaitu memperkenalkan suasana dan tokoh. Bagian awal harus dibuat menarik agar dapat mengikat pembaca.
b.      Bagian tengah merupakan bagian yang memunculkan suatu konflik. Konflik lalu diarahkan menuju klimaks cerita. Setelah konfik timbul dan mencapai klimaks, secara berangsur-angsur cerita akan mereda.
c.       Akhir cerita yang mereda ini memiliki cara pengungkapan bermacam-macam. Ada yang menceritakannya dengan panjang, ada yang singkat, ada pula yang berusaha menggantungkan akhir cerita dengan mempersilakan pembaca untuk menebaknya sendiri.
Langkah menyusun narasi (terutama yang berbentuk fiksi) cenderung dilakukan melalui proses kreatif, dimulai dengan mencari, menemukan, dan menggali ide. Oleh karena itu, cerita dirangkai dengan menggunakan rumus 5 W + 1 H :
1.      (What) Apa yang akan diceritakan,
2.      (Where) Di mana seting/lokasi ceritanya,
3.      (When) Kapan peristiwa-peristiwa berlangsung,
4.      (Who) Siapa pelaku ceritanya
5.      (Why) Mengapa peristiwa-peristiwa itu terjadi, dan
6.      (How) Bagaimana cerita itu dipaparkan.


Ciri-ciri / karakteristik karangan Narasi :
a.       Menyajikan serangkaian berita atau peristiwa
b.      Disajikan dalam urutan waktu serta kejadian yang menunjukkan peristiwa awal sampai akhir.
c.       Menampilkan pelaku peristiwa atau kejadian
d.      Latar (setting) digambarkan secara hidup dan terperinci


2. Karangan Deskripsi

Karangan Deskripsi ialah karangan yang menggambarkan atau melukiskan sesuatu seakan-akan pembaca melihat, mendengar, merasakan, mengalaminya sendiri.

Ciri-ciri / karakteristik karangan deskripsi :
a.       Menggambarkan suatu objek tertentu
b.      Bertujuan untuk menciptakan kesan atau pengalaman pada diri pembaca agar seolah-olah mereka melihat, merasakan, mengalami atau mendengar, sendiri suatu objek yang dideskripsikan.
c.       Sifat penulisannya objektif karena selalu mengambil objek tertentu, yang dapat berupa tempat, manusia, dan hal yang dipersonifikasikan.
d.      Penulisannya dapat menggunakan cara atau metode realistis (objektif), impresionistis (subjektif), atau sikap penulis 

3. Karangan Eksposisi

Karangan Eksposisi adalah bentuk karangan yang memaparkan, memberi keterangan, menjelaskan, memberi informasi sejelas-jelasnya mengenai suatu hal.
Ciri-ciri/karakteristik karangan Eksposisi
a.                   Menjelaskan informasi agar pembaca mengetahuinya
b.                  Menyatakan sesuatu yang benar-benar terjadi (data faktual)
c.                   Tidak terdapat unsur mempengaruhi atau memaksakan kehendak
d.                  Menunjukkan analisis atau penafsiran secara objektif terhadap fakta yang ada
e.                   Menunjukkan sebuah peristiwa yang terjadi atau tentang proses kerja sesuatu




4. Karangan Persuasi
Karangan Persuasi adalah karangan yang tujuannya untuk membujuk pembaca agar mau mengikuti kemauan atau ide penulis disertai alasan bukti dan contoh konkrit.
Langkah menyusun persuasi:
a.                   Menentukan topik/tema
b.                  Merumuskan tujuan
c.                   Mengumpulkan data dari berbagai sumber
d.                  Menyusun kerangka karangan
e.                   Mengembangkan kerangka karangan menjadi karangan persuasi

5. Karangan Argumentasi
Karangan Argumentasi adalah karangan yang isinya bertujuan meyakinkan atau mempengaruhi pembaca terhadap suatu masalah dengan mengemukakan alasan, bukti, dan contoh nyata.
Ciri-ciri/karakteristik karangan Argumentasi
a.         Berusaha meyakinkan pembaca akan kebenaran gagasan pengarang sehingga kebenaran itu diakui oleh pembaca
b.        Pembuktian dilengkapi dengan data, fakta, grafik, tabel, gambar.
c.         alam argumentasi pengarang berusaha mengubah sikap, pendapat atau pandangan pembaca
d.        Dalam membuktikan sesuatu, pengarang menghindarkan keterlibatan emosi dan menjauhkan subjektivitas
e.         Dalam membuktikan kebenaran pendapat pengarang, kita dapat menggunakan bermacam-macam pola pembuktian

Perbedaan karangan
Secara garis besar perbedaan dari tiap-tiap karangan dalam dilihat dari tujuan karangan tersebut.
Ø  Karangan narasi merupakan karangan yang menceritakan sebuah alur cerita dari awal hingga akhir (alur maju). Dalam sebuah karangan narasi terdapat beberapa jenis alur seperti alur maju, alur mundur, dan alur campuran.
Ø  Karangan deskriptif merupakan karangan yang dibuat dengan tujuan agar pembaca dapat merasakan apa yang di lihat, dengar oleh pengarang.
Ø  Karangan eksposisi merupakan karangan yang ditujukan sebagai sumber informasi yang jelas mengenai suatu hal
Ø  Karangan persuasi merupakan karangan yang dibuat oleh pengarang dengan tujuaan agar pembaca mau mengikuti setiap “pernyataan” yang telah di dasarkan pada bukti nyata.
Sedangkan Karangan Argumentasi adalah karangan yang berisikan seuatu pernyataan –pernyatanan yang telah didukung olehbuki nyata mengenai suatu hal.

1.   Karangan Eksposisi

Mencangkok tanaman
Kali ini saya akan membagi pengetahuan mengenai cara “mencangkok”. Mencangkok adalah salah satu metode dalam mengembangbiakan suatu tanaman. Langkah-langkah yang harus kita lakukan adalah :
a.    Siapkan tanaman yang akan di cangkok
b.    Pada bagian batang tanaman, potong kulit luar tanaman hingga terlihat bagian dalam dari tanaman tersebut
c.    Siapkan tanah yang akan dipakai untuk media tanam
d.   Pada bagian kulit yang terkelupas tadi tutup dengan tanah, dan bungkus dengan plastik (disarankan plastik bening agar dapat melihat akar)
e.    Setelah di bungkus dengan plastik pastikan terdapat lubang udara pada plastik tersebut.
f.     Jika sudah tunggu hingga beberapa bulan, hingga muncul akar pada bagian yang tebungkus plastik tadi.
g.    Jika sudah maka tanaman tadi dapat di ptong pada bagian bawah(dekat dengan bagian yang dibungkus)



2.    Karangan Persuatif
Sistem Pendidikan Indonesia
Sistem pendidikan di Indonesia yang dikembangkan sekarang ini masih belum memenuhi harapan. Hal ini dapat terlihat dari keterampilan membaca siswa kelas IV SD di Indonesia yang berada pada peringkat terendah di Asia Timur setelah Philipina, Thailand, Singapura, dan Hongkong.
Selain itu, berdasarkan penelitian, rata-rata nilai tes siswa SD kelas VI untuk mata pelajaran Bahasa Indonesia, Matematika, dan IPA dari tahun ke tahun semakin menurun. Anak-anak di Indonesia hanya dapat menguasai 30% materi bacaan. Kenyataan ini disajikan bukan untuk mencari kesalahan penentu kebijakan, pelaksana pendidikan, dan keadaan yang sedang melanda bangsa, tapi semata-mata agar kita menyadari sistem pendidikan kita mengalami krisis.

Oleh karena itu, semua pihak perlu menyelamatkan generasi mendatang. Tidak hanya dari pemerintah sebagai penyedia sumber pendidikan, namun yang lebih penting adalah kesadaran dari berbagai pihak. Termasuk anak itu sendiri. Hal tersebut dapat memperbaiki sistem pendidikan nasional

3.    Karangan Narasi
Putri Natasha dan Putri Andine
Suatu hari disebuah kerajaan besar lahirlah seorang putri cantik yang bernama Putri Natasha. Wajahnya sangat cantik dan lucu. Putri Natasha lahir dari pasangan Raja Anthum dan Ratu Aurora. Semua orang sangat bahagia saat kelahiran Putri yang telah ditunggu-tunggu itu. Tepat dihari kelahiran Putri Natasha, didepan pintu gerbang istana terdapat seorang bayi kecil yang tergeletak tak berdaya. Akhirnya karena pihak istana tak tega untuk menyingkirkannya, bayi tersebut kemudian diasuh oleh pihak istana dan diberi nama Putri Andine
Dua tahun telah berlalu, Putri Natasha dan Putri Andine telah berubah menjadi putri-putri yang lucu, mereka telah menjadi seperti saudara kandung sendidri. Raja dan ratu pun senang melihatkeakraban mereka, meskipun mereka belum memberitahukan bahwa Putri Andine bukanlah anak kandung mereka.
Saat menginjak usia 12 tahun, Putri Natasha terlihat lebih cantik daripada Putri Andine. Dan juga Putri Natasha lebih mirip Ratu Aurora. Putri Andine yang ketika itu menyadari bahwa Putri Natasha lebih cantik darinya dan lebih mirip kepada sang Ratu, mempunyai niat tak baik kepada Putri Natasha.
Suatu hari Putri Andine yang telah beniat jahat kepada Putri Natasha mencoba membuat wajah Putri Natasha menjadi buruk rupa dengan menyiramkan air panaas kepada Putri Natasha. Namun sebelum sempat ia mencoba melakukannyaa, niat jahatnyaa telah diketahui oleh Ratu Aurora.
Akhirnya sang Ratu menceritakan mengapa ia tak mirip dengan Ratu Aurora. Putri Andine akhirnyamenyadari dan kembali menjadi baik kepada Putri Natasha. Dan sekarang mereka menjadi putri-putri yang paling dikagumi dinegeri tersebut.



4.    Karangan Deskripsi
Kebakaran
Siang itu keramaian terjadi di perkampungan padat penduduk, orang-orang berlari menyelamatkan diri. Kebakaran terjadi menghanguskan puluhan rumah yang saling berhimpitan. Beberapa warga membantu korban kebakaran memadampak api, anak-anak menangis ketakutan pada ibu-ibu menangis melihat rumah dan harta benda hangus dilalap api. Suara sirine pemadam kebakaran terdengan puluhan petugas memadampakan api yang masih berkobar.

5    Karangan Argumentasi
Kesuburan Tanah
Mempertahankan kesuburan tanah merupakan syarat mutlak bagi tiap-tiap usaha pertanian. Selama tanaman dalam proses menghasilkan, kesuburan tanah ini akan berkurang. Padahal kesuburan tanah wajib diperbaiki kembali dengan pemupukan dan penggunaan tanah itu sebaik-baiknya. Teladan terbaik tentang cara menggunakan tanah dan menjaga kesuburannya dapat kita peroleh pada hutan yang belum digarap petani.Kesuburan tanah sangat berpengaruh terhadap kesuburan tanamanbagi para petani. Tak hanya baik bagi kesuburan tanah tapi juga akan memperbaiki kualitas dari tanaman sehingga akan mampu menghasilkan niali rupiah yang baik bagi petani.

Sabtu, 11 Oktober 2014

Algorimta Pembentukan Garis dan warna

1. TITIK
Titik dalam Grafika Komputer bisa didefinisikan sebagai suatu posisi tertentu dalam
suatu sistem koordinat. Sistem koordinat yang dipakai bisa Polar Coordinates atau
Cartesian Coordinates. Biasanya dalam pemrograman grafis, yang paling umum
digunakan adalah Cartesian Coordinates.
Dalam Cartesian Coordinates, titik didefinisikan sebagai kombinasi dua bilangan yang
menentukan posisi tersebut dalam koordinat x dan y (2D)
Contoh Penerapan
Jika kita ingin menempatkan titik­titik A(2,4), B(1,1), C(4,­1.5), D(­4,­2), E(–4,3)
Kita bisa menggambarkan sebagai berikut:













GAMBAR 1 : TITIK DALAM CARTESIAN COORDINATESAda 2 definisi

koordinat dalam komputer terutama dalam Sistem Operasi Windows, yaitu Screen
Coordinate, dan Cartesian Coordinate, keduanya sering membingungkan. Untuk lebih
jelasnya mari kita lihat gambar berikut:Screen Coordinat es
Cart esian Coordinat es

GAMBAR 2 : PERBEDAAN SCREEN DAN CARTESIAN COORDINATES
Prinsipnya, karena monitor didesain untuk menggambar dari atas ke bawah, maka sumbu
y pada Screen Coordinates dan Cartesian Coordinates berbeda arah, untuk Screen
Coordinates, sumbu Y arahnya ke bawah, sedangkan pada Cartesian Coordinates, sumbu
Y arahnya ke atas. Biasanya dalam rendering pipeline, hal yang terakhir dilakukan
adalah mengkonversi Cartesian Coordinates ke Screen Coordinates.
Dalam Sistem Operasi Linux, koordinat yang dipakai antara Cartesian dan Screen sama,
yaitu Y positif ke atas.
Untuk koordinate 3D, sama dengan 2D, hanya saja ditambah 1 sumbu yaitu sumbu z
(axis­z). Ada beberapa cara untuk menggambarkan sumbu X, Y dan Z, ini. Pertama
dengan sumbu z mengarah ke atas(gambar 3).

GAMBAR 3 : KOORDINAT DENGAN Z MENGARAH KE ATAS
dan koordinat dengan koordinat y mengarak ke atas.X

GAMBAR 4 : KOORDINAT DENGAN Y MENGARAH KE ATAS
2. Garis
Umumnya persamaan garis lurus pada koordinat kartesius diwujudkan dalam
persamaan garis : y=m.x+b
jika dimisalkan pada dua titik(x0,y0 dan x1,y1) akan dibuat sebuah garis lurus, kita dapat
menentukan nilai “m' dan “b” dengan persamaan berikut:
                 
        y1­y0

 m= ______
        x1­x0
 b=   y1­m.x1
algoritma untuk menggambar garis pada komputer didasarkan pada dua persamaan di
atas. dimana m adalah gradien atau kemiringan garis tersebut.
1. Algoritma digital differential analyzer(DDA), 
Prinsip algoritma ini adalah mengambil nilai integer terdekat dengan jalur garis
berdasarkan atas sebuah titik yang telah ditentukan sebelumnya(titik awal garis). 
Algoritma pembentukan garis DDA:
1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2. Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1).
3. Hitung dx=x1­x0, dan dy= y1­y0.4. Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai
x maupun nilai y, dengan cara:
­Bila nilai absolut dari dx lebih besar dari absolut dy, maka langkah= absolut
dari dx.
­Bila tidak maka langkah= absolutdari dy
5. Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan 
y_increment=dy/langkah
6. Koordinat selanjutnya (x+x_increment, y+y_increment)
7. Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut.
8. Ulangi nomor 6 dan 7 untuk menentukan posisi pixel selanjutnya,sampai x=x1
dan y=y1.
Contoh Prosedur DDA dalam pascal:
uses graph,crt;
{tambahkan pada bagian ini prosedur penginisialisasian device,
lihat pada bab 1}
procedure drawLine(xstart,ystart,xend,yend:integer);
var 
step,k:integer;
dx,dy:real;
x_inc,y_inc,x,y:real;
begin
dx:=xend-xstart;
dy:=yend-ystart;
x:=xstart;
y:=ystart;
if abs(dx) > abs(dy) then
step:=round(abs(dx))
else
step:=round(abs(dy));
x_inc:=dx/step;
y_inc:=dy/step;
putPixel(round(x),round(y),30);
for k:=1 to step dobegin
x:=x+x_inc;
y:=y+y_inc;
putPixel(round(x),round(y),30);
end;
end;
begin
 init;
 {menggambar garis dari titik 10,10 ke 500,10}
 drawLine(10,10,500,10);
 readkey;
 destroy;
end.
2. Algoritma garis Bressenham
Tidak seperti Algoritma DDA, Algoritma Bressenham tidak membulatkan nilai
posisi pixel setiap waktu. Algoritma Bressenham hanya menggunakan
penambahan nilai integer yang juga dapat diadaptasi untuk menggambar
lingkaran.
Berikut ini langkah langkah untuk membentuk garis menurut algoritma
Bressenham:
1. Tentukan dua titik yang akan dihubungkan
2. Tentukan salah satu titik di sebelah kiri sebagai titik awal yaitu(x0,y0) dan
titik lainnya sebagai titik akhir(x1,y1).
3. Hitung dx,dy,2dx dan 2dy­2dx.
4. Hitung parameter
p0=2dy­dx
5. Untuk setiap xk sepanjang jalur garis, dimulai dengan k=0,
­ Bila pk < 0, maka titik selanjutnya adalah (xk+1,yk), dan pk+1=pk+2dy­ Bila tidak, maka titik selanjutnya adalah(xk+1, yk+1), dan pk+1=pk+2dy­
2dx.
6. Ulangi langkah nomor 5 untuk menentukan posisi pixel selanjutnya, samapai
x=x1 dan y=y1.
Contoh Prosedur algoritma Bressenham untuk menggambar garis dari titik (10,10)
ke (500,10).
uses graph,crt;
{tambahkan pada bagian ini prosedur penginisialisasian device,
lihat pada bab 1}
procedure DrawBressLine(xa,ya,xb,yb:integer);
var
dx,p,dy,xEnd:integer;
x,y:real;
begin
dx:= abs(xb-xa);
dy:= abs(yb-ya);
p:=2*dy-dx;
if xa > xb then
begin
x:=xb;
y:=yb;
xEnd:=xa;
end
else
begin
x:=xa;
y:=ya;
xEnd:=xb;
end;
putPixel(round(x),round(y),30);
while x < xEnd do
begin
x:=x+1;
if p < 0 thenp:=p+(2*dy)
else
begin
y:=y+1;
p:=p+(2*(dy-dx));
end;
putPixel(round(x),round(y),30);
end;
end;
begin
 init;
 DrawBressLine(10,10,500,10);
 readkey;
 destroy;
end.
4. Algoritma Pembentuk Lingkaran
Secara umum prosedur pembentuk lingkaran dibuat dengan rumus dasar
x2+y2=R2. Terdapat beberapa cara untuk membentuk suatu lingkaran namun tidak
efisien. Lingkaran dapat dibuat dengan menggambarkan seperempat lingkaran karena
bagian lain dapat dibuat sebagai bagian yang simetris.
a. Algoritma Simetris delapan titik
Pada algoritma ini pembuatan lingkaran dilakukan dengan menentukan satu titik
awal. Bila titik awal pada lingkaran(x,y) maka terdapat tiga posisi lain, sehingga
dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya diperlukan
untuk menghitung segmen 45’ dalama menentukan lingkaran selengkapnya.
Dengan titik pusat lingkaran tertentu, delapan titik simetris dapat ditampilkan
dengan prosedur Circle Point Sebagai berikut:
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. Algoritma Lingkaran Midpoint
Algoritma Lingkaran Midpoint juga disebut algoritma lingkaran 
Bressenham. Bressenham mengembangkan generator lingkaran yang cukup efisien.
Algoritma yang digunakan membentuk semua titik berdasarkan titik pusat dengan
penambahan semua jalur sekeliling lingkaran. Algoritma ini diturunkan dari algoritma
Midpoint untuk pembentukan garis. Dalam hal ini hanya diperhatikan bagian 45’ dari
suatu lingkaran, yaitu oktan kedua dari x=0 ke x=R/√2, dan menggunakan CirclePoints
untuk menampilkan titik dari seluruh lingkaran.
Langkah langkah untuk membentuk lingkaran algoritma Circle Midpoint:
1. Tentukan radius r dengan titk pusat lingkaran(xc,yc) kemudian diperoleh
(x0,y0)=(0,r)
2. Hitung nilai dari parameter
P0=5/4­r
3. Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut:
o Bila Pk< 0, maka titik selanjutnya adalah (xk+1,yk))dan 
Pk+1=Pk+2xk+1+1
Bila tidak, maka selanjutnya adalah(xk+1,yk­1), dan Pk+1=Pk+2xk+1+1­
2yk+1
Dimana 2xk+1=2xk+2 dan 2yk+=2yk­2
4. Tentukan titik simetris pada ketujuh oktan yang lain5. 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
6. Ulangi langkah ke­3 sampai 5, sehingga x>=y
Contoh algoritma lingkaran midpoint
Untuk menggambarkan algoritma Bressenham dalam pembentukan suatu
lingkaran dengan titik pusat (0,0) dan radius 10, perhitungan berdasarkan pada oktan dari
kuadran pertama di mana x=0 sampai x=y. Nilai parameter dapat ditentukan dengan 
P0=1­r =1­10=­9
Koordinat titk awal adalah(x,r)=(0,8).
Prosedur algoritma lingkaran midpoint
Input yang digunakan pada prosedur ini adalah koordinat titik pusat dan radius
lingkaran. Posisi pixel ditentukan dengan rutin setPixel.
uses graph,crt;
{tambahkan pada bagian ini prosedur penginisialisasian device,
lihat pada bab 1}
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.
5. Algoritma Pembentukan Elips
Elips merupakan modifikasi dari bentuk lingkaran, dengan memasukkan mayor
dan minor axis pada prosedur lingkaran. Elips ditentukan oleh satu set titik denganmemperhitungkan jumlah jarak dari kedua posisi(foci). Bla jarak ke kedua foci dari
sembarang titik p(x,y) pada elips diberi label d1 dan d2, maka persamaan elips menjadi
d1+d2=konstan
Untuk menggambarkan jarak d1 dan d2 dengan ketentuan koordinat masing masing
F1(x1,y1) dan F2(X2,Y2)
√((x­x1)2+(y­y1)2)2+√((x­x2)2+(y­y2)2=konstan
Dimana mayor dan minor axis elips dalam posisi pararel dengan sumbu x dan sumbu y
pada contoh ini, parameter rx disebut semi major axis dan ry disebut semi minor axis,
sehingga  persamaan elips dengan parameter rx dan ry menjadi
((x­rc)/rx)2 + ((y­yc)/ry)2=1
Algoritma elips Midpoint
Untuk algoritma pembentukan elips, pendekatan yang dilakukan sama dengan
penggunaan pada saat menampilkan lingkaran. Dengan parameter untuk elips pada posisi
standar, yaitu rx, ry, dan(xc,yc). Bila elips ditampilkan pada posisi standar, maka dapat
dilakukan dengan memutar elips tersebut menurun koordinat titik pusat, dan
mendapatkan kembali mayor dan minor axis.
Metode midpoint untuk elips dijalankan pada kuadran pertama dalam dua bagian.
Bagian pertama menrut kemiringan elips rx<ry. Penambahan dengan unit step pada arah
sumbu x dilakukan bila slope lebih kecil dari 1, dan dengan unit step menurut sumbu y
bila kemiringan lebih besar dari 1.
Bagian 1 dan 2 dapat digunakan untuk bermacam macam cara. Pertama dimulai
dari posisi (0,ry) dan step searah jarum jam sepanjang jalur elips pada kuadran pertama.
Pergeseran dengan unit step dalam x pada saat slope lebih besar dari 1.
Alternatif lain, dimulai dari (rx,0) dan seleksi titik dalam arah berlawanan dengan
arah jarum jam. Penggeseran unit step y ke unit step x pada saat kemiringan lebih besar
dari ­1. dengan prosesor pararel, posisi pixel dapat dihitung dalam dua bagian sekaligusPembentukan elips menurut algoritma Circle midpoint sebagai berikut:
1. Tentukan rx,ry dan pusat elips (xc,yc) kemudian diperoleh 
(xo,yo)=(0,ry)
2. Hitung nilai parameter
P10=ry
2
­ rx
2
 ry+1/4 rx
2
3. Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut :
­ Bila p1k< 0 maka titik selanjutnya adalah (xk+1, yk)
p1k+1=p1k+2ry
2
xk+1+ry
2
­ Bila tidak, maka titik selanjutnya adalah (xk+!,yk­1) dan
p1k+1=p1k+2ry
2
xk+1­2rx yk+1+ry
2
dengan 
2ry
2
xk+1=2ry
2
xk +2ry
2
Dan 
2rx yk+1=2rx
2
 yk +2rx
2
Teruskan sampai 2ry
2
x >= 2rx
2
 y
4. Tentukan nilai parameter pada bagian kedua menggunakan titik terakhir (x0,y0)
yang telah dihitung pada bagian pertama, sebagai berikut
P
2
k+1=2ry
2
(xo+1/2)2
+2rx
2
(yo­1)2
­ rx
2
 ry
2
5. Setiap posisi yk pada bagian kedua, dimulai dengan k=0
­ Bila p2k> 0 maka titik selanjutnya adalah (xk, yk­1)
p2k+1=p2k+2rx
2
yk+1+rx
2
­ Bila tidak, maka titik selanjutnya adalah (xk+1,yk­1) dan
p2k+1=pk+2ry
2
xk+1­2rx yk+1+ry
2
6. Tentukan titik simetris pada ketiga kuadran lainnya7. Gerakkan setiap posisi(x,y) pada garis melingkar dari elisp dengan titik
pusat(xc,yc) dan tentukan nilai koordinat
x=x+xc  y=y+yc
8. Ulangi langkah untuk bagian pertama di atas, sehingga 2ry
2
x >= 2rx
2
 y
Contoh algoritma elips Midpoint
Untuk menggambarkan algoritma midpoint dalam pembentukan elips dengan titik
pusat(0,0) dan mayor axis rx=6, serta minor axis ry=8, perhitungan berdasarkan pada
kuadran pertama sebagai berikut:, nilai parameter dapat ditentukan 
2ry
2
x=0
2ry
2
x=2rx
2
 ry
p1o= ry
2
+ rx
2
 ry ­1/4 rx
2
=­215
Koordinat titik awal (x,r) =(0,8)

Prosedur algoritma elips Midpoint
Prosedur berikut menampilkan posisi pixel pada monitor dengan algorima
Midpoint. Input yang digunakan adalah koordinat titik pusat mayor axis, dan minor axis.
Posisi pixel ditentukan dengan rutin setPixel.
uses graph,crt;
{tambahkan pada bagian ini prosedur penginisialisasian device,
lihat pada bab 1}
procedure elipsPlotPoints(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);
end;
procedure elipsMidPoint(xCenter,yCenter,Rx, Ry:integer);
var
Rx2,Ry2,x,y,twoRx2,twoRy2,py,px,p:integer;
begin
Rx2:=Rx*Rx;
Ry2:=Ry*Ry;
x:=0;
y:=Ry;
twoRx2:=2*Rx2;
twoRy2:=2*Ry2;
px:=0;
py:=twoRx2*y;
elipsPlotPoints(xCenter,yCenter,x,y);
//bagian1
p:=round(Ry2-(Rx2*Ry)+(0.25*Rx2));
while px<py do 
begin
x:=x+1;
px:=px+twoRy2;
if p<0 then 
p:= p+(Ry2+px)
else
beginy:=y-1;
py:=py-twoRx2;
p:=p+(Ry2+px-py);
end;
elipsPlotPoints(xCenter,yCenter,x,y);
end;
//bagian 2
p:=round(Ry2*(x+0.5) *(x+0.5)+Rx2*(y-1) *(y-1)-Rx2*Ry2);
while y>0 do
begin
y:=y-1;
py:=py-twoRx2;
if p>0 then
p:=p+(Rx2-py)
else
begin
x:=x+1;
px:=px+twoRy2;
p:=p+Ry2+px-py;
end;
elipsPlotPoints(xCenter,yCenter,x,y);
end;
end;
begin
 init;
 elipsMidPoint(130,120,120,190);
 readkey;
 destroy;
end.
6. Fill area primitive
Terdapat dua dasar pendekatan untuk mengisi area pada raster system. Pertama,
menentukan overlap internal untuk scan line yang melintasi area. Metode lain yaitu
dengan memulai dari titik tertentu pada posisi di dalam polygon dan menggambar
dengan arah menyebar ke pinggir, sampai batas polygon.
1. Algoritma  scan lineTitik potong diurutkan dari kiri ke kanan. Posisi yang berhubungan pada
frame buffer antara sepasang titik potong diberi warna tertentu. Posisi empat
pixel sebagai titik potong antara garis batas polygon ditentukan oleh dua buah
pixel pada koordinat darri x=8 ke x=13  dan dari x=23 ke x=34
2. Algoritma boundary fill. 
Metode ini bermanfaat untuk paket aplikasi grafik interaktif dimana titik
dalam dapat dengan mudah ditentukan. Prosedur boundary fill menerima inout
koordinat suatu titik(x,y), warna isi dan garis batas. Dimulai dari titik (x,y),
prosedur memeriksa posisi titik tetangga, yaitu apakah merupakan warna batas.
Bila tidak, maka titik tersebut digambar dengan warna isi. Proses ini dilanjutkan
sampai semua titik pada batas diperiksa. Prosedur berikut menampilkan metode
rekursif mengisi 4 bidang dengan intensitas pada parameter fill.
procedure boundaryFil( x,y,fill,boundary:integer);
var
current:integer;
begin
current:= getPixel(x,y);
if (current <> boundary) and (current <> fill) then
begin
putPixel(x,y,fill);
boundaryFill(x+1,y,fill,boundary);
boundaryFill(x-1,y,fill,boundary);
boundaryFill(x,y+1,fill,boundary);
boundaryFill(x,y-1,fill,boundary);
end;
end;
3. Algoritma flood fill
Pendekatan lain untuk mengisi suatu bidang polygon adalah algorima
flood fill. Metode ini dimulai pada titik (x,y) dan mendefinisikan seluruh pixel
pada bidang tersebut dengan warna yang sama. Bila bidang yang akan diisiwarna memiliki beberapa warna. Pertama tama yang dibuata adalah membuat
nilai pixel baru, sehingga smua pixel memiliki warna yang sama.  Prosedur
berikut menggambarkan metode flood­fill untuk mengisi warna suatu polygon.
procedure floodFill( x,y,fillColor,oldColor:integer);
begin
if getPixel(x,y) = oldcolor then
begin
putPixel(x,y,fillcolor);
floodFill(x+1,y , fillColor, oldColor);
floodFill(x-1,y , fillColor, oldColor);
floodFill(x,y+1 , fillColor, oldColor);
floodFill(x,y-1 , fillColor, oldColor);
end;
end;




sumber :http://kleq.web.ugm.ac.id/images/Algoritma%20Pembentuk%20Lingkaran.pdf