Kamis, 06 Oktober 2011

PERTEMUAN KE 2

OpenGL
OpeGL (Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah cross-bahasa, cross-platform API untuk menulis aplikasi yang menghasilkan komputer 2D dan 3D grafis. OpenGL didalam Komputer Grafik digunakan untuk mempermudah pekerjaan atau untuk keperluan - keperluan pemrograman grafis. OpenGL merupakan library grafis standard dan sama seperti DirectX. Tidak hanya itu, OpenGL ini free atau gratis, karena berbasis open.
OpenGL merupakan library yang bersifat Open Source, multi-platform dan multi-language dan merupakan API (Application Pipeline) tingkat rendah. Semua bahasa pemrograman mendukung OpenGL ini. OpenGL ini juga dapat beroperasi di dalam lingkungan windows, Unix, SGI, Linux, frreBSD, dan lain sebagainya.
GLUT
Era saat ini banyak dikembangkan pustaka baru yang tidak tersedia dalam OpenGL sendiri, misalnya GLUT. GLUT atau OpenGL Utility Toolkit adalah pustaka utilitas untuk program berbasis OpenGL yang melakukan I/O dengan sistem operasi. GLUT menyediakan fungsi untuk mendefinisikan jendela, kontrol jendela, dan masukan dari keyboard/mouse. GLUT juga menyediakan fungsi otomatis untuk menggambar berbagai objek yang kompleks.

#include <GL/glut.h>

void display()
{
      glClear(GL_COLOR_BUFFER_BIT);
      glBegin(GL_POLYGON);

      glClearColor(1.0,5.0,7.0,1.0);
      glColor3f(11.0,2.0,-8.0);
      glVertex3f(0.0 , 6.0 , 0.0);

      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(22.0,-3.0,0.0);
      glVertex3f(-6.0 , 0.0 , 0.0);
     
      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(33.0,0.0,0.0);
      glVertex3f(0.0 , -6.0 , 0.0);
     
      glClearColor(1.0,0.0,0.0,1.0);
      glColor3f(-1.0,0.0,12.0);
      glVertex3f(6.0 , 0.0 , 0.0);



      glEnd();
      glFlush();
}
void myinit()
{
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluOrtho2D(-10.0,10.0,-10.0,10.0);
      glMatrixMode(GL_MODELVIEW);
      glClearColor(0.0,0.0,0.0,1.0);
      glColor3f(0.0,0.0,0.0);
}

int main(int argc, char* argv[])
{
     
      glutInit(&argc,argv);
      glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
      glutInitWindowSize(500,500);
      glutInitWindowPosition(50,50);
      glutCreateWindow("eko_kurro");
      glutDisplayFunc(display);
      myinit();
      glutMainLoop();
     
      return 0;
}

Rabu, 28 September 2011

komgraf pertemuan ke 1

komputer grafik merupan bidang ilmu komputer yg berkaitan dengan manipulasi gambar visual dalam bentuk digital. Dalam pekerjaanaya mengunakan  mode grafik. mode grafik sendiri terdiri dari dua metode yaitu:

1. metode vektor
    metode vektom berdasarkan pada aljabr linier dan perhitungan matematis.Gambar yang dihasilkan tersebut memiliki karakteristik tidak terpengaruh oleh effect stretch, yang memiliki arti tidak mengalami penurunan kualitas (distorsi) saat gambar diperbesar, diperlebar, ataupun dipersempit. Akan tetapi, gambar tersebut tetap memiliki kualitas seperti aslinya.
2. metode rester
   metode rester berdasarkan pola piksel pada gambar.Bentuk dari suatu gambar raster berupa kumpulan titik - titik atau pixel yang menyerupai bentuk kurva dan jika dibesarkan maka titik atau pixel tersebut juga akan ikut membesar.

bidang-bidang yang mengunakan komputer grafik ;
1.  industri perfileman : pengunaan animasi animasi yang realistik (mendekati keaslian).
2.  same developer : komputer grafik digunakan dalam pembuatan game.
3.  bidang kedokteran : untuk melihat bayi dlm kandungan.
4.  science : digunakan dalam karya ilmiah.
5.  engineering developer : digunakan dalam membuat program.

Aplikasi – Aplikasi pendukung Komputer Grafik :
1. Simulators (Flight Driving)
2. Mechanical CAD (Computer Adied Design)
3. Architectural Visualization
4. Advertising
5. Computer Games
6. Special Effects
· Dapat digunakan dalam pembuatan film
· Dapat meringankan dalam hal pembiayaan
7. Computer Art
8. Scientcific Visualizations
9. Medical Imaging

Jumat, 17 Juni 2011

TUGAS PENDAHULUAN MODUL 6

  1. Bagaimana agar class dalam suatu package dapat digunakan?
  2. Mana yang lebih dahulu ditulis, kata kunci package atau import?
  3. Tanda separator apa yang digunakan untuk memisahkan antara nama package dengan nama class?
penjelasan :
  1. Package adalah cara mengelola class-class yang kita buat. Package mengelompokkan class-class sesuai dengan kategori tertentu. Class-class dalam suatu package harus disimpan pada directory yang sama dengan nama packagenya. Suatu class dapat mengimport class yang lain. Pada saat mengimport class dalam suatu package, pastikan letak package tersebut satu directory dengan class yang mengimportnya.
  2. Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) dari source code setiap kelas yang dibungkus package tersebut.
  3. Bentuk umum deklarasi package :
      package namaPackage;
