transformation modelling in 3d · pdf filekuasa yang telah memberikan berkat, ... (garis) ......

59
TRANSFORMATION MODELLING IN 3D WRITTEN BY : Marshal Samos M.Arif Rahman Neige Devi Samyono Shekar Denanda Megadyati Erfiandi 3IA15 UNIVERSITAS GUNADARMA 1

Upload: vukhanh

Post on 06-Feb-2018

234 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

TRANSFORMATION MODELLINGIN 3D

WRITTEN BY :

Marshal Samos

M.Arif Rahman

Neige Devi Samyono

Shekar Denanda Megadyati

Erfiandi

3IA15

UNIVERSITAS GUNADARMA

1

Page 2: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Kata Pengantar

Segala puji dan syukur penulis naikkan ke hadirat Allah S.W.T yang Maha

Kuasa yang telah memberikan berkat, anugerah dan karunia yang melimpah,

sehingga penulis dapat menyelesaikan buku berjudul “Transformasi Model

3D” Tingkat Pendidikan Perkuliahan untuk Mahasiswa Program Studi Pendi-

dikan Teknik Informatika.

Buku ini telah disusun untuk memberi kemudahan bagi mahasiswa dalam

mengenal dan memahami tentang Transformasi Model 3D yang termasuk

ke dalam Pengolahan Citra, dimana diharapkan pembaca dapat memahami

tentang titik-titik pada model tiga dimensi, sistem koordinat, transformasi,

translasi, rotasi, skala, refleksi, serta pemindahan pada animasi tiga dimen-

si. Materi pada buku setiap tema bahasan dapat dikembangkan melalui ke-

terampilan dan kreativitas dalam pemrograman menggunakan Processing,

sehingga dapat mendukung pengembangan dari kompetensi dasar itu sendi-

ri.

Penulisan buku ini diharapkan mampu mengembangkan kreativitas, ba-

ik secara mandiri maupun kelompok melalui pemahaman mengenai konsep

serta materi yang ada pada setiap sub bahasan.

Pada kesempatan kali ini, penulis mengucapkan terimakasih kepada se-

mua pihak yang telah memberi bantuan sehingga buku ini dapat terselesaik-

an. Penulis mengharapkan saran yang membangun dari pembaca agar dapat

mengembangkan buku ini menjadi lebih baik di lain hari, sehingga mampu

memberi manfaat bagi seluruh mahasiswa, khususnya pada bidang Teknik

Informatika.

Penulis

2

Page 3: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Daftar Isi

Kata Pengantar 2

Daftar Isi 5

1 Pendahuluan 6

1.1 Sistem Koordinat 3D . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.1 Sistem Koordinat Tangan Kiri . . . . . . . . . . . . . . 6

1.1.2 Sistem Koordinat Tangan Kanan . . . . . . . . . . . . . 7

1.2 Transformasi 3D . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1 Sifat 3 Dimensi . . . . . . . . . . . . . . . . . . . . . . 8

1.2.2 Modelling Transformation . . . . . . . . . . . . . . . . 9

2 Konsep Transformasi 3D 10

2.1 Matriks Transformasi . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.1 Transformasi Pada Bidang . . . . . . . . . . . . . . . . 10

2.1.2 Implementasi Transformasi . . . . . . . . . . . . . . . 23

2.2 Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.1 Pengertian Matriks . . . . . . . . . . . . . . . . . . . . 23

2.2.2 Operasi Matriks . . . . . . . . . . . . . . . . . . . . . . 26

2.2.3 Matriks Invers . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.4 Determinan Matriks . . . . . . . . . . . . . . . . . . . 29

3 Perangkat Lunak Transformasi 3D 34

3.1 Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1.1 Pengertian Processing . . . . . . . . . . . . . . . . . . 34

3.1.2 Mode Pemrograman . . . . . . . . . . . . . . . . . . . 34

3.1.3 Komentar . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.1.4 Pernyataan . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.4.1 Pernyataan Ungkapan . . . . . . . . . . . . . 36

3.1.4.2 Pernyataan Deklarasi/definisi . . . . . . . . . 36

3

Page 4: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

DAFTAR ISI DAFTAR ISI

3.1.4.3 Pernyataan Nol . . . . . . . . . . . . . . . . . 36

3.1.4.4 Pernyataan Majemuk . . . . . . . . . . . . . 36

3.1.4.5 Pernyataan Berkondisi : if dan switch . . . . 36

3.1.4.6 Pernyataan Pengulangan : do-while, while

dan for . . . . . . . . . . . . . . . . . . . . . 37

3.1.4.7 Pernyataan yang berhubungan dengan per-

nyataan pengulangan: break dan continue . 37

3.1.5 Sistem koordinat (Dimensi X, Y, Z) . . . . . . . . . . . 37

3.1.6 Bentuk 1 . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.1.6.1 point (titik) . . . . . . . . . . . . . . . . . . . 37

3.1.6.2 line (garis) . . . . . . . . . . . . . . . . . . . 38

3.1.6.3 rect . . . . . . . . . . . . . . . . . . . . . . . 39

3.1.6.4 ellipse . . . . . . . . . . . . . . . . . . . . . . 39

3.1.6.5 ellipseMode . . . . . . . . . . . . . . . . . . 40

3.1.6.6 Kurva . . . . . . . . . . . . . . . . . . . . . . 40

3.1.7 Data 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1.7.1 Variabel . . . . . . . . . . . . . . . . . . . . . 41

3.1.7.2 Tipe data . . . . . . . . . . . . . . . . . . . . 41

3.1.8 Kontrol 1 . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1.8.1 For . . . . . . . . . . . . . . . . . . . . . . . 42

3.1.9 Bentuk 2 . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1.9.1 BeginShape . . . . . . . . . . . . . . . . . . . 43

3.1.9.2 LINES, LINE_STRIP, LINE_LOOP, TRIANGLES,

QUADS, POLYGON, dan lain-lain . . . . . . . 46

3.1.10 Struktur 2 . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.1.10.1 Setup & Draw . . . . . . . . . . . . . . . . . 47

3.1.10.2 Method . . . . . . . . . . . . . . . . . . . . . 48

3.1.10.3 Parameter . . . . . . . . . . . . . . . . . . . . 48

3.1.11 Lingkungan 2 . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.11.1 Mengekspor dan dokumentasi . . . . . . . . 48

3.1.12 Kontrol 2 . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.12.1 If . . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.12.2 If & Else . . . . . . . . . . . . . . . . . . . . . 49

4 Studi Kasus Processing 51

4.1 Translate (Translasi) . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Scale (Skala). . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.3 Rotate (Rotasi). . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4

Page 5: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.4 Arm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Penutup 59

5.1 Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5

Page 6: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Bab 1

Pendahuluan

Tiga dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki

panjang, lebar, dan tinggi. Grafik tiga dimensi merupakan teknik penggam-

baran yang berpusat pada titik koordinat sumbu x (datar), sumbu y (tegak),

dan sumbu z (miring). Representasi dari data geometrik tiga dimensi se-

bagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika

komputer 2D. tiga dimensi, biasanya digunakan dalam penanganan grafis.

Perbedaan paling utama dari objek dua dimensi dan objek tiga dimensi yaitu

kedalamannya. Yaitu suatu jarak antara pengamat dengan suatu objek yang

dilihat (point of view). Jadi, jika objek 2 dimensi hanya menggunakan dua

ukuran (panjang dan lebar), maka tiga dimensi menggunakan tiga ukuran

