Saturday, June 30, 2012

PEMROGRAMAN OBJECT ORIENTED

APA ITU PEMROGRAMAN OBJECT ORIENTED?

Belajar pemrograman object oriented, berarti harus membiasakan diri berpikir secara kelas dan objek setiap menghadapi masalah.
Contoh :
Buatlah program untuk menghitung keliling lingkaran dari masukan jari-jarinya !
Masalah tersebut bila disajikan dengan pendekatan kelas dan objek, harus direvisi sebagai berikut :
Buatlah kelas lingkaran yang memiliki tanggungjawab mengetahui jari-jarinya dan kelilingnya, lingkaran tersebut dapat melakukan aksi mengembang dan berkerut sesuai dengan panjang jari-jarinya.

SEJARAH JAVA

Java ialah sebuah platform teknologi pemrograman yang dikembangkan oleh Sun Micros

ystem. Pertama kali di-release tahun 1991 dengan nama kode Oak. Oak didesain pertama kali untuk personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas Graphical User Interface.

Ternyata *7 tidak pernah dipasarkan dan secara kebetulan Sun membentuk suatu perusahaan yang disebut Firstperson untuk mengembangkan *7 dalam bentuk TV set-top boxes untuk televisi interaktif. Karena persaingan begitu ketat akhirnya prospek TV interaktif menurun dan akhirnya Oak tidak laku di pasaran. Akan tetapi FirstPerson dan Oak mengalami kegagalan. bermunculan para perintis internet khususnya World Wide Web seperti Netscape membuat software yang memungkinkan terjadinya koneksi antara internet dengan www. Sun akhirnya menyadari bahwa Oak memiliki kemungkinan besar untuk membuat jalur akses ke dunia web.Kemudian tahun 1995 nama kode Oak diganti menjadi Java. Sekarang, java masih dalam taraf pengembangan dan sudah mempengaruhi arah pemrogaman computer dan internet. Bahasa pemrogaman Java dirilis secara gratis di Internet dan Sun memberikan lisensi penuh terhadap implementasi Java dan segala komponennya untuk digunakan di berbagai vendor software Internet dengan harapan supaya dapat menciptakan standard pemrogaman web.

Yang memotivasi Java dibuat adalah untuk membuat sebuah bahasa pemrograman yang portable dan independent terhadap platform (platform independent). Java dapat membuat perangkat lunak yang dapat ditanamkan (embedded) pada berbagai mesin dan peralatan konsumer, seperti handphone, microwave, remote control, dan lain-lain. Hal ini kemudian Java memiliki konsep yang disebut write once run anywhere. Untuk membangun perangkat lunak menggunakan Java maka dibutuhkan Java Development Kit (JDK). JDK release pertama tahun 1996 yaitu JDK 1.1 yang diadopsi oleh Netscape.

KELEBIHAN PEMROGRAMAN OBJECT ORIENTED

  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

KEKURANGAN PEMROGRAMAN OBJECT ORIENTED

  • Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Bahasa java yang telah dirilis :
1.    Product Sun Microsystem : j2se, j2me, j2ee
2.    Product Borland : JBuilder
3.    Product Microsoft : Visual J
Spesifikasi j2ee antara lain JDBC, JDOM (untuk XML),  Remote Method Invocation, Enterprise Java Beans, Java Messaging, Java Server Pages, Java Servlet, Socket Programming, dan SQLJ.
Java/Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java.

Development Kit dapat didownload di :
http://java.sun.com/product/JDK/index.html atau
http://java.sun.com/j2se/1.5/index.html atau
http://java.sun.com/cgi-bin/java-ports.cgi

Komponen JDK antara lain compiler(javac), interpreter(java) disebut juga java virtual machine atau java runtime environment, applet viewer(appletviewer), debugger(jdb), java class library(jcl), header dan stub generator(javah), dan yang paling penting yaitu java documentation(javadoc).

Penjelasan penggunaan komponen JDK :

1.    Kompilator (javac)
    Bertugas untuk melaksanakan kompilasi
    *.java menjadi *.class
    Syntax umum : javac nama.java

2.    Interpreter (java)
    Bertugas untuk menjalankan bytecode (*.class)
    Syntax umum : java nama.class

3.    Applet Viewer
    Digunakan untuk menjalanakan applet viewer, namun sekarang sudah digantikan browser.
    Syntax umum : appletviewer nama.html

4.    Java Debugger
Bertugas untuk melakukan debugging aplikasi java. Syntax umum : jdb option

5.    Java Class File Diassembler (javap)
Bertugas membuat daftar method dan attribute public dari suatu kelas.
Syntax : javap namaKelas

6.    Java Header and Stub Generator
Bertugas menerjemahkan bahasa yang ditulis dalam bahasa java menjadi bahasa C.
Syntax umum : javah namaKelas

7.    Java Documentation Generator
Menampilkan pustaka kelas, interface, constructor, dan method standard yang telah dibuat vendor.
Dari hasil instalasi, dokumentasi ini dapat dilihat di pada  C:\java\docs\api\index.html atau
C:\Program Files\NetBeans3.6\docs\junit\index.html

8.    Source Code Java API
Source code ini dapat diperoleh dari file src.zip.
Untuk pemrogram pemula lingkungan pemrograman java dapat diringkas menjadi :
1.    Editing source code menggunakan editor teks.
2.    Compiling menggunakan keyword javac melalui command promp (dapat juga dari editor teks).
3.    Executing menggunakan : 
a.    Keyword java melalui command prompt (dapat juga dari editor teks)
b.    Browser atau applerviewer untuk applet.

