• Tidak ada hasil yang ditemukan

modul grafika komputer

N/A
N/A
Protected

Academic year: 2021

Membagikan "modul grafika komputer"

Copied!
22
0
0

Teks penuh

(1)

TATA TERTIB PRAKTIKAN LABORATORIUM 1 & 2

TATA TERTIB PRAKTIKAN LABORATORIUM 1 & 2

1.

1. PraPraktiktikakan n LaLab b I I dan II dan II adadalaalah h mahmahasasiswiswa a yayang ng terterdadaftaftar r dan mengdan mengikuikuti ti matmataa kuliah yang bersangkutan.

kuliah yang bersangkutan. 2.

2. PrakPraktikan watikan wajib hadir sesjib hadir sesuai denguai dengan waktu praan waktu praktikumktikumnyanya.. 3.

3. PrakPraktikan yatikan yang terlamng terlambat dari 15 menit tidabat dari 15 menit tidak dapat mengk dapat mengikuti praikuti praktikumktikum.. 4.

4. PraPraktiktikakan n yayang tidak mengng tidak mengisi abseisi absensi lebih dari nsi lebih dari 3 3 kakali, tidak dapali, tidak dapat t menmengikgikutiuti UAS tanpa alasan apapun.

UAS tanpa alasan apapun. 5.

5. PrakPraktikan yang tidak dapatikan yang tidak dapat t mengmengikuti praktikikuti praktikum karena sakit dapaum karena sakit dapat t mengmengikutiikuti praktikum susulan(di kelas lain) jika melampirkan surat keterangan sakit dari praktikum susulan(di kelas lain) jika melampirkan surat keterangan sakit dari dokter.

dokter. 6.

6. PakaPakaian yang dian yang digunaigunakan pada skan pada saat prakaat praktikum adtikum adalah:alah: 6

6..11. . PPuuttrraa 6.1.1.

6.1.1. Memakai kemejaMemakai kemeja (bukan bahan kaos) bersih dan rapih(dimasukkan).(bukan bahan kaos) bersih dan rapih(dimasukkan). 6.1.2.

6.1.2. Celana panjang bahan katunCelana panjang bahan katun bersih dan rapih.bersih dan rapih. 6.1.

6.1.3. 3. TidaTidak memakk memakai akseai aksesoris ysoris yang berang berlebihlebihan.an. 6

6..22. . PPuuttrrii 6.2.1.

6.2.1. KemeKemeja ja lengalengan n panjapanjangng bersbersih ih dan dan rapihrapih(tidak digulung(tidak digulung), ), bukabukann ka

kaos, os, tidtidak ak ketketat at dan dan tidtidak ak tratranspnsparaaran. n. UntUntuk uk yayang ng berberjilbjilbabab, , babajuju lengan panjang bukan kaos, tidak ketat dan tidak transparan.

lengan panjang bukan kaos, tidak ketat dan tidak transparan. 6.2.2.

6.2.2. Rok Rok panpanjanjang g bahbahan an kakatuntun bebersrsih ih dadan n rarapipih, h, tidtidak ak keketatat, t, tidtidak ak  berbelah dan tidak transparan.

berbelah dan tidak transparan. 6.2.

6.2.3. 3. TidaTidak memakk memakai akseai aksesoris ysoris yang berang berlebihlebihanan 7.

7. PraPraktiktikakan n yayang ng beberparpakaikaian an tidtidak ak sesesuasuai i dedengangan n atuaturan diataran diatas s dibdiberi waktu 15eri waktu 15 menit dari waktu praktikum agar berpakain seperti yang disebutkan diatas.

menit dari waktu praktikum agar berpakain seperti yang disebutkan diatas. 8.

8. PrPraakktitikkaan n ddililaararang ng mamakakann, , miminunum m dadan n memerorokkok ok papadda a sasaaat t prpraakktitikukumm berlangsung.

berlangsung. 9.

9. PrakPraktikan dilaratikan dilarang menggangng mengganggu, mengubagu, mengubah, merusak, dan mengotorh, merusak, dan mengotori i peraperangkangkatt keras maupun perangkat lunak yang berada di laboratorium.

