Anda di halaman 1dari 26

APLIKASI GRAFIKA KOMPUTER

MENGGUNAKAN JAVA

Tugas Mata Kuliah


GRAFIKA KOMPUTER
KELAS C

Oleh:
1. Muhammad Agil Suyuti 123200109
2. Wayan Danu Tirta 123200025

JURUSAN INFORMATIKA
FAKULTAS TEKNIK INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”
YOGYAKARTA
2022
KATA PENGANTAR

Dengan penuh rasa syukur, kami mengucapkan terima kasih kepada Allah Swt. yang telah
melimpahkan rahmat dan petunjuk-Nya sehingga kami dapat menyelesaikan laporan project akhir
kami yang berjudul "Grafika Komputer dan Multimedia: Aplikasi Editing dengan Java". Laporan
ini ditujukan untuk meningkatkan pemahaman dan juga dapat dijadikan contoh bagi pembaca
dalam membangun aplikasi editing menggunakan bahasa pemrograman Java.

Kami juga ingin mengucapkan terima kasih yang sebesar-besarnya kepada Bapak Frans Richard
Kodong, S.T., M.Kom, selaku Dosen Pengampu Grafika Komputer dan Multimedia yang telah
memberikan tugas akhir ini kepada kami. Bapak Frans Richard Kodong telah memberikan
bimbingan dan pengetahuan yang sangat berharga sesuai dengan bidang studi yang kami tekuni.

Namun, kami sadar bahwa tugas yang telah kami kerjakan ini masih memiliki kekurangan dan
jauh dari kata sempurna. Oleh karena itu, kami sangat mengharapkan kritik dan saran yang
membangun guna meningkatkan kualitas tugas dan laporan kami di masa yang akan datang.

Dengan kesadaran ini, kami berkomitmen untuk terus belajar dan memperbaiki diri agar dapat
menghasilkan karya yang lebih baik di bidang Grafika Komputer dan Multimedia. Terima kasih
atas perhatian dan dukungan yang diberikan kepada kami selama penyusunan laporan ini.
DAFTAR ISI

BAB I TEORI DASAR …………………………………………………………….


I.1 Pendahuluan…………………………………………………………….
1.1.1 Pengertian …………………………………………………….

I.2 Sistem Grafika…………………………………………………………..


1.2.1 Teknologi Display………………………………………………
1.2.2 Raster-Scan System……………………………………………..
1.2.3 Random-Scan System……………………………………………
1.2.4 Peralatan input interaktif…………………………………………

I.3 Output Primitif……………………………………………………………


1.3.1 Titik dan Garis…………………………………………………..
1.3.2 Algoritma Pembentukan Garis …………………………………
1.3.3 Algoritma Pembentukan Lingkaran dan elipse …………………
1.3.4 Fill Area Primitif…………………………………………………

I.4 Atribut Output Primitif ………………………………………………….


1.4.1 Atribut Titik ……………………………………………………..
1.4.2 Atribut Kurva dan Garis…………………………………………
1.4.3 Warna dan Grayscale……………………………………………

I.5 Transformasi Dua Dimensi………………………………………………


1.5.1 Translasi………………………………………………………….
1.5.2 Rotasi…………………………………………………………….
1.5.3 Skala …………………………………………………………….
1.5.4 Matriks Transformasi…………………………………………….

BAB II PERANCANGAN APLIKASI………………………………………………


2.1 Perancangan Menu………………………………………………………..
2.2 Perancangan Antar Muka Pengguna…………………………………….

BAB III IMPLEMENTASI PROGRAM………………………………………………


3.1 Perangkat Keras yang Digunakan………………………………………..
3.2 Perangkat Lunak yang Digunakan……………………………………….
3.3 Tampilan dan Modul Program……………………………………………

BAB IV KESIMPULAN DAN SARAN……………………………………………….


4.1 Kesimpulan…………………………………………………………………
4.2 Saran………………………………………………………………………..

