Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

GRAFIKA KOMPUTER DAN MULTIMEDIA

OLEH :

NAMA : MUHAMMAD ARIEF IQBAL


NIM : 1120305047
KELAS : M3
JURUSAN : TEKNIK ELEKTRO
PRODI : TMJK

JURUSAN TEKNIK ELEKTRO


POLITEKNIK NEGERI LHOKSEUMAWE
LEMBARAN PENGASAHAN

Judul Praktikum : Membuat Gambar Lingkaran dan Persegi

No. Praktikum : 01/M3/TMJK/2014

Nama : Muhammad Arief Iqbal

NIM : 1120305047

Kelas/Semester : M3 / VI (Genap)

Jurusan/Prodi : Teknik Elektro / TMJK

Pemeriksa : Muhammad Ikhsan, S.T., M.T.

Tanggal Pengesahan : 15 Maret 2014

Nilai :

Mengetahui,
Dosen Pengajar Mahasiswa

( Muhammad Ikhsan, S.T., M.T. ) ( Muhammad Arief Iqbal )


Nip. Nim. 1120305047
PRAKTIKUM 1
PENGENALAN VISUAL STUDIO NET 2010

I. Tujuan Praktikum

1. Mahasiswa dapat mengenal area kerja visual studio 2010.


2. Mahasiswa dapat memahami pembuatan program dengan menggunak
Visual Studi 2010
3. Mahasiswa dapat membuat gambar lingkaran, segitiga, dan persegi dengan
menggunakan visual studio 2010.

II. Dasar Teori

Perkembangan grafika komputer menuntut para pengembang sistem


aplikasi grafika komputer untuk dapat mengembangkan suatu informasi yang
dilengkapi dengan visualisasi dan animasi, agar dapat lebih mudah dipahami
oleh pihak yang menggunakan sistem tersebut. Grafika komputer telah
menunjukkan kemajuan yang pesat dalam pengembangan berbagai aplikasi
untuk menghasilkan gambar. Oleh karena itu, sudah semakin banyak pula
bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik
Salah satu tools/library pembuatan aplikasi grafik adalah OpenGL (Open
Graphics Library). OpenGL(Open Graphics Library) adalah suatu spefikasi
grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif
termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk mendefinisikan
suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. Sintaks
glClearColor(Glclamp red,Glclamp green, Glclamp blue, Glclamp alpha)
digunakan untuk memilih warna, yang akan digunakan untuk membersihkan
latar belakang dalam mode RGB. Selanjutnya perintah glClear(Glbitfield mask)
digunakan untuk membersihkan buffer yang dispesifikasikan dengan warna yang
telah ditentukan. Untuk warna digunakan perintah glColor3f(), jika lebih dari
tiga maka argumen keempat adalah alpha yang akan dijelaskan pada bagian
blending sebagai salah satu efek yang dipunyai OpenGL. OpenGL menyediakan
perintah glFlush() yang memaksa client untuk segera mengirim paket network
walaupun belum penuh. Program sebaiknya ditulis menggunakan perintah ini
karena glFlush() tidak memaksa proses gambar untuk selesai tetapi memaksa
proses gambar untuk segera dieksekusi, sehingga dijamin semua perintah
gambar yang sebelumnya akan segera dieksekusi dalam suatu waktu tertentu.

III. Peralatan

Pada praktikum ini saya menggunakan laptop dan software yaitu :


- 1 Unit Laptop Acer Travelmate 4730
- Microsoft Visual Studio 2010
- Contoh laporan yang telah di berikan sebelumnya

IV. Percobaan

Untuk melakukan praktikum dapat mengikuti langkah-langkah / perintah


di bawah ini :
1. Jalankan program visual studio 2010 pada komputer.
2. Tunggu hingga program terbuka.
3. Klik menu File > pilih New > Klik Project.

4. Setelah keluar jendela project pilih Visual C++ > Win32 Console
Application.

5. Tuliskan Nama project dan pilih lokasi tempat menyimpan file project.
6. Pada Jendela perintah ini pilih Next.

7. Kemudian pilih Empty Project.


8. Dan klik Finish.
9. Lalu klik Kanan pada project dan pilih Add > New Item

10. Pilih Visual C++ > lalu klik C++ file(.cpp)


11. Tuliskan Nama file dan Pilih lokasi penyimpanan.
12. Klik finish.
13. Setelah pengaturan area kerja selesai maka masukkan syntax program
berikut:
#include <GL/glut.h>
#include <windows.h>
#include <math.h>

const double PI = 3.141592653589793;

void Draw(void);

int i,radius,jumlah_titik,x_tengah,y_tengah;

