University Gunadarma World Class

Apapun yang Anda perjuangkan melalui pertarungan – pasti merupakan sesuatu yang penting bagi Anda. Itu sebabnya Anda dikenal dari apa yang Anda pertarungkan

Wednesday, December 29, 2010

Rubik 3D dengan menggunakan Pelles C

Karena menggunakan software Pelles C, maka obyek yang dibuat murni dibuat dengan coding program. Semua pengaturan yang berhubungan dengan obyek baik itu warna, ukuran serta posisi obyek berikut pergerakkan obyek tersebut diatur didalam coding program. Untuk memulai Pelles C langkahnya adalah sebagai berikut :


1. Klik start - All Programs - Pelles C for Windows - Pelles C IDE
2. Pilih File - New - Project
3. Pilih wizard yang sesuai - masukkan nama - OK
4. Kemudian next, lalu Finish
5. Double Click pada main.c
6. Maka akan muncul project area untuk menuliskan coding.
7. Coding dituliskan didalam komentar //lakukan penggambaran disini.
8. Jadi, kita mulai membuat coding di blok //lakukan penggambaran disini.
9. Selebihnya merupakan struktur yang sudah tersedia dan tidak perlu diubah - ubah.
10. Pada blok eksekusi jangan lupa untuk meletakkan kode : gluLookAt(10,10,30,0,0,0,0,1,0); supaya pada saat program dijalankan, outputnya berhasil dimunculkan. Selamat mencoba dan selamat berkreasi...


Berikut ini merupakan coding program yang dibuat :


#include
#include
#include
#include

//deklarasi variable
//===============
float put,puthor1= 90,putver,puthor2 ,puthor =0;
int kubygput;

//deklarasi prosedur
//===============
void gambarkubus();
void posisikubus();
void putar90();
void mulaiOpenGL(void);
void eksekub();

//prosedur menggmbar kubus
void gambarkubus() {
float x1= 2; //deklarasi variable untuk koordinat kubus
float x2= -2;
float y1= 2;
float y2= -2;
float z1= 2;
float z2= -2;

//penggambaran kubus
//depan
{
glBegin(GL_QUADS);
glColor3f(0.7,0,0);
glVertex3f(x1,y1,z1);
glVertex3f(x2,y1,z1);
glVertex3f(x2,y2,z1);
glVertex3f(x1,y2,z1);
glEnd();
}
//atas
{
glBegin(GL_QUADS);
glColor3f(0,0.8,0);
glVertex3f(x1,y1,z1);
glVertex3f(x2,y1,z1);
glVertex3f(x2,y1,z2);
glVertex3f(x1,y1,z2);
glEnd();
}
//kanan
{
glBegin(GL_QUADS);
glColor3f(0,0,0.8);
glVertex3f(x1,y1,z2);
glVertex3f(x1,y1,z1);
glVertex3f(x1,y2,z1);
glVertex3f(x1,y2,z2);
glEnd();
}
//belakang
{
glBegin(GL_QUADS);
glColor3f(10,10,10);
glVertex3f(x1,y1,z2);
glVertex3f(x2,y1,z2);
glVertex3f(x2,y2,z2);
glVertex3f(x1,y2,z2);
glEnd();
}
//kiri
{
glBegin(GL_QUADS);
glColor3f(0.9,0.4,0);
glVertex3f(x2,y1,z1);
glVertex3f(x2,y1,z2);
glVertex3f(x2,y2,z2);
glVertex3f(x2,y2,z1);
glEnd();
}
//bawah
{
glBegin(GL_QUADS);
glColor3f(1,1,0);
glVertex3f(x1,y2,z1);
glVertex3f(x1,y2,z2);
glVertex3f(x2,y2,z2);
glVertex3f(x2,y2,z1);
glEnd();}
}

}
//===================================
// memutar kubus separuhnya sebanyak 90'
// variable puthor1 sebagai banyaknya derajat
// puthor1 increment sampai > 90' dan berenti
//===================================
void putar90(){
if(puthor1 >=90)
puthor1+=0;
else puthor1++;
glRotatef(puthor1,0,1,0);
}

