Tampilkan postingan dengan label kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label kuliah. Tampilkan semua postingan

Selasa, 08 Januari 2013

Low Level User Interface

Canvas

Canvas adalah subclass dari Displayable. Itu adalah sebuah class abstrak yang harus di-extend sebelum sebuah aplikasi dapat menggunakan fungsi-fungsi yang ada.
Canvas dapat digabungkan dengan subclass Displayable level tinggi yaitu Screen.
Program dapat pindah ke dan dari Canvas dan Screen.
Canvas menggambarkan metode-metode event handling kosong. Aplikasi harus mengesampingkan mereka untuk handle event.Class Canvas menggambarkan sebuah metode abstrak yang disebut paint(). Aplikasi menggunakan class Canvas harus menyediakan sebuah implementasi untuk metode paint().

Event key
Subclass dari Canvas dapat merespon sebuah event tombol dengan metode-metode sebagai berikut :
Untuk mendapatkan “String” nama sebuah kunci, gunakan metode getKeyName(int keyCode).

JENI-J2ME-bab 4

Persistence

  • Record Store
Sebuah Record Store adalah sebuah koleksi  daripada record-record. Record Id didalam Record Store selalu unique. Record Id akan secara otomatis dialokasikan pada saat pembentukan sebuah record dan bertindak sebagai index atau primary key. Pemberian record Id dilaksanakan secara sekuensial dan nilai yang diberikan kepada record Id pertama pada setiap Record Store adalah 1 (satu). 
Pada saat sebuah record dihapus, record id-nya tidak akan bisa digunakan kembali. Jika kita membuat empat buah record dan menghapus record ke-empat, maka record Id selanjutnya yang akan diberikan oleh system adalah 5.
MIDlets dapat menciptakan lebih dari satu Record Store. Nama dari sebuah record store didalam MIDlet suite haruslah unique. Nama dari record store juga case sensitive dan memiliki panjang maksimal 32 karakter. Pada saat MIDlet suite dihapus dari sebuah device, maka semua record store yang terkoneksi dengan MIDlet didalam suite tersebut juga akan terhapus.

  • Record Enumeration
Memeriksa sebuah record store menggunakan incerementing index adalah tidak efisien. Record stores yang telah dihapus akan terlewati jika Record Id dari record tersebut tidak digunakan kembali.
Penggunaan  record  enumeration  dapat   menyelesaikan  permasalahan  tersebut dengan melakukan pemeriksaaan pada record yang telah dihapus. Anda juga dapat mengurutkan  enumerasi   dengan menggunakan  method  pembanding.   Dengan penggunaan  method  pembanding,   anda  dapat   melewati   record  yang  tidak diharapkan pada output.

  • Record Comparator
Pengurutan sebuah enumerasi dapat didefinisikan menggunakan sebuah Record Comparator. Record Comparator digunakan pada method enumerateRecords. Jika anda ingin mengurutkan output dari enumerasi, anda harus membuat comparator dan mengimplementasikannya sebagai parameter kedua pada enumerateRecords.

  • Record Filter
Contoh – contoh selama ini membaca seluruh record dari sebuah store. Kita dapat menggunakan sebuah filter untuk mendapatkan hanya record yang kita inginkan.Program Anda harus mengimpelementasikan method match() untuk menyeleksi record. Method tersebut akan menghasilkan nilai true jika record sesuai dengan criteria.

  • Record Listener
Sebuah Record Store dapat menggunakan lebih dari satu record listener. Record listener adalah object yang dipanggil pada saat sebuah record ditambahkan, diubah atau dihapus dari  record store. Record listeners harus mengimplementasikan interface RecordListener.
Record  Listener   diregristrasikan  pada  record  store  menggunakan  method addRecordListener(). Pada saat sebuah record store ditutup, seluruh record listener yang terkait juga akan dihapus. Penggunaan method deleteRecordStore() tidak akan menghasilkan pemanggilan recordDeleted() pada record listener manapun yang terkait.


