Upload
vannga
View
230
Download
0
Embed Size (px)
Citation preview
1
MODUL PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK 1
Java Programming
Oleh:
Fery Updi,M.Kom
TEKNIK INFORMATIKA
Ver.1.2017
2
Object Oriented Programming
POKOK BAHASAN:
Berpikir Object Oriented
Pengertian Objek, Class, Instance, Data, Method, dan Hirarki Class
Pengantar Pemrograman Java TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Memahami definisi objek dan cara mendesain berorientasi objek 2. Memahami definisi dan deklarasi object, class, dan Instance 3. Memahami bahasa pemrograman java
I. Berpikir Object Oriented Definisi OOP OOP (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek dan apa yang bisa dilakukan objek tersebut. OOP terdiri dari objek-objek yang berinteraksi satu sama lain untuk menyelesaikan sebuah tugas. Kode-kode di-breakdown agar lebih mudah di-manage. Breakdown berdasarkan objek-objek yang ada pada program tersebut. Dianjurkan diimplementasikan untuk program dengan berbagai ukuran karena lebih mudah untuk men-debug. Apa sih OOP itu?
Pemrograman Berorientasi Object (OOP) adalah model pemrograman yang paling banyak dipakai saat ini.
OOP telah menggantikan teknik pemrograman prosedural yang telah dipakai sejak tahun 1970-an
Java adalah bahasa yang berorientasi objek, karena itu Anda harus paham OOP agar dapat produktif menggunakan Java.
Program yang Berorientasi Objek akan terdiri dari objek-objek. Objek-objek ini seringkali merepresentasikan apa yang ada di dunia nyata.
II. Pengertian Objek, Class, Instance, Data, Method, dan Hirarki Class Apakah obyek itu? Semua benda yang ada didunia ini dapat kita sebut sebagai obyek. Dosen mata kuliah Teknik Informatika kalian adalah suatu obyek. Modul yang kalian pegang ini juga suatu obyek. Bahkan mata kuliah Teknik Informatika adalah juga sebuah obyek. Setiap obyek akan mempunyai karakteristik dan tingkah laku tertentu. 1. Objek, Kelas, dan Instance (Instans)
1
3
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.
2. Data/Variabel/Property Data adalah sifat karakteristik atau kondisi yang dimiliki oleh suatu objek, istilah data/variabel/property memiliki pengertian yang sama, dan dapat digunakan atau dianalogikan secara bergantian untuk lebih memperjelas suatu konsep. Atau beberapa buku menggunakan istilah lain seperti atribut. 3. Method/Prosedur atau Fungsi/Behaviour Method adalah adalah Prosedur atau fungsi yang dimiliki oleh suatu objek. Karena pada dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variabel yang ada didalamnya sesuai dengan operasi yang telah ditentukan. Dari proses diatas akan terjadi 3 kemungkinan, yaitu :
a. Mengembalikan suatu nilai akhir. b. Mengembalikan nilai yang bersifat sementara untuk kemudian diumpankan ke
method lain. c. Tidak mengembalikan nilai sama sekali.
4. Hierarki Kelas Suatu kelas dapat dibuat sebagai kelas yang benar-benar baru atau dapat dibentuk dari kelas
yang sudah ada. Proses pembentukan kelas baru dari sebuah kelas yang sudah ada disebut
sebagai pewarisan (inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya
disebut kelas super. Sedangkan kelas yang terbentuk dinamakan kelas sub.
Proses pewarisan inilah yang akan membentuk hirarki kelas. Kelas yang terletak pada puncak
hirarki disebut sebagai kelas abstrak. Dimana sifat dari kelas abstrak hanya berisi deskripsi
4
data dan method yang sangat umum. Sehingga tidak mungkin diimplementasikan secara
terperinci. Oleh karena itu kelas abstrak ini tidak dapat langsung di instansiasi menjadi objek.
5. Hubungan antara Class, Object, Data dan Method Dalam konsep OOP, objek diciptakan atau diinstansiasi dari kelas dengan mengisikan nilai parameter data dan memanfaatkan method yang telah dideskripsikan oleh kelas itu. Dengan demikian kelas juga merupakan template/prototype dari suatu objek. Objek-objek yang berasal dari kelas yang sama akan memiliki tipe data yang sama (meskipun dengan nilai yang berbeda) dan fungsi yang sama. Objek dikatakan sebagai instans dari suatu kelas. 6. Kerangka Program OOP
Apa hubungannya dengan OOP?
Sama halnya dengan penyembunyian detil PEDAL pada sebuah MOBIL, di OOP kita menyembunyikan detil pemrograman di dalam sebuah METHOD (FUNGSI)
METHOD-METHOD ini dibuat dan disimpan bersama-sama di dalam suatu desain yang disebut dengan CLASS.
METHOD injak gas, injak rem, belok kiri, belok kanan, dll
NamaFile.java
Komentar Program
Deskripsi Program dan Import
Kelas A
Kelas B
Badan Kelas
Badan Kelas
Deklarasi Data
Main Method
Deklarasi dan Implementasi Method
Deklarasi Data
Deklarasi dan Implementasi Method
5
CLASS rancangan mobil Class & Object
CLASS adalah suatu template/blueprint/rancangan dari object yang akan dibuat. OBJECT adalah sesuatu yang diciptakan dari Class. Analogi lain :
Class = cetakan kue Object = kue-nya
III. Bagaimana mendesain berorientasi objek? Merancang Aplikasi program Berbasis OOP
Sekarang, Anda diminta merancang suatu program untuk sebuah BANK: Di aplikasi BANK, pasti ada yang namanya REKENING Dengan menggunakan konsep yang sama: Anda dapat mendesain sebuah
CLASS yang merepresentasikan REKENING. REKENING tersebut didesain sedemikian rupa sehingga memiliki 3 METHOD,
yaitu: METHOD untuk menyimpan uang (tabung) METHOD untuk mengambil uang (tarik) METHOD untuk memeriksa saldo (cek)
Analogi Pabrik Mobil dan Program Bank
IV. Konsep Pemrograman Berorientasi OBJEK. Objek adalah kesatuan Entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari, objek adalah benda, baik benda berwujud nyata maupun benda tidak berwujud nyata atau konsep. Contoh benda berwujud nyata : Manusia, mobil, komputer, dll Contoh benda yang tidak nyata atau konsep : Tabungan bank, sistem antrian, sistem internet bangking Objek Oriented Programming (OOP)
6
Konsep yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lainnya. Keuntungan OOP Alami (Natural), Dapat dikendalikan(Reliable), Dapat digunakan kembali (Reusable), Mudah untuk dipelihara (Maintainable), Dapat diperluas (Extendable) dan Efisiensi waktu. OOP adalah pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek. Kelas ini harus mengandung sifat (data) dan tingkah laku (method) umum yang dimiliki oleh objek-objek yang kelak akan dibuat (diinstansiasi). Data dan method merupakan anggota (member) dari suatu kelas.
V. PENGENALAN JAVA Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut menggunakan versi yang dinamakan Oak. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk). Saat ini Java berada dibawah lisensi Sun Microsystems. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat luinak pada komputer standalone ataupun pada lingkungan jaringan. Keunggulan Java Beberapa keunggulan bila dibandingkan dengan bahasa pemrograman lainnya adalah :
1. Java bersifat sederhana dan relatif mudah Semudah c, seampuh c++, mengurangi kompleksitas yang dimiliki c++, sehingga pemrograman cenderung lebih mudah.
2. Java berorientasi pada objek Karena java membagi program menjadi objek-objek, kemudian memodelkan sifat dan tingkah laku masing-masing. Menetukan dan mengatur interaksi antara objek yang satu dengan lainnya.
3. Java bersifat terdistribusi Sudah berkembang ke pemrograman mulai dari client, server, database server, web server, proxy server, dan sebagainya.
4. Java bersifat multiplatform Dapat berjalan di banyak platform sistem operasi.
5. Java bersifat multiThread Dapat mengerjakan beberapa proses dalam waktu yang hampir bersamaan.
Kompiler dan Interpreter Banyak tersedia kompiler dan interpreter dari berbagai vendor diantaranya :
7
1. J2SDK (Java 2 Software Development Kit) : seperangkat tool yang berisi kompiler dan interpreter java yang direlease oleh Sun dan bersifat free. (download pada situs http://www.sun.com, yang kita gunakan dikelas ini.
2. JBuilder : Development software java yang dibuat oleh Borland Inc. bekerja dilingkungan windows dan memiliki tampilan GUI.
3. Visual J : Produk Microsoft, sebuah compiler sekaligus interpreter, berbasis GUI. Selain ketiga kompiler dan interpreter diatas, masih terdapat beberapa development tool yang dapat digunakan untuk membuat program java, yaitu : Symantec Visual Café, IBM Visual Age for Java, dan Sun Fort for Java. Editor Editor, merupakan sebuah sarana bagi pengembang aplikasi untuk program yang mereka buat, editor yang kita gunakan menuliskan merupakan editor yang berbasis teks. Baik editor yang sudah IDE maupun tidak, diantaranya :
• Edit atau EditPlus • NotePad • WordPad • JCreator • JBuilder • VisualJ • NetBeans • …
Banyak lagi editor yang dapat digunakan untuk pengembangan aplikasi dengan bahasa pemrograman java ini.
VI. INSTALASI PERANGKAT LUNAK PENDUKUNG Java SDK dan NetBeans diperlukan jika hendak membuat program java. Java SDK adalah flatform dasar Java yang diperlukan agar komputer/laptop dapat untuk mengeksekusi kode-kode program bahasa Java. NetBeans adalah aplikasi editor terpadu (IDE) yang akan banyak mempermudah dalam membuat aplikasi karena menyediakan kontrol-kontrol visual. Hardware Requirement
• Komputer/Laptop minimal RAM 1 GB • Prosesor clock-speed diatas 1 GHZ • Sistem Operasi bebas Windows 32, 64 Bit, atau Linux • Download SDK dan IDE dapat di download secara gratis di www.oracle.com atau
www.java.sun.com Yang harus di install pertama kali adalah:
1. Instalasi Java SDK jdk-8u11-windows-i586.exe
jdk-8u11-windows-x64.exe
8
2. Instalasi NetBeans Netbeans-8.0-windows
9
Penerapan OOP di Pemrograman JAVA POKOK BAHASAN:
Fase pemrograman OOP Java
Objek dari Sebuah Kelas
Data dan Method dari Suatu Kelas TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Memahami Fase pemrograman OOP Java 2. Membuat objek dari sebuah kelas 3. Membuat Data dan Method dari suatu kelas
1. Fase Pemrograman JAVA
Contoh Program pertama dengan JAVA
Hasilnya adalah:
2
10
2. Penamaan Class, Method, Variabel, dan Konstanta Aturan Penamaan :
1. Case-sensitive, 2. Tidak menggunakan reserved word atau Keyword JAVA, 3. Tidak menggunakan simbol-simbol operator. 4. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_), tanda dolar ( $ ), 5. Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).
3. Membuat Objek dari Sebuah Kelas Untuk membuat sebuah objek dibutuhkan Operator new. Adapun bentuk umumnya sebagai berikut :
Contoh :
4. Mengakses Data dan Method dari Suatu Kelas Untuk mengakses data dan method pada sebuah objek dapat dilakukan dengan cara sebagai berikut :
Yang perlu diperhatikan dalam mengakses data dan method adalah bagaimana mengatur tingkat aksesibilitas (accesibility level) kedua unsur tersebut terhadap kelas yang mengakses, apakah bersifat default, public, private, atau protected. Contoh:
5. Menampilkan Hasil di Layar Monitor Untuk menampilkan hasil ke layar monitor dapat dilakukan dengan beberapa perintah, diantaranya :
a. Dilingkungan Console menggunakan method print() atau println() dalam kelas System dalam struktur package java.lang. package ini merupakan default package bagi semua aplikasi java, sehingga tidak perlu di import kedalam program.
b. Menggunakan komponen GUI
menggunakan kelas JOptionPane yang merupakan komponen dari package javax.swing. Baik sebagai output maupun sebagai input (showMesageDialog() atau showInputDialog()).
namaKelas namaObjek = new namaKelas();
Mahasiswa objMahasiswa = new Mahasiswa();
namaObjek.namaVariabel; namaObjek.namaMethod();
objMahasiswa.NIM; objMahasiswa.bayarKuliah();
11
6. Membaca Data Input Dari Keyboard 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. Contoh program
12
b. Dalam lingkungan GUI menggunakan kelas/komponen JOptionPane dengan method showInputDialog(). Contoh program
13
c. Keyword dalam Java
14
Tipe Data, Variabel dan Operator POKOK BAHASAN:
Tipe Data
Variabel
Operator TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami Tipe Data 2. Dapat memahami Variabel 3. Dapat memahami Operator
1. Tipe Data Java memiliki dua jenis tipe data yang dikategorikan menjadi dua yaitu tipe data primitif dan tipe data referensi/reference.
a. Primitif Jenis-jenisnya sebagai berikut:
b. Referensi/Reference Kelebihan pemrograman dengan orientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan objek atau class tertentu, seperti String.
2. Variabel 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];
3
15
Contoh : int nilaiAbsen; int nilaiTugas, nilaiUTS, nilaiUAS; String namaDepan = “Tariq” String namaTengah=“Athar”, namaBelakang=“Kisan”; char nilaiHuruf=‘A’;
Latihan 1:
Latihan 2:
Latihan 3:
Hasilnya adalah:
16
Latihan 4
Hasilnya adalah:
17
3. Operator Operator adalah simbol khusus yang menyajikan operasi khusus pada satu, dua, atau tiga operand dan kemudian mengembalikan hasilnya Jenis operator antara lain :
1. Operator Aritmatika Memiliki beberapa jenis simbol yaitu : *, /, %, +, -
Hasilnya adalah:
18
2. Operator Increment dan Decrement Memiliki beberapa jenis simbol yaitu : ++, --
19
3. Operator Relasi
Memiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, !=
20
4. Operator Logika
Memiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, !
21
5. Operator Kondisi(?:) atau Ternary
Memiliki bentuk sbb : exp1?exp2:exp3
22
23
Struktur Pemilihan POKOK BAHASAN:
Pemilihan bentuk kondisi if
Bentuk switch…case TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pemilihan bentuk if 2. Dapat memahami pemilihan bentuk switch…case
1. 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, Contoh struktur pemilihan 1
4
If (boolean_expression) Statement;
24
Hasilnya adalah:
Bentuk if lebih dari 1 baris statement,
If (boolean_expression){ Statement1; Statement2;
}
25
2. Bentuk if - else Struktur if-else digunakan apabila kita ingin mengeksekusi sebuah statement dengan kondisi true dan statement yang lain dengan kondisi false. Bentuk dari if-else, Untuk lebih dari 1 baris Contoh struktur pemilihan 3
If (boolean_expression) Statement1;
Else Statement2;
If (boolean_expression) Statement1; …………………;
} else{ Statement2; …………………; }
26
Contoh struktur pemilihan 4
27
3. 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, Contoh struktur pemilihan 5
If (boolean_expression1) Statement1;
Else if(boolean_expression2) Statement2; else Statement3; }
28
Contoh struktur pemilihan 6
29
4. 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; }
30
Struktur Pengulangan POKOK BAHASAN:
Pengulangan for
Pengulangan while
Pengulangan do while
Perintah break dan continue TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pengulangan for 2. Dapat memahami pengulangan while 3. Dapat memahami pengulangan do while 4. Dapat memahami perintah break dan continue
1. Pengulangan for Seperti pada struktur pengulangan sebelumnya yaitu melakukan pengulangan eksekusi code beberapa kali. Bentuk dari for loop Keterangan:
1. InitExpression – inisialisasi dari variabel loop. 2. LoopCondition - membandingkan variabel loop pada nilai batas. 3. StepExpression - melakukan update pada variabel loop.
Contoh struktur pengulangan1 For
5
For (InitExpression; LoopCondition;StepExpression){ Statement1; Statement2; …
}
31
32
2. Pengulangan while Statement while loop adalah statement atau blok statement yang diulang-ulang sampai mencapai kondisi yang cocok. Bentuk dari while, Contoh struktur pengulangan2 While
While(boolean_expression) { Statement1; Statement2; … }
33
3. 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, Contoh struktur pengulangan3 do…While
do { Statement1; Statement2; … }while(boolean_expression);
34
4. 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 struktur pengulangan4 break dan continue
35
36
String, String Buffer dan Character POKOK BAHASAN:
Penerapan String
Penerapan String Buffer
Penerapan Character TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami penerapan String 2. Dapat memahami penerapan String Buffer 3. Dapat memahami penerapan Character
1. 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 : 2. Operasi-operasi pada Kelas String Berikut beberapa metode yang disediakan oleh class String untuk memanipulasi data string (metode lengkap dapat dilihat di Java.sun.com) :
1. Panjang data string : namaObjek.length(); 2. Penggabungan data string : namaObjek.concat(String); 3. Pembandingan data string : namaObjek.equal (String); 4. Pengantian data string : namaObjek.replace(char, char);
namaObjek.replaceAll(String, String); namaObjek.replaceFirst(String, String);
5. Kapitalisasi data string : namaObjek.toLowerCase(); namaObjek.toUpperCase();
6. Sub-string : namaObjek.substring(int); namaObjek.substring(int, int);
7. Operasi charakter : namaObjek.charAt(int);
6
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”;
37
namaObjek.toCharArray(); 8. Konversi : String.valueOf(variabel):
namaObjek.toString(): Contoh
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: Contoh: StringBuffer
StringBuffer namaObjek = new StringBuffer(string);
38
4. Operasi-Operasi pada Kelas StringBuffer Berikut beberapa metode yang disediakan oleh class StringBuffer untuk memanipulasi data stringBuffer, dimana tidak berbeda jauh dengan Class String.
1. Panjang data StringBuffer : namaObjek.length(); namaObjek.setLength(int);
2. 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(); 7. 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():
39
5. Kelas Character Kelas Character dibuat untuk meningkatkan kemampuan programmer dalam menangani tipe data karakter. Berbagai metode disiapkan untuk memanipulasi 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 : 6. Kelas Character Beberapa metode akan dibahas terutama untuk memeriksa jenis karakter saat ini, diantaranya sbb:
1. Berjenis Bilangan ? : Character.isDigit(char)); 2. Berjenis Huruf ? : Character.isLetter(char)); 3. Berjenis Huruf/Bilangan ? : Character.isLetterOrDigit(char)); 4. Berjenis Spasi ? : Character.isWhiteSpace(char)); 5. Berjenis Huruf Kecil ? : Character.isLowerLetter(char)); 6. Berjenis Huruf Besar ? : Character.isUpperLetter(char)); 7. Konversi ke Huruf Kecil ? : Character.toLowerCase(char)); 8. Konversi ke Huruf Besar ? : Character.toUpperCase(char)); 9. Konversi ke String ? : Character.toString(char));
namaObjek.toString());
Character namaObjek = new Character(char);
40
Array dan Method POKOK BAHASAN:
Pengertian Array/Larik
Pengertian Sub program TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang pengertian array serta dapat membuat program dengan menggunakan array
2. Dapat memahami tentang pengertian sub program dan dapat membuat sub program sederhana
Dasar Teori 1. Array/Larik Larik adalah sebuah struktur data yang terdiri dari data yang bertipe sama. Ukuran larik bersifat tetap, larik akan mempunyai ukuran yang sama pada saat sekali dibuat. Larik dalam Java adalah obyek, disebut juga sebagai tipe referensi. Sedangkan elemen dalam larik Java bisa primitif atau referensi. Posisi dari larik biasa disebut sebagai elemen. Elemen larik dimulai dari 0 (nol). Penyebutan larik diberikan dengan cara menyebutkan nama lariknya dan diikuti dengan indeksnya, dimana indeks dituliskan diantara tanda kurung siku. Tabel 1. memperlihatkan gambaran larik dengan 10 elemen, dimana setiap elemennya bertipe integer, dengan nama A.
Tabel 1 Contoh Array
Nama A[0] AP[1] AP[2] AP[3] AP[4] AP[5] AP[6] AP[7] AP[8] AP[9]
Isi Larik 12 -56 23 45 -16 -2 85 41 15 20
a. Deklarasi dan Menciptakan Array / Larik
Sebagai sebuah obyek, larik harus diciptakan dengan menggunakan kata cadang new. Deklarasi dan penciptaan variabel larik gambar 1 adalah sebagai berikut.
int A[] = new int[10];
larik dideklarasikan dan langsung diciptakan . Atau
int A[];
A = new int[10];
larik dideklarasikan, baru pada pernyataan berikutnya larik diciptakan.
7
41
Contoh :
Hasil Output:
b. Array Multi Dimensi (N-Dimensi) Kita juga bisa membuat variabel larik yang tipe elemennya adalah larik. Dengan cara demikian, kita membuat larik dua dimensi. Dengan larik dua dimensi, maka kita mempunyai elemen yang berindeks tidak hanya satu, tetapi dua. Kita bisa membayangkan larik dua dimensi tersebut seperti sebuah tabel yang berisi baris dan kolom. Penyebutan sel tabel selalu diikuti dengan penyebutan baris berapa dan kolom berapa. Contoh : Diberikan data kelulusan mahasiswa sebuah perguruan tinggi sebagai berikut.
Tabel.2 Contoh Array Multi Dimensi Jurusan 2015 2016 2017
Teknik Informatika 110 125 135
Sistem Informasi 56 75 80
42
Int data_lulus [2] [3]
[0] [0]
[0] [1] [0] [2]
[1] [0]
[1] [1] [1] [2]
Contoh:
Hasil Output:
2. Method
a. Method Tanpa Varibel Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau prosedur) adalah sub program yang membiarkan seorang programer untuk membagi program dengan membagi masalah ke dalam beberapa sub masalah yang bisa diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa lebih dimanajemen. Kelas (class) adalah program java yang akan dieksekusi. Method ada di dalam kelas. Java mempunyai kumpulan kelas yang sudah dimiliki yang tersimpan di dalam paket-
TI 0
SI 1
0 1 2
2015 2016 2017
43
paket. Kumpulan kelas tersebut ada di dalam Java Application Interface (Java API) atau Java class libraries dan beberapa libraries lainnya. Format Method Secara Umum: tipe_return-value
nama_method(parameter1,parameter2,…,parameterN)
{
deklarasi dan pernyataan;
}
Elemen yang diperlukan dari deklarasi method adalah tipe kembalian method, nama, kurung buka dan tutup ( ) dan isi method yang diawali dan diakhiri dengan kurung kurawal buka dan tutup { }. Secara umum, deklarasi method mempunyai 6 komponen, yaitu: 1. Modifier - seperti public, private. 2. Tipe kembalian (return type)—tipe data dari nilai yang dikembalikan oleh method,
atau void jika method tidak mempunyai nilai kembalian. 3. Nama method—aturan untuk penamaan field diterapkan untuk nama method
tetapi kesepakatannya adalah sedikit berbeda. 4. Daftar parameter – pemisah antar parameter input adalah koma, diawali oleh tipe
datanya, yang diletakkan diantara tanda kurung ( …daftar parameter…. ). Jika tidak ada parameter, harus menggunakan kurung buka tutup saja ( ).
5. Daftar exception—tidak akan masuk dalam pembahasan di sini 6. Isi method, diletakkan di antara kurung kurawal buka dan tutup { } — kode-kode
method, termasuk deklarasi variabel lokal ada di sini.
Contoh:
Hasil Output:
44
b. Method dengan Varibel Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau prosedur) adalah sub program yang membiarkan seorang programer untuk membagi program dengan membagi masalah ke dalam beberapa sub masalah yang bisa diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa lebih dimanajemen. Contoh:
Hasil Output:
Parameter pada baris kedua disebut sebagai parameter formal, dan pada baris ke 18 disebut parameter aktual. Ada 2 buah parameter yaitu:
Parameter formal adalah parameter yang tertulis dalam definisi method
Parameter aktual parameter yang berada pada inputan langsung pada saat penggunaan method tersebut.
Parameter bisa lebih dari satu dengan dipisahkan tanda koma,. Yang perlu diperhatikan pada saat pemanggilan method adalah jumlah, urutan dan tipe parameter aktual harus sesuai dengan jumlah urutan dan tipe parameter formal. Pemberian Variabel Dalam Method Ada dua tipe data variable passing pada method, yaitu pass-by-value dan pass-by-reference.
Pass-by-value Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yang dikirimkan ke method. Walaupun demikian method tidak dapat secara langsung memodifikasi nilai variable pengirimnya meskipun parameter salinannya sudah dimodifikasi nilainya di dalam method.
Pass-by-reference
45
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variable dilewatkan pada saat pemanggilan method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variable asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variable yang digunakan dalam method dengan variable aslinya, kedua variable ini menunjukkan lokasi dari data yang sama.
Latihan 1 (Point 30) : Diberikan data Perolehan Medali Emas PON (Pekan Olahraga Nasional) sebagai berikut.
Tabel.2 Perolehan Medali Emas PON
Asal Provinsi 2015 2016 2017
DKI Jakarta 15 17 13
Jawa Barat 13 15 15
Jawa Tengah 10 9 12 Buatlah Array/Larik yang sesuai dengan data tersebut diatas: Latihan 2 (Point 30) Buatlah program dengan menggunakan Function atau Fungsi untuk memproses perhitungan sebagai berikut:
Fungsi Hitung penjumlahan ( 5 + 4 = 9), hasil nilai penjumlahan angka 9 akan muncul pada proses pencetakan.
46
Pewarisan (inheritance) POKOK BAHASAN:
Pengertian inner class
Penerapan pewarisan (inheritance) TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang inner class 2. Dapat memahami tentang penerapan pewarisan (inheritrance)
Dasar Teori 1. Pewarisan (inheritance) Pewarisan merupakan proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang sudah ada (biasa disebut kelas induk), ditambah dengan karakteristik unik kelas baru tersebut (biasa disebut turunan). Dalam java, kelas induk ini dinamakan superclass dan kelas turunan dinamakan subclass.
Gambar 8.1 Contoh pewarisan pada kelas hewan Hewan adalah superclass dari karnivora dan herbivora. Kelas turunan karnivora dan herbivora ini memiliki data dan method yang dimiliki kelas hewan. Dalam java, format penulisan untuk membuat subclass adalah:
class namasuperclass {
// body kelas
}
class namasubclass extends namasuperclass{
// body kelas
}
8
Method
Data
Class Hewan
Ukuran, sifat, anatomi
Caramakan() Carabersuara() Caragerak()
Karnivora
Jenismakanan
Caramakan()
Herbivora
Jenismakanan
Caramakan()
Kelas induk
Kelas Turunan
47
2. Manfaat Pewarisan (Inheritance) 1. Bersifat reusable
Pada class yang dimiliki sifat mirip dengan class lain, tidak perlu membuat variable dan method yang sama dalam penerapannya, sehingga hanya perlu membuat satu induk class dan beberapa sebagai class anak sebagai yang mewarisi method dan data dari class induk. ketika membutuhkan data dan method tambahan pada class anak hanya perlu menambahkan data tambahan tersebut, tanpa perlu mendeklarasi data dan method yang sudah dimiliki oleh induk class.
2. efisien dalam menegemen data dan method
Ketika membutuhkan perubahan pada data dan method pada induk class, tidak perlu mengubah semua class anak, sehingga hanya perlu melakukan perubahan pada class induknya saja.
Contoh 1- Program: Jadi, kita mempunyai 3 kelas disini, yaitu :
1. Main Class 2. Kelas Bapak (Super Class) 3. Kelas Anak (Sub Class)
Langkah-langkahnya adalah: 1. Buatlah Class baru beri nama BelajarInheritance (Main Class), seperti kode program
dibawah ini:
2. Setelah itu buat class baru dengan nama Bapak
Untuk menginduk pada suatu class, kita menggunakan kata kunci extend. Untuk mengilustrasikan ini, kita akan membuat contoh class induk. Dimisalkan kita mempunyai class induk yang dinamakan Bapak. Perhatikan bahwa atribut name dan address dideklarasikan sebagai protected. Alasannya kita melakukan ini yaitu, kita inginkan atribut-atribut ini untuk bisa diakses oleh subclass (anak) dari superclass Bapak). Jika kita mendeklarasikannya sebagai private, subclass tidak dapat menggunakannya. Catatan bahwa semua properti dari superclass yang dideklarasikan sebagai public, protected dan default dapat diakses oleh subclass-nya.
48
Sekarang, kita ingin membuat class lain bernama Anak meng-extend class Bapak, sehingga kita dapat mewariskan semua properti dan method dari yang ada pada class Bapak.
3. Setelah itu buat class baru dengan nama Anak
4. Setelah itu, kita instansiasi objek pada main class (BelajarInheritance), caranya seperti
berikut:
5. Setelah itu jalankan program dengan klik ikon run atau tekan F6. Maka akan tampil hasil
seperti dibawah ini :
Contoh 2- Program:
49
Kemudian kita buat kelas Balok yang merupakan turunan dari kelas PersegiPanjang
Sedangkan untuk program utamanya:
50
Sehingga hasil keluaran programnya adalah:
Tugas (Point 30) : 1. Buatlah program untuk mencari Luas Segitiga dengan menggunakan konsep pewarisan
(inheritance) Catatan: Tugas dikirim ke email: [email protected], dengan Subject/Topik: Tugas Pewarisan nama_mhs kelas, kirim tugas dalam bentuk screenshot kode program dan hasil paling lambat Tgl.22 Mei 2017 Jam 00.00
51
Enkapsulasi (Encapsulation) POKOK BAHASAN:
Pengertian Enkapsulasi
Penerapan Enkapsulasi (Encapsulation) TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang Enkapsulasi 2. Dapat memahami tentang penerapan Enkapsulasi (Encapsulation)
Dasar Teori Enkapsulasi merupakan proses pembungkusan (encapsulation) dari suatu kelas atau biasa. Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni:
Information hiding Menyembunyikan informasi dari suatu class agar tidak bisa diakses dari luar class, caranya hanya dengan memberikan modifier private pada varibel yang ingin kita hiding.
Interface to access data. Cara kita untuk mengubah nilai pada suatu variabel yang telah dilakukan information hiding. Cara yang biasa dilakukan adalah melalui method, lewat method ini kita bisa merubah nilai suatu variabel yang telah mengalami information hiding Terdapat tiga tingkat akses yang terkait dengan enkapsulasi, yaitu: 1. Private
Ketika mendeklarasikan data dan method dengan private, maka data dan method tersebut hanya dapat diakses oleh kelas yang memilikinya saja.
2. Protected Ketika mendeklarasikan data dan method dengan protected, maka data dan method tersebut dapat diakses oleh kelas yang memilikinya dan kelas-kelas yang masih memiliki hubungan turunan.
3. Public Data dan method yang bersifat public akan dapat diakses oleh semua bagian dalam program. Semua bagian dalam program adalah semua kelas yang memiliki hubungan turunan maupun yang tidak memiliki hubungan sama sekali.
Tabel 1 Perbedaan Tingkat Akses Enkapsulasi
Private Protected Public Akses dalam satu kelas Bisa Bisa Bisa
Akses dalam kelas turunan Tidak Bisa Bisa
Akses dalam kelas bukan turunan Tidak Tidak bisa
9
52
Contoh Program-1
Buatlah class dengan nama mahasiswa, ketik kode program dibawah ini:
Buatlah main class dengan nama EnkapsulasiDemo, ketik kode program dibawah ini:
Maka output-nya seperti berikut:
53
Contoh Program-2
Buatlah class dengan nama Penggajian, ketik kode program dibawah ini:
Buatlah main class dengan nama EnkapsulasiGajian, ketik kode program dibawah ini:
54
Maka output-nya seperti berikut:
55
Inner Class, Polymorfisme POKOK BAHASAN:
Pengertian dan penerapan Inner Class
Pengertian dan penerapan Polymorfisme TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang Inner Class dan Polymorfisme 2. Dapat memahami tentang penerapan Inner Class dan Polymorfisme
1. Dasar Teori Inner Class Yaitu kelas yang dibuat di dalam kelas. Inner class ini dapat mengakses data dan method dari kelas yang berada di bagian luarnya, meskipun data bersifat private. Dan bagian private dari inner class tetap tidak dapat di akses oleh kelas di bagian luarnya. Ada 4 jenis inner class, yaitu : 1. “Regular” Inner class (adalah inner class yang bukan static/method local) 2. Method-local inner class (adalah inner class yang dideklarasikan di dalam method) 3. Anonymous inner class (adalah inner class yang dideklarasikan tanpa nama kelas) 4. Static nested classes (adalah inner class dengan modifier static) Contoh Program:
Sedangkan program utamanya:
10
56
Maka output-nya seperti berikut
2. Dasar Teori Polymorfisme Polimorfisme merupakan kemampuan suatu obyek untuk mengungkap banyak hal melalui satu cara yang sama. Secara mudah polymorphism bisa disamakan dengan method overloading, dimana didalam class bisa terdapat beberapa method dengan nama sama. Misalnya kelas B, C, dan D adalah turunan kelas dari kelas A, maka kita dapat menjalankan method-method dari kelas B, C, dan D hanya dari obyek yang diinstansiasi dengan kelas A. Polimorfisme juga dapat diartikan sebagai suatu konsep pada bahasa pemrograman yang mengizinkan kelas induk untuk mendefinisikan sebuah method general untuk semua kelas turunannya dan selanjutnya kelas turunannya dapat memperbarui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing. Contoh: Sebuah method bernama tulisData() yang berfungsi untuk menampilkan data string, tentu tidak bisa menangani masukan berupa data yang lain. Solusi yang dapat diberikan yaitu dengan menyediakan beberapa method dengan nama yang sama dan masing-masing method memiliki parameter dengan tipe data yang berbeda. Method tersebut akan bereaksi dengan satu dari beberapa macam cara tergantung dari data yung di-passing ke dalamnya, keragaman model aksi inilah yang disebut Polymorphism, atau banyak bentuk Contoh 1 Definis class TampilData
57
Definisi class Utama
Maka output-nya seperti berikut:
Contoh 2
Membuat Kelas Hewan
Membuat kelas turunan Kuda yang merupakan turunan dari class Hewan
58
Membuat kelas turunan Kucing yang merupakan turunan dari class Hewan
Membuat kelas turunan Ayam yang merupakan turunan dari class Hewan
Membuat class suara hewan untuk mengetes class-class yang telah dibuat:
Maka output-nya seperti berikut:
59
Java Swing POKOK BAHASAN:
Pengertian Java Swing
Penerapan Komponen-komponen Java Swing pada IDE TUJUAN BELAJAR: Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pengertian Java Swing 2. Dapat memahami tentang penerapan komponen-komponen Java Swing pada IDE
Dasar Teori 1. Pengertian Java Swing Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality. 2. Komponen Swing Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane. Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class.
Dalam ranah antar muka pengguna, komponen merupakan bagian fundamental di Java. Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu komponen, misalnya window, menu, dan button. Di sisi lain, container adalah jenis komponen yang “menampung” dan mengelola komponen-komponen lainnya. Idealnya, suatu komponen harus diletakkan di sebuah container agar ia dapat digunakan.
10
60
Komponen tersebut diantaranya : a. Label, TextField, Text Area dan Button
menggunakan Label, TextField dan Button dalam NetBeans Buatlah Form baru dengan cara klik kanan defaulft package > New > Jframe Form
Rancang form seperti dibawah ini:
Swing Control terdiri dari : Label, TextFields, Button, dan TextArea Variabel Name: tNIM, tNama, tAlamat, bProses, bClear, bKeluar, dan taTampil Memberikan nama variabel name dengan cara klik kanan pada salah satu Swing Control lalu > Change Variabel Name
61
Setelah memberikan nama Variabel Name di setiap Swing Control langkah selanjutnya adalah mengisi kode program pada Form tersebut dengan cara Klik Kanan pada Button Keluar > Events > Action > actionPerformed. Lakukan hal yang sama untuk bProses dan bClear
b. Radio Button dan Combo Box Dari rancangan form diatas kita dapat menambahkan Swing Control Radio Button dan Combo Box untuk digunakan memasukan data jenis kelamin dan jurusan.
Variabel Name: rbLaki, rbPerempuan, dan cbJurusan
62
tambahkan kode program di bProses:
LATIHAN 1. Dari Jframe atau Form diatas tambahkan data masukan:
No.Telepon
Hobby Setelah selesai ditambahkan dijalankan Form tersebut kemudian Print Screen/Screen Shoot kirim ke email [email protected] dengan Subject/Topik : TUGAS JAVA SWING Nama_MHS ditunggu paling lambat Tanggal 17 Juli 2017