er

Berbagai Tutorial dan Info Menarik

Belajar, Berjuang, dan Bertaqwa

Tuesday, 14 March 2017

Toko online dengan integrasi raja ongkir

Bagi anda yang mempunyai usaha pertokoan, dan ingin memperluas jangkauan pasar. Silahkan merapat ke kami.

bakoelgadget
Kami menawarkan jasa pembuatan toko online yang sudah terintegrasi dengan raja ongkir. Apa itu raja ongkir ?
“RajaOngkir merupakan sebuah situs dan web service (API) yang menyediakan informasi ongkos kirim dari berbagai kurir di Indonesia seperti POS Indonesia, JNE, TIKI, PCP, ESL, dan RPX. Secara umum, RajaOngkir ditujukan kepada pengguna yang ingin mengetahui dan membandingkan ongkos kirim dari berbagai kurir dan secara khusus bagi pemilik toko online, maupun bagi orang yang sering berbelanja online.
Keunikan dari sistem RajaOngkir adalah data yang terpadu. Anda cukup sekali saja menginputkan nama kota asal, kota tujuan, dan berat, sistem RajaOngkir otomatis melakukan pengecekan ke semua kurir yang didukung. RajaOngkir menghemat waktu dan tenaga Anda!”
Kami juga melengkapi toko online dengan notifikasi via email, login  sosial media, live chatting zandesk dan share sosial media.
Toko online dibuat dengan framework laravel dan CSS bootstrap.
Untuk demo bisa kunjungi situs www.bakoelgadget.com
Terima kasih

Wednesday, 22 February 2017

Tour & Travel Friend & Backpacker's

Alasan Sering Piknik Bisa Bikin Panjang Umur:
http://www.cnnindonesia.com/…/alasan-sering-piknik-bisa-bi…/


Hari gini masih pusing kerja? Refreshing dulu bro. manjakan mata dengan piknik akan menjadikan Anda lebih fresh :D


Yuk Wisata bersama kami:
Friend & Backpacker's

Melayani:
- Paket Umroh & Haji Plus.
- Paket Ziarah, Study Tour & Wisata.
- Paket Backpackers Dalam & Luar Negeri.
- Jasa Pindahan kos, Rumah & Angkut Barang, dll.
- Sewa Mobil Plus Sopir, Elf, Hiace & Bus Pariwisata.
- Jasa Supir yang Berpengalaman Dalam & Luar Kota.

"The best coice to travel"

Office 1: Melati Lor GG. Jayan RT. 03/01 Kota Kudus
Office 2: Jl. Silandak Tengah RT. 12/13 Pasadena Ngalian, Semarang
Office 3: DK. Posong RT. 05/05 Desa Pangkah, Kec. Pangkah. Kab. Tegal


Harga Bersaing & Siap Antar Jemput
CP: 085713683380




Thursday, 25 June 2015

Elerning Kimia (CSS [Chemistry Study System])

CSS (Chemistry Study System) adalah e-learning yang dibangun dalam upaya meningkatkan aspek kognitif siswa dalam mata pelajaran kimia tingkat SMA. CSS dibangun dengan konten e-learning yang mengembangkan berbagai variasi menu dengan mengedepankan interaksi pengguna (baik siswa dan guru) yang lebih tinggi, seperti halnya menu materi, ujian, latihan soal, simulasi, tugas, nilai, dan forum diskusi. Dengan menu-menu tersebut siswa dapat tertarik dan aktif dalam pembelajaran. Dalam menu forum diskusi pengguna bisa melakukan komunikasi sesama pengguna (siswa) maupun dengan admin dan gurunya dalam suatu topik yang diangkat dalam forum.
Dalam sistem CSS ini terdapat 3 (tiga) hak akses untuk log in yaitu Admin, Guru, dan Siswa. untuk demo sistem ini gunakan Username dan Password untuk :
1. Admin :
Username : admin 
Password : admin
2. Guru :
Username : anggy
Password : anggy123
3. Siswa :
Username : imam
Password : imam123

Berikut tampilan dari E-Learning:

Tampilan Home Awal


Tampilan Home Admin


Tampilan Home Guru


Tampilan Home Siswa


Tampilan Input Soal Ujian


Tampilan Soal Ujian Pilihan Ganda

Lihat Demo Klik Disini

Minat Source Code
Hub : /085713683380/089635002203
Pin   : 75e43690



Friday, 12 June 2015