Token
Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa java yaitu identifier, keyword, literal dan tipe data, operator, serta separator.

Identifier
Identifier adalah token yang merepresentasikan nama sesuatu. Sesuatu tersebut adalah variabel, atau konstanta, atau attribute, atau method, atau kelas, atau package, atau interface, atau nama file, dan lain-lain.

Keyword
Kata kunci digunakan untuk suatu tujuan tertentu. Ada 51 keyword dalam java yaitu :
abstract    continue    for    new    switch
boolean    default    goto    null    synchronized
break    do    if    package    this
byte    double    implements    private    threadsafe
byvalue    else    import    protected    throw
case    extends    instanceof    public    throws
catch    false    int    return    transient
car    final    interface    short    true
class    finally    long    static    try
const    float    native    super    void
                while

Literal dan Tipe Data Primitif
Literal adalah nilai variabel/attribute atau nilai konstanta atau nilai objek data. Ada tiga besaran literal dalam java yaitu angka, karakter, dan string.
Angka terdiri dari byte, short, int, long, float, double, dan boolean (dianggap angka true = 1 atau false = 0)

Semua variabel dan konstanta  yang akan digunakan harus dipesan terlebih dahulu dalam deklarasi.
Bentuk umum :
TipeData namaVar = ungkapan_atau_nilai;
TipeData namaVar1, namaVar2, …;
[modifier] static final TipeData NAMAKONSTANTA = nilai;

Contoh deklarasi :
double a=3, b=4;
double c = Math.sqrt(a*a+b*b);
static final PHI=3.14;
static final double CM_PER_INC = 2.54;

Berikut tabel jangkauan dan ukuran dari semua tipedata sederhana dalam java :

Tipe Data Primitif
Jangkauan
Ukuran (bit)
byte
-128 s/d 127
8
short
-32767 s/d 32767
16
int
-2147483648 s/d 2147483647
32
long
-9223372036854775808 s/d
9223372036854775807
64
char
sebuah Unicode
16
float
3.4e-038 s/d 3.4e+038
32
double
1.7e-308 s/d 1.7e+308
54
boolean
false = 0 atau true = 1
8



Operator
Operator melakukan komputasi terhadap satu/dua objek data. Operan yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim method.
  1.  .  []  ()    Sekaligus
  2. ++var, --var, ~, instanceof    preincrement, predecrement, unary, instance dari kelas …
  3. (type) (casting)    
  4. !    Not
  5. *, /, %    perkalian, pembagian, modulus
  6. +, -    penjumlahan, pengurangn
  7. <<, >>, >>>    geser untuk bil biner
  8.  
  9. <, >, <=, >=    pembandingan
  10.  ==, !=    kesamaan, ketidaksamaan
  11. &    and
  12.  ^    exclusive or
  13.  |    unconditional or
  14.  &&    conditional and
  15.  ||    conditional or
  16. ? :    shorthand untuk if..then…else…
  17.  =, +=, -=, *=, /=, %=, ^=    operator penugasan
  18.  &=, |=, <<=, >>=, >>>=    operator penugasan
  19.  var++, var--    postincrement, postdecrement

Separator
Separator menginformasikan ke compiler java mengenai adanya kelompok kode program.
Berikut adalah daftar separator di java :

Notasi    Nama    Deskripsi
(…)    kurung    mengelompokkan parameter method.
{…}   kurung kurawal    mengelompokkan nilai-nilai suatu array,  mendefinisikan blok kode kelas
           ataupun kode method.
[…]    kurung siku    mendeklarasikan tipe array
:         titik koma    mengakhiri pernyataan, merangkai pernyataan-pernyataan di dalam for.
,         koma    memisahkan identifier-identifier di bagian deklarsi variable.
.         titik    memisahkan nama-nama package, memisahkan kelas dari objek, dan objek dari method.

Keyword Break, Continue, dan Return
Kelompok keyword ini pada prinsipnya merupakan kendali jump (variasi lain dari goto), sehingga berakibat pengabaian sisa instruksi.

Penggunaan Keyword Break
Ada dua penggunaan keyword break, yaitu untuk keluar dari kendali percabangan switch, dan untuk keluar dari kendali perulangan.
Dengan keyword ini berarti percabangan/perulangan akan diakhiri, kemudian eksekusi dilanjutkan ke pernyataan setelah blok percabangan/perulangan tersebut.
Contoh :
public class ContohBreak {
    public static void main(String args[]) {
        int i = 0;
        do {
           i++;
           System.out.println(i);
           if (i==5) break;
        } while (i <= 9);
    }
}

Penggunaan Keyword Continue
Penggunaan keyword ini untuk segera lompat ke perulangan berikutnya. Pernyataan-pernyataan setelah keyword continue dalam blok perulangan saat itu berarti diabaikan.
Contoh :
public class contohContinue {
    public static void main(String args[]) {
        int i=0;
        do {
           i++;
           if (i==3) continue;
           System.out.println(”iterasi ke : “+i);
           if (i==5) break;
        } while(i <= 9);
    }
}

Penggunaan Keyword Return
Keyword ini digunakan untuk keluar dari suatu method, pernyataan-pernyataan setelah keyword ini dan masih dalam blok method tersebut, berarti diabaikan, kemudian eksekusi dilanjutkan ke pernyataan setelah blok method tersebut.
Contoh program :
int abs(int x) {
    if (x >= 0)
        return x;
    else
        return(-x)
    …
    }

0 comments:

Post a Comment