Senin, 02 April 2012

Praktikum 3(Percobaan 2 dan 3) Pemrograman Lanjut


1.     Percobaan 2 : Penggambaran Garis dengan Warna
Source Code :
package package3;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
 * @author Samsung
 */
public class GarisWarna extends MIDlet {
    private Display display;
    HelloCanvas2 canvas;

    public void startApp() {
        if(display == null){
            canvas = new HelloCanvas2(this);
            display = Display.getDisplay(this);
        }
        display.setCurrent(canvas);
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
    }
    protected void Quit(){
        destroyApp(true);
        notifyDestroyed();
    }
    class HelloCanvas2 extends Canvas implements CommandListener{
        private Command exitCommand = new Command("Exit",Command.EXIT,0);
        private GarisWarna line;
       
        public HelloCanvas2(GarisWarna line){
            this.line = line;
            addCommand(exitCommand);
            setCommandListener(this);
        }
        protected void paint(Graphics g){
            g.setColor(255,255,255);
            g.fillRect(0, 0, getHeight(), getWidth());
            g.setColor(255,0,0);
            g.drawLine(0,0,getWidth()-1,getHeight()-1);
            g.setColor(0,255,2);
            g.drawLine(0, getHeight()/2, getWidth()-1, getHeight()/2);
            g.setColor(0,0,255);
            g.drawLine(0,getHeight()-1,getWidth()-1,getHeight()-1);
            g.setColor(0,0,0);
            g.drawLine(0,getHeight()-1, getWidth()-1, 0);
        }
        public void commandAction(Command arg0, Displayable arg1){
            if(arg0 == exitCommand)
            {
                line.Quit();
            }
        }
    }
}
 
Output :



 
·        Untuk membuat garis dengan warna didalam java midlet maka membutuhkan fungsi source code import javax.microedition.midlet.*;
·        Untuk menampilkan program pada layar display emulator maka membutuhkan fungsi import javax.microedition.lcdui.*;
·        Dalam membuat kelas untuk pembuatan garis dengan warna maka kita harus membuat kelas yang merupakan turunan dari Midlet yang bernama GarisWarna.
·        Didalam kelas GarisWarna menggunakan fungsi private Display display; untuk menggunakan display pada emulator yang disediakan oleh java midlet.Kemudian membuat canvas yang merupakan kelas turunan dari kelas GarisWarna dengan nama  HelloCanvas2 menggunakan source code HelloCanvas2 canvas;
·        Didalam public static void startApp menggunakan fungsi if  untuk memberikan keadaan  untuk mengeksekusi perintah jika display dalam keadaan kosong maka canvas membuat  canvas baru kemudian menampilkanya pada display.
·        Display.setCurrent(canvas); berfungsi untuk menampilkan canvas dalam display emulator.
·        Protected void Quit(){ berfungsi untuk mrnjalankan fungsi keluar.
·        Pada class HelloCanvas2 extends Canvas implements CommandListener{ berfungsi untuk membuat kelas turunan dari Canvas yang bernama HelloCanvas2 yang menggunakan action pada fungsi CommandListener.
·        Private Command exitCommand = new Command(“Exit”,Command.EXIT,0); berfungsi untuk membuat perintah exit atau keluar dengan prioritas 0.
·        Private GarisWarna line; berfungsi untuk membuat garis dengan warna pada class HelloCanvas2.
·        Protected void paint(Graphics g); berfungsi untuk menggunakan fungsi gambar dari turunan paint dengan parameter .
·        g.setColor(); berfungsi untuk mangatur warna.
·        g.fillRect(0,0,getHeight(),getWidth()); berfungsi untuk menggambar dari kiri atas dengan menentukan tinggi dan lebar pada layar emulator.
·        g.drawLine(); berfungsi untuk menggambar garis pada layar emulator.

2.     Percobaan 3 : Menggambar Segi Empat
Source Code :
 package package3;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
 * @author Samsung
 */
public class Kotak extends MIDlet {
    private Display display;
    HelloCanvas3 canvas;

    public void startApp() {
        if(display == null){
            canvas = new HelloCanvas3(this);
            display = Display.getDisplay(this);
        }
        display.setCurrent(canvas);
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
    }
    protected void Quit(){
        destroyApp(true);
        notifyDestroyed();
    }
   
    class HelloCanvas3 extends Canvas implements CommandListener {
    private Command exitCommand = new Command("Exit",Command.EXIT,7);
    private Kotak segiempat;
    public HelloCanvas3(Kotak segiempat){
            this.segiempat = segiempat;
            addCommand(exitCommand);
            setCommandListener(this);
        }
        protected void paint (Graphics g){
            g.setColor(255,255,255);
            g.fillRect(0,0,getWidth(),getHeight());
            g.setColor(0,0,0);
            g.drawRect(8,8,64,32);
            g.setColor(255,255,0);
            g.fillRect(8,8,64,32);
            g.setColor(0,0,0);
            g.drawRect(8,50,88,44);
            g.drawRoundRect(108, 50, 88, 40,18, 18);
            g.fillRect(8, 120, 88,44);
            g.fillRoundRect(108, 120, 88, 44, 18, 18);
        }
       
       

        public void commandAction(Command arg0, Displayable arg1) {
            if(arg0 == exitCommand){
                segiempat.Quit();
            }
        }
        }

       
    }

Output :


 
Pada dasarnya source code pada penggambaran segi empat pada java ini sama dengan source code yang digunakan didalam pembuatan program menggunakan java midlet.Semuanya merupakan turunan dari Midlet.Karena sebelumnya sudah saya jelaskan mengenai sedikit fungsi source code pada Midlet,maka pada pembahasan kali ini saya hanya akan menambahkan fungsi source code yang belum ada pada pembahasan sebelumnya.
·        Pada percobaan kali ini akan menggambarkan kotak segi empat maka hal pertama yang dilakukan yaitu membuat kelas yang merupakan turunan dari midlet,nama kelas diberi nama Kotak.
·        Kemudian membuat canvas baru untuk menampilkan gambar segi empat pada emulator dengan nama HelloCanvas3.
·        Pada kelas HelloCanvas3 kita akan membuat ktak segi empat maka kita membuat variabel segi empat pada kelas kotak supaya dapat dipanggil pada saat dibutuhkan.
·        Untuk memanggil segiempat yang sudah disimpan maka hanya perlu menuliskan source code this.segiempat = segiempat;
·        Untuk menggambar kotak berwarna kuning maka source code yang perlu ditulis yaitu :
  g.setColor(0,0,0);
            g.drawRect(8,8,64,32);
            g.setColor(255,255,0);
            g.fillRect(8,8,64,32);
·        Untuk menggambar berbagai macam jenis kotak ,source code yang perlu ditulis yaitu seperti berikut :
  g.setColor(0,0,0);
            g.drawRect(8,50,88,44);
            g.drawRoundRect(108, 50, 88, 40,18, 18);
            g.fillRect(8, 120, 88,44);
            g.fillRoundRect(108, 120, 88, 44, 18, 18);

Sekian laporan pembahasan praktikum pemrograman lanjut untuk praktikum 3 percobaan 2 dan percobaan 3.
Maaf jika masih ada kesalahan dalam pembahasan yang saya tulis,karena saya juga masih belajar.

Sekian n terima kasih udah mampir di blog_ku ^^

 

1 komentar: