Rabu, 06 April 2011

Grafika Prak 3

#include
#include
#include
#include
#include
#include

void display(void)
{
GLubyte fly[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60,
0x04, 0x06, 0x06, 0x20, 0x04, 0x30, 0xC0, 0x20,
0x04, 0x18, 0x18, 0x20, 0x04, 0x0C, 0x30, 0x20,
0x04, 0x06, 0x60, 0x20, 0x44, 0x03, 0xC0, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x66, 0x01, 0x80, 0x66, 0x33, 0x01, 0x80, 0xCC,
0x19, 0x81, 0x81, 0x98, 0x0C, 0xC1, 0x83, 0x30,
0x07, 0xe1, 0x87, 0xe0, 0x03, 0x3f, 0xfc, 0xc0,
0x03, 0x31, 0x8c, 0xc0, 0x03, 0x33, 0xcc, 0xc0,
0x06, 0x64, 0x26, 0x60, 0x0c, 0xcc, 0x33, 0x30,
0x18, 0xcc, 0x33, 0x18, 0x10, 0xc4, 0x23, 0x08,
0x10, 0x63, 0xC6, 0x08, 0x10, 0x30, 0x0c, 0x08,
0x10, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x08};
GLubyte halftone [] = {
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55};

glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);


glRectf (25.0, 25.0, 125.0, 125.0);
glEnable (GL_POLYGON_STIPPLE);
glPolygonStipple (fly);
glRectf (125.0, 25.0, 225.0, 125.0);
glPolygonStipple (halftone);
glRectf (225.0, 25.0, 325.0, 125.0);
glDisable (GL_POLYGON_STIPPLE);
glFlush ();
}

void init (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_FLAT);
}

void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluOrtho2D (0.0, (GLdouble) w, 0.0, (GLdouble) h);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (350, 150);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}


Senin, 06 Desember 2010

YOGYAKARTA / JOGJA - Your Hometown in Java

YOGYAKARTA / JOGJA - Your Hometown in Java

Minggu, 05 Desember 2010

#include
#define maks 5

using namespace std;

class Stack{
friend ostream& operator<<(ostream&, const Stack&);
public:
Stack();
int penuh(int s);
int kosong(int s);
void cetak();
void push(char);
char pop();
private:
char A[maks];
int banyak;
int s;
};

