Membuat Kincir Angin Dengan Java Netbeans
LAPORAN HASIL PRAKTIKUM JOBSHEET 7
MEMBUAT KINCIR ANGIN MENGGUNAKAN
JAVA
PADA NETBEANS
Disusun
guna untuk memenuhi tugas
Mata
Kuliah Grafika Komputer
Dosen
Pengampu Imanaji Hari Sayekti, S.Pd, M.Pd
Disusun
oleh :
OSI
ULFAH 17.MI.0014
AKADEMI
MANAJEMEN INFORMATIKA DAN KOMPUTER PGRI KEBUMEN
TAHUN
AJARAN 2018 / 2019
KATA
PENGANTAR
Syukur Alhamdulillah kita sampaikan
kepada kehadirat Allah S.W.T. karena dengan rahmat dan karunia-Nya, sehingga
penulis dapat menyelesaikan tugas Makalah ini tepat pada waktunya.
Sholawat serta salam tak bosan –
bosannya kita ucapkan kepada baginda Rasulullah SAW, yang telah membawa
ummatnya kepada jalan kebenaran yang diridhai oleh Allah SWT dari dunia sampai
akhirat.
Laporan ini berjudul “Laporan Hasil
Praktikum Jobsheet 7 Membuat Kincir Angin Menggunakan Java Pada Netbeans’’ ditulis
dengan tujuan untuk menyelesaikan tugas individu dalam mata kuliah Grafika
Komputer.
Namun
perlu disadari bahwa, masih banyak kekurangan dalam penyusunan Laporan ini,
oleh karenanya segala perbaikan yang mengarah supaya makalah ini mendekati
sempurna, penulis sangat mengharapkan kritik dan saran dari pembaca.
Atas perhatiannya
penulis ucapkan banyak terima kasih.
Kebumen,
31 Oktober 2018
BAB
I
PEMBAHASAN
A.
Ringkasan Materi
Grafika Komputer adalah suatu proses pembuatan,
penyimpanan dan manipulasi model dan citra. Model berasal dari beberapa bidang
seperti fisik, matematik, artistik dan bahkan struktur abstrak. Istilah
”Grafika Komputer” ditemukan tahun 1960 oleh William Fetter : pembentukan
disain model cockpit (Boeing) dengan menggunakan pen plotter dan referensi
model tubuh manusia 3 Dimensi. Pengguna mengendalikan isi, struktur dan
kemunculan objek serta menampilkan citra melalui suatu komponen dasar visual
feedback.
·
Komponen Dasar Sistem Grafik Interaktif
:
Inputan : mouse, tablet dan stylus, peralatan
force feedback, scanner, live video stream, dll. Proses dan Penyimpanan
Keluaran : layar, printer berbasis kertas,
perekam video, non-linear editor, dll
·
Kegiatan yang Terkait dengan Grafik
Komputer
Pemodelan geometris : menciptakan
model matematika dari objek - objek 2D dan 3D.
Rendering : Memproduksi citra yang
lebih solid dari model yang telah dibentuk.
Animasi : Menetapkan atau menampilkan
kembali tingkah laku atau behavior objek bergantung waktu
·
Kerangka Grafik Komputer Interaktif
Graphics
library/package (contoh: OpenGL) adalah perantara aplikasidandisplay hardware
(GraphicsSystem)
Application program
memetakan objek aplikasi ke tampilan/citra dengan memanggil graphics library
Hasil dari interaksi
user menghasilkan/modifikasi citra
Citra merupakan hasil
akhir dari sintesa, desain,manufaktur, visualisasi dll.
·
Pemodelan Geometris
Transformasi dari suatu
konsep (atau suatu benda nyata) ke suatu model geometris yang bisa ditampilkan
pada suatu komputer :
Shape/bentuk, Posisi,
Orientasi (cara pandang), Surface Properties / Ciri - ciri Permukaan (warna,
tekstur), Volumetric Properties / Ciri – ciri volumetric(ketebalan/pejal,
penyebaran cahaya), Lights/cahaya (tingkat terang, jenis warna) dll.
·
Dasar Matematika yang diperlukan dalam
Grafika Komputer
Geometry (2D, 3D) : Trigonometry,
Vector spaces
Points, vectors, dan
koordinat : Dot dan cross
products
Ø Java.awt.color (fungsinya supaya
bisa mewarnai obyek yang kita buat)
Ø Java.awt.Graphics (fungsinya untuk
membuat obyek)
Ø Java.swing.Jframe (fungsinya supaya
bisa mengatur ukuran tampilan frame saat dirun projectnya)
Ø Java.swing.JPanel (funsinya untuk
memunculkan jendelanya dengan jPanel bukan Jframe)
Ø Public class Rumah extends JPanel (
menunjukan bahwa Class “Rumah” menggandeng JPanel atau dapat dibilang perluasan
)
Ø Public void paint (Graphics g) {
(untuk mulai melakukan menggambar grafik dengan menggunakan variable “g” …”g”
dapat diganti dengan huruf atau karakter lain…asalakan sesuaikan dengan coding2
dibawahnya..)
Ø Translasi merupakan suatu proses
yang menyebabkan perpindahan objek dari satu titik ketitik lain. Translasi
dilakukan dengan penambahan translasi pada suatu titik koordinat dengan
translasi vector yaitu (trx,try), dimana trx adalah translation vector menurut
sumbu x sedangkan try adalah translasi vector terhadap sumbu y.
Ø Scaling adalah perpindahan objek
dari titik P ke titik P’ dimana jarak titik P’ adalah m kali titik P. Jadi
dengan kata lain scalling adalah transformasi yang memperbesar atau memperkecil
objek.
Ø Rotasi adalah perpindahan objek dari
titik P (x,y,z) ke titik P’(x’,y’,z’)berupa perpindahan sebesar sudut terhadap
suatu sumbu misalnya x.
Ø Shearing adalah bentuk transformasi
yang membuat distorsi dari bentuk suatu objek, seperti menggeser sisi
tertentu..Shearing adalah suatu proses untuk mentransformasikan objek dengan
cara “membebani” objek tersebut kearah tertentu, sehingga dihasilkan suatu
objek yang distorsi. Dua macam shear yang umum adalah shear menurut sumbu x dan
shear menurut sumbu y.
Ø Refleksi adalah transformasi yang
membuat mirror atau pencerminan dari suatu objek grafis. Refleksi disusun
relatife terhadap sumbu refleksi.
Gambar dapat
dijelaskan dengan beberapa
cara, bila menggunakan
raster display, gambar ditentukan oleh satu set intensitas
untuk posisi display pada display. Sedangkan dengan scene tampilan gambar
dengan loading array dari pixel ke dalam buffer atau dengan mengkonversikan
scan dari grafik geometri tertentu ke dalam pola pixel. Paket grafika
dilengkapi dengan fungsi untuk menyatakan scene dalam bentuk struktur. Paket
pemrograman grafika dilengkapi dengan fungsi untuk menyatakan scene dalam bentuk
struktur dasar geometri
yang disebut output
primitif, dengan memasukkan
output primitif tersebut sebagai struktur yang lebih kompleks.
Ø Titik dan Garis
Pembentukan
titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program
aplikasi ke dalam
suatu operasi tertentu
menggunakan output. Random-scan
(vektor) system menyimpan instruksi pembentukan titik pada display list
dan nilai koordinat menentukan posisi pancaran electron ke arah lapisan fosfor pada layer. Garis
dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu
garis.
Ø Algoritma Pembentukan Garis
Persamaan
garis menurut koordinat Cartesian adalah: y = m.x + b
dimana
m adalah slope (kemiringan) dari garis yang dibentuk oleh dua titik yaitu
(x1,y1) dan (x2, y2). Untuk penambahan x
sepanjang garis yaitu dx akan mendapatkan penambahan y sebesar Δy = m. Δx
Ø 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. Carilah Langkah-langkah
pembentukan menurut algoritma DDA!
Ø Algoritma Bressenham
Prosedur
untuk menggambar kembali garis dengan membulatkan nilai x atau y kebilangan integer
membutuhkan waktu, serta variable x,y dan m merupakan bilangan real karena
kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik
yang lebih menarik, karena hanya menggunakan perhitungan matematika dengan
bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi setiap
pixel setiap waktu. Algoritma garis Bressenhem disebut juga midpoint line
algorithm, adalah algoritma konversi penambahan nilai integer yang juga dapat
diadaptasi untuk menggambar sebuah lingkaran.
Ø Algoritma Pembentukan Lingkaran
Pada
umumnya, lingkaran digunakan sebagai komponen dari suatu
gambar. Prosedur untuk menampilkan
lingkaran dan elips dibuat dengan persamaan dasar dari lingkaran x2+y2=r2. Lingkaran
adalah kumpulan dari titik-titik yang memiliki jarak dari titik pusat yang sama
untuk semua titik. Lingkaran dibuat dengan menggambarkan seperempat lingkaran,
karena bagian lain dapat dibuat sebagai
bagian yang simetris.
Penambahan x dapat dilakukan
dari 0 ke
r sebesar unit
step, yaitu menambahkan ± y untuk
setiap step.
Ø Output primitive
Pada umumnya,
setiap parameter yang
memberi pengaruh pada
output primitive ditampilkan
sesuai dengan parameter atribut. Beberapa parameter atribut, seperti
ukuran dan warna ditentukan sebagai
karakteristik dasar dari
parameter. Sedangkan yang
lain ditentukan untuk
penampilan pada kondisi tertentu. Teks dapat dibaca dari kiri
ke kanan, miring searah diagonal (slanted diagonal), atau vetical sesuai kolom.
Salah satu cara untuk mengatur atribut output primitif, yaitu dengan daftar
parameter fungsi yang berkaitan, contohnya fungsi menggambar garis dapat berisi
parameter untuk warna, tebal, dan lainnya.
Ø Atribut Garis
Atribut
dasar untuk garis lurus adalah type (tipe),
width (tebal), dan color (warna). Dalam berapa paket aplikasi
grafik, garis dapat ditampilkan dengan menggunakan pilihan pen atau brush.
Ø Tipe Garis
Garis
mempunyai beberapa linetype (tipe garis) diantaranya solid line, dashed line
(garis putus), dan dotted line (garis titik-titik). Algoritma pembentukan garis
dilengkapi dengan pengaturan panjang dan jarak
yang menampilkan bagian
solid sepanjang garis.
Garis putus dibuat
dengan memberikan nilai jarak dengan bagian solid yang sama.
Garis titik-titik dapat ditampilkan dengan memberikan jarak yang lebih besar
dari bagian solid.
Ø Tebal Garis
Implementasi
dari tebal garis tergantung dari kemampuan alat output yang digunakan. Garis
tebal pada video monitor dapat
ditampilkan sebagai garis
adjacent parallel (kumpulan
garis sejajar yang berdekatan), sedangkan pada plotter
mungkin menggunakan ukuran pen yang berbeda. Pada implementasi
raster, tebal garis
standar diperoleh dengan
menempatkan satu pixel
pada tiap posisi, seperti
algoritma Bressenham. Garis
dengan ketebalan didapatkan
dengan perkalian integer positif dari garis standar, dan
menempatkan tambahan pixel pada posisi sejajar. Untuk garis dengan slope kurang
dari 1, routine pembentukan garis dapat dimodifikasi untuk menampilkan
ketebalan garis dengan menempatkan pada posisi vertikal setiap posisi x sepanjang
garis. Untuk garis dengan slope lebih besar dari 1, ketebalan garis dapat
dibuat dengan horizontal span.
Ø Pilihan Pen dan Brush
Pada
beberapa paket aplikasi grafik, dapat ditampilkan dengan pilihan pen maupun
brush. Kategori ini meliputi
bentuk, ukuran, dan
pola (pattern). Ketebalan
yang bermacam-macam dari
garis yang mempunyai bentuk pen
dan brush dapat ditampilkan dengan cara mengubah ukuran dari mask.
Ø Warna Garis
Bila suatu
sistem dilengkapi dengan
pilihan warna (atau
intensitas), parameter
yang akan diberikan pada indeks warna termasuk dalam
daftar nilai atribut dari sistem. Routine polyline membuat garis pada warna
tertentu dengan mengatur nilai warna pada frame buffer untuk setiap posisi
pixel, menggunakan prosedur set pixel. Jumlah warna tergantung pada jumlah bit
yang akan digunakan untuk menyimpan informasi warna.
Ø Fill Area Primitif
Fill area
(pengisian area) output
primitif standar pada
paket aplikasi grafika
pada umumnya adalah warna solid atau pola raster. Terdapat
dua dasar pendekatan untuk mengisi area
pada raster sistem:
-
Menentukan
overlap interval untuk scan line yang melintasi area
-
Dengan memulai
dari titik tertentu
pada posisi di
dalam poligon dan
menggambar dengan arah menyebar ke pinggir, sampai batas
poligon.
Ø 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. Dimulai dari titik (x,y) prosedur
memeriksa posisi titik tetangga, yaitu
apakah merupakan warna batas, bila
tidak maka titik
tersebut digambarkan dengan
warna isi. Proses
ini dilanjutkan sampai semua
titik pada batas
diperiksa. Ada dua
macam metode yaitu
4-connected dan 8-connected.
Ø 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.
Ø Pembentukan Karakter
Huruf,
angka dan karakter lain dapat ditampilkan dalam berbagai ukuran (size) dan
style. Jenis huruf dibagi menjadi 4 macam, yaitu serif, sanserif, agyptian dan
dekoratif.
-
Serif
Huruf dalam
kategori serif mempunyai
kait pada ujungnya.
Misalnya : times
new roman, book antiqua.
-
Sanserif
Huruf dalam
kategori sanserif tidak
mempunyai kait pada
ujungnya. Misalnya :
arial, helvetica, tahoma.
-
Agyptian
Huruf
dalam kategori agyptian mempunyai kait dengan bentuk segi empat yang mempunyai
karakter kokoh.
-
Dekoratif
Huruf
dalam kategori dekoratif mempunyai bentuk indah. Misalnya :monotype corsiva. Dua macam
metode dapat digunakan untuk
menyimpan jenis huruf
dalam komputer. Metode sederhana bitmap
menggunakan pola grid dengan
bentuk segi empat,
dan karakternya disebut dengan bitmap
font. Grid dari
karakter dipetakan pada
posisi frame buffer,
bit yang mempunyai nilai 1 berhubungan
dengan tampilan pixel
pada monitor.Metode lain,
yaitu dengan stroke menggunakan garis lurus dan kurva,
karakternya disebut dengan outlilne
font. Huruf ditampilkan menurut koordinat relatif (x,y) dimana pusat dari
koordinat adalah pada posisi kiri bawah dimana karakter pertama yang
ditampilkan.
Ø Antialiasing
Seperti
yang telah dikatakan sebelumnya bahwa konversi raster-scan adalah pengisian
nilai-nilai elemen suatu "matriks" (yaitu frame buffer) sedemikian
rupa sehingga secara visual "tergambarkan" primitif-primitif grafik
yang bersangkutan. Jadi
pada dasarnya adalah
semacam diskretisasi obyek
tersebut. Selanjutnya sebagai sesuatu yang diskret, masalah yang timbul
adalah distorsi informasi yang disebut aliasing. Secara
visual obyek garis
atau batas suatu
area akan terlihat
sebagai tangga (effek
tangga atau
"jaggies").
Peningkatan resolusi frame
buffer dapat mengurangi
efek ini namun
tidak dapat dihilangkan sama
sekali karena keterbatasan teknologi (ingat faktor-faktor yang menentukan
resolusi: refresh rate, dan ukuran frame buffer). Pada sistem
raster dengan tingkat
intensitas > 2
bisa diaplikasikan metoda
antialiasing dengan memodifikasi
intensitas pixel-pixel "batas" obyek dengan latar atau obyek lainnya.
Modifikasi tersebut akan memper-"halus" batas-batas tersebut sehingga
mengurangi penampakan yang "jaggies" tersebut. Ada tiga pendekatan:
-
Supersampling
(postfiltering)
-
Area
sampling
-
pixel
phasing
B. Tujuan
1. Memahami
konsep dasar geometri dengan Java.
2. Mampu
mengimplementasikan pemrograman Java untuk membuat bangun geometri
C. Alat
dan Bahan
1. PC
1 unit support netbeans
2. Software
Java SDK
D. Keselamatan
Kerja
1. Gunakan
peralatan sesuai dengan fungsinya
2. Bekerjalah sesuai
dengan cara kerja atau petunjuk yang telah ditentukanE. Langkah - langkah
1. Langkah pertama Klik File lalu Klik New Project atau Klik ikon New Project pada tampilan Netbeans
2. Langkah kedua Klik Java lalu Pilih Java Aplication lalu Klik Next
3. Kemudian beri nama project sesuai yang kita inginkan lalu Klik Finish
4. Setelah itu masukkan script berikut :
5. Langkah berikutnya lakukan Clean and Build atau Klik icon berikut, apabila masih eror teliti kembali
6 Langkah terakhir lakukan Run, dengan tekan F6 maka akan muncul tampilan Kincir Angin berputar cepat dan berubah warna seperti berikut:
BAB
II
PENUTUP
A.
Kesimpulan
Grafika komputer (Computer graphics)
adalah salah satu cabang ilmu
komputer yang
berhubungan dengan pembuatan dan manipulasi gambar visual secara digital.
Bentuk dari grafik komputer ini berawal dari grafika komputer 2D yang merupakan
bentuk sederhana dari grafik komputer ini.
Kemudian grafik komputer mengalami
perkembanagn yang lebih canggih dari teknologi 2D menjadi grafika komputer 3D.
Cabang ilmu komputer ini emmiliki dua cabang lahi, yaitu pemrosesan citra
(image processing), dan pengenalan pola (pattern recognition). Grafik komputer
sering dikenal juga dengan istilah visualisasi data.
Bagian dari disiplin ilmu grafik
komputer meliputi:
-
Geometri:
yaitu ilmu untuk mempelajari cara menggambarkan permukaan bidang
-
Animasi:
yaitu ilmu untuk mempelajari cara menggambarkan dan memanipulasi gerakan
-
Rendering:
yaitu ilmu untuk mempelajari algoritma untuk menampilkan efek cahaya
-
Citra
(Imaging): yaitu ilmu untuk mempelajari cara pengambilan dan penyuntingan
gambar.
B.
Kritik
dan Saran
Penulis memahami masih banyak kekurangan dalam
menyusun laporan ini, oleh karena itu kritik dan saran dari pembaca sangat
diharapkan. Semoga laporan ini bisa memberikan manfaat kepada pembaca secara
umum terlebih bagi penulis sendiri
Komentar
Posting Komentar