Konsep Bahasa Pemrogaraman (JAVA)

Jumat, 04 Mei 2012 1 komentar

A. SEJARAH JAVA
Bahasa Java merupakan karya Sun Microsystem Inc. Bahasa Java secara resmi diperkenalkan oleh Sun pada dunia tanggal 23 Mei 1995 dan Netscapemenjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun.
Sedangkan, pembangunan Java itu sendiri sudah dimulai sejak tahun 1991, saat itu “Stealth Project” mengadakan pertemuan brainstorming yang terdiri dari sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer. Proyek ini diberi nama “Green”. Karena orang-orang di proyek Green berbasis C++ maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek bukan prosedural.
Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi dengan “Java” diikuti oleh IBM, Symantec, Insprise, bahkan Microsoft. Setelah itu, gaung “Java” mulai terdengar dan dengan strategi terbukanya membuat banyak industri melirik dan menyambutnya. Sebagai bahasa yang menampung hampir seluruh kemampuan terbaik bahasa pemrograman yang pernah dikembangkan umat manusia, maka bahasa ini menjadi tidak mudah, sedikit rumit, dan kompleks. Namun demikian, kita pantas sedikit bersusah agar dapat mampu menguasai salah satu perangkat terampuh yang pernah dibuat umat manusia.
B. EDISI JAVA
  1. 1. Java 2 Standard Edition (J2SE)
J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, dan aman. Edisi ini mendukung fitur konektivitas basis data, rancangan antarmuka pemakai, masukan/keluaran (I/O), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa Java.
  1. 2. Java 2 Enterprise Edition (J2EE)
J2EE menyediakan lingkungan untuk membangun dan menjalankan multitier enterprise applications. Edisi ini berisi paket-paket untuk mendukung pengembangan Enterprise JavaBeans (EJB), Java Servlet, Java Server Pages, XML, dan kendali transaksi yang fleksibel.
  1. 3. Java 2 Micro Edition (J2ME)
J2ME untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box. J2ME menggunakan sekumpulan paket lebih kecil, berisi subset dari paket-paket di J2SE ditambah paket spesifik Micro Edition berupa javax.microedition.io.
C. KELEBIHAN
  1. Sederhana (Simple)
Syntax untuk Java seperti syntax pada C++ tetapi syntax Java Jika anda mengenal C++ dengan baik, maka anda dapat berpindah ke syntax Java dengan mudah tetapi jika tidak, anda pasti tidak berpendapat bahwa Java sederhana.
  1. Berorientasi Objek (Object Oriented)
Rancangan berorientasi objek merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface. Fasilitas pemrograman berorientasi objek pada Java pada dasarnya adalah sama dengan C++, tetapi Java memiliki cara penyelesaian yang lebih baik.
  1. Terdistribusi (Distributed)
Aplikasi Java dapat membuka dan mengakses objek untuk segala macam NET lewat URL sama mudahnya seperti yang biasa dilakukan seorang programmer ketika mengakses file sistem secara lokal.
  1. Kuat (Robust)
Java dimaksudkan untuk membuat suatu program yang benar-benar dapat dipercaya dalam berbagai hal. Java banyak menekankan pada pengecekan awal untuk kemungkinan terjadinya masalah, pengecekan pada saat run0time dan mengurangi kemungkinan timbulnya kesalahan (error).
  1. Aman (Secure)
Java memungkinkan penyusunan program yang bebas virus, sistem yang bebas dari kerusakan.
  1. Netral Arsitektur (Architecture Neutral)
Kompiler membangkitkan sebuah format file dengan objek arsitektur  syaraf, program yang di kompile dapat dijalankan pada banyak prosesor, disini diberikan sistem run time dari Java. Java dirancang untuk mempermudah penterjemahan pada banyak komputer dengan mudah dan diterjemahkan pada komputer asal pada saat run-time.
  1. Portabel (Portable)
Librari atau pustaka merupakan bagian dari sistem yang mendefinisikan interface yang portabel.
  1. Interpreter
Interpreter Java dapat meng-eksekusi kode byte Java secara langsung pada komputer-komputer yang memiliki interpreter.
  1. Kinerja Yang Tinggi (High Performance)
Meskipun kinerja kode byte yang di interpretasi biasanya lebih dari memadai, tetapi masih terdapat situasi yang memerlukan kinerja yang lebih tinggi.
10.  Multithreaded
Multithreading adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan sekaligus. Keuntungan dari multithreading adalah sifat respons yang interaktif dan real-time.
11.  Dinamis
Java dirancang untuk beradaptasi dengan lingkungan yang terus berkembang. Librari dapat dengan mudah menambah metode dan variabel contoh yang baru tanpa banyak mempengaruhi klien.
DASAR-DASAR JAVA
A. KOMENTAR
Komentar digunakan untuk memberikan penjelasan atau informasi kepada pembaca program.
  1. // … (berlaku untuk satu baris)
  2. /* … */ (berlaku untuk beberapa/banyak baris)