void Initialize() {
glClearColor(1.0, 1.0, 1.0, 1.0);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int iArgc, char** cppArgv){
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(200, 200);
glutInitWindowSize(230, 230);
gluOrtho2D(-150.0, 150.0, -150.0, 150.0);
glutCreateWindow("Wajah Manusia");
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

void Draw(){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,0.0,0.0);
//lingkaran penuh
glBegin(GL_LINE_LOOP);

radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;

for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();

//mata kiri
glBegin(GL_LINE_LOOP);

radius = 5;
jumlah_titik = 20;
x_tengah = 40;
y_tengah = 70;

for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();

//Mata Kanan
glBegin(GL_LINE_LOOP);

radius = 5;
jumlah_titik = 20;
x_tengah = 60;
y_tengah = 70;

for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();

glBegin(GL_TRIANGLES);
glVertex3f(0.5,0.6,0.0);
glVertex3f(0.4,0.5,0.0);
glVertex3f(0.6,0.5,0.0);
glEnd();

glBegin(GL_QUADS);
glVertex3f(0.35,0.3,0.0);
glVertex3f(0.65,0.3,0.0);
glVertex3f(0.65,0.4,0.0);
glVertex3f(0.35,0.4,0.0);
glEnd();

glFlush();
}

Maka setelah program di running maka akan tercipta hasil seperti berikut ini :

V. Analisa

Dalam praktikum ini dapat saya analisa bahwa untuk membentuk


sebuah objek wajah seperti diatas, merupakan suatu gabungan dari beberapa
bentuk dasar seperti; Persegi panjang, Segitiga, dan beberapa lingkaran dengan
ukuran yang berbeda. Dan lalu semua objek tersebut disusun sedemikian rupa
dengan mengubah koordinat dari setiap bentuk hingga membentuk sebuah
objek wajah seperti hasil diatas. Dalam membentuk semua objek dapat
dijelaskan melalui uraian sintax dibawah:
- Objek Lingkaran

glBegin(GL_LINE_LOOP);

radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;

for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();

- Objek Mata Sebelah Kiri ( Persegi )


glBegin (GL_QUADS);
glVertex3f(0.6,0.6,0.0);
glVerctex3f(0.7,0.6,0.0);
glVertex3f(0.7,0.7,0.0);
glVertex3f(0.6,0.7,0.0);
glEnd ();

- Objek Mata Sebelah Kanan ( Persegi )

Pada objek ini sama dengan objek mata sebelah kiri diatas hanya
saja koordinat nya yang berbeda atau posisinya.
glBegin (GL_QUADS);
glVertex3f(0.3,0.6,0.0);
glVertex3f(0.4,0.6,0.0);
glVertex3f(0.4,0.7,0.0);
glVertex3f(0.3,0.7,0.0);
glEnd ();

- Objek Segitiga Yang Membentuk Sebuah Hidung


glBegin(GL_TRIANGLES);
glVertex3f(0.5,0.6,0.0);
glVertex3f(0.4,0.5,0.0);
glVertex3f(0.6,0.5,0.0);
glEnd();
- Objek Persegi Panjang yang Membentuk Sebuah Mulut

glBegin(GL_QUADS);
glVertex3f(0.35,0.3,0.0);
glVertex3f(0.65,0.3,0.0);
glVertex3f(0.65,0.4,0.0);
glVertex3f(0.35,0.4,0.0);
glEnd();

Pada bagian objek mata yang awalnya berbentuk persegi dapat


dirubah menjadi objek lingkaran dengan ukuran yang lebih kecil dengan
menggunakan kode program seperti dibawah ini :

glBegin(GL_LINE_LOOP);

radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;

for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();

Agar dapat memberi warna pada objek seperti lingkaran, segitiga,


persegi panjang dan background dari gambar dapat menambahkan dan
merubah nilai dari bagian kode program berikut ini : glColor3f(0.0,0.0,0.0);
nilai 0.0 dapat dirubah dengan nilai lain yang sesuai dengan warna yang ada
pada program.
Pada saat program di running maka akan terjadi error, klik 2x pada
kode error lalu tambahkan tanda( _ ) pada tempat yang ditunjukkan, lalu
running lagi program maka akan berhasil.
VI. KESIMPULAN

Dari praktikum diatas dapat saya simpulkan bahwa dalam membuat


objek grafis pada visual studio haruslah didasari dengan mengetahui sintax
dasar yang membentuk beberapa objek dasar seperti; Lingkaran, Persegi,
Persegi Panjang, dan Segitiga. Dan untuk membentuk suatu kumpulan objek
yang tertata dengan bentuk tertentu misalnya sebuah gambar wajah yang terdiri
dari beberapa objek didalam nya haruslah mengerti bagaimana merubah
koordinat dari objek tersebut hingga tertatan membentuk sebuah wajah. Dalam
membuat objek-objek tersebut tentu harus mengetahui dan mempelajari bahasa
c++ kode dasar dalam visual studio.

VII. TUGAS

1. Buatlah persegi dan lingkaran pada visual studio !

Jawab :

Dalam membuat objek seperti diatas hanya mengubah beberapa


syntax program, dan menghapus beberapa program yang membentuk objek
tidak diperlukan seperti lingkaran besar yang membentuk wajah, dan objek
lingkaran kita hapus 1 objek yaitu mata bagian kanan dihapus, lalu pada mata
bagian kiri diubah titik koordinatnya dimana x = 30, dan y=50. Begitu pula
dengan objek persegi tinggal mengubah titik koordinat hingga tertata seperti
gambar diatas.

Anda mungkin juga menyukai