//tempat eksekusi putaran
void eksekub(){
glTranslatef(0,4.2,0);
putar90();
posisikubus();
}

void posisikubus() {
int i,j;
//(dalam sumbu z)
//tengah
//==================
gambarkubus();
glTranslatef(4.2,0,0);
gambarkubus();
glTranslatef(-8.4,0,0);
gambarkubus();
glTranslatef(0,0,4.2);
//atas
//==================
for(i=1;i<=3;i++){
gambarkubus();
glTranslatef(4.2,0,0);
}
//bawah
//==================
glTranslatef(-12.6,0,-8.4);
for(j=1;j<=3;j++){
gambarkubus();
glTranslatef(4.2,0,0);
}
glTranslatef(-8.4,0,4.2);
}

int main(void)
{
// mRunning = TRUE, aplikasi masih berjalan
// mRunning = FALSE, ???
GLuint mRunning = GL_TRUE;
//
// inisialisasi GLFW
if( glfwInit() == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagal menginisialisasi GLFW", "Error!", MB_OK);
return(0);
}
//
// buat sebuah window yang akan digunakan untuk menggambar.
if( glfwOpenWindow( 640, 480, 0, 0, 0, 0, 24, 0, GLFW_WINDOW ) == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagal membuat window", "Error!", MB_OK );
glfwTerminate();
return(0);
}
//
// Set judul yang ada di window dan Swap interval.
glfwSetWindowTitle( "Rubik Cube by  Dika Domba" );
glfwSwapInterval( 2 );
//
// mulai OpenGL (melakukan setting awal OpenGL)
mulaiOpenGL();
// mulai looping utama program
// membuat koordinat kubus
while( mRunning )
{
//
// bersihkan layar dan depth buffer
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();
//================================================== ===============
// eksekusi
//================================================== ===============
gluLookAt(10,10,30,0,0,0,0,1,0);
//untuk rotasi keseluruhan kubus
//=======================================
glRotatef(putver,1,0,0); //rotasi vertikal
glRotatef(put,0,1,0); //rotasi horizontal
//=======================================
posisikubus(); //kubus tengah
glTranslatef(0,-4.2,0);
posisikubus(); //kubus bawah
glTranslatef(0,4.2,0); //menormalkan posisi kubus
eksekub(); //eksekusi kubus
//================================================== ========
// tombol untuk menggerakan kubus kubus
//================================================== ========
if (glfwGetKey (GLFW_KEY_SPACE)) {put+= 1;
if (put> 360)put=0;}
if (glfwGetKey (GLFW_KEY_RIGHT)) {
puthor1=0;
}
if (glfwGetKey (GLFW_KEY_LEFT)) {
}
//--------------------------------------
if (glfwGetKey (GLFW_KEY_UP)) {putver += 1;
if (putver> 360)putver=0;}
if (glfwGetKey (GLFW_KEY_DOWN)) {putver += 90;
if (putver> 360)putver=0;}
//------------------------------------------------------------------------------------
//
// tampilkan ke layar (swap double buffer)
glfwSwapBuffers();
//
// check input , apakah tombol esc ditekan atau tombol "close" diclick
mRunning = !glfwGetKey( GLFW_KEY_ESC ) && glfwGetWindowParam( GLFW_OPENED );
}
glfwTerminate();
return(0);
}
void mulaiOpenGL(void)
{
//
// Set viewport ke resolusi 640x480 viewport bisa diibaratkan
// layar monitor anda
glViewport( 0, 0, 640, 480 );
//
// Set mode OpenGL ke mode pryeksi (Projection) dan set proyeksi
// menggunakan proyeksi perspective, dengan sudut pandang (Field Of
// View) 60 derajat
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( 60.0f, 640.0f/480.0f, 0.1f, 1000.0f );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
//
// Set mode gradasi warna halus (Smooth)
glShadeModel( GL_SMOOTH );
//
// warna yang digunakan untuk membersihkan layar
glClearColor( 0.9f, 0.9f, 0.8f, 0.8f );
//
// nilai untuk membersihkan depth buffer.
glClearDepth( 1.0f );
//
// Depth test digunakan untuk menghindari polygon yang
// tumpang tindih.
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LEQUAL );
//
//beritahu OpenGL untuk menggunakan perhitungan perspective
// yang terbaik (perhitungan ini tidak bisa selalu 100% akurat)
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
}