JAVA-Jeni-J2me-persistence

Minggu, 16 Desember 2012

Thread dan Sprite J2ME


THREAD
Thread nerupakan Salah satu fitur yang tertanam pada environment Java . Thread memungkinkan sebuah aplikasi Java untuk melakukan banyak aktifitas/operasi secara simultan (serentak). Dengan menggunakannya secara benar, thread memungkinkan User Interface sebuah aplikasi tetap responsif saat aplikasi tersebut melakukan operasi yang memakan waktu lama seperti komunikasi networking atau perhitunganperhitungan yang kompleks.

Thread adalah unit fundamental dari eksekusi program. Setiap aplikasi minimal memiliki sebuah thread untuk menjalankan kode. Aplikasi yang memiliki dua thread atau lebih, biasa disebut dengan multithreaded application. Fungsi seperti ini sering kita butuhkan dalam membuat program aplikasi/game nantinya. Misalnya, sebuah thread yang bertugas menjalankan operasi penghitungan nilai/skor game, kemudian thread yang lainnnya menjalankan operasi pendeteksi tabrakan antara obyek-obyek pada game. Kedua thread tersebut berjalan bersamaan dalam melakukan tugasnya masing-masing.

Setiap thread memiliki sebuah konteks yang berhubungan dengannya. Konteks tersebut memuat informasi tentang thread, seperti alamat dari instruksi yang sedang dieksekusi dan storage untuk variabel-variabel lokal. Konteks tersebut akan terupdate begitu thread dieksekusi. Konteks juga menyimpan state dari thread.

Thread bisa dalam state sebagai berikut:
Running, saat dimana thread sedang menjalankan kode.
Ready, saat dimana thread siap untuk mengeksekusi kode.
Suspended, saat dimana thread sedang menunggu external event. Contohnya: menunggu data yang datang dari device lain. Begitu data datang dan event terjadi (dilakukan), maka thread kembali ke state ready.
Terminated, saat dimana thread selesai mengeksekusi kode.
Thread yang dalam keadaan (state) running, ready atau suspended, adalah thread yang hidup (live thread). Sedangkan thread yang berstatus terminated adalah thread mati (dead thread).

Meskipun sebuah aplikasi boleh memiliki banyak thread, namun perlu memperhatikan kemampuan device yang ada (mobile device). Yang pada umumnya hanya memiliki kemampuan dan jumlah prosesor yang kecil (biasanya hanya mampu satu atau dua saja) untuk melakukan eksekusi kode.

berikut ini merupakan contoh sebuah thread:





SPRITE

Salah satu elemen grafik yang penting dalam game adalah sprite.
Menurut Martin Wells(2004, 0271), sprite merupakan kumpulan image yang mewakili berbagai states dalam keaatuan graphikal.
pengertian secara teratur beberapa sprite akan menghasilkan suatu animasi.
objek bergerak yang sering kita lihat dalam game, misalnya karakter game merupakan contoh dari sprite.

berikut merupkan contoh sprite:


http://info.poliseni.ac.id/index.php?load=tapdetilberita&id=178

Sabtu, 03 November 2012

PERSITENCE-RMS-Pert 5

Pertemuan ke lima, mata kuliah mobile computing, membahas materi tentang Persistance.
Persistance merupakan framework dalam pemrograman java yang dapat menyimpan data-data aplikasi secara lokal didalam device tersebut.
Record Store adalah sebuah koleksi dari record-record atau bisa disebut sebagai data base.
Untuk kali ini, saya membuat satu aplikasi berdasarkan tugas mata kuliah mobile computing.
Aplikasi ini menggunakan RMS(Record Manajemen System) sebagai record store.
Berikut adalah aplikasi menjawab soal matematika dan penilaiannya.

Source Code:


package persistance;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
/**
 * @author kie
 */