Source Code Elearning Biologi Berbasis PHP MySQL

Source Code Elearning Biologi - Selamat pagi teman-teman semuanya, berjumpa kembali di catatan kecil saya ini. Keminclong menghadirkan sebuah aplikasi menarik bagi kalian yang ada dalam bidang dunia pendidikan. Kali ini, Keminclong menyajikan sebuah Elearning dengan matapelajaran Biologi. Saya namakan Bio-Learning. Tahukan apa itu elearning? ya, elearning adalah sebuah metode pengajaran berbasis internet yang digunakan dengan tujuan membantu guru maupun siswa dalam proses belajar mengajar. Elearning ini mempunyai beberapa fitur menarik untuk Anda. Simak baik-baik Source Code Elearning Biologi ya.


Gambar di atas adalah tampilan dashboard atau tampilan utama dari Bio-Learning. cukup simpel, hal ini agar memudahkan user atau istilah lainnya yaitu userfriendly.

Nah, Elearning Biologi ini terdapat 3 hak akses, yaitu hak akses sebagai admin, lalu sebagai guru, dan hak akses sebagai siswa. masing-masing tentunya mempunyai menu yang berbeda-beda. gambar di atas merupakan contoh tampilan menu dari hak akses sebagai guru, dimana guru bisa membuat soal latihan dan soal ujian, serta bisa menginput materi.

Guru juga bisa menginput nilai kepada siswa, dan juga guru bisa melihat hasil nilai ujian yang telah dikerjakan oleh siswa. Ada juga menu kiriman tugas, isinya yaitu kiriman tugas berupa file upload, jadi guru tinggal mendownloadnya saja, dan yang terakhir yaitu guru bisa menginput forum diskusi. jadi antara siswa dan guru bisa saling bertukar pikiran melalui forum diskusi.



gambar di atas adalah halaman login, terdapat 3 hak akses seperti yang saya jelaskan di atas, yaitu login sebagai admin, guru, dan siswa. Berikut akan saya tampilkan beberapa tampilan dari Bio-Learning dengan PHP MySQL untuk Anda. Simak:
Upload Tugas

Latihan Soal

Materi


Soal Ujian

Input Diskusi

Forum Diskusi

Bagi teman-teman yang berminat dengan Source Code Elearning Biologi Berbasis PHP MySQL bisa email ke saya : asifqolbi@gmail.com/085713683380

Berapapun donasi* yang Sobat kirim, Source akan saya berikan :D

(minimal 200k :D)

Thursday, 11 June 2015

Aplikasi Elearning Geografi

E-learning merupakan singkatan dari Elektronic Learning, merupakan cara baru dalam proses belajar mengajar yang menggunakan media elektronik khususnya internet sebagai sistem pembelajarannya Goegrafi.

Tampilan Elearning







Bagi yang Berminat bisa hub.  085740701401

Saturday, 31 January 2015

Rumah Sederhana 3D

Dengan menggunakan aplikasi Sweet Home 3d. saya membuat model replika rumah sendiri. dan hasilnya cukup bagus dengan menggunakan aplikasi tersebut yang menurut saya, sangat mudah digunakan khususnya bagi perancang bangunan rumah seperti arsitek. hehe



Rumah 3D OpenGL

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<GL/glut.h>

