Subscribe to RSS Feed

Senin, 29 Oktober 2012

MEMBUAT TITIK-TITIK SEHINGGA MEMBENTUK GARIS VERTIKAL, HORIZONTAL, DIAGONAL DENGAN OPEN GL

OpenGL adalah suatu perangkat pembuat grafis standard yang digunakan untuk keperluan-keperluan pemrograman grafis. OpenGL bersifat opensource, multi-platform dan multi language. Saat ini semua bahasa pemrograman mendukung OpenGL. Dan OpenGL bisa bekerja dalam lingkungan Windows, Unix, SGI, Linux, freeBSD . Library dasar dari OpenGL adalah GLUT, dengan fasilitas yang bisa dikembangkan. Untuk OS Windows,library ini terdiri dari 3 files yaitu: 
Glut.h
Glut32.lib
Glut32.dll


1. Garis Vertikal
     Berikut adalah coding untuk membuat titik-titik secara vertikal

/* OpenGL animation code goes here */
glPushMatrix (); Digunakan untuk membuat baris kode menjadi tidak berlaku untuk bagian  luar.
glPointSize(3.0); Digunakan untuk Menentukan ukuran titik.
glBegin(GL_POINTS); Digunakan Untuk menggambar garis dari titik yang digunakan.
glVertex3f(0.0,0.9,0.0); Digunakan Untuk menentukan titik awal yang digunakan.
glVertex3f(0.0,0.1,0.0); Digunakan Untuk menentukan titik akhir yang digunakan.
glEnd ();  Digunakan Untuk mengakhiri gambar garis di titik akhir.
glPopMatrix (); Digunakan untuk Membuat baris kode menjadi tidak berlaku untuk bagian luar.
SwapBuffers (hDC); Digunakan Untuk mengantikan bagian belakang buffer menjadi buffer layar.
Sleep (1);
}
}
berikut adalah output yang dihasilkan:

Pembuatan garis vertical sama seperti sebelumnya lebih memahami masalah di line bagian “glvertex2f” disinilah dimana sebuah garis dibuat dengan koordinat yang kita tentukan. Setelah coding dibuat kita tinggal tekan F9 untuk compile dan run lalu jendela untuk open GL sample pun keluar dan menghasilkan sebuah garis berbentuk garis vertical. 



2. Garis Horizontal
     Berikut adalah coding untuk membuat titik-titik secara horizontal
 
/* OpenGL animation code goes here */
glClear (GL_COLOR_BUFFER_BIT); DIgunakan Untuk membersihkan layar latar belakang.
glPointSize(3.0);  Digunakan untuk Menentukan ukuran titik.
glPushMatrix (); Digunakan untuk Membuat baris kode menjadi tidak berlaku untuk bagian luar.
glBegin(GL_POINTS); Digunakan Untuk menggambar garis dari titik yang digunakan.
glVertex3f(0.9, 0.0, 0.0); Digunakan Untuk menentukan titik awal yang digunakan.
glVertex3f(
0.1, 0.0, 0.0); Digunakan Untuk menentukan titik akhir yang digunakan.
glEnd (); Digunakan Untuk mengakhiri gambar garis di titik akhir.
glPopMatrix (); Digunakan Membuat baris kode menjadi tidak berlaku untuk bagian luar.
SwapBuffers (hDC); DigunakanUntuk mengantikan bagian belakang buffer menjadi buffer layar.
Sleep (1);
}
}
Output Programnya adalah :
Pembuatan garis horizontal sama seperti sebelumnya lebih memahami masalah di line bagian “glvertex2f” disinilah dimana sebuah garis dibuat dengan koordinat yang kita tentukan. Setelah coding dibuat kita tinggal tekan F9 untuk compile dan run lalu jendela untuk open GL sample pun keluar dan menghasilkan sebuah garis berbentuk garis horizontal.
3. Garis Diagonal
     Berikut adalah coding untuk membuat titik-titik secara diagonal