B. KATA KUNCI (KEYWORDS)
Keyword adalah kata kunci spesial dalam Java yang tidak dapat digunakan untuk mengidentifikasi sebuah nama dari class, method, dan variabel.
C. PENGENAL (IDENTIFIER)
Pengenal (identifier) adalah nama yang diciptakan oleh pemrogram dan digunakan di dalam program untuk memberi nama kelas/variabel pada program. Aturan pemberian nama pengenal pada Java adalah sebagai berikut :
  1. Karakter pertama berupa huruf, tanda garis bawah ( _ ), atau tanda dolar ($).
  2. Karakter kedua dan seterusnya dapat berupa sembarang huruf atau angka.
  3. Panjang pengenal bebas (bisa berapa saja).
  4. Case sensitiv (huruf kapital dan huruf kecil dibedakan).
Contoh :  $_99
_nama
D. LITERAL
Besaran konstanta pada Java dihasilkan dengan menggunakan literal yang mewakilinya. Setiap literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana sifat nilai tersebut dan bagaimana penyimpanannya.
E. VARIABEL
Variabel menyatakan suatu lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu nilai dan nilai yang ada di dalamnya bisa diubah.
Mendeklarasikan variabel :
Di dalam pendeklarasian, nama variabel dan tipe yang dikandung disebutkan. Bentuk pendeklarasian variabel :
tipe namaVar;
Contoh : int jumlahBarang;
Memberikan nilai terhadap variabel :
Setelah variabel di deklarasikan, variabel dapat diberi nilai. Caranya adalah dengan menggunakan operator =.
variabel = nilai;
  1. F. KONSTANTA
Java memungkinkan pendefinisian konstanta melalui kata kunci final. Contoh :
final double PI = 3.14;
Menyatakan bahwa PI adalah konstanta bertipe double dengan nilai 3,14. Kata kunci final menyatakan bahwa PI tak dapat diubah setelah didefinisikan.
G. TIPE DATA
  1. 1. Integer
TipeUkuranJangkauan (inclusive)
int4 byte- 2.147.483.648 sampai 2.147.483.647 (hanya lebih dari 2 miliar)
short2 byte- 32.768 sampai 32.767
long8 byte- 9.223.372.036.854.775.808L sampai 9.223.372.036.854.775.807L
byte1 byte- 128 sampai 12
7
  1. 2. Floating point
TipeUkuranJangkauan
float4 bytesecara kasar 3,40282347E+38F  ( 7 digit desimal signifikan)
double8 bytesecara kasar ± 1,79769313486231570E+308  (15 digit desimal siignifikan)
  1. 3. Char
Tipe untuk menyatakan sebuah karakter (yang tercakup dalam himpunan kode Unicode).
  1. 4. Boolean
Tipe data boolean digunakan untuk menangani keadaan logika atau keadaan dengan dua kemungkinan nilai. Nilai yang dapat digunakan adalah true(benar) dan false (salah).
H. OPERATOR
Operator adalah simbol/karakter khusus yang digunakan dalam suau ekspresi untuk menghasilkan suatu nilai.
  1. 1. Arithmetic Operator
OperatorOperation
+Addition
-Subtraction
*Multiplication
/Division
%Modulo
  1. 2. Bitwise Operator
OperatorOperation
&AND
|OR
^XOR
>>Shift Kanan
<<Shift Kiri
>>>Shift Kanan isi dengan nol
  1. 3. Unary Operator
OperatorOperation
~Unary NOT
-Minus
++Increment
Decrement
  1. 4. Relational Operator
OperatorOperation
==Equal To
!=Not Equal To
>Greater Than
<Less Than
>=Greater or Equal To
<=Less or Equal To
  1. 5. Logical Operator
OperatorOperation
!Short-circuit NOT
&&Short-circuit AND
||Short-circuit OR
?:Operator ternary if-then-else
  1. I. STREAM
Stream berhubungan dengan proses untuk membaca data dari suatu sumber atau mengirimkan data ke suatu tujuam. Pada saat program Java dijalankan, terdapat tiga buah stream standard yang dengan sendirinya disediakan Java, yaitu System.in untuk menangani pembacaan dari keyboard, System.out untuk mengirimkan keluaran ke layar, danSystem.err untuk mengirimkan kesalahan (standard error).
  1. 1. Kelas InputStream
Merupakan kelas abstrak yang menjadi dasar bagi semua kelas yang berhubungan dengan pembacaan data dari suatu sumber. Turunan dari kelas ini antara lain FileInputStream, FilterInputStream,danStringBufferInputStream. Metode-metode pada kelas InputStream :
Bentuk MetodeKeterangan
int available()Menghasilkan jumlah data yang telah tersedia untuk dibaca
void close()Untuk menutup stream
int read()Untuk membaca sebuah byte data
int read(byte[] bufferUntuk membaca sejumlah byte data
int read(byte[] buffer, intoffset, int jumlah)Untuk membaca sejumlah byte data dimulai pd posisi tertentu
void resetMeletakkan posisi yang telah ditandai oleh mark()
long skip(long n)Melompati sejumlah byte
  1. 2. Kelas OutputStream
Merupakan kelas abstrak yang menjadi dasar untuk semua stream keluaran. Turunan dari kelas ini yaitu ByteArrayOutputStream, FileOutputStream, FilterOutputStream, dan PipedOutputStream. Metode-metode pada kelas OutputStream :
Bentuk MetodeKeterangan
void clear()Menutup stream keluaran
void flush()Memaksa penulisan byte-byte keluaran yang ada dalam penyangga (buffer) ke stream keluaran
void write(int b)Menuliskan byte b ke stream keluaran
void write(byte[] buffer)Menuliskan isi buffer ke stream keluaran
void write(byte[] buffer, int offset, int n)Menuliskan isi buffer sebanyak, n buah dimulai dari posisi offset
  1. 3. Kelas ByteArrayOutputStream
Merupakan kelas yang digunakan untuk mengirimkan keluaran ke suatu array dengan elemen bertipe byte. Metode dari kelas ini :
Bentuk MetodeKeterangan
toString()memperoleh string yang berkelas String
toByteArray()mengubah stream ke array byte
size()menghasilkan jumlah byte yang dapat ditampung dalam penyangga
writeTo()menuliskan isi penyangga keluaran ke suatu stream keluaran yang menjadi argument metode ini.
  1. 4. Kelas ByteArrayInputStream
Kelas ini menciptakan stream masukan dari suatu penyangga (array byte). Konstruktor yang umum dipakai melibatkan argument array dengan elemen bertipe byte.
  1. 5. Kelas FileOutputStream
Berfungsi untuk menuliskan keluaran ke suatu berkas. Konstruktor kelas ini melibatkan argument yang menyatakan berkas yang akan diciptakan.
FileOutputStream berkasKeluaran = New FileOutputStream(“tes123.txt”);
Akan membuat berkas tes123.txt diciptakan dan dibuka. Dengan menggunakan metode write(), data dapat dituliskan ke berkas. Untuk menutup dengan metode close().
  1. 6. Kelas FileInputStream
Digunakan untuk membaca data dari suatu berkas. Metode yang penting yaitu :
  1. read() untuk membaca data
  2. close() untuk menutup berkas
  3. available() untuk memperoleh jumlah data yang bias dibaca.
  1. J. PAKET DAN IMPORT
Sejumlah kelas yang terkait pada Java biasa  dikelompokkan dalam sebuah unit yang disebut paket (package). Kelebihan dari paket adalah memungkinkan penentu akses bawaan (tanpa penyebutan private, public, atau protected) pada variable dan metode sehingga variable atau metode tersebut dapat diakses oleh semua kelas yang terletak dalam satu paket.
Contoh : package kelasku;
Pernyataan import merupakan mekanisme dalam program untuk mengakses kelas yang terdapat dalam suatu paket.
Import namaPaket.namaBerkas;
Contoh : import java.util.Date;
Contoh diatas memberitahukan bahwa akan menggunakan kelas bernamaDate yang berada dalam paket java.util.
CONTROL FLOW
A. PERCABANGAN
  1. 1. Pernyataan If
Pernyataan if merupakan salah satu bentuk pernyataan berkondisi yang berguna untuk pengambilan keputusan terhadap dua buah kemungkinan.
if (kondisi) {
//blok pernyataan yang dijalankan kalau kondisi bernilai benar
} else {
//blok pernyataan yang dijalankan kalau kondisi bernilai salah
}
Suatu pernyataan if bisa berada dalam pernyataan if. Pernyataan if seperti ini disebut if bersarang (nested if).
  1. 2. Pernyataan Switch
Perintah switch memungkinkan untuk melakukan sejumlah tindakan berbeda terhadap sejumlah kemungkinan nilai.
switch (ekspresi) {
case nilai1 :
pernyataan1;
break;
case nilai2 :
pernyataan2;
break;
default: pernyataanN;
}
Pernyataan break digunakan untuk mengakhiri eksekusi switch. Namun adakalanya break justru tidak diberikan pada bagian case tertentu. Tujuannya adalah agar eksekusi dilanjutkan ke pernyataan yang ada di bawahnya.
B. PERULANGAN (LOOPING)
Looping artinya mengulangi eksekusi blok program tertentu sampai tercapai kondisi untuk menghentikannya.
  1. 1. Pernyataan while
Penggunaan pernyataan while akan dijalankan secara terus menerus selama pernyataan bernilai benar.
while (kondisi) {
//blok pernyataan
}
  1. 2. Pernyataan do-while
Penggunaan pernyataan do –while akan dijalankan sekurang-kurangnya 1 kali walaupun pernyataan bernilai salah.
do{
//blok pernyataan
while(kondisi);
  1. 3. Pernyataan for
Pernyataan for adalah cara praktis untuk menyatakan suatu perulangan.
for(inisialisasi;kondisi;penaikan/penurunan) {
//blok pernyataan
}
Inisialisasi : untuk memberikan nilai pada variabel yang digunakan mengontrol pengulangan.
Kondisi : untuk mengontrol pengulangan dilanjutkan/diakhiri.
Penaikan/penurunan : untuk menaikkan/menurunkan nilai variabel pengontrol pengulangan.
Penyataan continue digunakan untuk menghentikan iterasi yang bersangkutan tetapi program akan menjalankan sisa perulangan sampai dengan selesai.
C. CONTOH PROGRAM
Contoh berikut akan memperjelas pemahaman terhadap pernyataan for.
public class PernyataanFor {
public static void main(String[] args) {
For(int bil=1; bil<13; bil++)
System.out.println(bil);
}
}
Keterangan :
  • Int bil = 1 digunakan untuk mendeklarasikan bil dan memberikan nilai 1 ke variabel tersebut.
  • Bil < 13 digunakan untuk menguji apakah nilai bil < 13. Kalau ya, bagian pernyataan akan dijalankan dan kemudian bagian bil++ akan dieksekusi dan pengujian dilakukan kembali. Kalau tidak, maka forberakhir.
  • Bil++ digunakan untuk menaikkan nilai bil sebesar 1.
OBJECT DAN CLASS
A. OBJECT
Objek dibuat mula-mula membuat variabel yang kelak merujuk ke objek. Variabel seperti ini biasa disebut variabel objek. Selanjutnya objek diciptakan melalui new dan hasilnya ditugaskan ke variabel objek.
Contoh :
Date waktuSekarang;
WaktuSekarang = new Date();
Variabel waktuSekarang merujuk ke objek yang berisi tanggal dan jam saat pernyataan WaktuSekarang = new Date(); dijalankan.
B. CLASS
Kelas pada Java didefinisikan dengan menggunakan kata kunci class.
Contoh :
class Mobil {
String warna;
Int tahunProduksi;
}
Pada contoh di atas kelas yang dibuat bernama Mobil. Dalam hal ini warna dan tahunProduksi disebut variabel instan/field.
Sebuah kelas umumnya tersusun atas variabel instan dan metode untuk objek. Metode adalah fungsi/subprogram yang melekat pada sebuah objek/instan kelas.
Variabel kelas adalah variabel yang berlaku tidak terbatas hanya pada objek tetapi pada seluruh objek. Variabel ini didefinisikan dengan menggunakan kata kunci static.
C. KATA KUNCI THIS
Kata kunci this digunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang. Contoh :
void isiData(String warna, int tahunProduksi) {
this.warna = warnaMobil;
this.tahunProduksi = tahunProduksi;
}
D. PENENTU AKSES : PRIVATE DAN PUBLIC
Pada pemrograman yang berorientasi objek, akses terhadap suatu variabel instan di luar kelas biasanya tidak diperkenankan. Sebagai penggantinya, disediakan metode yang diperlukan untuk mengakses variabel instan.
Berkaitan dengan boleh tidaknya suatu variabel instan diakses dari luar kelas, Java menyediakan penentu akses.
  • Public berarti bahwa pengaksesan suatu variabel instan atau metode dapat dilakukan dari luar kelas.
  • Private berarti bahwa pengaksesan suatu variabel instan atau metode hanya dapat dilakukan di dalam kelas, tidak bisa diakses dari luar kelas.
Perbedaan public, private, dan tanpa penentu akses pada variabel.
Penentu AksesKeterangan
Tanpa penentu aksesVariabel dapat diakses oleh kelas yang berada dalam paket yang sama.
PublicVariabel dapat diakses pada semua kelas yang menggunakan kelas yang berisi variabel tersebut.
PrivateHanya dapat diakses oleh metode-metode dalam kelas itu sendiri
Perbedaan public, private, dan tanpa penentu akses pada variabel.
Penentu AksesKeterangan
Tanpa penentu aksesMetode hanya dapat diakses oleh metode dalam kelas itu sendiri ataupun metode pada kelas lain yang terletak pada paket yang sama.
PublicMetode dapat diakses oleh sembarang kelas.
PrivateHanya dapat diakses oleh metode-metode dalam kelas yang sama.
E. KONSTRUKTOR
Konstruktor adalah metode yang dapat digunakan untuk memberikan nilai awal saat objek diciptakan. Metode ini akan dipanggil secara otomatis oleh Java ketika new dipakai untuk menciptakan instan kelas.
Sifat konstruktor :
  1. Namanya sama dengan nama kelas.
  2. Tidak memiliki nilai balik (termasuk tidak boleh ada kata kunci void).
Contoh :
public Mobil(String warna, int tahunProduksi) {
this.warna = warna;
this.tahunProduksi = tahunProduksi;
}
  1. F. OVERLOADING TERHADAP KONSTRUKTOR
Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini pembeda antara satu konstruktor yang lain berupa jumlah parameter.
Contoh :     new Mobil(“Merah”, 2008)
ARRAY
Array pada Java adalah objek yang dapat digunakan untuk menyimpan sejumlah data. Elemen yang disimpan dapat berupa tipe primitif (misalnyaint) ataupun instan kelas (objek). Langkah menciptakan array :
  1. Mendeklarasikan variable untuk menuju ke array (selanjutnya disebut variable array).
  2. Menciptakan objek array dan menugaskannya ke variable yang dideklarasikan pada langkah pertama.
Mendeklarasikan variable array :
Tipe namaVariabelArray[];
atau
namaKelas namaVariabelArray[];
contoh : string[] kota;
int[] nilai;
Penciptaan objek array dan penugasan objek ke variable array dilakukan dengan menggunakan kata kunci new.
namaKelas namaVariabel=new namaKelas[jumlahElemen];
tipe namaVariabel=new tipe[jumlahElemen];
contoh : kota=new String[5];
Objek array dengan elemen berkelas String sebanyak 5 dialokasikan/disiapkan di dalam memori computer dan objek ini dirujuk oleh variable kota.
Elemen array dapat diakses melalui notasi :
namaVariabelArray[subskrip];
Subskrip berupa nomor elemen. Dalam hal ini elemen pertama memiliki subskrip berupa nol, elemen kedua mempunyai subskrip 1 dan seterusnya.
Contoh : kota[0]=”Jakarta”;
Akan membuat elemen pertama (subskrip 0) array yang dirujuk kota diisi dengan string “Jakarta”.
Jumlah elemen array dapat diketahui dengan menggunakan variable instanlength miliki objek array.
Java mendukung array multidimensi melalui pendekatan “array dari array”.
Contoh : int[][] piksel=new int [5][3];
Contoh Program :
public class ContohArray {
public static void main(String[] args) {
String[] kota=(“Jakarta”,”Bandung”,”Semarang”,”Medan”,”Jogja”);
//menampilkan elemen array
for(int i=0;i<kota.length;i++)
System.out.println(kota[i]);
}
}
PEWARISAN
Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas dengan didasarkan pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya.
Untuk memudahkan pemahaman terhadap cara mewariskan kelas, buatlah kelas seperti berikut :
class Alpha {
private int a=5;
public void info() {
System.out.println(“a= “ + a);
System.out.println(“Dipanggil pada “ + this.getClass().getName());
}
}
Kelas Alpha memiliki sebuah variable instan yaitu a dan sebuah metode yaitu info(). Perlu diketahui, this.getClass().getName() merupakan ekspresi untuk memperoleh nama kelas.
Berdasarkan kelas Alpha bias dibuat kelas baru, katakanlah bernama Bravo. Kelas turunan ini secara prinsip dapat dibuat dengan menggunakan bentuk :
Class KelasTurunan extends KelasDasar {
//tubuh kelas
}
KelasTurunan menyatakan kelas turunan yang akan dibuat berdasarkan sebuah kelas dasar.
KelasDasar yang terletak sesudah kata kunci extends menyatakan superkelas.
Class Bravo extends Alpha {
Private int b=7;
Public static void main(String[] args) {
Bravo obj=new Bravo();
Obj.info();
}
}
Kelas Bravo merupakan kelas turunan dari superkelas Alpha dan memiliki variable instan tambahan berupa b. di dalam main() dideklarasikan variableobj yang merujuk ke objek berkelas Bravo. Mengingat kelas Bravo juga memiliki metode info().
A. PENENTU AKSES PROTECTED DAN FINAL
  1. 1. Protected
Protected berarti untuk mengatur agar suatu variable instan ataupun metode yang terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan pada subkelas.
  1. 2. Final
Final dapat diterapkan pada variable instan atau pada metode.
  1. Pada variable instan, final akan membuat variable menjadi suatu konstanta.
Contoh : final public double PI=3.14;
  1. Pada metode, final akan membuat kelas tak dapat ditimpa (di-override) pada subkelas.
Contoh : final void info()
B. ABSTRACT
Metode abstrak adalah metode yang belum mempunyai implementasi. Kita dapat menyatakan suatu metode abstrak dengan membubuhkan kata kunci abstrak pada deklarasi method tersebut.
Contoh :
public abstract class Kendaraan {
protected String nama;
public abstract void jalankan();
}
Kendaraan merupakan kelas abstrak. Di dalam kelas ini dideklarasikan sebuah metode abstrak bernama jalankan(). Metode ini disebut metode abstrak karena dideklarasikan dengan menggunakan kata kunci abstract. Perhatikan pula tak ada tubuh metode pada metode abstrak ini, karena pendefinisian metode tersebut harus dilakukan pada subkelas.
STRING DAN STRINGBUFFER
A. KELAS STRING
String adalah kelas yang menangani deretan karakter.
  1. 1. Ukuran String
String helloJava=”J2SE”;
helloJava.lenght();
  1. 2. Mendapatkan kembali String
String helloJava=”J2SE”;
For(int i=0;i<helloJava.lenght();i++) {
System.out.print(helloJava.charAt(i));
}
  1. 3. Substring
String msg=”Hello Java2”;
System.out.println(msg.substring(2,8));
System.out.println(msg.substring(3));
  1. 4. Konversi String
    1. toLowerCase() : seluruh huruf berupa huruf kecil.
Contoh : System.out.println(msg.toLowerCase());
  1. toUpperCase() : seluruh huruf berupa huruf capital.
Contoh : System.out.println(msg.toUpperCase());
  1. trim() : menghilangkan seluruh spasi ataupun karakter control yang terletak di awal dan di akhir string ini.
Contoh : System.out.println(msg.trim() + ”for beginner”);
  1. replace(oldChar,newChar) : berisi string dengan semua karakter yang sesuai dengan argumen pertama diganti dengan argumen kedua.
Contoh : System.out.println(msg.replace(‘e’,’a’));
  1. 5. Pencarian Karakter
    1. indexOf(int ch) : menghasilkan nilai bertipe int yang menyatakan posisi pertama untuk karakter yang nilainya ch pada string ini. Jika tidak ditemukan, nilai balik berupa -1.
    2. indexOf(int ch, int fromIndex) : menghasilkan nilai bertipe intyang menyatakan posisi pertama untuk karakter yang nilainya chpada string ini dimulai dari posisi index. Jika tidak ditemukan, nilai balik berupa -1.
    3. indexOf(String str) : menghasilkan nilai bertipe int yang menyatakan posisi pertama untuk substring str pada string ini. Jika tidak ditemukan, nilai balik berupa -1.
Contoh : System.out.println(msg.indexOf(‘I”));
  1. indexOf(String str, int fromIndex) : menghasilkan nilai bertipe int yang menyatakan posisi pertama untuk substring pada string ini dimulai dari posisi index. Jika tidak ditemukan, nilai balik berupa -1.
Contoh : System.out.println(msg.indexOf(‘a’,5));
B. STRINGBUFFER
StringBuffer adalah kelas yang memungkinkan penambahan atau penyisipan teks. Itulah sebabnya, kelas ini memiliki metode bernama append() yang digunakan untuk menambahkan string di bagian akhir.
Contoh :
StringBuffer buff = new StringBuffer();
buff.append(“Hello”);
buff.append(‘ ‘);
buff.append(“J2SE”);
System.out.println(buff);
  1. 1. Modifikasi StringBuffer
    1. delete()
buff.delete(0,5);
System.out.println(buff);
  1. replace()
buff.replace(0,5,”Welcome”);
System.out.println(buff);
  1. reverse()
buff.reverse();
System.out.println(buff);
  1. 2. Manipulasi StringBuffer
    1. toString() : menghasilkan string yang terdapat padaStringBuffer.
Contoh : System.out.println(buff.toString());
  1. capacity() :menghasilkan kapasitas stringbuffer.
Contoh : System.out.println(buff.capacity());
  1. length(int newLength) : jumlah karakter dalam StringBuffer.
Contoh : System.out.println(buff.length());
  1. setLength(int newLength) : mengubah panjang string menjadi nkarakter.
Contoh : buff.setLength(7);
  1. charAt() : menghasilkan karakter pada posisi indeks.
Contoh : System.out.println(buff.charAt(7));
POLYMORPHISM, INTERFACES, DAN EXCEPTION HANDLING
A. POLYMORPHISM
Polymorphism didefinisikan sebagai kemampuan beberapa objek bertipe sama bereaksi secara berbeda terhadap message yang sama. Polymorphismberarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagaipolymorphic bila objek-objek itu mempunyai antarmuka identik namun mempunyai perilaku berbeda. Polymorphism merupakan satu nama tunggal (deklarasi fungsi) dan dapat menyatakan objek kelas-kelas berbeda yang terhubung dengan superkelas yang sama diantara kelas-kelas itu.
Contoh :
Animal animal;
animal = new Dog(“Mamalia”);
animal.soundOfAnimal();
animal = new Snake(“Reptil”);
animal.soundOfAnimal();
Animal animal = new Dog(“Mamalia”);
animal.soundOfAnimal();
Disetiap iterasi pada loop diatas, pada dasarnya kita mengirimakan pesan yang sama ke objek-objek yang bertipe sama (animal). Walaupun begitu, ternyata masing-masing bereaksi dengan caranya sendiri-sendiri.
B. INTERFACES
Interface merupakan kumpulan method tanpa implementasi actual. Interface adalah kelas abstrak yang berarti tidak diimplementasikan. Sepenuhnya tidak diimplementasikan berarti tidak ada method di kelas itu yang telah diimplementasikan, juga data anggota interface dapat dipastikan variable final static yang berarti konstanta murni.
Manfaat interface :
  1. Menyediakan sarana untuk mendefinisikan protocol kelas tanpa rincian implementasinya.
  2. Pengembangan kelas dapat dilakukan tanpa khawatir mengenai komunikasi kelas.
Contoh :
interface A {
//secara default, variable berikut adalah public, satatic, & final meski tidak dinyatakan.
String str = “JAVA”;
public void setNama(String nama);
public void setAlamat(String alamat);
public void setTelepon(String telepon);
}
Java hanya memperbolehkan single inheritance (pewarisan tunggal untuk kelas yang diwariskan akan tetapi mengizinkan multiple inheritance(pewarisan jamak) dengan mengimplementasikan lebih dari satu interface.
public class SubClass extends SuperClass
implements InterfaceA, InterfaceB, …, InterfaceN {
}
Sebuah interface dapat mawarisi interface lainnya dengan menggunakan kata kunci extends.
public interface TestInterface extends InterfaceA, InterfaceB, …,
InterfaceN {
}
C. EXCEPTION HANDLING
Kesalahan pada umumnya ditangani sewaktu program dikompilasi. Namun tidak semua kesalahan dapat terdeteksi, kesalahan yang seringkali terjadi sewaktu program dijalankan. Untuk menangani kesalahan sewaktu program dieksekusi, Java menyediakan exception handling/penanganan eksepsi.
Kata kunci exception :
  1. try : program yang hendak dimonitor untuk exceptionnya dimuat di blok try. Jika exception terjadi di dalam blok try, exception tersbut dilemparkan.
try {
//Blok yang akan ditangkap sekiranya terjadi eksepsi.
}
catch (parameter) {
//Blok yang akan dijalankan kalau terjadi eksepsi
}
  1. catch : kode dapat menangkap exception menggunakan catch dan menangani dengan suatu cara yang rasional.
  2. throw : exception yang dibangkitkan system secara otomatis dilempar oleh system Java. Untuk exception yang dilempar secara manual maka menggunakan throw.
throw variabelObjek;
  1. throws : memberitahukan bahwa suatu metode ada kemungkinan menghasilkan suatu eksepsi.
public tipe1 NamaMetode(tipe2 x, tipe3 y) throws JenisEksepsi {
….
}
  1. finally : sembarang kode yang secara absolute harus dieksekusi sebelum metode keluar diletakkan di blok finally.
try {
//Blok yang akan ditangkap sekiranya terjadi eksepsi.
}
finally {
//Blok yang akan dijalankan terakhir kali.
}
Bagian finally akan dijalankan, tak tergantung apakah bagian blok trymengalami eksepsi ataupun tidak.
APPLET DAN SWING
A. APPLET
Applet merupakan program Java yang ditujukan secara khusus agar bias berjalan di lingkungan web browser. Applet adalah subkelas dari panel yang terletak pada paket java.applet. itulah sebabnya hal-hal yang bias diletakkan dalam panel juga bias diletakkan dalam applet. Sebagai program yang ditujukan berjalan pada web browser, applet dilengkapi dengan fitur untuk berkomunikasi dengan host server dan bahkan berkomunikasi antar applet. Nemun, applet dirancang untuk tidak melakukan operasi penulisan ke computer klien karena alas an keamanan.
Metode pada Applet :
MetodeKeterangan
init()Dijalankan ketika applet mulai dimuat dan hanya berlangsung sekali saja. Hal ini bias dimanfaatkan untuk melakukan tindakan seperti meletakkan komponen ke panel, mengatur warna, atau membuka koneksi database.
start()Dipanggil setelah kejadian inisialisasi atau setiap kali pemakai berpindah dari suatu aplikasi/halaman web lain menuju ke halaman yang mengandung applet.
paint()Metode yg dipanggil berkali-kali untuk memperbaharui tampilan.
repaint()Metode yg digunakan untuk memaksa agar paint() dipanggil.
Daftar atribut pada tag<applet> :
AtributKeterangan
AlignMenentukan mode penataan applet dalam halaman web. (LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, ABSMIDDLE, BASELINE, BOTTOM, atau ABSBOTTOM)
HspaceMenentukan jumlah spasi(piksel), antar applet dan teks yang terletak di kiri atau kanan
VspaceMenentukan jumlah spasi(piksel), antar applet dan teks di atas atau bawah
CodeMenentukan nama berkas .class.
codebaseMenentukan letak direktori dari berkas .class
AltMenentukan teks yang akan ditampilkan sekiranya web browser mengenali tag<applet>, tetapi tidak mendukung applet/pemrosesan applet dimatikan
NameMemberikan nama terhadap applet. Nama ini dipakai untuk mendukung komunikasi antar applet
HeightMenentukan tinggi tampilan applet
WidthMenentukan lebar tampilan applet
Kelas Applet :
public class MyFirstApplet extends java.applet.Applet {
public MyFirstApplet() {…} //default konstruktor
public void init() {…}
public void start() {…}
public void stop() {…}
//other method
}
Passing parameter untuk Applet :
<applet …>
<param value=paramValue>
</applet>
B. SWING
Swing merupakan alternative lain untuk mengimplementasikan pemrograman window. Walaupun diimplementasikan berdasarkan kelas AWT, swing tidak menggunakan komponen yang terdapat pada AWT, sehingga tampilan komponen dalam swing tidak bergantung pada system window local.
  1. 1. Color
Using java.awt.color
Syntax : Color color = new Color(r,g,b);
  1. 2. Font
Font font = new Font(name, style, size);
  1. 3. JFrame : sebuah container dimana semua komponen GUI bisa ditempatkan.
public static void main(String[] args) {
JFrame frame = new JFrame(“Test Frame”);
frame.setSize(400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
  1. 4. JPanel : panel bertindak sebagai suatu container kecil untuk mengelompokkan sesuai dengan komponen user interface. Contoh :
JPanel p = new JPanel();
p.add(new JButton(“My Button”);
  1. 5. JLabel : komponen yang biasa digunakan untuk menampilkan teks yang pendek. Komponen ini bisa digunakan untuk menampilkan ikon. Metode pada JLabel :
MetodeKeterangan
getText()Untuk memperoleh teks pada label
setText()Untuk mengubah teks pada label
SetIcon(Icongambar)Untuk mengubah gambar pada ikon
JLabel label = new JLabel(text);
  1. 6. JButton : membuat objek tombol yang dapat dilengkapi dengan judul tombol maupun ikon.
Contoh kode sederhaan JButton :
content.add(new JButton(“Icon”));
ImageIcon icon = new ImageIcon(“icon.jpg”);
content.add(new JButton(icon));
content.add(new JButton(“Icon”,icon));
JButton lastButton = new JButton(“Icon”,icon);
lastButton.setHorizontalTextPosition(SwingConstants.LEFT);
content.add(lastButton);
  1. 7. JOptionPane
    1. JOptionPane.showMessageDialog
    2. JOptionPane.showConfirmDialog
    3. JOptionPane.showInputDialog
    4. JOptionPane.showOptionDialog
    5. 8. JTextField : kelas yang berguna untuk menciptakan objek yang ditujukan untuk memasukkan data satu baris. Daftar konstruktor pada JTextField :
KonstruktorKeterangan
JTextField()Membuat objek JTextField dengan nilai awal sama string kosong
JTextField(Stringteks)Membuat objek JTextField dengan nilai awal sama string teks
JTextField(Stringteks, int kolom)Membuat objek JTextField dengan nilai awal sama string teks dan jumlah kolom sebanyak kolom
  1. 9. JTextArea : kelas yang memungkinkan menyajikan teks yang terdiri dari beberapa baris.
KonstruktorKeterangan
TextArea(Stringteks, int baris, intkolom)Membuat objek JTextArea dengan nilai awal sama string teks dan jumlah kolom sebanyak kolom serta baris sebanyak baris
TextArea(int baris, int kolom)Membuat objek JTextArea dengan nilai awal berupa string kosong dan jumlah kolom sebanyak kolom serta baris sebanyak baris
10. JCheckBox : komponen yang biasa digunakan untuk memilih salah satu pilihan di antara dua
KonstruktorKeterangan
JCheckBox(String teks)Label berupa teks dan nilai keadaan kotak cek diisi dengan false
JChecjBox(String teks, Boolean keadaan)Label berupa teks dan nilai keadaan kotak cek diisi dengan nilai pada keadaan
JCheckBox(String teks, Icon ikon, Booleankeadaan)Label berupa teks, dilengkapi dengan ikon dan nilai keadaan kotak cek diisi dengan nilai pada keadaan.
JCheckBox(String teks, Icon ikon, Booleankeadaan)Label berupa teks, dilengkapi dengan ikon dan nilai keadaan kotak cek diisi dengan nilai false
11. JList : komponen yang memungkinan pemakai memilih salah satu dari sejumlah pilihan.
JList(object[] daftarData);
Pada bentuk di atas, argument berupa array objek apa saja. Adapun bentuk yang lain melibatkan argument berkelas Vector.
12. JComboBox
JComboBox(Object[] daftarItem)
Dalam hal ini, argumennya berupa array objek apa saja.
13. JMenu & JMenuItem : kelas untuk membuat batang menu yang biasa diletakkan di bagian atas jendela dan bersifat pull-down. Prinsip untuk membuat menu :
  1. Membuat objek JMenuBar.
  2. Mengaitkan objek JMenuBar tersebut ke jendela melalui metodesetJMenuBar().
  3. Menciptakan sejumlah objek JMenu yang akan dijadikan sebagai menu dalam menu batang.
  4. Mengaitkan objek JMenu ke objek JMenuBar melalui metode add().
  5. Membuat sejumlah item menu melalui pembuatan objek JMenuItemuntuk tiap menu.
  6. Mengaitkan item-item menu ke objek JMenu.
14. JTabel : komponen yang berguna untuk menampilkan data dalam bentuk table (terdiri atas baris dan kolom).
15. Look and Free : mekanisme yang memungkinkan tampilan komponen berbentuk seperti pada tampilan motif.
public static void setNativeLookAndFeel() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
System.out.println(e);
}
}
16. ExitListener
EXIT_ON_CLOSE adalah ya tetapi tidak cukup bagus untuk menutup/keluar dari window.
Contoh :
import java.awt.*;
import java.awt.event.*;
public class ExitListener extends WindowAdapter {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
}
KONEKSI KE DATABASE
Koneksi ke database pada Java ditangani oleh JDBC (Java Database Conectivity). JDBC merupakan salah satu API (Application Programming Interface) Java yang secara khusus ditujukan untuk menangani koneksi ke database. Antarmuka ini memungkinkan pemrogram menulis sebuah program yang dapat digunakan untuk mengakses database yang berbeda, misalnya Oracle, Access, atau MySQL.
Koneksi Menggunakan MySQL
Sebelum menggunakan JDBC, maka yang perlu dibuat adalah :
  1. Membuat database dengan nama db_pegawai.
  1. Membuat table pegawai dengan field-field sebagai berikut :
    1. kode varchar(10) Primary not null
    2. nama varchar(50)
    3. alamat varchar(50)
    4. gaji Double
  1. Menambah/mengisi data
  1. Melihat data
  1. Menghapus data
Langkah Menggunakan JDBC :
  1. Meload Driver
try {
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
}   catch (ClassNotFoundException e) {
e.printStackTrace();
}
  1. Mendefinisikan koneksi URL
String dbURL = “jdbc:mysql://localhost/db_pegawai”;
String dbUser = “root”;
String dbPass = “ “;
  1. Menetapkan koneksi
conn = DriverManager.getConnection(dbURL,dbUser,dbPass);
  1. Membuat statement
Statement st = conn.createStatement();
  1. Menjalankan sebuah query
ResultSet rs = st.executeQuery(query);
  1. Memproses hasil
String kode = rs.getString(1);
String nama = rs.getString(2);
String alamat = rs.getString(3);
String gaji = rs.getString(4);
  1. Menutup koneksi
st.close();
conn.close();

1 komentar:

Posting Komentar

 

©Copyright 2011 ILMU PENGETAHUAN | TNB