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. ) Nip.
( Muhammad Arief Iqbal ) 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 #include #include 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.