Selasa, 17 Februari 2009

JAVA PROGRAMMING


Source
code 1:
 

public class Saya{

String nama,pekerjaan,bertugas,rambut,muka;

int usia;

public static void main(String[] args){

//membuat objek

Saya aku=new Saya();

//memanggil dan memberi nilai atribut

aku.nama="Pujiadi";

aku.pekerjaan="Guru Matematika";

aku.bertugas="SMA 1 Semarang";

aku.rambut="Hitam";

aku.muka="Oval";

aku.usia=37;

System.out.println("Nama Saya = " + aku.nama);

System.out.println("Pekerjaan Saya = " + aku.pekerjaan);

System.out.println("Tempat Bertugas Saya = " + aku.bertugas);

System.out.println("Rambut Saya = " + aku.rambut);

System.out.println("Muka Saya = " + aku.muka);

System.out.println("Usia Saya = " + aku.usia);

}

}

Out put :

Senin, 16 Februari 2009

JAVA SEBAGAI BAHASA PEMROGRAMAN BERORIENTASI OBJEK

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Java merupakan bahasa pemrograman berorientasi objek yang dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ¬platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer¬¬. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portable.
Sintaks Java merupakan pengembangan dari bahasa C/C++. Berikut adalah beberapa hal tentang pemrograman Java:
1. Bersifat protable dan platform independent. Program Java yang telah ditulis akan dapat
dieksekusi di mesin apapun dan sistem operasi apapun tanpa harus mengubah sedikitpun dari
program tersebut.
2. Memiliki garbage collection yang dapat mendealokasikan memori secara otomatis.
3. Menghilangkan sifat pewarisan berganda yang terdapat pafa C++.
4. Mengurangi pointer aritmetika. Pengaksesan lokasi memori secara langsung dengan
menggunakan pointer memungkinakn program untuk melakukan suatu tindakan yang tidak
seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkinan kesalahan seperti ini
penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
5. memiliki array sejati.
6. mengurangi kerancuan antara pemberian nilai pada statement conditional.
Selain hal-hal di atas Java juga dikenal memiliki karakteristik sebagai berikut:
1. Berorientasi Objek
2. Robust
3. Portable
4. Multithreading
5. Dinamis
6. Sederhana
7. Tredistribusi
8. Aman
9. Netral secar arsitektur
10. Interpreter
11. Berkinerja tinggi
12. free / bebas licence
Untuk membuat program Java dibutuhkan kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya perlu melakukan beberapa penyesuaian dengan sistem operasi yang digunakan. Umumnya yang perlu dilakukan adalah memasukkan path ke direktori JDK ke setting path pada sistem operasi. Misalkan direktori JDK adalah C:\jdk1.4 maka pada Windows 98 cukup ditambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file autoexec.bat. Untuk Windows NT/2000/XP cukup ditambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan dapat digunakan Integrated Development Environment (IDE) untuk bahasa Java seperti Visual Café dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah yang harus dilakukan untuk membuat sebuah program Java sederhana adalah:
1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus
berekstensi .java dan case sensitive.
2. Mengkompile source code dengan perintah javac. Misalnya: javac Halo.java. Jika berhasil,
hasilnya adalah file bytecode berakhiran .class.
3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file
hasil kompilasi tanpa ekstensi .class. Contoh: java Halo.
Sebagai contoh berikut ini adalah penulisan kode (source code) untuk Halo.java:

public class Halo{
public static void main(String[] args){
System.out.println ("Halo Semarang");
}

Yang perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga harus diperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga bisa saja menuliskan semua baris source code tersebut dalam satu baris asal tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan mengikuti layout seperti pada contoh di atas agar program mudah dibaca dan dimengerti.
Selanjutnya setelah file disave dengan nama Halo.java, kita akan mengkompile program tersebut dengan perintah prompt> javac Halo.java. Perlu diperhatikan bahwa direktori aktif yang digunakan saat ini adalah direktori tempat meletakkan file-file program tersebut. Namun tetap dapat mengkompile program dari direktori berbeda dengan perintah: prompt> javac (direktori program)/namafile.java. Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta sebuah file .class, yaitu bytecode hasil kompilasi source code.
Setelah selesai mengkompile program, selanjutnya mengeksekusi program tersebut, dengan cara mengetikkan perintah java Halo pada prompt dan pesan Halo Semarang ? akan tampil di layar, seperti tampak pada gambar berikut.

Bahan Bacaan

1. Mengenal Pemrograman Berorientasi Objek pada Java. http://httpsanwa2. wordpress.com
20081204mengenal-pemrograman-berorientasi-objek-pada-java/

2. Pemrograman dengan Java. http://www.master.web.id/mwmag/issue /04/content/tutorial-java-1/
tutorial-java-1.html

3. Pemrograman Berorientasi Objek. http://www.geocities.com/mmsomantri/ modul1oop.htm

KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman berorientasi objek (PBO) atau dalam bahasa inggris disebut object oriented programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. OOP memodelkan obyek yang ada di dunia nyata (real-word objects) ke dalam software obyek dalam pemrograman. Oleh karena itu, di dalam OOP juga dikenal istilah seperti yang ada pada obyek dunia nyata, yaitu pewarisan (inheritance), dimana suatu obyek dapat mewariskan sifat-sifat yang dimilikinya kepada obyek turunannya.
Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa obyek disekitar kita seperti mobil, singa, manusia dan seterusnya. Obyek ini dikarakterisasi oleh atribut dan tingkah lakunya, sebagai contoh objek sebuah mobil mempunyai atribut tipe transmisi, warna dan manufaktur, dan mempunyai tingkah laku berbelok, mengerem dan berakselerasi. Dengan cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa. Perhatikan tabel dibawah ini sebagai contoh perbandingan.

Dengan deskripsi seperti di atas maka obyek pada dunia nyata dapat secara mudah asumsikan sebagai obyek perangkat lunak menggunakan atribut sebagai data dan tingkah laku sebagai method. Data dan method dapat digunakan dalam pemrograman game atau perangkat lunak interaktif untuk membuat simulasi obyek pada dunia nyata. Contohnya adalah perangkat lunak obyek mobil dalam permainan balap mobil atau perangkat lunak obyek singa dalam sebuah perangkat lunak pendidikan interaktif pada kebun binatang untuk anak anak.
Secara umum, beberapa keuntungan yang dapat diperoleh pada OOP antara lain adalah simplicity, modularity, modifiability, extensibility, flexibility, maintainability, dan reasonability. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Bahasa pemrograman yang mendukung OOP antara lain adalah: Smalltalk (murni OOP), C++, CLOS (Common Lisp Object System), Pascal, Visual Basic, Ruby, Pytthon, PHP, C#, Delphi, Eiffel, Perl, dan Java.
Pemrograman borientasi objek menekankan pada konsep-konsep berikut yang merupakan ciri khasnya, yaitu:
1. Kelas
Kelas adalah kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
2. Objek
Objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
3. Abstraksi
Abstraksi merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
4. Enkapsulasi
Enkapsulasi memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
5. Polimorfisme
Polymorphism (polimorfisme) berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi. Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem. Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hamper semua jenis mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama. Harus diperhatikan disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Missal pedal gas, jika ditekan maka kecepatan mobil akan meningkat, tapi bagaiman proses peningkatan kecepatan ini dapat berbeda-beda untuk setiap jenis mobil.
6. Inheritas
Inheritas mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut ( bahasa berbasis objek tidak selalu memiliki inheritas.)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Perbedaan Class dan Object
Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip dengan obyek pada dunia nyata. Setiap obyek dibangun dari sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang saling berhubungan. Variabel dan method dalam obyek Java secara formal diketahui sebagai variabel instance dan method instance. Hal ini dilakukan untuk membedakan dari variabel class dan method class, dimana akan dibahas kemudian. Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari anggota dimana disebutdengan field (attribut/properti) dan method. Field merupakan tipe data yang didefinisikan oleh class, sementara method merupakan operasi. Sebuah obyek adalah sebuah instance (keturunan) dari class.
Untuk dapat membedakan antara class dan obyek, kita lihat beberapa contoh berikut ini. Misalkan kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem.

Secara skematis perbedaan antara class dan obyek dapat digambarkan sebagai berikut.

Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun, implementasi dari method dibagi diantara objek pada class yang sama. Class menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.

Method dan Perlunya Menggunakan Method
Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh program utama atau dari method lainnya untuk menjalankan fungsi yang spesifik. Karakteristik dari method antara lain adalah :
1. Dapat mengembalikan satu nilai atau tidak sama sekali
2. Dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi
3. Setelah method telah selesai dieksekusi, dia akan kembali pada method yang memanggilnya.
Mengapa kita butuh untuk membuat banyak method ? Mengapa kita tidak menuliskan semua kode pada sebuah method ? Hal ini karena penyelesaian masalah yang sangat efektif adalah memecah masalah-masalah tersebut menjadi beberapa bagian. Kita juga dapat melakukan hal ini di Java dengan membuat method untuk mengatasi bagian tertentu dari masalah. Sebuah permasalahan dapat dipecah-pecah menjadi beberapa bagian kecil. Hal ini sangat baik sekali untuk membuat program yang sangat besar.

Bahan Bacaan
1. Pemrograman Berorientasi Obyek (wikipedia)

2.Konsep Pemrograman Berorientasi Objek http://dede-pui.blogspot.com/2008/12/konsep- pemrograman-berorientasi-objek.html

3.Konsep Pemrograman Berorientasi Objek (OOP) http://asepramdhani.files.wordpress.com/ 2008/06/asep-java-01-konsep-oop-050608.pdf