keras maupun perangkat lunak yang berada di laboratorium. 10. Praktikan dilarang meninggalkan sampah di dalam laboratorium. 10. Praktikan dilarang meninggalkan sampah di dalam laboratorium.

11. Praktikan dilarang mengaktifkan HP pada saat praktikum berlangsung. 11. Praktikan dilarang mengaktifkan HP pada saat praktikum berlangsung. 12. Praktikan dilarang bermain game pada saat praktikum berlangsung. 12. Praktikan dilarang bermain game pada saat praktikum berlangsung. 13. Tidak boleh membuka aplikasi lain pada saat praktikum berlangsung. 13. Tidak boleh membuka aplikasi lain pada saat praktikum berlangsung. 14.

14. SeleSelesai sai melakmelaksanasanakan kan praktpraktikum, ikum, prakpraktikan tikan wajib wajib meramerapikapikan n peraperalatan latan yayangng digunakan.

digunakan. 15

15. . PrPrakaktiktikan an didilalararang ng memembmbawawa a cocontentekakan n dadalalam m bebentntuk uk apapapapun un ke ke dadalalamm laboratorium pada saat ujian.

laboratorium pada saat ujian.

16. Praktikan yang melanggar peraturan diatas akan diberi peringatan dan dicatat 16. Praktikan yang melanggar peraturan diatas akan diberi peringatan dan dicatat

dalam

dalamblack bookblack book(daftar hitam).(daftar hitam).

17.

17. PraPraktiktikakan n diwdiwajiajibkabkan n menmenggggunaunakakan n sepsepatu atu jika jika akakan an menmengikgikuti uti kegkegiatiatanan praktikum dan disimpan di tempat yang telah disediakan.

praktikum dan disimpan di tempat yang telah disediakan. 18. Aturan lainnya akan ditentukan kemudian.

(2)

DA

DAFTFTARAR ISIISI

Halaman Halaman

TAT

TATAA TERTERTIBTIB.................. ii DA

DAFTFTARAR ISISII .................. iiii TUGA

TUGASS PENDPENDAHULUAHULUANAN………...………... 11 BA

BABB I I PEPENDNDAHAHULULUAUANN ............... 22

Pengenalan Grafika Komputer ...

Pengenalan Grafika Komputer ... 22

Pemanfaatan Grafika Komputer Secara Umum………... Pemanfaatan Grafika Komputer Secara Umum………... 22

Java Untuk Belajar Pemograman Grafik………..…… Java Untuk Belajar Pemograman Grafik………..…… 33

Fasilitas Grafik Pada Java……… Fasilitas Grafik Pada Java……… 33

Tugas Praktikum I ...

Tugas Praktikum I ... 55 BA

BABB IIII PEPENGNGGAGAMBMBARARANAN GAGARIRISS LULURURUSS……….………. 66

Garis………...

Garis………... 99

Lingkaran………...

Lingkaran………... 88

Tugas

Tugas Praktikum Praktikum II...II... 99 BA

BABB IIIIII TRTRANANSFSFORORMAMASISI DUDUAA DIDIMEMENSNSII………....……….... 1010

Transformasi

Transformasi Objek...Objek... 1010

Koordinat

Koordinat Homogen Homogen ... 1212

Tugas Praktikum III ... Tugas Praktikum III ... 1414 BA

BABB IVIV TRTRANANSFSFORORMAMASISI TITIGAGA DIDIMEMENSNSII………..….………..…. 1515

Transformasi

Transformasi Objek...Objek... 1515

Tugas Praktikum IV ... Tugas Praktikum IV ... 1414 BA

BABB VV WIWINDNDOWOWININGG ANANDD CLCLIPIPPPININGG………..….………..…. 1919

Tugas Praktikum V ...

(3)

TUGAS PENDAHULUAN

1. Jelaskan apa yang kamu ketahui tentang grafika komputer!

2. Sebutkan method-method yang ada pada java yang digunakan untuk menggambar serta fungsi-fungsinya?

3. Sebutkan perbedaan grafik vektor dan grafik bitmap!

