PP-PBO-Genap-2015 2016-update pertemuan 6

advertisement
Versi : Februari 2016
PEMROGRAMAN
BERORIENTASI
OBJEK
Team Dosen PBO UBL
PENDAHULUAN
1. MATA KULIAH
Nama : Pemrograman Berorientasi Objek
SKS
: 3 SKS
Jenis : MKM (Mata kuliah Kendai Mutu)
2. ATURAN PERKULIAHAN
1.
2.
3.
4.
Hadir Tepat Waktu
Tidak Membuat Keributan
Tidak Membuat Dosen Dan Peserta Lain Resah
(Berpakaian Yang Sopan)
Pengumpulan Tugas Tepat Waktu.
3. ATURAN PENILAIAN
1.
2.
3.
4.
Kehadiran
Tugas
UTS
UAS
Total
: 10%
: 20%
: 30%
: 40%
: 100%
PERTEMUAN - 1
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pengenalan Konsep Dasar OOP dan Java ™
TUJUAN INTERAKSIONAL
UMUM :
•
Mahasiswa mampu menjelaskan konsep dasar OOP dan pemrograman Java™
KHUSUS :
•
•
•
•
Mahasiswa mampu menjelaskan konsep dasar OOP dan pemrograman Java™
Mahasiswa mampu menjelaskan perbedaan OOP dan pemrograman prosedural
Mahasiswa mampu menginstal Java™ Compiler
Mahasiswa mampu menulis struktur Java™ sederhana
Pertemuan 9
Pertemuan 10
Materi :
Pertemuan 11
1.
2.
3.
4.
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
Paradigma Bahasa Pemrogrman
Konsep Dasar Bahasa Pemrograman Berorientasi Objek
Instalasi Program Aplikasi
Struktur Coding OOP di Java
PERTEMUAN - 2
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
Dasar dan Aturan Penulisan Code Java™
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menulis pemrograman Java™
KHUSUS :
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan komentar
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan tipe data primitif
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan identifier
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan Keyword
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan operator
•
Mahasiswa mampu menuliskan dan Mengerti Penggunaan casting
Materi :
1.
2.
3.
4.
5.
6.
Komentar Pada Java
Tipe Data Primitif
Inisialisasi Variabel dan Konstanta
Keyword
Operator
Konversi dan Casting
PERTEMUAN - 3
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Struktur Program Java™
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menulis struktur program Java™
Pertemuan 8
KHUSUS :
• Mahasiswa mampu menulis struktur keputusan Java™
• Mahasiswa mampu menulis perulangan pada Java™
• Mahasiswa mampu menulis tipe data Class ™
Pertemuan 9
Materi :
Pertemuan 7
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
1.
2.
Pengambilan Keputusan
Pengulangan Proses
3.
Tipe Data Class
PERTEMUAN - 4
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Penanganan Kesalahan (Error Handling)
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan penanganan kesalahan Java™
KHUSUS :
• Mahasiswa mampu menjelaskan dasar exception pada Java™
• Mahasiswa mampu menjelaskan kategori exception
• Mahasiswa mampu menerapkan exception pada Java™
• Mahasiswa mampu menjelaskan aturan penanganan error pada Java™
• Mahasiswa mampu menerapkan metode overide exception
Pertemuan 10
Materi :
Pertemuan 11
1.
2.
Exception Handling
Error dan Exception Classes
3.
Keyword penting pada Exception Handling
Pertemuan 13
4.
Mekanisme Mengantisipasi Exception
Pertemuan 14
5.
6.
Jenis Exception Handling
Input Dari Keyboard Implemnetasi Error Handling
Pertemuan 12
Pertemuan 15
PERTEMUAN - 5
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
Class dan Objek
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu memanage class-class yang dibuat
KHUSUS :
• Mahasiswa mampu menerapkan deklarasi Class
• Mahasiswa mampu menerapkan atribut class
• Mahasiswa mampu menerapkan deklarasi method
• Mahasiswa mampu menerapkan membuat objek
• Mahasiswa mampu menerapkan akses anggota class
• Mahasiswa mampu menerapkan Method Overloading, Konstruktor,
Finalizer, Main
Materi :
1.
2.
Class dan Method
Deklarasi Class
3.
Deklarasi Method
4.
Method Overloading
5.
6.
7.
Method Konstruktor
Method Finalizer
Method Main
PERTEMUAN - 6
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Package
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu memanage class-class yang dibuat dalam package
Pertemuan 8
KHUSUS :
• Mahasiswa mampu menjelaskan konsep array 1 dimensi, 2 dimesi
• Mahasiswa mampu menerapkan penggunaan array
• Mahasiswa mampu menjelaskan konsep package
• Mahasiswa mampu menerapkan package pada program java
Pertemuan 9
Materi :
Pertemuan 7
1.
Defenisi Array
2.
Deklarasi Array
3.
Contoh Deklarasi dan Inisialisasi Array
Pertemuan 13
4.
5.
Array Multidimensi
Konsep Package
Pertemuan 14
6.
Membuat Package
7.
Mengakses Class dalam Package
8.
Contoh Program Implementasi Package
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 15
PERTEMUAN - 7
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Konsep OOP
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menjelaskan konsep OOP
KHUSUS :
• Mahasiswa mampu menjelaskan konsep polimorfisme
• Mahasiswa mampu menjelaskan konsep inheritas
Pertemuan 8
•
Pertemuan 9
Materi :
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
Mahasiswa mampu menjelaskan konsep enkapsulasi
1.
Konsep Polimorpisme
2.
Konsep Inheritas
3.
Konsep Enkapsulasi
PERTEMUAN - 8
Pertemuan 1
Pertemuan 3
U T S
Pertemuan 4
TUJUAN INTERAKSIONAL
Pertemuan 5
UMUM :
• Menguji dan Menilai Kemampuan Mahasiswa
Pertemuan 2
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
jian
engah
KHUSUS :
• Menguji Pengetahuan Dasar OOP
• Menguji Kempuan Dasar dan Aturan Penulisan
• Menguji Kemampuan Penggunaan Struktur Program
•
•
•
Menguji Kemampuan Penggunaan Error Heandling
Menguji Kemampuan Penguasaan Class dan Objek
Menguji Kemampuan Penggunaan Package
•
Menguji Pemahaman Konsep OOP
Materi :
Pertemuan 12
1.
Pilihan Ganda
Pertemuan 13
2.
Essay
Pertemuan 14
Pertemuan 15
emester
PERTEMUAN - 9
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Polymorphism
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan konsep polymorphism pada program
KHUSUS :
• Mahasiswa mampu menerapkan konsep polymorphism dalam coding Java™
• Mahasiswa mampu menerapkan overloading
• Mahasiswa mampu menerapkan overiding
• Mahasiswa mampu menerapkan polimirpisme argumen
• Mahasiswa mampu menerapkan instance of statement
• Mahasiswa mampu menerapkan casting objek
Materi :
Pertemuan 11
1.
Konsep Polimorpisme
Pertemuan 12
2.
Overloading
Pertemuan 13
3.
Overiding
4.
Polimorpisme Argumen
5.
Instance of Statement
6.
Casting Objek
Pertemuan 14
Pertemuan 15
PERTEMUAN - 10
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Inheritence
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu mengimplementasikan konsep pewarisan
KHUSUS :
• Mahasiswa mampu mengimplementasikan konsep pewarisan
• Mahasiswa mampu mengimplementasikan Single Inheritas
• Mahasiswa mampu mengimplementasikan constructor
• Mahasiswa mampu mengimplementasikan aksesibilitas
• Mahasiswa mampu mengimplementasikan keyword super
• Mahasiswa mampu mengimplementasikan inheritas bertingkat
Materi :
Pertemuan 11
1.
Konsep Inheritas
Pertemuan 12
2.
Single Inheritas
Pertemuan 13
3.
Constructor
Pertemuan 14
4.
Aksesibilitas
5.
Keyword Super
6.
Inheritas Bertingkat
Pertemuan 15
PERTEMUAN - 11
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Encapsulation
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mengimplementasikan konsep encapsulation
KHUSUS :
• Mahasiswa mampu mengimplementasikan encapsulation
• Mahasiswa mampu mengimplementasikan penggabungan data
• Mahasiswa mampu mengimplementasikan modifier
• Mahasiswa mampu mengimplementasikan akses data
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
Materi :
1.
Konsep encapsulation
2.
Penggabungan Data
3.
Modifier
4.
Akses Data
PERTEMUAN - 12
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Interface
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan interface
Pertemuan 8
KHUSUS :
• Mahasiswa mampu menerapkan interface
• Mahasiswa mampu menerapkan class
• Mahasiswa mampu menerapkan pewarisan antar interface
Pertemuan 9
Materi :
Pertemuan 7
Pertemuan 10
1.
Interface
Pertemuan 11
2.
Perbedaan Interface dan Class
3.
Pewarisan Antar Interface
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
PERTEMUAN - 13
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pengenalan Java™ GUI
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan GUI(Graphical User Interface) pada java
Pertemuan 8
KHUSUS :
• Mahasiswa mampu menjelaskan konsep GUI
• Mahasiswa mampu menjelaskan komponen GUI
• Mahasiswa mampu mendesain tampilan antar muka.
Pertemuan 9
Materi :
Pertemuan 7
Pertemuan 10
1.
Konsep GUI
Pertemuan 11
2.
Komponen GUI
3.
Design Tampilan
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
PERTEMUAN - 14
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pengolahan Data sederhana berbasis GUI (CRUD)
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan pemrograman dengan basis data
Pertemuan 8
KHUSUS :
• Mahasiswa mampu mengimplementasikan desain database.
• Mahasiswa mampu membuat form sesuai dengan kebutuhan
• Mahasiswa mampu mengimplementasikan operasi select
Pertemuan 9
Materi :
Pertemuan 7
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
1.
2.
Mempersiapkan Database
Membuat Form
3.
Membuat Class Koneksi
4.
Membuat operasi select
PERTEMUAN - 15
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pengolahan Data sederhana berbasis GUI (CRUD)
Lanjutan
TUJUAN INTERAKSIONAL
UMUM :
• Mahasiswa mampu menerapkan pemrograman dengan basis data
KHUSUS :
• Mahasiswa mampu mengimplementasikan insert insert
• Mahasiswa mampu mengimplementasikan update update
• Mahasiswa mampu mengimplementasikan delete delete
Pertemuan 10
Materi :
Pertemuan 11
1.
2.
Membuat operasi Insert
Membuat operasi Update
3.
Membuat operasi Delete
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
SEKIAN
TERIMA KASIH
1
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
1.
Paradigma Bahasa Pemrograman
Paradigma bahasa pemrograman memberikan model untuk
programmer dalam menulis listing program. Paradigma perbedaan
dalam bahasa pemrograman sebagai berikut :
 Pemrograman tidak