meliputi panjang, lebar, kedalaman yang disimbolkan dengan sumbu x, y, z.

1.1 Sistem Koordinat 3D

Secara umum, sistem koordintat tiga dimensi dibedakan menjadi dua, yaitu

:

• Sistem Koordinat Tangan Kiri

• Sistem Koordinat Tangan Kanan

1.1.1 Sistem Koordinat Tangan Kiri

Sistem koordinat tangan kiri dapat digambarkan dengan tiga buah jari pa-

da tangan kiri dengan punggung tangan menghadap pengamat dengan jari

tengah sebagai sumbu z negatif, jari telunjuk sebagai sumbu y dan ibu ja-

ri sebagai sumbu x. Sistem koordinat tangan kiri digunakan agar objek 3

dimensi memiliki nilai z positif (jarak jauh dekat benda lebih terlihat).

6

Page 7: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN

Gambar 1.1: Sistem Koordinat Tangan Kiri

Gambar 1.2: Sistem Koordinat Tangan Kanan

1.1.2 Sistem Koordinat Tangan Kanan

Sistem koordinat tangan kanan dapat digambarkan dengan tiga buah jari

pada tangan kanan yang menghadap pengamat yaitu jari tengah sebagai

sumbu z positif, jari telunjuk sebagai sumbu y dan ibu jari sebagai sumbu

x. Sistem koordinat tangan kanan banyak digunakan pada penggambaran

geometri.

1.2 Transformasi 3D

Transformasi merupakan suatu metode untuk mengubah lokasi suatu titik

pembentuk objek, sehingga objek tersebut mengalami perubahan. Perubah-

an objek dengan mengubah koordinat dan ukuran suatu objek disebut de-

ngan transformasi geometri Transformasi 3D pada dasarnya hampir sama

dengan transformasi 2D, hanya pada 3D kita menghitung sumbu Z. Sama

7

Page 8: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN

seperti pada 2D, ada tiga transformasi dasar yang dapat dilakukan terhadap

verteks, yaitu:

1. Translasi : Suatu pergerakan atau perpindahan semua titik dari objek

pada suatu jalur.

2. Pensekalaan : Memperbesar atau memperkecil suatu ukuran dari sebu-

ah objek deangan ukuran tertentu.

3. Rotasi : Mereposisi semua titik semua titik dari suatu objek sepanjang

jalur lingkaran dengan pusatnya pada titik pivot.

Titik hasil transformasi dapat diperoleh melalui rumus affine transformation.

Dimana:

• Q : (Qx, Qy, Qz) menyatakan matrix 1x3 yang berisi titik hasil transfor-

masi.

• P : (Px, Py, Pz) menyatakan matrik 1x3 yang berisi titik yang akan

ditransformasi.

• Tr : (trx, try, trz) menyatakan matriks 1x3 yang berisi banyaknya per-

geseran sumbu x,y, z.

• M : Matriks transformasi berukuran 3x3 seperti berikut

1.2.1 Sifat 3 Dimensi

Setiap titik dalam 3 dimensi ditentukan oleh tiga posisi :

• x : jarak titik tersebut terhadap sumbu x

• y : jarak titik tersebut terhadap sumbu y

• z : jarak titik tersebut terhadap sumbu z

8

Page 9: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN

Posisi sebuah titik dalam 3 dimensi dituliskan dalam bentuk (x,y,z). Kompu-

ter dapat digunakan untuk mengolah benda tiga dimensi. Ada tiga persoalan

dalam mengolah benda tiga dimensi menggunakan komputer :

• Pembuatan lokasi titik 3D

• Manipulasi titik 3D

• Transformasi titik 3D menjadi 2D

Proses yang digunakan untuk menghasilkan lokasi titik-titik 3D yang me-

nunjukkan bentuk dari benda 3D. Ada 3 macam proses untuk menghasilkan

lokasi titik 3D :

• Penentuan langsung menggunakan peralatan seperti mouse3D, scan-

ner3D berbagai peralatan lain

• Menggunakan parametric surface

• Menggunakan prosedur khusus seperti extrude dan surface of revolu-

tion

1.2.2 Modelling Transformation

Menempatkan model pada sistem koordinat yang disebut world space. Se-

mua objek, sumber cahaya, dan sudut pandang pengamat berada pada world

space.

9

Page 10: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Bab 2

Konsep Transformasi 3D

2.1 Matriks Transformasi

2.1.1 Transformasi Pada Bidang

Transformasi digunakan untuk untuk memindahkan suatu titik atau bangun

pada suatu bidang. Transformasi geometri adalah bagian dari geometri yang

membahas tentang perubahan (letak,bentuk , penyajian) yang didasarkan

dengan gambar dan matriks. Transformasi pada bidang terdiri dari 3 macam

:

• Translasi (Pergeseran).

Translasi adalah transformasi dengan bentuk yang tetap, memindahkan ob-

jek apa adanya. Setiap titik dari objek akan ditranslasikan dengan besaran

yang sama. Dalam operasi translasi, setiap titik pada suatu entitas yang

ditranslasi bergerak dalam jarak yang sama. Pergerakan tersebut dapat ber-

laku dalam arah sumbu X saja, atau dalam arah sumbu Y saja, atau dalam

arah sumbu Z saja, atau ketiganya.Transformasi translasi juga merupakan

operasi yang menyebabkan perpindahan objek tiga dimensi dari satu tempat

ke tempat yang lainnya. Perubahan ini berlaku dalam arah yang sejajar de-

ngan sumbu x, y, z. dalam operasi translasi, setiap titik pada suatu entitas

yang ditranslasi bergerak dalam jarak yang sama. Pergerakan tersebut dapat

berlaku dalam arah sumbu x, y, z. Untuk mentranslasikan suatu titik (x,y,z)

dengan pergeseran sebesar (tx, ty, tz) menjadi titik (x”,y”,z”) adalah:

Untuk invers dari translasi dapat dilakukan dengan mengubah nilai vek-

tor translasi menjadi negatif.

10

Page 11: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Perpindahan titik-titik pada bidang dengan jarak dan arah tertentu yang

diwakili oleh ruas garis berarah (Vector) atau dengan suatu pasangan

bilangan. Misal

Translasi memetakan titik P(x1 ,y1 ) ke titik P ’( x1 + a, y1

+ b ) yang dinotasikan dengan:

Contoh Perhitungan :

1. Bayangan titik P(3,5) oleh translasi adalah.......

Jawab:

11

Page 12: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Jadi, bayangan titik P(3,5) oleh translasi adalah (1, 8).

2. Sebagai contoh perhitungan digunakan titik 2 pada piramida. Titik

2 memiliki koordinat awal (-0,50, -0,50, 0,50) ditranslasikan sebesar (1,00

1,00 - 1,00). Dengan menggunakan persamaan 2.3, 2.4, dan 2.5 maka:

Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain

• Rotasi (Rotate)

Menurut Hearn-Baker, transformasi rotasi dilakukan dengan memindahkan

semua titik-titik dari suatu objek ke posisi yang baru dengan memutar titik-

titik tersebut dengan sudut dan sumbu putar yang ditentukan[1]. Rotasi

memiliki matriks seperti pada persamaan 2.9, 2.11, dan 2.13. Tiap sumbu

memiliki matriks rotasi yang bebeda.

12

Page 13: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka

perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah

pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami

pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke

atas bawah. Rotasi berbeda dengan translasi karena perubahan posisi pada

translasi tidak mengacu pada suatu titik tertentu. Keistimewaan dari rota-

