Senin, 03 Januari 2011



Animasi

Animasi, atau lebih akrab disebut dengan film animasi, adalah film yang merupakan hasil dari pengolahan gambar tangan sehingga menjadi gambar yang bergerak. Pada awal penemuannya, film animasi dibuat dari berlembar-lembar kertas gambar yang kemudian di-"putar" sehingga muncul efek gambar bergerak. Dengan bantuan komputer dan grafika komputer, pembuatan film animasi menjadi sangat mudah dan cepat. Bahkan akhir-akhir ini lebih banyak bermunculan film animasi 3 dimensi daripada film animasi 2 dimensi.

Sejarah Animasi

Animasi merupakan suatu seni untuk membuat dan mengerakkan sebuah obyek, baik berbentuk 2 dimensi maupun 3 dimensi dan dibuat menggunakan berbagai cara, misalnya menggunakan kertas, komputer dan lain sebagainya. Animasi saat ini telah menjadi industri besar yang memberikan dampak ekonomi dan sosial yang begitu besar bahkan cukup signifikasi terhadap pendapat sebuah negara.

Animasi berawal dari kontribusi hasil karya seorang yang bernama walt disney yang lahir dengan nama walter alias disney, Walt lahir di Chicago, Illinois dengan orang tua bernama Elias Disney dan Flora Call. Pada 1906, mereka semua pindah ke sebuah peternakan dekat Marceline, Missouri,amerika serikat.

Jenis – Jenis Animasi

Diawal tahun 20-an, popularitas kartun animasi berangsur menurun dan para sineas mulai cenderung mencari alternatif lain sebagai media hiburan. Masyarakat mulai jenuh dengan konsep animasi yang pada saat itu tidak memikirkan story line dan pengembangan si-tokoh karakter. Perubahan besar dimulai pada pertengahan tahun 20-an setelah beberapa perusahaan animasi mengembangkan konsep komersialisasi dimana studio-studio besar mengambil alih studio lokal dan menentukan standard untuk animasi Sampai saat ini animasi dibagi dalam kategori besar, yaitu:
1.
Animasi Stop-motion (Stop Motion Animation)
2. AnimasiTradisional (Traditional animation)
3. Animasi Komputer (Computer Graphics Animation)



Linux Ubuntu 9.04

LINUX UBUNTU 9.04

"Ubuntu" berasal dari bahasa kuno Afrika, yang berarti "rasa perikemanusian terhadap sesama manusia". Ubuntu juga bisa berarti "aku adalah aku karena keberadaan kita semua". Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Ubuntu ke dalam dunia perangkat lunak.
Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang berasal dari komunitas maupun tenaga ahli profesional. Ubuntu sendiri dikembangkan oleh komunitas sukarelawan Ubuntu dan kami mengundang Anda untuk turut serta berpartisipasi mengembangkan Ubuntu!
Bulan April adalah salah satu bulan yang paling dinanti oleh para pengguna Ubuntu, karena di bulan inilah Ubuntu meluncurkan rilis terbaru. Dan pada hari Kamis 23 April 2009 akhirnya Canonical Ltd. selaku sponsor utama proyek Ubuntu dengan resmi merilis Ubuntu 9.04 (Jaunty Jackalope). Ubuntu 9.04 merupakan rilis kesepuluh sejak proyek Ubuntu dimulai pada tahun 2004.
Terdapat 3 versi pada rilis Ubuntu 9.04 ini, yaitu Desktop, Server dan Netbook Remix yang masing-masing dikembangkan untuk memenuhi dengan kebutuhan pengguna Ubuntu dan didalamnya terdapat banyak fitur-fitur terbaru, antara lain GNOME 2.26, sistem notifikasi terbaru, proses booting yang lebih cepat, dukungan filesystem Ext4, Linux kernel 2.6.28, dukungan untuk cloud computing, dan masih banyak lagi
Komunitas Ubuntu dibentuk berdasarkan gagasan yang terdapat di dalam filosofi Ubuntu: bahwa perangkat lunak harus tersedia dengan bebas biaya, bahwa aplikasi perangkat lunak tersebut harus dapat digunakan dalam bahasa lokal masing-masing dan untuk orang-orang yang mempunyai keterbatasan fisik, dan bahwa pengguna harus mempunyai kebebasan untuk mengubah perangkat lunak sesuai dengan apa yang mereka butuhkan.
Perihal kebebasan inilah yang membuat Ubuntu berbeda dari perangkat lunak berpemilik (proprietary); bukan hanya peralatan yang Anda butuhkan tersedia secara bebas biaya, tetapi Anda juga mempunyai hak untuk memodifikasi perangkat lunak Anda sampai perangkat lunak tersebut bekerja sesuai dengan yang Anda inginkan.