Dari semua coding diatas, maka hasilnya adalah sebagai berikut (saat rubik dijalankan ) :

Thursday, December 23, 2010

Laporan Pendahuluan buat pertemuan 4 Matif

1. Apa yang kamu ketahui tgg fungsi komposisi??

2. Apa yang kalian ketahui tgg fungsi invers???berikan contoh nya!!!

Saturday, December 18, 2010

Laporan Akhir buat pertemuan 4

Buat LA kaliah klik tuh judul 'Laporan Akhir buat pertemuan 4'

Mac OS X v10.1 (Puma)

Mac OS X Puma Mac OS X versi 10.1, dengan nama “Puma”, kedua dirilis dari Mac OS X, Apple’s desktop. Puma menggantikan Mac OS X v10.0 (Cheetah) dan mendahului Mac OS X v10.2 (Jaguar). Mac OS X Versi 10.1 ini dirilis pada tanggal 25 September 2001 sebagai sebuah ‘penyambung’ untuk versi 10.0. Pada saat itu, software ini gratis didownload sebagai penyambung versi Cheetah. Sejak versi 10.1.2, Apple Mac OS X menjadi default sistem operasi Mac baru. Sistem operasi ini diberikan dengan gratis oleh karyawan Apple setelah Steve Jobs berpidato di Seybold, tempat konferensi di San Francisco. Hal ini kemudian diberitahukan secara umum kepada pengguna Macintosh pada tanggal 25 Oktober 2001 di Apple Stores dan toko-toko yang menjual produk-produk Apple. Sistem operasi ini lebih disukai pengguna daripada versi Mac OS X 10.0. Walaupun demikian, para kritikus mengklaim bahwa sistem operasi ini masih memiliki kekurangan dalam fitur dan masih terdapat bug. Sejarah Mac OS X version membangun tanggal rilis catatan 10.1 5G64 25 September 2001 Dijual eceran 10.1.1 5M28 13 November 2001 Apple: Mac OS X 10.1.1 Update 10.1.2 5P48 20 Desember 2001 Apple: Mac OS X 10.1.2 Update 10.1.3 5Q45 19 Februari 2002 Apple: Mac OS X 10.1.3 Update 10.1.4 5Q125 17 April 2002 Apple: Mac OS X 10.1.4 Update 10.1.5 5S60 6 Juni 2002 Apple: Mac OS X 10.1.5 Update Fitur (Kelebihan) Puma Apple memperkenalkan banyak fitur yang hilang dari versi terakhir. Fitur-fitur ini meningkatkan kinerja sistem secara keseluruhan. Puma membawa beberapa fitur baru ke Mac OS X, diantaranya: * Peningkatan kinerja sistem – Mac OS X v10.1 memperkenalkan peningkatkan kinerja yang cukup besar pada seluruh sistem. * Kemudahan untuk burning CD dan DVD - mempunyai dukungan yang lebih bagus pada Finder serta iTunes * Dukungan playback DVD – DVD dapat dimainkan di Apple DVD Player * Memiliki pendukung printer yang lebih baik (200 printer didukung out of box) – Salah satu keluhan utama pengguna versi 10,0 adalah kurangnya driver printer, melalui Puma, Apple berusaha untuk memperbaiki situasi dengan memasukkan lebih banyak driver. Walaupun demikian masih banyak kritikus yang mengeluh masih tidak cukup. * Faster 3D ( OpenGL performs 20% faster) — The OpenGL drivers, and handling were vastly improved in this version of Mac OS X, which created a large performance gap for 3D elements in the interface, and 3D applications. Kecepatan 3D (OpenGL melakukan 20% lebih cepat) – OpenGL driver pada Puma memiliki penanganan yang jauh lebih baik dalam versi Mac OS X. Hal ini yang menciptakan perbedaan besar pada kinerja untuk 3D elemen dalam interface, dan aplikasi 3D. * Peningkatan AppleScript – scripting interface memungkinkan akses ke banyak komponen sistem, seperti Printer, dan Terminal, sehingga meningkatkan keanekaragaman dari penampilan. Selain itu, Apple memperkenalkan AppleScript Studio, yang memungkinkan user untuk membuat aplikasi AppleScript dalam interface grafis yang sederhana. * ColorSync 4,0, keanekaragaman warna pada sistem dan API. * Image Capture, untuk memperoleh gambar dari kamera digital dan scanner. Kekurangan Puma Meskipun versi 10,1 (Puma) merupakan sistem operasi yang jauh lebih baik dari pendahulunya, ia masih menerima beberapa kritik. * Kinerja sistem – Meskipun kinerja sistem di versi 10,1 lebih baik, tetapi bagi sebagian orang masih dianggap ‘tidak cukup’ untuk mengadopsi Mac OS X sebagai sistem operasi utama mereka. * Minor upgrade – Walaupun versi 10,1 membuat beberapa kemajuan signifikan, banyak pengguna mengkritik bahwa perbedaan antara 10,0 dan 10,1 versi tidak cukup besar. User interface hampir tidak berubah sama sekali, dan beberapa bugs masih ada, hal ini yang menyebabkan seluruh sistem crash.

