daftar isi halaman judul.doc · web viewtabel 4.1. konstanta objek 3 dimensi sederhana 36 daftar...

22
SKRIPSI PERMAINAN DENGAN OBJEK 3D OPENGL Disusun Oleh : Nama : Triyoga Kuncara No. Mahasiswa : 025410248 Jurusan : Teknik Informatika Jenjang : Strata Satu (S – 1)

Upload: others

Post on 06-Feb-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

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