Laporan Tugas Besar GPC Membangun Aplikasi 3D OpenGL PDF

Title Laporan Tugas Besar GPC Membangun Aplikasi 3D OpenGL
Author Muhamad Ibrahim
Pages 22
File Size 266.3 KB
File Type PDF
Total Downloads 274
Total Views 422

Summary

MEMBANGUN APLIKASI ANIMASI 3D PEMBUANGAN SAMPAH ORGANIK DAN NON-ORGANIK Dikerjakan untuk memenuhi Tugas Besar Mata Kuliah Grafika dan Pengolahan Citra Dosen : Rangga Gelar Guntara, S.Kom., M.Kom Dikerjakan Oleh : Egy Dzulfahmi (10111502) Arif Rachman (10111486) M. Ibrahim (10111129) Lugy Septian C (...


Description

MEMBANGUN APLIKASI ANIMASI 3D PEMBUANGAN SAMPAH ORGANIK DAN NON-ORGANIK

Dikerjakan untuk memenuhi Tugas Besar Mata Kuliah Grafika dan Pengolahan Citra Dosen : Rangga Gelar Guntara, S.Kom., M.Kom

Dikerjakan Oleh :

Egy Dzulfahmi

(10111502)

Arif Rachman

(10111486)

M. Ibrahim

(10111129)

Lugy Septian C

(10111235)

Riekal Fahmi

(10110482)

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2015

DAFTAR ISI

DAFTAR ISI .......................................................................................................................... i BAB 1 PENDAHULUAN ..................................................................................................... 1 1.1

Latar Belakang ................................................................................................... 1

1.2

Rumusan Masalah............................................................................................. 1

1.3

Maksud dan Tujuan .......................................................................................... 1

1.4

Batasan Masalah ............................................................................................... 2

BAB 2 LANDASAN TEORI ................................................................................................. 3 2.1

Grafika Komputer.............................................................................................. 3

2.2

OpenGL .............................................................................................................. 3

2.3

Objek 3D ............................................................................................................ 4

2.4

Objek Primitif 3D .............................................................................................. 5

2.5

Transformasi Objek 3D .................................................................................... 6

2.5.1

Translasi (Perpindahan) ............................................................................ 6

2.5.2

Rotasi (Perputaran) ................................................................................... 7

2.5.3

Skalasi (Penskalaan) .................................................................................. 7

BAB 3 ANALISIS DAN IMPLEMENTASI ........................................................................... 9 3.1

Taman................................................................................................................. 9

3.1.1

Matahari ..................................................................................................... 9

3.1.2

Pohon ......................................................................................................... 9

3.1.3

Lampu Taman.......................................................................................... 10

3.1.4

Kursi .......................................................................................................... 10

3.1.5

Jalan Taman dan Lantai Dasar............................................................... 10

3.2

Sungai atau Selokan ....................................................................................... 11

3.3

Orang Buang Sampah Organik ..................................................................... 11

3.4

Orang Buang Sampah Non-Organik............................................................ 12

3.5

Orang Buang Sampah ke Sungai .................................................................. 13

3.6

Tong Sampah .................................................................................................. 14

3.7

Sampah Berserakan di Sungai atau Selokan ............................................... 14

i

3.8

Tiang Tempat Logo Persib............................................................................. 15

3.9

Logo Persib ...................................................................................................... 15

3.10

Implementasi ................................................................................................... 17

BAB 4 KESIMPULAN DAN SARAN ................................................................................ 19 4.1

Kesimpulan ...................................................................................................... 19

4.2

Saran................................................................................................................. 19

ii

BAB 1 PENDAHULUAN

1.1

Latar Belakang Sampah merupakan material sisa yang tidak diinginkan setelah berakhirnya suatu

proses. Saat ini di kota Bandung sedang gencar membuat program yang berhubungan dengan sampah, seperti GPS (Gerakan Pungut Sampah), harus menyediakan tempat sampah di dalam mobil, hingga denda bagi yang membuang sampah sembarangan. Sudah diketahui bersama bahwa dampak yang bisa terjadi apabila membuang sampah sembarangan, terutama membuang ke sungai atau selokan, aliran air menjadi terhambat, sehingga berpotensi menyebabkan banjir. Sampah sendiri memiliki 2 jenis yaitu Organik dan Non Organik. Sampah organik adalah sampah yang mudah membusuk seperti sisa makanan, sayuran, daun-daun kering, dan sebagainya. Sampah ini dapat diolah lebih lanjut menjadi kompos. Sampah Non Organik adalah sampah yang tidak mudah membusuk, seperti plastik wadah pembungkus makanan, kertas, plastik mainan, botol dan gelas minuman, kaleng, kayu, dan sebagainya. Maka perlunya untuk memiliah-milah dalam pembuangan sampah tersebut. Maka daripada itu perlu rasanya dibangun sebuah aplikasi informasi pembuangan sampah berdasarkan jenisnya beserta dampak yang terjadi apabila membuang sampah sembarangan, agar warga mendapatkan pengetahuan untuk membedakan antara sampah organik dan non-organik serta bisa sadar akan akibat membuang sampah sembarangan. 1.2

Rumusan Masalah Aplikasi apa yang perlu dibuat untuk memberikan informasi pembuangan sampah

organik dan non organik sebagai media untuk membantu mensosialisasikan gerakan pungut sampah (GPS)? 1.3

Maksud dan Tujuan Maksud dari pembuatan tugas besar ini adalah Membangun Aplikasi 3D Informasi

Pembuangan Sampah Organik dan Non-Organik.

1

Tujuan dari tugas besar ini adalah : -

Memberikan informasi mengenai perbedaan sampah organik dan nonorganik

1.4

-

Mensimulasikan pembuangan sampah pada tempat sesuai dengan jenisnya.

-

Menampilkan dampak akibat membuang sampah sembarangan

Batasan Masalah Berikut ini dijelaskan batasan masalah dari pembuatan aplikasi informasi

pembuangan sampah organik dan non-organik 1.

Aplikasi dibangun menggunakan bahasa pemrograman C dengan tool Dev C++ 4.9.9.4 dan library OpenGL GLUT.

2.

Objek yang terdapat dalam aplikasi antara lain : a.

Lokasi berada di taman

b.

2 orang membuang sampah organik dan non organik dan 1 orang yang membuang sampah

c.

Tempat sampah organik dan non organik

d.

Sungai/selokan

e.

Sampah yang berserakan di sungai/selokan

f.

Lampu Taman

g.

Matahari

h.

Kursi

i.

Tiang untuk logo Persib

j.

Logo Persib

2

2

BAB 2

LANDASAN TEORI

2.1

Grafika Komputer Menurut Suyoto

(2003), grafika komputer (Computer Graphic) dapat diartikan

sebagai seperangkat alat yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik untuk seni, game komputer, foto dan film animasi. Sistem grafika komputer dapat dijalankan dengan komputer pribadi (Personal Computer) atau

workstation. Grafika komputer semakin lama semakin pesat perkembangannya

sehingga definisi dari grafika komputer dapat diartikan sebagai suatu studi tantang bagaimana menggambar (membuta grafik) dengan menggunakan komputer dan manipulasinya (merubah sedikit/transformasi/ animasi). Pengertian grafik berbeda dengan image/citra, image adalah gambar yang diperoleh dengan alat pengambil gambar, sperti kamera, scanner, dll. Sedangkan grafik adalah gambar yang dibuat dengan cara tertentu, yaitu cara yang ada di grafik komputer. Grafik dan image termasuk picture/gambar. 2.2

OpenGL OpenGL adalah sebuah program aplikasi interface yang digunakan untuk

mendefinisikan komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics Library, OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem. Fungsi dasar dari OpenGL adalah untuk mengeluarkan koleksi perintah khusus atau executable ke sistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras grafis yang ada yang berada pada hard drive atau sumber tertentu lainnya. Setiap perintah dalam dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang terkait dengan grafis. OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan

3

untuk keperluan-keperluan pemrograman grafis. OpenGL bersifat Open-Source, multiplatform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya. OpenGl melayani dua tujuan :  

Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API. Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan).

