BAB II LANDASAN TEORI

dokumen-dokumen yang mirip

Bab 1 Pengenalan GLUT

GRAFIK KOMPUTER & PENGOLAHAN CITRA

DIAN PRATIWI. ST, MTI

PENGANTAR GRAFIKA KOMPUTER

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

BAB I PENDAHULUAN 1.1 Latar Belakang

GRAFIKA KOMPUTER BAB 1. PENGANTAR

BAB III ANALISA DAN PERANCANGAN

BAB I PENDAHULUAN. untuk pengembangan aplikasi berbasis 3D yang meliputi bidang yang cukup luas

Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL.

Bab 1. Pendahuluan. menggunakan bantuan aplikasi CAD (Computer-Aided Design) untuk. menggunakan komputer ini disebut sebagai mesin Computer based

IMPLEMENTASI OPEN GL32 UNTUK MEMANIPULASI GAMBAR SEGITIGA DAN SEGIEMPAT

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 2 LANDASAN TEORI. yang saling berinteraksi untuk mencapai tujuan. yang dimaksud dengan data dan informasi? Data adalah fakta fakta yang

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Menggambar Garis Horizontal, Vertikal dan Diagonal

BAB IV HASIL DAN UJI COBA

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar dan interaksi 2 dimensi

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar 2 dimensi. Penggunaan aplikasi pengolah grafis 3D

BAB 1 PENDAHULUAN. menggunakan sistem komputerisasi. Salah satu bentuk perusahaan yang sangat

Pertemuan 6 GAYA INTERAKSI DAN PERANGKAT INTERAKSI #1

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

BAB III ANALISIS DAN PERANCANGAN SISTEM

PEMBUATAN MODUL AJAR GRAFIKA KOMPUTER BERBASIS WEB UNTUK OBYEK TIGA DIMENSI

BAB 4 IMPLEMENTASI DAN EVALUASI

Modul 3 Objek 2 Dimensi

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB I PENDAHULUAN. pesat, banyak dari perusahaan dan instansi pemerintahan yang berlomba lomba

BAB I PENDAHULUAN. menggunakan beberapa komputer yang terhubung dalam Local Area Network

BAB 1. PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Tujuan

BAB 2 LANDASAN TEORI

Pengantar Grafika Komputer

BAB 1 PENDAHULUAN. dalam berbagai bidang industri, tidak terkecuali dalam industri game.

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. dengan teknik dan teori sintesis gambar (image) komputer. Komputer

BAB III METODOLOGI PENELITIAN

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

BAB 1 PENDAHULUAN. dapat memudahkan pengelolahan dan memanfaatkan data secara efektif dan efesien. Kantor

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan

BAB 4 IMPLEMENTASI DAN TAMPILAN LAYAR

Kemajuan di bidang teknologi khususnya di dunia komputer dari hari ke. yang semakin kompleks. Dari berbagai macam aktivitas yang digeluti, sebuah

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 2 LANDASAN TEORI. Istilah komputer mempunyai arti yang luas dan berbeda untuk orang yang

BAB 2 LANDASAN TEORI

TPI4202 e-tp.ub.ac.id

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III METODOLOGI PENELITIAN

BAB 1 PENDAHULUAN. Seiring dengan perkembangan teknologi di bidang komputer saat ini, baik dalam

Pendahuluan. Komang Anom Budi Utama, SKom

BAB II LANDASAN TEORI

SISTEM INFORMASI GEOGRAFIS PENENTUAN LAHAN POTENSIAL DENGAN MENGGUNAKAN IMAGE PROCESSING

BAB I PENDAHULUAN 1.1. Latar Belakang

REKAYASA PERANGKAT LUNAK

memilih apa yang akan dikerjakan selanjutnya, bertanya dan memberikan jawaban

Modul 2 Primitive Objects

BAB I PENDAHULUAN 1.1 Latar belakang

BAB 1 PENDAHULUAN Latar Belakang Masalah

Sistem Multimedia. Image. Donny Reza, S.Kom

pelajaran 1.2 Mengoperasikan penyalaan komputer sampai dapat digunakan 2. Merakit, menginstalasi, men-setup, memelihara dan melacak serta

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Pertemuan 10. Aturan Desain dan Pendukung Implementasi

