KELAS
LAPORAN PRATIKUM
TI VI SORE D
KOMPUTER APLIKASI
Nama
Nomor
Tanggal
Tanda Tangan
Pratikan
Mahasiswa
Kumpul
Pratikan
Ayu MayaSari
1214370278
Nama Penilai
Tanggal
Nilai
Tanda Tangan
Koreksi
Dosen
Universitas Pembangunan Panca Budi Fakultas Teknik Jurusan Sistem Komputer Medan 2014
DAFTAR ISI
DAFTAR ISI
............................................................................
i
Kata Pengantar
............................................................................
1
BAB I Pendahuluan
............................................................................
A. Latar Belakang………………………………………………………. B. Tujuan Praktikum……………………………………………………
BAB II Landasan Teori…………………………………………………….. A. Pengertian Dari 2D………………………………………………….. B. Pengertian Dari 3D…………………………………………………..
BAB III……………………………………………………………………… A. Contoh dan Fungsi dari Diamond
...............................................
B. Contoh dan Fungsi dari 2 dimensi
...............................................
C. Contoh dan Fungsi dari 3 dimensi
...............................................
BAB IV …………………………………………………………………….. A. Analisa Hasil Percobaan…………………………………………… Penutup……………………………………………………………………… A.Kesimpulan…………………………………………………………….. B. Saran
Daftar Pustaka
………………………………. …………………………………………………………
KATA PENGANTAR Segala puji bagi allah, serta syukur saya panjatkan kehadiran ilahi rabbi yang telah memberikan nikmat dan hikiki dalam kehidupan yaitu nikmat iman dan islam. Shalawat dan salam semoga tetap tercurah limpahkan kepada nabi kita Muhammad SAW. Berkat rahmat dan hidayahnya lah saya dapat menyusun tugas “LAPORAN TUGAS PRAKTIKUM KOMPUTER GRAFIK” INI. Penulisan laporan ini di ajukan untuk memenuhi tugas mata kuliah “PRAKTIKUM KOMPUTER GRAFIK” yang berguna untuk memahami lebih jauh tentang berbagai hal yang berhubungan dengan cara kerja pada program komputer grafik, oleh karena itu kritik dan saran yang membangun sangat di harapkan agar membuat laporan ini menjadi lebih baik.
BAB I PENDAHULUAN A.Latar belakang Grafik komputer adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual ) secara digital. Bentuk sederhana dari grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi 3D, pemrosesan citra (image processing) dan pengenalan pola (pattern recognition). Dan di era globalisasi saat ini grafik komputer merupakan bagian ilmu teknologi yang sangat berkembang. Salah satu contohnya banyak industri film, yang sudah menggunakan grafik komputer tersebut untuk menghasilkan film 3D sangat mudah dan cepat. Aplikasi grafik komputer dapat di bagi menjadi beberapa kelompok, yaitu : Aplikasi pengolahan bentuk citra Aplikasi pengolah bentuk dan citra merupakan aplikasi yang banyak di gunakan oleh Desaigner grafis dan ilustrator. Aplikasi pengolah bentuk Ditunjukkan untuk pengolah bentuk (shape) yang di susun dari serangkaian garis sedangkan aplikasi pengolaha
citra di tunjukkan untuk memanipulasi titik yang
membentuk sebuah gambar (citra). Aplikasi presentasi Banyak di gunakan oleh kalangan bisnis dalam mempresentasikan ide ataupunkonsep. Dalam perkembangannya, aplikasi presentasi tidak hanya sekedar menampilkan slide ke layar tapi juga dilengkapi dengan fasilitas animasi contohnya power point, Micromadia flash. Animasi Merupakan aplikasi yang banyak di gunakan dalam bidang periklanan dan film, dengan menggunakan aplikasi animasi seorang kreator dapat menciptakan bendabenda maya yang dapat bergerak dalam dunia nyata. Oleh karena itu sudah banyak pula bahasa pemrograman yang di lengkapi dengan tools/library pembuatan grafik salah satu contoh tools pembuatan aplikasi grafik adalah openGL (open Grafics Library). openGL adalah suatu spesifikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran.
OpenGL digunakan untuk mendefinikasikan suatu objek baik objek 2D maupun objek 3D. Dan makala yang di sampaikan kali ini khusus membahas mengenai perancang 2 dimensi dan 3 dimensi menggunakan visual C++.
B.Tujuan praktikum Menyelesaikan Ujian Akhir Semester mata kuliah komputer grafik semester 4 Mahasiswa mampu menggambar objek 2 dimensi dan 3 dimensi menggunakan bahasa pemrograman visual C++ dan OpenGL Mahasiswa mampu mengimplementasikan fungsi transformasi 2 dimensi dan 3 dimensi.
BAB II Landasan Teori Definisi Objek 3 Dimensi Obyek 3-D adalah sekumpulan titik-titik 3-D (x,y,z) yang membentuk luasan-luasan (face) yang digabungkan menjadi satu kesatuan. Face adalah gabungan titik-titik yang membentuk luasan tertentu atau sering dinamakan dengan sisi.
Sistem Koordinat 3 Dimensi Contoh pernyataan Objek : Limas Segiempat
Titik-titik yang membentuk obyek: Titik 0 (0,150,0) Titik 1 (100,0,0) Titik 2 (0,0,100) Titik 3 (-100,0,0) Titik 4 (0,0,-100)
Fungsi OpenGL 3D 1. Membersihkan Windows Pada komputer, memory untuk menampilkan gambar biasanya diisi dengan gambar yang berasal dari perintah gambar paling akhir, jadi perlu dibersihkan dengan warna latar belakang sebelum digambar lagi. Contoh berikut ini perintah yang digunakan untuk membersihkan layar latar belakang dengan warna hitam dan buffer apa yang akan dibersihkan. Dalam hal ini, buffer warna yang akan dibersihkan karena buffer warna merupakan tempat gambar disimpan. glClearColor 0, 0, 0, 0 glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT
2. Spesifikasi Warna Pada OpenGL mendeskripsikan objek dengan warna objek adalah proses yang berjalan sendiri-sendiri. Sebelum warna diubah maka semua objek yang digambar sesudah perintah tersebut akan menggunakan warna terakhir yang terdapat pada coloring scheme. Untuk warna digunakan perintah glColor3f. Contoh berikut menunjukkan urutan langkah dalam proses spesifikasi warna sebelum objek digambar. Warna yang ditampilkan adalah warna merah. glColor3f 1, 0, 0
3. Memaksa Proses Menggambar Sampai Selsai Kebanyakan sistem grafik modern sudah menggunakan sistem graphics pipeline. Dimana CPU utama memberikan issue perintah menggambar dan hardware lain yang melakukan transformasi, clipping, shading, texturing dan lain-lain. Pada arsitektur yang demikian, proses tidak dilakukan pada satu computer karena setiap komputer mempunyai tugas sendiri. CPU utama tidak harus menunggu proses pada masing-masing komputer tadi selesai, tapi bisa dengan memberikan issue perintah gambar yang berikutnya. Untuk inilah 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. glFlush
4. Menggambar di Bidang Tiga Dimensi Untuk menggambar grafik jenis apapun pada komputer biasanya dimulai dengan pixel. Pixel adalah elemen terkecil dari layar monitor yang mempunyai atribut warna dan posisi. Sedangkan untuk membentuk garis, poligon, objek dan lain-lain dapat dilakukan melalui urutan pixel yang berbeda. Menggambar dengan menggunakan OpenGL mempunyai perbedaan dengan bahasa lain, yaitu tidak perlu memikirkan koordinat layar secara fisik tetapi hanya perlu menspesifikasikan posisi koordinat dengan volume penglihatan. OpenGL memikirkan sendiri bagaimana caranya menggambar titik, garis, dan lainnya yang berada dalam ruang tiga dimensi ke gambar dua dimensi pada layar komputer. Area gambar yang dibatasi ini adalah ruang koordinat kartesian yang mempunyai range dari -100 hingga 100 untuk sumbu x, y dan z. Secara sederhana bidang ini dapat dianggap sebagai bidang gambar untuk perintah-perintah OpenGL. Untuk menggambar titik digunakan suatu perintah OpenGL yaitu : glVertex. Fungsi ini dapat mempunyai 2 sampai 4 parameter dari berbagai macam tipe data. Sebagai contoh perintah glVertex di bawah ini akan menspesifikasikan sebuah titik pada posisi 4 sumbu x, 4 sumbu y dan 0 untuk sumbu z. glVertex3f 4, 4, 0. Setelah diketahui cara untuk menspesifikasikan sebuah titik di ruang pada OpenGL. Selanjutnya yang harus ditambahkan adalah informasi tambahan mengenai titik tersebut, apakah titik tersebut akhir dari sebuah garis, atau merupakan sebuah titik sudut dari sebuah poligon atau lainnya, karena definisi
geometrik dari sebuah vertex sebenarnya bukanlah hanya sebuah titik pada layar tetapi lebih merupakan sebuah titik dimana terjadi interseksi antara dua buah garis atau kurva. Primitif adalah interpretasi sejumlah set atau deretan titik pada sebuah bentuk yang digambar pada layar. Pada OpenGL terdapat sepuluh macam primitif dari mulai menggambar sebuah titik hingga poligon. Untuk itu digunakan perintah glBegin sebagai cara memberitahu OpenGL untuk memulai menginterpretasi sederetan titik sebagai salah satu bentuk primitif. Dan untuk mengakhiri deretan titik ini digunakan perintah glEnd. Sebagai Contoh sebagai berikut : glBegin bmPolygon
// spesifikasikan titik sebagai primitif
glVertex3f 4, 4, 0
// spesifikasikan posisi titik
glEnd
// mengakhiri perintah menggambar titik
5. Fungsi Untuk Keperluan Transformasi
a. Fungsi Translasi (Translation) Translasi merupakan bentuk transformasi yang memindahkan posisi suatu objek, baik pada sumbu x, sumbu y, atau sumbu z. Fungsi yang digunakan untuk melakukan translasi adalah : glTranslatef Tx, Ty, Tz Parameter Tx digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu x. Parameter Ty digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu y. Sedangkan parameter Tz digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu z. Contohnya : glTranslatef 2, 2, 2
b. Fungsi Rotasi (Rotation) Rotasi merupakan bentuk transformasi yang digunakan untuk memutar posisisuatu benda. Fungsi yang digunakan untuk melakukan rotasi ialah glRotatef(θ, Rx, Ry, Rz) Parameter yang dibutuhkan pada fungsi tersebut ada 4 macam, yaitu parameter θ untuk besar sudut putaran, parameter Rx untuk putaran berdasarkan sumbu x, parameter Ry untuk putaran
berdasarkan sumbu y, dan parameter Rz untuk putaran berdasarkan sumbu z. Jika parameter θ bernilai postif, maka objek akan diputar berlawanan arah jarum jam. Sedangkan jika parameter θ bernilai negatif, maka objek akan diputar searah jarum jam. Contohnya :
glRotatef -30, 2, 2, 1
c. Fungsi Skala (Scalling) Skalasi merupakan bentuk transformasi yang dapat mengubah ukuran (besar-kecil) suatu objek. Fungsi yang digunakan untuk melakukan skalasi ialah : glScalef(Sx, Sy, Sz) Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik atau atau vertex pada objek dengan faktor skala pada masing-masing sumbu (parameter Sx untuk sumbu x, Sy untuk sumbu y, dan Sz untuk sumbu z). Contohnya : glScalef(2, 2, 2)
BAB III Hasil Percobaan / Praktikum Contoh Latihan Fungsi dari Diamond
Contoh latihan Fungsi 2 Dimensi
Contoh Latihan Fungsi dari 3 Dimensi
BAB IV Analisa Hasil Percobaan Pencahayaan memegang peranan penting dalam proses penangkapan citra oleh perangkat optik. Tanpa ada cahaya, tidak ada citra yang dapat ditangkap. Dengan adanya cahaya yang cukup, detail obyek 3 dimensi jadi terlihat dengan jelas. Pada OpenGL, proses pemberian cahaya disebut juga dengan iluminasi. Sistem pencahayaan pada OpenGL merupakan pendekatan matematis terhadap sistem pencahayaan di dunia nyata. Cahaya lampu dalam OpenGL dipecah menjadi komponen merah, hijau, dan biru. Tiap sumber cahaya dapat diatur konsentrasi cahaya merah, hijau, dan biru yang dipancarkannya.
Model pencahayaan yang OpenGL mempunyai empat komponen utama: memancarkan (emissi), ambient, diffuse, dan specular. Semua komponen dihitung secara independen lalu hasilnya dijumlahkan. Hasil akhir penjumlahan inilah yang menjadi warna pada obyek.
Cahaya Ambient, Diffuse, dan Specular Pencahayaan ambient adalah cahaya latar belakang dan berasal dari segala arah. Cahaya ambient ini memiliki nilai yang lebih besar pada ruangan tertutup dibandingkan dengan ruangan
terbuka. Meskipun kedua ruang tersebut memiliki sumber cahaya yang sama. Hal ini disebabkan
karena
pada ruang tertutup,
cahaya
yang
memantul
dari dinding
membantu menerangi ruang. Cahaya diffuse adalah cahaya datang yang bersifat satu arah. Jika sebuah obyek terkena cahaya diffuse, sisi tersorot akan terlihat jelas/terang, sedangkan sisi di baliknya akan terlihat gelap. Cahaya specular Mirip seperti cahaya diffuce, cahaya specular adalah cahaya datang datang dari arah tertentu; hanya saja pantulannya tidak tersebar rata ke segala arah. Pantulan ditentukan oleh jenis material obyek. Logam dan plastik mengkilap memiliki komponen specular tinggi. Sementara kapur dan karpet hampir tidak memilikinya. Specularity disebut juga sebagai shininess. Berikut adalah hal-hal yang diperlukan untuk menjalankan pencahayaan dalam OpenGL: 1. Tentukan vektor normal untuk setiap vertex dari semua obyek. Vektor normal ini digunakan dalam perhitungan sudut pantulan oleh OpenGL. 2. Buat, pilih, dan atur posisi satu atau lebih sumber cahaya. 3. Ciptakan dan pilih model/setting pencahayaan. 4. Tentukan sifat-sifat material untuk semua objek.
Simulasi Planet
Animasi Animasi adalah “Illusion Of Motion” yang dibuat dari image statis yang ditampilkan secara berurutan sehingga seolah-olah gambar-gambar diskontinyu tadi menjadi terlihat kontinyu. Animasi berkembang dari ditemukannya prinsip dasar dari karakter mata manusia yaitu: persistance of vision (pola penglihatan yang membekas). Paul Roget, Joseph Plateau dan Pierre Desvigenes, melalui peralatan optik yang mereka ciptakan, berhasil membuktikan bahwa mata manusia cenderung menangkap urutan gambar-gambar pada tenggang waktu tertentu sebagai suatu pola. Pada OpenGL, animasi dapat dibuat dengan memanfaatkan proses transformasi pada obyek yang dilakukan secara terus-menerus/berulang-ulang.
PENUTUP
Kesimpulan Dari pembahasan dapat diambil kesimpulan sebagai berikut :
1. Didalam pembuatan grafik di jaman serba teknologi ini kita bebas menentukan alat apa yang akan kita pakai, dan untuk memahami secara mendalam transformasi didalam grafik komputer sangatlah penting menguasai ilmu matematik. 2. Perbandingan hasil pembuatan program dengan menggunakan bahasa programan lebih sulit dan berbeda jauh dari segi tampilan, maupun tata cara pembuatannya dibandingkan dengan program aplikasi yang menerapkan system just click (event driven).
Saran
Setelah melihat uraian di atas, penyusun mempunyai saran.
1. Terlebih dahulu harus belajar algoritma, karena algorima adalah salah satu kunci untuk dapat memahami permasalahan yang akan dihadapi didalam pembuatan grafik komputer. 2. Bila ingin membuat suatu gambar/grafik, pilihlah program aplikasi yang lebih bagus menurut anda, lebih kompleks, dan yang khusus menanganipembuatan gambar/grafik
serta
yang mengikuti perkembangan jaman .
3. Harus memahami sintak-sintak (gaya bahasa penulisan dalam bahasa pemrograman ) yang terdapat dalam bahasa pemrograman ataupun fitur – fitur yang terdapat didalam program aplikasi.
DAFTAR PUSTAKA https://docs.google.com/