void renderScene(void){
 glPointSize(2);
 glClear(GL_COLOR_BUFFER_BIT);

 // rgb(108, 51, 18)
 glColor3f (108.0/255.0, 51.0/255., 18.0/255.);
 glBegin(GL_TRIANGLES);
 glVertex2f (-0.9, 0.0);
 glVertex2f (-0.5, 0.5);
 glVertex2f (-0.25, 0.0);
 glEnd();

 // rgb(200, 195, 145)
 glColor3f (200.0/255.0, 195.0/255., 145.0/255.);
 glBegin(GL_POLYGON);
 glVertex2f (-0.9, -0.4);
 glVertex2f (-0.9, 0.0);
 glVertex2f (-0.25, 0.0);
 glVertex2f (-0.25, -0.4);
 glEnd();

 // rgb(220, 215, 160)
 glColor3f (220.0/255.0, 215.0/255., 160.0/255.);
 glBegin(GL_POLYGON);
 glVertex2f (-0.25, 0.0);
 glVertex2f (-0.25, -0.4);
 glVertex2f (0.8, -0.1);
 glVertex2f (0.8, 0.25);
 glEnd();
// ATAP
 //rgb(134, 64, 22)
 glColor3f (134.0/255.0, 64.0/255., 22.0/255.);
 glBegin(GL_POLYGON);
 glVertex2f (-0.5, 0.5);
 glVertex2f (-0.25, 0.0);
 glVertex2f (0.8, 0.25);
 glVertex2f (0.35, 0.65);
 glEnd();

 // rgb(142, 85, 44)
 glColor3f (142.0/255.0, 85.0/255., 44.0/255.);
 glBegin(GL_POLYGON);
 glVertex2f (0.07, 0.0);
 glVertex2f (0.25, 0.05);
 glVertex2f (0.25, -0.25);
 glVertex2f (0.07, -0.3);
 glEnd();

 glFlush();
}
void kunci(unsigned char key, int x, int y) {
 switch (key)
 {
 case 27 :
     case 'q':
 exit(0);
 break;
 }
 glutPostRedisplay();
}
int main(int argc, char *argv[])
{
 glutInit(&argc, argv);
 glutInitWindowSize(640,480);
 glutInitWindowPosition(100,100);
 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
 glutCreateWindow("Primitive Object");
 glutDisplayFunc(renderScene);
 glutKeyboardFunc(kunci);
 glutMainLoop();
 return 0;
}

Screenshot :

Primitve Object 3D OpenGL

#include <Windows.h>
#include <iostream>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <gl\glut.h>
#include <math.h>
void renderScene(void){

 glClear(GL_COLOR_BUFFER_BIT);

 // Draw a white torus of outer radius 3, inner radius 0.5 with 15 stacks
 // and 30 slices.
 glColor3f(1.0, 1.0, 1.0);
 //glutWireTorus(0.5, 3, 15, 30);
 glutWireCube(1.3);

 // Draw a red x-axis, a green y-axis, and a blue z-axis. Each of the
 // axes are ten units long.
 glBegin(GL_LINES);
 glColor3f(1, 0, 0); glVertex3f(0, 0, 0); glVertex3f(10, 0, 0);
 glColor3f(0, 1, 0); glVertex3f(0, 0, 0); glVertex3f(0, 10, 0);
 glColor3f(0, 0, 1); glVertex3f(0, 0, 0); glVertex3f(0, 0, 10);
 glEnd();

 glFlush();
}
void kunci(unsigned char key, int x, int y) {
 switch (key)
 {
 case 27 :
 case 'q':
 exit(0);
 break;
 }
 glutPostRedisplay();
}
void init() {

 // Set the current clear color to black and the current drawing color to
 // white.
 glClearColor(0.0, 0.0, 0.0, 1.0);
 glColor3f(1.0, 1.0, 1.0);

 // Set the camera lens to have a 60 degree (vertical) field of view, an
 // aspect ratio of 4/3, and have everything closer than 1 unit to the
 // camera and greater than 40 units distant clipped away.
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(60.0, 4.0/3.0, 1, 40);

 // Position camera at (4, 6, 5) looking at (0, 0, 0) with the vector
 // <0, 1, 0> pointing upward.
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 gluLookAt(4, 6, 5, 0, 0, 0, 0, 1, 0);
}

int main(int argc, char *argv[])
{
 glutInit(&argc, argv);
 glutInitWindowSize(800,600);
 glutInitWindowPosition(100,100);
 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
 glutCreateWindow("Primitive Object");
 glutDisplayFunc(renderScene);
 glutKeyboardFunc(kunci);
 init();
 glutMainLoop();
 return 0;
}

Screenshot :


Saturday, 13 December 2014

Gambar Kos 3D dengan Opengl



Source Code :

#include <stdlib.h> // standard definitions
#include <math.h> // math definitions
#include <stdio.h> // standard I/O
#include <iostream>

// include files are in a slightly different location for MacOS
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

..............................
Download source code lengkap Di Sini


Hasil :





Keterangan :
Untuk masalah gambar, gunakan gambar dengan format BMP. Letakkan gambar di folder yang sama dengan letak penyimpanan file codeblock tersebut.

Perhatikan juga hal ini :

Untuk melihat dari berbagai sudut kamar, ganti gluLookAt, berikut script-nya :
gluLookAt(1.0, 0.8,  3.3,    1.0, 0.8,  1.0,    0, 1, 0);

gluLookAt(0.7, 5.2,  1.2,    0.7, 0.0,  1.2,    0, 0, 1);

