Anda di halaman 1dari 8

LAPORAN PROJEK

UJIAN TENGAH SEMESTER (UTS)


GRAFIKA KOMPUTER
SPIN DIAMOND WITH 3D ANIMATION

Nama:
Idam Palada 0102520007

Dosen Pengampu:
Riri Safitri, S.Si, MT

PROGRAM STUDI INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS AL-AZHAR INDONESIA
2022
KATA PENGANTAR

Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha Penyayang, kami panjatkan puja
dan puji syukur atas kehadirat-Nya, yang telah melimpahkan rahmat, hidayah, dan inayah-Nya kepada
kami, sehingga kami dapat menyelesaikan laporan projek tentang Spin Diamond With 3D Animation
and untuk masyarakat.

Laporan projek ini telah kami susun dengan maksimal dan mendapatkan bantuan dari berbagai pihak
sehingga dapat memperlancar pembuatan laporan ini. Untuk itu kami menyampaikan banyak terima
kasih kepada semua pihak yang telah berkontribusi dalam pembuatan laporan ini.

Terlepas dari semua itu, kami meyadari sepenuhnya bahwa masih ada kekurangan baik dari segi
susunan kalimat maupun tata bahasanya. Oleh karena itu dengan tangan terbuka kami menerima segala
saran dan kritik dari pembaca agar kami dapat memperbaiki makalah ilmiah ini.

Akhir kata kami berharap semoga laporan projek ini ini dapat memberikan manfaat maupun inspirasi
terhadap pembaca.

Jakarta, 19 November 2022

Idam Palada
BAB I
PENDAHULUAN

1.1 Latar Belakang

Bahasa pemrograman saat ini jumlahnya sangat banyak. Python merupakan salah satu
bahasa pemrograman populer yang digunakan oleh banyak developer. Menurut survei bahasa
pemrograman versi www.tiobe.com, Python berada diperingkat ke-5 pada tahun 2016. Selain
itu, Python juga bisa digunakan untuk enterprise. Dalam tingkatan bahasa pemrograman,
Python termasuk high level language. Python menjadi salah satu bahasa pemrograman yang
dapat digunakan untuk membangun aplikasi, baik itu berbasis desktop, web ataupun berbasis
mobile.
Visual studio Code merupakan aplikasi cross platform yang dapat digunakan berbagai
sitem operasi seperti windows, Linux, dan Mac OS. VS Code termasuk software yang ringan
namun kuat editor sumbernya dengan deskop. Menggunakan berbagai macam bahasa
pemprograman seperti Java, Python, C++, dan masih banyak yang lainnya.
OpenGL (Open Graphics Library) adalah standar API yang dapat digunakan untuk
membuat aplikasi berbasis grafik, baik dua dimensi (2D) maupun tiga dimensi(3D).
OpenGL ini bersifat cross-platform, artinya dapat dijalankan pada berbagai platform sistem
operasi yang ada saat ini. OpenGL sendiri telah banyak dibahas oleh kalangan praktisi,
akademisi, maupun industri, yang notabene berkutat dalam implementasi pemrograman
grafik 2D dan 3D.
Untuk membuat aplikasi menggunakan OpenGL, terlebih dahulu kita
membutuhkan suatu konsepsi interfacing dalam implementasinya. Salah satu cara yang sudah
umum digunakan adalah dengan membuat window-based OpenGL. Untuk dapat membuat
konsep windowing pada OpenGL, kita memerlukan tool tertentu. Yang kita gunakan kali
ini adalah GLUT (OpenGL Utility Toolkit). GLUT dipilih karena di dalamnya telah terdapat
banyak fungsi yang dapat dipakai untuk pembuatan application window. Disamping itu,
windowing pada GLUT juga bersifat independen terhadap sistem operasi, sehingga kita tidak
perlu repot-repot untuk mengubah kode program jika diterapkan pada sistem operasi
yang berbeda.

1.2 Tujuan Projek

Tujuan pembuatan projek ini yaitu dapat membangun animasi 3D sederhana


yaitu diamond dengan menggunakan bahasa python, OpenGL dan mahasiswa
menjelaskan dan memahami isi dari coding tersebut.
BAB II
LANDASAN TEORI

2.1 Teori (Konsep yang Menjadi Acuan)