terstruktur atau
Programming
Monolithic
 Pemrograman
prosedural
 Pemrograman
struktural
 Pemrograman
Berorientasi Objek
Perbedaan Terstruktur dengan Objek Oriented
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
 Pemrograman tidak terstruktur atau Programming Monolithic
 Seluruh permasalahan ini diselesaikan sebagai blok tunggal.
 Semua data bersifat global dan tidak ada keamanan.
 Perintah melompat diperbolehkan jump dan banyak
menggunakan perintah go to
 Cocok untuk permasalah kecil.
 Sulit untuk melacak kesalahan program
Contoh bahasa pemrograman yang termasuk dalam Programming
Monolithic adalah Assembly Language, BASIC.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
 Pemrograman prosedural
 Masalah yang diberikan dibagi dalam beberapa sub masalah
tergantung pada fungsinya.
 Masalah disebut prosedur atau Metode.
 Prosedur apapun dapat dipanggil pada setiap saat selama
pelaksanaan program.
 Program ini memiliki variabel global dan lokal.
Fitur Pemrograman berorientasi prosedur:
 Program besar yang terbagi dalam fungsi kecil atau Prosedur.
 Menggunakan Pendekatan pemrograman Top-Down.
 Data bergerak bebas dari satu fungsi ke yang lain.
 Sebagian besar fungsi berbagi data umum.
 Penekanan diberikan untuk algoritma.
Kekurangan:
 Sangat sulit mengidentifikasi data yang digunakan oleh yang
berfungsi.
 Sulit untuk melacak kesalahan program
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
 Pemrograman Struktural
 Program ini dibagi menjadi modul dan modul tersebut
kemudian dibagi menjadi fungsi.
 Penggunaan Pernyataan go to dihapus atau dikurangi.
 Setiap modul dapat bekerja independen satu sama lain.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
 Pemrograman Berorientasi Objek
 Program ini dibagi menjadi jumlah unit kecil yang disebut
Object. Data dan fungsi merupakan properti objek.
 Data dari objek hanya dapat diakses oleh fungsi yang terkait
dengan objek tersebut.
 Fungsi satu objek dapat mengakses fungsi objek lain.
Fitur pemrograman berorientasi obyek
 Penekanan diberikan pada data daripada prosedur.
 Masalah dibagi menjadi obyek.
 Struktur data dirancang sedemikian rupa sehingga mereka
mengatur objek.
 Data dan fungsi yang diikat bersama-sama.
 Penyembunyian data adalah mungkin.
 Data baru dan fungsi dapat dengan mudah dibuat.
 Obyek dapat berkomunikasi satu sama lain dengan
menggunakan fungsi.
 Pendekatan bottom-up yang digunakan dalam membuat