DAFTAR PUSTAKA………………………………………………………………………
BAB I

TEORI DASAR

1.1. Pendahuluan
1.1.1 Pengertian
Grafika komputer merupakan bidang studi yang berfokus pada pengembangan teknik dan
metode untuk meningkatkan dan memfasilitasi komunikasi antara manusia dan mesin,
khususnya komputer. Tujuan utamanya adalah menghasilkan, menyimpan, dan memanipulasi
gambar serta model objek menggunakan teknologi komputer.

Dalam grafika komputer, terdapat berbagai teknik dan pendekatan yang digunakan untuk
merepresentasikan dan memanipulasi data gambar. Hal ini melibatkan penerapan konsep dan
prinsip ilmu komputer dan matematika, seperti geometri, aljabar linear, analisis numerik,
transformasi, pemodelan matematis, dan algoritma.

Perkembangan teknologi saat ini telah membawa gambar-gambar yang dihasilkan oleh
grafika komputer menjadi bagian integral dalam kehidupan sehari-hari. Contohnya, gambar-
gambar tersebut dapat ditemukan dalam televisi, koran, majalah, permainan video, film
animasi, desain produk, arsitektur, dan banyak lagi. Tujuan dari penggunaan grafika komputer
dalam konteks ini adalah untuk menciptakan hasil yang lebih komunikatif, menarik, dan
realistis bagi pengguna.

Visualisasi data merupakan salah satu aplikasi yang signifikan dalam grafika komputer.
Data dalam bentuk numerik atau abstrak diubah menjadi representasi grafis yang lebih intuitif,
seperti grafik 2D atau 3D yang dilengkapi dengan animasi. Dengan menggunakan grafika
komputer, data kompleks dapat disajikan secara visual sehingga memudahkan pemahaman,
analisis, dan interpretasi.

Selain itu, grafika komputer juga melibatkan penelitian tentang metode sintesis konten
visual yang realistis. Hal ini mencakup pembangkitan gambar objek yang mirip dengan kondisi
dan situasi yang ada, termasuk pencahayaan, tekstur, shading, efek visual, dan simulasi fisika.
Tujuan utamanya adalah menghasilkan gambar yang memadai secara visual dan memenuhi
kebutuhan aplikasi tertentu, seperti perancangan produk, pembuatan film, simulasi kecelakaan,
dan visualisasi arsitektur.

Penting untuk dicatat bahwa grafika komputer bukanlah disiplin ilmu yang berdiri sendiri,
melainkan menggabungkan konsep dan metode dari berbagai bidang ilmu. Ilmu matematika
memberikan landasan untuk representasi dan transformasi geometri, sedangkan ilmu
komputasi dan algoritma memungkinkan komputer untuk melakukan manipulasi gambar
dengan cepat dan efisien.

Secara keseluruhan, grafika komputer berperan penting dalam menciptakan hubungan


antara manusia dan mesin melalui visualisasi dan komunikasi gambar. Dengan memanfaatkan
teknologi dan pendekatan yang terus berkembang, grafika komputer terus menjadi bidang
penelitian yang menarik dan aplikatif di berbagai industri dan sektor kehidupan

1.2. Sistem Grafika


1.2.1. Teknologi Display
Dalam sejarah perkembangan grafika komputer, penting untuk menyadari bahwa
kemajuan dalam teknologi display juga berperan penting. Teknologi display berperan
sebagai alat output yang memungkinkan hasil grafis dapat dinikmati oleh manusia.
Salah satu teknologi display yang paling populer dan banyak digunakan saat ini adalah
LCD (Liquid Crystal Display).

