Anda di halaman 1dari 14

LAPORAN HASIL PRAKTIKUM KOMPUTER GRAFIS MEMBUAT

GAMBAR BUMI MENGELILINGI MATAHARI 2D MENGGUNAKAN


OPEN GL

Dosen Pengampu: Andriani Putri, S.Kom., M.Sc.

Disusun oleh kelompok IV

1. Rafik : 2105903040063
2. Salsabila Fadiyah : 2105903040090
3. Syaikhul Muannas : 2105903040066

PRODI TEKNOLOGI INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS TEUKU UMAR


ABSTRAK

Komputer Grafis merupakan bagian dari ilmu komputer yang digunakan dalam
pembuatan dan memanipulasi gambar secara digital baik 2 dimensi maupun yang 3 dimensi
menggunakan alat yang terdiri dari perangkat keras dan lunak. Komputer Grafis juga sering
disebut dengan visualisasi data. OpenGL (Open Graphic Library) merupakan library yang
terdari dari berbagai macam fungsi yang dapat mempermudah pekerjaan dan keperluan
dalam komputer grafis untuk menggambar beberapa objek 2D dan 3D. Library – library ini
mendefinisikan sebuah Bahasa, cross platfrom API (antar muka pemrograman aplikasi)
untuk menulis aplikasi yang menghasilkan objek 2D dan 3D grafis. Bahasa pemprograman
yang digunakan pada umumnya adalah Bahasa C++. Dalam menggunakan OpenGL
membutuhkan suatu konsepsi dalam implementasi pada proteksi objek dengan
menggunakan cara yang sudah umum digunakan yaitu membuat Window-based OpenGL
dengan memerlukan tool tertentu. Tool yang saat ini digunakan adalah GLUT. GLUT
(OpenGL Utility Toolkit) merupakan pengembangan dari OpenGL yang didesain untuk
aplikasi dengan level kecil hingga menengah dan menggunakan callback function untuk
menambahkan interaksi dari user.

Kata kunci : bumi mengelilingi matahari, OpenGL, GLUT, gambar 2D


KATA PENGANTAR

Segala puji bagi Allah SWT atas segala limpahan rahmat, nikmat , dan karunia-Nya
sehingga kami dapat menyelesaikan tugas laporan pratikum yang berjudul “LAPORAN
HASIL PRAKTIKUM KOMPUTER GRAFIS MEMBUAT GAMBAR BUMI
MENGELILINGI MATAHARI 2D MENGGUNAKAN OPENGL”. Shalawat dan salam
kepada Nabi besar Muhammad SAW yang telah membawa kita dari alam kebodohan ke
alam yang penuh dengan ilmu pengetahuan.
Adapun tujuan dari penulisan laporan ini adalah untuk memenuhi tugas akhir pada
mata kuliah komputer grafis. Kami mengucapkan terima kasih kepada ibu Andriani Putri,
S.Kom, M.Sc selaku Dosen mata kuliah komputer grafis yang telah memberikan tugas ini
sehingga dapat menambah pengetahuan dan wawasan sesuai dengan bidang studi yang kami
tekuni ini.
Kami menyadari bahwa laporan pratikum ini masih jauh dari kata sempurna dan
masih memiliki kekurangan. Maka, saran dan kritik yang membangun dari pembaca kami
perlukan untuk kesempurnaan laporan ini.
Kami berharap semoga laporan ini dapat bermanfaat dan menjadi sumber inspirasi
atau referensi bagi pembaca.

Meulaboh, 11 Desember 2022


DAFTAR ISI

ABSTRAK ........................................................................................................................................ 2
KATA PENGANTAR ...................................................................................................................... 3
DAFTAR ISI ..................................................................................................................................... 4
BAB I ................................................................................................................................................. 5
PENDAHULUAN ............................................................................................................................. 5
1.1 Latar Belakang ................................................................................................. 5
1.2 Tujuan Praktikum............................................................................................ 5
1.3 Manfaat ............................................................................................................. 5
BAB II ............................................................................................................................................... 6
TINJAUAN PUSTAKA ................................................................................................................... 6
2.1 Komputer Grafis ............................................................................................... 6
2.2 Open GL ............................................................................................................. 6
2.3 GLUT (OpenGL Utility Toolkit) ..................................................................... 7
BAB III .............................................................................................................................................. 8
METODOLOGI ............................................................................................................................... 8
3.1 Hari dan Waktu Pembuatan Projek................................................................ 8
3.2 Alat dan Bahan .................................................................................................. 8
3.3 Prosedur Kerja .................................................................................................. 8
BAB IV .............................................................................................................................................. 9
HASIL DAN PEMBAHASAN ........................................................................................................ 9
5.1 Sintax pembuatan.............................................................................................. 9
5.2 Output.............................................................................................................. 12
BAB V.............................................................................................................................................. 13
KESIMPULAN ............................................................................................................................... 13
DAFTAR PUSTAKA ..................................................................................................................... 14
BAB I
PENDAHULUAN