Berikut ini adalah komitmen publik tim Ubuntu untuk para penggunanya:
• Ubuntu akan selalu bebas dari biaya, maka dari itu tidak akan ada biaya tambahan untuk "edisi enterprise", kami akan membuat semua pekerjaan terbaik Ubuntu tersedia untuk semua orang dengan istilah Bebas yang sama.
• Ubuntu juga menyediakan dukungan komersial dari ratusan perusahaan di seluruh dunia. Ubuntu dirilis secara tetap dan dapat Anda prediksikan; rilis Ubuntu terbaru tersedia setiap enam bulan. Setiap rilis akan didukung oleh Ubuntu dengan perbaikan pada keamanan dan perbaikan lainnya secara bebas selama sekurangnya 18 bulan.
• Ubuntu akan menyertakan terjemahan dan prasarana aksesibilitas terbaik yang dimiliki oleh komunitas Perangkat Lunak Bebas, hal ini berguna untuk membuat Ubuntu dapat dipergunakan oleh banyak orang. Kami juga bekerja sama dengan seluruh komunitas Perangkat Lunak Bebas dalam hal perbaikan bug dan saling membagi kode.
• Ubuntu berkomitmen secara penuh terhadap prinsip-prinsip dari pengembangan perangkat lunak bebas; untuk ini kami mendorong masyarakat untuk menggunakan perangkat lunak bebas dan open source, lalu memperbaikinya dan kemudian menyebarkannya kembali.
Ubuntu cocok digunakan baik untuk desktop maupun server. Ubuntu saat ini mendukung berbagai arsitektur komputer seperti PC (Intel x86), PC 64-bita (AMD64), PowerPC (Apple iBook dan Powerbook, G4 dan G5), Sun UltraSPARC dan T1 (Sun Fire T1000 dan T2000).
Ubuntu menyertakan lebih dari 16.000 buah perangkat lunak, dan untuk instalasi desktop dapat dilakukan dengan menggunakan satu CD saja. Ubuntu menyertakan semua aplikasi standar untuk desktop mulai dari pengolah kata, aplikasi lembar sebar (spreadsheet) hingga aplikasi untuk mengakses internet, perangkat lunak untuk server web, peralatan untuk bahasa pemrograman dan tentu saja beragam permainan.
Langkah demi langkah menginstal Ubuntu 9.04 i386 Desktop Edition

1. Siapkan seperangkat komputer dengan spesifikasi minimum (lebih tinggi lebih baik)
a. Memory / RAM 256 MB (disarankan 512 MB)
b. Ruang kosong hardisk minimum adalah 5 GB (1 GB tanpa desktop)

Membuat Rubik menggunakan pelles C

ini merupakan tampilan awal dari pelles C,Untuk membuat project baru klik new project.





selanjutnya ini tampilan untuk compile dan running.



output

LOGIKA PROGRAM

#include
#include
#include
#include
Program ini diawali include karena include merupakan header file program C yang wajib dipakai. Masing – masing include di atas untuk menghubungkan program ini dengan file berextension h yang disimpan dalam folder GL.
//deklarasi variable
//===============
float put,puthor1= 90,putver,puthor2 ,puthor =0;
int kubygput;
Blok diatas digunakan untuk mendeklarasikan variable-variable yang akan digunakan dalam program.

//deklarasi prosedur
//===============
void gambarkubus();
void posisikubus();
void putar90();
void mulaiOpenGL(void);
void eksekub();
Selanjutnya blok ini digunakan untuk mendeklarasikan masing-masing prosedur untuk menggambar kubus,menentukan posisi kubus,memutar kubus,openGL adalah sebuah pemanggilan fungsi untuk memulai pengeksekusian program ini,dan eksekub untuk mengeksekusi kubus.
//prosedur menggambar 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();}
}