Deklarasi tersebut akan memberitahukan kompilator, ke library manakah suatu kelas dikompilasi dan dirujuk.
Syarat nama package :
  • Diawali huruf kecil
  • Menggambarkan kelas-kelas yang dibungkusnya
  • Harus unik (berbeda dengan nama package standard)
  • Merepresentasikan path dari package tersebut.
  • Harus sama dengan nama direktorinya.

TUGAS PENDAHULUAN MODUL 5

  1. Apa yang dimaksud dengan abstract method?
  2. Apa yang dimaksud dengan overriding method?
  3. Apa yang dimaksud dengan instansiasi?
penjelasan:
1. Abstract method dalam interface dapat diimplementasikan dalam class dengan menggunakan kata kunci implements. Dalam java, satu class hanya dapat menjadi turunan dari satu class namun diperkenankan untuk dapat mengimplementasikan lebih dari satu interface.
 2. Overriding methode
Deklarasi method pada subclass harus sama dengan yang terdapat di super class. Kesamaan pada:
  • Nama
  • Return type
  • Daftar parameter (jumlah, tipe, dan urutan)\
3. Instance atau objek dapat dibentuk dengan memasangkan variabel bertipe class atau interface dengan referensi berupa pemanggilan constructor class. Casting dapat dilakukan untuk mengubah objek dari tipe superclass menjadi tipe subclass.

TUGAS AKHIR MODUL 4