ostream& operator<<(ostream& out, const Stack& s)
{
cout<< "\nIsi Stack:";
for (int i=0; i out<< s.A[i]<<" ";
}

Stack::Stack(){
banyak=0;
for (int i=0; i A[i]='0';
}

int Stack::penuh(int s)
{
return s==maks ? 1:0; }

int Stack::kosong(int s)
{
return s==0?1:0; }

void Stack::cetak()
{
cout<< "\nIsi Stack :";
for (int i=0; i cout<< A[i]<<" "; }

void Stack::push(char x)
{
cout<< "\nElemen masuk :"< if (penuh(banyak))
cout<< "Stack penuh";
else if (A[0]=='0'){
A[0]=x;
banyak++; }
else{
for (int i=banyak; i>0; i--)
A[i+1]=A[i];
A[0]=x;
banyak++;}
}

char Stack::pop()
{
cout<< "\nPop stack, elemen yang di-pop :"<< A[0];
char temp=A[0];
for (int i=0; i A[banyak]='0';
banyak--;
return temp;
}

int main()
{
Stack stack;
for (char c='a'; c<'d'; c++){
stack.push(c);
stack.cetak();
}
char p=stack.pop();
stack.cetak();
cout<< "\n\nCetak pakai overloading :"<
system("pause");
return 0;
}

Senin, 20 September 2010

Resume Class for C++

Class mirip dengan array yaitu tipe turunan yang elemennya merupakan elemen dengan tipe yang lain. Tetapi tidak seperti array, elemen dari class dapat mempunyai tipe yang berbeda. Bahkan beberapa elemen dari class dapat berfungsi, termasuk operator.
Class digunakan untuk membuat objek. Class adalah template yang mendefinisikan bentuk suatu objek. Class menentukan baik kode dan data. C + + menggunakan spesifikasi v untuk membangun objek. Objek adalah contoh dari sebuah kelas. Jadi, sebuah Class pada dasarnya adalah seperangkat rencana yang menentukan bagaimana untuk membangun sebuah objek.
Deklarasi Class
Bentuk umum deklarasi kelas sederhana kelas-kelas adalah sebagai berikut :
Class Nilai {
public :
void isikan(int,int);
double pecahan( );
void cetak( );
private :
int bil, ang;
};

Deklarasi ini dimulai dengan kata kunci class diikuti dengan nama dari class tersebut dan diakhiri dengan titik koma, nama class ini adalah Nilai

Fungsi isikan( ), pecahan( ), cetak( ) adalah untuk memanggil function member (anggota fungsi) yang merupakan anggota dari class. Mirip dengan variable bil dan ang yang merupakan data member (anggota data). Function member disebut juga dengan methods dan services.

Dalam class ini seluruh function member ditandai sebagai public, dan seluruh data member ditandai sebagai private. Perbedaannya adalah public member dapat diakses diluar class, sementara private member hanya dapat diakses dari dalam class. Pencegahan akses dari luar ini disebut “information hiding”.

Dalam desain suatu aplikasi terdiri atas banyak class, dan masing-masing class tidak berdiri sendiri melainkan saling bergantung atau berhubungan satu sama lain. Salah satu contoh hubungan tersebut adalah hubungan antara satu class dengan satu atau lebih base class atau parent class. Jika class C mempunyai base class B, dikenal dengan inheritance, maka deklarasi class menjadi,
class C : public B {}; atau
class C : protected B {}; atau
class C : private B {};
akses terhadap anggota base class B dapat bersifat public, protected, maupun private, atau disebut dengan istilah public, protected atau private inheritance.
Sebuah class, seperti halnya class C mempunyai anggota berupa data maupun fungsi (member function). Isi class tersebut berada diantara tanda kurung { } dan dipilah-pilah sesuai dengan batasan akses yang ditentukan perancang (desainer) class tersebut.

Secara ringkas batasan akses (access specifiers) mempunyai arti seperti ditunjukkan pada table berikut ini,


Sebuah class dapat memberikan ijin untuk class lain mengakses bagian protected maupun private class tersebut melalui hubungan friendship (dinyatakan dengan keyword friend).

Contoh program mengunakan class :
Menghitung volume kubus
#include
#include
class v_kubus
{
private :
int hasil;
public :
void kubus (int s){
hasil = s*s*s;
cout << " Volume Kubus adalah " << hasil;
}
};
int main (){
int s;
cout << " :| Menghitung volume kubus |: "<cout << " Masukan sisi : ";cin >> s;
v_kubus x;
x.kubus(s);
getch();
return 0;
}

Hasil :



Mengoverload Stream Operator
C++ mengizinkan untuk mengoverload stream insertion operator (untuk menyesuaikan input) dan stream deletion operator (untuk menyesuaikan output). Seperti halnya arithmetic operators dan relational operators, perlu juga dideklarasikan sebagai friend functions.
Disini , ostream dan istream adalah suatu class standart yang didefinisikan dalam header file iostream.h. Catat bahwa semua parameter dan nilai kembalian dikirimkan secara nilai.
Untuk mencetak sintaks untuk mengoverload output operator bagi suatu class volume bola :
friend ostream& operator<<(ostream&, const volumbola&);

Untuk mencetak sintaks untuk mengoverload input operator bagi suatu class volume bola :
friend istream& operator>>(istream&, volumbola&);

Contoh program class(OOP) volume bola :
#include
#include
#include
#include
using namespace std;
class volumbola{
friend ostream& operator<<(ostream&, const volumbola&);
friend istream& operator>>(istream&, volumbola&);
public:
volumbola();
void hitung();
private:
int r;
float s,Pi;
float hasil;
};
volumbola::volumbola(){
cout<<" -|Menentukan Volume Bola|- \n";
}
void volumbola::hitung(){
s=1.33;
Pi=3.14;
hasil = s*Pi*r*r*r;
}
istream& operator>>(istream& in, volumbola& masukan){
cout<<" Masukan jari-jari : ";
in>>masukan.r;
return in;
}
ostream& operator<<(ostream& out, const volumbola& keluaran){
out<<" Volume Bola adalah "<return out;
}
int main(int argc, char *argv[])
{
volumbola x;
cin >> x;
x.hitung();
cout<< x;
getch();
system("PAUSE");
return EXIT_SUCCESS;
}

Hasil :



Inheritance
Inheritance adalah fitur yang memungkinkan satu kelas untuk mewarisi karakteristik lain. Menggunakan pewarisan, Anda dapat membuat kelas umum yang mendefinisikan ciri-ciri umum untuk satu set item terkait. Kelas ini kemudian dapat diwariskan oleh yang lain, kelas-kelas yang lebih spesifik.
Sebuah kelas yang mewarisi disebut kelas dasar. Kelas yang melakukan mewarisi disebut kelas turunan. Oleh karena itu, kelas turunan adalah versi khusus dari kelas dasar. Sebuah kelas turunan mewarisi semua anggota yang didefinisikan oleh kelas dasar dan menambahkan sendiri, elemen yang unik. C + + mengimplementasikan warisan dengan membiarkan satu kelas untuk menggabungkan kelas lain ke dalam deklarasi. Hal ini dilakukan dengan menentukan kelas dasar saat kelas turunan dinyatakan.
Contoh menurunkan class student dari class person :
Students adalah people, jadi dapat digunakan class people untuk mendapatkan class student.

# include “person.h”
Class student : public person {
public :
student (char* n, int s=0, char* i=” “) : person(n,s), id(i), credits(0) {}
void printDOM() {cout << dom;}

private :
string id;
date dom;
int credits;
float gpal
};



Referensi :
- Umar Rusydi, S.T.,M.T. 2009 , Diktat Pemrograman Bahasa C++, Program Studi Teknik Informatika Universitas Ahmad Dahlan, Yogyakarta.
- Copyright © IlmuKomputer.Com
- C++ A Beginner’s Guide by Herbert Schildt

Program Menentukan akar suatu bilangan

#include
#include
#include
#include
using namespace std;
class akar{
friend ostream& operator<<(ostream&, const akar&);
friend istream& operator>>(istream&, akar&);
public:
akar();
void hitung();
private:
int a;
float hasil;
};
akar::akar(){
cout<<" -|Menentukan Akar Suatu Bilangan|- \n";
}
void akar::hitung(){
hasil = sqrt(a);
}
istream& operator>>(istream& in, akar& masukan){
cout<<" Masukan bilangan : ";
in>>masukan.a;
return in;
}
ostream& operator<<(ostream& out, const akar& keluaran){
out<<" Akar dari "<return out;
}
int main(int argc, char *argv[])
{
akar x;
cin >> x;
x.hitung();
cout<< x;
getch();
system("PAUSE");
return EXIT_SUCCESS;
}

Jumat, 06 November 2009

Pengorbanan

Rabu, 07 Oktober 2009

d354in awal

awalnya cih coba2 buat desain2 gtu...ya hasilnya blom begitu bagus...ya buat semangat buat terus desain aj..heee
liat aj :

haaa :D