/* OpenGL animation code goes here */
glClear (GL_COLOR_BUFFER_BIT); Digunakan Untuk membersihkan layar latar belakang.
glPointSize(3.0); Digunakan untuk Menentukan ukuran titik.
glPushMatrix (); Digunakan untuk Membuat baris kode menjadi tidak berlaku untuk bagian luar.
glBegin(GL_POINTS); Digunakan Untuk menggambar garis dari titik yang digunakan.
glVertex3f(0.9,0.9);
Digunakan Untuk menentukan titik awal yang digunakan.
glVertex3f(
0.8,0.0); Digunakan Untuk menentukan titik akhir yang digunakan.
glEnd (); Digunakan Untuk mengakhiri gambar garis di titik akhir.
glPopMatrix ();
Digunakan Membuat baris kode menjadi tidak berlaku untuk bagian luar.
SwapBuffers (hDC); Digunakan Untuk mengantikan bagian belakang buffer menjadi buffer layar.
Sleep (1);
}
}
Output Programnya adalah :

Pembuatan garis diagonal sama seperti sebelumnya lebih memahami masalah di line bagian “glvertex2f” disinilah dimana sebuah garis dibuat dengan koordinat yang kita tentukan. Setelah coding dibuat kita tinggal tekan F9 untuk compile dan run lalu jendela untuk open GL sample pun keluar dan menghasilkan sebuah garis berbentuk garis diagonal. 

Minggu, 28 Oktober 2012


Jumat, 08 Juni 2012

Tulisan 15: Membuat Form Pada J2ME

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Midlet01 extends MIDlet {
        private Display display;
        private Form form;

public Midlet01() {
form = new Form(“MIDLET 01″);
form.append(“Aplikasi Midlet Pertama\n”);
form.append(“Universitas Gunadarma”);
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(form);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
}




Class utama pada aplikasi midlet adalah class yang diturunkan dari class MIDlet yang terdapat pada paket javax.microedition.midlet . Ada tiga method yang harus di-override oleh subclass MIDlet, yaitu:
1. startApp: akan dipanggil pada saat aplikasi midlet dijalankan.
2. pauseApp: akan dipanggil pada saat aplikasi midlet di-pause.
3. destroyApp: akan dipanggil pada saat aplikasi midlet selesai.
Pada method startApp biasanya berisi pernyataan untuk memperoleh objek display dan mengeset objek apa yang akan ditampilkan pada display tersebut.
display = Display.getDisplay(this);

Kode di atas menciptakan objek display dengan memanggil method static pada class Display dengan argumen class ini sendiri (this).
Untuk menampilkan sebuah objek ke display digunakan method setCurrent() dengan argumen sebuah objek Displayable.
display.setCurrent(form);
Kode ini adalah perintah untuk menampilkan form ke dalam display. Display pada ponsel hanya dapat menampilkan sebuah objek Displayable saja dalam satu waktu.
Pada contoh aplikasi midlet pertama kita tadi, hanya menampilkan form kosong dengan judul “MIDLET 01”. Ke dalam form dapat ditambahkan objek-objek lain dengan menggunakan method append. Salah satu objek yang dapat ditambahkan adalah String. Ubahlah program Midlet01.java menjadi sebagai berikut:

Tulisan 14: Contoh Program TextBox J2ME

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class cthTextBox extends MIDlet implements CommandListener
{
Display display;
Alert txtpesan;
Command cmdExit;
Command cmdOk;
TextField txtnama;
TextField txtpass;
Form Form;

public cthTextBox() {}
public void startApp()
{
Form = new Form("UserLogin");
txtnama = new TextField("Nama","",50,TextField.ANY);
txtpass = new TextField("Password","",50,TextField.PASSWORD);
cmdExit=new Command("Exit", Command.EXIT,0);
cmdOk=new Command("Ok", Command.OK,0);
Form.addCommand(cmdExit);
Form.addCommand(cmdOk);
Form.append(txtnama);
Form.append(txtpass);
display=Display.getDisplay(this);
display.setCurrent(Form);
Form.setCommandListener(this);
}

public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d)
{
if(c==cmdExit)
{
destroyApp(false);
notifyDestroyed();
}
else if(c==cmdOk)
{
txtpesan=new Alert("Pesan");
txtpesan.setString("Data Telah Disimpan");
display.setCurrent(txtpesan);
}
}
}

Tulisan 13: Contoh Program Choice Group J2ME

mport javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;