Aturan Desain dan Pendukung Implementasi

BAB 2 LANDASAN TEORI. pengumpulan data Tugas Akhir di SMA N 5 Medan. disebut dengan informasi. (Bambang Wahyudi,2003)

BAB 2 LANDASAN TEORI

BAB IV HASIL DAN UJI COBA

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL IV PENGENALAN MICROSOFT VISUAL BASIC 6.0

LAPORAN PRATIKUM KOMPUTER APLIKASI

Bab 4 Studi Kasus. 4.1 Tampilan Awal Aplikasi Perangkat Lunak

Sistem Operasi. Teknologi Informasi

BAB II PERANGKAT LUNAK

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN 3.1 ANALISA PERANGKAT LUNAK BASIS DATA MULTIMEDIA

KOMPONEN SISTEM KOMPUTER HARDWARE & SOFTWARE

BAB III ANALISIS DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN. masyarakat. Tingginya minat tersebut seakan menuntut para designer dan

BAB I PENDAHULUAN. Kartu Tanda Penduduk elektronik atau electronic-ktp (e-ktp) adalah

BAB 1 PENDAHULUAN Pengantar

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB I PENDAHULUAN I-1

BAB III ANALISIS DAN RANCANGAN PROGRAM

DIALOG DESAIN. 2. Sintaksis - Yaitu urutan dan struktur dari input dan output. - Pada bahasa manusia, ekuivalen dengan grammar suatu kalimat.

Grafika 2 dimensi Transformasi 2 dimensi Penggeseran pada grafika Penskalaan Pemutaran grafika Shearing Sistem koordinat homogen Transformasi

BAB 4 ANALISIS DAN BAHASAN

Sistem Teknologi Informasi. Website Faperta: Materi Kuliah:

CARA CEPAT MEMBUAT 3D ANIMASI DENGAN BLENDER

Pertemuan 1 PENGENA N L A A L N A I M I K

PENGEMBANGAN SISTEM PENDUKUNG KEPUTUSAN

Transkripsi:

BAB II LANDASAN TEORI 2.1 Visualisasi Visualisasi (visualization) adalah penampilan informasi yang bersifat komplek ke dalam bentuk visual (gambaran) (Chapman, 2004:665). Secara umum, visualisasi dalam bentuk gambar baik yang bersifat abstrak maupun nyata telah dikenal sejak awal dari peradaban manusia. Contoh dari hal ini meliputi lukisan di dinding-dinding gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometri Yunani, dan teknik pelukisan dari Leonardo da Vinci untuk tujuan rekayasa dan ilmiah, dll. Pada saat ini visualisasi telah berkembang dan banyak dipakai untuk keperluan ilmu pengetahuan, rekayasa, visualisasi disain produk, pendidikan, multimedia interaktif, kedokteran, dll. Pemakaian dari grafika komputer merupakan perkembangan penting dalam dunia visualisasi, setelah ditemukannya teknik garis perspektif pada zaman Renaissance. Perkembangan bidang animasi juga telah membantu banyak dalam bidang visualisasi yang lebih kompleks dan canggih. 2.2 Komputer Grafik Grafika komputer (Computer Graphic) merupakan sekumpulan alat yang digunakan untuk membuat gambar (to create pictures) dan berintraksi dengan gambar dengan cra-cara seperti biasa yang digunakan. Peralatan tersebut berupa perangkat keras (Hardware) dan perangkat lunak (Software), semua peralatan tersebut memberi fasilitas kepada programming untuk membuat program-program grafis yang baik (Edhi, 2005 : 1). Secara umum program-program komputer grafis ditujukan untuk memudahkan berinteraksi antara manusia dengan komputer. Dengan memvisualisasi kata-kata menjadi gambar maka manusia akan lebih mudah berinteraksi dengan komputer. 5