public class Persistance extends MIDlet implements CommandListener{
                private  List Mainmenu;
                private Display display;
                private Command Exit;
                private Command Back, Hasil, cmdbalik, Simpan;
                private Form form1;
                private TextField s1, s2, s3, s4, s5, id;//variabel soal
                int n1, n2, n3, n4, n5; //variabel nilai/skor
                int nilaiakhir;
                private RecordStore rs;
                private RecordEnumeration re;
                private Alert alert;
               
                public Persistance() {
                form1 = new Form ("MENU UTAMA");
                Exit = new Command("Exit", Command.EXIT, 0);
                Back = new Command("Back", Command.BACK, 1);
                cmdbalik = new Command("Kembali", Command.BACK, 1);
                Hasil = new Command("Hasil", Command.OK, 2);
                Simpan = new Command("Simpan", Command.OK, 2);
                alert = new Alert(null);
                alert.setTimeout(Alert.FOREVER);
   
                Mainmenu = new List (null, Choice.IMPLICIT);
                rs=null;
                //membuka / membuat record store
                try
                {
                                rs = RecordStore.openRecordStore("db_KodeBar", true);
                }
                catch (RecordStoreException rse)//check kalau error = exception
                {
                                alert.setString("Record Store could not open."+"appliacation will stopped");
                                alert.setType(AlertType.ERROR);
                                display.setCurrent(alert,null);
                                System.exit(1);
                }
}
                protected void destroyApp(boolean unconditional) {
                                notifyDestroyed();
                }
                protected void pauseApp() {
                                // TODO Auto-generated method stub
                }
                protected void startApp() {
                                display = Display.getDisplay(this);
                                display.setCurrent(Mainmenu);
                                menuList();
                }
                private void menuList() {
                                Mainmenu = new List("MENU UTAMA", List.IMPLICIT);
                                Mainmenu.append("UJIAN", null);
                                Mainmenu.append("NILAI TERTINGGI", null);
                                Mainmenu.append("KELUAR", null);
                                Mainmenu.setCommandListener(this);
                                display.setCurrent(Mainmenu);
                }
                public void soal_ujian(){
                                form1 = new Form("UJIAN");
                                s1 = new TextField("1. hasil dari 2+3 adalah = ?", "", 100, TextField.DECIMAL);
                                s2 = new TextField("2. hasil dari 8/2 adalah = ?", "", 100, TextField.DECIMAL);
                                s3 = new TextField("3. hasil dari 3*4 adalah = ?", "", 100, TextField.DECIMAL);
                                s4 = new TextField("4. hasil dari7-3 adalah = ?", "", 100, TextField.DECIMAL);
                                s5 = new TextField("5. hasil dari(7-3)*2 adalah = ?", "", 100, TextField.DECIMAL);
                                form1.append(s1);
                                form1.append(s2);
                                form1.append(s3);
                                form1.append(s4);
                                form1.append(s5);
                                form1.setCommandListener(this);
                                form1.addCommand(Back);
                                form1.addCommand(Hasil);
                                display.setCurrent(form1);
                }
                public void nama () {
                                form1 = new Form("SIMPAN HASIL");
                                id = new TextField ("masukkan nama anda : ", "", 100, TextField.ANY);
                                form1.append(id);
                                form1.setCommandListener(this);
                                form1.addCommand(Simpan);
                                form1.addCommand(cmdbalik);
                                display.setCurrent(form1);
                }
                public void commandAction(Command c, Displayable d){
                                if (c == Exit) {
                                                destroyApp(true);
                                }
                                if(c.getLabel()=="Simpan"){
                                                alert.setType(AlertType.INFO);
                                                if(!id.equals(null)) 
                                                {
                                                                tambahRecord(id.getString());
                                                                alert.setString("Data Lengkap !! Data disimpan di RMS");
                                                                display.setCurrent(alert);
                                                                display.setCurrent(alert, Mainmenu);
                                                }
                                                else
                                                {
                                                                alert.setString("Data Kurang! isikan data secara lengkap");
                                                                display.setCurrent(alert, form1);
                                                }
                                }
                                if(c.getLabel()=="Nilai Tertinggi"){
                                                lihatRecord();
                                }
                                else if(c==Hasil){
                                                nama();
                                }
                                else if(c==cmdbalik){
                                                soal_ujian();
                                }
                                else if(c==Back){
                                                menuList();
                       }else{
                           List menu = (List) display.getCurrent();
                           switch (menu.getSelectedIndex()){
                               case 0:
                                   soal_ujian();
                                   break;
                               case 1:
                                   lihatRecord();
                                   break;
                                  
                               case 2:
                                   destroyApp(true);
                           }
                       }
                    }
                public void tambahRecord(String id)
                {
                    int a = Integer.parseInt(s1.getString());
                    int b = Integer.parseInt(s2.getString());
                    int c = Integer.parseInt(s3.getString());
                    int d = Integer.parseInt(s4.getString());
                    int e = Integer.parseInt(s5.getString());
                    if(a == 5){
                        a=2;
                    }
                    else if(a != 5){
                        a=0;
                    }
                    if(b==4){
                        b=2;
                    }
                    else if(b != 4){
                        b=0;
                    }
                    if(c==12){
                        c=2;
                    }
                    else if(c != 12){
                        c=0;
                    }
                    if(d==5){
                        d=2;
                    }
                    else if(d !=2 ){
                        d=0;
                    }
                    if(e==10){
                        e=2;
                    }
                    else if(e != 10){
                        e=0;
                    }
               
                    nilaiakhir = a + b + c + d + e;
                  byte[] temp = null;
                  try
                  {
                      //kosntruktor baos dan dos
                      ByteArrayOutputStream baos = new ByteArrayOutputStream();
                      DataOutputStream dos = new DataOutputStream(baos);
                      //cari fungsi ini ByteArrayOutputStream dan DataOutputStream di internet
                      dos.writeUTF(id);// tulis var pada dos
                      dos.writeInt(nilaiakhir);
                      temp = baos.toByteArray();
                  }
                  catch (IOException ioe)
                  {
                      ioe.printStackTrace();
                  }
                  try
                  {
                      rs.addRecord(temp, 0, temp.length); //masukan data pada RecordStore
                  } catch (RecordStoreNotOpenException rsnoe) {
                    rsnoe.printStackTrace();
                  } catch (RecordStoreException rse) {
                    rse.printStackTrace();
                  }
                }
                public void lihatRecord() {
                    byte[] temp = null;
                    Mainmenu.setTitle("Nilai Tertinggi");
                    Mainmenu.deleteAll();
                    try
                    {
                        re = rs.enumerateRecords(null, null, false); 
                        while (re.hasNextElement()) 
                        {
                            int i = re.nextRecordId();
                            temp = rs.getRecord(i);
                            ByteArrayInputStream bais = new ByteArrayInputStream(temp);
                            DataInputStream dis = new DataInputStream(bais);
                            try
                            {
                                String id = dis.readUTF();
                                //Integer nilai akhir = dis.readUTF();
                                Mainmenu.append(id + " = "+ nilaiakhir +" \n",null);
                            }
                            catch (IOException ioe) {ioe.printStackTrace();}
                      }
                      Mainmenu.addCommand(Back);
                      Mainmenu.setCommandListener(this);
                      display.setCurrent(Mainmenu);
                    }
                    catch (InvalidRecordIDException invID) {invID.printStackTrace();}
                    catch (RecordStoreNotOpenException rsnoe) {rsnoe.printStackTrace();}
                    catch (RecordStoreException rse) {rse.printStackTrace();
                  }
                  }
                }