Teknologi LCD telah ada sejak beberapa tahun yang lalu dan terus mengalami
perkembangan yang signifikan. Inovasi yang konsisten dalam teknologi ini telah
menghasilkan banyak produk baru dengan kualitas tampilan yang semakin baik.
Awalnya, teknologi LCD hanya mampu menampilkan segmen angka sebagai bentuk
tampilan. Namun, kemudian dikembangkan sistem dot-matrix yang memungkinkan
tampilan karakter dan grafik.
Dalam perkembangannya, teknologi display LCD melampaui tampilan monokrom
dan berkembang menjadi tampilan berwarna. Selain itu, tampilan LCD juga telah
berevolusi dari gambar stasioner menjadi kemampuan menampilkan gambar bergerak.
Selain itu, ukuran layar LCD juga berkembang dari ukuran kecil hingga mencakup
layar besar.

Perkembangan unjuk kerja tampilan (display) dapat dilihat dari evolusi ini.
Awalnya, display hanya dapat menampilkan angka, tetapi seiring waktu, kemampuan
untuk menampilkan karakter, grafik, dan gambar menjadi mungkin. Saat ini, display
LCD dapat menghasilkan citra bergerak yang semakin realistis dan menampilkan
warna yang kaya. Kemajuan teknologi display ini memungkinkan pengguna untuk
menikmati pengalaman visual yang lebih memukau dan mengesankan.

Secara keseluruhan, perkembangan teknologi grafika komputer tidak dapat


dipisahkan dari perkembangan teknologi display. Inovasi dalam teknologi display,
khususnya teknologi LCD, telah mengubah cara kita melihat dan berinteraksi dengan
hasil grafis. Dari tampilan segmen sederhana hingga tampilan berwarna yang dinamis,
teknologi display terus memainkan peran penting dalam memperkaya pengalaman
visual yang dapat kita nikmati melalui grafika komputer.
1.2.2. Raster-Scan System
Pada jenis ini pancaran elektron bergerak ke seluruh layar baris per baris dari atas
ke bawah. Pada saat pancaran elektron bergerak pada tiap baris, intensitas pancaran
timbul dan hilang untuk mendapatkan sinar spot. Definisi gambar disimpan dalam
memori yang disebut refresh buffer atau frame buffer.
Refreshing pada raster-scan display mempunyai nilai 60 sampai 80 frame per detik.
Kembalinya scan pada bagian kiri layar setelah refreshing tiap scane line disebut
horizontal retrace. Sedangkan pada akhir dari tiap frame (1/80 sampai 1/60 tiap detik)
pancaran elektron yang kembali ke atas disebut vertical retrace.
1.2.3. Random-Scan System
Saat menggunakan perangkat random-scan display, elektron dipancarkan secara
selektif hanya ke bagian layar di mana gambar sedang dibuat. Monitor random-scan
yang hanya mampu menggambar satu garis pada satu waktu dikenal sebagai vector
display, stroke writing, atau calligraphic display.

Refresh rate pada random-scan display bergantung pada jumlah garis yang
ditampilkan. Definisi gambar disimpan sebagai satu blok perintah line drawing yang
disebut sebagai refresh display file. Untuk menampilkan gambar tertentu, setelah
semua perintah gambar diproses, siklus sistem kembali ke perintah garis pertama.
Sistem random-scan dirancang untuk membuat semua komponen garis gambar dengan
kecepatan antara 30 hingga 60 gambar per detik. Sistem dengan kualitas tinggi mampu
mengatasi hingga 100.000 garis pendek dalam setiap proses refreshing.

Dalam random-scan display, pancaran elektron yang diarahkan secara selektif


memungkinkan pembentukan gambar yang presisi. Dalam monitor vector display,
garis-garis gambar dibuat secara berurutan, satu per satu, mengikuti perintah yang telah
ditentukan. Hal ini memberikan kemampuan untuk menggambar gambar dengan
presisi tinggi, dengan kontrol yang lebih detail terhadap setiap garis yang terbentuk.

Refresh rate pada random-scan display juga penting untuk memastikan gambar
tetap tampil dengan lancar dan tidak terlihat berkedip. Dengan kecepatan refresh yang
mencapai puluhan hingga ratusan gambar per detik, perangkat random-scan display
dapat menghasilkan gambar yang tampak mulus dan bebas dari efek gangguan visual.