4. Apakah ada perbedaan antara Algoritma DDA dan Algoritma Bresenham, jelaskan! 5. Jelaskan apa yang kamu ketahui tentang windowing dan clipping!

(4)

BAB I

PENDAHULUAN

Tujuan : - Memahami dasar grafika komputer dan implementasinya di dunia nyata. - Mengenal method dan class-class yang digunakan untuk menggambar.

Pengenalan Grafika Komputer

Grafika komputer adalah merupakan bidang yang berhubungan dengan penanganan grafik vektor dan gambar pada komputer. Istilah grafika komputer sendiri dicetuskan pada tahun 1960-an oleh William Fetter untuk menggambarkan metode desain baru.

“Perhaps the best way to define computer graphics is to find out what is it not. It is not  a machine. It is not a computer, nor a group of computer programs. It is not the know-how a graphic designer, a programmer, a writer, a motion picture specialist, or a reproduction specialist.

Computer graphics is all these – a consciously managed and documented technology directed toward communicating information accurately and descriptively ”.

Computer Graphics, by William Fetter, 1966.

Pemanfaatan Grafika Komputer Secara Umum - CAD, GIS

- Graph, Charts and Models - Computer Art

- Computer Animation, Visualization - Graphical User Interface

- Graphics for Home Usage - Image Processing

(5)

Java untuk belajar pemograman Grafik

Java merupakan bahasa yang cross platform, dan sudah menyediakan primitif  grafik 2D dan secara opsional grafik 3D melalui paket tambahan pada kelas-kelas Java2D dan Java3D. Java cukup mudah dipelajari, dan bisa mengakses mode grafik  dalam lingkungan manapun (X Windows, GDI Windows, dll).

Fasilitas Grafik pada JAVA

Method yang digunakan untuk menggambar adalah method paint, yang merupakan turunan dari class Graphics. Method-method yang ada dan digunakan untuk  menggambar, diantaranya :

drawstring (String, int x, int y)

Fungsinya adalah untuk menulis String yang kita inginkan pada koordinat (x,y).

drawLine (int x1, int y1, int x2, int y2)

Fungsinya adalah untuk membuat garis dari titik ( x1,y1) hingga (x2,y2).

drawRect (int x, int y, int width, int height)

Fungsinya adalah untuk membuat kotak pada koordinat awal ( x,y) sebagai titik  pojok kiri atas.

drawOval (int x, int y, int width, int height)

Fungsinya adalah untuk membuat oval pada koordinat awal ( x,y) sebagai titik  pojok kiri atas.

Contoh :

//nama file : cartesius.java

import java.awt.*; import javax.swing.*;