HASIL :


Sekian, Terimakasih ^_^

Jumat, 05 Oktober 2012

HIGH LEVEL USER INTERFACE

Membuat Aplikasi Input Data sederhana dengan menggunakan High level user interface.
Data yang dimasukkan: nama, jenis kelamin, alamat, no telp, email, tgl lahir,
Berikut ini hasil tampilan High level user interface:

1. Form pengisian

Source code untuk pembuatan form input data:






















2.  Form Hasil View




















3. Tampilan Alert, muncul jika data belum terisi semua

Source Code untuk menampilkan Alert:





















Untuk lebih jelasnya bisa diunduh di sini, Silahkan ^_^

Rabu, 26 September 2012

Pembangunan Aplikasi Mobile

Karakteristik Mobile:

  • Berukuran kecil, 
  • Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
  • Keterbatasan memori
    Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary (disk). Pembatasan ini adalah salah satu faktor yang mempengaruhi penulisan program untuk berbagai jenis dari perangkat ini. 
  • Keterbatasan sumber energi
  • Rendahnya konsumsi energi
    Perangkat mobile harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oleh baterai-baterai.
  • Terbatasnya koneksi jaringan
    Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung. Kebanyakan dari mereka menggunakan koneksi wireless.
  • Terbatasnya waktu hidup
    Perangkat-perangkat konsumen ini menyala dalam hitungan detik kebanyakan dari mereka selalu menyala.