program
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat
bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang
dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur,
menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur. Untuk tata
nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri.
Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di
OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan
”modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur.
“attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada
pemrograman terstruktur.
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan
kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat
yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali
menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya
kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data
sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila model data berorientasi objek
dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan
digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP
mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
2.
Konsep Dasar Bahasa Pemrograman Berorientasi OBJEK
Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma pemrograman
yang berorientasikan kepada objek. Ini adalah jenis pemrograman di
mana programmer mendefinisikan tidak hanya tipe data dari sebuah
struktur data, tetapi juga jenis operasi (fungsi) yang dapat diterapkan
pada struktur data. Dengan cara ini, struktur data menjadi objek yang
meliputi data dan fungsi. Selain itu, pemrogram dapat membuat
hubungan antara satu benda dan lainnya. Sebagai contoh, objek
dapat mewarisi karakteristik dari objek lain.
Salah satu keuntungan utama dari teknik pemrograman berorientasi
obyek atas teknik pemrograman prosedural adalah bahwa
memungkinkan programmer untuk membuat modul yang tidak perlu
diubah ketika sebuah jenis baru objek ditambahkan. Seorang
pemrogram hanya dapat membuat objek baru yang mewarisi banyak
fitur dari objek yang sudah ada. Hal ini membuat program objectoriented lebih mudah untuk memodifikasi.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Paradigma Pemrograman Berorientasi Obyek
Ide dasar pada bahasa berorientasi obyek (POB) adalah
mengkombinasikan data dan fungsi untuk mengakses data menjadi
sebuah kesatuan unit. Unit ini di kenal dengan nama obyek. Obyek
sebenarnya mencerminkan pola kerja manusia dalam kehidupan kerja
sehari-hari. Sebuah obyek dapat diibaratkan sebagai departemen di
dalam sebuah perusahaan bisnis.
Contoh departemen:
• Penjualan
• Akuntan
• Personalia
Pembagian departemen dalam perusahaan merupakan upaya untuk
memudahkan pengoperasian perusahaan.
Bisa dibayangkan, betapa repotnya anda kalau anda harus melakukan
semuanya sendirian.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Obyek
Object adalah gabungan antara beberapa data dan fungsi yang
masing-masing bekerja bersama-sama dan tidak dapat dipisahkan.
Gabungan dari data dan fungsi tersebut akan membentuk suatu
object-object yang aktif. Dari kumpulan beberapa object yang sama
akan membentuk struktur baru yang disebut class.
Konsep dasar object (object Oriented)
meliputi tiga hal:
1. Is Identical (because Object has own
unique ID), yaitu object tersebut
mempunyai identitas tersendiri dapat
dibedakan dengan yang lain
2. Has Behavior (because Object has
Method), yaitu object itu mempunyai
prilaku atau sifat-sifat yang khusus
3. Has State (because Object has
instance parameter), object
mempunyai ukuran yang baku.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Objek, Kelas, dan Instance (Instans)
a. Objek adalah kesatuan entitas (benda), baik yang
berwujud nyata maupun yang tidak nyata seperti sistem
atau konsep yang memiliki sifat karakteristik dan fungsi.
Contoh : kue, spidol, mobil, telepon, dan lain-lain
b.
Kelas adalah pemodelan dari objek yang berisi informasi
(aturan) tentang sifat karakteristik (data) dan tingkah laku
(metode) yang dimiliki oleh objek tersebut.
Contoh : resep kue, material spidol, dan lain-lain
c.
Instance adalah perwujudan, dimana dalam istilah
pemrograman, objek merupakan instans (perwujudan)
dari suatu kelas. Instansiasi adalah : proses perwujudan
kelas menjadi objek. Biasanya didalam pemrograman java
menggunakan perintah new.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
3.
Instalasi Bahasa Program dan Editor
Untuk membuat Program Berorientasi Objek, perlu ditentukan
bahasa pemrograman yang akan di gunakan dan memilih editor
sebagai media untuk menuliskan program tersebut.
Bahasa Program :
Untuk mengimplementasikan teori yang kita pelajari di
matakuliah ini bahasa pemrograman yang kita pilih adalah JAVA.
Banyak sekali pengembang bahasa java ini dan yang kita pilih
adalah J2SDK (Java 2 Software Development Kit) : seperangkat
tool yang berisi kompiler dan interpreter java yang direlease oleh
Sun dan bersifata free. (download pada situs http://www.sun.com,
Editor :
Sama seperti bahasa program editor yang tersedia banyak
sekali, di matakuliah ini kita memilih editor jCreator dan NetBeans
sebagai media untuk menuliskan code-code program.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Tata Cara Instalasi JAVA dan Editor
1.
Instalasi J2SDK (Java 2 Software Development Kit) : setelah di
download pada situs http://www.sun.com, versi manapun .
Contoh : jdk-1_5_0_04-windows-i586-p.exe, lakukan dengan
double click pada file tersebut, ikuti petunjuk dan tekan
tombol next hingga selesai.
2.
Editor JCreator : download JCreator Pro 3.0, serta nomor
serinya kemudian . Lakukan instalasi dengan mengikuti
petunjuk yang ada, tekan tombol next hingga selesai.
Setelah kedua software terinstall, lakukan konfigurasi editor
tersebut dengan Java, sehingga kedua software tersebut terhubung
saat dilakukan kompilasi.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Konfigurasi Editor dengan JAVA.
Langkah-langkah konfigurasi Editor JCreator dengan J2SDK
adalah sbb :
1.
2.
3.
4.
5.
6.
Pilih menu configure pada editor Jcreator
Kemudian pilih menu option
Click JDK Profile
Jika Profile belum tersedia, pilih tombol new
Pilih folder j2sdk berada, Contoh : cari pada folder berikut :
C:\Program Files\Java\jdk1.7.0_22
Kemudian tekan tombol OK sampai selesai.
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
4.
Struktur/Kerangka Program OOP di Java
NamaFile.java
Komentar Program
Deskripsi Program dan Import
Kelas A
Badan Kelas
Deklarasi Data
Main Method
Deklarasi dan Implementasi Method
Kelas B
Badan Kelas
Deklarasi Data
Deklarasi dan Implementasi Method
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Fase Pemrograman JAVA
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Contoh Program Pertama dengan JAVA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
/**
* My first java program
*/
public class Hello
{
public static void main(String[] args) {
//Menampilkan kata "Hello world" dilayar
System.out.println("Hello world!");
}
}
PERTEMUAN – 1
Pengenalan Konsep Dasar OOP dan Java ™
Identifier (Penamaan Class, Method, Variabel, dan Konstanta)
Aturan Penamaan :
1. Case-sensitive,
2. Tidak menggunakan reserved word atau Keyword JAVA,
3. Tidak menggunakan symbol-simbol operator.
4. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_),
tanda dolar ( $ ),
5. Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).
6. Tidak Menggunakan Spasi
2
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
1.
Komentar
a. Defenisi :
Komentar adalah bagian dari program yang diabaikan oleh
kompiler. Tidak melaksanakan aksi apapun. Mereka berguna untuk
memungkinkan para programmer untuk memasukan catatan atau
deskripsi tambahan mengenai program tersebut.
b. Format Komentar
Pada JAVA memiliki dua cara untuk menuliskan komentar :
Komentar baris
Komentar baris, akan mengabaikan apapun mulai dari tanda //
sampai akhir dari baris yang sama.
Komentar Blok
Komentar Blok, akan mengabaikan apapun yang berada
diantara tanda /* dan */
Contoh : Komentar.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
2.
Tipe Data
a. Primitif
Jenis-jenis nya sbb :
b. Reference
Tipe data berupa class, dimana class ini memiliki berbagai fungsi
yang bisa digunakan untuk kebutuhan pemrograman.
Jenis-jenis nya antara lain :
Byte, Short, Integer, Long, Float, Double, Boolean, Character,
String dan lain sebagainya.
Contoh : Tipe_Data.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
3.
Inisialisasi Variabel dan Konstanta
Variabel merupakan sebuah tempat dimemori yang dialokasikan
untuk menampung data yang memiliki sifat sementara, yang
digunakan hanya pada saat program masih berjalan dan
dihilangkan/dihapus dari memori setelah program berakhir.
Format Deklarasi :
TipeData namaVariabel [= inisialisasiNilaiAwal];
Contoh :
int nilaiAbsen;
int nilaiTugas, nilaiUTS, nilaiUAS;
String namaDepan = “Tariq”
String namaTengah=“Athar”, namaBelakang=“Kisan”;
char nilaiHuruf=‘A’;
Contoh : Variabel.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
Konstanta Pada prinsipnya hampir mirip dengan variabel. Dua-duanya
digunakan untuk menyimpan suatu nilai dari tipe data tertentu.
Bedanya variabel menyimpan suatu nilai yang bisa berubah-ubah
(dinamis) sedangkan konstanta sekali dideklarasikan nilainya tidak
akan pernah berubah. Variabel bisa tidak diinisialisasi, sedangkan
konstanta selalu diinisialisasi dan nilai inisialisasi tersebut tidak akan
pernah berubah.
Deklarasi konstanta mirip dengan deklarasi variabel. Tetapi memiliki
kata kunci final sebelum tipe datanya. Dan seperti variabel, konstanta
juga memiliki aturan dalam penamaannya. Nama konstanta hanya
boleh terdiri dari huruf besar dan garis bawah (undescore).
Berikut contoh penamaan konstanta yang valid :
final double PI = 3.14;
Contoh : Konstanta.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
4.
Keyword dalam Java
Contoh : Keyword.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
5.
Operator
1. Operator Aritmatika
Memiliki beberapa jenis simbol yaitu : *, /, %, +, 2. Operator Increment dan Decrement
Memiliki beberapa jenis simbol yaitu : ++, -3. Operator Relasi
Memiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, !=
4. Operator Logika
Memiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, !
5. Operator Kondisi(?:) atau Ternary
Memiliki bentuk sbb : exp1?exp2:exp3
Contoh : Operator.java
PERTEMUAN – 2
Dasar dan Aturan Penulisan Code Java™
6.
Konversi dan Casting
Pada pemrograman sering sekali terjadi pemindahan nilai dari satu variabel ke
variabel lainnya dengan tipe data yang berbeda. Dalam pemindahan tersebut
ada dua jenis pemindahan yang dilakukan yaitu Konversi dan Casting.
Konversi adalah pemberian nilai kepada variabel yang berbeda tipe datanya.
Dalam konversi melibatkan widening conversation yaitu tipe data tujuan harus
mempunyai range yang lebih besar dari pada tipe data aslinya. Misalnya dari
byte ke short, short ke long, atau int ke double. Konversi tidak dapat dilakukan
pada tipe data boolean.
Casting adalah saat programmer melakukan konversi antar tipe yang tipenya
tidak kompatibel, tidak dapat mengonversi secara otomatis maka dibutuhkan
casting. Casting juga melibatkan
narrowing conversation yaitu bila tipe tujuan lebih kecil dari tujuan asal maka
akan ada informasi yang hilang. Contoh casting saat pemberian nilai dari tipe
data double ke int yang memiliki range lebih kecil dari double.
Format proses casting :
i = (int)d;
i = variabel tipe data int
d = variabel tipe data double
Contoh :
Konversi.java
Casting.java
3
PERTEMUAN – 3
Struktur Program Java™
1.
Pemilihan
a.
Pemilihan Kondisi if
b.
Bentuk if ….. Else
c.
Bentuk if atau if ….. else Bersarang
d.
Pemilihan Bentuk switch
PERTEMUAN – 3
Struktur Program Java™
a.
Pemilihan Kondisi if
Struktur if menentukan sebuah statement (atau blok statement) yang
akan dieksekusi jika dan hanya jika persyaratan boolean (boolean
statement) bernilai true.
Bentuk if dengan 1 baris statement,
if( boolean_expression )
statement;
Contoh : PilihPakeIf_1.java
Bentuk if lebih dari 1 baris statement,
Contoh : PilihPakeIf_2.java
if( boolean_expression ){
statement1;
statement2;
}
PERTEMUAN – 3
Struktur Program Java™
b.
Bentu if - else
Struktu if-else digunakan apabila kita ingin mengeksekusi sebuah
statement dengan kondisi true dan statement yang lain dengan
kondisi false.
Bentuk dari if-else,
if( boolean_expression )
statement;
else
statement;
Untuk Lebih dari 1 baris,
if( boolean_expression ){
statement1;
…………………;
}
else{
statement1;
…………………;
}
Contoh : PilihPakeIfElse1.java
Contoh : PilihPakeIfElse2.java
PERTEMUAN – 3
Struktur Program Java™
c.
Bentuk if atau if ….. else Bersarang
Statement pada bagian else dari blok if-else dapat menjadi struktur if
else yang lain. Struktur seperti ini mengijinkan kita untuk membuat
seleksi persyaratan yang lebih kompleks.
Bentuk if-else if,
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;
Contoh : PilihPakeIfElseIf1.java
Contoh : PilihPakeIfElseIf2.java
PERTEMUAN – 3
Struktur Program Java™
d.
Bentuk switch … case
Cara lain untuk membuat percabangan adalah dengan menggunakan
kata kunci switch. Dengan menggunakan switch kita bisa melakukan
percabangan dengan persyaratan yang beragam.
Bentuk switch,
switch( switch_expression ){
case case_selection1:
statement1; //block 1
break;
case case_selection2:
statement1; //block 2
break;
default:
statement1; //block n
break;
}
Contoh : PilihPakeSwitchCase.java
PERTEMUAN – 3
Struktur Program Java™
2.
Pengulangan
a.
Pengulangan for
b. Pengulangan while
c.
Pengulangan do ….. While
d. Perintah break dan continue
PERTEMUAN – 3
Struktur Program Java™
a.
Pengulangan for
Seperti pada struktur pengulangan sebelumnya yaitu melakukan
pengulangan eksekusi code beberapa kali.
Bentuk dari for loop,
for (InitExpression; LoopCondition;StepExpression){
statement1;
statement2;
...
}
Contoh : UlangDenganFor.java
Keterangan ,
1. InitExpression – inisialisasi dari variabel loop.
2. LoopCondition - membandingkan variabel loop pada nilai
batas.
3. StepExpression - melakukan update pada variabel loop.
PERTEMUAN – 3
Struktur Program Java™
b. Pengulangan While
Statement while loop adalah statement atau blok statement yang
diulang-ulang sampai mencapai kondisi yang cocok.
Bentuk dari while,
while( boolean_expression ){
statement1;
statement2;
...
}
Contoh : UlangPakeWhile.java
PERTEMUAN – 3
Struktur Program Java™
c.
Pengulangan do … while
Do-while loop mirip dengan while-loop. Statement di dalam do-while
loop akan dieksekusi beberapa kali selama kondisi bernilai true.
Perbedaan antara while dan do-while loop adalah dimana statement
di dalam do-while loop dieksekusi sedikitnya satu kali.
Bentuk dari do-while,
do{
statement1;
statement2;
...
}while( boolean_expression );
Contoh : UlangPakeDo.java
PERTEMUAN – 3
Struktur Program Java™
d. Perintah break dan continue
break adalah perintah yang digunakan untuk menghentikan kegiatan
pengulangan
break label dengan menambahkan label pada awal for terluar dapat
menjadikan perintah break … label menghentikan semua
pengulangan.
continue adalah perintah yang digunakan untuk melewati kegiatan
yang ada dibawah perintah tersebut dan melanjutkan pengulangan
Contoh : PakeBreak.java
Contoh : PakeContinue.java
PERTEMUAN – 3
Struktur Program Java™
3.
Class Type Data (Type Data Referense)
a.
String
b. StringBuffer
c.
Character
PERTEMUAN – 3
Struktur Program Java™
a.
Kelas String
Model ini mengadopsi konsep Array-of-char dari bahasa
C/C++. Dimana Array-of-char : memandang data string
sebagai sederetan karakter yang membentuk array, jumlah
element array sudah pasti dan tidak mungkin berubah.
Sebuah kelas yang digunakan untuk mengoperasikan data
String, deklarasi kelas ini sebagai berikut :
1.
Inisialisasi 1 :
String abc = new String(“Contoh inisialisasi 1”);
2.
Inisialisasi 2 :
String abc;
abc = new String(“Contoh inisialisasi 2”);
3.
Inisialisasi 3 :
String abc;
abc = “Contoh inisialisasi 3”;
PERTEMUAN – 3
Struktur Program Java™
2.
Operasi – Operasi pada Kelas Sring
Berikut beberapa metode yang disediakan oleh class String
untuk memanipulasi data string (metode lengkap dapat dilihat
di Java.sun.com) :
1.
2.
3.
4.
Panjang data string
Penggabungan data string
Pembandingan data string
Pengantian data string
5.
Kapitalisasi data string
6.
Sub-string
7.
Operasi charakter
8.
Konversi
: namaObjek.length();
: namaObjek.concat(String);
: namaObjek.equal (String);
: namaObjek.replace(char, char);
namaObjek.replaceAll(String, String);
namaObjek.replaceFirst(String, String);
: namaObjek.toLowerCase();
namaObjek.toUpperCase();
: namaObjek.substring(int);
namaObjek.substring(int, int);
: namaObjek.charAt(int);
namaObjek.toCharArray();
: String.valueOf(variabel):
namaObjek.toString():
Contoh : PekeString.java
PERTEMUAN – 3
Struktur Program Java™
3.
Kelas StringBuffer
Model kedua ini mengadopsi konsep pointer-of-char dari
bahasa C/C++. Dimana tipe data pointer adalah
implementasi dari dynamic-allocation yang mengijinkan
penggunaan variabel dalam jumlah besar jika diperlukan dan
penghapusan variabel tersebut jika sudah tidak diperlukan
lagi pada saat run-time. Fleksibelitas ini yang menyebabkan
suatu data string bisa mengalami perubahan ukuran:
bertambah atau berkurang.
Berbeda dengan class string, bahwa data StringBuffer hanya
bisa diinisialisasi melalui construktornya yaitu dengan
menggunakan perintah new. Sbb:
StringBuffer namaObjek = new StringBuffer(string);
PERTEMUAN – 3
Struktur Program Java™
a.
Operasi – Operasi pada Kelas SringBuffer
Berikut beberapa metode yang disediakan oleh class
StringBuffer untuk memanipulasi data stringBuffer, dimana
tidak berbeda jauh dengan Class String.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Panjang data StringBuffer
: namaObjek.length();
namaObjek.setLength(int);
Penambahan data StringBuffer : namaObjek.append(String);
namaObjek.insert(int, String);
Penghapusan data StringBuffer : namaObjek.delete(int, int);
Penggantian data StringBuffer : namaObjek.replace(int, int, String);
Pembandingan data StringBuffer : namaObjek.equal (String);
Pembalikan data StringBuffer
: namaObjek.reverse();
Sub-string
: namaObjek.substring(int);
namaObjek.substring(int,int);
namaObjek.indexOf(String).
Operasi karakter
: namaObjek.charAt(int);
namaObjek.deleteCharAt(int);
namaObjek.setCharAt(int, char);
Konversi
: namaObjek.toString():
Contoh : PekeStringBuffer.java
PERTEMUAN – 3
Struktur Program Java™
5.
Kelas Character
Kelas Character dibuat untuk meningkatkan kemampuan
programmer dalam menangani tipe data karakter. Berbagai
metode disiapkan untuk memanipilasi data karakter. Mulai dari
memeriksa jenis karakter sampai dengan melakukan konversi
tipe data karakter menjadi data lain.
Kelas Character menyediakan satu constructor untuk
menginisialisasi data karakter, yaitu : constructor dengan
parameter data bertipe karakter.
Deklarasi Kelas Character sbb :
Character namaObjek = new Character(char);
PERTEMUAN – 3
Struktur Program Java™
6.
Operasi – Operasi pada Kelas Character
Beberapa metode akan dibahas terutama untuk memeriksa
jenis karakter saat ini, diantaranya sbb:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Berjenis Bilangan ?
Berjenis Huruf ?
Berjenis Huruf/Bilangan ?
Berjenis Spasi ?
Berjenis Huruf Kecil ?
Berjenis Huruf Besar ?
Konversi ke Huruf Kecil ?
Konversi ke Huruf Besar ?
Konversi ke String ?
:
:
:
:
:
:
:
:
:
Character.isDigit(char));
Character.isLetter(char));
Character.isLetterOrDigit(char));
Character.isWhiteSpace(char));
Character.isLowerLetter(char));
Character.isUpperLetter(char));
Character.toLowerCase(char));
Character.toUpperCase(char));
Character.toString(char));
namaObjek.toString());
Contoh : PekeCharacter.java
4
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
1.
Exception Handling
Exception adalah event yang terjadi ketika program menemui
kesalahan pada saat instruksi program dijalankan. Banyak hal
yang dapat menimbulkan event ini, misalnya crash, harddisk
rusak dengan tiba-tiba, sehingga program-program tidak bisa
mengakses file-file tertentu. Programmer pun dapat
menimbulkan event ini, misalnya dengan melakukan
pembagian dengan bilangan nol, atau pengisian elemen array
melebihi jumlah elemen array yang dialokasikan dan
sebagainya.
Exception terdiri dari dua macam kelompok, yaitu :
• Exception yang merupakan subclass RunTimeException.
• Exception yang bukan subclass RunTimeException.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
RunTimeException biasanya disebabkan oleh kesalahan
program
atau
pada
desain
program.
Misalnya
NullPointerException yang disebabkan oleh proses inisialisasi
program
yang
tidak
sempurna
dan
ArrayIndexOutOfBoundsException yang disebabkan akses array
yang melebihi kapasitas array yang ada.
Dalam bahasa Java, ketika terjadi kesalahan, otomatis akan
dilemparkan sebuah objek yang disebut 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.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
Terdapat beberapa subkelas yang diturunkan dari kelas exception,
yaitu :
• ClassNotFoundException
Terjadi bila ingin menggunakan kelas yang tidak ada atau belum
dibuat.
• CloneNotSupportedException
Terjadi bila ingin meng-clone atau menggandakan suatu kelas
yang tidak didukung oleh method clone
• RuntimeException
• NullPointerException
• ArrayIndexOutOfBoundsException
• ArithmeticException
Khusus untuk operasi aritmatika integer. Seperti pembagian suatu
bilangan integer dengan 0
• IOException
Terjadi bila ada I/O error, seperti gagal menemukan dan membuka
file. User memasukkan input yang tidak valid. Subkelas ini
memiliki beberapa subkelas lain, seperti InterruptedIOException,
EOFException, serta FileNotFoundException.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
2.
Error dan Exception Classes
Seluruh exceptions adalah subclasses, baik secara langsung maupun
tidak langsung, dari sebuah root class Throwable. Kemudian, dalam
class ini terdapat dua kategori umum : Error class dan Exception
class.
Exception class menunjukkan kondisi yang dapat diterima oleh user
program. Umumnya hal tersebut disebabkan oleh beberapa
kesalahan pada kode program. Contoh dari exceptions adalah
pembagian oleh 0 dan error di luar jangkauan array.
Error class digunakan oleh Java run-time untuk menangani error yang
muncul pada saat dijalankan. Secara umum hal ini di luar control user
karena kemunculannya disebabkan oleh run-time environment.
Sebagai contoh adalah out of memory dan harddisk crash.
Contoh : tanpaException1.java
tanpaException2.java
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
3.
Keyword penting pada exception handling
Ada 3 keyword penting dalam java dalam hal exception handling :
a) try.
Keyword ini biasanya digunakan dalam suatu block program. Keyword ini digunakan
untuk mencoba menjalankan block program kemudian mengenai dimana munculnya
kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword
catch atau keyword finally.
b) catch.
Jika kita sudah melihat penjelasan try maka secara tidak langsung kita sudah memahami
kegunaan dari keyword ini. Dalam java, keyword catch harus dipasangkan dengan try.
Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block
try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal
apapun pada block catch sesuai keinginan developer. Keyword catch juga dapat
diletakan berulang-ulang sesuai dengan kebutuhan.
c) Finally.
Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan
selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada. d) throw.
Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual. e)
throws. Keyword throws digunakan dalam suatu method atau kelas yang mungkin
menghasilkan suatu kesalahan sehingga perlu ditangkap errornya. Cara
mendefinisikannya dalam method adalah sebagai berikut : type method-name throws
exception-list1, exceptio-list2, … {}.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
4.
Mekanisme Mengantisipasi Exceptiom
Berikut adalah kemungkinan skenario exception :
a) Tidak terjadi exception
Program dijalankan, seluruh statement dalam blok try telah dieksekusi dan tidak
terjadi exception sama sekali, maka blok catch tidak akan dieksekusi oleh interpreter.
b) Terjadi exception pada blok method tunggal
Blok method tunggal disini adalah bila method itu tidak memanggil statement dari
method yang lain. Bila saat interpreter mengeksekusi block try ada statement yang
menyebabkan excepation, maka interpreter akan langsung keluar dari blok try,
kemudian mencari blok catch yang bersesuaian dengan exception yang terjadi. Jika
interpreter menemukan catch yang sesuai maka interpreter akan mengeksekusi blok
tersebut. Bila tidak ada catch yang sesuai, maka interpreter akan menghentikan
program dan menampilkan pesan exception yang terjadi.
c) Terjadi exception pada blok method tersarang
Blok method tersarang maksudnya adalah method yang mendeklarasikan exception
(misal method A) memanggil method lainya ( method B ). Method A memanggil
Method B. Pada saat interpreter mengeksekusi statement dari method B ini, terjadi
exception. Interpreter akan menghentikan eksekusi statement, selanjutnya mencari
catch yang sesuai dalam method B. Bila catch ini tidak ditemukan ( dalam method B ),
maka interpreter akan pergi ke meyhod A. Bila di temukan, maka interpreter akan
mengeksekusi blok tersebut, namun bila tidak ada catch yang sesuai, interpreter akan
menghentikan program dan menampilkan pesan exception.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
5. Jenis Exception Handling
a) Try – Catch
Untuk penanganan exception, dalam Java digunakan blok try dan catch. 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. Setelah kita tambahkan blok try – catch untuk mengatasi error
yang terjadi, maka program akan menampilkan pesan error bahwa ada error yang
terjadi pada konsol. Sintaks blok try – catch adalah sebagai berikut :
try
{
… kode program yang mungkin menghasilkan exception
}
catch (exception xx)
{
…
}
catch (exception xx)
{
…
}
Petunjuk Penulisan Program :
 Blok catch dimulai setelah kurung