Perkembangan teknologi juga telah memungkinkan random-scan display dengan


kualitas yang semakin tinggi. Kualitas visual yang lebih baik dan kemampuan untuk
menangani jumlah garis yang lebih besar dalam setiap proses refreshing
memungkinkan tampilan yang lebih halus, detail, dan realistis.
Dalam keseluruhan, perangkat random-scan display telah menghadirkan
kemampuan untuk menggambar gambar dengan presisi tinggi dan memberikan
pengalaman visual yang mulus. Dengan refresh rate yang optimal dan kemampuan
untuk mengatasi jumlah garis yang lebih besar, random-scan display terus mengalami
perkembangan untuk memberikan kualitas tampilan yang semakin baik dan
memuaskan.
1.2.4. Peralatan Input Interaktif
Peralatan input interaktif merupakan perangkat yang berfungsi sebagai unit
masukan/ unit input, sehingga berperan untuk menerima data masuk untuk di proses di
dalam komputer. Unit masukan atau peralatan input ini terdiri dari beberapa macam
peranti yaitu :
a. Keyboard
Keyboard merupakan salah satu perangkat pada komputer yang berisi berbagai
susunan huruf, angka dan fungsi kontrol lainnya. Keyboard memiliki fungsi utama
yaitu memasukkan suatu data atupun perintah pada komputer, atau sering disebut
juga perangkat input.
b. Touchpad
Touchpad adalah sebuah perangkat keras yang masuk dalam kategori perangkat
input. Touchpad terdiri dari papan dengan permukaan yang dilapisi dengan sensor
khusus yang mampu mendeteksi gerakan jari. Gerakan jari ini akan direkam oleh
sensor pada touchpad untuk diterjemahkan menjadi bahasa perintah khusus,
sehingga dapat digunakan untuk menjalankan pointer pada layar monitor.
Touchpad secara fungsi digunakan untuk menggantikan fungsi mouse yang
membutuhkan space atau ruang gerak yang kecil, khusus untuk anda yang memiliki
ruang gerak sedikit.
c. Mouse
Mouse adalah salah satu hardware komputer yang menerima input-an berupa
gerakan, tekanan tombol (click), dan penggulungan (scroll) yang dapat digunakan
untuk memilih teks, ikon, file, dan folder. Mouse dalam Bahasa Indonesia
diterjemahkan sebagai “tetikus”. Dikatakan demikian karena memang bentuk
device ini menyerupai tikus yang kecil meruncing di depan dan menggembung
besar di bagian belakang.

d. Scanner
Scanner adalah sebuah alat yang dapat berfungsi untuk meng-copy atau menyalin
gambar atau teks yang kemudian disimpan ke dalam memori komputer. Dari
memori komputer selanjutnya, disimpan dalam harddisk ataupun floppy disk.
Fungsi scanner ini mirip seperti mesin fotocopy, perbedaannya adalah mesin
fotocopy hasilnya dapat dilihat pada kertas sedangkan scanner hasilnya dapat
ditampilkan melalui monitor terlebih dahulu sehingga kita dapat melakukan
perbaikan atau modifikasi dan kemudian dapat disimpan kembali baik dalam
bentuk file text maupun file gambar. Selain scanner untuk gambar terdapat pula
scan yang biasa digunakan untuk mendeteksi lembar jawaban komputer.

e. Microphone
Unit masukan ini berfungsi untuk merekam atau memasukkan suara yang akan
disimpan dalam memori komputer atau untuk mendengarkan suara. Dengan
mikropon, kita dapat merekam suara ataupun dapat berbicara kepada orang yang
kita inginkan pada saat chating. Penggunaan mikropon ini tentunya memerlukan
perangkat keras lainnya yang berfungsi untuk menerima input suara yaitu sound
card dan speaker untuk mendengarkan suara.

1.3. Output Primitif