gluLookAt(0.0, 0.95,  3.0,    1.5, 0.95,  1.0,    0, 1, 0);

gluLookAt(0.0, 0.95,  2.8,    1.0, 0.95,  1.0,    0, 1, 0);

Pilih salah satu saja.
Sekian. 
Regards.

Friday, 5 December 2014

Mantan Kepala Dinas Pariwisata Kabupaten Tegal Ditahan


Menurut Kepala Kejaksaan Negeri Slawi , Hj, Unaisi Hetty Nining,SH,MH mengatakan, mantan kepala Dinas Pariwisata dan kebudayaan Kabupaten Tegal, Dra. Indah Winarni ditahan dan dititipkan di Lapas kota Tegal. Sebelumnya, tersangka sudah menjalani serangkian pemeriksaan sehingga berkas tersangka dinyatakan P 21. “ Penahanan dilakukan setelah Satreskrim Polres Tegal melimpahkan berkas hasil penyidikan kasus dugaan korupsi proyek Road Race Cacaban yang sudah dinyatakan lengkap (P21). Tersangka dalam kapasitasnya sebagai pengguna anggaran,”
Baca Selengkapnya

Lumix Camera

Lumix Camera: Panasonic Lumix DMC-GF6. Comes with a 180-degree-tiltable LCD and enables unlimited artistic expression with a variety of creative filters, with new feature new self shot, perfect camera for you who like selfie. The Lumix DMC-GF6 compact mirror less digital camera delivers amazing image.



Find this cool stuff here: http://zocko.it/LHDh1

Coolpix S3500 Camera

Coolpix S3500 Camera: Nikon Coolpix S3500 Camera in orange.



Find this cool stuff here: http://zocko.it/LHDiF

Transparent Baby G Watch

Transparent Baby G Watch: Baby G BG 6900 7BDR by CASIO. Tough digital watches built Shock Proof, semi-transparent resin case and band with modern marine styles and it also stylish and cute, water resistant 200 m, EL backlight with afterglow.



Find this cool stuff here: http://zocko.it/LHDhq

Playstation 4 White

Playstation 4 White: Sony Ps 4 White 500gb. The PS4 is ready to rock your gaming world, immortalize your most epic moments and share at the press of a button, share it to witch, UStream, Facebook and Twitter. Are you ready for the new gaming experience ?



Find this cool stuff here: http://zocko.it/LHDfn

Oppo Joy Phone

Oppo Joy Phone: Oppo Joy R1001Phone 4gb. With the system of colorOS oppo joy has the new and smart function of gesture panel. And dont worry when you wearing a glove because this phone has a gloves mode, you can access your phone and touch it even when you wearing a gloves. Dual sim card.



Find this cool stuff here: http://zocko.it/LHDgN

Acer Iconia W511

Acer Iconia W511: Acer Iconia W511. More just than a tablet this smart device give you access to your data on any of your devices, over a new twist, gives benefits of a tablet with a touch, type, and view experience. This Acer Iconia is lightweight, the battery can keep up until 18 hours.



Find this cool stuff here: http://zocko.it/LHDfs

Black Strap Watch

Black Strap Watch: Men Leather Strap Watch by 24:01. Black watch with unique design, strap made of silicon and metal case, with a date and day feature, watch that can go formal or casual way, this watch will be your next favorite watch.





Find this cool stuff here: http://zocko.it/LHDe8

Wednesday, 3 December 2014

3D Sederhana Dengan OpenGL

Gambar 3D sederhana

Source Code :


#include <stdlib.h> // standard definitions
#include <math.h> // math definitions
#include <stdio.h> // standard I/O
#include <iostream>

// include files are in a slightly different location for MacOS
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

using namespace std;

GLuint texture[4];
GLint slices=16;
GLint stacks=16;
struct Image {
    unsigned long sizeX;
    unsigned long sizeY;
    char *data;
};
typedef struct Image Image;

static unsigned int getint(FILE *fp)
{
    int c, c1, c2, c3;

    // get 4 bytes
    c = getc(fp);
    c1 = getc(fp);
    c2 = getc(fp);
    c3 = getc(fp);

    return ((unsigned int) c) +
    (((unsigned int) c1) << 8) +
    (((unsigned int) c2) << 16) +
    (((unsigned int) c3) << 24);
}

static unsigned int getshort(FILE *fp)
{
    int c, c1;

    //get 2 bytes
    c = getc(fp);
    c1 = getc(fp);

    return ((unsigned int) c) + (((unsigned int) c1) << 8);
}

int ImageLoad(const char *filename, Image *image) {
    FILE *file;
    unsigned long size;                 // size of the image in bytes.
    unsigned long i;                    // standard counter.
    unsigned short int planes;          // number of planes in image (must be 1)
    unsigned short int bpp;             // number of bits per pixel (must be 24)
    char temp;                          // used to convert bgr to rgb color.

    // make sure the file is there.
    if ((file = fopen(filename, "rb"))==NULL) {
        printf("File Not Found : %s\n",filename);
        return 0;
    }

    // seek through the bmp header, up to the width/height:
    fseek(file, 18, SEEK_CUR);

    // No 100% errorchecking anymore!!!

    // read the width
    image->sizeX = getint (file);
    //printf("Width of %s: %lu\n", filename, image->sizeX);

    // read the height
    image->sizeY = getint (file);
    //printf("Height of %s: %lu\n", filename, image->sizeY);

    // calculate the size (assuming 24 bits or 3 bytes per pixel).
    size = image->sizeX * image->sizeY * 3;

    // read the planes
    planes = getshort(file);
    if (planes != 1) {
        printf("Planes from %s is not 1: %u\n", filename, planes);
        return 0;
    }

    // read the bpp
    bpp = getshort(file);
    if (bpp != 24) {
        printf("Bpp from %s is not 24: %u\n", filename, bpp);
        return 0;
    }

    // seek past the rest of the bitmap header.
    fseek(file, 24, SEEK_CUR);

    // read the data.
    image->data = (char *) malloc(size);
    if (image->data == NULL) {
        printf("Error allocating memory for color-corrected image data");
        return 0;
    }

    if ((i = fread(image->data, size, 1, file)) != 1) {
        printf("Error reading image data from %s.\n", filename);
        return 0;
    }

    for (i=0;i<size;i+=3) { // reverse all of the colors. (bgr -> rgb)
        temp = image->data[i];
        image->data[i] = image->data[i+2];
        image->data[i+2] = temp;
    }

    // we're done.
    return 1;
}
Image * loadTexture(const char *filename)
{
    Image *image1;
    // allocate space for texture
    image1 = (Image *) malloc(sizeof(Image));
    if (image1 == NULL) {
        printf("Error allocating space for image");
        exit(0);
    }
    if (!ImageLoad(filename, image1)) {
        exit(1);
    }
    return image1;
}

void setTexture(void)
{
    glClearColor(1., 0.0, 0.5, 0.0);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    Image *image1[4];

    image1[0] = loadTexture("worldmap.bmp");
    image1[1] = loadTexture("rivet_steel_1.bmp");
    image1[2] = loadTexture("test.bmp");
    image1[3] = loadTexture("black.bmp");

    glGenTextures(4, texture);
    for (int i=0; i<4; i++)
    {
        if(image1[0] == NULL)
        {
            printf("Image was not returned from loadTexture\n");
            exit(0);
        }
        glBindTexture(GL_TEXTURE_2D, texture[i]);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
        glTexImage2D(GL_TEXTURE_2D, 0, 3, image1[i]->sizeX, image1[i]->sizeY, 0,
                     GL_RGB, GL_UNSIGNED_BYTE, image1[i]->data);
        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
    }
    glEnable(GL_TEXTURE_2D);
    glShadeModel(GL_FLAT);
}

void setMaterial()
{
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);

    glColorMaterial ( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE ) ;
}

void setLighting()
{
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    // Create light components
    GLfloat ambientLight[] = { 0.5f, 0.5f, 0.5f, 1.0f };
    GLfloat diffuseLight[] = { 1.0f, 1.0f, 1.0f, 1.0f };
    GLfloat specularLight[] = { 1.0f, 1.0f, 1.0f, 1.0f };
    GLfloat position[] = { -2.5f, 2.0f, 3.0f, 1.0f };

    // Assign created components to GL_LIGHT0
    glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight);
    glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight);
    glLightfv(GL_LIGHT0, GL_POSITION, position);
}

void setCamera(){
    // setting proyeksi kamera
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(45.0, 3.0/3.0, 1, 40);

    // setting posisi kamera
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(2, 2, 2, 0, 0, 0, 0, 1, 0);
}

void drawBox(float x1,float y1,float z1, float x2, float y2, float z2)
{
    glPushMatrix();
    glBegin(GL_QUADS);
    //depan
    glTexCoord2f(0.0, 0.0);glVertex3f(x1,y1,z1);
    glTexCoord2f(1.0, 0.0);glVertex3f(x2,y1,z1);
    glTexCoord2f(1.0, 1.0);glVertex3f(x2,y2,z1);
    glTexCoord2f(0.0, 1.0);glVertex3f(x1,y2,z1);
    //atas
    glTexCoord2f(0.0, 0.0);glVertex3f(x1,y2,z1);
    glTexCoord2f(0.0, 1.0);glVertex3f(x2,y2,z1);
    glTexCoord2f(1.0, 1.0);glVertex3f(x2,y2,z2);
    glTexCoord2f(1.0, 0.0);glVertex3f(x1,y2,z2);
    //belakang
    glTexCoord2f(0.0, 0.0);glVertex3f(x1,y2,z2);
    glTexCoord2f(0.0, 1.0);glVertex3f(x2,y2,z2);
    glTexCoord2f(1.0, 1.0);glVertex3f(x2,y1,z2);
    glTexCoord2f(1.0, 0.0);glVertex3f(x1,y1,z2);
    //bawah
    glTexCoord2f(0.0, 0.0);glVertex3f(x1,y1,z2);
    glTexCoord2f(1.0, 0.0);glVertex3f(x2,y1,z2);
    glTexCoord2f(1.0, 1.0);glVertex3f(x2,y1,z1);
    glTexCoord2f(0.0, 1.0);glVertex3f(x1,y1,z1);
    //samping kiri
    glTexCoord2f(0.0, 0.0);glVertex3f(x1,y1,z1);
    glTexCoord2f(1.0, 0.0);glVertex3f(x1,y2,z1);
    glTexCoord2f(1.0, 1.0);glVertex3f(x1,y2,z2);
    glTexCoord2f(0.0, 1.0);glVertex3f(x1,y1,z2);
    //samping kanan
    glTexCoord2f(0.0, 0.0);glVertex3f(x2,y1,z1);
    glTexCoord2f(1.0, 0.0);glVertex3f(x2,y2,z1);
    glTexCoord2f(1.0, 1.0);glVertex3f(x2,y2,z2);
    glTexCoord2f(0.0, 1.0);glVertex3f(x2,y1,z2);
    glEnd();
    glPopMatrix();
}

void kunci(unsigned char key, int x, int y) {
    switch (key)
    {
        case 27 :
        case 'q':
            exit(0);
        break;
    }
    glutPostRedisplay();
}

void drawPC()
{
    glBindTexture(GL_TEXTURE_2D, texture[2]);
    drawBox(-0.5,0.0,0.5,0.5,0.7,0.45);

    glBindTexture(GL_TEXTURE_2D, texture[3]);
    drawBox(-0.55,-0.05,0.48,0.55,0.75,0.40);
    drawBox(-0.1,-0.1,0.48,0.1,-0.05,0.40);
    drawBox(-0.2,-0.15,0.6,0.2,-0.1,0.30);

       glBindTexture(GL_TEXTURE_2D, texture[2]);
    drawBox(-0.5,0.0,0.5,0.5,0.7,0.45);

    glBindTexture(GL_TEXTURE_2D, texture[3]);
    drawBox(0.55,-0.05,0.48,0.55,0.75,0.40);
    drawBox(0.1,-0.1,0.48,0.1,-0.05,0.40);
    drawBox(0.2,-0.15,0.6,0.2,-0.1,0.30);
}

void renderScene(void){
    glClearColor(1,1,1,0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glShadeModel(GL_SMOOTH);

    glPushMatrix();
    //glTranslatef(1.0,0.50,0.12);
    glScalef(0.5,0.5,0.5);
    drawPC();
    glPopMatrix();

    /*
    //CONTOH MENGGAMBAR SPHERE
    glEnable(GL_TEXTURE_GEN_S);
    glEnable(GL_TEXTURE_GEN_T);
    glBindTexture(GL_TEXTURE_2D, texture[0]);
    glutSolidSphere(0.5,50,50);
    glDisable(GL_TEXTURE_GEN_S);
    glDisable(GL_TEXTURE_GEN_T);
    */

    // Draw a red x-axis, a green y-axis, and a blue z-axis.
    glBegin(GL_LINES);
    glColor3f(1, 0, 0); glVertex3f(0, 0, 0); glVertex3f(10, 0, 0);
    glColor3f(0, 1, 0); glVertex3f(0, 0, 0); glVertex3f(0, 10, 0);
    glColor3f(0, 0, 1); glVertex3f(0, 0, 0); glVertex3f(0, 0, 10);
    glEnd();

    glutSwapBuffers();
}

void init(){
    //setMaterial();
    setTexture();
    setLighting();
    setCamera();
}


int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(100,100);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
    glutCreateWindow("Primitive Object");
    glutDisplayFunc(renderScene);
    glutKeyboardFunc(kunci);
    init();
    glutMainLoop();
    return 0;

}