class tingkatakses{
int a;
public int b;
private int c;
public void setc (int nilai){
c = nilai;
}
public int getc (){
return c;
}
}
class coba
{ public static void main (String[ ] args) {
tingkatakses obj = new tingkatakses();
obj.a =10;
obj.b =20;
obj.setc(30);
System.out.println (“nilai obj.a :” +obj.a );
System.out.println (“nilai obj.b :” +obj.b );
System.out.println (“nilai obj.c :” +obj.getc ());
}


IMPLEMENTASI MODUL 4

/*Disimpan dalam file “manusia.java”*/
class manusia
{
public String nama;
public manusia (String n)
{
this.nama = n;
}
public String tampilkanNama()
{
return nama;
}
protected void makan()
{
System.out.println(“Nyam… nyam… nyam…”);
}
public void kerja()
{
System.out.println(“Kerja… kerjaaa…”);
}
private void bunuhDiri()
{
System.out.println(“Dor!! bruk…”);
}
}
/*Disimpan dalam file “andi.java”*/
class andi
{
public static void main(String arg[])
{
manusia andi= new manusia(“Andi”);
System.out.println(“Nama= “+ andi.tampilkanNama());
andi.makan();
}
}

Kamis, 09 Juni 2011

TUGAS AKHIR

Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran !
jawab:
langkah 1
package lingkaran;

/**
 *
 * @author kurro
 */
class Lingkaran
{
    protected int r= 100;
    void info(){
            System.out.println("Jari- jari :" + r);
    }
}
langkah 2
package lingkaran;

/**
 *
 * @author kurro
 */
class Luas extends Lingkaran
{
    private int r;
    public double hasil()
    {
        r=super.r;
        return 3.14*r*r;
    }
}
langkah 3
package lingkaran;

/**
 *
 * @author kurro
 */
class Keliling extends Lingkaran
{
    private int r;
    public double hasil()
    {
        r=super.r;
        return 3.14*2*r;
    }
}
langkah ke 4
package lingkaran;

/**
 *
 * @author kurro
 */
public class hasilLingkaran{
    public static void main ( String[]args )
    {
        Lingkaran lingkaran= new Lingkaran();
        Luas luas = new Luas();
        Keliling kll=new Keliling();
        lingkaran.info();
        System.out.println("Luas Lingkaran :"+ luas.hasil());
        System.out.println("Keliling Lingkaran :"+ kll.hasil());
    }
}
hasil:

tugas pendahulaun modul 3

Tugas Pendahuluan:
1.  Apa yang perbedaan antara Induk Kelas dengan Kelas Turunan?
2.  Jelaskan keyword super dan extends dalam Pewarisan?

jawaban:


1. Inheritance (Pewarisan)
Inheritance/pewarisan adalah pewarisan data dan method dari suatu kelas kepada kelas yang lain, dengan kata lain membuat class baru yang masih mempunyai spesifikasi (state & behaviour) yang sama dengan class yang sudah ada.
- Class yang baru disebut class turunan/subclass sementara,class yang sudah ada disebut dengan class induk/superclass.
- Subclass (class turunan) akan memiliki (mewarisi) semua cirri dan sifat dari superClass ( class Induk )
- Pada kelas turunan dapat ditambahkan state dan berhaviour yang baru, yang merupakan spesifik milik subclass itu sendiri.
- Keyword yang digunakan dalam pewarisan ini adalah extends.
2.
Keyword extends
Digunakan untuk mengaplikasikan konsep pewarisan.keyword ini menyatakan bahwa suatu kelas merupakan perluasan dari kelas lain yang di jadikan basis (kelas induknya).
Class NamaSubClass extends NamaSuperClass
{
//data dan method
}
Keyword super
Di gunakan oleh suatu kelas anak untuk memnggil konstruktor atau method yang di miliki oleh kelas induk yang menjadi basisnya.
Memanggil konstruktor kelas super
Bentuk umum :
Super()
Super(parameter)

kegiatan prktikum modul 3

langkah 1
/**
 * @(#)rumah.java
 *
 *
 * @author
 * @version 1.00 2011/6/7
 */
class Rumah
{
private String a = " Rumahmewah ";
public void info()
{
//System.out.println (" Dipanggil pada = "+this);
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}
langkah 2
/**

 * @(#)rumahindah.java
 *
 *
 * @author
 * @version 1.00 2011/6/7
 */

class rumahindah extends Rumah
{
private String b = " tombol alarm ";
public void info()
{
System.out.println (" ");
super.info();
System.out.println (" rumahindah = "+b);
}
}
langkah 3
/**
 * @(#)tiperumah.java
 *
 *
 * @author
 * @version 1.00 2011/6/7
 */

public class tiperumah {

public static void main ( String[]args ) {

        rumahindah C = new rumahindah();
        C.info();
    }
}

hasil :

Jumat, 03 Juni 2011

tugas akhir modul 2

Membuat kelas hewan
/*Disimpan dalam file hewan.java*/
/*Kode Program untuk kelas hewan*/
class hewan {
     private String tipe;
     public hewan(String tipe){
           this.tipe = tipe;
    }
    public String toString(){
           return "Ini adalah "+tipe;
    }
     public void bersuara(){
     }
}

Membuat kelas Anjing, Ayam dan Kucing yang merupakan kelas turunan dari kelas hewan
/*Disimpan dalam file Anjing.java*/
/*Kode Program untuk kelas Anjing*/
class Anjing extends hewan{
    private String nama;
    private String jenis;
    public Anjing(String nama, String jenis){
     super("Anjing");
    this.nama=nama;
     this.jenis=jenis;
    
    }
    public void bersuara(){
     System.out.println("Guk.. Guk.. Guk.. ");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

/*Disimpan dalam file Ayam.java*/
/*Kode Program untuk kelas Ayam*/
class Ayam extends hewan{
    private String nama;
    private String jenis;
    public Ayam(String nama, String jenis){
     super("Ayam");
    this.nama=nama;
     this.jenis=jenis;
    }
    public void bersuara(){
     System.out.println("Kukuruyuk.. Petok.. Petok..");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

/*Disimpan dalam file Kucing.java*/
/*Kode Program untuk kelas Kucing*/
class Kucing extends hewan{
    private String nama;
    private String jenis;
    
    public Kucing(String nama){
     super("Kucing");
     this.nama=nama;
    }
    public Kucing(String nama, String jenis){
     super("Kucing");
     this.nama=nama;
     this.jenis=jenis;   
    }
    public void bersuara(){
     System.out.println("Meong.. Meong.. Meong.. ");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

Membuat kelas polimorfisme yang merupakan program utama dan sekaligus mengimplementasikan penggunaan metode polimorfisme

/*Disimpan dalam file polimorfisme.java*/
/*Kode Program untuk kelas polimorfisme*/
import java.util.Random;
class polimorfisme{
    public static void main(String args[]){
        hewan[] hewannya = {
            new Anjing("Broni", "Herder"),
            new Kucing("Kiti", "Persia"),
            new Ayam("Toki", "Buras")
        };
        hewan pilihHewan; 
        Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
            System.out.println("\nPilihan Anda:\n" + pilihHewan);
            pilihHewan.bersuara();
        }
    }
}

Hasil Running :

KEGIATAN PRAKTIKUM modul 2

kelas Student       
/*Disimpan dengan nama Student.java*/
/*Kode Program untuk kelas Student*/
class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
       m_ID = ID;
       m_Graduation = Grad;
       m_First = Fname;
       m_Last = Lname;
    }  
    public void Display(){
        System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }  
    private int m_ID, m_Graduation;  
    private String m_First;  
    private String m_Last;
}
 kelas StudentGrad yang merupakan kelas turunan dari kelas Student     
/*Disimpan dengan nama StudentGrad.java*/
/*Kode Program untuk kelas StudentGrad*/
class StudentGrad extends Student {
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major) {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
    }
    public void Display(){
        super.Display();
        System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
    }  
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}
kelas StudentInfo yang digunakan untuk memasukan agumen ke kedua metode pada masing-masing class Student dan StudentGrad   
/*Disimpan dengan nama StudentInfo.java*/
/*Kode Program untuk kelas StudentInfo*/
class StudentInfo {
     public static void main (String args[]) {
         StudentGrad myStudent = new StudentGrad();
         myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia University","CS");
         myStudent.Display();  
        }
}

Hasil Running:

IMPLEMENTASI modul 1

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mahasiswa;

/**
 *
 * @author kurro
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic herepublic class mahasiswa{

mhs aku = new mhs();

aku.nama="eko";

aku.npm="090411100083";

aku.belajar="Program";

aku.olahraga="sepak bola";

aku.makan="bakso";

aku.minum="Es campur";

aku.tampilkanNama();

aku.tampilkanNPM();

aku.tampilbelajar();

aku.tampilolahraga();

aku.tampilmakan();

aku.tampilminum();

mhs kamu = new mhs();

kamu.nama="kurro";

kamu.npm="090411100888";

kamu.belajar="makan";

kamu.olahraga="voli";

kamu.makan="mie ayam";

kamu.minum="Es degan";

kamu.tampilkanNama();

kamu.tampilkanNPM();

kamu.tampilbelajar();

kamu.tampilolahraga();

kamu.tampilmakan();

kamu.tampilminum();

mhs dia = new mhs();

dia.nama="fahmi";

dia.npm="090411100093";

dia.belajar="internet";

dia.olahraga="basket";

dia.makan="ayam Goreng";

dia.minum="soda";

dia.tampilkanNama();

dia.tampilkanNPM();

dia.tampilbelajar();

dia.tampilolahraga();

dia.tampilmakan();

dia.tampilminum();

}

}

class mhs{

String nama, npm, belajar, olahraga, makan, minum;

void tampilkanNama(){

System.out.println("Nama : "+nama);

}

void tampilkanNPM(){

System.out.println("NPM : "+npm);

}

void tampilbelajar(){

System.out.println("Belajar : "+belajar);

}

void tampilolahraga(){

System.out.println("Olahraga : "+olahraga);

}

void tampilmakan(){

System.out.println("Makan : "+makan);

}

void tampilminum(){

System.out.println("Minum : "+minum);

System.out.println();


    }

}

tugas pendahulaun modul 2

1.Keuntungan apa yang bisa didapat dengan Polymorphism?
jawab:
Kita bisa membuat kode program tanpa harus mengetahui persis apa yang akan dilakukan program saat kita menulis program tersebut
2.Bagaimana hubungan antar teknik overloading dengan Polymorphism?
jawab:

1. Keuntungan dari Polymorphisme adalah mampu untuk menangani beberapa deskripsi tugas yang berbeda dengan nama yang sama.
Konsep polimorfisme merupakan salah satu dari tiga konsep dasar OOP. Dengan hanya memakai satu nama untuk deskripsi tugas yang berbeda, tentunya akan memperingan beban programmer dalam membuat program.
menyediakan multiobject dari subclasses yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya.

2.Metode overloading adalah mendefinisikan metode yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama. Sedangkan polimorfisme merupakan kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila metode yang sama dipanggil, dimana aksi metode tergantung dari tipe objeknya dan signature metode harus sama baik pada superclass maupun subclass.

Jumat, 27 Mei 2011

tugas akhir

1. Membuat program dengan nama televOOP.java dengan spesifikasi sebagai berikut :
Class : Televisi
Object : Televisiku
Attribute
- Merek
- Tipe
- Ukuran
- Tombol volume
- Tombol Channel
Method
- Menyalakan TV
- Memindahkan Channel
- Membesarkan volume
- Mematikan Televisi
Hasil :
Merek Televisi : Samsung
Tipe Televisi : LCD TV
Ukuran Televisi : 52 inchi
Saat ini televisi sudah on.....
Channel berpindah
Volume bertambah besar.
Press any key to continue . . .

jawab:
public class televOOP{
public static void main(String[] args){
Televisi Televisiku=new Televisi();
Televisiku.merek="Samsung";
Televisiku.tipe="LCD TV";
Televisiku.ukuran="52 inchi";
Televisiku.power="on";
Televisiku.tmbl_volume=2;
Televisiku.tmbl_channel=5;
Televisiku.cetak();
Televisiku.nyala_tv();
Televisiku.pindahchannel();
Televisiku.tambahvolume();
Televisiku.matikan_tv();
}
}
class Televisi{
String merek, tipe, ukuran, power;
int tmbl_volume, tmbl_channel;
void cetak(){
System.out.println("Merek Televisi : "+merek);
System.out.println("Tipe Televisi : "+tipe);
System.out.println("Ukuran Televisi : "+ukuran);
}
void nyala_tv(){
if(power=="on"){
System.out.println("Saat ini televisi sudah on...");
}
}
void pindahchannel(){
if(tmbl_channel!=1){
System.out.println("Channel berpindah");
}
}
void tambahvolume(){
if(tmbl_volume>1){
System.out.println("Volume bertambah besar");
}
}
void matikan_tv(){
if(power=="off"){
System.out.println("Saat ini televisi sudah off...");
}
}
}

Hasil Running:

modul 1

tugas pendahuluan

public class motor{
    public static void main(String[] args){
        motor1 satu = new motor1();
        satu.nama="motor-1";
        satu.merk="Yamaha";
        satu.pemilik="Pak Darmawan";
        satu.cetakMotor();
        satu.nama="motor-2";
        satu.merk="Honda";
        satu.pemilik="Pak Nasiruddin";
        satu.cetakMotor();
    }
}
class motor1{
    String merk, pemilik, nama;
    void cetakMotor(){
        System.out.println("Object "+nama+" : ");
        System.out.println("Merk : "+merk);
        System.out.println("Pemilik : "+pemilik);
    }
}
HasilRunning


Selasa, 24 Mei 2011

cinta ???

mungkin byak orng mncenal kata cinta.
tapi tidak banyak orang mengerti arti cinta.
bagi aku cinta adalah sebuah kemauan untuk mengubah,ya mengubah,mengubah semua hal,,,
dari hal yang penting menjadi gak penti,,,dari hal yang indah menjadi tak indah,,,