public class cthChoiceGroup extends MIDlet implements CommandListener
{

private Display display;
private List list;
private Form form;
private ChoiceGroup menu;

private String[] daftarMenu = {
"Pilihan Pertama",
"Pilihan Kedua",
"Pilihan Ketiga",
"Pilihan Keempat",
};

private final Command cmdKeluar= new Command ("Keluar", Command.EXIT,1);
private final Command cmdOK= new Command ("OK", Command.OK,1);
private final Command cmdKembali= new Command ("Kelmbali", Command.BACK,1);

public cthChoiceGroup() {
display = Display.getDisplay(this);
form = new Form("Contoh ChoiceGroup");
form.addCommand(cmdKembali);
form.setCommandListener(this);
}

public void startApp() {
list = new List("Contoh ChoiceGroup", Choice.IMPLICIT);
list.append("Tipe EXCLUSIVE", null);
list.append("Tipe MULTIPLE", null);
list.append("Tipe POPUP", null);
list.addCommand(cmdKeluar);
list.addCommand(cmdOK);
list.setCommandListener(this);

display.setCurrent(list);
}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

public void commandAction (Command c, Displayable s){
if (c==cmdKeluar){
destroyApp(false);
notifyDestroyed();
} else if (c==cmdKembali){
display.setCurrent(list);
} else {
menu = null;
switch (list.getSelectedIndex()) {
case 0 : {
menu = new ChoiceGroup("Tipe EXCLUSIVE", Choice.EXCLUSIVE, daftarMenu, null);
break;
}
case 1 : {
menu = new ChoiceGroup("Tipe MULTIPLE", Choice.MULTIPLE, daftarMenu, null);
break;
}
case 2 : {
menu = new ChoiceGroup("Tipe POPUP", Choice.POPUP, daftarMenu, null);
break;
}
}
form.deleteAll();
form.append(menu);
display.setCurrent(form);
}
}
}

Tulisan 12: Contoh Program Canvas Pada J2ME

CANVAS

import javax.microedition.lcdui.*;

public class KeyCanvas extends Canvas {
private Font mFont;
private String mMessage = "[Press keys]";
private int x=41;
private int y=115;
private static int w,h;

public KeyCanvas() {
mFont = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
}

public void paint(Graphics g) {
w = getWidth();
h = getHeight();

// Clear the Canvas.
g.setGrayScale(255);
g.fillRect(0, 0, w - 1, h - 1);
g.setGrayScale(0);
g.drawRect(0, 0, w - 1, h - 1);

g.setFont(mFont);

g.setColor(0,0,200);
g.fillRect(0,0,w,h);
g.setColor(255,255,255);
g.drawRoundRect(x,y,150,70,40,40);
g.drawString("Tugas J2ME Key Canvas",(x+17),(y+28),g.TOP|g.LEFT);
}

protected void keyPressed(int keyCode) {

int gameAction = getGameAction(keyCode);
switch(gameAction) {
case UP:
y=y-8;
if(y<=0)
y=0;
break;
case DOWN:
y=y+8;
if(y>=218)
y=218;
break;
case LEFT:
x=x-8;
if(x<=0)
x=0;
break;
case RIGHT:
x=x+8;
if(x>=89)
x=89;
break;
}
repaint();
}
}

Tulisan 11: Membuat Ticker Pada J2ME

Berikut adalah codingan beserta hasil outputnya





import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MIDTicker extends MIDlet implements CommandListener {
 private Form form;
 private Display display;
 private Ticker ticker;
 private Command cmdKeluar;
 public MIDTicker() {
  cmdKeluar = new Command("Keluar", Command.EXIT, 1);
  ticker = new Ticker("Saham TELKOM naik 10 point");
  form = new Form("Ticker");
  form.setTicker(ticker);
  form.addCommand(cmdKeluar);
  form.setCommandListener(this);
 }
 public void startApp() {
  display = Display.getDisplay(this);
  display.setCurrent(form);
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }
 public void commandAction(Command c, Displayable d) {
  if (c == cmdKeluar) {
   destroyApp(false);
   notifyDestroyed();
  }
 }
}

Berikut keterangan kode program di atas:

Untuk membuat objek ticker digunakan baris berikut :

ticker = new Ticker("Ini text berjalan yang akan ditampilan pada layar "); Sedangkan untuk menambahkan objek ticker pada form digunakan method setTicker(objekTicker), seperti di bawah ini :

form.setTicker(ticker); Berbeda pada ponsel lainnya, pada Siemens, teks dari objek ticker menempati baris sama dengan title dari form. Selain itu, teks pada objek ticker hanya berjalan setelah layar saja.

midlet_ticker01