OBJEK PEMROGRAMAN BERORIENTASI Team Dosen PBO UBL Versi : Februari 2016 PEMROGRAMAN OBJEK BERORIENTASI Team Dosen PBO UBL
PENDAHULUAN MATA KULIAH ATURAN PERKULIAHAN ATURAN PENILAIAN Nama : Pemrograman Berorientasi Objek SKS : 3 SKS Jenis : MKM (Mata kuliah Kendai Mutu) ATURAN PERKULIAHAN Hadir Tepat Waktu Tidak Membuat Keributan Tidak Membuat Dosen Dan Peserta Lain Resah (Berpakaian Yang Sopan) Pengumpulan Tugas Tepat Waktu. ATURAN PENILAIAN Kehadiran : 10% Tugas : 20% UTS : 30% UAS : 40% Total : 100%
PERTEMUAN - 1 Pengenalan Konsep Dasar OOP dan Java ™ Pertemuan 1 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menjelaskan konsep dasar OOP dan pemrograman Java™ KHUSUS : Mahasiswa mampu menjelaskan perbedaan OOP dan pemrograman prosedural Mahasiswa mampu menginstal Java™ Compiler Mahasiswa mampu menulis struktur Java™ sederhana Materi : 1. Paradigma Bahasa Pemrogrman 2. Konsep Dasar Bahasa Pemrograman Berorientasi Objek 3. Instalasi Program Aplikasi 4. Struktur Coding OOP di Java
PERTEMUAN - 2 Dasar dan Aturan Penulisan Code Java™ Pertemuan 1 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. Komentar Pada Java 2. Tipe Data Primitif 3. Inisialisasi Variabel dan Konstanta 4. Keyword 5. Operator 6. Konversi dan Casting
PERTEMUAN - 3 Struktur Program Java™ Pertemuan 1 Pertemuan 2 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menulis struktur program Java™ KHUSUS : Mahasiswa mampu menulis struktur keputusan Java™ Mahasiswa mampu menulis perulangan pada Java™ Mahasiswa mampu menulis tipe data Class ™ Materi : 1. Pengambilan Keputusan 2. Pengulangan Proses 3. Tipe Data Class
PERTEMUAN - 4 Penanganan Kesalahan (Error Handling) Pertemuan 1 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 Materi : 1. Exception Handling 2. Error dan Exception Classes 3. Keyword penting pada Exception Handling 4. Mekanisme Mengantisipasi Exception 5. Jenis Exception Handling 6. Input Dari Keyboard Implemnetasi Error Handling
PERTEMUAN - 5 Class dan Objek Pertemuan 1 Pertemuan 2 Pertemuan 3 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. Class dan Method 2. Deklarasi Class 3. Deklarasi Method 4. Method Overloading 5. Method Konstruktor 6. Method Finalizer 7. Method Main
PERTEMUAN - 6 Package Pertemuan 1 Pertemuan 2 Pertemuan 3 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu memanage class-class yang dibuat dalam package 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 Materi : 1. Defenisi Array 2. Deklarasi Array 3. Contoh Deklarasi dan Inisialisasi Array 4. Array Multidimensi 5. Konsep Package 6. Membuat Package 7. Mengakses Class dalam Package 8. Contoh Program Implementasi Package
PERTEMUAN - 7 Konsep OOP Pertemuan 1 Pertemuan 2 Pertemuan 3 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menjelaskan konsep OOP KHUSUS : Mahasiswa mampu menjelaskan konsep polimorfisme Mahasiswa mampu menjelaskan konsep inheritas Mahasiswa mampu menjelaskan konsep enkapsulasi Materi : 1. Konsep Polimorpisme 2. Konsep Inheritas 3. Konsep Enkapsulasi
Ujian Tengah Semester PERTEMUAN - 8 Pertemuan 1 Pertemuan 2 TUJUAN INTERAKSIONAL UMUM : Menguji dan Menilai Kemampuan Mahasiswa 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 : 1. Pilihan Ganda 2. Essay
PERTEMUAN - 9 Polymorphism Pertemuan 1 Pertemuan 2 Pertemuan 3 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 : 1. Konsep Polimorpisme 2. Overloading 3. Overiding 4. Polimorpisme Argumen 5. Instance of Statement 6. Casting Objek
PERTEMUAN - 10 Inheritence Pertemuan 1 Pertemuan 2 Pertemuan 3 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu mengimplementasikan konsep pewarisan KHUSUS : Mahasiswa mampu mengimplementasikan Single Inheritas Mahasiswa mampu mengimplementasikan constructor Mahasiswa mampu mengimplementasikan aksesibilitas Mahasiswa mampu mengimplementasikan keyword super Mahasiswa mampu mengimplementasikan inheritas bertingkat Materi : 1. Konsep Inheritas 2. Single Inheritas 3. Constructor 4. Aksesibilitas 5. Keyword Super 6. Inheritas Bertingkat
PERTEMUAN - 11 Encapsulation Pertemuan 1 Pertemuan 2 Pertemuan 3 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 Materi : 1. Konsep encapsulation 2. Penggabungan Data 3. Modifier 4. Akses Data
PERTEMUAN - 12 Interface Pertemuan 1 Pertemuan 2 Pertemuan 3 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menerapkan interface KHUSUS : Mahasiswa mampu menerapkan class Mahasiswa mampu menerapkan pewarisan antar interface Materi : 1. Interface 2. Perbedaan Interface dan Class 3. Pewarisan Antar Interface
PERTEMUAN - 13 Pengenalan Java™ GUI Pertemuan 1 Pertemuan 2 TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menerapkan GUI(Graphical User Interface) pada java KHUSUS : Mahasiswa mampu menjelaskan konsep GUI Mahasiswa mampu menjelaskan komponen GUI Mahasiswa mampu mendesain tampilan antar muka. Materi : 1. Konsep GUI 2. Komponen GUI 3. Design Tampilan
PERTEMUAN - 14 Pengolahan Data sederhana berbasis GUI (CRUD) TUJUAN INTERAKSIONAL UMUM : Mahasiswa mampu menerapkan pemrograman dengan basis data KHUSUS : Mahasiswa mampu mengimplementasikan desain database. Mahasiswa mampu membuat form sesuai dengan kebutuhan Mahasiswa mampu mengimplementasikan operasi select Materi : 1. Mempersiapkan Database 2. Membuat Form 3. Membuat Class Koneksi 4. Membuat operasi select
PERTEMUAN - 15 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 Materi : 1. Membuat operasi Insert 2. Membuat operasi Update 3. Membuat operasi Delete
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 object-oriented 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: Is Identical (because Object has own unique ID), yaitu object tersebut mempunyai identitas tersendiri dapat dibedakan dengan yang lain Has Behavior (because Object has Method), yaitu object itu mempunyai prilaku atau sifat-sifat yang khusus 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. 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 : 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 /** * 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 : Case-sensitive, Tidak menggunakan reserved word atau Keyword JAVA, Tidak menggunakan symbol-simbol operator. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_), tanda dolar ( $ ), Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …). 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. 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 : *, /, %, +, - Operator Increment dan Decrement Memiliki beberapa jenis simbol yaitu : ++, -- 3. Operator Relasi Memiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, != Operator Logika Memiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, ! 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; Bentuk if lebih dari 1 baris statement, if( boolean_expression ){ statement1; statement2; } Contoh : PilihPakeIf_1.java Contoh : PilihPakeIf_2.java
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 Untuk Lebih dari 1 baris, if( boolean_expression ){ statement1; …………………; } else{ 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 default: statement1; //block n } 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; . . . } Keterangan , InitExpression – inisialisasi dari variabel loop. LoopCondition - membandingkan variabel loop pada nilai batas. StepExpression - melakukan update pada variabel loop. Contoh : UlangDenganFor.java
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”); Inisialisasi 2 : String abc; abc = new String(“Contoh inisialisasi 2”); 3. Inisialisasi 3 : 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) : Panjang data string : namaObjek.length(); Penggabungan data string : namaObjek.concat(String); Pembandingan data string : namaObjek.equal (String); Pengantian data string : namaObjek.replace(char, char); namaObjek.replaceAll(String, String); namaObjek.replaceFirst(String, String); Kapitalisasi data string : namaObjek.toLowerCase(); namaObjek.toUpperCase(); Sub-string : namaObjek.substring(int); namaObjek.substring(int, int); Operasi charakter : namaObjek.charAt(int); namaObjek.toCharArray(); Konversi : 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. Panjang data StringBuffer : namaObjek.length(); namaObjek.setLength(int); Penambahan data StringBuffer : namaObjek.append(String); namaObjek.insert(int, String); 3. Penghapusan data StringBuffer : namaObjek.delete(int, int); 4. Penggantian data StringBuffer : namaObjek.replace(int, int, String); 5. Pembandingan data StringBuffer : namaObjek.equal (String); 6. Pembalikan data StringBuffer : namaObjek.reverse(); Sub-string : namaObjek.substring(int); namaObjek.substring(int,int); namaObjek.indexOf(String). 8. Operasi karakter : namaObjek.charAt(int); namaObjek.deleteCharAt(int); namaObjek.setCharAt(int, char); 9. 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: Berjenis Bilangan ? : Character.isDigit(char)); Berjenis Huruf ? : Character.isLetter(char)); Berjenis Huruf/Bilangan ? : Character.isLetterOrDigit(char)); Berjenis Spasi ? : Character.isWhiteSpace(char)); Berjenis Huruf Kecil ? : Character.isLowerLetter(char)); Berjenis Huruf Besar ? : Character.isUpperLetter(char)); Konversi ke Huruf Kecil ? : Character.toLowerCase(char)); Konversi ke Huruf Besar ? : Character.toUpperCase(char)); Konversi ke String ? : 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 : 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. 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. 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) … 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 . . . 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 di-eksekusi. 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 : 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 Dalam lingkungan GUI menggunakan kelas/komponen JOptionPane dengan method showInputDialog(). Class tersebut diatas terdapat di dalam package javax.swing Contoh : InputDariKeyboard1.java Contoh : InputDariKeyboard2.java
5
PERTEMUAN – 5 KELAS dan METHOD 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. 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 Deklarasi kelas yang sederhana class namaKelas{ // body } Deklarasi kelas secara UMUM [modifier 1] class namaKelas [modifier 2] { Contoh : Kotak.java
PERTEMUAN – 5 KELAS dan METHOD Modifier pada Kelas 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. 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 : 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 : final pada kelas berarti bahwa kelas itu tidak dapat diturunkan menjadi subkelas yang lain. final pada method, berarti method tersebut tidak dapat dioverride oleh subkelas yang lain. 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 : 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. 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. 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); Memiliki Nama Sama 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: Namanya sama dengan nama Kelasnya. Tidak mengembalikan suatu nilai Satu kelas bisa memiliki lebih dari satu konstruktor, konstruktor satu dapat memanggil konstruktor lain. Dapat dibubuhi modifier public, private, protected Contoh : class Cetak{ public Cetak(int bil){ System.out.println(“Nilai yang dikirim adalah “+bil); } public Cetak(String nama){ System.out.println(“Mana yang dikirim adalah “+Nama); Memiliki Nama Sama 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 } 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 ; 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 Tanpa menyebutkan berapa jumlah elemen yang diperlukan. Int [ ] angka; Angka =new Int [5]; Dengan menyebutkan jumlah elemen yang diperlukan Int [ ] angka = new Int [5]; 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_01 .java VariabelArray1D_02 .java VariabelArray1D_03 .java 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] Contoh : Membuat matrik 2 X 3 yang berisi data mahasiswa, sbb: String[][] dataMHS = { {“9111500060”, “M. Anif”, “A”}, {“9111500061”, “Munsi Liano”, “B”}, } VariabelArray2D_01 .java VariabelArray2D_02 .java VariabelArray2D_03 .java VariabelArray2D_04 .java
PERTEMUAN – 6 Array dan 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