Nama:
Idam Palada 0102520007
Dosen Pengampu:
Riri Safitri, S.Si, MT
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.
Idam Palada
BAB I
PENDAHULUAN
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.
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
C. pygame.time.wait()
Membuat objek untuk memberikan kecepatan waktu
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
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)
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)
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)
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)
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