1.1 Latar Belakang


Seiring dengan berkembangnya teknologi informasi menyebabkan semakin banyak
orang yang mengerti pentingnya komputer dalam kehidupan sehari-hari. Saat ini,
perkembangan komputer telah membawa perubahan yang sangat besar dalam berbagai
bidang salah satunya dalam bidang seni pembuatan dan memanipulasi gambar
menggunakan komputer atau yang sering disebut dengan komputer grafis.
Komputer grafis merupakan bagian dari ilmu komputer yang berkaitan dengan
sekumpulan alat yang digunakan untuk membuat gambar atau memanipulasi gambar secara
digital dengan menggunakan cara yang biasa menggunakan peralatan yang berupa perangkat
keras atau perangkat lunak. Bahasa pemrograman dan standar API dalam proses pembuatan
ini menggunakan C++ dan OpenGL (Open Graphics Library).
OpenGL merupakan singkatan dari Open Graphic Library yang merupakan sebuah
library dengan berbagai fungsi. Library biasanya digunakan untuk menggambar satu atau
lebih objek baik itu objek 2 dimensi maupun 3 dimensi. Library tersebut juga berperan dalam
mendefinisikan cross-bahasa serta cross-platform API (Antar Muka Pemograman Aplikasi).
Tool yang umum digunakan dalam Open GL adalah GLUT.
GLUT (OpenGL Utility Toolkit) merupakan pengembangan dari OpenGL yang
menggunakan callback function untuk menambahkan interaksi dari user. Open GL ini di
rancang untuk aplikasi level tinggi dan menengah.

1.2 Tujuan Praktikum


• Mampu membuat gambar bumi mengelilingi matahari 2D menggunakan aplikasi
Code Bloks
• Mampu mengimplementasikan fungsi Open GL dengan bahasa C++

1.3 Manfaat
• Dapat mengetahui cara pembuatan gambar bumi mengelilingi matahari 2D
menggunakan aplikasi Code Bloks
• Dapat mengetahui cara mengimplementasikan fungsi dari Open GL
menggunakan bahasa C++
BAB II

TINJAUAN PUSTAKA

2.1 Komputer Grafis


Komputer Grafis merupakan bagian dari ilmu komputer yang digunakan dalam
pembuatan dan memanipulasi gambar secara digital baik 2 dimensi maupun yang 3 dimensi
menggunakan alat yang terdiri dari perangkat keras dan lunak. Komputer Grafis sering
disebut jugan dengan visualisasi data. Konsep dasar komputer grafis terdiri dari beberapa
bagian yaitu:
➢ Citra: cara pengambilan dan dan penyuntingan gambar
➢ Pemodelan geometris: menciptakan model matematika dari objek-objek 2D
dan 3D
➢ Rendering: memproduksi citra yang lebih solid dari model yang telah
dibentuk
➢ Animasi: Menetapkan/menampilkan kembali tingkah laku/behavior objek
bergantung waktu

2.2 Open GL
OpenGL (Open Graphic Library) merupakan library yang terdari dari berbagai macam
fungsi yang dapat mempermudah pekerjaan atau keperluan dalam komputer grafis untuk
menggambar beberapa objek 2D dan 3D. Open GL bersifat cross-platform artinya dapat
digunakan pada berbagai platform sistem operasi. Fungsi dasar dari Open GL adalah untuk
mengeluarkan koleksi perintah khusus ke sistem operasi.
Perintah dalam Open GL menggunakan awalan gl dan diikuti dengan huruf kapital
disetiap kata yang berbentuk kata perintah. Sintax perintah dari Open GL ini mengikuti
aturan penulisan dari library asal fungsi tersebut. Format penulisan fungsi Open GL adalah
<awalan library><perintah><optional jumlah argument><optional tipe argument>. Adapun
contoh-contoh perintah dalam Open GL yaitu:
• glvertex2(x, y); yaitu untuk menentukan posisi sebuah titik berada di
x dan y
• glvertex3(x,y,z); yaitu untuk menentukan posisi sebuah titik berada
di x,y, dan z
• glBegin(GL_POINTS)….glEnd(); yaitu untuk menggambar titik
• glPointSize(Glfloat Size); yaitu untuk menentukan besar titik
• glBegin(GL_LINES);….glEnd(); yaitu untuk menggambar garis
• glBegin(GL_LINE_STRIP)….glEnd(); yaitu untuk menggambar
garis terhubung
• glBegin(GL_TRIANGLES)….glEnd(); yaitu untuk menggambar
segitiga
• glBegin(GL_TRIANGLES_STRIP)….glEnd(); yaitu untuk
menggambar segitiga terhubung
• glcolor3f(…); yaitu untuk menentukan warna dan lain sebagainya.