Arsitektur J2ME




- Configuration menggambarkan:
● Subset bahasa pemrograman JAVA
● Kemampuan Java Virtual Machine(JVM)
● Core platform libraries
● Fitur sekuriti dan jaringan

- Profile

Suatu profile menggambarkan set-set tambahan dari API dan fitur untuk pasar tertentu, kategori perangkat atau industri. Sementara configuration menggambarkan library dasar, profile-profile menggambarkan library yang penting untuk membuat aplikasi-aplikasi efektif. Library ini memasukkan user interface, jaringan dan penyimpanan API.

CLDC


The Connected Limited Device Configuration (CLDC) menggambarkan dan menunjuk pada area berikut ini:
● Fitur Bahasa Java dan Virtual Machine(VM)
● Library dasar(java.lang.*,java.util.*)
● Input/Output(java.io.*)
● Kemanan
● Jaringan
● Internationalization


Fitur tertentu dari J2SE yang dipindahkan dari CLDC adalah :
● Finalization of class instances
● Asynchronous exceptions
● Beberapa error classes
● User-defined class loaders
● Reflection
● Java Native Interface (JNI)
● Thread groups dan daemon threads

Verifikasi Class

Spesifikasi CLDC memerlukan semua class untuk melewati proses verifikasi dua tingkat.
Verifikasi pertama dilaksanakan diluar perangkat sebelum instalasi pada perangkat. Verifikasi kedua terjadi pada perangkat selama runtime dan dilaksanakan oleh KVM.



Generic Connection Framework
The Generic Connection Framework menyediakan API dasar untuk koneksi dalam CLDC.
Framework ini menyediakan suatu pondasi umum untuk koneksi seperti HTTP, Socket, dan Datagrams.GCF menyediakan suatu set API yang umum dan biasa yang memisahkan semua jenis koneksi. Perlu dicatat bahwa tidak semua jenis koneksi dibutuhkan untuk diterapkan oleh perangkat MIDP.



CDC

Connected Device Configuration (CDC) adalah super set dari CLDC. CDC menyediakan
 Java runtime yang lebih luas dibandingkan CLDC dan lebih dekat kepada lingkungan J2SE.

Semua class yang terdapat dalam CDC datang dari package ini:
● java.io
● java.lang
● java.lang.ref
● java.lang.math
● java.net
● java.security
● java.security.cert
● java.text
● java.util
● java.util.jar
● java.util.zip

JTWI


The Java Technology for the Wireless Industry (JTWI) menetapkan satu set jasa dan spesifikasi standar. Berdasar spesifikasi JTWI, kata kuncinya adalah “untuk memperkecil fragmentasi API di dalam pasar telepon mobile, dan untuk mengirim spesifikasi yang dapat diprediksi,spesifikasi yang jelas untuk perangkat pabrik, operator, dan pengembang aplikasi”.