2.3

Objek 3D Grafik komputer 3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang

memiliki panjang, lebadan tinggi. Grafik 3 Dimensi merupakan teknik penggambaran yg berpatokan pada titik koordinat Representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Tiga Dimensi, biasanya digunakan dalam penanganan grafis. 3D secaraumum merujuk pada kemampuan dari sebuah video card(link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game komputer. Grafik 3D merupakan perkembangan dari grafik 2D. Didalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Perbedaan paling utama dari objek 2 dimensi dan objek 3 dimensi yaitu kedalamannya. Yaitu suatu jarak antara pengamat dengan suatu objek yang dilihat (point of view). Jadi, jika objek 2 dimensi hanya menggunakan 2 ukuran (panjang dan lebar), maka 3 dimensi menggunakan 3 ukuran meliputi panjang, lebar, kedalaman yang disimbolkan dengan sumbu x, y, z.

4

Suatu objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada permukaan gambar. Proses pembuatan grafik komputer 3D dapat dibagi ke dalam tiga fase, yaitu 3D modeling yang mendeskripsikan bentuk dari sebuah objek, layout dan animation yang mendeskripsikan gerakan dan tata letak sebuah objek, dan 3D rendering yang memproduksi image dari objek tersebut. 2.4

Objek Primitif 3D Ada beberapa bentuk primitive dari objek 3 dimensi. Promitive yaitu bentuk dasar

yang dapat dengan mudah didefinisikan secara matematik. 

Sphere : glutWireSphere(5, 20, 20);



Cube : glutWireSphere(25);



Cone : glutWireSphere(alas, tinggi, 20, 20);



Dodecahedron : glutWireDodecahedron();



Teapot : glutWireTeapot(15);

5



2.5

Torus : glutWireTorus(luar, dalam, 20, 20);

Transformasi Objek 3D Ada beberapa transformasi objek 3D, yaitu akan dijelaskan di bawah ini.

2.5.1

Translasi (Perpindahan) Dalam tranformasi objek tiga dimensi, translasi adalah pemindahan suatu titik

dari titik P=(x,y,z) ke posisi P=(x’,y’,z’) (Hearn, 1994) dengan menggunakan operasi matriks:

Parameter tx, ty, dan tz menjelaskan perpindahan jarak untuk koordinat x, y, dan z.

Sebuah bangun tiga dimensi yang ditranslasikan dengan vektor tertentu, dilakukan dengan memindahkan titik-titik sesuai dengan vektor tersebut.

6

2.5.2

Rotasi (Perputaran) Untuk merotasikan sebuah objek diperlukan sumbu rotasi (poros untuk

merotasikan objek) (Donald Hearn, 1994). Sintaks untuk merotasikan objek pada OpenGL adalah glRotate(sudut, x, y, z). Parameter pertama adalah nilai perputaran sudut. Parameter kedua , ketiga, dan keempat bernilai 1 apabila sumbunya dijadikan sumbu putar. Contoh perotasian objek ditunjukkan pada gambar di bawah ini.

Kode program : quadratic:=glunewquadric(); glucylinder(quadratic,0.25,0.25,1,32,32); gltranslatef(1,0,1); glrotatef(-90,1,0,0); glucylinder(quadratic,0.25,0.25,1,32,32); Pada contoh diatas, diketahui bahwa posisi awal tabung sejajar dengan sumbu z. Namun, setelah dirotasi sebesar - putar x, posisi tabung sejajar dengan sumbu y. Itu menunjukkan bahwa perotasian objek dengan sudut putar positif akan berputar berlawanan dengan arah jarum jam, begitu pula sebaliknya, jika sudut putar bernilai negatif, maka objek akan berputar searah dengan jarum jam. 2.5.3

Skalasi (Penskalaan) Transformasi skala adalah perubahan ukuran suatu objek (Sutopo, 2002). Sintaks

untuk untuk melakukan proses penskalaan dalam OpenGL adalah glScalef(x,y,z:glFloat)

7

Parameter pertama, kedua, dan ketiga masing-masing menunjukkan nilai skala dari ukuran objek. Apabila parameter tersebut bernilai 1, maka berarti ukuran objek tersebut tetap. Contoh penskalaan ditunjukkan oleh gambar di bawah ini

8

3

BAB 3

ANALISIS DAN IMPLEMENTASI

Bab analisis berisi tentang penjelasan penggunaan fungsi OpenGL untuk membentuk objek-objek yang ada pada Aplikasi. 3.1

Taman

Berikut ini ada beberapa objek-objek pembentuk taman, akan dijelaskan di bawah ini. 3.1.1

Matahari Berikut ini adalah objek-objek yang membangun Matahari:

No

Objek Pembentuk

Keterangan

1

Matahari

Menggunakan glutSolidSphere yang berfungsi untuk membentuk pola lingkaran dan glColor3f untuk memberi warna

3.1.2

Pohon Berikut ini adalah objek-objek yang membangun Pohon:

No

Objek Pembentuk

Keterangan

1

Tangkai

Menggunakan glutSolidCube untuk mengatur ketebalan tangkai dan glTranslatef untuk mengatur posisi tangkai

2

Daun

Menggunakan glutSolidCone untuk membentuk kerucut dan di atur glTranslatef hingga pada posisi yg di inginkan

9

3.1.3

Lampu Taman Berikut ini adalah objek-objek yang membangun Lampu Taman:

No

Objek Pembentuk

Keterangan

1

Bola Lampu

Menggunakan glutSolidSphere sehingga membentuk pola lingkaran dan glTranslatef untuk mengatur posisi bola lampu

2

Tiang Lampu

Menggunakan glutSolidCube dan atur ketebalan nya dan glTranslatef untuk mengatur posisinya

3.1.4

Kursi Berikut ini adalah objek-objek yang membangun Kursi:

No

Objek Pembentuk

Keterangan

1

Kursi

Menggunakan glutSolidCube untuk mengatur ketebalan dan glTranslatef untuk mengatur posisi

3.1.5

Jalan Taman dan Lantai Dasar Berikut ini adalah objek-objek yang membangun Jalan Taman dan Lantai Dasar:

No

Objek Pembentuk

Keterangan

1

Jalan

Menggunakan GL_QUADS dan atur glVertex3f dan gunakan glColor3f untuk mengatur warna

10

3.2

Sungai atau Selokan Berikut ini adalah objek-objek yang membangun Selokan:

No

Objek Pembentuk

Keterangan

1

Pembatas Sungai

Menggunakan glutSolidCube lalu di glScale dan glTranslate untuk merubah posisi agar pas dengan pinggiran sungai

2

Sungai

Menggunakan glutSolidCube lalu di glScale dan glTranslate untuk merubah posisi agar pas dengan selasela jalan yang ada

3.3

Orang Buang Sampah Organik Berikut ini adalah objek-objek yang membangun Orang Buang Sampah Organik :

No

Objek Pembentuk

Keterangan

1

Kepala

Menggunakan glutSolidSphere

2

Badan

glutSolidCube di-glScale-kan sehingga membentuk balok, lalu ditumpuk dengan glutSolidSphere.

3

Rambut

glutSolidSphere dan di glTranslate sehingga pas dengan posisi kepala

4

Mata

Mata kiri dan kanan menggunakan glutSolidSphere

5

Leher

Menggunakan glutSolidCube

6

Mulut

Menggunakan glutSolidSphere lalu di-glScale dan glRotate

7

Tangan Kiri

Untuk tangan glutSolidCone, glutSolidCube dan untuk telapak tangan menggunakan glutSolidSphere

8

Tangan Kanan

Sama seperti tangan kiri, namun dilakukan glRotate supaya membentuk tangan yang sedang membuang sampah

11

9

Kaki

Kedua kaki menggunakan glutSolidCube lalu di-glScale supaya membentuk kaki

10

Telapak Kaki

Sama dengan kaki, menggunakan glutSolidCube hanya perbedaannya glScalenya.

11

Sampah Donat

Menggunakan glutSolidTorus

3.4

Orang Buang Sampah Non-Organik Berikut ini adalah objek-objek yang membangun Orang Buang Sampah NonOrganik :

No

Objek Pembentuk

Keterangan

1

Kepala

Menggunakan glutSolidSphere

2

Badan

glutSolidCube di-glScale-kan sehingga membentuk balok, lalu ditumpuk dengan glutSolidSphere.

3

Topi

glutWireTorus dilakukan ...


Similar Free PDFs