2.2.1 Aplikasi Komputer Grafik Grafika komputer dapat digunakan di berbagai bidang kehidupan, mulai dari bidang seni, sains, bisnis, pendidikan dan juga hiburan (Edhi, 2005 : 5). Berikut adalah bidang aplikasi spesifik dari grafika komputer: Antarmuka pengguna (Graphical User Interface - GUI) Peta (Cartography) Kesehatan Perancangan objek (Computer Aided Design - CAD) Sistem multimedia Presentasi grafik Presentasi saintifik Pemrosesan citra Simulasi 2.2.2 Pembagian Bidang Ilmu Komputer Grafik meliputi: Dalam buku (Fadlisyah, 2007) bahwa bagian dari grafika komputer Geometri: mempelajari cara menggambarkan permukaan bidang Animasi: mempelajari cara menggambarkan dan memanipulasi gerakan Rendering: mempelajari algoritma untuk menampilkan efek cahaya Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar. 2.3 OpenGL 2.3.1 Pengertian OpenGL OpenGL (Open Graphics Library) adalah suatu spefikasi grafik yang lowlevel yang menyediakan fungsi untuk mempermudah pekerjaan atau untuk keperluan keperluan pemrograman grafis (Graphics Programming / GP), termasuk grafik primitif (titik, garis, dan lingkaran) (Nicholas, 2011 : 541). 6