MIDP
The Mobile Information Device Profile (MIDP) berada di atas dari CLDC.


Spesifikasi MIDP menggambarkan suatu perangkat MID yang memiliki karakteristikkarateristik ini sebagai batas minimum:
Tampilan:
• Ukuran Layar: 96x54
• kedalaman tampilan: 1-bit
• Ketajaman pixel: sekitar 1:1

Masukan:
• Satu atau lebih mekanisme user-input: satu keybboard, dua keyboard, atau
touch screen

Memory:
• 256 kilobytes of non-volatile memory untuk implementasi MIDP.
• 8 kilobytes of non-volatile memory for application-created persistent data
• 128 kilobytes of volatile memory for the Java runtime (e.g., the Java heap)

Jaringan:
• dua jalur, wireless, bandwidth terbatas

Sound:
• Kemampuan untuk memainkan nada-nada


MIDlet
Suatu aplikasi MIDP disebut MIDlet. Perangkat application management software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create, start, pause, dan destroy.
MIDlet adalah bagian dari package javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet. Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application descriptor (JAD). Suatu MIDlet tidak harus memiliki (dan memang harus tidak mempunyai) sebuah method public static void main(String[] argv).Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program.




Siklus MIDlet
Kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status “Pause” setelah perintah baru dibuat. AMS memanggil constructor public tanpa argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status “Destroyed” dan membuangnya segera. MIDlet masuk ke dalam status “Active” atas pemanggilan method startUp() oleh AMS. MIDlet masuk ke dalam status “Destroyed” ketika AMS memanggil method destroyApp(). Status ini juga kembali diakses ketika method notifyDestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status “Destroyed”
sekali dalam masa hidupnya.


Refeensi:











Selasa, 18 September 2012

Pemrograman Berorientasi Objek (Review)

Pemrograman berorientasi obyek memecah komponen-komponennya menjadi obyek-obyek yang saling berinteraksi. 
Dunia nyata yang terdiri dari obyek-obyek dapat dengan mudah dimodelkan sehingga program bisa lebih mendekati kondisi yang sebenarnya.

Class dan Objek


Sebuah kelas menentukan struktur dan behaviour dari sebuah obyek. Sebagai sebuah contoh, truk, bus, mobil, sepeda motor didefinisikan sebagai sebuah kendaraan bermotor karena memiliki beberapa karakteristik yang sama yaitu memiliki mesin, menggunakan bahan bakar minyak untuk pengoperasiannya. Kendaraan bermotor tersebut juga memiliki beberapa atribut yang sama dalam kelasnya, misalkan memiliki jumlah roda, no kendaraan, nomor rangka mesin, jumlah kursi penumpang, dan lain-lain.
Obyek merupakan dasar dari pemrograman berorientasi obyek, didalam dunia nyata, setiap obyek yang ada memiliki dua buah karakteristik: State dan behaviour.
·                     State merupakan atribut yang dimiliki oleh sebuah obyek.
·                     Behaviour adalah fungsi yang dimiliki dan bisa dijalankan oleh penggunanya. 
Contoh: obyek sepeda
 Memiliki atribut (state) : pedal, roda, jeruji, warna, jumlah roda.
„ Memiliki tingkah laku (behavior) : kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda

Pada pemrograman berorientasi objek :
- State disimpan pada --> variabel
- Tingkah laku disimpan pada -->method

Attributes
Definisi atribut :  adalah data yang membedakan antara obyek satu dengan yang lain.
Contoh: VolcanoRobot ÆA volcanic exploration  vehicle, mempunyai atribut sebagai berikut:
„ - Status Æexploring, moving, returning home
„ - Speed Æin miles per hour
„ - Temperature, in Fahrenheit degrees
Dalam class atribut disebut sebagai Variabel