1.3.1. Titik dan Garis
Pembentukan titik dalam grafika komputer melibatkan konversi posisi titik koordinat
menjadi operasi tertentu menggunakan program aplikasi dan menghasilkan output.
Dalam sistem random-scan (vektor), instruksi pembentukan titik disimpan dalam daftar
tampilan (display list), dan nilai koordinat menentukan posisi pancaran elektron ke
lapisan fosfor pada layar. Dengan demikian, titik dapat dibentuk dengan menentukan
posisi koordinat tertentu pada layar.
Sementara itu, pembentukan garis melibatkan penentuan posisi titik antara titik awal
dan titik akhir garis. Dengan mengidentifikasi koordinat dari kedua titik tersebut,
program aplikasi dapat menghasilkan instruksi untuk menggambar garis tersebut.
Ketika instruksi tersebut dieksekusi, sistem akan mengarahkan pancaran elektron
sesuai dengan posisi titik-titik yang telah ditentukan, menghasilkan garis yang
terbentuk antara kedua titik tersebut.

Dengan demikian, baik pembentukan titik maupun garis dalam grafika komputer
melibatkan penentuan posisi koordinat tertentu pada layar. Proses ini dapat dilakukan
melalui program aplikasi yang menghasilkan instruksi yang sesuai, dan sistem random-
scan (vektor) akan mengarahkan pancaran elektron untuk membentuk titik atau garis
sesuai dengan instruksi tersebut.
1.3.2. Algoritma Pembentukan Garis
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.
a. Algoritma 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.
b. Algoritma 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+2dy2dx.
6. Ulangi langkah nomor 5 untuk menentukan posisi pixel selanjutnya,
sampai x=x1 dan y=y1.

1.3.3. Algoritma Pembentukan Lingkaran dan Elipse


a. 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 bagianyang simetris.
1) Algoritma Simestris Delapan Titik
Pada algoritma ini pembuatan lingkaran dilakukan dengan menentukan satu
titikawal. 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.
2) 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:
- 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 lain
5. 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 Lingkaran MidPoint.
b. Elips
Elips merupakan modifikasi dari bentuk lingkaran, dengan memasukkan mayor dan
minor axis pada prosedur lingkaran. Elips ditentukan oleh satu set titik dengan
memperhitungkan jumlah jarak dari kedua posisi(foci). Bila 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.
Pembentukan 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=ry2rx2 ry+1/4 rx2
3. Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut :
- Bila p1k< 0 maka titik selanjutnya adalah (xk+1, yk)
p1k+1k+1k+1=p1k+2ry2xk+1k+1k+1+ry2
- Bila tidak, maka titik selanjutnya adalah (xk+!,yk-1) dan
p1k+1k+1k+1=p1k+2ry2xk+1k+1k+12rx yk+1k+1k+1+ry2 dengan
2rx yk+1k+1k+1=2rx2 yk k +2rx2 dan 2rx yk+1k+1k+1=2rx2 yk k
+2rx2
Teruskan sampai 2ry2x >= 2rx2 y
4. Tentukan nilai parameter pada bagian kedua menggunakan titik terakhir
(x0,y0) yang telah dihitung pada bagian pertama, sebagai berikut:
P2k+1=k+1=k+1=k+1=2ry2 2 (xo+1/2)2+2rx2 2 (yo1)2rx2 ry2
5. Setiap posisi yk pada bagian kedua, dimulai dengan k=0
- Bila p2k> 0 maka titik selanjutnya adalah (xk, yk-1)
p2k+1k+1k+1=p2k+2rx2yk+1k+1k+1+rx2
- Bila tidak, maka titik selanjutnya adalah (xk+1,yk-1) dan
p2k+1k+1k+1=pk+2ry2xk+1k+1k+12rx yk+1k+1k+1+ry2
6. Tentukan titik simetris pada ketiga kuadran lainnya
7. 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 2ry2x >= 2rx2y

1.3.4. Fill Area Primitif