public class cartesius extends Canvas {

public cartesius() {

setSize(800, 600); }

public static void main(String[] args) {

JFrame f = new JFrame("Cartesius"); f.setSize(820, 620);

(6)

Container content = f.getContentPane(); content.add(new cartesius());

f.setDefaultCloseOperation(); f.show();

}

public void paint(Graphics g) {

//start draw cartesius g.drawLine(400,0,400,600); g.drawLine(0,300,800,300); g.drawString("[0,0]",405,315); g.drawString("Sumbu X",740,315); g.drawString("Sumbu Y",405,560);

for (int i=10;i <= 400 ;i += 10 ) { g.drawLine(400 - i, 300 - 2, 400 - i, 300 + 2); g.drawLine(400 + i, 300 - 2, 400 + i, 300 + 2); g.drawLine(400 - 2, 300 - i, 400 + 2, 300 - i); g.drawLine(400 - 2, 300 + i, 400 + 2, 300 + i); }

//end draw cartesius }

}

Class cartesius apabila di instantiasikan akan menghasilkan objek berupa canvas yang didalamnya telah tergambar diagram cartesius.

(7)

TUGAS PRAKTIKUM I

1. Buatlah program untuk menggambar sebuah garis lurus, segitiga, persegiempat dan lingkaran!

2. Buatlah program untuk menggambar persegiempat dan lingkaran, berdasarkan koordinat awal yang diinputkan dan lebar serta tingginya (width, height)!

(8)

BAB II

PENGGAMBARAN GARIS LURUS

Tujuan : - Memahami algoritma-algoritma untuk penggambaran garis lurus dan lingkaran

- Mengimplementasikan algoritma-algoritma penggambaran garis lurus ke dalam listing program

A. GARIS

Dalam bab ini akan dibahas mengenai sistem koordinat yang dipakai dalam pembahasan algoritma.

Terdapat tiga algoritma untuk menggambarkan suatu garis lurus, yaitu : 1. Algoritma Dasar

2. Algoritma DDA (Digital Differential Analyzer) 3. Algoritma Bresenham

Koordinat layar berlaku seperti matrix, artinya kita tidak bisa secara sembarang meletakkan titik di sembarang tempat, biasanya koordinat selalu positif dengan titik  kiri atas adalah koordinat 0,0, ke arah kanan positif, dan ke arah bawah positif  (keduanya semakin membesar). Sumbu X ke arah kanan dan Y ke arah bawah.

Algoritma Dasar

Untuk setiap interval Δx terdapat nilai korespondensi y dengan interval Δy.

b  x m  y

*

1 2 1 2  x  x  y  y m

1 * 1 m x  y b

Kelemahan Algoritma Dasar :

1. Apabila nilai x sama (x1 = x2), maka akan terjadi division by zero.

2. Penggambaran yang diawali dengan koordinat yang lebih besar daripada setelahnya (x1 > x2)

Algoritma DDA Langkah – langkah :

(9)

1. Inputkan (x1, y1) dan (x2, y2)

2. Hitung dx dan dy dimana, dx = x2 – x1 dy = y2 – y1

3. Jika |dx| > |dy| maka s = |dx|, selain itu s = |dy| 4. Hitung : s dx  x

; s dy  y

5. Tentukan : x = x1 ; y = y1 6. Hitung :  x

 x

x  y  y  y

7. Lakukan langkah 6 sebanyak skali.

Algoritma Bresenham Langkah – langkah :

1. Inputkan (x1, y1) dan (x2, y2)

2. Hitung Δx dan Δy, dimana :

 x

 x2

x1 1 2 y  y  y

3. Hitung Δa dan Δb dimana :

if 

 x

y 

a

x &

b

y

else 

a

y &

b

x 4. Hitung

2*

b

a

5. Tentukan m1 dan m2

m1 = M3, jika

 x

y dan

 x

0

m1 = M5, jika

 x

y dan

 y

0

m1 = M7, jika

 x

y dan

 x

0

m1 = M1, jika

 x

y dan

 y

0

m2 = M2, jika

 x

0 dan

 y

0

m2 = M4, jika

 x

0 dan

 y

0

m2 = M6, jika

 x

0 dan

 y

0

m2 = M8, jika

 x

0 dan

 y

0

6. Jalankan m2, jika

0, lalu hitung

2*

b

2*

a Jalankan m1, jika

0, lalu hitung

2*

b

M1 M5 M3 M7 M2 M8 M4 M6

(10)

7. Ulangi langkah 5, hingga mencapai tujuan (x2, y2).

B. LINGKARAN

Persamaan lingkaran

Sifat simetri dari lingkaran dan properti lingkaran yaitu pusat dan jari-jari,

dapat digunakan cara polar

Algoritma biasa dan polar memiliki kelemahan dalam penampilan lingkaran.

Kelemahan ini dieliminasi oleh algoritma Bresenham

2 2 2 ( x xc  )   ( y yc )  r   2 2 ( ) y yc   r  x xc

.cos

sin

x xc r  

y yc r  

 

 

(11)

TUGAS PRAKTIKUM II

1. Buatlah program untuk menghitung transformasi garis lurus berdasarkan 2 buah titik yang diinputkan dengan menggunakan algoritma DDA!

2. Buatlah program untuk menghitung transformasi garis lurus berdasarkan 2 buah titik yang diinputkan dengan menggunakan algoritma Bresenham!

(12)

BAB III

TRANSFORMASI DUA DIMENSI

Tujuan : -Memahami transformasi objek pada pusat (0, 0) dan pusat sembarang. - Mengimplementasikan algoritma kedalam listing program.

- Memahami perbedaan tranformasi objek pada pusat (0,0) dan koordinat homogen.

A. Tranformasi Objek

Sebuah titik X ditranformasikan dengan matriks T, diformulasikan sebagai berikut :

  

(ax cy) (bx dy)