si adalah jarak antara titik pusat dengan masing-masing bagian dari obyek

yang diputar akan selalu tetap, seberapa jauh pun obyek itu diputar. Pada

sebuah game yang menggunakan grafik vektor dan grafik bitmap, rotasi dan

translasi sangat di butuhkan. Untuk membangkitkan rotasi pada objek 3D

kita harus membuat aksis dari rotasi dan jumlah sudut rotasi . Sebagai pusat

perputaran,rotasi 3D menggunakan sumbu koordinat sebagai pusat perpu-

taran. Dengan demikian ada 3 macam rotasi yang dapat dilakukan, yaitu:

1. Rotasi terhadap sumbu X

2. Rotasi terhadap sumbu Y

3. Rotasi terhadap sumbu Z

Rotasi terhadap sumbu X, Y, dan Z diperlihakan seperti pada gambar berikut

.

Dengan menggunakan notasi matrix, maka besaran R bisa dikatakan sbb:

Mengingat ada 3 buah sumbu rotasi maka matriks transformasi yang di-

gunakan juga bergantung kepada sumbu putar. Adapun isi masing-masing

transformasi sesuai dengan sumbu putar didefinisikan sebagai berikut

13

Page 14: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

ROTASI TERHADAP GARIS YANG SEJAJAR DENGAN SUMBU KOORDI-

NAT.

Rotasi terhadap garis yg sejajar dgn sumbu koordinat. Urutan transfor-

masi:

• Translasi, sampai garis sumbu rotasi berhimpit dengan salah satu sum-

bu koordinat

• Rotasi terhadap sumbu koordinat tersebut

• Translasi balik, hingga sumbu rotasi kembali ke posisi semula

ROTASI TERHADAP GARIS SEBARANG

Urutan transformasi:

• Translasi, sampai sumbu rotasi memotong salah satu sumbu koordinat

• Rotasi, sampai sumbu rotasi berhimpit dengan salah satu sumbu koo-

rdinat

• Rotasi terhadap sumbu koordinat tersebut

• Rotasi balik, hingga sumbu rotasi kembali ke kemiringan semula

• Translasi balik, hingga sumbu rotasi kembali ke posisi semula

Contoh Perhitungan:

14

Page 15: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

1. Sebagai contoh perhitungan digunakan titik 2 pada piramida. Titik 2

memiliki koordinat awal (-0,50, -0,50, 0,50) dirotasikan dengan sudut 30o

dan sumbu ry=1. Maka yang pertama dilakukan adalah menghitung pan-

jang vektor koordinat awal

Langkah kedua adalah vektor s diubah menjadi unit vektor dengan mem-

bagi vektor dengan panjang absolut vektor.

Langkah ketiga adalah mencari besar sudut alpha yang dibentuk oleh

vektor s dan u2 (vektor searah sumbu y positif).

Langkah keempat adalah mencari besar sudut betha yang dibentuk oleh

vektor u (x, 0, z) dan u1 (vektor searah sumbu x positif).

15

Page 16: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Karena vektor u bernilai 0 maka sudut betha yang dibentuk oleh vektor

u dan u1 bernilai 0o.

Langkah kelima adalah memutar titik pada sumbu Y sehingga terletak di

bidang XY.

Langkah keenam adalah memutar titik pada sumbu z sehingga terletak

di bidang di sumbu y.

16

Page 17: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Langkah keenam adalah memutar titik pada sumbu z sebesar sudut yang

ditentukan untuk transformasi rotasi.

Langkah ketujuh adalah memutar balik titik sebesar –alpha pada sumbu

Z.

17

Page 18: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Langkah kedelapan adalah memutar balik titik sebesar –betha pada sum-

bu Y.

Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain.

• Skala (Scale)

Skala merupakan salah satu bentuk transformasi yang merubah ukuran dari

objek yang ditentukan, baik membesar ataupun mengecil. Perubahan ukur-

an tersebut didasarkan pada sumbu x, sumbu y, maupun sumbu z, dimana

jika yang diubah hanya sumbu x, maka besarnya objek akan berubah sesuai

dengan sumbu x baru yang telah ditentukan, begitu pula jika diubah terha-

dap sumbu dan zy, maka objek akan menguikuti perubahan sesuai sumbu

y maupun z baru yang telah ditentukan. Perubahan skala diperoleh dari

18

Page 19: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

mengalikan nilai koordinat objek dengan skala tertentu sesuai dengan sum-

bu masing - masing. Bentuk dari matriks skala adalah:

Penskalaan Titik Acuan Sembarang (xf,yf,zf)

• Translasi hingga (xf,yf,zf) berhimpit dengan (0,0,0)

• Penskalaan objek relatif terhadap (0,0,0)

• Translasi balik hingga (xf,yf,zf) kembali ke posisi semula

Transformasi penskalaan merupakan transformasi yang berfungsi meng-

ubah ukuran suatu objek. Ukurannya dapat menjadi lebih kecil atau lebih

besar. Penskalaan memiliki matriks seperti pada persamaan di bawah ini:

Berikut contoh penggunaannya:

Operasi invers dapat dilakukan dengan mengubah sx, sy, dan sz menjadi

1/sx, 1/sy, 1/sz sehingga hasil perkalian matriks menjadi [x/sx y/sy z/sz 1].

19

Page 20: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Penskalaan juga dilakukan dengan mengisi tr = (0,0,0) dan matriks M

diatur seperti berikut:

Contoh perhitungan:

1. Diketahui sebuah prisma dengan lokasi verteks seperti pada tabel ber-

ikut:

Prisma tersebut akan diskala sebesar Sx=2, Sy=2, Sz = 2. Hitunglah

lokasi verteks setelah di skala.

Jawab:

Lokasi verteks hasil penskalaan dapat diperoleh dengan matriks M:

Hasil lengkap penskalaan ditunjukkan pada tabel berikut, dan gambar

memperlihatkan benda sebelum dan sesudah dilakukan penskalaan.

20

Page 21: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

21

Page 22: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D

Penskalaan dilakukan dengan menggunakan titik pusat(0,0,0).

Kita dapat melakukan pembesaran, pengecilan, pencerminan de-

ngan mengatur Sx, Sy, Sz seperti pada tabel.

2. Sebagai contoh perhitungan digunakan titik 2 pada piramida. Titik 2

memiliki koordinat awal (-0,50, -0,50, 0,50) diskalakan sebesar (2,00, 2,00,

2,00). Dengan menggunakan persamaan 2.8 maka:

22

Page 23: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain.

2.1.2 Implementasi Transformasi

Dalam mengimplementasikan transformasi diperlukan beberapa operasi se-

perti perkalian matriks, mengidentitaskan matriks, translasi, penskalaan, ro-

tasi, dan shearing. Operasi-operasi tersebut dibuat dalam bentuk prosedur-

prosedur seperti berikut.

• Perkalian Matriks

Perkalian matriks dibutukan untuk melakukan transformasi geometri. Misal-

nya mengalikan matriks translasi dengan matriks penskalaan untuk transfor-

masi berturut-turut.

• Matriks Identitas

Matriks identitas digunakan untuk menolkan suatu matriks transformasi.

• Matriks Transformasi

Operasi matriks transformasi digunakan untuk mengalikan suatu titik 3 di-

mensi dengan matriks transformasi sehingga diperoleh titik hasil transfor-

masinya

Dari ketiga jenis transformasi diatas, proses perhitungan dan penyelasa-

iannya menggunakan operasi Matriks.Dari ketiga jenis transformasi diatas,

proses perhitungan dan penyelasaiannya menggunakan operasi Matriks.

2.2 Matriks

2.2.1 Pengertian Matriks

Memahami matriks dan operasinya merupakan langkah awal dalam mema-

hami buku ini. Beberapa masalah real dapat direpresentasikan dalam bentuk

23

Page 24: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

matriks. Masalah tersebut antara lain : grafika dan citra, chanel assignment

pada telekomunikasi, rantai markov, Operation Research, dan lain-lain. Pada

bab ini, selain menjelaskan tentang matriks dan operasi dasar pada matriks,

juga akan memaparkan tentang operasi baris elementer sebagai alat analisa

yang akan terus digunakan menelaah dalam buku ini. Matriks merupakan

kumpulan bilangan yang berbentuk segi empat yang tersusun dalam baris

dan kolom.

Contoh 1.1 : Notasi suatu matriks dalam buku ini dituliskan dalam ben-

tuk :

aij untuk setiap i= 1, 2,..., m dan j= 1, 2,...,n dinamakan unsur/entri/elemen

matriks yang terletak pada baris ke-I dan kolom ke-j. Ukuran(orde) suatu

matriks merupakan jumlah baris kali jumlah kolom. Jadi, A pada Contoh 1.1

merupakan matriks berukuran mx n. Jika semua unsurnya matriks bernilai

nol maka matriks tersebut dinamakan matriks nol. Misalkan Adan Badalah

matriks berukuran sama, dapat dikatakan bahwa A = B, jika unsur-unsur

matriks yang seletak pada kedua matriks tersebut adalah sama.

Ada beberapa jenis matriks yang perlu diketahui, sehingga diharapkan

akan menjadi dasar untuk pemahaman yang lebih lanjut dalam mempelajari

buku ini.

Jenis–jenis matriks tersebut meliputi :

• Matriks bujur sangkar (persegi)

Matriks bujur sangkar merupakan matriks yang jumlah baris dan jumlah ko-

lomnya adalah sama, dengan kata lain ukuran dari matriks bujur sangkar

adalah n x n.

B adalah matriks bujur sangkar berukuran 3 x 3.

• Matriks diagonal

24

Page 25: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Matriks diagonal adalah matriks bujur sangkar dimana unsur selain unsur

diagonalnya adalah 0. Jika i= j maka aijdinamakan unsur diagonal. Semen-

tara itu, Jika setiap unsur diagonal pada matriks diagonal sama dengan 1

maka matriks tersebut dinamakan matriks identitas (matriks satuan) .

Berikut ini adalah contoh matriks diagonal dan matriks identitas :

Matriks diagonal 3x3

Matriks identitas 3x3

• Matriks segitiga

Ada dua macam matriks segitiga, yaitu :

1. Matriks segitiga atas

2. Matriks segitiga bawah.

Matriks segitiga atas adalah matriks bujur sangkar yang semua unsur diba-

wah unsur diagonalnya bernilai 0, sedangkan matriks segitiga bawah adalah

matriks bujur sangkar yang semua unsur diatas unsur diagonalnya bernilai

0.

• Matrik transpos A(notasi, At)

25

Page 26: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Matriks transpos diperoleh dengan mengubah baris matriks Amenjadi kolom

matriks pada matriks At

• Matriks simetri . Misalkan A merupakan suatu matriks bujur sangkar,

maka Adinamakan matriks simetri jika memenuhi hubungan : A= At

2.2.2 Operasi Matriks

Ada beberapa operasi matriks yang perlu diketahui, yaitu penjumlahan anta-

ra dua matriks, perkalian antar skalar dan matriks, perkalian antar matriks,

dan operasi baris (operasi yang dikenakan pada unsur-unsur baris dalam su-

atu matriks). Berikut ini adalah penjelasan dari beberapa operasi yang telah

disebutkan di atas.

26

Page 27: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

• Penjumlahan Matriks

Agar dua buah matriks dapat dijumlahkan, maka syarat yang harus dipenuhi

oleh keduanya adalah ukuran kedua matriks tersebut harus sama. Penjum-

lahan dua buah matriks akan menghasilkan sebuah matriks dengan ukuran

yang sama dengan kedua matriks yang dijumlahkan, dan setiap unsur dida-

lamnya merupakan hasil penjumlahan dari unsur yang seletak pada kedua

martriks tersebut.

• Perkalian Matriks

1. Perkalian suatu matriks dengan skalar Suatu matriks yang dikalikan

dengan skalar akan menghasilkan matriks dengan ukuran yang sa-

ma tetapi setiap unsur pada matriks dikalikan dengan skalar tersebut.

2. Perkalian suatu matriks dengan matriks lain. Misalkan matriks Amxn

dan Bpxq, maka :

• Ax B bisa dilakukan jika n= p dan hasilnya berukuran mx q

• B x A bisa dilakukan jika q= m dan hasilnya berukuran px n

27

Page 28: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Perhatikan bahwa unsur baris ke-2 kolom ke-1 dari AB merupakan jumlah

dari hasil kali unsur-unsur pada baris ke-2 matriks A dengan unsur-unsur

pada kolom ke-1 matriks B.

Khusus untuk perkalian antara dua matriks, jika Adan B merupakan ma-

triks bujursangkar, maka belum tentu AB= BA (tidak berlaku sifat komu-

tatif). Selain kedua operasi diatas, ada juga operasi pada matriks yang di-

kenakan pada setiap baris pada matriks tersebut. Operasi yang demikian

dinamakan Operasi Baris Elementer (OBE).

2.2.3 Matriks Invers

Misalkan, A, B adalah matriks bujur sangkar yang berukuran sama dan I ada-

lah matriks identitas. Jika A . B = I maka B dinamakan invers dari matriks A

(sebaliknya, A merupakan invers dari matriks B). Notasi bahwa B merupakan

28

Page 29: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

matriks invers dari A adalah dan sebaliknya

Cara dalam penentuan matriks invers dari suatu matriks dapat dilakukan

melalui OBE, yaitu :

Matriks Apada ruas kiri dikenakan operasi baris elementer secara bersa-

maan dengan matriks identitas pada ruas kanan sehingga matriks Amenjadi

matriks identitas, sementara itu matriks identitas menjadi suatu matriks in-

vers dari A. Jika pada proses operasi baris elementer ditemukan baris nol

pada matriks ruas kiri maka A dikatakan tidak mempunyai invers. Matriks

yang tidak mempunyai invers dinamakan matriks singular.

Beberapa sifat matriks invers yang perlu diketahui adalah :

2.2.4 Determinan Matriks

Untuk setiap matriks persegi terdapat suatu bilangan tertentu yang disebut

determinan. Pengertian Determinan matriks adalah jumlah semua hasil per-

kalian elementer yang bertanda dari A dan dinyatakan dengan det(A). Yang

diartikan dengan sebuah hasil perkalian elementer bertanda dari suatu ma-

triks A adalah sebuah hasil perkalian elementer pada suatu kolom dengan

+1 atau -1. Untuk lebih jelasnya, berikut ini diuraikan cara mencari deter-

minan matriks berordo 2x2 dan matriks berordo 3x3.

• Determinan Matriks Berordo 2x2

Jika matriks maka det

29

Page 30: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Sebagai pengingat ketentuan di atas diperoleh dari

• Determinan Matriks Berordo 3x3

Untuk mencari determinan matriks berordo 3 X 3 dapat digunakan dua me-

tode, sebagai berikut :

Metode Sarus

Jika matriks

30

Page 31: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

maka det(B)

Sebagai pengingat ketentuan di atas diperoleh dari

Perlu diperhatikan bahwa cara demikian tidak berlaku bila matriks bero-

rdo 4x4 dan yang lebih tinggi lagi.

• Metode Kofaktor

31

Page 32: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

Terlebih dahulu siswa dijelaskan tentang sub matriks atau minor dari suatu

matriks. Minor suatu matriks A dilambangkan dengan M ij adalah matriks

bagian dari A yang diperoleh dengan cara menghilangkan elemen-elemennya

pada baris ke-i dan elemen-elemen pada kolom ke-j.

M 11 , M 12 dan M 13 merupakan submatriks hasil ekspansi baris ke-1

dari matriks Q. Kofaktor suatu elemen baris ke-i dan kolom ke-j dari matriks

A dilambangkan dengan K ij = (-1) j i + ij M = (-1) j i + det (M ij ) Untuk

mencari det(A) dengan metode kofaktor cukup mengambil satu ekspansi saja

misal ekspansi baris ke-1 .

Untuk mendapatkan det(Q) dengan metode kofaktor

adalah mencari terlebih dahulu determinan-determinan minornya yang di-

peroleh dari ekspansi baris ke-1 diatas, yaitu det(M 11 )=-13 , det(M 12

)=-26 dan det(M 13 ) =-13, maka :

32

Page 33: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D

33

Page 34: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Bab 3

Perangkat Lunak Transformasi 3D

3.1 Processing

3.1.1 Pengertian Processing

Processing adalah suatu projek terbuka yang diinisiasi oleh Ben Fry dan Ca-

sey Reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Com-

putation Group (ACG) di MIT Media Lab. Projek ini kini terus diperbaiki dan

dikelola oleh sejumlah kecil tim voluntir. Processing mengaitkan konsep sof-

tware pada prinsip-prinsip bentuk rupa, gerak, dan interaksi. Processing

mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman,

dan metodologi pengajaran ke dalam sistem terpadu.

3.1.2 Mode Pemrograman

Dalam Processing struktur program dapat dibuat dalam tiga tingkat kom-

pleksitas: Mode Statik, Mode Aktif, dan Mode Java.

• Mode Statik

Mode Statik digunakan untuk membuat gambar statik. Contoh berikut meng-

gambar sebuah segi empat kuning di layar.

• Mode Aktif

Mode Aktif menyediakan bagian setup() opsional yang akan berjalan ketika

program mulai berjalan. Bagian draw() akan berjalan selamanya sampai

progam dihentikan. Contoh ini menggambar segi empat yang mengikuti

34

Page 35: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

posisi mouse (disimpan dalam variabel mouseX dan mouseY). Perhatikan

bahwa panggilan ke method background() terletak di setup() karena hanya

diperlukan sekali.

• Mode Java

Mode Java adalah yang paling fleksibel, namun tidak tersedia sampai dengan

rilis Processing 1.0 Beta. Mode ini memungkinkan menulis program Java

secara lengkap di dalam Lingkugan Processing. Contoh ini sama dengan di

atas, namun ditulis dalam style Java:

3.1.3 Komentar

Komentar merupakan bagian yang penting dalam program. Kehadirannya

sangat membantu pemrogram maupun orang lain dalam memahami pro-

gram, karena berupa

penjelasan-penjelasan mengenai program atau bagian-bagian dari pro-

gram. Dalam hal ini penjelasannya bisa berupa:

• Tujuan atau fungsi program

• Saat program dibuat atau direvisi

• Keterangan - keterangan lain tentang kegunaan dari sejumlah pernya-

taan dalam program.

35

Page 36: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

3.1.4 Pernyataan

Pernyataan (statement) digunakan untuk melakukan suatu tindakan. Terda-

pat berbagai macam pernyataan.

3.1.4.1 Pernyataan Ungkapan

Pernyataan ungkapan merupakan bentuk pernyataan yang paling umum di-

pakai. Pernyataan ini terdiri dari sebuah ungkapan dan diakhiri dengan

titik-koma (;). Biasanya pernyataan ungkapan ini berupa penugasan nilai

terhadap variabel atau pemanggilan fungsi.

3.1.4.2 Pernyataan Deklarasi/definisi

Pernyataan ini digunakan untuk memperkenalkan nama variabel ataupun

pengenal yang lain beserta tipe datanya.

3.1.4.3 Pernyataan Nol

Pernyataan nol atau pernyataan kosong adalah pernyataan yang berisi titik-

koma saja. Perintah ini tidak melaksanakan apa-apa. Tetapi kehadirannya

kadang-kadang diperlukan. Misalnya pada kaidah suatu pernyataan yang

memerlukan pernyataan lain, padahal pernyataan lain tersebut tidak diper-

lukan.

3.1.4.4 Pernyataan Majemuk

Pernyataan majemuk sering kali disebut dengan istilah blok. Yang dimak-

sudkan pernyataan ini adalah nol atau sejumlah pernyataan yang berada di

dalam kurung kurawal.

3.1.4.5 Pernyataan Berkondisi : if dan switch

Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu

kondisi. Pernyataan switch adalah pernyataan yang digunakan untuk menja-

lankan salah satu pernyataan dari beberapa kemungkinan pernyataan, ber-

dasarkan nilai dari sebuah ungkapan dan nilai penyeleksi. Secara singkatnya

pernyataan ini merupakan pernyataan pilihan berganda.

36

Page 37: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

3.1.4.6 Pernyataan Pengulangan : do-while, while dan for

Pernyataan while merupakan salah satu pernyataan yang berguna untuk

memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Per-

nyataan do-while juga berguna untuk mengulangi proses. Pernyataan for

juga berguna untuk mengulang pengeksekusian terhadap satu atau sejum-

lah pernyataan.

3.1.4.7 Pernyataan yang berhubungan dengan pernyataan pengulang-

an: break dan continue

Pernyataan break digunakan pada pernyataan switch, for, while dan do-

while. Kegunaannya yaitu untuk memekasa keluar dari pernyataan-pernyataan

itu. Pernyataan continue dipakai untuk mengarahkan eksekusi ke putaran

atau iterasi berikutnya pada pernyataan pengulangan.

3.1.5 Sistem koordinat (Dimensi X, Y, Z)

Processing menggunakan sistem koordinat kartesian dengan titik asal terle-

tak di sudut kiri-atas. Bila program berukuran lebar 320 piksel dan lebar 240

piksel, maka koordinat [0, 0] terletak di kiri-atas dan koordinat [320, 240]

terletak di kanan bawah.

3.1.6 Bentuk 1

3.1.6.1 point (titik)

Nama: Point() point(30, 20);

point(85, 20);

point(85, 75);

point(30, 75);

37

Page 38: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Point atau titik adalah koordinat dalam ruang. Dalam Proces-

sing, point memiliki dimensi satu piksel. Parameter pertama adalah nilai

horizontal dari point, nilai kedua adalah nilai vertikal dari point, dan nilai

opsional ketiga adalah nilai kedalaman.

Sintaks point(x1, y1);

point(x1, y1, z1);

Parameter x1 int atau float: koordinat x dari point y1 int atau float: koo-

rdinat y dari point z1 int atau float: koordinat z dari point

Mengembalikan nilai: tidak

Penggunaan: Web dan aplikasi

Perintah terkait: beginshape()

3.1.6.2 line (garis)

Nama:line() line(30, 20, 85, 75);

line(30, 20, 85, 20);

stroke(126);

line(85, 20, 85, 75);

stroke(255);

