• Tidak ada hasil yang ditemukan

Konsep Bahasa Pemrogaraman komputer dalam

N/A
N/A
Protected

Academic year: 2018

Membagikan "Konsep Bahasa Pemrogaraman komputer dalam "

Copied!
25
0
0

Teks penuh

(1)

Konsep Bahasa Pemrogaraman (JAVA) A. SEJARAH JAVA

Bahasa Java merupakan karya Sun Microsystem Inc. Bahasa Java secara resmi diperkenalkan oleh Sun pada dunia tanggal 23 Mei 1995 dan Netscape menjadi 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 Microsof. 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-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.

(2)

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

(3)

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

(4)

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

Tipe Ukuran Jangkauan (inclusive)

int 4 byte – 2.147.483.648 sampai 2.147.483.647 (hanya lebih dari 2 miliar)

short 2 byte – 32.768 sampai 32.767

long 8 byte – 9.223.372.036.854.775.808L sampai 9.223.372.036.854.775.807L

byte 1 byte – 128 sampai 12 7

1. 2. Floating point

Tipe Ukuran Jangkauan

float 4 byte secara kasar 3,40282347E+38F ( 7 digit desimal signifikan)

double 8 byte secara 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

Operator Operation

+ Addition

– Subtraction

* Multiplication

/ Division

% Modulo

(5)

& AND

| OR

^ XOR

>> Shift Kanan

<< Shift Kiri

>>> Shift Kanan isi dengan nol

1. 3. Unary Operator Operator Operation

~ Unary NOT

– Minus

++ Increment

— Decrement

1. 4. Relational Operator Operator Operation

== Equal To

!= Not Equal To

> Greater Than

< Less Than

>= Greater or Equal To <= Less or Equal To

1. 5. Logical Operator Operator Operation ! Short-circuit NOT

&& Short-circuit AND || Short-circuit OR

?: Operator ternary if-then-else 1. I. STREAM

(6)

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,dan StringBufferInputStream. Metode-metode pada kelas InputStream :

Bentuk Metode Keterangan

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[] buffer Untuk membaca sejumlah byte data int read(byte[] buffer, int offset,

int jumlah)

Untuk membaca sejumlah byte data dimulai pd posisi tertentu

void reset Meletakkan posisi yang telah ditandai oleh mark()

long skip(long n) Melompati sejumlah n 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 Metode Keterangan

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 Metode Keterangan

toString() memperoleh string yang berkelas String

toByteArray() mengubah stream ke array byte

size() menghasilkan jumlah byte yang dapat ditampung dalam penyangga

(7)

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 bernama Date 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) {

(8)

} 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.

(9)

//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 for berakhir.

 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 :

(10)

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.

(11)

Penentu Akses Keterangan

Tanpa penentu akses Variabel dapat diakses oleh kelas yang berada dalam paket yang sama.

Public Variabel dapat diakses pada semua kelas yang menggunakan kelas yang berisi variabel tersebut.

Private Hanya dapat diakses oleh metode-metode dalam kelas itu sendiri Perbedaan public, private, dan tanpa penentu akses pada variabel.

Penentu Akses Keterangan

Tanpa penentu akses Metode hanya dapat diakses oleh metode dalam kelas itu sendiri ataupun metode pada kelas lain yang terletak pada paket yang sama.

Public Metode dapat diakses oleh sembarang kelas.

Private Hanya 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 (misalnya int) ataupun instan kelas (objek). Langkah

menciptakan array :

(12)

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 instan length 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

(13)

}

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 variable obj yang merujuk ke objek berkelas Bravo. Mengingat kelas Bravo juga memiliki metode info().

(14)

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)); }

(15)

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 int yang menyatakan posisi pertama untuk karakter yang nilainya ch pada 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 :

(16)

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 pada StringBuffer. 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 n karakter. 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. Polymorphism berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic 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.

(17)

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 { …

(18)

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 {

(19)

finally {

//Blok yang akan dijalankan terakhir kali. }

Bagian finally akan dijalankan, tak tergantung apakah bagian blok try mengalami 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 :

Metode Keterangan

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> :

Atribut Keterangan

Align Menentukan mode penataan applet dalam halaman web. (LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, ABSMIDDLE, BASELINE, BOTTOM, atau ABSBOTTOM)

Hspace Menentukan jumlah spasi(piksel), antar applet dan teks yang terletak di kiri atau kanan

Vspace Menentukan jumlah spasi(piksel), antar applet dan teks di atas atau bawah Code Menentukan nama berkas .class.

codebase Menentukan letak direktori dari berkas .class

Alt Menentukan teks yang akan ditampilkan sekiranya web browser mengenali tag<applet>, tetapi tidak mendukung applet/pemrosesan applet dimatikan

(20)

Height Menentukan tinggi tampilan applet Width Menentukan 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);

(21)

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 :

Metode Keterangan

getText() Untuk memperoleh teks pada label setText() Untuk mengubah teks pada label

SetIcon(Icon gambar) 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 :

Konstruktor Keterangan

(22)

JTextField(String teks) Membuat objek JTextField dengan nilai awal sama string teks JTextField(String teks, 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. Konstruktor Keterangan

TextArea(String teks, int baris, int kolom)

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

Konstruktor Keterangan

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, Boolean keadaan)

Label berupa teks, dilengkapi dengan ikon dan nilai keadaan kotak cek diisi dengan nilai pada keadaan.

JCheckBox(String teks, Icon ikon, Boolean keadaan)

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 metode setJMenuBar().

3. Menciptakan sejumlah objek JMenu yang akan dijadikan sebagai menu dalam menu batang. 4. Mengaitkan objek JMenu ke objek JMenuBar melalui metode add().

(23)

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.

(24)

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();

(25)

Referensi

Dokumen terkait

Sebanyak 25 ekor ayam Kampung betina dewasa dengan lima warna bulu yaitu hitam (selem), merah (biying), campuran (brumbun), bulu putih dengan kaki kuning (putih

PROYEK : PENYEDIAAN SARANA AIR BERSIH PEKERJAAN : PEKERJAAN BANGUNAN RUMAH POMPA. LOKASI : BOOSTER

Tujuan melakukan feature selection ini, selain untuk mereduksi jumlah atribut, nantinya bisa memberikan performansi yang lebih baik pada saat melakukan klasifikasi

Pada tahap pembuatan digram sebab-akibat yang bertujuan untuk menguraikan faktor-faktor yang menyebabkan cacat kenyal sebagain pada nata de coco yang berdasarkan

Menurut Sukatamsi (1984:158) mengemukakan bahwa menggiring bola merupakan salah satu teknik dasar yang sangat penting dalam permainan sepakbola. Menggiring bola

Dalam metode heijunka , volume produksi yang telah direncanakan besarnya masing-masing periode bulanan diturunkan ke periode harian dengan cara merata- ratakannya (untuk

Keempat, berkaitan dengan alternatif kebijakan apakah yang dapat dilakukan oleh Pemerintah terhadap pola P4T terhadap tanah adat/ulayat untuk mensejahterakan

LAPORAN ANALISA DAN EVALUASI HASIL PELAKSANAAN PROGRAM KB KABUPATEN BULELENG BULAN MARET..