Thursday, December 2, 2010

Manipulasi Gambar 3D


- Sejarah Tentang Blender™ .
Pada tahun 1988 Ton Roosendaal mendanai perusahaan yang bergerak dibidang animasi yang dinamakan NeoGeo. NeoGeo adalah berkembang pesat sehingga menjadi perusahaan animasi terbesar di Belanda dan salah satu perusahaan animasi terdepan di Eropa. Ton Roosendaal selain bertanggung jawab sebagai art director juga bertanggung jawab atas pengembangan software internal.
Pada tahun 1995 muncullah sebuah software yang pada akhirnya dinamakan Blender. Setelah diamati ternyata Blender memiliki potensi untuk digunakan oleh artis –artis diluar NeoGeo. Lalu pada tahun 1998 Ton mendirikan perusahaan yang bernama Not a Number (NaN) Untuk mengembangkan dan memasarkan Blender lebih jauh. Cita – cita NaN adalah untuk menciptakan sebuah software animasi 3D yang padat, cross platform yang gratis dan dapat digunakan oleh masyarakat computer yang umum
Sayangnya ambisi NaN tidak sesuai dengan kenyataan pasar saat itu. Tahun 2001 NaN dibentuk ulang menjadi perusahaan yang lebih kecil NaN lalu meluncurkan software komersial pertamanya, Blender Publisher. Sasaran pasar software ini adalah untuk web 3D interaktif. Angka penjualan yang rendah dan iklim ekonomi yang tidak menguntungkan saat itu mengakibatkan NaN ditutup. Punutupan ini termasuk penghentian terhadap pengembangan Blender.
Karena tidak ingin Blender hilang ditelan waktu begitu saja, Ton Roosendaal mendirikan organisasi non profit yang bernama Blender Foundation. Tujuan utama Blender Foundation adalah tersu mempromosikan dan mengembangkan Blender sebagai proyek open source. Pada tahun 2002 Blender dirilis ulang dibawah syarat – syarat GNU General Public License. Pengembangan Blender tersu berlanjut hingga saat ini.