line(85, 75, 30, 75);

Deskripsi line adalah garis langsung antara dua point. Versi line() dengan

empat parameter menggambar garis dalam bidang XY dengan Z=0. Versi

dengan enam parameter memungkinkan garis ditempatkan dimana saja di

dalam ruang XYZ. Untuk mewarnai garis, gunakan fungsi stroke(). Sebuah

garis tidak dapat diisi warna, dengan demikian method fill() tidak dapat

mempengaruhi warna garis. Garis digambar dengan lebar satu piksel.

38

Page 39: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Sintaks line(x1, y1, x2, y2); line(x1, y1, z1, x2, y2, z2);

Parameter x1 int atau float: koordinat x dari titik pertama y1 int atau float:

koordinat y dari titik pertama z1 int atau float: koordinat z dari titik pertama

x2 int atau float: koordinat x dari titik kedua y2 int atau float: koordinat y

dari titik kedua z2 int atau float: koordinat z dari titik kedua

Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi Perintah ter-

kait: beginShape()

3.1.6.3 rect

Nama: rect() rect(30, 20, 55, 55);

Deskripsi Menggambar rectangle atau segi empat di layar. Sebuah segi em-

pat adalah bentuk yang memiliki empat sisi dan setiap sisi mempunyai sudut

90 derajat. Dua parameter pertama mengeset letak, yang ketiga mengeset

lebar, yang keempat mengeset tinggi. Titik asal dapat diubah dengan meng-

gunakan fungsi rectMode().

Sintaks rect(x, y, lebar, tinggi);

Parameter x int atau float: koordinat x dari segi empat y int atau float:

koordinat y dari segi empat lebar int atau float: lebar dari segi empat tinggi

int atau float: tinggi dari segi empat

Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi

3.1.6.4 ellipse

Nama: ellipse() ellipse(30, 20, 55, 55);

39

Page 40: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Menggambar ellipse (oval) atau bentuk lonjong pada jendela

display. Sebuah ellipse dengan lebar dan tinggi yang sama adalah sebuah

lingkaran. Dua parameter pertama mengeset letak, yang ketiga mengeset

lebar, dan yang keempat mnegeset tinggi. Titik asal dapat diubah dengan

fungsi ellipseMode().

Sintaks ellipse(x, y, lebar, tinggi);

Parameter x int atau float: koordinat x dari elips y int atau float: koordinat

y dari elips width int atau float: lebar dari elips height int atau float: tinggi

dari elips

Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi

3.1.6.5 ellipseMode

Nama: ellipseMode() ellipseMode(CENTER); ellipse(35, 35, 50, 50); elli-

pseMode(CORNER); fill(102); ellipse(35, 35, 50, 50);

Deskripsi Titik asal dari ellipse dapat diubah dengan fungsi ellipseMode().

mode default dari ellipse mode adalah ellipseMode(CORNER), yang menen-

tukan titik asal ellipse terletak di sisi kiri atas batas kotak yang membentuk

ellipse. Memanggil fungsi ellipseMode(CENTER_DIAMETER) akan meng-

gambar bentuk ellipse dari pusat ellips. Parameter harus ditulis dengan "HU-

RUF BESAR" semuanya karena Processing adalah bahasa case sensitive atau

membedakan huruf besar dan huruf kecil.

Sintaks ellipseMode(MODE);

Parameter MODE CORNER, CORNERS, CENTER, atau RADIUS.

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi Perintah ter-

kait: ellipse()

3.1.6.6 Kurva

Nama: curve() curve(10, 26, 83, 24, 83, 61, 25, 65);

40

Page 41: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Menggambar garis kurva di layar. Parameter pertama dan kedua

menentukan titik pertama dari kurva, dua parameter terakhir menentukan

titik kedua dari kurva. Parameter-parameter di tengah mengeset bentuk dari

kurva. Fungsi tambahan curveMode() memberikan kontrol pada kualitas

visual dari kurva. Fungsi curve() adalah sebuah implementasi dari Catmull-

Rom splines.

Sintaks curve(x1, y1, x2, y2, x3, y3, x4, y4);

Parameter x1 int atau float: koordinat x dari titik pertama y1 int atau float:

koordinat y dari titik pertama x2 int atau float: koordinat x dari titik kedua

y2 int atau float: koordinat y dari titik kedua x3 int atau float: koordinat

x dari titik ketiga y3 int atau float: koordinat y dari titik ketiga x4 int atau

float: koordinat x dari titik keempat y4 int atau float: koordinat y dari titik

keempat

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi

3.1.7 Data 1

3.1.7.1 Variabel

Variabel merupakan komponen penting pada pemrograman. Variabel digu-

nakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada pa-

danya dapat diubah selama eksekusi program berlangsung. Bentuk pendefi-

nisian variabel:

tipe daftar_variabel;

Contoh :

int jumlah; float harga_per_unit, total_harga;

3.1.7.2 Tipe data

Secara internal, semua data di dalam komputer digital modern disimpan se-

bagai bilangan biner nol atau satu. Data biasanya merepresentasikan infor-

masi dalam dunia nyata seperti nama, rekening bank, dan lain sebagainya,

41

Page 42: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

dan data biner tingkat rendah (lowlevel) diatur sedemikian rupa oleh bahasa

pemrogaman menjadi konsep-konsep tingkat tinggi (nama, rekening bank,

dan lain sebagainya). Secara praktek, tipe data digunakan untuk memberi

nama atau label bagi suatu nilai atau operasi yang bisa dilakukan oleh nilai

tersebut. Tipe data dapat diklasifikasikan menurut kategori-kategori sebagai

berikut: • Tipe data primitif, merupakan tipe data paling sederhana seperti

integer dan bilangan floating point, • Tipe data bentukan, tipe yang dibentuk

dari tipe dasar, seperti tipe data abstrak, • Sub-tipe atau tipe turunan, • Tipe

data fungsi, contohnya fungsi biner, • Tipe data obyek, contohnya variabel

tipe, • Tipe data kelas (class), contohnya obyek dalam bahasa pemrograman

dengan metode berorientasi obyek, • Dan lain sebagainya.

3.1.8 Kontrol 1

3.1.8.1 For

Nama: for() for(int i=0; i<40; i=i+1) { line(30, i, 80, i); }

for(int i=0; i<80; i=i+5) { line(30, i, 80, i); }

for(int i=40; i<80; i=i+5) { line(30, i, 80, i); }

for(int i=30; i<80; i=i+5) { for(int j=0; j<80; j=j+5) { point(i, j); } }

42

Page 43: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Mengontrol urutan pengulangan/loop. Struktur for() terdiri da-

ri tiga bagian: init, test, dan update. Tiap bagian tersebut harus dipisahkan

oleh titik-koma ";". Loop akan berlanjut sampai dengan test bernilai false.

Ketika for() dieksekusi, terjadi event berikut: 1. Statement init dieksekusi

2. Test dievaluasi apakah menghasilkan true atau false 3. Bila test meng-

hasilkan true, lanjutkan ke step 4. Bila test menghasilkan, loncat ke step 6

4. Eksekusi pernyataan di dalam blok 5. Eksekusi pernyataan update dan

kembali ke step 2 6. Keluar dari loop.

Sintaks for(init; test; update) { pernyataan }

Parameter init pernyataan dieksekusi sekali ketika memulai loop test bila

tes menhasilkan true, pernyataan dieksekusi update dieksekusi pada bagian

akhir dari tiap pengulangan pernyataan kumpulan pernyataan yang diekse-

