109
110
Membu
A. Tujuan
Setelah mengikuti kegiata
Memberikan aksi r
Memberikan aksi t
Memberikan peng Graphic
B. Indikator Pencapai
Membuat aplikasi d
gambar
C. Uraian Materi 1. Konsep Dasar Tra
Transformasi me tanpa merusak bentuk
contoh transformasi a Viewport, Objek yang
ukuran yang jauh lebih dilakukan pemetaan tr
seluruhnya digambar terbatas, dan biasanya
sedangkan layarnya te Penggunaan tra
digunakan untuk mem Beberapa tujuan khusu
a. Merubah atau meny b. Memudahkan memb
c. Melihat objek dari su d. Memindahkan satu
biasanya digunakan
buat Transformasi dengan Kelas Graphic
tan pembelajaran5 ini diharapkan peserta dikla
si rotasi pada gambar yang dibuat dari kelas G
si translasi pada gambar yang dibuat dari kelas
ngubahan skala pada gambar yang dibuat d
capaian Kompetensi
si dengan kelas Graphic untuk menggambar te
Transformasi Objek
merupakan suatu operasi memodifikasi ben uk dasar dari objek yang ditransformasikan. S
si adalah transformasi dari window ke viewp ng akan digambar pada layar biasanya m
ih besar dibanding dengan ukuran layar, sehin transformasi yang memungkinkan objek terse
ar dilayar, tetapi pada layar dengan koord nya dibatasi oleh sebuah kotak yang disebut
tersebut disebut Viewport. transformasi pada suatu objek gambar
empermudah dalam melihat objek tersebut sus diperlukannya transformasi objek adalah:
nyesuaikan komposisi pandangan. mbuat objek yang simetris
i sudut pandang berbeda tu atau beberapa objek dari satu tempat ke te
an pada animasi komputer.
Kelas
iklat dapat:
s Graphic
las Graphic
t dari kelas
tek ataupun
entuk objek . Salah satu
wport. Pada mempunyai
hingga perlu ersebut bisa
rdinat yang ut windows,
r biasanya ut ataupun.
h:
tempat lain,
Terdapat 2 dan transforma
ditransformasikan Sedangkan pad
koordinatnya se perubahan syste
3 jenis transform Rotasi, Translasi
2. Translasi Obj
Translasi m suatu objek, baik
objek 2 dimensi yang digunakan u
translatex_trans, y_trans;
nilai x_trans dan yang ditranslasik
sumbu x dari titi terjadi pada sum
menghasilkan titi setelah objek dit
dapat dihitung de
Perhatikan conto
Contoh 1, Trans
import java
. awt
.; import
javax .
swing .;
publicclass Contoh1
extends JPanel
{ publicvoid
paintComponent Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
t 2 jenis utama dari transformasi, yaitu Tran asi kordinat. Pada transformasi objek,
kan adalah
titik-titik yang menyusun o ada transformasi koordinat, yang diubah
sehingga objek mengalami transformasi stem koordinat tersebut. Diantara 2 jenis transf
rmasi yang dikenal pada transformasi objek si dan Skala.
Objek
si merupakan bentuk transformasi yang mem aik pada sumbu x, sumbu y, atau bahkan sum
si maka yang berpindah adalah sumbu x dan n untuk melakukan translasi adalah :
translatex_trans, y_trans;
n y_trans merupakan perpindahan yang dilaku sikan. Titik x_trans merupakan perpindahan ya
titik awal. Sedangkan y_trans merupakan pe sumbu y dari titik awal. Suatu translasi pada
titik x’ dan y’, dimana titik x’ dan y’ tersebut ditranslasi dari titik awal. Secara matematis,
dengan menggunakan rumus: x ’ = x_awal + x_trans
y ‘ = y_awal + y_trans toh berikut
nslasi Objek Persegi Panjang;
import java
. awt
.; import
javax .
swing .;
publicclass Contoh1
extends JPanel
{ publicvoid
paintComponent Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
111 ansformasi Objek
k, bagian yang
objek tersebut. h adalah sistem
asi dikarenakan nsformasi terdapat
k 2 dimensi yaitu
mindahkan posisi sumbu z jika pada
an y saja. Fungsi
translatex_trans, y_trans;
kukan pada objek yang terjadi pada
perpindahan yang da akhirnya akan
ut merupakan titik tis, nilai x’ dan y’
import java
. awt
.; import
javax .
swing .;
publicclass Contoh1
extends JPanel
{ publicvoid
paintComponent Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
112
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 120
, 130
; g2d
. drawRect
10 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Sebelum Translasi
, 10
, 250
; g2d
. translate
200 ,
100 ;
method untuk translasi g2d
. fillRect
150 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Setelah Ditranslasi
, 150
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
; frame
. add
new Contoh1
; frame
. setSize
600 ,
420 ;
frame .
setLocationRelativeTo null
; frame
. setVisible
true ;
} }
Jika kode diatas dikom
Gam
3. Rotasi Objek
Rotasi merupaka posisisuatu benda ter
untuk melakukan rotasi
rotatederajat_rotasi
Parameter deraja 2 macam perbedaan,
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 120
, 130
; g2d
. drawRect
10 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Sebelum Translasi
, 10
, 250
; g2d
. translate
200 ,
100 ;
method untuk translasi g2d
. fillRect
150 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Setelah Ditranslasi
, 150
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
; frame
. add
new Contoh1
; frame
. setSize
600 ,
420 ;
frame .
setLocationRelativeTo null
; frame
. setVisible
true ;
} }
mpilasi, maka output-nya adalah
mbar 5. 1 Translasi objek Persegi
kan bentuk transformasi yang digunakan untuk terhadap suatu titik kordinat. Fungsi yang d
asi ialah :
rotatederajat_rotasi
ajat_rotasi yang dimasukkan pada fungsi rotat n, jika parameter derajat_rotasi bernilai post
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 120
, 130
; g2d
. drawRect
10 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Sebelum Translasi
, 10
, 250
; g2d
. translate
200 ,
100 ;
method untuk translasi g2d
. fillRect
150 ,
100 ,
120 ,
130 ;
g2d .
drawString Objek Setelah Ditranslasi
, 150
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
; frame
. add
new Contoh1
; frame
. setSize
600 ,
420 ;
frame .
setLocationRelativeTo null
; frame
. setVisible
true ;
} }
tuk memutar digunakan
rotatederajat_rotasi
tate memiliki postif, maka
objek akan diput derajat_rotasi be
Perhatikan conto
Contoh 2, Rotas
package contoh2
; import
java .
awt .;
import javax
. swing
.;
publicclass Contoh2
extends JPanel
{
publicvoid paintComponent
Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Tanpa Rotasi
, 10
, 250
;
g2d .
translate 450
, 100
;
g2d .
rotate 45
; method untuk rotasi
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Rotasi Positif
, 10
, 250
;
g2d .
translate 30
, 100
;
g2d .
rotate -
90 ;
method untuk rotasi g2d
. fillRect
10 ,
100 ,
140 ,
90 ;
g2d .
drawString Objek Rotasi Minus
, 10
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
;
frame .
add new
Contoh2 ;
frame .
setSize 700
, 420
;
frame .
setLocationRelativeTo null
;
frame .
setVisible true
; }
}
Jika kode diatas utar berlawanan arah jarum jam. Sedangkan
bernilai negatif, maka objek akan diputar seara toh berikut
tasi Objek Persegi Panjang;
package contoh2
; import
java .
awt .;
import javax
. swing
.;
publicclass Contoh2
extends JPanel
{
publicvoid paintComponent
Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Tanpa Rotasi
, 10
, 250
;
g2d .
translate 450
, 100
;
g2d .
rotate 45
; method untuk rotasi
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Rotasi Positif
, 10
, 250
;
g2d .
translate 30
, 100
;
g2d .
rotate -
90 ;
method untuk rotasi g2d
. fillRect
10 ,
100 ,
140 ,
90 ;
g2d .
drawString Objek Rotasi Minus
, 10
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
;
frame .
add new
Contoh2 ;
frame .
setSize 700
, 420
;
frame .
setLocationRelativeTo null
;
frame .
setVisible true
; }
}
s dikompilasi, maka output-nya adalah
113 an jika parameter
rah jarum jam.
package contoh2
; import
java .
awt .;
import javax
. swing
.;
publicclass Contoh2
extends JPanel
{
publicvoid paintComponent
Graphics g
{ super
. paintComponent
g ;
Graphics2D g2d =
Graphics2D g
;
Gambar bujur sangkar g2d
. setColor
Color .
BLUE ;
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Tanpa Rotasi
, 10
, 250
;
g2d .
translate 450
, 100
;
g2d .
rotate 45
; method untuk rotasi
g2d .
fillRect 10
, 100
, 140
, 90
;
g2d .
drawString Objek Rotasi Positif
, 10
, 250
;
g2d .
translate 30
, 100
;
g2d .
rotate -
90 ;
method untuk rotasi g2d
. fillRect
10 ,
100 ,
140 ,
90 ;
g2d .
drawString Objek Rotasi Minus
, 10
, 250
; }
publicstaticvoid main
String []
args {
JFrame frame =
new JFrame
Transformasi Objek 2 Dimensi ;
frame .
setDefaultCloseOperation JFrame
. EXIT_ON_CLOSE
;
frame .
add new
Contoh2 ;
frame .
setSize 700
, 420
;
frame .
setLocationRelativeTo null
;
frame .
setVisible true
; }
}