2.1.1 OpenGL
OpenGL dianggap sebagai suatu hal yang mendekati standar industri
dalam membuat aplikasi grafis 2D dan 3D. OpenGL menyediakan perpustakaan
(library) fungsi grafik yang dapat digunakan dalam lingkungan pemrograman Anda.
Serta menyediakan semua komunikasi yang diperlukan antara perangkat lunak
yang dimiliki dan perangkat keras grafis pada sistem Anda

2.1.2 Animasi 3D
Grafika 3 dimensi dapat menggambarkan sebuah benda dalam dunia nyata
menjadi sebuah objek dari berbagai sudut pandang. Tidak seperti grafika 2
dimensi, dalam grafika 3 dimensi banyak sekali hal yang harus dipertimbangkan

2.2 Fungsi-Fungsi yang Digunakan

2.2.1 Fungsi dalam Source Code Game Minesweeper


A. pygame.display.flip()

Untuk Perbarui Surface tampilan penuh ke layar


B. pygame.display.set_caption()
Jika tampilan memiliki judul jendela, fungsi ini akan mengubah nama
pada jendela.

C. pygame.time.wait()
Membuat objek untuk memberikan kecepatan waktu

2.3 Tools yang Digunakan

2.3.1 VSCode

Visual Studio Code adalah sebuah code editor yang bisa Anda gunakan di
semua desktop. Software ini juga bisa Anda gunakan di semua operating system,
seperti Windows, Linux, Mac. Code editor ini dibuat dan dikembangkan oleh
Microsoft.

2.3.2 Python

Python adalah sebuah bahasa pemrograman yang digunakan untuk membuat


aplikasi, perintah komputer, dan melakukan analisis data.
BAB III
ANALISA DAN PERANCANGAN SISTEM

3.1 Source Code


3.1.1 Spin Diamond With 3D Animation
import pygame
from pygame.locals import*
from OpenGL.GL import*
from OpenGL.GLU import*

def draw_diamond():
glBegin(GL_TRIANGLES)

glColor(1, 0, 0)
glVertex3f(-0.5, -0.5, -0.5)
glVertex3f(0.5, -0.5, -0.5)
glVertex3f(0.0, 0.5, 0.0)

glVertex3f(-0.5, -0.5, 0.5)


glVertex3f(0.5, -0.5, 0.5)
glVertex3f(0.0, 0.5, 0.0)

glColor(0, 1, 0)
glVertex3f(0.5, -0.5, -0.5)
glVertex3f(0.5, -0.5, 0.5)
glVertex3f(0.0, 0.5, 0.0)

glVertex3f(-0.5, -0.5, -0.5)


glVertex3f(-0.5, -0.5, 0.5)
glVertex3f(0.0, 0.5, 0.0)

glColor(0, 1, 0)
glVertex3f(-0.5, -0.5, -0.5)
glVertex3f(0.5, -0.5, -0.5)
glVertex3f(0.0, -1.5, 0.0)

glVertex3f(-0.5, -0.5, 0.5)


glVertex3f(0.5, -0.5, 0.5)
glVertex3f(0.0, -1.5, 0.0)

glColor(1, 0, 0)
glVertex3f(0.5, -0.5, -0.5)
glVertex3f(0.5, -0.5, 0.5)
glVertex3f(0.0, -1.5, 0.0)

glVertex3f(-0.5, -0.5, -0.5)


glVertex3f(-0.5, -0.5, 0.5)
glVertex3f(0.0, -1.5, 0.0)

glEnd()

pygame.init()
display = (800, 600)
pygame.display.set_mode (display, DOUBLEBUF|OPENGL)
pygame.display.set_caption("Diamond 3D RG")
gluPerspective (45, (display[0]/display[1]), 0.1, 50.0)
glTranslate(0, 0, 0-5)

while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotate(1, 1, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
draw_diamond()
pygame.display.flip()
pygame.time.wait(15)
3.2 Hasil (Screenshoot)
3.2.1 Animasi 3D Diamond
DAFTAR PUSTAKA

Website

https://www.niagahoster.co.id/blog/belajar-python/
dipetik pada18 April 2002

https://www.akunerio.com/pengenalan-opengl-glut/
dipetik pada 18 Februari 2004

https://makinrajin.com/blog/visual-studio-code-adalah/
dipetik pada 23 April 2022

Anda mungkin juga menyukai