kusi setiap saat selama loop

Penggunaan: Web dan aplikasi Perintah terkait: while()

3.1.9 Bentuk 2

3.1.9.1 BeginShape

Nama: beginShape() beginShape(POINTS); vertex(30, 20); vertex(85,

20); vertex(85, 75); vertex(30, 75); endShape();

beginShape(LINES); vertex(30, 20); vertex(85, 20); vertex(85, 75); ver-

tex(30, 75); endShape();

beginShape(LINE_STRIP); vertex(30, 20); vertex(85, 20); vertex(85, 75);

vertex(30, 75); endShape();

43

Page 44: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

beginShape(LINE_LOOP); vertex(30, 20); vertex(85, 20); vertex(85, 75);

vertex(30, 75); endShape();

beginShape(TRIANGLES); vertex(30, 75); vertex(40, 20); vertex(50, 75);

vertex(60, 20); vertex(70, 75); vertex(80, 20); vertex(90, 75); endShape();

beginShape(TRIANGLE_STRIP); vertex(30, 75); vertex(40, 20); vertex(50,

75); vertex(60, 20); vertex(70, 75); vertex(80, 20); vertex(90, 75); endSha-

pe();

beginShape(QUADS); vertex(30, 20); vertex(30, 75); vertex(50, 75);

vertex(50, 20); vertex(65, 20); vertex(65, 75); vertex(85, 75); vertex(85,

20); endShape();

beginShape(QUAD_STRIP); vertex(30, 20); vertex(30, 75); vertex(50,

75); vertex(50, 20); vertex(65, 20); vertex(65, 75); vertex(85, 75); ver-

tex(85, 20); endShape();

44

Page 45: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

beginShape(POLYGON); vertex(20, 20); vertex(40, 20); vertex(40, 40);

vertex(60, 40); vertex(60, 60); vertex(20, 60); endShape();

Deskripsi Menggunakan fungsi-fungsi beginShape() dan endShape() me-

mungkinkan membuat bentuk yang lebih kompleks. Fungsi beginShape()

mulai merekam verteks dari sebuah bentuk dan fungsi endShape() menghen-

tikan rekaman. Fungsi beginShape() memerlukan sebuah parameter yang

memberitahu tipe bentuk yang akan dibuat dari verteks-verteks yang ada.

Parameter untuk beginShape() adalah LINES, LINE_STRIP, LINE_LOOP, TRI-

ANGLES, TRIANGLE_STRIP, QUADS, QUAD_STRIP, dan POLYGON. Sesudah

memanggil fungsi beginShape(), serangkaian fungsi vertex() harus mengi-

kutinya. Untuk menghentikan menggambar bentuk, panggil fungsi endSha-

pe(). Fungsi vertex() dengan dua parameter menentukan sebuah lokasi da-

lam 2D dan fungsi vertex() dengan tiga parameter menentukan sebuah loka-

si dalam 3D. Tiap bentuk akan diberi garis pinggir dengan warna dari fungsi

stroke() dan diisi warna dengan fungsi fill().

Sintaks beginShape(MODE);

Parameter MODE LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, TRIANGLE_STRIP,

QUADS, QUAD_STRIP, POLYGON

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi

Perintah terkait:

endShape() vertex() curveVertex() bezierVertex()

Nama: endShape() beginShape(LINE_STRIP); vertex(30, 20); vertex(85,

20); vertex(85, 75); vertex(30, 75); endShape();

45

Page 46: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Fungsi endShape() adalah pasangan dari fungsi beginShape()

dan hanya bisa dipanggil sesudah beginShape(). Ketika endshape() dipang-

gil, semua data gambar yang didefinisikan sejak sebelumnya memanggil be-

ginShape() ditulis kedalam image buffer.

Sintaks beginShape();

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi Perintah ter-

kait: beginShape()

3.1.9.2 LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, QUADS, POLYGON,

dan lain-lain

Nama: LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, QUADS, POLYGON

Contoh lihat beginShape().

Deskripsi LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, TRIANGLE_STRIP,

QUADS, QUAD_STRIP, dan POLYGON adalah Parameter untuk beginSha-

pe().Dengan menggunakan fungsi- fungsi beginShape() dan endShape() me-

mungkinkan membuat bentuk yang lebih kompleks. Fungsi beginShape()

mulai merekam verteks dari sebuah bentuk dan fungsi endShape() menghen-

tikan rekaman. Fungsi beginShape() memerlukan sebuah parameter yang

memberitahu tipe bentuk yang akan dibuat dari verteks-verteks yang ada.

Sesudah memanggil fungsi beginShape(), serangkaian fungsi vertex() harus

mengikutinya. Untuk menghentikan menggambar bentuk, panggil fungsi en-

dShape(). Fungsi vertex() dengan dua parameter menentukan sebuah lokasi

dalam 2D dan fungsi vertex() dengan tiga parameter menentukan sebuah

lokasi dalam 3D. Tiap bentuk akan diberi garis pinggir dengan warna dari

fungsi stroke() dan diisi warna dengan fungsi fill().

Sintaks beginShape(MODE)

Parameter MODE LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, TRIANGLE_STRIP,

QUADS, QUAD_STRIP, POLYGON

46

Page 47: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi Perintah ter-

kait:

beginShape() endShape() vertex() curveVertex() bezierVertex()

3.1.10 Struktur 2

3.1.10.1 Setup & Draw

Nama: setup()

void setup() { size(200, 200); noStroke(); fill(102); }

int a = 0;

void draw() { background(0); rect(a++%width, 10, 2, 80); }

Deskripsi Fungsi yang dipanggil sekali ketika progtam mulai berjalan. Di-

gunakan untuk menentukan properti-properti lingkungan awal seperti ukur-

an layar, warna background, memuat gambar, dsb. sebelum draw() mulai

mengeksekusi dan menggambar image ke layar. Variabel-variabel yang di-

deklarasikan di dalam setup setup() tidak dapat diakses dalam draw(). Bila

sebuah program memanggil fungsi setup() maka ia akan juga akan memang-

gil draw().

Sintaks void setup() { pernyataan }

Parameter pernyataan pernyataan yang valid

Mengembalikan nilai: Penggunaan: Perintah terkait:

Nama: draw() void setup() { size(200, 200); noStroke(); }

int a = 0;

void draw() { background(0); fill(a); a = a + 1; if (a > width) { a = 0;

} rect(a, 0, 2, 200); }

Deskripsi Secara kontinu mengeksekusi baris-baris kode yang dimuat di

dalam blok draw() sampai dengan program dihentikan. Fungsi draw() digu-

nakan berhubunagn dengan setup(). Lamanya draw() mengeksekusi dalam

tiaip detik bisa dikontrol menggunakan fungsi delay() dan fungsi framera-

te().

Sintaks draw() { pernyataan }

47

Page 48: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Parameter pernyataan Urutan pernyataan yang dieksekusi berulangkali

Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi Perintah ter-

kait: setup()

3.1.10.2 Method

Method adalah fungsi yang didefinisikan di dalam class yang mengoperasik-

an instans- instans dari class tersebut. Method terkait dengan konsep pem-

rograman berorientasi objek. Instruktur akan menjelaskan secara singklat

tentang konsep pemrograman berorientasi objek.

3.1.10.3 Parameter

Umumnya fungsi menerima masukan yang disebut argumen atau parameter.

Masukan ini selanjutnya diproses oleh fungsi. Hasil akhir berupa sebuah

nilai yang disebut nilai balik. Contoh , kalau terdapat pernyataan :