2.3 GLUT (OpenGL Utility Toolkit)


GLUT (OpenGL Utility Toolkit) merupakan pengembangan dari OpenGL yang didesain
untuk aplikasi dengan level kecil hingga menengah dan menggunakan callback function
untuk menambahkan interaksi dari user. Tujuan GLUT adalah untuk menciptakan
fleksibilitas kode platform yang dapat dijalankan lebih dari satu sistem operasi dan untuk
memudahkan menggunakan OpenGL karna GLUT hanya memerlukan sedikit kode
dibandingkan OpenGL dan dapat digunakan tanpa mengetahui spesifikasi operasi.
BAB III

METODOLOGI

3.1 Hari dan Waktu Pembuatan Projek


Pembuatan projek di lakukan pada hari Senin 31 Oktober 2022 s/d Rabu 14
Desember 2022 jam 00.00 s/d 24.00 WIB.

3.2 Alat dan Bahan


1) Personal Komputer
2) CodeBloks

3.3 Prosedur Kerja


1) Mendiskusikan waktu pembuatan projek
2) Melakukan pembagian tugas untuk setiap anggota kelompok
3) Membuat tugas yang telah dibagikan
4) Selesai
BAB IV

HASIL DAN PEMBAHASAN

5.1 Sintax pembuatan


Berikut adalah sintax pembuatan gambar bumi 2D, yaitu:

#include <windows.h> //Membersihkan buffer glclear


#include <stdlib.h> //Fungsi yang digunakan untuk menentukan nilai
minimum dari bilangan yang diinputkan
#include <GL/glut.h> //Merupakan file header OpenGL
#include <math.h> //Untuk menghtung nilai sin cos

void myinit() //Inisialisasi latar atau background


{
glClearColor(0.0, 0.0, 0.0, 1.0); //Membersihkan warna pada layar
glColor3f(1.0, 0.0, 0.0); //Menentukan warna yang mengacu pada
warna RGB
glMatrixMode(GL_PROJECTION); // Menerapkan operasi matriks berikutnya ke
tumpukan matriks proyeksi
glLoadIdentity(); // Menggantikan matriks saat ini dengan matriks identitas
glOrtho(-400.0, 400.0, -400.0, 400.0,-400.0,400.0); //Untuk
membuat kotak tempat obyek yang sedang digambar
glMatrixMode(GL_MODELVIEW); //Menerapkan operasi matriks berikutnya ke
tumpukan matriks modelview
glShadeModel(GL_FLAT); //Mengembalikan nilai
glEnable(GL_DEPTH_TEST); //Melakukan perbandingan kedalaman dan
perbarui buffer kedalaman.
}
float putaransatu, putarandua =0; //Mengembalikan varaibel ke dalam
bentuk float (bilangan dengan titik)
typedef struct{ //Struct merupakan perintah yang dapat digunakan untuk membuat
struktur dari suatu record
float x,y; //Menentukan titi x,y
}
point2D_t;// Pembuatan objek 2d

