BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1
Implementasi. Untuk membuat meja komputer, cukup gunakan beberapa mesh “cube”
sebagai bentuknya dan cylinder sebagai kakinya. Dan juga gunakan “scale” untuk mengubah bentuk dari mesh “cube” itu sendiri. Sedangkan untuk membuat komputer beserta monitor dan accesoris lainnya di perlukan mesh lain seperti “UV Sphere”, “torus”, dan yang lainnya.
4.1.1
Membuat meja komputer.
1. Ubah “cube” dengan menggunakan “scale” sehingga akan terlihat seperti papan.
Gambar 4.1 cube 2. Tambahkan mesh “cube” lagi dengan memilih menu “add -> mesh -> cube” dan perbesar “cube”nya dengan menggunakan “scale” hingga berbentuk seperti kotak kubus besar.
Gambar 4.2 cube kedua.
45
46
3. Tambahkan mesh cyclinder dan pasang di bawah papan, buat duplicate dari cylinder tersebut.
Gambar 4.3 Cylinder. 4. Pilih “cube” lemari lalu masuk edit mode, hapus bagian depan “cube” lemari agar terlihat bagian dalamnya.
Gambar 4.4 Deleted cube face 5. Kembali ke object mode lalu duplikasi object “cube” lemari tersebut. Setelah itu langsung gunakan “scale”, buat agar cube yang di duplikasi berada didalam cube aslinya. Seleksi dua cube tersebut lalu tekan Ctrl “J” untuk melakukan join kepada dua cube tersebut.
Gambar 4.5 Duplicate cube.
47
6. Masuk kembali ke edit mode, lalu pilih fungsi seleksi “edge select mode”. Pilih tepi luar cube asli dengan cube duplicate lalu tekan “F” untuk mengisi sisi kosong dengan face diantara sisi tersebut, lakukan cara itu terhadap sisi lain cube yang masih mempunyai sisi yang kosong.
Gambar 4.6 Pengisian face terhadap sisi kosong cube. 7. Tambahkan kembali sebuah mesh “cube” lalu gunakan “scale” untuk diubah menjadi pintu lemari.
Gambar 4.7 Pintu lemari 8. Buatlah mesh “cube” dengan menggunakan cara yang sama seperti membuat lemari. Setelah selesai gunakan “scale” untuk membuatnya pipih, lalu taruh cube tersebut dibawah meja di samping lemari.
Gambar 4.8 Rak keyboard
48
9. Masukan mesh “torus” kemudian gunakan “smooth” di bagian tool shelf, masuk ke edit mode lalu buatlah seleksi pada mesh torus tesebut namun hanya ½ bagian saja. Lalu hapus bagian yang diseleksi, kemudian pasangkan dibagian samping pintu lemari. Gunakan “join” untuk menggabungkan mesh pintu lemari dengan mesh torus tersebut.
Gambar 4.9 Membuat Pegangan Pintu lemari 10. Masukan mesh “cube”, perbesar dengan menggunakan “scale” dan buat pipih, letakan dibagian dalam rak keyboard.
Gambar 4.10 Scrolling rak keyboard.
4.1.2
Membuat komputer.
1. Masukan mesh “cube” kembali dan ubah bentuknya menjadi kurang lebih seperti casing komputer, letakan “cube” tersebut diatas meja.
49
Gambar 4.11 Casing komputer 2. Masuk ke edit mode lalu seleksi semua sisi dengan menggunakan tombol “a”, lalu pilih subdivide. Berikan potongan object secukupnya. Lalu gunakan fungsi seleksi untuk memilih faces, gunakan “merge” & “delete” untuk mengubah bentuk dari “cube” yang sudah di subdivide tersebut hingga menjadi bentuk yang diinginkan.
Gambar 4.12 Edit Casing Komputer 3. Tambahkan mesh “UV Sphere” dan “torus”, gunakan “smooth” lalu gabungkan dan ubah ukuran kedua mesh tersebut sehingga menjadi seperti tombol. Letakan kedua mesh tersebut di bagian depan casing.
Gambar 4.13 Tombol Power Komputer
50
4. Buatlah object monitor dengan cara yang sama seperti membuat object casing komputer, namun gunakan lebih dari 1 mesh sehingga lebih mudah membuatnya.
Gambar 4.14 Monitor sisi depan dan belakang.
5. Buat object keyboard dan mouse beserta mouse pad nya. Gunakan mesh “cube” untuk setiap pembuatan tombol keyboard, sedangkan untuk mouse gunakan “UV Sphere” dan mouse pad dengan “Cylinder”.
Gambar 4.15 Keyboard, Mouse dan mouse pad.
6. Masukan mesh plane sebagai lantainya.
Gambar 4.16 Lantai.
51
4.1.3
Membuat warna pada setiap objectnya.
Ada berbagai cara untuk membuat warna pada sebuah object 3D di dalam program Blender, dari hanya membuat warna biasa dalam material sampai dengan membuat warna sendiri melalui texture dan pencahayaan. Dan cara mewarnai bisa dilakukan dengan 2 cara yaitu menggunakan pewarnaan dalam material dan juga pewarnaan melalui texture paint. Pewarnaan dalam material lebih mudah digunakan dari pada pewarnaan dengan menggunakan texture paint, namun pewarnaan dalam texture paint lebih bervariasi.
4.1.3.1 Mewarnai mesh menggunakan material.
Seleksilah mesh meja komputer lalu masuk kebagian properties windows dan pilih material, klik “new” untuk memasukan material kedalam object mesh. Setelah itu akan muncul menu – menu baru, pilihlah diffuse dan klik pada bagian warna. Pilih warna kuning untuk mesh meja, atur “intesity” nya agar warna tidak terlalu terang.
Gambar 4.17 Menu Material dalam properties window
52
Gambar 4.18 Menu – menu didalam material setelah tombol “new” di klik.
Gambar 4.19 Pilihan warna dalam menu diffuse.
Gambar 4.20 Hasil warna pada meja
Mewarnai hanya beberapa bagian sisi material dapat menggunakan edit mode, pilih mesh monitor lalu masuklah ke edit mode. Lalu seleksi semua face kecuali bagian layarnya.
53
Gambar 4.21 Seleksi bagian badan monitor. Masuk ke “Material” lalu klik new, pilihlah warna di menu diffuse. Seleksi bagian layar monitor saja lalu klik “add new material slot”, tombolnya berupa tanda “tambah”.
Gambar 4.22 Add new material slot. Setelah “add new material slot” dipilih, klik new lalu pilih warna putih di diffuse dan pilih assign, apabila benar maka layar akan berubah warna menjadi putih.
54
Gambar 4.23 Pewarnaan pada layar monitor.
4.1.3.2 Mewarnai mesh menggunakan Texture Paint.
1. Seleksilah mesh mouse pad, usahakan ubah posisi camera ke top view dengan menekan numpad angka 7.
Gambar 4.24 Posisi top view pada mouse pad. 2. Pilih “UV Editing” pada Ready-Made Screen.
55
Gambar 4.25 UV Editing Screen Layout.
3. Masuk ke edit mode lalu seleksi semua face pada mouse pad, setelah itu klik unwarp lalu klik lagi unwrap di bagian tools shelf.
Gambar 4.26 Mesh mouse pad yang sudah di unwarp. 4. Klik “New” pada bagian UV/Image Editor Window untuk membuat new blank image, lalu klik “ok”.
56
Gambar 4.27 Membuat new blank image. 5. Masuk ke menu “texture paint” mode, pilihlah warna apa saja dan lukiskan di mesh mouse pad tersebut.
Gambar 4.28 Mewarnai menggunakan texture paint mode
57
6. Kemudian simpan hasil gambar yang ada di UV/Image Editor di folder yang sama dengan folder file blender ini sendiri. Walaupun hasil save image bisa diganti ke jpeg namun usahakan menggunakan extension file .png.
Gambar 4.29 Simpan file gambar.
7. Setelah selesai menyimpan gambar, kembali ke default screen lay out. Masuk kebagian material langsung klik “new”, lalu masuk kebagian texture langsung klik “new” lagi. Ganti type nya dari “Cloud” ke “Image or Movie”. Setelah itu scroll menu ke bawah, cari submenu “Mapping” lalu ubah “coordinates” nya dari “generated” ke “UV”. Hal ini dilakukan agar warna yang telah dibuat dapat terlihat didalam hasil akhir / render.
58
Gambar 4.30 Texture menu (atas)
Gambar 4.31 Texture menu (bawah)
Untuk mewarnai mesh / object 3D yang lain bisa dilakukan dengan cara yang sama seperti diatas, bisa menggunakan “material” saja atau menggunakan “texture paint”. Texture paint memang terlihat agak rumit namun hasil yang diberikan jauh lebih baik daripada menggunakan material saja. Tampilan warna akan menjadi berbeda ketika render/simulasi dijalankan.
Gambar 4.32 Hasil akhir dari mewarnai semua mesh.
59
4.1.4
Membuat texture pada object lantai.
Membuat texture pada object dibutuhkan sebuah gambar texture dan aplikasi tambahan berupa image editor seperti “Paint”, “Photoshop”, “Corel Draw”,dll. Pembuatannya hampir mirip dengan membuat mewarnai menggunakan texture paint, dimana kita harus menggunakan UV Editing. Langkah – langkah pembuatan texture dalam object lantai : 1. Seleksilah mesh lantai, usahakan ubah posisi camera ke top view dengan menekan numpad angka 7.
Gambar 4.33 Seleksi pada mesh lantai. 2. Pilih “UV Editing” pada Ready-Made Screen.
Gambar 4.34 UV Editing Layout pada mesh lantai.
60
3. Masuk ke edit mode lalu seleksi face pada lantai, setelah itu klik unwarp lalu klik lagi unwrap di bagian tools shelf.
Gambar 4.35 Unwarp pada mesh lantai. 4. Klik “New” pada bagian UV/Image Editor Window untuk membuat new blank image, lalu klik “ok”.
Gambar 4.36 New Image mesh lantai
5. Kemudian simpan hasil gambar yang ada di UV/Image Editor di folder yang sama dengan folder file blender ini sendiri.
61
Gambar 4.37 Save image lantai 6. Buka gambar yang sudah di save dengan image editor, untuk hasil yang baik gunakan photoshop. Digambar tersebut masukan texture keramik dan ubah sizenya sehingga sesuai dengan size gambar yang diberikan blender, letakan texture tersebut dibagian layer paling atas pada gambar tersebut. Gambar texture dapat diambil melalui internet. Lalu save file gambar tersebut, gunakan extension file yang sama yaitu “.png”.
Gambar 4.38 Edit gambar melalui Photoshop.
62
7. Setelah selesai menyimpan gambar, kembali aplikasi blender pilih ke default screen lay out. Masuk kebagian material langsung klik “new”, lalu masuk kebagian texture langsung klik “new” lagi. Ganti type nya dari “Cloud” ke “Image or Movie”. Masuk kebagian image lalu pilih gambar yang sudah di edit dengan photoshop, setelah itu scroll menu ke bawah dan cari submenu “Mapping” lalu ubah “coordinates” nya dari “generated” ke “UV”. Hal ini dilakukan agar texture yang telah dibuat dapat terlihat didalam hasil akhir / render. Masuk ke properties ubah shading dari “multitextured” ke “GLSL”, tekan “p” untuk melihat hasil dari texture yang sudah dibuat.
Gambar 4.39 Hasil akhir texture pada lantai
4.1.5 Pencahayaan atau lamp
Cahaya dalam pembuatan objek 3 dimensi sangat penting perannya, karena dibutuhkan agar objek terlihat dengan jelas. Disini diperlukan 3 buah lamp saja, yaitu 2 “point” lamp & 1 “spot” lamp. Masukan “lamp” lalu pilih “point”, letakan 2 “point” lamp tersebut di depan dan di belakang komputer.
63
Gambar 4.40 Posisi 2 buah lamp. Masukan kembali lamp pilih “spot”, letakan dibagian depan komputer. Masuk ke object data di properties lalu ubah distance ke “38”, hal ini dimaksudkan agar bayangan lebih terlihat.
Gambar 4.41 Posisi “spot” lamp.
4.1.6 Simulasi.
Untuk membuat interaksi dalam simulasi diperlukan perintah khusus, perintah khusus tersebut
yang dimaksud adalah “script” atau bahasa
pemrograman. Namun didalam blender terdapat sebuah tools yang membantu user untuk memudahkan pembuatan script, nama tools tersebut adalah “Logic Editor” bisa disebut juga “Blender Game Engine Logic”. Pembuatan simulasi ini akan dibuat menggunakan dua cara yaitu dengan “Logic Editor” dan penulisan Script secara manual dengan menggunakan Python.
64
4.1.6.1 Membuat keyframes pada object pintu lemari dan rak keyboard.
Keyframes berguna untuk membuat gerakan animasi menjadi lebih halus, kemampuan dalam keyframes adalah mengisi frame yang kosong diantara keyframe yang telah dibuat. Pilih pintu lemari lalu pilih insert lalu “LocRotScale” pada menu keyframe lalu ubah posisi view dengan menekan tombol numlock “7”, gunakan “3D Cursor” di “Pivot Point”. Geser frame sebanyak 5 baris dengan menggunakan tombol arah ke kiri.
Gambar 4.42 3D Cursor.
Berikan tanda untuk posisi rotasi di bagian sebelah kiri pintu dengan menggunakan klik kiri pada mouse, tekan “R” lalu geser pintu lemari sedikit kedepan. Pilih kembali “insert” “LocRotScale” pada menu keyframes, lalu geser kembali frame sebanyak 5 baris dengan menggunakan tombol arah ke kiri. Kemudian ulangi kembali sebanyak 3 - 4 kali, dari geser pintu lalu “insert” “LocRotScale” dan geser frame sebanyak 5 baris. Sehingga menjadi gambar seperti dibawah ini.
65
Gambar 4.43 Rotasi pintu
Gambar 4.44 All insert keyframes pintu lemari
Kembali ke frame awal lalu seleksi rak keyboard, insert keyframe lalu pilih “LocRot”. Setelah itu pindah ke frame 80 lalu geser rak keyboard tersebut kedalam meja komputer, pilih insert keyframe kembali lalu “LocRot”.
66
Gambar 4.45 Rak keyboard yang sudah diberi keyframe dan digeser kedalam meja.
4.1.6.2 Simulasi pintu lemari menggunakan Logic Editor.
Logic Editor merupakan perintah dasar dari bahasa pemrograman yang sudah terbentuk, sehingga user tidak perlu mengetikan lagi script yang diinginkan melainkan hanya menggeser menu – menu yang sudah disediakan tersebut.
1. Masuk Logic Editor di Ready-Made Screen, pilih pintu lemari pada meja komputer. Klik “add sensor” lalu pilih “mouse”.
Gambar 4.46 Add mouse.
67
2. Dibagian controllers, klik “add controllers” lalu pilih “and”
Gambar 4.47 Add controllers. 3. Dibagian actuators, klik “add actuators” lalu pilih “action”. Pilih “torus001.action” lalu ubah “end 0.00” ke “end 20.00”, hal ini dimaksudkan agar gambar bergerak dari frame 0 ke frame 20. Ganti “play” ke “ping pong”.
Gambar 4.48 Add actuators
68
4. Lalu sambungkan ketiga kotak tersebut.
Gambar 4.49 Sambungan tiga kotak logic
4.1.6.3 Simulasi rak keyboard menggunakan Logic Editor dan Physic.
1. Masuk Logic Editor di Ready-Made Screen, pilih pintu lemari pada meja komputer. Klik “add sensor” lalu pilih “mouse”, ubah “left button” ke “right button”.
Gambar 4.50 Add right mouse button.
69
2. Dibagian controllers, klik “add controllers” lalu pilih “and”
Gambar 4.51 Add controllers. 3. Dibagian actuators, klik “add actuators” lalu pilih “action”. Pilih “cube006.action” lalu ubah “end 0.00” ke “end 80.00”, hal ini dimaksudkan agar gambar bergerak dari frame 0 ke frame 80. Ganti “play” ke “ping pong”. Lalu sambungkan ketiga kotak tersebut.
Gambar 4.52 Add actuators 4. Kembali ke default screen, lalu masuk ke physic di dalam properties windows. Pilih physic type “static”, centang bagian “actor”.
70
Gambar 4.53 Menu physic pada rak keyboard. 5. Seleksi mesh keyboard, pilih physic type “dynamic” lalu centang aktor. Pilih Mass “10000”, radius “0.010”, Form fact “0.912”, velocity minimum dan maximum “0”, damping dan rotation “0”. Berikan centang pada menu collision bounds, pilih bounds “convex hull” dengan margin “0”.
Gambar 4.54 Menu physic pada keyboard.
4.1.6.4 Simulasi Camera.
Simulasi pada camera membutuhkan sebuah script untuk dapat mengarahkan mouse ke segala arah. Sript yang akan dicantumkan dibawah
71
tersebut merupakan hasil script yang dibuat sendiri, dimana fungsinya selain menggunakan mouse untuk menggerakan kamera tapi juga menggunakan keyboard untuk menentukan camera bergerak disalah satu sumbu atau seluruh sumbu. Hasil dari script yang dibuat cukup memuaskan dan sangat berbeda sekali dengan script yang sebelumnya, dimana script yang baru ini lebih sedikit dan mudah di pelajari dari pada script yang lama. Dibawah ini akan diberikan secara rinci bagaimana cara membuat simulasi camera tersebut. 1. Masuk Logic Editor di Ready-Made Screen, pilih camera. Klik “add sensor” lalu pilih “keyboard”, masukan sensor keyboard sebanyak 6 buah. Lalu masukan huruf “w”, ”s”, ”a”, ”d”, ”q”, dan ”w” di setiap menu key pada kotak sensor. (lihat gambar).
Gambar 4.55 Sensor pada camera.
2. Masukan controllers sebanyak 6 buah dan sambungkan setiap kotaknya ke kotak sensor keyboard.
72
Gambar 4.56 Controllers pada camera. 3. Masukan 6 buah actuators dan setiap kotak gunakan menu “motion” lalu sambungkan kotak-kotak tersebut pada setiap actuators yang sudah tersedia. Lalu masukan Loc serta Rot dengan angka yang sudah disediakan di daftar berikut ini.
Tabel 4.1 Tabel hasil pengujian aplikasi pemodelan dan simulasi 3 dimensi.
SENSOR
ACTUATOR
“W”
Loc X : 0, Y : 0, Z : -0.10
“S”
Loc X : 0, Y : 0, Z : 0.10
“A”
Loc X : -0.10, Y : 0, Z : 0
“D”
Loc X : 0.10, Y : 0, Z : 0
“Q”
Rot X : 0, Y : 0, Z : 10
“W”
Rot X : 0, Y : 0, Z : -10
73
Gambar 4. 57 Actuator camera (bag. I)
Gambar 4.58 Actuator camera (bag. II)
4. Masuk Scripting di Ready-Made Screen, lalu buat “text data block” baru. Lalu masukan scripting dibawah ini. #Pemanggilan engine game di blender import bge #mengimport logic sebagai “g” dan render sebgai “r” from bge import logic as g, render as r #pemanggilan logic keyboard dan dimasukan ke variable “keyboard” keyboard = bge.logic.keyboard #”c” sebagai pengontrol objek yang telah diseleksi c = g.getCurrentController() #”o” sebagai owner dari “c” o = c.owner #pemanggilan sensor mouse lalu dimasukan ke variable “m” m = c.sensors["Mouse"] #pemanggilan tinggi layar dari komputer w1 = r.getWindowHeight() #pemanggilan lebar layar dari komputer w2 = r.getWindowWidth() #membagi tinggi layar dan hasil yang absolute di masukan ke variable “h1” h1 = w1//2 #membagi lebar layar dan hasil yang absolute di masukan ke variable “h2” h2 = w2//2 #sensitivitas mouse s = 0.0001
74
#memberikan nilai kordinat x dan y mouse kepada variable “x” & “y” x, y = m.position #perhitungan posisi mouse ketika digeser x = (h1 - x)*s y = (h2 - y)*s #jika tombol shift ditekan maka berikan kordinat posisi rotasi mouse if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.LEFTSHIFTKEY]: o.applyRotation([y,0.0,0.0],True) o.applyRotation([0.0,0.0,x],False) #jika tombol x ditekan maka berikan kordinat posisi rotasi pada sumbu x mouse saja if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.XKEY]: o.applyRotation([x,0.0,0.0],True) #jika tombol c ditekan maka berikan kordinat posisi rotasi pada sumbu y mouse saja if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.CKEY]: o.applyRotation([0.0,x,0.0],True) #jika tombol z ditekan maka berikan kordinat posisi rotasi pada sumbu z mouse saja if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.ZKEY]: o.applyRotation([0.0,0.0,x],True) #berikan posisi kordinat mouse terakhir r.setMousePosition(h1, h2)
Gambar 4.59 Scripting pada camera
5. Masuk kembali ke Game Logic di Ready-Made Screen, tambahkan 1 buah sensor “mouse” seperti gambar dibawah ini.
75
Gambar 4.60 Sensor Mouse 6. Tambah baru satu buah “phyton” controllers. Ganti nama controllers menjadi “cont”, dan di kotak script pilih “text” lalu sambungkan dengan sensor mouse.
Gambar 4.61 Controllers mouse
4.1.6.5 Simulasi objek mouse dengan menggunakan python script
Simulasi pada objek mouse ini menggunakan logika yang sama dengan objek camera dimana bila ditekan “w” maka camera bergerak maju dan
76
seterusnya, namun di pada objek camera tidak menggunakan script melainkan game logic. Sedangkan pada objek mouse yang akan di buat simulasinya akan menggunakan script sebagai perintahnya.
1. Seleksi objek mouse, lalu masuk ke scripting di Ready-Made Screen. 2. Buat text block baru, beri nama mousemove. 3. Masukan script yang ada dibawah ini di kolom yang tersedia di jendela scripting.
#pendefinisian main program def main():
#membuat variable cont sebagai controller pada objek yang diseleksi cont = bge.logic.getCurrentController()
#membuat variable own sebagai owner pada objek yang diseleksi own = cont.owner
#pemanggilan logic keyboard dan dimasukan ke variable “keyboard”
keyboard = bge.logic.keyboard #sensitivitas move = 0.025 #penentuan rotasi mouse sebanyak 450, dikarenakan blender tidak mengenal derajat melainkan radian sehingga harus melakukan konversi dari derajat ke radian rotation = (45/180)*3.14
#pemasukan
input
dari
keyboard
panah
atas
sehingga
object
mouse
digeser/ditranslasi sebanyak -0.025 pada sumbu x. if
bge.logic.KX_INPUT_ACTIVE
==
UPARROWKEY]: own.applyMovement((-move, 0, 0), True)
keyboard.events
[bge.events.
77
#pemasukan input dari keyboard panah bawah sehingga object mouse digeser/ditranslasi sebanyak -0.025 pada sumbu x. if
bge.logic.KX_INPUT_ACTIVE
==
keyboard.events
[bge.events.
DOWNARROWKEY]: own.applyMovement((move, 0, 0), True)
#pemasukan input dari keyboard panah kanan sehingga object mouse dirotasi sebanyak 450 dengan bertumpu kepada sumbu z. if
bge.logic.KX_INPUT_ACTIVE
==
keyboard.events
[bge.events.
RIGHTARROWKEY]: own.applyRotation((0, rotation, 0), True)
#pemasukan input dari keyboard panah kiri sehingga object mouse dirotasi sebanyak -450 dengan bertumpu kepada sumbu z. if
bge.logic.KX_INPUT_ACTIVE
==
keyboard.events
LEFTARROWKEY]: own.applyRotation((0, -rotation, 0), True)
#mengimport blender game engine import bge
#menjalankan/memanggil main program main()
4. Masukan di game logic sesuai dengan gambar yang dibawah ini.
[bge.events.
78
Gambar 4.62 pemanggilan script di game logic pada objek mouse
Pada gambar 4.61 diatas dimaksudkan agar script dapat dipanggil terus menerus setiap frame sehingga script tersebut dapat diproses kapan pun ketika input dijalankan. Script yang telah dibuat diatas ini berhubungan dengan flowchart di bab 3, Algoritma tangani event pergeseran objek mouse pada gambar 3.6. Yang nantinya akan dibuat untuk analisa rotasi objek dengan menampilkan posisi objek mouse di bawah ini.
4.1.6.6 Menampilkan posisi objek mouse di console
Untuk menampilkan posisi objek mouse pada scripting python sebenarnya sangat mudah namun untuk memperlihatkan perubahan angka rotasi pada objek mouse sangatlah susah dikarenakan objek mouse sangat kecil sehingga rotasi yang di lakukan tidak dapat terlihat dengan jelas bahkan angka yang ditampilkan hanya berubah di belakang koma saja. Oleh karena itu dibutuhkan satu objek cube yang dibuat transparan dan disambungkan dengan objek mouse dengan menggunakan fungsi parent. Objek cube tersebut akan di posisikan jauh dari objek lainnya sehingga apabila objek mouse yang telah di sambungkan oleh objek cube tersebut berputar, maka objek cube akan bergeser mengikuti perputaran objek mouse tersebut. Sehingga dengan pergeseran objek cube yang cukup signifikan, script di dalam blender dapat memperlihatkan perubahan posisi cube tersebut lebih jelas.
79
Gambar 4.63 Objek cube transparan Masukan sebuah mesh cube lalu masuk ke properties window dan buat material baru. Lalu geser ke bawah cari submenu bernama transparency, centang kotaknya lalu ubah alpha menjadi 0.000. Jika benar maka mesh cube akan berubah transparan, setelah itu seleksi objek cube tersebut dengan objek mouse lalu tekan Ctrl-“P” pilih “object”.
Gambar 4.64 Submenu Transparency
80
Gambar 4.65 parent terhadap objek mouse dan cube transparan
Setelah kedua objek sudah terhubung, masuk ke scripting dan masukan script python dibawah ini. #pendefinisian main program def main():
#membuat variable cont sebagai controller pada objek yang diseleksi cont = bge.logic.getCurrentController()
#membuat variable own sebagai owner pada objek yang diseleksi own = cont.owner #pemanggilan logic keyboard dan dimasukan ke variable “keyboard”
keyboard = bge.logic.keyboard
#jika keyboard panah kanan ditekan maka akan ditampilkan posisi x, y, z pada objek kubus if bge.logic.KX_INPUT_JUST_ACTIVATED == keyboard.events[bge.events.RIGHTARROWKEY]: print('x =', own.position.x) print('y =', own.position.y) print('z =', own.position.z) print('')
81
#jika keyboard panah kiri ditekan maka akan ditampilkan posisi x, y, z pada objek kubus if bge.logic.KX_INPUT_JUST_ACTIVATED == keyboard.events[bge.events.LEFTARROWKEY]: print('x =', own.position.x) print('y =', own.position.y) print('z =', own.position.z) print('')
#mengimport blender game engine import bge
#menjalankan/memanggil main program main()
Gambar 4.66 Tampilan posisi sumbu x, y, z dari cube yang mengikuti rotasi mouse
82
4.1.7 Export File ke Executable (.exe)
Program Blender 2.60 sebenarnya mempunyai menu fungsi untuk membuat hasil file blender dalam blender game menjadi program executable, namun secara default menu tersebut di tiadakan. Dibawah ini akan dijelaskan bagaimana membuat file berextension .exe itu dibuat.
1. Masuk ke dalam menu user preferences.
Gambar 4.67 User Preferences
2. Masuk ke tab Addons, lalu pilih Game Engine. Berikan tanda centang pada “Game Engine Save As Game Engine Runtime”. Lalu keluar dengan memberi klik kiri pada tanda close.
Gambar 4.68 Addons Game Engine
83
3. Masuk kembali ke file menu lalu “External Data”, pilih “Pack into .blend file”. Hal ini dimaksudkan agar gambar / texture, suara, script, dll bisa dimasukan kedalam satu file, sehingga file bisa dijalankan difolder yang berbeda atau bahkan di komputer yang berbeda.
Gambar 4.69 Menu External Data 4. Masuk kembali ke file menu lalu “Export”, pilih “Save As Game Engine Runtime”.
84
Gambar 4.70 Menu Export 5. Lalu pilih folder untuk tempat save file tersebut setelah itu klik tombol “Save As Engine Runtime”.
Gambar 4.71 Save As Engine Runtime
6. Coba jalankan file tersebut, apabila ada pesan error seperti gambar dibawah ini maka pindahkan file folder lib dalam folder “\2.60\phyton\lib\” ke folder
85
“\2.60\phyton\” sehingga akan ada warning dari windows bahwa folder “lib” akan tertimpa dengan folder “lib” yang baru. Klik “Yes”.
Gambar 4.72 Warning Message Runtime Error
Gambar 4.73 Cut folder lib
86
Gambar 4.74 Paste folder lib
Gambar 4.75 Folder Replace
7. Setelah itu jalankan aplikasi tersebut.bila berhasil akan tampil seperti gambar dibawah ini.
87
Gambar 4.76 Aplikasi yang berhasil dijalankan
4.2
Pengujian
Pengujian aplikasi simulasi 3 dimensi ini dilakukan untuk memastikan bahwa program aplikasi yang telah dirancang dan dibuat ini dapat berfungsi dengan baik dan sesuai dengan rancangan yang telah ditetapkan sebelumnya. Tanpa adanya pengujian, maka tidak dapat diketahui apakah program aplikasi yang telah dibuat sesuai dengan spesifikasi rancangan program aplikasi.
4.2.1
Lingkungan pengujian
Berikut ini adalah spesifikasi kebutuhan sistem dimana aplikasi dibuat dan dijalankan. 1. Perangkat keras (hardware). a. Processor AMD Fusion Dual core 1.6 GHz. b. RAM 1 GB DDR3. c. Harddisk 320 GB. d. VGA AMD Brazos (shared memory).
88
2. Perangkat lunak (software). a. Windows 7 Home Edition 32 bit. b. Directx 9.0c
4.2.2 Skenario Pengujian.
Skenario pengujian merupakan pengujian terhadap aplikasi pemodelan dan simulasi 3 dimensi yang dibangun. Skenario pengujian meliputi pengujian aplikasi terhadap fungsionalitas yang sekaligus berfungsi untuk menguji kesesuaian proses perangkat lunak yang dibangun terhadap proses yang terjadi dalam sistem. Pengujian aplikasi pada pemodelan dan simulasi 3 dimensi ini menggunakan metode black-box testing. Black-box testing yaitu pengujian untuk menemukan keslahan dalam lingkup kategori sebagai berikut : (1). Fungsi-fungsi yang tidak benar atau hilang, (2). Kesalahan antarmuka, dan (3). Kesalahan kinerja (Pressman, 2002). Metode black-box testing ini lebih menitikberatkan pada kebutuhan fungsi dari suatu program aplikasi. Pengujian dengan metode ini dilakukan dengan cara memberikan sejumlah masukan pada program aplikasi yang kemudian keluaran dari aplikasi tersebut sesuai dengan kebutuhan fungsionalnya, maka program aplikasi yang bersangkutan adalah benar. Akan tetapi bila keluaran yang dihasilkan tidak sesuai dengan yang diharapkan seperti pada saat perancangan awal, maka masih terdapat kesalahan-kesalahan pada program aplikasi tersebut. Skenario yang dijelaskan antara lain adalah skenario dengan menggunakan keyboard sebagai masukan untuk menggerakan camera, sehingga dapat menggerakan camera miring ke kiri, miring ke kanan, maju, mundur, kiri & kanan. Sedangkan skenario menggunakan mouse sebagai masukan adalah untuk mengarahkan camera ke segala arah dan menggerakan pintu lemari agar pintu bisa membuka dan menutup serta rak keyboard agar dapat masuk dan keluar.
89
Tabel 4.2 Tabel skenario pengujian aplikasi pemodelan dan simulasi 3 dimensi. Skenario
Pengujian
Hasil yang diharapkan
Keyboard Bergerak ke depan Bergerak ke belakang
Tekan tombol “W” Tekan tombol “S”
Bergerak ke kiri
Tekan tombol “A”
Bergerak ke kanan
Tekan tombol “D”
Bergerak miring ke kiri Bergerak miring ke kanan
Tekan tombol “Q” Tekan tombol “E”
Merotasi object camera
Tekan tombol “Shift” Tekan tombol “Z”
Objek camera bergerak maju Objek camera bergerak mundur Object camera bergerak ke kiri Object camera bergerak ke kanan Object camera miring ke kiri Object camera miring ke kanan Gerakan mouse dapat dijalankan Gerakan mouse hanya di sumbu z Gerakan mouse hanya di sumbu x Gerakan mouse hanya di sumbu y Objek mouse bergerak maju pada sumbu y Objek mouse bergerak mundur pada sumbu y Objek mouse berotasi ke kiri 450 berporos pada sumbu z Objek mouse berotasi ke kanan 450 berporos pada sumbu z
Object camera hanya bergerak di sumbu z. Object camera hanya bergerak di sumbu x. Object camera hanya bergerak di sumbu y. Objek mouse bergerak maju Objek mouse bergerak mundur Objek mouse berotasi ke kiri 450 Objek mouse berotasi ke kanan 450
Tekan tombol “X” Tekan tombol “C” Tekan tombol atas Tekan tombol bawah Tekan tombol kiri Tekan tombol kanan
panah panah panah panah
Mouse Gerak pandangan segala Gerakan mouse arah Gerakan pintu lemari Tekan tombol kiri Gerakan rak keyboard
Tekan tombol kanan
Object camera mengarah kan pandangan ke segala arah. Object pintu lemari dapat membuka dan menutup. Object rak keyboard dapat masuk dan keluar.
90
4.2.3 Hasil pengujian
Dari hasil skenario pengujian yang dilakukan dapat diperoleh hasil pengujian. Dari hasil skenario dan pengujian pada pilihan yang ada pada aplikasi yaitu bergerak maju, mundur, kiri, kanan, miring dengan menggunakan keyboard dan mengarah ke segala arah, buka pintu lemari, buka rak keyboard dengan menggunakan mouse. maka diperoleh kasil pengujian tersebut sesuai dengan rumusan rancangan aplikasi program yang sudah ditentukan sebelumnya dan diterangkan dalam tabel hasil pengujian dibawah ini.
Tabel 4.3 Tabel hasil pengujian aplikasi pemodelan dan simulasi 3 dimensi.
Skenario
Pengujian
Hasil yang diharapkan
Status Akhir
Keyboard Bergerak ke depan
Tekan tombol Objek camera bergerak “W” maju Bergerak ke belakang Tekan tombol “S” Objek camera bergerak mundur Bergerak ke kiri Tekan tombol Object camera bergerak ke “A” kiri Bergerak ke kanan Tekan tombol Object camera bergerak ke “D” kanan Bergerak miring ke Tekan tombol Object camera miring ke kiri “Q” kiri Bergerak miring ke Tekan tombol Object camera miring ke kanan “E” kanan Merotasi object Tekan tombol Gerakan mouse dapat camera “Shift” dijalankan Object camera hanya Tekan tombol Gerakan mouse hanya di bergerak di sumbu z. “Z” sumbu z Object camera hanya Tekan tombol Gerakan mouse hanya di bergerak di sumbu x. “X” sumbu x Object camera hanya Tekan tombol Gerakan mouse hanya di bergerak di sumbu y. “C” sumbu y Objek mouse Tekan tombol Objek mouse bergerak maju bergerak maju panah atas pada sumbu y Objek mouse Tekan tombol Objek mouse bergerak bergerak mundur panah bawah mundur pada sumbu y Objek mouse berotasi Tekan tombol Objek mouse berotasi ke ke kiri 450 panah kiri kiri 450 berporos pada sumbu z
Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses
91
Objek mouse berotasi ke kanan 450
Tekan tombol Objek mouse berotasi ke panah kanan kanan 450 berporos pada sumbu z
Mouse Gerak pandangan Gerakan mouse segala arah
Object camera mengarah kan pandangan ke segala arah. Gerakan pintu lemari Tekan tombol kiri Object pintu lemari dapat membuka dan menutup. Gerakan rak keyboard Tekan tombol Object rak keyboard dapat kanan masuk dan keluar.
Sukses
Sukses
Sukses Sukses
Tampilan Hasil pengujian dengan keyboard a. Camera bergerak ke depan.
Gambar 4.77 Tampilan Camera bergerak maju ketika tombol “W” di tekan
b. Camera bergerak ke belakang
Gambar 4.78 Tampilan Camera bergerak mundur ketika tombol “S” di tekan
92
c. Camera bergerak ke kiri
Gambar 4.79 Tampilan Camera bergerak ke kiri ketika tombol “A” di tekan d. Camera bergerak ke kanan
Gambar 4.80 Tampilan Camera bergerak ke kanan ketika tombol “D” di tekan
e. Camera bergerak miring ke kiri
Gambar 4.81 Tampilan Camera bergerak miring ke kiri ketika tombol “Q” di tekan
93
f. Camera bergerak miring ke kanan
Gambar 4.82 Tampilan Camera bergerak miring ke kanan ketika tombol “E” di tekan
g. Objek mouse bergerak dan berotasi.
Gambar 4.83 Objek mouse bergerak dan berotasi Perhitungan rumus rotasi mouse jika titik a( 21.08, -2.33) titik poros mouse( 3.41, -2.11) sebagai titik rotasi dengan ketentuan rotasi 450 h = ((21.08 – 3.41), (-2.33 + 2.11)) h = ( 17.67, -0.22 ) x’ y’
=
x’ y’
=
x’ y’
=
cos 450
-sin 450
17.67
sin 450
cos 450
-0.22
1
/2√2
-1
/2√2
17.67
1
/2√2
1
/2√2
-0.22
17.67
/2√2
+
0.22
17.67
/2√2
-
0.22
/2√2 /2√2
94
x’ y’
=
x’ y’
=
x’ y’
8.835√2
+ 0.11√2
8.835√2
-
0.11√2
12.45
+
0.15
12.45
-
0.15
12.6 =
12.3
(( 3.14 + 12.6), ( -2.11 + 12.3)) = ( 15.74, 10.19 ) sehingga titik barunya adalah a’( 16, 10 )
Gambar 4.84 Tampilan posisi sumbu x, y, z di console Dilihat dari gambar 4.84 diatas dapat dibuktikan bahwa hasil perhitungan dari teori rotasi matriks sama dengan hasil rotasi objek mouse pada aplikasi Blender, sehingga dapat disimpulkan bahwa rotasi pada aplikasi blender menggunakan sistem perhitungan rotasi matriks
95
Tampilan Hasil pengujian dengan mouse a. Camera mengarah ke segala arah
Gambar 4.85 Tampilan Camera mengarah ke segala arah ketika mouse di gerakan b. Pintu lemari terbuka dan tertutup
Gambar 4.86 Tampilan pintu lemari terbuka dan tertutup ketika mouse di tekan tombol kiri.
c. Rak keyboard bergerak masuk dan keluar
Gambar 4.87 Tampilan rak keyboard masuk dan keluar ketika mouse di tekan tombol kanan.
96
4.2.3 Analisis hasil pengujian
Setelah melakukan hasil pengujian dengan menjalankan aplikasi maka dari hasil tersebut dapat di analisa sebagai berikut : 1. Proses pada setiap perintah yang diberikan melalui keyboard dan mouse dapat berjalan dengan baik. 2. Gambar dapat ditampilkan dengan jelas dan baik. 3. Proses rendering juga tampak sempurna, semua sudut dari objek yang ditampilkan tertutup dengan rapih dan bayangan dari obejk dapat ditampilkan. 4. Proses menutup layar window juga berjalan dengan baik. 5. Sistem dapat berjalan dengan baik dan konstan (tetap).
Secara fungsionalitas program tidak ditemukan kesalahan, dan sudah sesuai dengan proses yang ada pada sistem dan prosedur yang sudah direncanakan. Hasil analisis terhadap aplikasi pemodelan dan simulasi objek 3 dimensi yang dibangun secara keseluruhan berfungsi dengan baik dan dapat digunakan sebagai sarana untuk belajar dan bermain dengan grafik komputer maupun praktek dalam membuat animasi dan game di komputer.