BAB 2 Landasan Teori
2.12. Pemrograman Berorientasi Object Menggunakan Java
Java merupakan pemrograman berorientasi objek (OOP), dengan kata lain rancangan java merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface.
1. Objek
Objek merupakan perangkat lunak yang berisikan variabel serta kumpulan dari metode-metode.
2. Message
Objek melakukan interaksi serta komunikasi menggunakan message atau pesan.
3. Class
Class merupakan bentuk dasar yang mendefiniskan variabel serta meode-metode dari semua objek.
Sintaks-sintaks Dasar Bahasa Pemrograman JavaTMadalah : 1. Variabel dalam Java
a) Tipe Variabel
Variabel merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah program dengan tipe tertentu. Pada dasarnya ada 2 macam tipe variabel data dalam bahasa Java, yakni tipe primitif dan tipe reference. Adapun tipe primitif meliputi:
1. boolean 2. byte 3. short
4. int 5. long 6. char 7. float 8. double
Sedangkan tipe variabel reference, meliputi tipe class, tipe array, dan tipe interface. Ada pula tipe variabel data yang khusus yang disebut dengan null types, namun variabel dalam Java tidak akan pernah memiliki tipe null ini.
b) Konstanta
Variabel dalam Java bisa dijadikan konstanta, sehingga nilainya tidak akan dapat diubah-ubah dengan mendeklarasikan variabel tersebut sebagai variabel final. Berikut cara pendeklarasian variabel yang dijadikan konstanta:
final <tipe data> <nama variabel> = <nilai>
2. Operator dalam Java a) Operator Aritmatika
Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-operator aritmatika untuk manipulasi variabel data numerik. Tabel penggunaan dan jenis operator aritmatika dalam Java bisa dilihat di bawah ini:
Operator Penggunaan Deskripsi
+ op1 + op2 Menambahkan op1 dengan op2 - op1 - op2 Mengurangkan op1 dengan op2 * op1 * op2 Mengalikan op1 dengan op2
/ op1 / op2 Membagi op1 dengan op2
% op1 % op2 Menghasilkan sisa hasil bagi antara op1 dengan op2
Tabel 2.1Operator Aritmatika dalam Java
Selain operator di atas, operator berikut juga termasuk dalam operator aritmatika:
Operator Penggunaan Deskripsi
++ op++ nilai op dinaikkan 1 setelah dilakukan operasi pada op
++ ++op nilai op dinaikkan 1 sebelum dilakukan operasi pada op
-- op-- nilai op diturunkan 1 setelah dilakukan operasi pada op
-- --op nilai op diturunkan 1 sebelum dilakukan operasi pada op
- -op mengubah nilai op menjadi negatifnya, jika op positif maka menjadi negatif, jika op negatif maka menjadi positif
Tabel 2.2 Operator Aritmatika yang lain dalam Java
b) Operator Relasional
Operator relasional dalam Java dapat digunakan untuk membandingkan dua variabel data, lebih lengkapnya dapat dilihat dalam tabel berikut:
Operator Penggunaan Deskripsi
> op1 > op2 menghasilkan true jika nilai op1 lebih besar dari nilai op2
< op1 < op2 menghasilkan true jika nilai op1 lebih kecil dari nilai op2
>= op1 >= op2 menghasilkan true jika nilai op1 lebih besar atau sama dengan nilai op2 <= op1 <= op2 menghasilkan true jika nilai op1 lebih
kecil atau sama dengan nilai op2 == op1 == op2 menghasilkan true jika nilai op1
sama dengan dari nilai op2
!= op1 != op2 Menghasilkan true jika nilai op1 tidak sama dengan nilai op2
Tabel 2.3Operator Relasional dalam Java
c) Operator Kondisional
Operator kondisional dalam Java terdiri dari 6 jenis sebagaimana digambarkan dalam tabel berikut:
Operator Penggunaan Deskripsi
&& op1 && op2 menghasilkan true jika op1 dan op2, keduanya bernilai true
|| op1 || op2 menghasilkan true jika op1 atau op2, salah satunya bernilai true ! !op1 menghasilkan true jika op1 bernilai
false
& op1 & op2 bitwise AND, menghasilkan true jika op1 dan op2, keduanya bernilai true
| op1 | op2 bitwise OR, menghasilkan true jika op1 atau op2, salah satunya bernilai true
^ op1 ^ op2 menghasilkan true jika salah satu di antara op1 atau op2 bernilai true, namun tidak keduanya
Tabel 2.4Operator Kondisional dalam Java
d) Operator Shift
Operator shift dalam Java digunakan untuk manipulasi bit. Operator ini digunakan untuk menggeser bit-bit sesuai yang diinginkan. Ada 3 operator shift dalam Java, yaitu:
Operator Penggunaan Deskripsi
>> op1 >> op2 menggeser bit op1 ke kanan sejauh op2
<< op1 << op2 menggeser op1 ke kiri sejauh op2 >>> op1 >>> op2 Menggeser bit op1 ke kanan sejauh
op2
Tabel 2.5Operator Shift dalam Java
e) Operator Bitwise
Operator bitwise dalam Java juga digunakan untuk manipulasi bit. Ada 4 operator bitwise dalam Java, yaitu:
Operator Penggunaan Deskripsi & op1 & op2 bitwise AND
| op1 | op2 bitwise OR ^ op1 ^ op2 bitwise XOR ~ ~op1 bitwose complement
Tabel 2.6Operator Bitwise dalam Java
f) Operator Assignment
Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator assignment hanya ‘=’, namun selain itu dalam Java dikenal beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut:
Operator Penggunaan Deskripsi += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2
/= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 |= op1 |= op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2
g) Urutan Precedence Operator
Adapun urutan operator precedence dalam Java, secara lengkap digambarkan dalam tabel berikut:
postfix operators [] . (params) expr++ expr-- unary operators ++expr –expr +expr –expr ~ ! creation or cast new (type)expr
multiplicative * / %
additive + -
shift << >> >>>
relational < > <= >= istanceof
equality == !=
bitwise AND & bitwise XOR ^
bitwise OR |
logical AND && logical OR || conditional ? :
assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=
Tabel 2.8Operator Precedence dalam Java
3. Control Flow dalam Java a) Operasi Pengulangan
2. while
Operasi while digunakan untuk mengeksekusi sebuah blok secara berulang selama memenuhi kondisi tertentu. Sintaks penggunaannya sebagai berikut:
while (ekspresi) {
// ... }
Jadi, selama ekspresi menghasilkan nilai true, pernyataan yang ada di dalam blok akan dieksekusi terus menerus.
3. do-while
Sama halnya dengan operasi while, operasi do-while digunakan untuk mengeksekusi sebuah blok secara berulang sampai tidak memenuhi kondisi tertentu. Pada penggunaan while, ekspresi diperiksa pada saat awal operasi perulangan, jadi ada kemungkinan pernyataan di dalam blok tidak pernah dieksekusi. Pada penggunaan do-while, ekspresi tidak diperiksa pada awal operasi perulangan, jadi operasi do-while dapat menjalankan operasi perulangan pertama kali tanpa ekspresi apapun. Sintaks penggunaannya sebagai berikut:
do {
// ... } while (ekspresi);
4. for
Operasi for digunakan untuk mengeksekusi sebuah blok secara berulang dalam sebuah range nilai tertentu. Sintaks penggunaannya sebagai berikut:
for (inisialisasi; terminasi; increment) { // ...
}
Inisialisasi dalam operasi for merupakan ekspresi yang dieksekusi pada saat pengeksekusian for. Terminasi digunakan untuk menentukan kapan operasi perulangan akan dihentikan. Increment
merupakan ekspresi yang akan dieksekusi setiap selesai melakukan satu kali perulangan. Ketiga bagian di dalam for bersifat opsional,
jadi dapat dikosongkan. Namun jika ketiga bagiab tersebut kosong, akan menyebabkan terjadinya perulangan tanpa henti (loop forever).
b) Operasi Kondisional 2. if – else
Operasi if digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya sebagai berikut:
if (ekspresi) {
// ... }
Jika kondisi bernilai true, pernyataan di dalam blok akan dieksekusi. Jika menggunakan if-else, sintaks penggunaannya sebagai berikut: if (kondisi) { // ... pernyataan 1 .... } else { // ... pernyataan 2 .... }
Jika kondisi bernilai true, pernyataan 1 akan dijalankan. Sebaliknya, jika kondisi bernilai false, pernyataan 2 yang akan dijalankan. Jika menggunakan if-elseif-else, sintaks penggunaannya sebagai berikut:
if (kondisi1) { // ... pernyataan 1 .... } else if (kondisi2) { // ... pernyataan 2 .... } else { // ... pernyataan 3 ....
}
3. switch-case
Operator switch digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya sebagai berikut: switch (ekspresi) { case (kondisi1): // ... pernyataan 1 ... break; case (kondisi2): // ... pernyataan 2 ... break; case (kondisin): // ... pernyataan n ... break; default: // ... pernyataan default ... break; }
Kondisi default bersifat opsional, artinya boleh ada atau tidak ada, yang berfungsi sebagai else, pada kasus if-else dengan banyak percabangan, yakni ketika ditemukan kondisi yang tidak memenuhi semua pengecekan kondisi sebelumnya.
Pernyataan break pada operator switch di atas, digunakan untuk terminasi (menghentikan) eksekusi pernyataan di dalam blok
switch, namun bersifat opsional. Jika pada suatu case tidak diberikan pernyataan break, proses pengecekan akan diteruskan pada case berikutnya.
c) Break, Label, Return, Continue Operator break ada 2 macam, yakni: 1. break with label
2. break without label
Penggunaan break tanpa label umumnya dalam switch. Fungsi
break adalah untuk menghentikan eksekusi sebuah blok program, sebagai contoh untuk memaksa keluar dari sebuah perulangan. Penggunaan break dengan label digunakan pada perualangan yang berkalang, yakni perulangan dalam perulangan, yang mungkin berada dalam perulangan yang lain, dan seterusnya, akan menyebabkan setelah eksekusi sebuah blok pernyataan terhenti, aliran eksekusi akan berlanjut ke posisi perulangan tempat label berada.
Berbeda dengan break, continue digunakan untuk melewatkan eksekusi pada perulangan yang ada, dan melanjutkan ke perulangan berikutnya.
Pada operator continue, juga dapat digunakan label dengan aturan yang sama dengan break. Pernyataan return digunakan untuk keluar dari sebuah fungsi, dan dapat diberikan parameter nilai untuk menunjukkan return value dari sebuah fungsi.
4. Array/Larik
Larik atau array merupakan struktur data yang penting dalam bahasa pemrograman. Sebuah larik terdiri atas himpunan beberapa nilai data dengan tipe data yang sama, di mana jumlah anggota dari himpunan dalam larik itu ditentukan saat deklarasi larik atau array. Tiap anggota himpunan dalam larik tersebut akan diacu sebagai elemen dengan menunjuk nomor indeks.
idx[0] idx[1] idx[2] idx[3] idx[4] idx[5] ...
Penggambaran di atas menunjukkan sebuah larik, yaitu elemen pertama akan diacu sebagai elemen ke-0, elemen kedua diacu sebagai elemen ke-1, begitu seterusnya. Jika Anda pernah memprogram dengan bahasa lain seperti PHP, ASP, Pascal, C/C++, Perl larik pada Java sama saja dengan larik dengan bahasa-bahasa pemrograman tersebut, hanya saja mungkin pengacuan elemennya berbeda, ada bahasa pemrograman yang mengacu elemen pertama sebagai elemen ke-1 dan bukan ke-0.
Untuk mendefinisikan tipe variabel yang bertipe array digunakan cara seperti ini:
Type[] namaVariabel;
Type menunjukkan bahwa array ini terdiri atas nilai-nilai bertipe data Type. Berikut contoh penggunakan array dalam Java:
// Membuat array data bertipe data integer int[] myArrayOfInteger;
// Membuat array data bertipe data float float[] myArrayOfFloat;
// Membuat array data bertipe data String String[] myArrayOfString;
Setelah mendeklarasikan array dengan cara di atas, langkah selanjutnya adalah menginisialisasi array tersebut. Ada dua cara yang umum digunakan, yaitu:
1. Dengan operator new
Formatnya adalah sebagai berikut: new <type>[ukuran]
Contoh:
int myArrayOfInteger = new int[10];
Dengan menggunakan cara ini, array yang ada belum mempunyai nilai awal. Sebelum dapat digunakan, terlebih dahulu array
tersebut harus memiliki nilai awal.
2. Dengan langsung memberikan nilai-nilai awal
Nilai awal dari array ditempatkan di antara ‘{‘ dan ‘}’ yang elemen-elemenya dipisahkan tanda koma, sperti berikut:
int myArrayOfInteger = { 1, 2, 3, 4, 5 };
5. Java Exception
1. Pengertian Exception
Secara definitif, exception merupakan sebuah kejadian yang terjadi ketika program menemukan suatu kesalahan saat instruksi program
dijalankan. Banyak hal yang dapat menyebabkan terjadinya kesalahan, sebagai contoh crash, hard disk rusak dengan tiba-tiba. Dalam Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut dengan exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah
catch exception. 2. try - catch - finally
Berikut struktur blok try - catch - finally: try { // ... } catch (Exception xxx) { // ... } catch (Exception xxx) { // ... } finally { // ... }
Blok try digunakan untuk menempatkan kode-kode program Java yang mengandung kode program yang mungkin melemparkan
exception. Blok catch, digunakan untuk menempatkan kode-kode program Java yang digunakan untuk menangani sebuah exception
tertentu. Blok finally, digunakan untuk clean-up.
2.13.Pemrograman Client / Server Dengan Java