- Kelebihan Blender™.

Blender merupakan salah satu program "Modeling 3D dan Animation", tapi Blender mempunyai
kelebihan sendiri dibandingkan program modeling 3D lainnya.
Kelebihan yang dimiliki Blender adalah dapat membuat game tanpa menggunakan program
tambahan lainnya, Karena Blender sudah memiliki "Engine Game" sendiri dan menggunakan "Python"
sebagai bahasa pemograman yang lebih mudah ketimbang menggunakan C++,C, dll.
Blender menggunakan “OpenGL” sebagai render grafiknya yang dapat digunakan pada
berbagai macam “OS” seperti Windows, Linux dan Mac OS X.







- Contoh Gambar Dengan Menggunakan Blender™.

Animasi 3D

Definisi 3D atau 3 dimensi yang dimaksud setiap objek tiga dimensi mempunyai lebar tinggi dan kedalaman. 3D adalah dimensi yang memiliki ruang,jika kita menunjuk kepada objek 3D artinya objek tersebut memiliki ruang atau volume. Objek 3D juga memiliki lokasi paa koordinat X,Y dan Z. jika pada bidang 2 dimensi,kita hanya dapat menggerakan objek tersebut kesamping,kekanan dan kekiri berbeda dengan objek 3 Dimensi yang bisa digerakan ke depan dan kebelakang Seperti pada gambar dibawah ini :

Dalam software 3 Dimensi umumnya tiap tiap objek meiliki sub-objek/elemen elemen yang membentuk dirinya. Elemen tersebut biasa disebut vertex,edge dan face. Vertex merupakan sebuah titik yang terletak antara koordinat X,Y dan Z tertentu. 2 vertex jika dihubungkan akan membentuk ebuah edge. Vertex dalam bentuk jamak (berjumlah lebih dari 1) biasa disebut vertices. Istilah ini lebih berkaitan dengan perbedaan kata bentuk jamak dan tunggal bahasa inggris,dimana kata kata itu di luar kata kaa tertentu yang khusus biasanya hanya perlu di tambahkan huruf s atau huruf es di belakangnnya untuk menunjukan bentuk jamak(faces,edges,mesches , dst).
Grafik 3 dimensi grafik yang di paparkan dalam bentuk 3 dimensi pada paksi x,y, dan z. Animasi 3 dimensi merupakan manipulasi imej dan objek 3D dalam bentuk animasi menggunakan kaedah permodelan(odeling),pemetaan(mapping) pencahayaan(lighting),penggunaan kamera(camera),animasi(anation) dan proses render(rendering) yang terdapat dalam perisian animasi 3 dimensi.
Berikut contoh animasi 3D :

Asas 3 dimensi :
1.      Objek geometri asas,membina sfera kiub,silinder dan kuboid(primitif)
2.      Objek geometri lanjutan,untuk manipulasi objek asas(organic)
3.      Studio perisian 3D seperti 3D Studio Max,Lightwave.
4.      Bahan matriallis,untuk pemetaan pada objek seperti plastic,batu,kayu,kaca,atau grafik yang ingin dilukis.
5.      Kamera maya,untuk merekam babak(scene) menggunakan kaedah pengambaran berbagai sudut dan focus.
6.      Fungsi animasi (export movis) ,untuk penukaran file 3D enjadi file AVI,MPEG,MOV.
Pada software 3D untuk membuat sebuah gerakan umumnya hanya memerlukan berberapa frame kunci atau keyframe. Dengan keyframe,anda hanya perlu menentukan posisi objek yang penting pada waktu waktu yang ditentukan sedangkan jarak frame yang kosong diantara tiap keyframe dihitung secara otomatis oleh computer. Teknik keyframe sebenarnya bukan monopoli software 3D saja,beberapa software 2D seperti macromedia flash atau adobe after efet juga mempergunakan teknik ini.