RESIDENT EVIL 6

Game ini Menceritakan Tentang Petualangan Aksi Tembak Yang Sanagat Seru, yang Membuat Game Ini Hidup Adalah Tokoh Wanita ADA SHERRY dan HELANA yang Terlihat Cantik di Game Ini

RESIDENT EVIL Revelation 2

Melanjutkan kesuksesan versi sebelumnya RE Revelation 2 ini lebih menegangkan, coba aja

TOMB RAIDER 2013 PLAY NOW

Tomb Raider Menceritakan Tentang Petualangan Seorag Gadis Pemberani Yang Menyusuri Hutan

Rise of the TOMB RAIDER

Tomb Raider Menceritakan Tentang Petualangan Seorag Gadis Pemberani Yang Menyusuri Hutan

NARUTO Ninja Storm Revolution

Setelah Mengalahkan Kabuto Naruto Hihadapkan Dengan Pertempuran Melawan Obito dan Madara, Ayo Jadilah Naruto

NARUTO Ninja Storm 4

Setelah berhasil mengalahkan madara dan obito naruto dan sasuke harus berjuang musuh yg lebih kuat lagi apakan itu...

BEETLEFIELD 4

Tembak Musuh Dengan Senjata yang Kau Suka dan Lewati Rintanagn yang Ada

CALL OF DUTY black ops 3

Nikmati Sensasi Perang Di Amerika yang Sangat Menyenangkan

Tom Clancy's The Division

Nikmati Sensasi Perang Di Amerika yang Sangat Menyenangkan

NEED FOR SPEED RIVAL

Mampukah Kamu Menjadi Pembalad Liar atau Menjadi Polisi

PES 2016

Game gengan grafic sangat mengesankan, Gerakan pamain dibuat seerti nyata

FIFA 2016

Game gengan grafic sangat mengesankan, Gerakan pamain dibuat seerti nyata

Senin, 28 Mei 2018

Caesar Cipher c++

#include <cstdlib>
#include <iostream>
#include <string.h>
#define maks 500

using namespace std;

class Enkripsi{
public:
Enkripsi();
void enkripsi();
void deskripsi();
void output();
private:
char chiper[maks];
int key;
char plain[maks];
};

Enkripsi::Enkripsi(){
cout<<"Masukkan kata : ";
cin.getline(chiper,sizeof(chiper));
cout<<"Masukkan key : ";
cin>>key;
cout<<endl;
}

void Enkripsi::enkripsi(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i]<<"("<<int(chiper[i])<<") ";
chiper[i] = (chiper[i]+key)%128;
}
}
void Enkripsi::deskripsi(){
for(int i=0;i<strlen(chiper);i+=1){
plain[i] = (chiper[i]-key)%128;
chiper[i] = plain[i];
}
}

void Enkripsi::output(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i];
}
}