kap = toupper(huruf);

maka: • huruf adalah argumen bagi fungsi toupper() • toupper() mem-

berikan nilai balik (berupa huruf kapital dari huruf) ke variabel kap.

3.1.11 Lingkungan 2

3.1.11.1 Mengekspor dan dokumentasi

Anda dapat mengekspor hasil pekerjaan anda ke dalam format yang dapat

diakses melalui Web. Caranya dengan menggunakan menu File -> Eksport to

Web. Selain itu anda dapat menggunakan shortcut dengan menekan tombol

Ctrl+E pada keyboard.

3.1.12 Kontrol 2

3.1.12.1 If

Nama: if() for(int i=5; i<height; i+=5) { stroke(255); // Mengeset war-

na putih if(i < 35) { // Jika "i" kurang dari "35"... stroke(0); // ...set warna

menjadi putih } line(30, i, 80, i); }

48

Page 49: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Deskripsi Memungkinkan program untuk membuat keputusan tentang ko-

de mana yang akan dieksekusi. Bila evalusi ekspresi menghasilkan true, per-

nyataan yang terdapat di dalam blok dieksekusi dan bila ekspresi mengha-

silkan false pernyataan tidak akan dieksekusi.

Sintaks if(ekspresi) { pernyataan }

Parameter Ekspresi ekspresi valid yang akan dievaluasi apakah bernilai

true atau false pernyataan satu atau lebih pernyataan yang akan dieksekusi

Penggunaan: Web dan aplikasi Perintah terkait: else

3.1.12.2 If & Else

Nama: else

for(int i = 5; i < 95; i += 5) { if(i < 35) { line( 30, i, 80, i ); } else {

line( 20, i, 90, i ); } }

for(int i = 5; i < 95; i += 5) { if(i < 35) { line( 30, i, 80, i ); } else if (i

< 65) { line( 20, i, 90, i ); } else { line( 0, i, 100, i ); } }

Deskripsi Memperluas struktur if() membuat program memilih antara dua

atau lebih blok kode. Menentukan sebuah blok kode dieksekusi bila if()

bernilai false.

Sintaks if(ekspresi) { pernyataan } else { pernyataan }

if(ekspresi) { pernyataan } else if(ekspresi) { pernyataan } else { pernya-

taan }

Parameter ekspresi ekspresi valid yang akan dievaluasi apakah bernilai

true atau false statements satu atau lebih pernyataan yang akan diekseku-

si

49

Page 50: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D

Penggunaan: Web dan aplikasi Perintah terkait: if()

50

Page 51: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Bab 4

Studi Kasus Processing

4.1 Translate (Translasi)

Dalam sintaks berikut ini terdapat fungsi dengan nama translate() dimana

memiliki fungsi agar objek dapat berpindah dari satu lokasi ke lokasi yang

lain dalam satu window yang sama, dimana parameter yang pertama meru-

pakan tolak ukur sumbu x dan parameter yang kedua merupakan tolak ukur

sumbu y. Berikut ini merupakan penulisan sintaks menggunakan alat bantu

processing:

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

51

Page 52: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.2. SCALE (SKALA). BAB 4. STUDI KASUS PROCESSING

4.2 Scale (Skala).

Dalam sintaks berikut ini terdapat fungsi dengan nama scale() merupakan

pendefinisian nilai dalam bentuk persen desimal. sebagai contoh method

memanggil nilai dari scale 2.0 dimana akan menambahkan dimensi dari ben-

tuk tersebut menjadi 200 persen. Objek yang ada akan selalu diukur dari

ukuran aslinya. Berikut ini merupakan penulisan sintaks menggunakan alat

bantu processing:

52

Page 53: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

4.3 Rotate (Rotasi).

• Rotasi Terhadap Sumbu x dan y.

Rotasi bekerja secara simultan pada sumbu x dan sumbu y, dimana fungsi

transformasi seperti rotate() nilainya selalu bertambah, apabila memanggil

nilai rotate sebesar 1.0 dan rotate sebesar 2.0 maka hasilnya sama dengan

53

Page 54: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING

pemanggilan nilai rotate sebesar 3.0. Berikut ini merupakan penulisan sin-

taks menggunakan alat bantu processing:

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

• Rotasi.

Rotasi sebuah persegi terhadap sumbu z. untuk mendapatkan hasil yang dii-

nginkan dengan mengirimkan nilai fungsi parameter dari rotasi antara 0 dan

PI*2 (Nilai TWO_PI adalah 6.28). Apabila sudut pengambilan gambar yang

54

Page 55: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING

digunakan adalah 0-360 derajat, dapat digunakan method radians() untuk

mengkonversikan nilai tersebut. Contoh: Scale(radians(90)) adalah sama

dengan scale(PI/2). Berikut ini merupakan penulisan sintaks menggunakan

alat bantu processing:

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

• Rotasi PushPop

55

Page 56: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING

Fungsi push() dan pop() memperbolehkan akses dalam mengendalikan tran-

sformasi tersebut, dimana fungsi push menyimpan koordinat sistem semen-

tara pada stack dan pop mengembalikan koordinat sistem utama. Berikut ini

merupakan penulisan sintaks menggunakan alat bantu processing:

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

56

Page 57: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.4. ARM. BAB 4. STUDI KASUS PROCESSING

4.4 Arm.

Sudut pandang setiap segmen dikendalikan menggunakan posisi mouseX

dan mouseY. Transformasi yang diaplikasikan pada segmen pertama diapli-

kasikan pada segmen kedua juga karena terdapat nilai pushMatrix() dan

popMatrix() pada grup yang sama. Berikut ini merupakan penulisan sintaks

menggunakan alat bantu processing:

Setelah sintaks di atas dituliskan ke dalam processing, berikut ini adalah

hasil setelah sintaks tersebut dijalankan (run).

57

Page 58: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

4.4. ARM. BAB 4. STUDI KASUS PROCESSING

58

Page 59: TRANSFORMATION MODELLING IN 3D · PDF fileKuasa yang telah memberikan berkat, ... (garis) ... jalur lingkaran dengan pusatnya pada titik pivot

Bab 5

Penutup

5.1 Kesimpulan

Bidang tiga dimensi merupakan bentuk dari benda yang memiliki panjang,

lebar serta tinggi yang berpusat pada titik koordinat sumbu x, y serta z. Da-

lam representasi objek tiga dimensi mampu dilakukan pemrosesan berupa

tiga bentuk transformasi dasar, yaitu translasi (pergerakan atau perpindah-

an), pensekalan (memperbesar atau memperkecil), dan rotasi (mereposisi

semua titik pada objek). Setiap kali melakukan suatu proses transformasi,

selalu dilakukan perhitungan melalui matriks. Dimana dalam pemahaman

matriks serta operasinya itu sendiri dapat diterapkan dalam grafika dan citra,

chanel assignment pada telekomunikasi, rantai markov, operation research

dan lain-lain. Dalam perhitungan determinan matriks yang diterapkan juga

beragam, terdapat perhitungan matriks untuk ordo 2x2, 3x3, dan kofaktor.

Dalam pengaplikasian sintaks serta perhitungan transformasi yang telah

dilakukan, alat bantu yang digunakan adalah perangkat lunak Processing.

Perangkat lunak Processing terdapat tiga mode yaitu mode aktif, pasif dan

java.

5.2 Saran

Pada pembuatan buku ini banyak sekali kekurangan penulis, maka dari itu

penulis meminta maaf jika dalam penulisan ini masih jauh dari kata sempur-

na.

59