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 ditentukan

    E.  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

Postingan populer dari blog ini

Membuat Grafik/Objek Sederhana Menggunakan Java Netbeans

Membuat Kubus 3D dengan Java Neatbeans

Membuat Animasi Dengan Java Netbeans