int main(int argc, char *argv[]){

Enkripsi Deskripsi;
Deskripsi.enkripsi();
cout<<"\n\nSetelah diEnkripsi : ";
Deskripsi.output();
Deskripsi.deskripsi();
cout<<"\n\nKembali diDeskripsi : ";
Deskripsi.output();
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

Kamis, 10 Mei 2018

pertemuan 6

// kode dasar untuk semua praktikum grafika komputer
// adhi prahara. 2018

// deklarasikan semua header disini
#include <windows.h>
#include <glut.h>

// inisialisasi variabel untuk transformasi seperti translasi, rotasi atau scaling
float angle = 0.0f;     // sudut transformasi kamera
float posX = 0.0f, rotX =  0.0f; // posisi kamera di sumbu X
float posY = 0.0f, rotY =  0.0f; // posisi kamera di sumbu Y
float posZ = 5.0f, rotZ = -1.0f; // posisi kamera di sumbu Z

float objectAngleX = 0.0f;   // sudut tranformasi obyek di sumbu X
float objectAngleY = 0.0f;   // sudut tranformasi obyek di sumbu Y
float objectAngleZ = 0.0f;   // sudut tranformasi obyek di sumbu Z

// fungsi untuk menggambar kubus
void drawCube()
{
 glBegin(GL_QUADS);
 // beri warna merah di sisi depan
 glColor3f(1.0f, 0.0f, 0.0f);
 // buat sisi depan 
 glVertex3f(-1.0f, -1.0f, 1.0f);
 glVertex3f( 1.0f, -1.0f, 1.0f);
 glVertex3f( 1.0f,  1.0f, 1.0f);
 glVertex3f(-1.0f,  1.0f, 1.0f);
 // beri warna hijau di sisi belakang
 glColor3f(0.0f, 1.0f, 0.0f);
 // buat sisi belakang
 glVertex3f(-1.0f, -1.0f,-1.0f);
 glVertex3f( 1.0f, -1.0f,-1.0f);
 glVertex3f( 1.0f,  1.0f,-1.0f);
 glVertex3f(-1.0f,  1.0f,-1.0f);
 // beri warna biru di sisi kiri
 glColor3f(0.0f, 0.0f, 1.0f);
 // buat sisi kiri
 glVertex3f(-1.0f, -1.0f, 1.0f);
 glVertex3f(-1.0f, -1.0f,-1.0f);
 glVertex3f(-1.0f,  1.0f,-1.0f);
 glVertex3f(-1.0f,  1.0f, 1.0f);
 // beri warna cyan di sisi kanan
 glColor3f(0.0f, 1.0f, 1.0f);
 // buat sisi kanan
 glVertex3f( 1.0f, -1.0f, 1.0f);
 glVertex3f( 1.0f, -1.0f,-1.0f);
 glVertex3f( 1.0f,  1.0f,-1.0f);
 glVertex3f( 1.0f,  1.0f, 1.0f);
 // beri warna kuning di sisi atas
 glColor3f(1.0f, 1.0f, 0.0f);
 // buat sisi atas
 glVertex3f(-1.0f,  1.0f, 1.0f);
 glVertex3f( 1.0f,  1.0f, 1.0f);
 glVertex3f( 1.0f,  1.0f,-1.0f);
 glVertex3f(-1.0f,  1.0f,-1.0f);
 // beri warna magenta di sisi bawah
 glColor3f(1.0f, 0.0f, 1.0f);
 // buat sisi bawah
 glVertex3f(-1.0f, -1.0f, 1.0f);
 glVertex3f( 1.0f, -1.0f, 1.0f);
 glVertex3f( 1.0f, -1.0f,-1.0f);
 glVertex3f(-1.0f, -1.0f,-1.0f);
 glEnd();
}

// fungsi untuk menggambar silinder
void drawCylinder(float radius, float height, int slices, int stacks)
{
 glPushMatrix();

 GLUquadricObj* cyl = gluNewQuadric();
 gluQuadricDrawStyle(cyl, GLU_FILL);
 gluQuadricNormals(cyl, GLU_SMOOTH);
 gluQuadricOrientation(cyl, GLU_INSIDE);

 // buat tutup atas silinder
 glTranslatef(0.0f, -height/2, 0.0f);
 glRotatef(-90, 1.0f, 0.0f, 0.0f);
 glColor3f(1.0f, 1.0f, 0.0f); // warna kuning
 gluDisk(cyl, 0.0f, radius, slices, stacks);
 // buat badan silinder
 glColor3f(1.0f, 0.0f, 0.0f); // warna merah
 gluCylinder(cyl, radius, radius, height, slices, stacks);
 // buat tutup bawah silinder
 glColor3f(1.0f, 1.0f, 0.0f); // warna kuning
 glTranslatef(0.0f, 0.0f, 1.0f);
 gluDisk(cyl, 0.0f, 0.0f, slices, stacks);

 glPopMatrix();
}

// fungsi untuk menggambar bola
void drawSphere(float radius, int slices, int stacks)
{
 glPushMatrix();

 glColor3f(1.0f, 0.0f, 0.0f); // warna merah
 GLUquadric *sphere = gluNewQuadric();
 gluQuadricDrawStyle(sphere, GLU_FILL);
 gluQuadricNormals(sphere, GLU_SMOOTH);
 gluSphere(sphere, radius, slices, stacks);

 glPopMatrix();
}

// fungsi untuk menggambar obyek kubus
void drawObject()
{
 // obyek bisa dimasukkan diantara glPushMatrix() dan glPopMatrix() 
 // fungsinya agar obyek tidak terpengaruh atau mempengaruhi obyek lain
 // saat diwarnai, ditransformasi dan sebagainya
 glPushMatrix();

 // operasi transformasi rotasi obyek ke arah kanan-kiri
 glRotatef(objectAngleY, 0.0f, 1.0f, 0.0f);

 glPushMatrix();

 // operasi transformasi rotasi obyek ke arah atas-bawah
 glRotatef(objectAngleX, 1.0f, 0.0f, 0.0f);

 // set warna obyek ke warna hijau (0.0f, 1.0f, 0.0f)
 glColor3f(0.0f, 1.0f, 0.0f);

 // membuat obyek kubus
 drawCube();

 // membuat obyek silinder
 //drawCylinder(1.0f, 2.0f, 20, 20);

 // membuat obyek bola
 //drawSphere(1.0f, 50, 50);

 // membuat obyek polyhedron
 //glutSolidTetrahedron();
 //glutSolidOctahedron();
 //glutSolidDodecahedron();
 //glutSolidIcosahedron();
 //glutSolidCube(1.0f);
 //glutSolidCone(1.0f, 1.0f, 50, 50);
 //glutSolidSphere(1.0f, 50, 50);
 //glutSolidTeapot(1.0f);
 //glutSolidTorus(0.5f, 1.0f, 20, 20);

 glPopMatrix();

 glPopMatrix();
}

// taruh semua obyek yang akan digambar di fungsi display()
void display()
{
 // bersihkan dan reset layar dan buffer
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glLoadIdentity();

 // posisikan kamera pandang
 // dalam hal ini sumbu Y ada diatas dan posisi kamera pandang di (posX, posY, posZ)
 gluLookAt(posX, posY, posZ, posX + rotX, posY + rotY, posZ + rotZ, 0.0f, 1.0f, 0.0f);

 // panggil fungsi untuk menggambar obyek
 drawObject();
 
 // tampilkan obyek ke layar
 // gunakan glFlush() bila memakai single buffer
 // gunakan glutSwapBuffers() bila memakai double buffer
 glutSwapBuffers();
}

// inisialisasikan variabel, pencahayaan, tekstur dan pengaturan kamera pandang di fungsi init()
void init(void)
{
 // inisialisasi warna latar belakang layar dalam hal ini warna putih (1.0, 1.0, 1.0, 0.0)
 glClearColor(1.0, 1.0, 1.0, 0.0);
 glEnable(GL_DEPTH_TEST);    // mengaktifkan depth buffer
 glMatrixMode(GL_PROJECTION);  
 glLoadIdentity();
 gluPerspective(45.0, 1.0, 1.0, 100.0); // set proyeksi ke perspektif
 glMatrixMode(GL_MODELVIEW);    
 glLoadIdentity();      
 // inisialisasi kamera pandang
 gluLookAt(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
 // enable lighting
 glEnable(GL_LIGHTING);
 glEnable(GL_COLOR_MATERIAL);
 glEnable(GL_LIGHT0);
}

// fungsi ini digunakan bila layar akan diresize (default)
void reshape(int w, int h)
{
 glViewport(0, 0, (GLsizei)w, (GLsizei)h);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(45, (GLfloat)w / (GLfloat)h, 1.0, 100.0);
 glMatrixMode(GL_MODELVIEW);
}

// fungsi untuk mengatur masukan dari keyboard 
// untuk arah kiri, kanan, atas, bawah, PgUp, dan PgDn
void keyboard(int key, int x, int y)
{
 float fraction = 0.1f;

 switch (key) 
 {
 // masukkan perintah disini bila tombol kiri ditekan
 case GLUT_KEY_LEFT:
  // dalam hal ini perintah rotasi obyek ke kiri sebanyak 1 derajat 
  objectAngleY -= 1.0f;
  glutPostRedisplay(); // update obyek
  break;
 // masukkan perintah disini bila tombol kanan ditekan
 case GLUT_KEY_RIGHT:  
  // dalam hal ini perintah rotasi obyek ke kanan sebanyak 1 derajat 
  objectAngleY += 1.0f;
  glutPostRedisplay(); // update obyek
  break;
 // masukkan perintah disini bila tombol atas ditekan
 case GLUT_KEY_UP:  
  // dalam hal ini perintah rotasi obyek ke atas sebanyak 1 derajat 
  objectAngleX -= 1.0f;
  glutPostRedisplay(); // update obyek
  break;
 // masukkan perintah disini bila tombol bawah ditekan
 case GLUT_KEY_DOWN:  
  // dalam hal ini perintah rotasi obyek ke bawah sebanyak 1 derajat 
  objectAngleX += 1.0f;
  glutPostRedisplay(); // update obyek
  break;
 // zoom in
 case GLUT_KEY_PAGE_UP:
  // masukkan perintah disini bila tombol PgUp ditekan
  posX += rotX * fraction;  
  posZ += rotZ * fraction;
  glutPostRedisplay(); // update obyek
  break;
 // zoom out
 case GLUT_KEY_PAGE_DOWN:
  // masukkan perintah disini bila tombol PgDn ditekan
  posX -= rotX * fraction;
  posZ -= rotZ * fraction;
  glutPostRedisplay(); // update obyek
  break;
 }
}

// timer untuk animasi (gunakan bila perlu)
void timer(int value)
{
 glutPostRedisplay();
 glutTimerFunc(55, timer, 0);
}

// program utama
int main(int argc, char** argv)
{
 // inisialisasi jendela OpenGL
 // GLUT_SINGLE berarti memakai single buffer
 // GLUT_DOUBLE berarti memakai double buffer
 // GLUT_RGB berarti mode tampilan yang dipakai RGB
 // GLUT_RGBA berarti mode tampilan yang dipakai RGBA
 // GLUT_DEPTH berarti memakai depth buffer
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);

 // set ukuran jendela tampilan
 glutInitWindowSize(480, 480);  // besarnya jendela dalam piksel dalam hal ini 300x300
 glutInitWindowPosition(100, 100); // posisi jendela dilayar komputer dalam piksel
 // judul jendela (wajib diubah dengan informasi NAMA / NIM - JUDUL PRAKTIKUM masing-masing)
 glutCreateWindow("NAMA / NIM - KODE DASAR PRAKTIKUM GRAFIKA KOMPUTER");
 
 // panggil fungsi init untuk inisialisasi awal
 init();

 // event handler untuk display, reshape dan keyboard
 glutDisplayFunc(display);   // display
 glutReshapeFunc(reshape);   // reshape
 glutSpecialFunc(keyboard);  // keyboard
 //glutTimerFunc(0, timer, 0); // aktifkan timer bila perlu

 // looping
 glutMainLoop();

 return 0;
}

Kamis, 03 Mei 2018

glutSolidTeapot

// praktikum 5 grafika komputer : proyeksi 3D
// adhi prahara. 2018

// deklarasikan semua header disini
#include <windows.h>
#include <glut.h>

#define SCREEN_WIDTH 480
#define SCREEN_HEIGHT 480

float position[] = {0.0f,100.0f,100.0f,1.0f}; // posisi sumber cahaya utk orthogonal

// inisialisasi variabel untuk transformasi seperti translasi, rotasi atau scaling
float angle = 0.0f; // sudut transformasi kamera
float posX = 0.0f, rotX =  0.0f; // posisi kamera di sumbu X
float posY = 0.0f, rotY =  0.0f; // posisi kamera di sumbu Y
float posZ = 5.0f, rotZ = -1.0f; // posisi kamera di sumbu Z

float objectAngleX = 0.0f; // sudut tranformasi obyek di sumbu X
float objectAngleY = 0.0f; // sudut tranformasi obyek di sumbu Y
float objectAngleZ = 0.0f; // sudut tranformasi obyek di sumbu Z

// fungsi untuk menggambar obyek kubus
void drawObject()
{
// obyek bisa dimasukkan diantara glPushMatrix() dan glPopMatrix() 
// fungsinya agar obyek tidak terpengaruh atau mempengaruhi obyek lain
// saat diwarnai, ditransformasi dan sebagainya
glLightfv(GL_LIGHT0,GL_POSITION,position);

glPushMatrix();

// operasi transformasi rotasi obyek ke arah kanan-kiri
glRotatef(objectAngleY, 0.0f, 1.0f, 0.0f);

glPushMatrix();

// operasi transformasi rotasi obyek ke arah atas-bawah
glRotatef(objectAngleX, 1.0f, 0.0f, 0.0f);

glPushMatrix();

glColor3f(1.0f, 0.3f, 0.0f); // set warna obyek ke warna merah
glTranslatef(-100.0f,100.0f,-80.0f); // translate ke kiri-atas
glRotatef(-90.0f,0.0f,1.0f,0.0f); // tampilan depan teapot
glutSolidTeapot(50.0f); // gambar teapot 1

glPopMatrix();


glPushMatrix();

glColor3f(0.7f, 0.0f, 1.0f); // set warna obyek ke warna merah
glTranslatef(100.0f,100.0f,-80.0f); // translate ke kiri-atas
glRotatef(-270.0f,0.0f,1.0f,0.0f); // tampilan depan teapot
glutSolidTeapot(50.0f); // gambar teapot 2

glPopMatrix();


glPushMatrix();

glColor3f(0.0f, 1.0f, 1.0f); // set warna obyek ke warna merah
glTranslatef(100.0f,-100.0f,-80.0f); // translate ke kiri-atas
glRotatef(-40.0f,0.0f,1.0f,0.0f); // tampilan depan teapot
glutSolidTeapot(50.0f); // gambar teapot 3

glPopMatrix();

glPushMatrix();

glColor3f(1.0f, 1.0f, 1.0f); // set warna obyek ke warna merah
glTranslatef(-100.0f,-100.0f,-80.0f); // translate ke kiri-atas
glRotatef(-180.0f,0.0f,1.0f,0.0f); // tampilan depan teapot
glutSolidTeapot(50.0f); // gambar teapot 4

glPopMatrix();

glPopMatrix();

glPopMatrix();
}

// taruh semua obyek yang akan digambar di fungsi display()
void display()
{
// bersihkan dan reset layar dan buffer
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

// posisikan kamera pandang
// dalam hal ini sumbu Y ada diatas dan posisi kamera pandang di (posX, posY, posZ)
gluLookAt(posX, posY, posZ, posX + rotX, posY + rotY, posZ + rotZ, 0.0f, 1.0f, 0.0f);

// panggil fungsi untuk menggambar obyek
drawObject();

// tampilkan obyek ke layar
// gunakan glFlush() bila memakai single buffer
// gunakan glutSwapBuffers() bila memakai double buffer
glutSwapBuffers();
}

// inisialisasikan variabel, pencahayaan, tekstur dan pengaturan kamera pandang di fungsi init()
void init(void)
{
// inisialisasi warna latar belakang layar dalam hal ini warna putih (1.0, 1.0, 1.0, 0.0)
glClearColor(1.0, 1.0, 1.0, 0.0);
glEnable(GL_DEPTH_TEST); // mengaktifkan depth buffer
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
// set proyeksi ke perspektif
//gluPerspective(45.0, 1.0, 1.0, 100.0);
// set proyeksi ke orthogonal
glOrtho((GLfloat)-SCREEN_WIDTH / 2, (GLfloat)SCREEN_WIDTH / 2,
(GLfloat)-SCREEN_HEIGHT / 2, (GLfloat)SCREEN_HEIGHT / 2, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// inisialisasi kamera pandang
gluLookAt(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
// enable lighting
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHT0);
}

// fungsi ini digunakan bila layar akan diresize (default)
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
// set proyeksi ke perspektif
//gluPerspective(45, (GLfloat)w / (GLfloat)h, 1.0, 100.0);
// set proyeksi ke orthogonal
glOrtho((GLfloat)-w / 2, (GLfloat)w / 2, (GLfloat)-h / 2, (GLfloat)h / 2, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}

// fungsi untuk mengatur masukan dari keyboard 
// untuk arah kiri, kanan, atas, bawah, PgUp, dan PgDn
void keyboard(int key, int x, int y)
{
float fraction = 0.1f;

switch (key) 
{
// masukkan perintah disini bila tombol kiri ditekan
case GLUT_KEY_LEFT:
// dalam hal ini perintah rotasi obyek ke kiri sebanyak 1 derajat 
objectAngleY -= 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol kanan ditekan
case GLUT_KEY_RIGHT:
// dalam hal ini perintah rotasi obyek ke kanan sebanyak 1 derajat 
objectAngleY += 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol atas ditekan
case GLUT_KEY_UP:
// dalam hal ini perintah rotasi obyek ke atas sebanyak 1 derajat 
objectAngleX -= 1.0f;
glutPostRedisplay(); // update obyek
break;
// masukkan perintah disini bila tombol bawah ditekan
case GLUT_KEY_DOWN:
// dalam hal ini perintah rotasi obyek ke bawah sebanyak 1 derajat 
objectAngleX += 1.0f;
glutPostRedisplay(); // update obyek
break;
// zoom in
case GLUT_KEY_PAGE_UP:
// masukkan perintah disini bila tombol PgUp ditekan
posX += rotX * fraction;
posZ += rotZ * fraction;
glutPostRedisplay(); // update obyek
break;
// zoom out
case GLUT_KEY_PAGE_DOWN:
// masukkan perintah disini bila tombol PgDn ditekan
posX -= rotX * fraction;
posZ -= rotZ * fraction;
glutPostRedisplay(); // update obyek
break;
}
}

// timer untuk animasi (gunakan bila perlu)
void timer(int value)
{
glutPostRedisplay();
glutTimerFunc(55, timer, 0);
}

// program utama
int main(int argc, char** argv)
{
// inisialisasi jendela OpenGL
// GLUT_SINGLE berarti memakai single buffer
// GLUT_DOUBLE berarti memakai double buffer
// GLUT_RGB berarti mode tampilan yang dipakai RGB
// GLUT_RGBA berarti mode tampilan yang dipakai RGBA
// GLUT_DEPTH berarti memakai depth buffer
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);

// set ukuran jendela tampilan
glutInitWindowSize(480, 480); // besarnya jendela dalam piksel dalam hal ini 300x300
glutInitWindowPosition(100, 100); // posisi jendela dilayar komputer dalam piksel
// judul jendela (wajib diubah dengan informasi NAMA / NIM - JUDUL PRAKTIKUM masing-masing)
glutCreateWindow("NAMA / NIM - KODE DASAR PRAKTIKUM GRAFIKA KOMPUTER");

// panggil fungsi init untuk inisialisasi awal
init();

// event handler untuk display, reshape dan keyboard
glutDisplayFunc(display);   // display
glutReshapeFunc(reshape);   // reshape
glutSpecialFunc(keyboard);  // keyboard
//glutTimerFunc(0, timer, 0); // aktifkan timer bila perlu

// looping
glutMainLoop();

return 0;
}