Modul PBO
Modul PBO
I
BERKENALAN DENGAN JAVA
Text Editor NetBeans IDE 8.1
A. Apa Itu Java…?
Java merupakan salah satu bahasa yang sangat popular saat ini .
beberapa edisipun diciptakan seperti J2EE untuk Aplikasi
Enterprise dan J2ME untuk Aplikasi Mobile. Alasan lain kenapa
1
bahasa Java sangat digemari dan sangat popular saat ini adalah
karena JAVA dapat berjalan di berbagai platform sitem operasi.
Sehingga JAVA pun dikenal dengan istilah Write Once, Run
Anywhere.
2
6. Portable
Java dengan karakteristik arsitektur netralnya membaut Java
tidak bergantung pada mesin tertentu atau dengan kata lain
Java sangatlah portable.
7. Performa Tinggi
Java Sangat memperhatikan performa. Dengan pengenalan
Just In Time Compilation, Proses kompilasi Java menjadi
lebih cepat.
8. Multithreaded
Java memungkinkan pembuatan aplikasi yang bisa
melakukan beberapa pekerjaan secara bersamaan.
9. Dinamis
Java lebih dinamis dibandingkan C atau C++ karena
didesain untuk dijalankan pada lingkungan yang dinamis.
3
C. Apa yang perlu dipersiapkan agar bisa memulai
pemrograman JAVA..?
D. Mengenal Netbeans
NetBeans adalah suatu text editor pengembangan perangkat
lunak yang ditulis dalam bahasa pemrograman Java. Aplikasi
NetBeans IDE ini diperuntukkan bagi pengembangan dalam Java.
Namun, aplikasi ini juga mendukung program-program pembuatan
bahasa lain secara khusus seperti PHP, C/C++ dan HTML5.
Bagaimana memulai NetBeans IDE 8.1
Langkah-Langkah dalam mengoperasikan perangkat lunak
NetBeans IDE 8.1 untuk menjalankan Java
1. Patikan Dulu anda telah menginstal JDK dan NetBeans IDE
8.1 pada Labtop atau Komputer anda
2. Klik icon logo Windows (khusus Windowa 8) dan Klik
menu Start (untuk Windows 7 dan Windows 10)
3. Lalu Klik NetBeans IDE 8.1
4. Akan Tampil Interface sebagai berikut:
4
5. Kemudian Pilih File
6. Klik New Project lalu akan tampil interface berikut:
5
10. Berinama Project di Project Name
11. Tulis Lokasi penyimpanan di Project Location. Tekan
tombol Browse
12. Klik Set As Main Project, Sebagai Proyek Utama Anda.
13. Klik Create Main Class untuk class main baru.
14. Terakhir Finish. Interface yang tampil untuk kita memulai
membuat program dengan Java adalah sebagai berikut:
6
E. Dasar Pemrograman Berorientasi Objek di Java
7
sebagai apa saja yang dapat dilakukan oleh seekor sapi
(contoh: Makan, Minum, Tidur, berjalan)
+Makan(): void
+Minum(): void Method dari class Sapi
+Bobo(): void
+Berjalan(): void
2. Objek
Objek adalah Realisasi dari sebuah class. Objek memiliki
“tindakan” dan “sifat” atau dengan kata lain objek adalah
hasil instansiasi dari sebuah class.
Contoh : Sapi punya “sifat” seperti warna, Nama/sebuatan
dan juga memiliki “tindakan” seperti bersuara, makan ,
berjalan dan sebagainya.
3. Method
Method pada dasarnya adalah “tindakan”. Class bisa
mempunyai banyak method. Didalam method biasanya
berisi logika-logika, manipulasi data atau aksi-aksi tertentu
seperti simpan, edit, hapus dan cari.
4. Variabel Instance
Objek memiliki Variabel instance. “sifat” dari objek akan
tercipta setelah variable instance diberi nilai.
8
Catatan singkat : Pemahaman Tentang Class dan Objek
9
G. Deklarasi dan Pengaksesan Variabel
Bentuk umum dari pendeklarasian variable di Java adalah
sebagai berikut:
Rumus: <tipe_data <nama_variabel>;
Contoh:
Int a, b, c; //mendeklarasikan 3 int dalam 3 variabel : a, b, c
Int d = 10, e = 20; //contoh deklarasi sekaligus inisialisasi 2
variabel
a = 22; //menginisialisasi variable a yang ada dibaris pertama
10
public class LuasLingkaran {
public static void main(String[] args) {
// Deklarasi konstanta
final double PI = 3.14159;
Outputnya :
Menghitung Luas
Jari-Jari Lingkaran = 7
Luas Lingkaran = 153.93791
11
3. Atau menggunakan GUI
Menggunakan Scanner
Pada kesempatan ini kita hanya membahas bagaimana
penggunaan “scanner” pada Java. Untuk menggunkan scanner
sangat mudah kita cukup membuat objek dari kelas “scanner” lalu
menampung nilai yang dibaca oleh kelas tersebut kedalam sebuah
variabel dengan tipe yang sama dengan yang dibaca oleh objek
tersebut.
inputNama.Java
import java.util.scanner;
}
}
Outputnya :
Masukan Nama Anda : Rian
Nama anda adalah : Rian
12
Contoh Studi Kasus : Penggunaan Variabel dan Konstanta.
Misalnya : kita akan membuat satu kelas bernama “Permen”.
Permen.java
Public class Permen {
Public void tambahPermen(){
//Deklarasi variabel local
Int jumlahPermen = 0;
jumlahPermen = jumlahPermen + 1;
System.out.println(“jumlah permen setelah
ditambah: “+ jumlahPermen);
}
Public static void main(String[] args){
Permen permenSusu = new Permen();
permenSusu.tambahPermen();
}
}
Outputnya:
Jumlah permen setelah ditambah: 1
PermenGlobal.java
13
jumlahPermen = jumlahPermen + 1;
System.out.println(“Jumlah permen setelah
ditambah: “ + jumlahPermen);
}
Public static void main (String[] args){
PermenGlobal permenSusu = new
PermenGlobal();
Outputnya:
Jumlah permen : 10
Jumlah permen setelah ditambah : 11
Jumlah permen : 11
SekolahTinggi.java
public class SekolahTinggi {
//Varabel jumlahMahasiswa dideklarasikan sebagai
static
Public static int jumlahMahasiswa;
}
14
Kelas kedua adalah kelas tester yang berisi sebuah konstanta
“Nama_SekolahTinggi” dan memiliki method main
Tester.java
public class Tester {
//Nama_SekolahTinggi sebagai konstanta
Public static final String Nama_SekolahTinggi =
“STIKOM”;
Outputnya:
STIKOM memiliki mahasiswa sebanyak 2000
15
BAB
2
STRUKTUR KONTROL, METHOD, DAN
STRUKTUR DATA SEDERHANA
Langkah K e -1
Langkah K e -1
Langkah K e -1
Langkah K e -1
A khir
16
Contoh Struktur Runtuhan.
Kuadrat.java
Public class Kuadrat{
Public static void main(String[]args){
Int bilangan = 12;
Int hasilKuadrat = bilangan * bilangan;
System.out.println(bilangan + “pangkat 2
sama dengan “ + hasilKuadrat);
}
}
Outputnya:
12 pangkat 2 sama dengan 144
B. Struktur Percabangan
Struktur percabangan merupakan struktur yang bergantung pada
kondisi tertentu untuk melakukan proses-proses atau langkah-
langkah tertentu.
Mulai
Langkah X
Ya Tidak
Kondisi ?
Langkah Y Langkah Z
Mulai
17
Ada 2 bentuk struktur percabangan yaitu IF-ELSE dan SWITCH-
CASE. Berikut penjelasan masing-masing struktur.
1. IF-ELSE
Terdapat beberapa struktur untuk menuliskan if-else, berikut
adalah bentuk-bentuk dari if-else:
a. Satu Kondisi
Bentuk umum if-else dengan satu kondisi:
If (<kondisi>){
<pernyataan>
}
PercabaganSatu.java
Public class PercabanaganSatu {
Public static void
main(String[]args) {
Int umur = 16;
If (umur < 17) {
System.out.println(“Anda tidak
diperbolehkan untuk memiliki KTP”);
}
}
}
Outputnya:
Anda tidak diperbolehkan untuk memiliki KTP
18
b. Dua Kondisi
Berikut bentuk umum dari if-else dengan dua kondisi:
If (<kondisi>){
<pernyataan_jika_kondisi_terpenuhi>
}else{
<pernyataan_jika_kondisi_tidak_terp
enuhi>
}
PercabanganDua.java
Public class PercabanganDua {
Public static void main(String[]
args) {
int bilangan = -10;
if(bilangan >= 0) {
Syatem.out.println(bilangan + “ adalah
bilangan positif”);
}else {
Syatem.out.println(bilangan + “ adalah
bilangan negative”);
}
}
}
Outputnya:
-10 adalah bilangan negative
19
c. N kondisi (N = lebih dari 2 atau terbilang banyak)
Berikut bentuk umum dari if-else dengan N kondisi:
If (<kondisi>){
<pernyataan_jika_kondisi1_terpenuhi>
}else if (<kondisi2>) {
<pernyataan_jika_kondisi2_terpenuhi>
}else if (<kondisi3>) {
<pernyataan_jika_kondisi3_terpenuhi>
}
….
Else {
<peryataan_jika_semua_kondisi_tidak_terp
enuhi>
}
PercabanganTiga.java
Public class PercabanganTiga {
Public static void main(String[]
args) {
Int nilai = 87;
If (nilai >=80) {
System.out.println(“Nilai “ + nilai + “
mendapat index A”);
}else if (nilai >= 70){
System.out.println(“Nilai “ + nilai + “
mendapat index B”);
}else if (nilai >= 60){
20
System.out.println(“Nilai “ + nilai + “
mendapat index C”);
}else if (nilai >= 50){
System.out.println(“Nilai “ + nilai + “
mendapat index D”);
}else {
System.out.println(“Nilai “ + nilai + “
mendapat index E”);
}
}
}
Outputnya:
Nilai 87 mendapat index A
2. SWITCH-CASE
Konsep dari switch-case sama saja seperti if-else, namun
switch-case hanya bisa membandingkan kondisi dengan tipe
data integer, byte, short, char, tipe enum, String, dan beberapa
kelas special turunan tipe primitive.
Switch (<ekspresi>) {
Case <kondisi1> : <perintah1>; break;
Case <kondisi2> : <perintah2>; break;
21
Contoh Kasus : kita akan membuat program
untuk penentuan nama bulan.
PercabanganEmpat.java
Public class PercabanganEmpat {
Public static void main(String[] args){
Int bulan = 3;
Switch (bulan) {
Case 1:
System.out.println(“Bulan ke-“ + bulan +
“ adalah bulan “ + “Januari”);
Break;
Case 2:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Februari”);
Break;
Case 3:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Maret”);
Break;
Case 4:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “April”);
Break;
Case 5:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Mei”);
Break;
Case 6:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Juni”);
Break;
Case 7:
22
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Juli”);
Break;
Case 8:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Agustus”);
Break;
Case 9:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “September”);
Break;
Case 10:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Oktober”);
Break;
Case 11:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “November”);
Break;
Case 12:
System.out.println(“Bulan ke-“bulan + “
adalah bulan “ + “Desember”);
Break;
Default:
System.out.println(“Bulan tidak
diketahui”);
23
Outputnya:
Bulan ke-3 adalah bulan maret
Mulai
Langkah X
Tidak
Kondisi ?
Ya
Langkah Y
Mulai
24
Pada pemrograman Java ada 3 macam struktur perulangan yaitu
1. FOR
Perulangan FOR digunakan jika jumlah perulangannya sudah
diketahui dari awal. “FOR” memiliki 3 bagian pada bagan
kepalanya, yaitu inisialisasi variabel counter, ekspresi (berupa
ekspresi Boolean), inkremen atau dekremen.
Berikut bentuk umum untuk perulangan FOR:
For
(<inisialisasi_counter>;<ekspresi>;<ink
remen/dekremen>)
<pernyataan>
}
PerulanganFor.java
Public class PerulanganFor {
Public static void main(String args[]{
// for ascending
System.out.println(“For Ascending”);
For (int i = 1; i <= 5; i++) {
System.out.println(i);
}
//For descending
System.out.println(“For Descending”);
For (int i = 5; i >= 1; i--){
System.out.printl(i);
}
}
}
Outputnya:
For Ascending
25
1
2
3
4
5
For Descending
5
4
3
2
1
2. While
Struktur perulangan while akan memeriksa sebuah kondisi
diawal blok struktur. Jika kondisi tertentu bernilai true (benar)
maka badan perulangan akan dieksekusi.
Berikut bentuk umum untuk perulangan while:
While (<kondisi>) {
<pernyataan>
}
Penjelasan sintaks:
A merupakan kondisi yang menentukan kapan looping while
berhenti. Looping akan terus dilakukan sampai kondisi A
bernilai salah.
Body while kita isi dengan statemen-statemen yang ingin di
looping.
26
Contoh kasus: kita akan membuat program yang akan mencekak
kalimat “selamat pagi rian” sebanyak 5 kali
PerulanganWhile.java
Public class PerulanganWhile {
Public static void main(String args[])
{
int i;
i = 1;
System.out.println(“looping dengan
while”);
While (i <=5) {
System.out.println(“Selamat Pagi Rian” –
“+i);
i++;
}
}
Outputnya:
Looping dengan while
Selamat Pagi Rian ke-1
Selamat Pagi Rian ke-2
Selamat Pagi Rian ke-3
Selamat Pagi Rian ke-4
Selamat Pagi Rian ke-5
3. Do-While
Do-While hampir sama seperti perulangan while, namun
perbedaannya adalah badan perulangan di do-while dijalankan
terlebih dahulu, setelah itu baru kondisinya diperiksa.
Berikut bentuk umum perulangan do-while:
do {
<pernyataan>
}while (<kondisi>)
27
Contoh Sintaksnya :
do {
//body while
}
while (A);
Penjelasan sintaksnya:
A merupakan kondisi (ekspresi logika) yang menentukan kapan
looping while berhenti. Selama A bernilai benar, looping akan
terus dilakukan.
Body while kita isi dengan statement-statement yang ingin di
looping.
PerulanganDoWhile.java
Public class PerulanganDoWhile {
Public static void main(String args[])
{
int i;
i = 1;
System.out.println(“looping dengan do-
while”);
do {
System.out.println(“Selamat Pagi Rian” –
“+i);
i++;
}
While (i <= 5);
}
}
28
Outputnya:
Looping dengan do-while
Selamat Pagi Rian ke-1
Selamat Pagi Rian ke-2
Selamat Pagi Rian ke-3
Selamat Pagi Rian ke-4
Selamat Pagi Rian ke-5
Pada bab ini juga kita akan membahas tentang method. Mengetahui
apa itu method dan tipe-tipenya pada pemrograman java.
29
Bentuk umum pendeklarasi sebuah method tanpa nilai balik adalah
sbagai berikut:
<akses_modifiers> <void>
<nama_method>([tipe_data><nama_parameter>,…]){
<pernyataan>
}
MethodTanpaNilaiBalik.java
public class MethodTanpaNilaiBalik {
public static void main (String[] args) {
//menampilkan data orang pertama
String nama1 = “Rian”;
Strng alamat1 = “KayuPutih”;
System.out.println(“Nama : “ + nama1);
System.out.println(“Alamat : “ + alamat1);
System.out.println();
Outputnya :
Nama : Rian
Alamat : KayuPutih
Nama: Bella
Alamat : Oepura
30
Method dengan Nilai Balik
Method dengan nilai balik atau biasa disebut dengan fungsi adalah
method yang akan mengembalikan sebuah nilai yang sesuai dengan
tipe data dari method itu sendiri. Misalnya sebuah method bertipe
data integer, maka merhod tersebut akan mengembalikan sebuah
nilai bertipe integer.
Bentuk umum pendeklarasian sbuah method dengan nilai balik
adalah sebagai berikut:
<akses_modifiers><tipe_data><nama_method>
([<tipe_data><nama_parameter>,…]){
<pernyataan>
MethodDenganNilaiBalik.java
public class MethodDenganNilaiBalik {
public static void main (String[] args){
int sisi = 4;
System.out.println(“Luas Persegi dengan
panjang sisi “ + sisi + “ adalah +
hitungLuasPersegi(sisi));
}
31
return luas;
}
}
Outputnya:
Luas Persegi dengan panjang sisi 4 adalah 16
32
BAB
3
Pemrograman Berorientasi Objek
Anda dapat melihat bawah setiap objek itu pasti memiliki jenis
/tipe dari mana ia berasal. Misalnya saya memiliki sekuntum
bunga mawar, maka bunga saya ini adalah objek dari tipe
bunga mawar, tipe inilah yang kita sebuat sebagi kelas.
33
Gambar 3.1 Hubungan kelas dan objek
1. Enkapsulasi
2. Pewarisan
3. Polimorphisme
34
Kucing
+BeratBadan: double
+Ras: String
+Bersuara(): void
+JenisKelamin(): void
+Makan(): void
35
untuk kelas turunan/sub class dari kelas pemilik (anak dari
kelas pemilik) maka bisa menggunakan hak akses ini.
Pewarisan variabel maupun method hanya berlaku untuk
kelas turunannya dan tidak dapat digunakan pada kelas lain.
Di kelas diagram hak akses ini diwakili oleh symbol
hashtag(#)
Manusia
Mahasiswa Dosen
Sup Class
36
Pada gambar 3-3, atribut “nama”, “TanggalLahir”, dan
“JenisKlamin” akan diwariskan dari kelas manusia ke kelas
“Mahasiswa” dan kelas “Dosen”. Dalam mengimplementasikan di
java , Kelas “Mahasiswa” dan “Dosen” tidak perlu
mendeklarasikan ulang atribut yang diwariskan oleh kelas
“Manusia”. Kedua kelas tersebut bisa langsung mengunakan ketiga
atribut tersebut di dalam kelas masing-masing.
37
Gambar 3.4 Simbol Claas pada Class Diagram
NamaClass.java
Public class NamaClass {
//Bagian atribut
//Bagian method
}
Catatan : Nama file .java harus sama dengan nama kelas yang ada
di dalamnya. Kesalahan pemberian nama akan mengakibatkan
error pada program yang kalian buatkan.
Untuk pemahaman lebih lanjut dan contoh yang lebih nyata akan
dijelaskan pada studi kasus. Bentuk pendeklarasian atribut dan
method mengikuti standar kode Java pada umumnya.
38
PengarangBuku
+Nama: String
+TempatLahir: String
+Umur: int
+menulisBuku(): void
+mengirimkanNaskah(): void
+beberapaBuku(): int
PengarangBuku.java
Public class PengarangBuku{
//atribut
public String nama;
public Sting tempatLahir;
public int umur;
//method
public void menulisbuku() {
//di sini isi perintah untuk menulis buku
}
39
Tanda plus (+) sebelum nama atribut dan method diartikan sebagai
hak akses public.
40
BAB
4
IMPLEMENTASI
PBO
Pengenalan Packpage
Packpage merupakan sekumpulan class dan interfaces yang aling
berrelasi. Simpelnya, kita bisa membayangkan packpage sperti
sebuah folder di computer kita. Kita bisa menyimpan music dalam
satu folder, Video dalam satu folder, atau dokumen-dokumen kita
dalam satu folder.begitupun saat kita membuat program
menggunakan Java, kita bisa menyimpan class atau interface yang
kita buat di dalam atu packpage. Kita bisa saja membuat puluhan
atau bahkan ratusan clas, itu membuat penggunaan packpage bisa
41
menjadi pembantu untuk membuat class-class yang dibuat menjadi
lebih terorganisasi dan rapih.
Catatan Penting :
42
Latihan-Latihan :
1. Enkapsulasi
Persegi.java
package enkapsulasi;
/**
*
* @author kutuonline
*/
public class Persegi {
43
public int luas(int p, int l){
return p * l;
}
Enkapsulasi.java
package enkapsulasi;
/**
*
* @author kutuonline
*/
public class Enkapsulasi {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Persegi p = new Persegi();
p.setPanjang(12);
p.setLebar(6);
System.out.println("Panjang: " +
p.getPanjang());
System.out.println("Lebar: " + p.getLebar());
System.out.println("Luas persegi: " +
p.getLuas());
}
}
Hasil Run :
Panjang: 12
Lebar: 6
Luas persegi: 72
44
BUILD SUCCESSFUL (total time: 0 seconds)
2. Pewarisan
mobil.java
public class mobil {
private String merek;
private String warna;
private int jumlahpintu;
private String jenis;
45
}
}
public void inputData(String m,String w,String
j,int jp){
setMerek(m);
setWarna(w);
setJenis(j);
setJumlahpintu(jp);
}
}
honda.java
public class honda extends mobil {
public void tampilkan(){
double besarsilinder=5.5;
String bahanbakar="Pertamax";
String kategori="Sport";
System.out.println("silinder :"+besarsilinder);
System.out.println("jenis bahan bakar
:"+bahanbakar);
System.out.println("jenis kategori :"+kategori);
46
}
toyota.java
public class toyota extends mobil {
public void tampilkan(){
double besarsilinder;
String bahanbakar;
String kategori;
besarsilinder=32.5;
bahanbakar="solar";
kategori="off-road";
System.out.println("silinder :"+besarsilinder);
System.out.println("jenis bahan bakar
:"+bahanbakar);
System.out.println("jenis kategori :"+kategori);
}
}
pewarisan.java
public class Pewarisan {
System.out.println("HONDA");
System.out.println("\nTOYOTA");
47
}
Hasil RUN :
HONDA
merek mobil :CRV
warna mobil :Hitam
total pintu :4
jenis mobil :Mewah
silinder :5.5
jenis bahan bakar :Pertamax
jenis kategori :Sport
TOYOTA
merek mobil :AVANZA
warna mobil :Merah
total pintu :5
jenis mobil :Ekonomis
silinder :32.5
jenis bahan bakar :solar
jenis kategori :off-road
BUILD SUCCESSFUL (total time: 4 seconds)
3. Polimorphisme
hewan.java
public class hewan {
public void suara(){
System.out.println("hewan bersuara");
}
}
ayam.java
public class ayam extends hewan{
public void suara(){
System.out.println("Ayam berkokok");
}
}
kucing.java
public class kucing extends hewan{
48
public void suara(){
System.out.println("Kucing Mengeong");
}
}
kuda.java
public class kuda extends hewan{
public void suara(){
System.out.println("Kuda Meringkik");
}
}
Polimorfisme.java
public static void main(String[] args) {
// TODO code application logic here
hewan HEWAN = new hewan();
kuda KUDA = new kuda();
kucing KUCING = new kucing();
ayam AYAM = new ayam();
HEWAN.suara();
HEWAN = KUDA;
HEWAN.suara();
HEWAN = KUCING;
HEWAN.suara();
HEWAN = AYAM;
HEWAN.suara();
}
}
Hasil RUN:
hewan bersuara
Kuda Meringkik
Kucing Mengeong
Ayam berkokok
BUILD SUCCESSFUL (total time: 0 seconds)
49
Penerapan Konsep Abstrak
Ketika kita telah memahami tiga konsep ditas ada satu konsep lagi
yang menjadi tolak ukur apakan kosep pemrograman berorientasi
objek yang digunakan lebih baik atau tidak. Sebuah program
dikatakan baik didalam konsep pemrograman berorientasi objek apa
bila pembuat program memungkinkan kosep “ reusable code” bisa
dilakukan. Untuk dapat melkukan hal ini program yang dibuat harus
memiliki tingkat abstrak yang cukup agar pengguna yang mau
menggunakan kembali kode perintah dalam program tersebut bisa
dengan mudah digunakannya.
Contoh Kasus :
Untuk kelas “ persegi” dan “ lingkaran” maka desain kelas setelah
menerapkan konsep kelas abstrak dapat dilihat pada gambar 4.1
berikut:
BangunDatar
#hitungKeliling(): double
#hitungLuas(): double
Persegi Lingkaran
+sisi: double +JariJari: double
+hitungKeliling(): double +hitungKeliling(): double
+hitungLuas(): double +hitungLuas(): double
50
Implemntasi coding:
Langkah pembuatan kelas abstrak sama dengan langkah pembuatan
kelas pada umumnya, bedanya hanya tambahkan kata kunci
abstract sebelum kata kunci class.
bangunDatar.java
public abstract class bangunData {
public abstract double hitungKeliling();
public abstract double hitungLuas();
}
//perintah diatas karena bagunDatar adalah sebuah konsep abstrak
maka keliling dan luasnya pun tidak dapat dihitung. Karena method
“hitungKeliling()” dan “hitungLuas()” dikelas absrak ini juga
bersifat abstrak.
persegi.java
public class persegi extends bagunDatar {
51
}
}
lingkaran.java
public class persegi extends bagunDatar {
private double r;
}
}
abstrak.java
public class abstak {
public static void main (String[] args){
Persegi persegi = new Persegi();
persegi.setSisi(6);
System.out.println(“Keliling persegi=” +
persegi.hitungKeliling());
System.out.println(“Luas persegi=” +
persegi.hitungLuas());
52
System.out.println(“Keliling Lingkaran=” +
lingkaran.hitungKeliling());
System.out.println(“Luas Lingkaran=” +
lingkaran.hitungLuas());
}
}
Hasil RUN:
Keliling persegi = 24.0
Luas Persegi = 35.0
Keliling Lingkaran = 628.0
Luas Lingkaran = 31400.0
Penerapan ArrayList
Contoh :
Kali ini, saya akan membahas tentang bagaimana menyimpan
object ke dalam sebuah array dan bagaimana implementasi untuk
menampilkannya.
Pertama kita buat class barang,java
class Barang{
int id;
String kd,nm;
53
public int getId()
{
return id;
}
import java.util.ArrayList;
ArrayList<Barang> tampung;
public TampilData()
{
//instansiasi
tampung = new ArrayList<Barang>();
}
54
System.out.println("id brg :
"+barang.getId()+""+", kd brg : "+barang.getKd()+""+",
nm brg : "+barang.getNm());
}
}
td.isiData(1,"01","topi");
td.isiData(2,"02","kemeja");
td.isiData(3,"03","sepatu");
td.isiData(4,"04","sandal");
td.showData();
}
}
Catatan :
55
Penerapan LinkedList
Linked List merupakan salah satu bentuk collection yang
menggunakan pointer untuk mengakses data yang ada didalamnya.
Berbeda dengan ArrayList yang menekankan penggunaan indeks
untuk mengakses datanya. LinkedList sendiri menggunakan dua
penunjuk yang wajib ada yaitu pointer First yang selalu menunjuk
data yang ada diposisi paling awal dan pointer Last yang selalu
menunjuk data yang berada pada posisi terakhir pada LinkedList.
Contoh :
OperasiLinkedList.java
import java.util.LinkedList;
56
//removeFirst dan RemoveLast
nama.removeFirst(); //menhapus Rey
nama.removeLast(); //menghapus Petrus
Hasil RUN:
List nama setelah addFirst dan addLast
============================
Rey
Rian
Sumarlin
Petrus
57
Penerapan Stack
Cara kerja Stack menyerupai konsep tumpukan barang didunia
nyata. Konsep penyimpanan dan pengaksesan datanya
menggunakan konsep LIFO (Last In First Out) dimana data yang
dimasukan terakhir kedalam stack akan diakses pertama kali jika
ada proses permintaan data.
Contoh:
OperasiStack.java
import java.util.Stack;
Hasil RUN:
Payong
Edwin
58
Penerapan Relasi pada Diagram Kelas
ada 4 konsep relasi kelas yang bisa digunakan antara lain:
1. Association
2. Composition
3. Aggregation
4. Dependency
Class A Class B
Class A Class B
59
Contoh kasus relasi Association bidirectional satu ke satu
Sekolah 1 1 KepalaSekolah
+namaSekolah: String +namaKepalaSekolah: String
+Sekolah(namaSekolah: String) +KepalaSekolah(namaKepalaSekolah: String)
60
KepalaSekolah.java
public class KepalaSekolah {
private String namaKepalaSekolah;
private Sekolah;
BidirectionalOneOne.java
public class BidirectionalOneOne {
public static void main (String[] args) {
Sekolah sekolah = new Sekolah (“SMUK F. Ndao
Ende”);
KepalaSekolah kepalaSekolah = new KepalaSekolah
(Pak Rian”);
61
System.out.println(sekolah.getKepalaSekolah()
.getNamaKepalaSekolah());
Hasil RUN:
SMUK F.Ndao Ende
Pak Rian
Kelas 1 * Mahasiswa
+namaKelas: String +nim: String
+Kelas(namaKelas: String) +Mahasiswa(nim: String)
62
AnggotaKeluarga Pekerjaan
+namaAnggota: String +jenisPekerjaan: String
+AnggotaKeluarga(namaAnggota: String) * * +Pekerjaan(jenisPekerjaan: String)
PkerjaanRumah
+mappingKerja(): void
ProgramStudi 1 Dosen
*
+namaProgramStudi: String +namaDosen: String
+ProgramStudi(namaProgramStudi: String) +Dosen(namaDosen: String)
63
Penerapan Relasi Composition
Relasi Composition menggambarkan hubungan “Part-of” contoh
kasus Motherboard dengan PC, dimana motherboatd akan
menjadi bagian dari PC.
PC Motherboard
+merekPC: String +tipeMotherboard: String
+PC(merekPC: String) +Motherboard(tipeMotherBoard: String)
Contoh Kasus :
Kita akan membuat Aplikasi atau Program sederhana tentang
Pengimputan Biodata Mahasiswa
64
Langkah-langkahnya :
1. Kita terlebih dahulu membuat database dan tabel
Caranya :
- Buka Browser internet anda seperti Mozila atau Intrnet
Explorer dan lain-lain lalu ketikkan perintah berikut :
localhost/phpmyadmin lalu tekan enter
65
Langkah selanjutnya buat table dengan memberi
nama tebel misalnya tb_mhs dan masukan berapa
jumlah kolom yang ingin dibuat sesuai dengan
berapa banyak field yang kita masukan. Misalnya
kita akan membuat kolom untuk 5 field yakni:
nama,nim,jurusan,alamat,telpn. Maka kita masukan
angka 5 pada jumlah kolom yang tersedia lalu klik
kirim. Seperti tampak pada gambar berikut:
66
Gambar 4.12 tabel mhs
Sampai disini pembuatan database dan table selesai
67
Gambar 4.13 membuat project
68
Gambar 4.15 add library
- Langkah selanjutnya kita akan membuat scrip untuk kelas
config.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
69
- Langkah selanjutnya kita akan membuat code untuk fungsi
create (tambah) data dalam database. klik kana pada tombol
tambah – pilih event – Action – ActionPerformed. lalu isikan
syntax berikut :
private void
btn_tambahActionPerformed(java.awt.event.ActionE
vent evt)
{
// TODO add your handling code here:
try {
String sql = "INSERT INTO mhs VALUES
('"+txt_nama.getText()+"','"+txt_nim.getText()+"
','"+jComboBox1.getSelectedItem()+"','"+txt_alam
at.getText()+"','"+txt_pnone.getText()+"')";
java.sql.Connection
conn=(Connection)config.configDB();
java.sql.PreparedStatement
pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null,
"Penyimpanan Data Berhasil");
} catch (Exception e) {
JOptionPane.showMessageDialog(this,
e.getMessage());
}
load_table();
kosong();
}
- Langkah selanjutnya kita akan membuat script menampilkan
data de dalam tabel
private void load_table(){
// membuat tampilan model tabel
DefaultTableModel model = new
DefaultTableModel();
model.addColumn("No");
model.addColumn("Nama");
model.addColumn("NIM");
model.addColumn("Jurusan");
70
model.addColumn("Alamat");
model.addColumn("Phone");
public Mahasiswa() {
initComponents();
load_table();
}
71
}
public Mahasiswa() {
initComponents();
load_table();
kosong();
}
72