Salah satu output primitif standar dalam paket aplikasi grafika adalah pengisian area
(fill area), yang umumnya dilakukan dengan menggunakan warna solid atau pola raster.
Ada dua pendekatan dasar yang digunakan untuk mengisi area pada sistem raster.

Pendekatan pertama adalah dengan menentukan interval overlap pada garis pemindaian
(scan line) yang melintasi area yang akan diisi. Pada pendekatan ini, dimulai dari suatu
titik di dalam poligon, sistem menghitung interval pada setiap garis pemindaian yang
melintasi area tersebut. Interval ini menunjukkan bagian dari garis pemindaian yang
berada di dalam area, dan area tersebut diisi dengan warna solid atau pola raster.

Pendekatan kedua adalah dengan memulai dari titik tertentu di dalam poligon. Sistem
akan mengevaluasi setiap piksel pada grid raster untuk menentukan apakah piksel
tersebut berada di dalam atau di luar poligon. Piksel-piksel yang berada di dalam
poligon diisi dengan warna solid atau pola raster, sedangkan piksel-piksel di luar
poligon tetap tidak terisi.

Kedua pendekatan ini digunakan untuk mengisi area pada sistem raster dengan warna
atau pola yang diinginkan. Pendekatan pertama menggunakan garis pemindaian yang
melintasi area, sedangkan pendekatan kedua dimulai dari titik di dalam poligon.
Keduanya memberikan hasil pengisian area yang akurat dan sesuai dengan kebutuhan
aplikasi grafika.
Berikut adalah algoritma Fill Area :

a. Algoritma Boundary Fill


Metode ini bermanfaat untuk paket aplikasi grafik interaktif, dimana titik dalam
dapat dengan mudah ditentukan. Prosedurnya yaitu menerima input koordinat dari
suatu titik (x,y), warna isi dan warna garis batas. Ada dua macam metode yaitu 4-
connected dan 8-connected.

b. Algoritma Flood Fill


Metode ini dimulai pada titik (x,y) dan mendefinisikan seluruh pixel pada bidang
tersebut dengan warna yang sama. Bila bidang yang akan diisi warna mempunyai
beberapa warna, pertama-tama yang dilakukan adalah membuat nilai pixel yang
baru, sehingga semua pixel mempunyai warna yang sama.

1.4. Atribut Output Primitif


1.4.1. Atribut 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).
1.4.2. Atribut Kurva dan Garis
• Kurva

Parameter untuk atribut kurva sama dengan atribut segmen garis. Kurva dapat
ditampilkan dengan berbagai warna, tebal, dot-dash(Style garis) dan pilihan pen atau
9 brush. Selain itu untuk pengisian suatu bidang tertentu termasuk memilih warna
antara solid dan pattern tertentu dan memilih warna pattern yang ada.

• Garis

Atribut dasar untuk garis lurus adalah style (tipe garis), width (tebal) dan color(warna).
Dalam beberapa paket aplikasi grafik, garis dapat ditampilkan dengan mengunakan
Pen.

1.4.3. Warna dan Grayscale


Ketika suatu sistem menyediakan opsi warna, suatu parameter akan memberikan
indeks warna awal yang dimasukkan ke dalam daftar nilai atribut sistem. Suatu
prosedur polyline kemudian akan menampilkan garis dengan warna tersebut dengan
cara mengatur warna tersebut d frame buffer pada lokasi piksel sepanjang garis tersebut
dengan menggunakan prosedur setPixel.

1.5. Transformasi Dua Dimensi

1.5.1. Translasi
Translasi merupakan transformasi dengan bentuk yang tetap, memindahkan objek apa
adanya. Setiap titik dari objek akan ditranslasikan dengan besaran yang sama. Translasi
berfungsi untuk memindahkan atau menggeser suatu objek dari koordinat awal (x,y)
menjadi koordinat yang berbeda (x’,y’). Translasi dilakukan dengan penambahan
translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx
adalah translasi menurut sumbu x sedangkan ty adalah translasi menurut sumbu y.

