Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
DAFTAR ISI
SKRIPSI
PERMAINAN DENGAN OBJEK 3D OPENGL
Disusun Oleh :
Nama:Triyoga Kuncara
No. Mahasiswa:025410248
Jurusan:Teknik Informatika
Jenjang: Strata Satu (S – 1)
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2004
SKRIPSI
PERMAINAN DENGAN OBJEK 3D OPENGL
Diajukan sebagai salah satu syarat untuk menyelesaikan jenjang pendidikan
Strata Satu di Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM Yogyakarta
Disusun Oleh :
Nama:Triyoga Kuncara
No. Mahasiswa:025410248
Jurusan:Teknik Informatika
Jenjang: Strata Satu (S – 1)
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2004
HALAMAN PERSETUJUAN
Judul Skripsi:Permainan Dengan Objek 3D OpenGL
Nama:Triyoga Kuncara
No. Mahasiswa: 025410248
Jurusan:Teknik Informatika
Jenjang: Strata Satu (S-1)
Mata Kuliah:Skripsi
Selesai diperiksa dan disetujui
Di Yogyakarta
Pada tanggal: 2004
Mengetahui,
Dosen Pembimbing IDosen Pembimbing II
Ir. Sudarmanto, M. T.Thamir Abdul H., B. Sc., M. Sc.
HALAMAN PENGESAHAN
Judul Skripsi:PERMAINAN DENGAN OBJEK 3D OPENGL
Nama:Triyoga Kuncara
Nomor Mahasiswa:025410248
Program Studi:Teknik Informatika
Jenjang:Strata Satu (S-1)
Tahun Akademik:2003/2004
Semester:Genap
Skripsi ini Telah Diuji dan Disahkan di Depan Dosen Penguji Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) AKAKOM Yogyakarta pada :
Hari:Jumat
Tanggal:20 Agustus 2004
Pukul:10:00 WIB
Susunan Dosen Penguji
1.Ir. Sudarmanto, M. T.1. ……………..
2. Thamir Abdul H., B. Sc., M. Sc.
2. ……………..
3. Bambang P. D. P., S. Kom., S. E. Akt., MMSI3. ……………..
4. Drs. M. Basor
4……………….
Mengetahui / Mengesahkan
Ketua Jurusan Teknik Informatika
Enny Itje Sela, S.Si., M. Kom.
Kupersembahkan kepada :
· Kedua orang tuaku, yang tak henti-hentinya memberikan doa, kasih sayang dan perhatiannya, terima kasihku yang sebesar-besarnya untuk kalian berdua.
· Kakak-kakakku, adik-adikku, Chopie’ yang imoet-imoet, yang telah memberikan dorongan dan perhatian.
· Susan, terima kasih atas semua yang telah kau berikan selama ini yang tidak pernah sempat aku balas, terima kasih banyak, San.
· Teman-teman seperjuangan MI-B2 dan TI-S1 penetap dan pendatang, Santo, Agus, Rio, Sapto, Mawan, Edo, Antok, Andi, Ikhsan, Jevri, Heru, Udin, Nurul, Anis, Ratna, Rita, temen-temen TI kelas D ’00, ‘01, ’02, dan teman-teman lain yang tidak dapat ku sebutkan satu persatu.
· Komputerku yang monitornya ngadat terus, terima kasih.
MOTTO
· Manusia mempunyai kebebasan untuk mengontrol nasibnya sendiri.
· Tanpa gairah hidup, maka tidak akan ada kehidupan cinta.
· Penderitaan adalah guru yang baik untuk manusia. Jiwa tumbuh dalam tiupan penderitaan.
· Cinta dan benci adalah hal yang sama. Awalnya datang dengan agresif dan kemudian pasif.
INTISARI
Grafika telah berperan dalam berbagai segi kehidupan manusia, misalnya dalam keluarga, pendidikan, hiburan, kesenian, dan lain-lain. Perkembangan grafika komputer telah mewujudkan suatu antarmuka berbasis GUI (Graphical User Interface) yang menjadikan aplikasi komputer lebih mudah diterima penggunanya. Bahkan grafika komputer telah dimanfaatkan dalam dunia hiburan, misalnya saja dalam bentuk game atau movie. Dan dari game-game yang beredar di pasaran saat ini, kebanyakan telah disajikan dalam bentuk tiga dimensi.
Sebagai seorang programmer pemula dalam grafika komputer, biasanya akan timbul pertanyaan yang menggelitik, misalnya “Apakah bahasa pemrograman yang saya kuasai, dapat digunakan untuk membuat aplikasi grafika tiga dimensi ? Jika bisa, bagaimana caranya ?”. Pertanyaan seperti itu adalah pertanyaan yang sederhana tetapi langsung mengena. Oleh karena itu, perlu dipelajari bagaimana cara membuat aplikasi tiga dimensi menggunakan suatu bahasa pemrograman, dalam hal ini adalah Borland Delphi.
Secara standar, pemrograman aplikasi tiga dimensi menggunakan Delphi dapat saja dilakukan tetapi programmer akan sangat kesulitan dengan perhitungan-perhitungan matriks-matriks untuk melakukan transformasi objek sampai dengan menerapkan efek-efek yang lain. Oleh karena itu, Skripsi ini disusun dengan maksud untuk memperkenalkan tentang pustaka OpenGL yang digunakan untuk melakukan hal-hal tersebut. Dengan OpenGL, programmer tidak perlu lagi harus mengetahui tentang perhitungan-perhitungan matriks, metode-metode transformasi, penerapan texture, dan lain-lain, walaupun tidak menutup kemungkinan ada pustaka-pustaka lain yang mendukung hal serupa, misalnya DirectX.
Untuk memperkenalkan OpenGL ini, penulis mencoba menyampaikan dasar-dasar pemrograman OpenGL yang pengimplementasiannya diwujudkan dalam bentuk permainan karena sifat dari permainan adalah interaktif, sehingga user dapat melakukan sendiri demonstrasi objek-objek tiga dimensinya. Selain itu dengan permainan, teknik-teknik permrograman yang ingin disampaikan dapat terangkum dalam sebuah implementasi saja tanpa terlalu menuntut aplikasi permainan itu harus bagaimana dan seperti apa. Yang menjadi tujuan di sini adalah mengenalkan dasar pemrograman OpenGL untuk membuat objek-objek dua dan tiga dimensi sesuai dengan batasan masalah yang ada karena melihat kemampuan OpenGL sendiri sangat banyak.
Batasan masalahnya di sini adalah kode program minimal untuk membuat aplikasi OpenGL, pembuatan objek-objek tiga dimensi sederhana, penerapan texturing, penggabungan texture, penerapan multitexture, dan efek pencahayaan (lighting). Dengan batasan masalah ini, diharapkan dapat memberikan pengetahuan dasar kepada programmer khususnya pemula dalam pemrograman grafika komputer untuk membuat animasi-animasi objek tiga dimensi menggunakan pustaka OpenGL.
KATA PENGANTAR
Dengan mengucapkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan Skripsi ini dengan lancar. Skripsi ini disusun dengan judul “Permainan Dengan Objek 3D OpenGL”.
Tujuan dari penyusunan skripsi ini adalah untuk melengkapi dan memenuhi syarat untuk menyelesaikan studi jenjang Strata Satu (S-1) jurusan Teknik Informatika AKAKOM Yogyakarta.
Terselesaikannya skripsi ini tidak lepas dari bantuan semua pihak. Dan dalam kesempatan ini penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :
1. Bapak Drs. G. P. Daliyo, Dipl. Comp., selaku Ketua Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta.
2. Bapak Ir. M. Guntara, M. T., selaku Pembantu Ketua I Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta.
3. Ibu Enny Itje Sela, S. Si, M. Kom., selaku Ketua Jurusan Teknik Informatika jenjang S1.
4. Bapak Ir. Sudarmanto, M. T., selaku Dosen Pembimbing I yang telah memberikan bimbingan dan pengarahan kepada penulis dalam menyelesaikan skripsi ini.
5. Bapak Thamir Abdul H., B. Sc, M. Sc, selaku Dosen Pembimbing II yang telah memberikan bimbingan dan pengarahan lebih lanjut kepada penulis.
6. Seluruh Dosen serta Staff Karyawan Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta yang secara langsung maupun tidak langsung telah banyak memberikan ilmu pengetahuan dan membantu dalam terselesaikannya skripsi ini.
7. Teman-teman semua yang telah membantu baik secara langsung maupun tidak langsung.
8. Semua pihak yang tidak dapat disebutkan satu persatu dan telah banyak membantu dalam penyusunan skripsi ini.
Dalam penyusunan karya tulis ini, penulis menyadari masih ada kekurangan dan masih jauh dari kesempurnaan, baik dalam segi isi maupun cara menyampaikan materi. Oleh karena itu kritik dan saran yang bersifat membangun sangat penulis harapkan.
Akhir kata penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis khususnya dan bagi pembaca pada umumnya.
Yogyakarta, Agustus 2004
Penulis
DAFTAR ISI
HALAMAN JUDUL
i
HALAMAN PERSETUJUAN
ii
HALAMAN PENGESAHAN
iii
HALAMAN PERSEMBAHAN
iv
HALAMAN MOTTO
v
INTISARI
vi
KATA PENGANTAR
vii
DAFTAR ISI
ix
DAFTAR TABEL
xii
DAFTAR GAMBAR
xiii
BAB IPENDAHULUAN
1
1.1 Latar Belakang Masalah
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
3
1.4 Tujuan Penulisan
3
1.5 Metode Pengumpulan Data
4
1.6 Sistematika Penulisan
4
BAB IILANDASAN TEORI
6
2.1 Pengenalan OpenGL
7
2.1.1 Komponen Dalam OpenGL
7
2.1.2 Prinsip Kerja OpenGL
9
2.1.3 OpenGL pada Win32 dan X-Window System
11
2.1.4 Keterbatasan OpenGL
12
2.2 Pengenalan Borland Delphi
13
2.2.1 Sepintas Borland Delphi
13
2.2.2 Mengenal IDE Delphi
14
2.2.3 Konversi Tipe Data OpenGL ke Delphi
16
2.2.4 Pemrograman Delphi OpenGL
17
BAB IIIPERANCANGAN SISTEM
26
3.1 Pengertian Sistem
26
3.2 Sistem Perangkat Keras
26
3.3 Sistem Perangkat Lunak
27
3.4 Bagan Alir Sistem
27
3.5 Penjelasan Sistem
28
3.6 Perancangan File Peta Ruangan
30
3.7 Perancangan File Koordinat Objek
33
BAB IVIMPLEMENTASI SISTEM
34
4.1 Teknik Pemrograman OpenGL
34
4.1.1 Objek-objek 3D Sederhana
34
4.1.2 Pembangkitan Gambar (Texturing)
37
4.1.3 Penggabungan Gambar (Blending)
40
4.1.4 Animasi Banyak Gambar (Multitexturing)
43
4.1.5 Pencahayaan (Lighting)
46
4.2 Pembahasan Program Aplikasi
48
4.2.1 Menu Main
48
4.2.2 Menu Pengaturan
52
4.2.3 Menu Nilai
53
4.2.4 Menu Tentang
55
4.3 Implementasi Program
56
4.3.1 Spesifikasi Sistem
56
4.3.2 Pengoperasian Program
58
BAB VPENUTUP
70
5.1 Kesimpulan
70
5.2 Saran
71
DAFTAR PUSTAKA
LAMPIRAN OBJEK-OBJEK 3D
LAMPIRAN KODE-KODE GAMBAR
LAMPIRAN PERANCANGAN PETA RUANG
LAMPIRAN LISTING PROGRAM
DAFTAR TABEL
Tabel 2.1.Konversi Tipe Data OpenGL ke Delphi
16
Tabel 4.1.Konstanta objek 3 dimensi sederhana
36
DAFTAR GAMBAR
Gambar 2.1Langkah-langkah penampilan gambar
10
Gambar 2.2Prinsip kerja OpenGL
11
Gambar 2.3Tampilan interface Delphi
14
Gambar 2.4Form dan komponen ApplicationEvent
19
Gambar 3.1Bagan Alir sistem Permainan dengan Objek 3D OpenGL
28
Gambar 3.2Perancangan Peta Ruangan
30
Gambar 4.1Kotak sederhana
35
Gambar 4.2Texturing pada sebuah kotak
38
Gambar 4.3Efek texture sphere map pada kubus
40
Gambar 4.4Efek blending pada kubus
42
Gambar 4.5Efek multitexturing pada globe
45
Gambar 4.6Pencahayaan pada bola bumi
47
Gambar 4.7Flowchart Permainan
48
Gambar 4.8Flowchart Pengaturan
52
Gambar 4.9Flowchart Nilai
54
Gambar 4.10Flowchart Tentang
55
Gambar 4.11Tampilan proses loading program
58
Gambar 4.12Tampilan menu utama program
59
Gambar 4.13Kotak dialog Pilih Ruangan
60
Gambar 4.14Kotak dialog Pengaturan
61
Gambar 4.15Tampilan Nilai Tertinggi
62
Gambar 4.16Tampilan Tentang program
63
Gambar 4.17Tampilan konfirmasi keluar program
63
Gambar 4.18Tampilan sebuah ruangan
64
Gambar 4.19Pemain menemukan objek Teko
65
Gambar 4.20Efek ketika objek diambil
66
Gambar 4.21Tampilan Gerbang
67
Gambar 4.22Tampilan akhir dari permainan
68
PAGE
xiii