Behavior
Behavior / tingkah laku adalah hal – hal yang bisa dilakukan oleh obyek dari suatu class.
Behavior dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasi dari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task.
Contoh: VolcanoRobot
-  Check current temperature
-  Begin a survey
- Report its current location
Dalam class behavior disebut juga sebagai method
Methods: adalah serangkaian statmnets dalam suatu class menghandle suatu task tertentu.
Cara objek berkomunikasi dengan objek lain adalah dengan menggunakan method

Enkapsulasi

Enkapsulasi : pembungkusan variabel method dalam sebuah obyek yang terlindungi serta menyediakan
interface untuk mengakses variabel tersebut.
Contoh : jam tangan
 - Penting sekali untu, mengetahui waktu
 - Cara jam mencatat waktu dengan baik antara jam bertebaga baterai atau bertenaga gerak tidaklah penting
   kita ketahui

Pewarisan

Merupakan pewarisan atribut dan method dari sebuah calss ke class lainnya
Class yang mewarisi disebut superclass, dan class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainnya atau disebut Multilevel inheritance.

Polimorfisme
Kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk.

Sumber:  http://lecturer.eepis-its.edu/~riyanto/oop1.pdf,


Dibawah ini contoh program untuk lebih memhami cara membuat class, mendeklarasikan object, method, dan atribut, membuat constructor dan membuat pewarisan, enkapsulasi, overriding, dan  overloading.

 - Buat Package Bank, dengan Class Bank
    public class Bank{
      }
 - Buat class Nasabah

     public class Nasabah{
      }

 - Buat class Budi sebagai turunan dari class Nasabah
    public class Budi extends Nasabah {
    }

Output 1:


  • Memodifikasi class Bank dengan mengoverloading constructor
  • Memodifikasi class Nasabah dengan membuat method baru yang akan dioverride di class Budi
  • Memodifikasi class Budi dengan mengoverride method dari class Nasabah

Output 2 setelah dimodifikasi


  • Membuat constructor lain ketika membuat objek dari class bank
Output 3




Untuk program lengkapnya dapat diunduh di sini


Rabu, 12 September 2012

INSTALASI J2ME PADA ECLIPSE dan CONTOH PROGRAM "HELLO WORLD!"


Berikut ini adalah cara-cara setup J2ME pada Eclipse.
1. Komponen yang diperlukan sebelum memulai setting J2ME pada eclips adalah:
    - Java SDK, Sun Java Wireless Toolkit
    - Java Micro Edition SDK
    - Eclipse Pulsar , dapat di download disini
2. Instal Sun Java Wireless Toolkit
3. Instal Java Micro Edition SDK
4. Unzip folder "eclipse-pulsar-galileo-win32" yang telah di download
5. Jalankan dengan memilih "eclipse.exe", Karna eclipse ini bersifat portable untuk mempermudah akses mebuka aplikasi sebaiknya "eclpse.exe" diletakkan pada halaman desktop.

6. Pilih menu Window --> preferences --> pada kolom sebelah kiri, pilih menu Java ME --> Device Management


7. Pilih Import, selanjutnya cari lokasi instalasi Sun Java Wireless Toolkit "C:\ WTK2.5.2_01". Tunggu sampai muncul list-list yang akan di import, Cheklist semuanya dan klik "Finish" selanjutnya klik "OK"

8. Setup J2ME pada eclipse telah selesai

Berikut ini adalah contoh program sederhana "Hello World"


1. Buat Project baru dengan pilih "file-->new-->project-->Java ME --> Midlet Project

2. Isikan judul atau nama project "HelloWorld" dan klik finish
3. Buat Package, pilih "File -->New --> Package, isikan nama package  "helloWorld" -->Finish

4. Buat class, pilih file -->New-->Class, isikan nama Class "HelloWorld" --> Finish

5. Untuk membuat program hello world!, ketikan source seperti tampak di bawah ini



6. Save, dan jalankan program dengan cara klik kanan pada "HelloWorld.java" -->Run As, atau tekan CTRL+ F11



Sekian, Semoga Bermanfaat ^_^

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | ewa network review