1.5.2. Rotasi
Rotasi merupakan perpindahan sebuah objek menurut garis melingkar.

1.5.3. Skala
Suatu operasi yang membuat objek berubah ukuran, baik mengecil ataupun membesar.

Untuk rumusan dari skala adalah sebagai berikut:


Gambar. Rumus Skala

1.5.4. Matriks Transformasi


Matriks yang diperlukan untuk melakukan transformasi adalah sebagai berikut :

Gambar. Matriks Transformasi


BAB II

PERANCANGAN APLIKASI

2.1 Perancangan Menu

2.1.1 Menu Bentuk


Pada bagian menu bentuk terdapat beberapa bangun datar yang menjadi pilihan dalam
menggambar pada aplikasi yang telah dibuat.

Gambar. Menu bentuk

2.1.2 Menu Tebal Garis


Pada bagian menu tebal garis, ia berfungsi untuk mengatur tebal dari garis yang kita buat
sesuai dengan keinginan pengguna aplikasi tersebut.

Gambar. Menu Tebal Garis

2.1.3 Menu Tipe Line


Pada bagian menu tipe line, para pengguna bisa memilih bentuk garis yang diinginkan
seperti garis lurus, garis putus-putus, dan yang lainnya.

Gambar. Menu Tipe Line


2.1.4 Menu Translasi
Pada bagian menu translasi setiap titik pada objek akan ditranslasi dengan besar yang sama
dan titik yang ditranslasi dipindahkan ke lokasi lain menurut garis lurus.

Gambar. Menu Translasi

2.1.5 Menu Rotasi


Pada bagian menu rotasi biasanya dilakukan pada satu titik terhadap suatu sumbu tertentu,
misalnya sumbu x, sumbu y atau garis yang lain yangsejajar dengan sumbu tersbut. Titil
acuan rotasi dapat sembarang, baik dititik pusat atau pada titik yang lain.

Gambar. Menu Rotasi

2.1.6 Menu Scaling


Bagian menu scaling, jika scaling bernilai lebih besar dari 1, maka object diperbesar
sebaliknya jika nilainya lebih kecil dari 1, maka object diperkecil.

Gambar. Menu Scaling

2.1.7 Menu Shear/Skew


Pada bagian menu shear, ia menarik titik-titik koordinat tertentu pada object ke suatu arah
berdasarkan sumbu x, y, atau z.

Gambar. Menu Shear


2.1.8 Menu Fill
Pada bagian menu fill merupakan pengisian warna pada suatu bidang datar atau gambar
yang ada aplikasi.

Gambar. Menu Fill


2.1.9 Menu Line Color
Pada bagian menu line color mengganti warna garis pada suatu bidang datar atau gambar
yang ada pada aplikasi.

Gambar. Menu Line Color


2.1.10 Menu Clear
Tombol menu clear berfungsi menghapus semua bidang datar atau gambar yang sudah di
aplikasikan pada kanvas.

Gambar. Menu Clear


2.2 Perancangan Antar Muka Pengguna

Dari seluruh sistem operasi yang dirancang aplikasi ini menyediakan antar muka yang akrab
ditemui pada aplikasi editing pada umumnya, sehingga para pengguna tidak bingun jika
menggunakan aplikasi ini.

Gambar. Antarmuka bagi pengguna


BAB III

IMPLEMENTASI PROGRAM

3.1 Perangkat Keras yang Digunakan


Sistem Operasi : Windows 11 64-bit
Processor : AMD Ryzen™ 7 CPU
Ram : 16 GB
GPU : AMD Radeon™ Graphics
3.2 Perangkat Lunak yang Digunakan
Language atau Bahasa : Java
JDK : 12 (Java 12.0.2)
Aplikasi : NetBeans 2020

3.3 Tampilan dan Model Program


BAB IV

KESIMPULAN DAN SARAN

4.1 Kesimpulan

Grafika komputer melibatkan penggunaan teknik-teknik dalam ilmu komputer dan


matematika untuk merepresentasikan dan memanipulasi data gambar menggunakan
komputer. Dalam perkembangan teknologi saat ini, gambar-gambar yang dihasilkan dan
ditampilkan di komputer telah menjadi bagian integral dari kehidupan sehari-hari, seperti
pada televisi, koran, dan majalah. Tujuan dari penggunaan gambar-gambar ini adalah untuk
memberikan hasil yang lebih komunikatif dan realistis kepada pengguna.

Pembuatan sistem aplikasi editing dalam bidang ini didasarkan pada konsep-konsep yang
ada dalam grafika komputer dan multimedia. Contohnya, sistem ini mempertimbangkan
teknologi display seperti raster-scan system dan random-scan system, serta peralatan input
interaktif yang digunakan. Peralatan input ini mencakup berbagai jenis perangkat, seperti
keyboard, touchpad, mouse, scanner, dan mikrofon.

Dalam pengembangan aplikasi ini, sistem operasi yang dirancang menyediakan antarmuka
yang akrab bagi pengguna, mirip dengan antarmuka yang umum ditemui dalam aplikasi
editing secara umum. Hal ini bertujuan untuk memberikan pengalaman pengguna yang
lebih nyaman dan intuitif saat menggunakan aplikasi editing grafika komputer.

Dengan demikian, kesimpulan dari hal di atas adalah bahwa grafika komputer melibatkan
penggunaan teknik-teknik komputer dan matematika untuk merepresentasikan dan
memanipulasi data gambar. Perkembangan teknologi telah mengintegrasikan gambar-
gambar ini dalam kehidupan sehari-hari, dan aplikasi editing grafika komputer dirancang
dengan mempertimbangkan konsep-konsep dalam bidang ini serta menggunakan peralatan
input yang beragam. Sistem operasi aplikasi ini menyediakan antarmuka yang akrab bagi
pengguna, sehingga pengalaman pengguna menjadi lebih baik dan efisien.
4.2 Saran

Kami menyadari bahwa dalam penyusunan laporan ini mungkin terdapat kesalahan dan
kekeliruan, dan jauh dari kata sempurna. Namun, kami berkomitmen untuk melakukan
perbaikan dalam susunan laporan ini dengan menggunakan pedoman yang diperoleh dari
berbagai sumber dan menerima kritik yang membangun dari para pembaca.

Kami mengakui bahwa laporan ini masih memiliki ruang untuk diperbaiki dan diperbarui.
Kami menyadari bahwa kesalahan dan kekeliruan dapat terjadi dalam proses penyusunan,
dan kami berkomitmen untuk mengambil langkah-langkah yang diperlukan guna
meningkatkan kualitas laporan ini.

Untuk mencapai tujuan tersebut, kami akan mengacu pada pedoman yang diberikan oleh
beberapa sumber yang relevan. Kami akan menggunakan sumber-sumber ini sebagai
panduan untuk melakukan perbaikan pada susunan laporan, termasuk struktur, gaya
penulisan, dan kejelasan isi.

Selain itu, kami sangat menghargai kritik yang membangun dari para pembaca. Kami
akan menerima dengan terbuka setiap masukan dan saran yang dapat membantu
meningkatkan kualitas laporan ini. Kritik konstruktif dari pembaca akan menjadi landasan
bagi kami dalam melakukan perbaikan yang diperlukan.

Dengan kesadaran akan kekurangan dan keterbukaan terhadap perbaikan, kami


berkomitmen untuk menyempurnakan susunan laporan ini dengan tujuan menghasilkan
laporan yang lebih baik dan akurat.
DAFTAR PUSTAKA

https://www.temukanpengertian.com/2013/08/pengertian-grafika-komputer.html

http://jackyrsaputra.blogspot.com/2012/04/grafika-komputer-translasi-rotasi-dan.html

Anda mungkin juga menyukai