kurawal dari kode try atau catch
terkait.
 Penulisan kode dalam blok
mengikuti identasi.
Contoh : TestExceptions1.java,
TestExceptions2.java
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
b) Multiple Catch
Untuk multiple catch akan kita gunakan jika blok try mungkin menimbulkan lebih dari
satu exception. Sintaks blok multiple catch adalah sebagai berikut :
try
{
instruksi-1
instruksi-2
.....
instruksi-n
}
catch(tipe_eksepsi_1 e1)
{
}
catch(tipe_eksepsi_2 e2)
{
}
catch(tipe_eksepsi_n en)
{
}
instruksi-lain
…….
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
c) Try – Catch – Finally
Selain try – catch, kita dapat mendefinisikan blok try – catch dan finally yang memiliki
proses yang lebih lengkap, karena pada finally kita dapat mendefinisikan kode
program yang selalu dieksekusi, baik ada exception yang terjadi maupun bila tidak
terjadi exception sama sekali. Bentuk umum dari blok try-catch-finally adalah
sebagai berikut :
Try
{
//tulis pernyataan yang dapat mengakibatkan exception
//dalam blok ini
}
catch( )
{
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
...
catch( )
{
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
Finally
{
//tambahkan kode terakhir di sini
}
Contoh : TestExceptions3.java
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
Exception dilemparkan selama eksekusi dari blok try dapat ditangkap
dan ditangani dalam blok catch. Kode dalam blok finally selalu dieksekusi. Berikut ini adalah aspek kunci tentang sintak dari konstruksi
try-catch-finally:
• Notasi blok bersifat perintah
• Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya
satu blok finally.
• Blok catch dan blok finally harus selalu muncul dalam konjungsi
dengan blok try, dan diatas urutan.
• Blok try harus diikuti oleh paling sedikit satu blok catch atau satu
blok finally, atau keduanya.
• Setiap blok catch mendefinisikan sebuah penanganan exception.
Header dari blok catch harus membawa satu argumen, dimana
exception pada blok tersebut akan ditangani. Exception harus
menjadi class pelempar atau satu dari subclassesnya.
• Try-catch yang menggunakan finally maka keyword finally tersebut
fungsinya hampir sama dengan keyword default pada switch-case.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
Ada 3 sekenario pemrosesan dengan keyword finally yaitu :
• Bila tidak terjadi exception,maka blok finally akan di eksekusi .
setelah selesai, interpreter akan mengeksekusi statement
selanjutnya.
• Bila terjadi exception, interpreter akan berhenti mengeksekusi
statement dalam blok try berikutnya. Kemudian, interpreter akan
mencari catch yang sesuai. Bila ditemukan, interpreter akan
mengeksekusi catch dan finally.
• Bila exception terjadi, namun tidak ada catch yang sesuai, maka
statement – statemenet try berikutnya yang masih tersisa tidak
akan di eksekusi. Selanjutnya, interpreter akan mengeksekusi blok
finally.
PERTEMUAN – 4
Penanganan Kesalahan (Error Handling) di Java™
6. Input Dari Keyboard Implemnetasi Error Handling
Proses pembacaan data input yang diketikkan oleh user
melalui keyboard dilihat dengan dua cara, yaitu :
a.
Dalam lingkungan Console (DOS)
menggunakan
kelas
BufferedReader(),
InputStreamReader(), dimana kelas diinstansiasikan
menjadi sebuah objek. Dan kemudian objek yang
terbentuk memiliki sebuah metode readLine() yang
digunakan untuk menangkap inputan dari keyboard.
Class tersebut diatas terdapat di dalam package java.io
Contoh : InputDariKeyboard1.java
b.
Contoh : InputDariKeyboard2.java
Dalam lingkungan GUI
menggunakan kelas/komponen JOptionPane dengan
method showInputDialog().
Class tersebut diatas terdapat di dalam package
javax.swing
5
PERTEMUAN – 5
KELAS dan METHOD
1.
Kelas dan Method
a.
Kelas dan Method Standar
Yaitu kelas dan method yang telah disediakan oleh java dan
menjadi reference library. Banyak kelas standard maupun
method yang dapat digunakan untuk aplikasi yang spesifik.
Kumpulan class/method ini sering dikenal dengan istilah
API (application Programming Interface) atau diistilahkan
dengan package.
b.
Kelas dan Method yang didefinisikan Sendiri (UDF)
Selain kelas dan method standar, terkadang kita juga perlu
memodelkan suatu objek kedalam kelas dan
mendefenisikan data serta method yang dimilikinya. Bila
aplikasi tersebut besar dan kompleks, kita dapat
membaginya menjadi beberapa package yang didalamnya
terdapat beberapa kelas.
PERTEMUAN – 5
KELAS dan METHOD
2.
Deklarasi Kelas
a.
Deklarasi kelas yang sederhana
class namaKelas{
// body
}
b.
Deklarasi kelas secara UMUM
[modifier 1] class namaKelas [modifier 2] {
// body
}
Contoh : Kotak.java
PERTEMUAN – 5
KELAS dan METHOD
Modifier pada Kelas
a.
Modifier 1
public : dapat diakses dari kelas lain, baik dalam package yang
sama maupun berbeda.
private : tidak dapat diakses sama sekali dari kelas lain, baik dari
package yang sama maupun berbeda.
protected : membatasi akses kelas yang dilakukan oleh subkelas
turunannya dan kelas lain yang terletak dalam package yang
sama.
sbstract : kelas tersebut tidak dapat diinstankan langsung menjadi
Objek. Dipakai pada hirarki kelas tertinggi. Yang hanya mungkin
dilakukan dengan cara inheritance.
final : kelas tersebut tidak dapat diturunkan menjadi subkelas.
b.
Modifier 2
extends SuperClass : digunakan untuk inheritance
implements Interface : digunakan bila kelas mengimplementkan
satu atau lebih interface.
PERTEMUAN – 5
KELAS dan METHOD
Operator new (Untuk membuat Objek dari Sebuah Class)
Operator ini digunakan untuk membentuk (menginstankan)
objek dari kelas, bentuk umumnya sbb:
namaKelas namaObjek = new namaKonstruktor();
Pada saat menggunakan new, terjadi beberapa proses internal
sebagai berikut :
a.
b.
c.
Objek baru tercipta
Memory dialokasikan untuk objek tersebut.
Method konstruktor dipanggil untuk menginisialisasi objek.
Contoh : DemoKotak.java
PERTEMUAN – 5
KELAS dan METHOD
3.
Deklarasi Method
Bentuk umum dari method adalah sbb:
modifier tipeNilaiKembalian namaMethod(parameter input) throws exception{
// body dari method
}
Modifier (optional) yang digunakan sama dengan modifier
untuk mendeklarasikan kelas karena pada prinsipnya modifier
dapat diletakkan pada kelas, data dan method. Namun implikasi
dari penggunaan modifier pada ketiganya belum tentu sama
persis antara satu dengan yang lainnya. Sebagai contoh :
1. final pada kelas berarti bahwa kelas itu tidak dapat
diturunkan menjadi subkelas yang lain.
2. final pada method, berarti method tersebut tidak dapat
dioverride oleh subkelas yang lain.
3. final pada variabel akan mengubah variabel tersebut
menjadi sebuah konstanta.
PERTEMUAN – 5
KELAS dan METHOD
Memanggil Method
Sama seperti ketika mengakses variabel, kita juga
menggunakan notasi titik/dot (.) untuk memanggil method.
Bentuk umum pemanggilan method sbb :
namaObjek.namaMethod(argument);
Contoh :
objMahasiswa.isiMataKuliah();
Contoh : Kotak2.java
PERTEMUAN – 5
KELAS dan METHOD
Melewatkan Argumen ke Method
Dua cara melewatkan argument ke method, yaitu :
1.
Melewatkan serace Nilai (Pass by Value)
diterapkan pada argument bertipe data primitif. Prosesnya
adalah compiler hanya menyalin/mengcopy isi memori
(yang telah dialokasikan untuk suatu variabel) dan
kemudian menyampaikan salinan tersebut kepada method.
oleh karena itu, maka perubahan yang terjadi pada variabel
akibat proses tidak akan berpengaruh pada nilai variabel
asalnya.
2.
Melewatkan secara Referensi (Pass by Refference)
diterapkan pada array dan objek. Variabel array dan objek
menyimpan alamat memori buka isi memori. Akibatnya
setiap perubahan variabel didalam method akan
mempengaruhi nilai pada variabel asalnya.
PERTEMUAN – 5
KELAS dan METHOD
4.
Method Overloading
Java memperbolehkan kita membuat dua atau lebih
method dengan nama yang sama dalam suatu kelas. Meskipun
memiliki nama sama namun jumlah dan tipe data argument
masing-masing method haruslah berbeda satu dengan lainnya.
Inilah yang disebut dengan Overloading Method.
Memiliki
Nama Sama
Contoh :
class mencetakArgument{
void Cetak(int bil){
System.out.println(“Nilai yang dikirim adalah “+bil);
}
void Cetak(String nama){
System.out.println(“Mana yang dikirim adalah “+Nama);
}
}
Contoh : MethodOverLoading.java
PERTEMUAN – 5
KELAS dan METHOD
5.
Method Konstruktor
Konstruktor adalah method yang berfungsi untuk
menginisialisasi variabel-variabel instant yang akan dimiliki
objek. Konstruktor ini dipanggil pada saat proses instansiasi
kelas menjadi objek. Ketentuan sbb:
1. Namanya sama dengan nama Kelasnya.
2. Tidak mengembalikan suatu nilai
3. Satu kelas bisa memiliki lebih dari satu konstruktor,
konstruktor satu dapat memanggil konstruktor lain.
4. Dapat dibubuhi modifier public, private, protected
Contoh :
class Cetak{
public Cetak(int bil){
System.out.println(“Nilai yang dikirim adalah “+bil);
}
}
Memiliki
Nama Sama
public Cetak(String nama){
System.out.println(“Mana yang dikirim adalah “+Nama);
}
Contoh :
Mahasiswa.java,
DemoMahasiswa.java
PERTEMUAN – 5
KELAS dan METHOD
6.
Method Finalizer
Objek adalah dalam program yang sedang dieksekusi
mempunyai waktu hidup (life time). Objek tercipta pada saat
kita menginstankan suatu kelas dengan operator new dan akan
dihapus pada saat objek dikumpulkan oleh Garbage Collection
atau bila memori yang ditempatinya telah diklaim oleh
objek/bagian program lain. Method yang dibubuhi modifier
finalize ini dapat dikatakan juga sebagai lawan/kebalikan dari
method konstruktor. Method ini dipanggil sesaat sebelum objek
dihancurkan.
Bentuk umum, sbb :
protected void finalize() throw Throwable{
super.finalize();
}
PERTEMUAN – 5
KELAS dan METHOD
7.
Method Main
Setelah selesai mengetik source code, langkah berikutnya
adalah mengkompilasi dan menjalankan program tersebut.
Pada saat kompilasi, pertama-tama kompiler akan mencari
bagian program yang disebut sebagai method utama (main
method).
Bentuk umum, sbb :
public static void main(String [] arguments){
// statement body dari main method
}
1.
2.
3.
Public, main method harus dapat dilihat atau visible oleh
kelas manapun.
Void, tidak mngembalikan nilai.
Main(String[] arguments), main method ini dapat
mengambil suatu parameter input yang merupakan array
dari string yang diberi nama argument.
6
PERTEMUAN – 6
Array dan Package
1.
Defenisi Array
Adalah sebuah solusi untuk mendeklarasikan sejumlah Variabel
secara tepat. Pemakaian Variabel Array akan menghemat waktu
penyebutan nama Variabel. Variabel Array adalah sejumlah
Variabel dengan nama yang sama.
illustrasi Array :
Catt:
No. Indeks/No. Element di awali angka 0 (nol) dan
diakhiri n-1 dimana n= panjang array.
PERTEMUAN – 6
Array dan Package
2.
Mendeklarasikan Array
Beberapa cara mendeklarasikan sebua variabel array, yaitu :
1.
Deklarasi
TypeData [ ] namaArray ;
2.
Inisialisasi
namaArray = new TypeData [jml elemen];
3.
Deklarasi dan Inisialisasi
TypeData [ ] namaArray = new TypeData [jml elemen]
PERTEMUAN – 6
Array dan Package
3.
Contoh Deklarasi dan Inisialisasi Array
1.
Tanpa menyebutkan berapa jumlah elemen yang diperlukan.
Int [ ] angka;
Angka =new Int [5];
2.
VariabelArray1D_01 .java
VariabelArray1D_02 .java
Dengan menyebutkan jumlah elemen yang diperlukan
Int [ ] angka = new Int [5];
VariabelArray1D_03 .java
Untuk kedua cara di atas pengisian data dilakukan secara manual
yaitu dengan diinput satu persatu.
3.
Dengan cara otomatis
Jumlah elemen secara tegas tidak diperlihatkan tetap dapat
dilihat dari data yang didefinisikan secara terurut.
int angka = {5,3,7,1,10};
VariabelArray1D_04 .java
PERTEMUAN – 6
Array dan Package
4.
Array Multidimensi
Selain berupa sederetan variabel satu dimensi, kita dapat pula
membuat array yang berukuran lebih dari satu dimensi atau
disebut array multi-dimensi. Pada bagian ini kita mencoba
mencontohkan bentuk array dua dimensi sbb:
TypeData [ ][] nmArray [= new TypeData [jml baris][jml kolom]
VariabelArray2D_01 .java
VariabelArray2D_02 .java
Contoh :
Membuat matrik 2 X 3 yang berisi data mahasiswa, sbb:
String[][] dataMHS = {
{“9111500060”, “M. Anif”, “A”},
{“9111500061”, “Munsi Liano”, “B”},
}
VariabelArray2D_03 .java
VariabelArray2D_04 .java
PERTEMUAN – 6
Array dan Package
5.
Package
Sesuai dengan namanya, package adalah sebuah upaya untuk
mengelompokkan bagian-bagian program java menjadi satu.
Sebuah package dalam java terdiri dari sekumpulan class
dan/atau interface. Didalam sebuah package juga dimungkinkan
mempunyai sub-package.
Package bisa berupa package yang sudah dimiliki oleh Java, dan
ada pula package yang dibuat uleh user. Package yang dibuat
oleh user ini sering disebut dengan folder. Atau sebuah lokasi
didalam media penyimpanan yang kita miliki.
Dalam package yang kita buat dapat berisi sejumlah kelas dan
didalam package tersebut juga bisa berupa sub-package.
PERTEMUAN – 6
Array dan Package
6.
Membuat Package
Deklarasi sebuah package diawali dengan deklarasi nama
package pada bagian teratas sebuah file source.
Bentuk Deklarasi Package :
package [namaPackage];
Contoh :
package kampus;
class unit1{
// … body kelas
// … metode-metode
// … field-field
// …
}
PERTEMUAN – 6
Array dan Package
7.
Mengakses Class dalam Package
Mengakses Kelas dengan Kata Kunci import:
import namaPackage.namaKelas;
Contoh :
package demo;
import kampus.*;
import java.awt.Color;
class demo1{
public statik void main(String[] args){
unit1 gedung1 = new unit1();
Color merah = new Color(Color.red);
}
}
PERTEMUAN – 6
Array dan Package
8.
Contoh Program Implementasi Package
TestPackage01.java
TestPackage02.java
TestPackage03.java
TestPackage04.java
TestPackage05.java
TestPackage01a.java
End
Of
Slide
Download