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 : 1 0 W Rot X : 0, Y : 0, Z : -1 0
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 45 0, 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 == keyboard.events [bge.events. UPARROWKEY]: own.applymovement((-move, 0, 0), True)
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 45 0 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 -45 0 dengan bertumpu kepada sumbu z. if bge.logic.kx_input_active == keyboard.events [bge.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.
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 Tekan tombol W Objek camera bergerak maju Bergerak ke belakang Tekan tombol S Objek camera bergerak mundur Bergerak ke kiri Tekan tombol A Object camera bergerak ke kiri Bergerak ke kanan Tekan tombol D Object camera bergerak ke kanan Bergerak miring ke kiri Tekan tombol Q Object camera miring ke kiri Bergerak miring ke kanan Tekan tombol E Object camera miring ke kanan Merotasi object camera Tekan tombol Gerakan mouse dapat Shift dijalankan Object camera hanya Tekan tombol Z Gerakan mouse hanya di bergerak di sumbu z. sumbu z Object camera hanya Tekan tombol X Gerakan mouse hanya di bergerak di sumbu x. sumbu x Object camera hanya Tekan tombol C Gerakan mouse hanya di bergerak di sumbu y. sumbu y Objek mouse bergerak maju Tekan tombol panah atas Objek mouse bergerak maju pada sumbu y Objek mouse bergerak Tekan tombol panah Objek mouse bergerak mundur bawah mundur pada sumbu y Objek mouse berotasi ke Tekan tombol panah Objek mouse berotasi ke kiri kiri 45 0 Objek mouse berotasi ke kanan 45 0 kiri Tekan tombol panah kanan 45 0 berporos pada sumbu z Objek mouse berotasi ke kanan 45 0 berporos pada sumbu z Mouse Gerak pandangan segala arah Gerakan mouse 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 kanan 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 45 0 panah kiri kiri 45 0 berporos pada sumbu z Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses
91 Objek mouse berotasi Tekan tombol ke kanan 45 0 panah kanan Objek mouse berotasi ke kanan 45 0 berporos pada sumbu z Sukses Mouse Gerak pandangan segala arah Gerakan pintu lemari Gerakan rak keyboard Tekan kanan Gerakan mouse Object camera mengarah kan pandangan ke segala arah. Tekan tombol kiri Object pintu lemari dapat tombol membuka dan menutup. Object rak keyboard dapat masuk dan keluar. 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 d. Camera bergerak ke kanan tekan 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 45 0 h = ((21.08 3.41), (-2.33 + 2.11)) h = ( 17.67, -0.22 ) x cos 45 0 -sin 45 0 17.67 y = sin 45 0 cos 45 0-0.22 x y = 1 / 2 2 1 / 2 2-1 / 2 2 17.67 1 / 2 2-0.22 x y = 17.67 / 2 2 + 17.67 / 2 2-0.22 / 2 2 0.22 / 2 2
94 x 8.835 2 + 0.11 2 = y 8.835 2-0.11 2 x 12.45 + 0.15 y = 12.45-0.15 x 12.6 y = 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.