 x* y

* d  c b a  y  x T   X 

a. Translasi (Pergeseran)

Translasi adalah tranformasi yang memindahkan objek dengan bentuk  yang sama (tidak mengalami perubahan). Dengan demikian, setiap titik dari objek yang akan ditranslasi dengan besaran yang sama dimana (x, y) adalah koordinat asal objek tersebut, dan (x’, y’) adalah koordinat baru hasil perpindahan.

b. Scaling (Penskalaan)

Tranformasi skala adalah perubahan ukuran suatu objek dengan mengalikan objek tersebut dengan matriks scaling. Ada dua jenis penskalaan, yaitu :

Uniform Scaling

Non-Uniform Scaling

Dan dua jenis ukuran scaling :

Expansion, a = d > 1

Compression, 0 < a=d < 1 Matriks Scaling =

Sy Sx 0 0 Keterangan :

(13)

Sy merupakan faktor skala ke arah Vertikal c. Shearing

Shearing adalah bentuk tranformasi yang membuat distorsi bentuk dari objek tersebut, seperti menarik sisi tertentu.

Matriks Shearing =

1 1 h g Keterangan :

g nilai shearing terhadap sumbu X h nilai shearing terhadap sumbu Y

d. Rotasi (Perputaran)

Terdapat dua macam rotasi, yaitu :

1. Rotasi searah jarum jam (CW), biasanya dinyatakan dengan sudut negatif. Matriks CW =

        cos sin sin cos

2. Rotasi berlawanan arah jarum jam (CCW), biasanya dinyatakan dengan sudut positif.

Matriks CCW =

        cos sin sin cos e. Refleksi (Pencerminan)

Ada empat jenis pencerminan, yaitu : 1. Refleksi terhadap sumbu X

Matriks X =

1 0 0 1

2. Refleksi terhadap sumbu Y Matriks Y =



1 0 0 1

(14)

3. Refleksi terhadap sumbu X = Y Matriks XY =

0 1 1 0

4. Refleksi terhadap sumbu X = -Y Matriks XminY =

0 1 1 0 B. Koordinat Homogen

Koordinat homogen memetakan titik (0, 0) ke posisi lain. Matriks Transformasi Umum :

 

s n m q d  c  p b a T  a. Translasi (Pergeseran)

1 0 0 0 1 0 0 0 1  MTU  b. Scaling (Penskalaan)

1 0 0 0 0 0 0 Sy Sx  MTU  c. Shearing

1 0 0 0 1 0 1 h g  MTU  d. Rotasi (Perputaran) Langkah – langkah :

1. Geser pusat rotasi ke sumbu origin (0, 0) 2. Lakukan rotasi sebesar θo

(15)

3. Geser kembali pusat rotasi ke semula 4. Sehingga didapat :

 

1 0 1 0 0 0 1 1 0 0 0 cos sin 0 sin cos 1 0 1 0 0 0 1 n m n m T   MTU          e. Refleksi (Pencerminan) Langkah – langkah :

1. Translasikan cermin hingga menyentuh sumbu origin (0, 0)

2. Rotasikan cermin sehingga berimpit dengan salah satu sumbu utama 3. Refleksikan objek 

4. Rotasikan objek ke posisi awal

5. Translasikan garis refleksi ke posisi awal 6. Sehingga diperoleh MTU :

     

1 1

Tr   Rot   Rf   Rot  Tr 