Blok ini merupakan blok prosedur untuk penggambaran kubus,titik koordinat kubus dideklarasikan terlebih dahulu dalam masing-masing variable x,y,dan z. dalam penggambaran kubus bagian depan,belakang,atas,bawah,samping kanan dan kiri itu menggunakan coding yang sama untuk membuat persegi maka menggunakan glBegin(GL_QUADS); dan menentukan/merubah warna dengan glColor3f(1,1,0); yang berbeda hanyalah titik koordinatnya untuk masing-masing x,y,z.

}
//===================================
// 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();
}
Dalam prosedur putar digunakan untuk memutar kubus dan putaran kubus di eksekusi dalam prosedur eksekub.

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);
}
Prosedur posisi kubus berisi untuk mengatur letak-letak kubus yang telah di buat untuk posisi tengah,atas,dan bawah dengan menggunakan statement glTranslatef(4.2,0,0); dan tinggal dirubah posisi titik koordinatnya agar mendapatkan hasil yang di inginkan.

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);
}
Dalam program utama (int main) yang memiliki nilai kosong terdapat penginisialisasi variable yaitu jika mRunning bernilai TRUE berarti aplikasi masih berjalan. Jika FALSE berarti aplikasi berhenti atau keluar. Dan untuk nilai variable GLuint Mrunning adalah nilai dari GL_TRUE. Lalu inisialisasi GLFW yaitu pengkondisian dimana jika glfwInit bernilai FALSE maka tampilkan MessageBox seperti tulisan di atas bahwa program gagal menginisialisasi GLFW. Lalu dikembalikan lagi nilainya.
//
// Set judul yang ada di window dan Swap interval.
glfwSetWindowTitle( "Rubik Cube" );
glfwSwapInterval( 2 );
//
// mulai OpenGL (melakukan setting awal OpenGL)
mulaiOpenGL();
// mulai looping utama program
// membuat koordinat kubus
while( mRunning )
{
pada bagian ini menjelaskan tentang judul yang ada pada window dan interval ketika kubus berputar.untuk melakukan perputaran sebelumnya mendeklarasikan variabelnya terlebih dahulu, disini menggunakan variabel i dengan tipe integer.lalu program utama dimulai dengan looping.

//
// bersihkan layar dan depth buffer
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();
kemudian program akan membersihkan layar dan depth buffer dan untuk itu glClear menghimpun dua fungsi pembersihan dan memanggilnya secara bersama - sama.
//================================================== ===============
// 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();
setelah seluruh koding gambar ditempatkan di atas maka program akan memanggil fungsi glfwSwapBuffers yaitu sebuah fungsi untuk menampilkan hasil koding ke layar.
//
// check input , apakah tombol esc ditekan atau tombol "close" diclick
mRunning = !glfwGetKey( GLFW_KEY_ESC ) && glfwGetWindowParam( GLFW_OPENED );
}
glfwTerminate();
return(0);
}
untuk memanggil fungsi glfw dan mengembalikan nilai integer untuk variable – variable yang dipakai.
void mulaiOpenGL(void)
{
//
// Set viewport ke resolusi 640x480 viewport bisa diibaratkan
// layar monitor anda
glViewport( 0, 0, 640, 480 );
//
void ini adalah fungsi yang nantinya akan dipanggil saat program dieksekusi.
Baris pertamanya adalah pengaturan resolusi monitor computer yang sedang kita gunakan dengan skala 640 x 480 . ViewPort adalah nama variabel pengganti nama monitor kita.
// 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();
//
baris ini untuk mengatur mode OpenGL ke mode Proyeksi dan proyeksi yang kita pakai adalah proyeksi Perspective. Dimana sudut pandang yang kita pakai adalah 60 derajat dan resolusi 640 x 480.
// Set mode gradasi warna halus (Smooth)
glShadeModel( GL_SMOOTH );
//
baris ini untuk mengatur ketika user memasukkan gradasi warna halus.
// warna yang digunakan untuk membersihkan layar
glClearColor( 0.9f, 0.9f, 0.8f, 0.8f );
//
baris ini merupakan program untuk mengembalikan warna layar ke semula atau untuk membersihkan layar.
// nilai untuk membersihkan depth buffer.
glClearDepth( 1.0f );
//
sedangkan baris ini adalah nilai untuk membersihkan depth buffer.
// 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 );}