pada bab
pertama ini, anda akan belajar dasar-dasar pemrograman java dan teknik
prmrograman dangan konsep OOP (objek orienterd programming) atau sering disebut
dengan pemrograman berorientasi objek (PBO). Untuk mempermudah belajar , anda
juga akan diajarkan dasar instalasi.
1.1
objek oriented programming
teknologi object oriented
memandang software sebagai sebuah intraksi antarbagaian atau subsistem dalam
sebuah system, dan menggambarkan satu bagian tersebut dalam satu objek (visual
modelingmenggunakan UML dan rational Rase – A. suhendar dan hariman gunadi)
yang memiliki sifat/properti/data dan kemampuan untuk melakukan suatu tugas
tertentu.
Contoh, objek manusia
memiliki tangan dan kaki itu dipandang sebagai sifat/data (properti), sedangkan
memegang dan berlari adalah pekerjaan/tugas-tugas yang bisa dilakukan (metode).
Jika diperhatikan , sbetulnya property dan metode memiliki hubungan walaupun
tidak selamanya harus ada (memegang dengan tangan, berlari dengan kaki).
OOP(object oriented programming)
adalah metode programan yang mengikuti konsep-konsep berorientasi objek, yakni
ncapsulaion (pengapsulan), inheritance (pewarisan), polimorfisme
(keragaman/bentuk lain).
1.2 Berpikir object Oriented
Berpikir OOP adalah slalu melihat persoalan program sebagai
objek yan gmemiliki sekumpulan data dan merode, sta menggabungkan data dan
metode dalam atu objek dan meniadakan/mengurangi penggunaan variable global
dalam program.
Dalam pemrograman klasik (kpemrograman terstruktur) biasanya
memisahkan data dan metode akan bersipat global.
Untuk apkikasi berkala kecil, mungkin belum menimbulkan
persoalan. Akan tetapi , jika plikasi menjadi besar, akan ditambahkan trus
metode demi metode, variable demi variable sehingga suatu saat programmer bisa
terjebak pada kondisi mennulis metode yang berpungsi sama lebih dari sekali
dengan nama yang berbeda. Atau dubuat satu demi satu (ratusan atau mungkin
ribuan ). Belum lagi tentang variabelnya yang berbeda di mana-mana. Kepala bisa
pusing sebelum menyelesaikan persalan logic program yang sebenarnya.
Konsep opjek selalu menyatukan data sebagai badan dan meotde
sebagai roh dalam satu wadah layaknya manusia hidup. Akan tetapi pemrograman
klasik memisahkan data sebagia badan manusia hidup. Dan metode sebagai roh.
Akibatnya manusia bisa menjadi hantu dan mayat (kurang relevan dengan
kenyataan)
1.3sejarah perkembangan pemrograman java
Pada tahun 1991 ,
perusahaan sun microsystem mengembangkan aplikasi untuk perangkat TV dan prangkat elektronik
lainya oleh karena prangkat kecil tidak memiliki memori, maka program harus kecil serta bebas terhadap perusahaan
pembuatan alat (bisa bekerja di sembarang jenis alat yang berbeda). Setelah beberapa
kali mengalami perkembangan , pada tahun 1995 bulan November java resmi
diluncurkan dan mulaila paradigm OOP dengan java yang langsung mampu menggser
dominasi c++ sebagai bahasa prmrograman berbasis objek.
Programmer C++ dengan
pointernya memang luar biasa, dan dengan pointer itu juga akan menemui berbagai
masalah. Karena ketika programmer menulisakn berbagai pointer dalam
aplikasinya, memang dirasa luar biasa, tetapi semakin program mngalami
perkembangan logic, maka akan semakin banyak orrasi pointer yang dituliskannya.
Sehingga pada suatu saat, sang programmer bisa terjebak dalam kondisi yang
ruwet oleh pointernya sendiri, yang memang agak memeras otak karena sintak yang rumit.
Dalam java sebenarnya
pointer tetap ada, tapi tidak diberikan oprasi pointer yang mertkan dalam
bahasi C. biarlah yang rumit dikerjakan oleh konputer dan yang mudah saja
dikerjakan oleh manusia karena memang metode onjek ditunjukan buat manusia
bukan untuk computer. Karena computer tidak perna mau tau apa pun jenis model pemrograman yang dipakai oleh
programmer.
1.4 Edisi java
Java membagi versi
programnya ke dalam tiga kelompok besar, yakni
-java 2 standard Edition
(J2SE)untuk konsentrasi pada PC.
-java 2 Enterprise
Edition (J2EE) untuk konsentrasi pada aplikasi server besar.
-java 2 micro Edition
(J2ME)untuk konsentrasi pada mobile
1.5 instalasi
Untuk mendapatkan JDK
java terakhir, anda bisa langsung membuka http://java.sun.com . proses
instalasi seperti halnya pada aplikasiprogram berbasis windows lainya, yaitu
jalankan file installernya dalam ikuti dialog instalasinya dari lisensi sampai
penentuan direktori program.
Pada asaat mengintal,
kita harus menentukan path dan classpath. Perlu diketahui , kpath adalah
pemetaan suatu derektori pada system oprasi agar direktori tersebut bisa
dikenal secara globalpada system. Sedangkan classpa adalah untuk mmberitahukan
pada java bahwa sebuah class java tertentu (bisa berbentuk jar) kita simpan
pada direktori/alamat file tertentu.
Pada sebuah file jar yang
bisa dipakai untuik driver database MYSQL dengan alamat filnya adalah c:\libku\mysql-con-bin.jar.maka, untuk
mengenalkan pada mesin java tentang driver tersebut adalah dengan melakukan
setting classpath sebagai berikut
Pada commend prompt:
SET CLASSPATH
=C:\LIBKUMYSQL-CON-BIN.JAR;%CLASSPATH%
Menggunakan windows xp
Masukan pada halaman
control panel – system , sehingga muncul jendela system properties. Lanjutkan
dengan memilih tab advanced, kemudian klik tombol nvironment variabeles, klik
pada system variables, dan tekan tombol new.
Pada jendela nw system
variable, masukan nama variable pada kontak berlabel variable name: kemungkinan
nilai pariabelnya pada kontak variable value.
Dalam hal ini ,
penggunaan classpath sering kita perlukan sehingga kita harus memahaminya
dengan baik, memang benar pada saat aplikasi nanti kita tidak perlu lagi
melakukan pemasangan secara manual
seperti itu karena akan kita lakuakn dengan bantuan editor masing-masing, baik
pada Gel maupun NetBean
1.6 kelas dan objek
Kelas adalah definisi
umum untuk himpunan objek sejenis, kelas meupakan bentuk logic, di mana seluruh
bahasa berientasi objek dibangun untuk mndefinisikan bentuk dan
sifat/jekajjyab/orukajy objek. Dedangkan objek adalah benda secara fisik atau
konseptual.
Bentuk umum definisi
kelas sebagai berikut:
Class <nama
kelas> [extends kelas nnk moyag /
interface]{
}
Cintoh kelas:
Misalnya kita merancang
kelas untuk himpunan hewan mamalia yang berdiri atas kucing dang singa, maka
mamalia sebagai kelas pertaman (induk) bagi kelas turunan kucing dan singa.
Singa
|
suara
makanan
kaki
|
·
Infokelas()
·
Mencabik()
·
Berburu()
|
kucing
|
·
Suara
·
Makanan
·
kaki
|
·
infoklas()
·
mencakar
|
CONTOH CLASS DIAGRAM
Berikut
keterangan dalam bntuk kelas diagram, mamalia sebagai kelas utama yang memiliki
bebrapa turunan, yak ni kelas kucing dan singa yang mewarisi seluruh metode dan
property nenek moyangnya, yakni mamalia.
Kelas
mamalia adalah kelas induk/utama/nenek moyang yang memiliki beberapa atribut/property,
yakni suara, makanan dan kaki, sedangkan metode yang dimilikinya adalah
setsuara, setmakanan,setkaki, getsuara, getkaki, dan infokelas.
Kelas
singa adalah keturunan dari kelas mamalia yang mewarisi seluruh
atribut/properti dan metode dari nenek moyangnya bahkan kelas singa juga
memiliki metode yang spesifik dan tidak dimiliki kelas mamalia, yakni mencabik
dan berburu.
Kelas
kucing adalah keturunan juga dari kelas mamalia, tentunya dia juga mewarisi
segala hal yang dari nenek moyangnya , selain metoden khusus yang dimilikinya,
yakni metode mencakar.
1.7 menggunakan gel sebagai editor java
Sebelum
anda memulai membua program, anda perlu mengenali dulu editor program java, Gel
adalah Editor yang memiliki fasilitas cukup memadai, dengan kecepatan yang
tinggi, dukungan set path dan classpath secara mudah, seta fasilitas untuk
manajemen file, dan masih banyak lagi fasilitas yang tersedia membuat editor
ini cukup memadai untuk mmbuat aplikasi besar maupun kecil.
1.7.1 membuat proyek
Berikut
ini langkah untuk membuat program baru dengan editor gel
1.
jalankan
editor gel anda
2.
pilih
menu File – New Project – Empty Project
3.
lanjutkan
dengan mengklik tombol OK
4.
selanjutnya
masukan nama file projectnya tekan save sehingga muncul properties
untuk menambahkan informasi path atau
library sudah tersedia pada tab-nya masing-masing, misalnya kita mau membuat
setclasspath unutk library driver database MySQL. Maka, masuk dalam tab
Libraries, pilih tombol Add, lalu
masukkan nama librarynya dan tentukan lokasi fienya dengan menekan tombol Add
File kemudian tokan tombol OK, dan tombol OK sekali lagi.
Untuk membuat file baru pada proyerk,
pilihmenu File – New kemudian pilih java File, lalu tentukan nama filenya dan
klik tombol sive.
Selanjutnya masukan kode program
kedalam jndela file tersebut.
1.7.2
mejalankan proyek
Berikut ini langkah mudah ntuk
menjalankan proyek yang sebelumnya telah dibuat dari editor Gel.
Untuk melakukan kompilasi pilih menu
build, lalu pilih compile project utnuk dapat menjalankannya, pilih project –
properties, pilih tab run. Selanjutnya klik makukan Class, kemudian pilih nama
kelas yang akan dijalankan, klik tombol OK, dan
OK sekali lagi.
Pada jedela project manager akan
menampilkanseluruh file yang ada dalam project, sedangkan jendela class browser
menampilkan seluruh method dan atribut yang ada dalam file yang sedang aktif.
Selanjutnya pilih menu build – run project.
1.8
latihan dasar membuat kelas
Sekarang buatlah proyerk dlam gel
dengan cara memilih menu file – new project . di dalam jendela new intem ,
pilih tab projects, kemudian pilih empt project dan kelik kok. Selanjutnya ,
beri nama proyek1 dalam isian file name lalu klik tombol save.
Selanjutnya dalam jendela project
properties anda bisa menyesuikan beberapa komfigurasi mulai dari path JDK,
liberary sampailetak file hasil kmpilasi (perhatikan tab-tab dalam jendela
tersebut), untuk sementara anda bisa menekan OK saja untuk mmulai mebuat
program.
Baut kelas baru dangan cara memilih
project pada jendela project manager kemudian klik kanan, kpilii – folders –
add class.
Masukan kelasnya pada class name
mamalia kemudian tekan OK . sehingga muncul editor file mamalia.java
Lakukan penambahan kode program dalam
kelas tersebut sehingga menjadi seperti ini:
//mamalia.java
Class mamalia{
Private string suara;
Private string makanan;
Private int kaki;
Public mamalia(){
This.suara=”suara mamalia”;
This.makanan=”makanan mamalia”;
This.kaki=4;
}
Publicmamalia(string suaranya, string
makanannya, int kakinya){
Suara=suaranya;
Makanan=makanannya;
Kaki=kakinya;
}
Public void setsuara(string
suaranya){
Suara=suaranya;
}
Public void setmakanan(string
makananya){
Makanan=makananya;
}
Public void setkaki(int kakinya){
Kaki=kakinya
}
Public string getsuara(){
Return suara;
}
Public string getmakanan(){
Return makanan;
}
Public int getkaki(){
Return kaki;
}
Public void main infokelas(){
System.out.println(“makanan=”+makanan);
System.out.println(“suara=”+suara);
System.out.println(“jumblah kaki=”+
sting.valueof(kaki));
}
Public static void main(string[]
args){
System.out.println(“ç==objek mm start====”);
Mamalia mm= new mamlia();
mm.infokelas();
system.println(“====objek mm end ==è”);
system.out.println(“<====objek mm2
start====”);
mamaliamm2 = new mamalia(“meringkik”,
“rumput”, “8);
mm2.infokelas();
system.out.println(“====objek mm2
melalui setter====”);
mm2.setsuara(“raung”);
mm2.setmakanan(“daging”);
mm2.setkaki(12);
mm2.infokelas(.);
system.out.println(“====objek mm2 and
==è”);
}
}
Perhatikan penjelasan berikut ini.
Kelas ini memiliki beberaa property,
yakni suara, makanan, kaki. Nilai propri2 ini secara default diisi pada saat
konstuktor dijalankan.
Kapan konstruktor dijalankan? Ketika
instance objek ini diciptakan menggunakan new(), untuk dapat menjalankan kode
ini kita bisa melakukan dengan printah:
Mamalia mm = new mamalia();
Istilah konstruktor yang dimaksud:
Public mamalia(){
This.suara=”suara mamalia”;
This.makanan=”makanan mamalia”;
This.kaki=4;
}
Penggunaan this pada konstruktor
tersebut menunjukkan objekkelas mamalia itu sendiri. Penggunaan this ini
opsional, anda bisa menggunakan atau tidak.
Selain itu, kelas ini juga memiliki
konstruktor yang lain dengan arameter yang berbeda , dengan cara penulisan
seperti berikut:
Mamalia mm2 = new mamalia(“meringkik”,
“rumput”, 8);
Inilah konstruktor penulisan program
di atas:
Public mamalia(string suaranya,
string makananya, int kakinya){
Suara=suaranya;
Makanan=makananya;
Kaki=kakinya;
}
Selain itu, kelas ini juga memiliki
bebrapa metode, antara lain:
setSuara (string suaranya) untuk member nilai property suara.
Perhatikan penulisan string suaranya, ini seui dengan tipe property yang
diisikan, yakni suara. Perhatikan deklarasi String suara pada bagian deklarasi
property sebelumnya.
Public void setsuara (string suaranya){
Suara=suaranya;
}
Setmakanan(string makananya) untuk memberikan nilai property
makanan.
Public void setmakanan (string
makananya){
Makanan=makananya;
}
Setkaki(int kakinya) untuk member nilai properti jumlah
kaki. Perhatikan tipe datanya, int berarti angka. Anda harus meberikanya nilai
angka pada saat member nilai.
Public void setkaki(int kakinya){
Kaki=kakinya;
}
Setring getsuara() beberapa dengan metode sebelumnya,
metode ini bukan untuk memberikan nilai propeti , tetapi sebaliknya memperoleh
nilai properti suara. Perhatikan printah return suara; niali properti suara
tersebut yang akan diberikan apabila metode ini diipanggil.
Public string getsuara(){
Return suara;
}
Setring getmakanan() metode ini juga untuk memprole niali
properti makanan.
Public string getmakanan(){
Return makanan;
}
Int getkaki () metode ini juga untuk memproleh nilai
properti jumlah kaki.
Public int getkaki(){
Return kaki;
}
ini kelanjutan program yang diatas
Void infokelas () metode ini berbeda dengan
metode-metode sebelumnya, perhatikan penulisan void pada tipe metode ini. Ini
berarti metode ersebut tidak untuk menghasilkan sebuah nilai tertentu. Tetapi
untuk mengerjakan sesuatu. Jika anda perna berlajar bahasa pemograman pscal,
ini sama dengan procedure. Ingat dalam java tidak ada prosecdure, tetapi hanya fungsi. Perintah
tersebut untuk menampilkan semua atribut kelas ini.
Public void infokelas(){
System.out.println(“makanan=
“+makanan);
System.out.println(“suara= “+suara);
System.out.println(“jumblah kaki=”
+string.valueof(kaki));
}
Void main (string[] arg) metode ini tidak harus dimiliki orlh
semua kelas. Metode main diperlukan apabila kelas ini ingin dijalankan. Pada
metode ini , mula-mula instance kelas mamalia mm, kemudian memanggil metode infokelas()
dan beberapa metode lainnya.
Public static void main (string[]
args){
Sstem.out.println(“ç====objek mm start=====”);
Mamalia mm = new mamlia();
mm.infokelas();
system.out.println(“ç====objek mm and ==è”);
system.out.println(“ç====objek mm2 start====”);
mamlia mm2 = new mamalia(“meringkik”,
“rumput”, 8);
mm2.infokelas();
system.out.println(“=====objek mm2
melalui stter ===”);
mm2.setsuara(“raung”);
mm2.setmakanan(“daging”);
mm2.setkaki(12);
mm2.infokelas();
system.out.println(“====objek mm2 and
===è”);
}
Saatnya untuk kompilasi dengan cara
pilih menu utama Buid -à Clean and Build. Selanjutnya
anda harus melakukan perubahan kelas yang akan di jalankan pertama saat
projek ini akan dijalankan, dengan cara sebabagi berikut. Pilih menu Project
à Properties, kemudian dalam jendela Project
Properties pilih Run.
Kemudian pada kotak masukan Class,
klik tobol … , sehingga muncul jendela package Browser yang menyediakan pilihan
semua kelas yang bisa anda pilih dalam project, pilihlah mamalia dan klik
tombol ok.
Selanjutnya anda bisa mejalankan
program tersebut dengan cara memilih menu Build à Run Project , sehingga muncul
jendela hasil eksekusi pada layar Output.
Pahami sekali lagi pembuatan projek,
kelas, dan cara untuk menjalankan program tersebut karena tidak menarik buat
anda jika membahas langkah-langkah yang sama brulang kali.
1.9 pewarisan
Pewarisan adalah membentuk subkelas
dari kelas utama (induk). Dari kelas mamalia sebelumnya kita akan membuat kelas
turunan berupa kucing dan singa sehingga keduanya mewarisi seluruh kemampuan
kelas mamalia sebagai nenek moyangnya. Disamping itu, dia akan memiliki
kemampuan Khusus yang tidak dimiliki oleh nenek moyangnya.
Silakan anda membuka Projek1
sebelumnya dan menambahkan kelas baru, yakni kelas kucing seperti berikut ini.
//kucing.java
Class kucing extnds mamalia{
Private
string suara;
Private
string makanan;
Private
int kaki;
Public
kucing(string v suara , string v makanan){
This.suara=v
suara;
This.makanan=v
makanan;
}
Public
void mencakar(){
System.out.println(“menggunakan
cakar saat bertarung”);
}
Public
static void main (string[] args){
Kucing
k = new kusing(“meong”, “serangga”);
K.mencakar();
}
}
Selanjutnya buatlah satu klas lagi,
yak ni kelas singga dan lengkapi programnya menjadi seperti berikut ini.
//singa.java
Public class singa extends mamalia{
Private
string suara;
Private
string makanan;
Private
int kaki;
Public
singa(string suara, string makanan){
This.suara=suara;
This.makanan=makanan;
}
Public
void infokelas(){
System.out.println(“makanan=
“+this.makanan);
System.out.println(“suara
= “ +this.suara);
}
Private
vod mencabik(){
System.out.println(“mencabik
ketika memotong mangsanya’);
}
Public
void berburu(){
System.out.println(“makanan=
“ +this.makanan);
System.outprintln(“suara
= “ +this.suara);
Mencabik();
}
Public
static void main(string[] args){
Singa
s = new singa (“raung”, “kelinci”);
s.infokelas();
s.berburu();
}
}
sabar ya untuk program brikutnya bersambung.......