OpenGL (Open Graphics Library) adalah sebuah library terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah objek 2D atau 3D. OpenGL bersifat Open-Source, multi-platform dan multi-language (Nicholas, 2011:541). OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API)) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX,SGI, Linux, dan sistem operasi lainnya (Nicholas, 2011:541). OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan (https://www.opengl.org/). Didalam sistem operasi Windows, Opengl diimplementasikan ke dalam 2 buah file, yaitu: Opengl32.dll dan glut32.dll. Opengl32.dll merupakan pustaka program yang menyediakan perintah-perintah utama dari Opengl sedangkan glut32.dll menyediakan perintah tambahan (utility) dari Opengl (Edhi, 2005 : 180). 2.3.2 Sejarah Open GL Tahun 1980-an, mengembangkan perangkat lunak yang dapat berfungsi dengan berbagai hardware grafis adalah tantangan nyata. Pengembang perangkat lunak antarmuka dan kebiasaan menulis driver untuk setiap perangkat keras yang menjadikannya semakin mahal dan mengakibatkan banyak duplikasi. OpenGL Dikembangkan oleh Silicon Graphics (SGI) pada tahun 1990-an. Pendahulu opengl adalah IRIS GL dari Silicon Grapics, yang pada awalnya berupa GL(Glut Library) 2D, yang berevolusi menjadi API program 3D untuk workstation canggih milik perusahaan tersebut. 7

OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan portable IRIS. API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan standar yang lebih terbuka, dengan input dari pembuatan hardware lain dan sistem operasi lain, dan akan memudahkan adaptasi ke hardware platform dan sistem operasi lain. SGI menganggap bahwa IrisGL API itu sendiri tidak cocok untuk membuka karena masalah lisensi dan paten. Juga, IrisGL memiliki fungsi-fungsi API yang tidak relevan dengan grafis 3D. Sebagai contoh, termasuk windowing, keyboard dan mouse API, sebagian karena dikembangkan sebelum Sistem X Window dan Sun s NEWS sistem dikembangkan. Tahun 1994 SGI mengeluarkan gaggasan yang disebut OpenGL + + yang mencakup unsur-unsur seperti grafik adegan-api (mungkin berbasis di sekitar mereka Performer teknologi). Spesifikasi itu beredar di kalangan beberapa pihak yang berkepentingan tetapi tidak pernah berubah menjadi sebuah produk pada tahun 1995, yang akan menjadi pesaing utama dari OpenGL. Pada tanggal 17 Desember 1997 Microsoft dan SGI memprakarsai Fahrenheit proyek, yang merupakan upaya bersama dengan tujuan mempersatukan OpenGL dan Direct3D antarmuka (dan menambahkan adegan-api grafik juga). Pada tahun 1998 Hewlett-Packard bergabung dengan proyek ini. Ini awalnya menunjukkan beberapa janji untuk membawa dunia komputer grafis 3D interaktif API, melainkan karena kendala keuangan di SGI, alasan strategis di Microsoft, dan kurangnya dukungan industri, itu ditinggalkan pada tahun 1999. OpenGL mengalami beberapa revisi yang sebagian besar ada penambahan ektensi secara berangsur-angsur pada main body dari API. Contohnya OpenGL 1.1 (1997) ada penambahan glbindtexture. OpenGL 2.0 (2004) memasukkan tambahan yang paling penting yaitu OpenGL Shading Language (GLSL). 8

2.3.3 Menggambar di OpenGL Didalam Buku (Edhi,2005:186-188) dikatakan bahwa semua proses menggambar didalam OpenGL harus diletakkan diantara perintah glbegin dan glend seperti pad listing dibawah ini: glbegin <mode gambar>; <perintah-perintah menggambar> glend; Beberapa Perintah yang berhubungan dengan menggambar pixel di OpenGL antara lain: glbegin (mode) Perintah mengawali untuk menggambar. Mode merupakan konstanta yang menyatakan bagaimana opengl harus menghubungkan titik/verteks yang akan digambar. Nilai GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLES_STRIP GL_TRIANGLES_FAN GL_QUADS GL_QUAD_STRIPS GL_POLYGON Tabel 2.1 Mode pada glbegin Arti Setiap verteks diperlakukan sebagai titik terpisah Dua pasang verteks diperlakukan sebagai garis Sama seperti GL_LINES tetapi setiap garis saling dihubungkan Sama seperti GL_LINE_STRIP tetapi verteks pertama dan terakhir membentuk garis Tiga pasang verteks dianggap sebagai bidang segitiga Bidang segitiga yang saling berhubungan Mirip GL_TRIANGLES_STRIP tetapi semua bidang menggunakan satu verteks yang sama Empat Verteks dianggap sebagai polygon empat sisi (quadrilaters) Pasangan quadrilaters Verteks dianggap sebagai titik sudut polygon Hubungan antara masing-masing mode diperlihatkan pada gambar 2.1 9

Gambar 2.1 Mode Menghubungkan verteks glcolor3f(red,green,blue:glfloat) Perintah untuk menyatakan warna depan/warna objek yang akan digambar. Nilai Red,Green,Blue berkisar 0 sampai dengan 1. glvertex2f(x,y:glfloat) Perintah untuk menggambar sebuah verteks dilayar dengan menggunakan koordinat 2 dimensi. Pada perintah ini koordinat z dianggap sama dengan 0. glvertex3f(x,y,z:glfloat) Perintah untuk menggambar sebuah verteks dilayar dengan menggunakan koordinat 3 dimensi. Sebagai contoh, perintah glvertex3f(1.0, 2.0, 3.0) akan menggambar verteks di lokasi x = 1.0, y = 2.0 dan z = 3.0. glvertex4f(x,y,z,w:glfloat) Sama seperti glvertex3f tetapi nilai x,y,z yang sebenarnya merupakan hasil pembagian dengan parameter w. Sebagai contoh, perintah glvertex4f(1.0, 2.0, 3.0, 4.0) akan menggambar vertex di x = 1.0/4.0 = 0,25, y = 2.0/4.0 = 0,5 dan z = 3.0/4.0 = 0,75. 10

glflush Pada saat OpenGL menerima perintah mengambar, OpenGL akan menggambar di buffer internalnya dan memindahkan isi buffer ke layar saat menerima perintah glflush. Hal ini ditujukan agar implementasi OpenGL tidak tergantung kepada system. 2.4 GLUT(GL Utility Toolkit) 2.4.1 Pengertian GLUT Dikarenakan OpenGL tidak menyediakan interface sistem window ataupun input, maka untuk tujuan ini aplikasi harus mengunakan keseragaman spesifik platform. Dengan demikian jika aplikasi yang diinginkan tidak hanya berjalan di satu platfrom saja, maka perlu menggunakan GLUT. GLUT merupakan pengembangan dari OpenGL yang didesain untuk aplikasi dengan level kecil hingga menengah dan menggunkan callback function untuk menambahkan interaksi dari user. GLUT menyediakan interface untuk menejemen window, menu, dan peralatan input (keyboard, dan mouse). GLUT juga menyediakan fungsi otomatis untuk menggambar objek primitif (garis, lingkaran, titik, persegi), objek 3 dimensi wire (kerangka) maupun yang solid, seperti cube (kubus), sphere (bola), dan teapot (poci teh), cone (kerucut), torus, dan lain-lain. Dua tujuan GLUT ialah menciptakan fleksibitas code antar platform yang dapat dijalankan lebih dari satu sistem operasi (Windows, Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD), dan untuk lebih mudah mempelajari OpenGL. Dengan menggunakan GLUT hanya memerlukan sedikit code dibandingkan dengan OpenGL, tanpa mengetahui spesifikasi sistem operasi, dikarenakan OpenGL adalah sebagai mesin. 2.4.2 Pemrograman Berbasis Event GLUT pada dasarnya dibangun untuk menciptakan aplikasi grafis menggunakan pemrograman yang bersifat prosedural. Di dalamnya terdapat 11

fungsi main loop yang diatur oleh GLUT dan looping yang terjadi dalam aplikasi bertujuan untuk penanganan fungsi-fungsi callback sebagai input dari user seperti fungsi redraw, mouse, keyboard, joystick, dan lain-lain (Dave, 2013:655). Di bawah ini ialah tahap-tahap untuk pemrograman OpenGL menggunakan C++, diperlukan library tambahan yaitu : 1. glut.h yang dicopy ke drive:\program Files (86x)\Dev- Cpp\MinGW32\include\GL. 2. glut32.lib yang dicopy ke drive:\program Files (86x)\Dev-Cpp \MinGW32\lib. 3. glut32.dll yang dicopy ke drive:\windows\system32. 2.4.3 Manajemen Window Ada 5 fungsi yang harus dipanggil untuk melakukan instalasi window yaitu: a. glutinit(int argc,char**argv) Fungsi ini menginisialisasi glut dan memproses argument command_line yg disertakan(jika ada). Fungsi ini harus di panggil pertama kali sebelum pemanggilan terhadap fungsi-fungsi yang lain (Dave, 2013:652). b. glutinitdisplaymode(unsigned intmode) Fungsi ini digunakan untuk menentukan apakah akan menggunakan model pewarnaan RGBA atau indek warna. Dengan fungsi ini juga bisa menentukan apakah akan menggunakan windows buffer single atau double (Dave, 2013:653). c. GlutInitWindowPosisition(int.x,int.y) Fungsi ini menentukan letak window dengan patokkannya ialah pada window kiri atas (Dave, 2013:654). d. glutinitwindowsize(int width,int height) fungsi ini menspesifikasikan ukuran window yang dibuat dalam pixel (Dave, 2013:654). 12

e. glutcreatewindow(char *string) fungsi untuk membuat window dalam konteks opengl, dan akan menghasilkan identitas atau judul window tersebut (Dave, 2013:654). 2.5 Dunia 3 Dimensi 2.5.1 Dua Dimensi dan Tiga Dimensi Perbedaan yang mendasar antara dua dimensi dan tiga dimensi adalah kedalaman. Kedalaman didefinisikan sebagai jarak antara viewer terhadap benda yang terlihat, Berbeda dengan dua dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka tiga dimensi menggunakan 3 ukuran, yaitu: panjang, lebar dan kedalaman. Secara geometri ketiga ukuran tersebut disimbolkan dengan sumbu x,y,dan z (Edhi, 2005 : 175). 2.5.2 Sistem Koordinat Dalam menyatakan sistem koordinat 3 dimensi, terdapat dua cara yaitu aturan tangan kiri dan aturan tangan kanan, Pada dasarnya kedua aturan tersebut adalah kemana sumbu x+ menunjuk atau aturan tangan kiri, sumbu x+ ditunjuk oleh ibu jari dan mengarah kekanan sedangkan aturan tangan kanan, sumbu x+ menuju arah kiri. Pada kedua aturan tersebut, sumbu y+ maupun z+ menuju kearah yang sama (Edhi, 2005 : 176). 2.6. Model Waterfall Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak model. Salah satu model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah Model Waterfall (Rosa, 2013:28). Ada 5 tahapan utama dalam Model Waterfall seperti terlihat pada Gambar 2.3. Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Tahapan-tahapan dalam Model Waterfall secara ringkas adalah sebagai berikut: Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi dikembangkan. Pada tahapan ini 13

studi kelayakan perlu dilakukan untuk menentukan apakah sistem informasi yang akan dikembangkan merupakan solusi yang layak. Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru). Tahap disain bertujuan menentukan spesifikasi detil dari komponenkomponen sistem informasi (manusia, hardware, software, network dan data) dan produk produk informasi yang sesuai dengan hasil tahap analisis. Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru. Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan. Gambar 2.2 Model Waterfall 14