 MTU 

Keterangan :

MTU = Matriks Tranformasi Umum [T] = matriks objek asli

(16)

TUGAS PRAKTIKUM III

1. Buatlah tranformasi objek (bebas, selain garis), meliputi Translasi, Scaling, Shearing, Rotasi dan Refleksi dengan menggunakan menu pilihan!

2. Buatlah transformasi objek (bebas, selain garis), gunakan koordinat homogen, (koordinat awal diinputkan)!

(17)

BAB IV

TRANSFORMASI TIGA DIMENSI

Tujuan : - Memahami transformasi objek menggunakan 3 sumbu (3 dimensi). - Mengimplementasikan algoritma kedalam listing program.

Menggunakan koordinat 3 sumbu, yaitu x, y, z.

Sebuah titik pada ruang 3 dimensi dituliskan sebagai

 x  y  z 1

Tranformasi 3 dimensi dituliskan sebagai

 x1  y1  z1 1

 x  y  z 1

 

MTU 3 Dimensi :

s n m l r  i h g q  f  e d   p c b a  MTU  Tranformasi Objek a. Translasi

1 0 1 0 0 0 0 1 0 0 0 0 1 tz ty tx  MTU  tx = pergeseran kearah X ty = pergeseran kearah Y tz = pergeseran kearah Z b. Scaling

Local Scaling

1 0 0 0 0 0 0 0 0 0 0 0 0 Sz Sy Sx  MTU 

Sx = penskalaan kearah sumbu X Sy = penskalaan kearah sumbu Y

(18)

Sz = penskalaan kearah sumbu Z

Overall Scaling

S  MTU  0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 S = penskalaan c. Shearing

1 0 0 0 0 1 0 1 0 1 h g  f  d  c b  MTU  b, c, d, f, g, h = nilai shearingnya d. Rotasi

Terhadap sumbu X

1 0 0 0 0 cos sin 0 0 sin cos 0 0 0 0 1          MTU 

Terhadap sumbu Y

1 0 0 0 0 cos 0 sin 0 0 1 0 0 sin 0 cos          MTU 

Terhadap sumbu Z

1 0 0 0 0 1 0 0 0 0 cos sin 0 0 sin cos          MTU  e. Refleksi

(19)

Terhadap bidang XY

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1  MTU 

Terhadap bidang YZ



1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1  MTU 

Terhadap bidang XZ

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1  MTU 

(20)

TUGAS PRAKTIKUM IV

1. Buatlah program untuk menggambarkan sebuah rangka segitiga. Gambarkan pula sumbu x, y, z!

2. Buatlah program untuk transformasi 3 Dimensi dengan objek rangka kubus. Gunakan menu pilihan!

(21)

BAB V

WINDOWING AND CLIPPING

Tujuan : - Memahami perbedaan antara windowing dan viewport - Mengimplementasikan algoritma kedalam listing program.

Windowing adalah suatu koordinat yang membatasi daerah yang akan

ditampilkan

Viewport adalah area yang dipilih untuk ditampilkan setelah dipetakan.

Jadi objek-objek windowing and clipping adalah objek-objek yang dipilih untuk  ditampilkan (objek yang berada dalam area window saja).

(22)

TUGAS PRAKTIKUM 5

Referensi

Dokumen terkait

[r]

Tabel 3.2 Rute Anggkot Jalur CKL Dari Arah Terminal Landungsari - APK Cemoro Kandang (Rute Pulang)...21 Tabel 3.3 Pembagian Zona Angkot Jalur CKL Berangkat...22 Tabel

Saham merupakan salah satu alternatif investasi di pasar modal yang paling banyak digunakan oleh investor karena keuntungan yang lebih besar dan dana yang dibutuhkan untuk

[r]

Hasil penelitian Balingtan 2010 menunjukkan bahwa penggunaan urea berlapis arang aktif yang diperkaya mikroba konsorsia mampu menurunkan residu pestisida POPs

Beban Mengajar Dosen Beban Mengajar Dosen Masa Studi Mahasiswa Masa Studi Mahasiswa Beban bimbingan &amp; Beban bimbingan &amp; menguji TA Dosen menguji TA Dosen Biodata Dosen

Hasil penelitian ini sesuai dengan penelitian yang dilakukan oleh Masini (2015) menunjukkan Ibu yang berpartisipasi dalam kelas ibu hamil, lebih banyak pada ibu yang