Pembangunan Scene Monumen Nasional 3D
Disusun Oleh :
Irwansyah 10108279 Aditya Galang Mahafi 10107288
Hendy Kosandy 10108086 Deni Rahman 10109309
Teknik InformatikaTeknik dan Ilmu Komputer
Universitas Komputer Indonesia
Daftar Isi
Daftar Isi...................................................................................................................................................................1
Bab I.........................................................................................................................................................................2
Pendahuluan.............................................................................................................................................................2
1.1 Latar Belakang........................................................................................................................................2
1.2 Identifikasi Masalah...............................................................................................................................2
1.3 Maksud dan Tujuan................................................................................................................................3
1.4 Batasan Masalah.....................................................................................................................................3
Bab II........................................................................................................................................................................4
Perancangan Dan Implementasi...............................................................................................................................4
2.1 Perancangan Scene.................................................................................................................................4
2.1.1 Tugu Monas...................................................................................................................................4
2.1.2 Bangku Taman...............................................................................................................................5
2.1.3 Lampu Jalan...................................................................................................................................5
2.1.4 Pohon.............................................................................................................................................6
2.1.5 Tekstur Rumput.............................................................................................................................6
2.1.6 Tekstur Jalan..................................................................................................................................7
2.1.7 Tekstur Air.....................................................................................................................................7
2.1.8 Tekstur Bunga................................................................................................................................9
2.1.9 Background Langit......................................................................................................................10
2.2 Langkah Pembangunan Scene..............................................................................................................10
2.2.1 Pembangunan Area Objek...........................................................................................................10
2.2.2 Menyatukan Objek.......................................................................................................................11
2.2.3 Penerapan Tesktur........................................................................................................................13
2.2.4 Penerapan Background................................................................................................................15
2.2.5 Eksport Scene ke Non-Native File Format 3ds Max...................................................................16
2.2.6 Konversi Scene ke Code C OpenGL dengan Menggunakan 3D Exploration.............................17
2.2.7 Menjalankan Scene di C OpenGL...............................................................................................19
Bab III....................................................................................................................................................................26
Penutup...................................................................................................................................................................26
3.1 Kesimpulan...........................................................................................................................................26
Bab IV....................................................................................................................................................................27
Daftar Pustaka........................................................................................................................................................27
Kontribusi Kelompok.............................................................................................................................................28
Pembangunan Scene Monumen Nasional 3D Halaman 1
Bab I Pendahuluan
1.1 Latar BelakangMonumen Nasional atau yang populer disingkat dengan Monas atau Tugu Monas
adalah monumen peringatan setinggi 132 meter (433 kaki). Pembangunan Monumen
Nasional dimulai pada tanggal 17 Agustus 1961 di bawah perintah Presiden Sukarno, dan
dibuka untuk umum pada tanggal 12 Juli 1975. Tugu ini dimahkotai lidah api yang dilapisi
lembaran emas yang melambangkan semangat perjuangan yang menyala-nyala[1]. Tujuan
dari dibangunnnya Monumen Nasional adalah untuk mengenang dan menandai kebesaran
perjuangan kemerdekaan bangsa Indonesia yang dikenal dengan Revolusi 17 Agustus 1945
serta untuk membangkitkan semangat patriotisme generasi muda sekarang dan yang akan
datang[5].
OpenGL adalah suatu library grafis standar yang digunakan untuk keperluan-
keperluan pemrograman grafis. Umumnya OpenGL bersifat open-source, multi language,
dan multi platform. OpenGL didukung oleh semua bahasa pemrograman, salah satunya
dengan memanfaatkan bahasa C. OpenGL dapat bekerja dalam lingkungan Windows, Linux,
SGI, dan lain-lain[4].
Autodesk 3ds Max, yang sebelumnya dinamakan 3D Studio Max adalah software
komputer grafika 3D untuk membuat animasi 3D, model, dan gambar. Autodesk 3Ds Max
memiliki kemampuan pembuatan model, plugin arsitektur yang fleksible dan dapat
digunakan pada platform Microsoft Windows. Autodesk 3Ds Max sering digunakan oleh
pengembang video game, studio iklan televisi, studio visualisasi arsitektur dan digunakan
untuk memberikan efek pada film[2].
1.2 Identifikasi MasalahBerdasarkan pada latar belakang, maka pembangunan scene Monumen Nasional 3D
untuk tugas besar mata kuliah Komputer Grafika ini dapat dirumuskan dengan beberapa
pertanyaan, yang antara lain :
1. Bagaimana membangun scene Monumen Nasioal 3D yang mencakup detail yang ada pada
sekitar lokasi Monas dengan menggunakan Autodesk 3Ds Max ?
2. Bagaimana optimisasi animasi 3D Monas dengan menggunakan library OpenGL ?
Pembangunan Scene Monumen Nasional 3D Halaman 2
1.3 Maksud dan TujuanMaksud dari tugas besar mata kuliah Komputer Grafika ini adalah membangun
scene 3D yang bertemakan Monumen Nasional. Sedangkan tujuan yang ingin dicapai, antara
lain yaitu :
1. Membangun scene Monumen Nasional 3D yang mencakup detail yang ada pada sekitar
lokasi Monas dengan menggunakan software komputer grafika Autodesk 3Ds Max.
2. Optimisasi animasi 3D Monas dengan menggunakan library OpenGL.
1.4 Batasan MasalahDalam pembangunan scene 3D yang bertemakan Monumen Nasional ini, terdapat
beberapa batasan masalah yang diterapkan yang antara lain, yaitu :
1. Library grafis yang digunakan adalah OpenGL dengan bahasa pemrograman C.
2. Pembangunan objek 3D menggunakan software komputer grafika Autodesk 3Ds Max.
3. Detail tambahan yang merepresentasikan objek di sekitar Monas, meliputi : bangku
taman, lampu jalan, pohon, tekstur air pada kolam air mancur, tekstur jalan, tekstur
bunga yang mengelilingi Tugu Monas dan background langit.
Pembangunan Scene Monumen Nasional 3D Halaman 3
Bab IIPerancangan Dan Implementasi
2.1 Perancangan Scene
Scene 3D Monumen Nasional terdiri dari beberapa objek, yang antara lain, yaitu
Tugu Monas, bangku taman, lampu jalan, pohon, tekstur rumput, tekstur jalan, tekstur air
pada kolam air mancur, tekstur bunga yang mengelilingi Tugu Monas dan background
langit.
2.1.1 Tugu Monas
Tugu Monas merupakan objek utama pada pembangunan scene Monumen Nasional
3D.
Pembangunan Scene Monumen Nasional 3D Halaman 4
Gambar 1 : Tugu Monas
2.1.2 Bangku Taman
Bangku taman merupakan objek yang berada di sekitar Monas, dimana seseorang
dapat melepas lelah dengan duduk di kawasan wisata Monas, sembari menikmati
pemandangan sekitar.
2.1.3 Lampu Jalan
Lampu jalan yang berfungsi sebagai sumber pencahayaan kawasan dan merupakan
objek yang banyak berada di sekitar Monas.
Pembangunan Scene Monumen Nasional 3D Halaman 5
Gambar 2 : Bangku Taman
Gambar 3 : Lampu Jalan
2.1.4 Pohon
Pohon banyak ditanam di sisi kawasan wisata Monas, yang berfungsi sebagai paru-
paru Ibu Kota Jakarta dan tempat berteduh disaat berwisata ke Monas.
Objek pohon dibuat dengan menggunakan objek Foliage pada 3ds Max yang
terletak pada Command Panel – Create – Geometry – AEC Extended – Foliage – Favorite
Plants Rollout
2.1.5 Tekstur Rumput
Rumput terdapat di sisi-sisi kawasan wisata Monas yang merepresentasikan taman di
wilayah Monas.
Pembangunan Scene Monumen Nasional 3D Halaman 6
Gambar 4 : Pohon
Gambar 5 : Tekstur Rumput
2.1.6 Tekstur Jalan
Jalan di seluruh area Monas dibangun dengan menggunakan batu-batu yang
disambung sehingga menjadi permukaan jalan (cobblestone).
2.1.7 Tekstur Air
Tekstur air diterapkan untuk merepresentasikan kolam air mancur yang berada di
belakang Tugu
Monas.
Pembangunan Scene Monumen Nasional 3D Halaman 7
Gambar 6 : Jalan Monas
Gambar 7 : Tekstur Jalan
Pembangunan Scene Monumen Nasional 3D Halaman 8
Gambar 9 : Tekstur Air
Gambar 8 : Kolam Air Mancur Monas
2.1.8 Tekstur Bunga
Tekstur bunga diterapkan untuk merepresentasikan bunga-bunga yang ditanam
mengelilingi Tugu Monas.
Pembangunan Scene Monumen Nasional 3D Halaman 9
Gambar 10 : Bunga di Sekitar Tugu Monas
Gambar 11 : Tekstur Bunga
2.1.9 Background Langit
Background langit diberikan untuk merepresentasikan pemandangan kawasan wisata
Monumen Nasional pada siang hari.
2.2 Langkah Pembangunan Scene
Langkah-langkah yang dilakukan untuk pembangunan scene Monumen Nasioal 3D,
meliputi, pembangunan area objek, menyatukan objek, menerapkan tekstur, menerapkan
background, eksport ke non-native format file dari 3ds Max dan eksport ke code C OpenGL
dengan menggunakan 3D Exploration.
2.2.1 Pembangunan Area Objek
Pembangunan area objek merupakan langkah awal dalam pembangunan scene yaitu
membuat bidang datar yang merepresentasikan area keseluruhan scene, jalan, taman, area
bunga, dan kolam air mancur dengan menggunakan objek Plane dan membuat kotak yang
merepresentasikan trotoar yang berada di tengah jalan dan merupakan area ditanamnya lampu
jalan dengan menggunakan objek Box pada 3ds Max yang terletak pada Command Panel –
Create – Geometry – Standard Primitive dan luas area keseluruhan berukukan 160x160
dengan satuan Generic yang merupakan satuan default 3ds Max.
Pembangunan Scene Monumen Nasional 3D Halaman 10
Gambar 12 : Background Langit
2.2.2 Menyatukan Objek
Menyatukan objek pada scene dilakukan dengan mengimpor objek pada file lain
dan kemudian di-merge pada area objek yang telah dibangun sebelumnya.
Pembangunan Scene Monumen Nasional 3D Halaman 11
Gambar 13 : Langkah Awal Pembangunan Scene
Gambar 14 : Merge Objek
Setelah objek dimasukkan, seperti contohnya bangku taman, kemudian dilakukan
skala, translasi dan rotasi untuk menyesuaikan objek pada scene, fungsi tersebut terletak pada
toolbar, yang masing-masing bernama Select and Uniform Scale, Select and Move dan Select
and Rotate.
Pembangunan Scene Monumen Nasional 3D Halaman 12
Gambar 15 : Skala
Gambar 16 : Translasi
Setelah objek bangku taman selesai disesuaikan pada scene, langkah yang sama juga
diterapkan pada objek-objek lain seperti Tugu Monas, pohon, dan lampu jalan.
2.2.3 Penerapan Tesktur
Penerapan tekstur dilakukan dengan membuat tekstur dari gambar terlebih dahulu
pada Material Editor yang terletak pada menu Rendering – Material Editor – Compact
Material, lalu klik pada slot yang kosong, kemudian beri nama tekstur pada input field, lalu
klik button sebelah kanan Diffuse sehingga akan muncul jendela baru yang bernama
Pembangunan Scene Monumen Nasional 3D Halaman 13
Gambar 17 : Rotasi
Gambar 18 : Selesai Menyatukan Objek
Material/Map Browser, lalu double-click Bitmap, kemudian pilih gambar yang ingin
dijadikan bahan texturing pada objek. Setelah selesai membuat tekstur, kemudian pilih objek
yang ingin diberikan tekstur, lalu klik Assign Material Selection dan untuk menampilkan
tekstur pada objek di viewport klik Show Shaded Material in Viewport [3].
Pembangunan Scene Monumen Nasional 3D Halaman 14
Gambar 19 : Membuat Tekstur
Gambar 20 : Texturing
2.2.4 Penerapan Background
Memberikan background pada scene diatur pada jendela Environment and Effects
yang terletak pada menu Rendering – Environment… atau dengan shortcut keyboard angka 8,
kemudian klik button dibawah Environment Map, lalu akan muncul jendela Material/Map
Browser, kemudian double-click Bitmap dan pilih gambar yang ingin dijadikan background.
Setelah selesai mengatur background untuk dapat melihat penerapan background
pada scene klik button Render Production pada toolbar atau dengan menekan shortcut
keyboard F9.
Pembangunan Scene Monumen Nasional 3D Halaman 15
Gambar 21 : Atur Background
2.2.5 Eksport Scene ke Non-Native File Format 3ds Max
File Format asli 3ds Max adalah .max, alasan perlunya scene diekspor terlebih
dahulu ke non-native file format 3ds Max adalah untuk keperluan konversi scene ke code C
OpenGL dengan menggunakan software 3D Exploration dan file format yang didukung oleh
3D Exploration salah satunya adalah .obj. Kelebihan ekspor scene yang bertipe file .max ke
.obj yaitu, material yang diterapkan pada saat texturing dapat ikut diekspor dan
kelemahannya yaitu background yang telah diatur sebelumnya tidak ikut diekspor.
Pembangunan Scene Monumen Nasional 3D Halaman 16
Gambar 22 : Scene dengan Background
2.2.6 Konversi Scene ke Code C OpenGL dengan Menggunakan 3D Exploration
Ekspor scene ke code C OpenGL dilakukan dengan membuka membuka terlebih
dahulu software 3D exploration, kemudian pada sisi kiri aplikasi yang tampak seperti
Windows Explorer, buka folder yang berisikan file dari scene yang telah sebelumnya diekspor
ke format file .obj. Setelah itu, klik kanan pada file, kemudian pilih Convert – Geometry
File, lalu akan terbuka jendela Batch Format Conversion. Pada combo box Export Format
pilih tujuan konversi file ke cpp Open GL code dan spesifikasikan directory untuk
menyimpan hasil konversi pada To Folder.
Pembangunan Scene Monumen Nasional 3D Halaman 17
Gambar 23 : Ekspor File
Pembangunan Scene Monumen Nasional 3D Halaman 18
Gambar 24 :Konversi File ke C OpenGL
Gambar 8 Gambar 25 : Mulai Konversi
2.2.7 Menjalankan Scene di C OpenGL
Menjalankan scene di C OpenGL dari file yang sebelumnya telah diekspor,
tambahkan terlebih dahulu beberapa code, seperti untuk fungsi main, pencahayaan, dan
deklarasi tombol keyboard untuk merubah view dari scene dengan melakukan translasi,
rotasi, dan skala.
Hal pertama yang harus dilakukan adalah menambahkan linker library OpenGL
dengan menuju ke menu Project – Project Options – Tab Parameter, lalu pada linker
tambahkan library dengan menekan button Add Library or Object, dan masukkan library
libgdi32.a, libglu32.a, libglut.a, libglut32.a, libopengl32.a, dan libwinmm.a. Kemudian
tambahkan header pada baris pertama source code yang antara lain, yaitu :
#include <windows.h>
#include <math.h>
#include <GL\gl.h>
#include <GL\glu.h>
#include <GL\glut.h>
#include <GL\glext.h>
Selanjutnya tambahkan deklarasi variabel yang digunakan untuk memberikan nilai
pada saat melakukan translasi, rotasi dan skala dengan menekan tombol keyboard tertentu
dan diletakkan tepat dibawah deklarasi header.
GLfloat nilai_x = 0.0;
GLfloat nilai_y = 0.4;
GLfloat nilai_z = -2.0;
GLfloat rotasiX = 120.0;
GLfloat rotasiY = 180.0;
GLfloat rotasiZ = 0.0;
GLfloat zoom = 2.5;
Kemudian masukkan fungsi untuk pencahayaan dan diletakkan di bawah fungsi
LoadTexture, dengan code-nya yaitu :
void InitializeRC (void)
{
GLfloat glfLightAmbient[] = { 0.1f, 0.1f, 0.1f, 1.0f };
GLfloat glfLightDiffuse[] = { 1.2f, 1.2f, 1.2f, 1.0f };
GLfloat glfLightSpecular[] = { 0.9f, 0.9f, 0.9f, 1.0f };
Pembangunan Scene Monumen Nasional 3D Halaman 19
glLightfv (GL_LIGHT0, GL_AMBIENT, glfLightAmbient);
glLightfv (GL_LIGHT0, GL_DIFFUSE, glfLightDiffuse);
glLightfv (GL_LIGHT0, GL_SPECULAR, glfLightSpecular);
glEnable (GL_LIGHTING);
glEnable (GL_LIGHT0);
//enable depth testing and backface culling.
glEnable (GL_DEPTH_TEST);
glEnable (GL_CULL_FACE);
}
Terakhir yaitu dengan membuat fungsi untuk menampilkan scene pada jendela
OpenGL, fungsi tombol keyboard, dan fungsi main, yang masing-masing, yaitu :
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity ();
glTranslatef(nilai_x,-0.1,nilai_z);
glRotatef (rotasiX, 1.0f, 0.0f, 0.0f);
glRotatef (rotasiY, 0.0f, 1.0f, 0.0f);
glRotatef (rotasiZ, 0.0f, 0.0f, 1.0f);
glScalef(2.5, 2.5, 2.5);
int i;
int j;
for(i=0;i<5;i++)
{
GLuint texture_name;
glGenTextures(1,&texture_name);
texture_maps[i].id=texture_name;
glBindTexture(GL_TEXTURE_2D,texture_name);
LoadTexture(texture_maps[i].name);
}
int mcount=0;
int mindex=0;
glBegin (GL_TRIANGLES);
Pembangunan Scene Monumen Nasional 3D Halaman 20
for(i=0;i<sizeof(face_indicies)/sizeof(face_indicies[0]);i++)
{
if(!mcount)
{
SelectMaterial(material_ref[mindex][0]);
mcount=material_ref[mindex][1];
mindex++;
}
mcount--;
for(j=0;j<3;j++)
{
int vi=face_indicies[i][j];
int ni=face_indicies[i][j+3];//Normal index
int ti=face_indicies[i][j+6];//Texture index
glNormal3f (normals[ni][0],normals[ni][1],normals[ni][2]);
glTexCoord2f(textures[ti][0],textures[ti][1]);
glVertex3f (vertices[vi][0],vertices[vi][1],vertices[vi][2]);
}
}
glEnd ();
Sleep(5);
glutSwapBuffers();
}
void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
glMatrixMode (GL_MODELVIEW);
}
Pembangunan Scene Monumen Nasional 3D Halaman 21
//aksi yang dilakukan saat tombol ditekan
void keyboard(unsigned char key, int x, int y)
{
//inisialisasi tombol ESC untuk keluar program
switch (key) {
case 27:
exit(0);
break;
}
//rotasi kamera ke kiri
if (key == 'A' or key == 'a')
{
rotasiZ-=5.0;
glutPostRedisplay();
}
//rotasi kamera ke kanan
else if (key == 'D' or key == 'd')
{
rotasiZ+=5.0;
glutPostRedisplay();
}
}
//interaksi dengan special key
void keyspecial( int key, int x, int y )
{
//zoom out
if(key == GLUT_KEY_DOWN)
{
if(nilai_z>=-3.0)
{
nilai_z-=0.05;
Pembangunan Scene Monumen Nasional 3D Halaman 22
}
else
{
nilai_z=nilai_z;
}
glutPostRedisplay();
}
//zoom in
if (key == GLUT_KEY_UP)
{
if(nilai_z<=-1.65)
{
nilai_z+=0.05;
}
else
{
nilai_z=nilai_z;
}
glutPostRedisplay();
}
//translasi scene ke kiri
if (key == GLUT_KEY_LEFT)
{
if(nilai_x>=-0.4)
{
nilai_x-=0.05;
}
else
{
nilai_x=nilai_x;
}
Pembangunan Scene Monumen Nasional 3D Halaman 23
glutPostRedisplay();
}
//translasi scene ke kanan
if (key == GLUT_KEY_RIGHT)
{
if(nilai_x<=0.4)
{
nilai_x+=0.05;
}
else
{
nilai_x=nilai_x;
}
glutPostRedisplay();
}
}
//fungsi main
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowSize (950, 600);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Kelompok 8 - IF-7 - Monumen Nasional");
InitializeRC();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutSpecialFunc(keyspecial);
glutMainLoop();
return 0;
}
Pembangunan Scene Monumen Nasional 3D Halaman 24
Tombol-tombol keyboard yang dispesifikasikan pada scene antara lain, yaitu :
Tombol A : Berfungsi untuk memutar scene ke kiri.
Tombol D : Berfungsi untuk memutar scene ke kanan.
Tombol W : Berfungsi untuk memutar scene ke arah atas.
Tombol S : Berfungsi untuk memutar scene ke arah bawah.
Tombol Key Up : Berfungsi untuk memperbesar scene (zoom in).
Tombol Key Down : Berfungsi untuk memperkecil scene (zoom out).
Tombol Key Right : Berfungsi untuk menggeser scene ke kanan.
Tombol Key Left : Berfungsi untuk menggeser scene ke kiri.
Pembangunan Scene Monumen Nasional 3D Halaman 25
Bab IIIPenutup
3.1 Kesimpulan
Kesimpulan dari pembangunan scene Monumen Nasioanl 3D ini, dapat dijabarkan
dengan beberapa poin yang antara lain, yaitu :
Software yang dibutuhkan untuk membangun scene Monumen Nasional 3D, yaitu, 3ds
Max, 3D Exploration dan Dev-C++ yang include library OpenGL.
Saat ekspor file ke .obj material ikut terekspor, akan tetapi background tidak ikut
terekspor.
Source Code C OpenGL yang di-generate oleh 3D Exploration hanya berupa main file
bertipe .cpp, sehingga harus disalin kodenya terlebih dahulu ke project baru dan kodenya
hanya berisi deklarasi objek yang dibangun pada scene sehingga harus menambahkan
beberapa code kembali, seperti fungsi main.
Pembangunan Scene Monumen Nasional 3D Halaman 26
Bab IVDaftar Pustaka
[1]
Monumen Nasional. (2005, Januari 13 ). Dipetik Mei 20, 2013, dari Wikipedia: http://id.wikipedia.org/wiki/Monumen_Nasional
[2] Autodesk 3ds Max. (2008, Juli 21). Dipetik Mei 20, 2013, dari Wikipedia: http://en.wikipedia.org/wiki/Autodesk_3ds_Max
[3] Madcoms. (2010). Autodesk 3ds Max 2011 Untuk Pemula. Yogyakarta: Andi Offset.
[4] Maliki, I. (2008, September 19). Sistem Grafik Komputer. Bandung.
[5] Yunita, Y. (2010, Desember 27). Makalah Kepariwisataan "Monumen Nasional". Dipetik Mei 20, 2013, dari http://yeniyunita.blogspot.com/2010/12/makalah-kepariwisataan-monumen-monas.html
Pembangunan Scene Monumen Nasional 3D Halaman 27