void drawDot(int x,int y){ //Dekelarasi untuk penentuan titik x,y


glBegin(GL_POINTS); //Memperlakukan setiap verteks sebagai titik
tunggal Sejumlah verteks n mendefinisikan n
titik yang akan digambar
glVertex2i(x,y); //Menentukan koordinat x,y
glEnd(); //Memisahkan simpul primitif atau sekelompok primitif
}
void display(void) // Tahap deklarasi
{
glClear (GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);
//Digunakan untuk membersihkan layar latar belakang dengan warna hitam
putaransatu += 0.2; //Fungsi nya sebagai perputaran bumi mengelilingi
matahari
putarandua +=2; //Untuk putaran bulan mengelilingi bumi

glPushMatrix(); //Mendorong dan memunculkan tumpukan matriks saat ini.

glColor3ub(255, 255, 0); //Memberikan warna pada matahari yaitu


warna kuning
glRotated(putaransatu,0,0,1); //Pemberian rotasi pada matahari di
sumbu x atau y
glutWireSphere(65.0, 3000, 3); //Untuk membuat sebuah bola

//Fungsi glTranslatef menghasilkan terjemahan yang ditentukan x,y


glTranslatef(-55, -55, 0);

glTranslatef(-45, -45, 0);

glTranslatef(-80, -80, 0);

glColor3f(0.2,0.2,0.7); //Pemberian warna pada bumi yaitu warna biru


glutWireSphere(45.0, 2500, 3); //Untuk membuat sebuah bola

glColor3f(0,0,1); //Memberikan warna pada orbit bulan


glBegin(GL_LINE_STRIP); //Menggambar sekelompok verteks yang
terhubung menjadi segmen garis dari titik
pertama sampai terakhir

for (float x=0; x<=6.28; x+=0.001) //Melakukan perluangan pada


titik x
{
glVertex2f(cos(x)*60,sin(x)*60); //Menentukan titik yang akan
di lakukan perulangan
}
glEnd(); //Memisahkan simpul primitif atau sekelompok primitif

glColor3f(1,1,1); //Mewarnai bulan denagn warna putih


glRotated(putarandua, 0, 0, 1); //Memberikan putaran kedua pada
bulan
glTranslatef(40, 40, 0); //Fungsi glTranslatef menghasilkan terjemahan
yang ditentukan x,y
glutWireSphere(10.0, 100,4); //Untuk membuat sebuah bola

glPopMatrix(); //Mendorong dan memunculkan tumpukan matriks saat ini


glPushMatrix(); // Mendorong dan memunculkan tumpukan matriks saat ini

glColor3f(1,1,1); //Mewarnai orbit matahari


glBegin(GL_LINE_STRIP); //Menggambar sekelompok verteks yang
terhubung menjadi segmen garis dari titik
pertama sampai terakhir
for (float x=0; x<=6.28; x+=0.001) //Melakukan perputaran pada
orbit matahari
{
glVertex2f(cos(x)*250,sin(x)*250); //Menentukan titik yang
akan di lakukan perulangan
}
glEnd(); //Memisahkan simpul primitif atau sekelompok primitif

glPopMatrix(); //Mendorong dan memunculkan tumpukan matriks saat ini


glFlush(); //Memaksa eksekusi fungsi OpenGL dalam waktu terbatas
glutPostRedisplay(); //Mengirimkan perintah untuk mengaktifkan display
secara berkala (looping)
}

int main(int argc, char* argv[]) //Inisalisasi untuk menampilkan objek


pada layar
{
glutInit(&argc,argv); //Memanggil fungsi untuk manampilkan objek di
layar int main
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); //Untuk
memanggil fungsi display
glutInitWindowSize(1050,1520); //Memberikan tampilan ke dua jendela
atau windows
glutInitWindowPosition(0,0); //Fungsinya merubah posisi kordinat
munculnya layar display, tergantung lcd
layar laptop yang digunakan
glutCreateWindow("TUGAS FINAL KELOMPOK 4"); //Menampilkan
nama ("Program layar windows
tampilan kedua");
glutDisplayFunc(display); //Fungsi display atau untuk membuat objek
primitif
myinit(); //Berguna untuk inisialisasi secara umum terhadap nilai-nilai yang
ada pada library GLUT
glutMainLoop(); //Fungsi untuk perulangan ,display pada callback akan terus di
tampilkan selama aplikasi belum di tutup
return 0; //Memberitahu bahwa kode telah selesai di esekusi dengan exit code 0
}
5.2 Output

Gambar 1.1 Output gambar bumi mengelilingi matahari


BAB V

KESIMPULAN

Berdasarkan hasil pembuatan project bumi mengelilingi matahari 2D ini, dapat


disimpulkan bahwa untuk membuat sebuah objek membutuhkan fungsi tertentu yang dapat
menghubungkan objek-objek berdasarkan koordinat tertentu menjadi sebuah objek yag
diinginkan. Penjelasan diatas juga menunjukkan bahwasanya program sederhana yang
digunakan untuk membuat gambar bumi mengelilingi matahari 2D menggunakan GLUT
dengan aplikasi Codeblocks dengan menggunakan OpenGL dapat dijalankan sehingga
gambar bumi mengelilingi matahari pada koordinat yang telah diatur dapat ditampilkan.
DAFTAR PUSTAKA

Widadi,Jamhari. & Murinto. (2018). Media Pembelajaran Materi Pengenalan OpenGL


Kuliah Grafika Komputer. Jurnal Sarjana Teknik Informatika. 6(1), 47-53

Efendi, Fery Sofian. (2017). Pelatihan Pelatihan Pembuatan Objek 3D bagi Siswa SMA dan
SMK Kabupaten Kediri. Jurnal INDEKS (Ilmu Pengetahuan dan Teknologi Terintregasi).
2(1).

Adnani, Muhammad. & Falani, Achmad Zakki.(2021). Implementasi OpenGL Untuk


Pembuatan Objek 3D. Zetroem. 03(01).

Syaviri, Ananda Putri.(2015). Laporan Praktikum Modul 1 Grafika Komputer Pengenalan


GLUT. Universitas Negeri Malang.

Anda mungkin juga menyukai