Screenshot :


Monday, 24 November 2014

Bentuk Sederhana 3D dengan Opengl


Source Code :
#include <Windows.h>
#include <iostream>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <gl\glut.h>
#include <math.h>

void cube()
{
//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1
glPushMatrix();
glTranslated(0.7,0.7,0.7);//cube
glScaled(0.5,0.5,0.5);
glutSolidCube(1.0);
glPopMatrix();

glPushMatrix();
glTranslated(0.7,0.7,0.7);//cube
glScaled(0.7,0.2,0.7);
glutSolidCube(1.0);
glPopMatrix();

glPushMatrix();
glTranslated(0.7,0.9,0.7);//cube
glScaled(0.5,1.0,0.5);
glutSolidCube(1.0);
glPopMatrix();



// mobil
    glPushMatrix();
    glPushMatrix();                   // body
    glScalef(2,.5,1);
    glutSolidCube(.5);
    glPopMatrix();
    glTranslatef(0,0,.25);
    glPushMatrix();
    glTranslatef(-.4,-.2,0);
    glutSolidTorus(.05,.1,8,8);       // wheel
    glTranslatef(.8,0,0);
    glutSolidTorus(.05,.1,8,8);       // wheel
    glPopMatrix();
    glTranslatef(0,0,-.5);
    glPushMatrix();
    glTranslatef(-.4,-.2,0);
    glutSolidTorus(.05,.1,8,8);       // wheel
    glTranslatef(.8,0,0);
    glutSolidTorus(.05,.1,8,8);       // wheel
    glPopMatrix();
    glPopMatrix();

    glPopMatrix();

}


void setMaterial()
{
//set properties of surfaces material
GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan kombinasi warna tertentu
GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};
GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};
GLfloat mat_shininess[] = {50.0f};
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
}


void setLighting()
{
//set light sources
GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan
GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};
glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
}


void setViewport()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt = 1.0;//half height of the window
glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);
}


void setCamera()
{
//set the camera
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(9.3,2.3,5.0,0,0.25,0,0.0,3.0,0.0);
}


void displayObject()
{
setMaterial();
setLighting();
setViewport();
setCamera();
//startDrawing
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
cube();//memanggil fungsi menggambar kubus
glFlush();//mengirim smua objek untuk dirender
}


int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("3d grafkom");
glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus lighting material dan kamera
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glClearColor(1.0f,1.0f,1.0f,0.0f);
glViewport(0,0,640,480);
glutMainLoop();

}


Screenshot :

Gambar Kubus Sederhana 3D dengan Opengl


Source Code :
#include <Windows.h>
#include <iostream>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <gl\glut.h>
#include <math.h>

void cube()
{
//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1
glPushMatrix();
glTranslated(0.3,0.3,0.3);//cube
glScaled(0.4,0.4,0.4);
glutSolidCube(1.0);
glPopMatrix();
}
void setMaterial()
{
//set properties of surfaces material
GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan kombinasi warna tertentu
GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};
GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};
GLfloat mat_shininess[] = {50.0f};
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
}
void setLighting()
{
//set light sources
GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan
GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};
glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
}
void setViewport()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt = 1.0;//half height of the window
glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);
}
void setCamera()
{
//set the camera
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(9.3,2.3,5.0,0,0.25,0,0.0,3.0,0.0);
}

void displayObject()
{
setMaterial();
setLighting();
setViewport();
setCamera();
//startDrawing
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
cube();//memanggil fungsi menggambar kubus
glFlush();//mengirim smua objek untuk dirender
}


int main(int argc, char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow("3d grafkom");
glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus lighting material dan kamera
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glClearColor(1.0f,1.0f,1.0f,0.0f);
glViewport(0,0,640,480);
glutMainLoop();

}


Screenshot :