Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

PENGENALAN JAVA
MODUL III
KONSEP DASAR PBO I

NAMA : EKA PUTRI MAHARANI


KELAS : S1-SI-04-C
NIM : 20103109

PROGRAM STUDI S1 SISTEM INFORMASI


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM
PURWOKERTO
2021
DASAR TEORI

A. Class
Merupakan cetak biru dari suatu objek. Kelas adalah pemodelan dari objek yang
berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method)
yang dimiliki oleh objek tersebut. Kelas dapat dianalogikan sebagai struktur data dari
objek. Perbedaan kelas pada pemrograman berorientasi objek dengan struktur data pada
pemrograman terstruktur adalah bahwa kelas pada pemrograman berorientasi objek
tidak hanya berisi data saja akan tetapi berisi fungsi-fungsi yang dapat mengakses data,
sehingga data dan fungsi harus dirancang secara bersamaan (kelas = struktur data +
fungsi). Contoh kelas pada bagan diatas yaitu kucing, Kelas kucing merupakan cetak
biru dari semua jenis kucing yang ada, yang memiliki karakterisktik umum yang
dimiliki setiap jenis kucing.

B. Object
Kesatuan entitas (benda), baik yang berwujud nyata ataupun hanya suatu sistem
atau konsep yang memiliki sifat karakteristik dan fungsi, merupakan hasil instansiasi
dari kelas, memiliki semua properti dan method yang dimiliki oleh kelas dengan nilai
dan implementasi yang dapat berbeda-beda. Kucing Angora, Maine Coon, dan Exotic
Shorthair merupakan objek yang dihasilkan dari kelas kucing.

C. Modifier dan jenis-jenisnya


Merupakan Keyword yang diletakkan di depan class, interface, variable (field) atau
method. Modifier terbagi dalam 3 jenis yakni,
1. Access modifier, berfungsi untuk pengaturan pengaksesan terhadap elemen yang
memiliki modifier ini. Terdapat 4 access modifier yakni public, private, protected,
dan tanda tanda (null).
2. Static modifier, berfungsi untuk membuat elemen dimana modifier ini
dideklarasikan menjadi milik class, bukan object sehingga tidak perlu membuat
object untuk penggunaan elemen tersebut (tapi menggunakan nama kelas). Kata
kunci yang dipakai “static”.
3. Final modifier, berfungsi untuk menyatakan bahwa sesuatu elemen sudah final dan
tidak dapat diubah (nilainya).

D. Fungsi
Fungsi atau method adalah implementasi dari perilaku objek, biasanya untuk
mengakses atribut-atribut atau melakukan sesuatu (nama fungsi biasa berupa kata
kerja). Fungsi dapat memberikan nilai balikan juga tidak, fungsi yang memiliki nilai
balikan biasanya fungsi yang bertipe data selain void. Sebuah fungsi juga dapat
memiliki parameter masukkan maupun tidak (disesuaikan dengan kebutuhan).

E. Konstruktor
Konstruktor pada dasarnya merupakan sebuah fungsi/method. Konstruktor ini
dipanggil pada saat proses instansiasi kelas menjadi objek.
Kegunaan konstruktor :
1. Untuk menginisialiasi variabel-variabel instance yang akan dimiliki oleh objek.
2. Mengalokasikan ruang bagi sebuah objek
3. Membentuk tugas-tugas umum lainnya.

Karakteristik dari konstruktor :


1. Konstruktor tidak memiliki nilai balikan (bahkan dideklarasikan tanpa void)
2. Memiliki nama yang sama dengan nama kelas
3. Apabila konstruktor tidak didefinisikan pada sebuah kelas, kompiler akan
mensuplai default constructor yang tidak memiliki parameter dan tidak melakukan
sesuatu
4. Suatu kelas bisa memiliki beberapa konstruktor.

F. Kata kunci ‘this’


Keyword this ini digunakan dalam sebuah class dan digunakan untuk menyatakan
object yang sedang aktif sekarang.
GUIDED
Program sederhana dan Eksekusi
Program : (ObjekWisata.java)

package ggwp;

public class ObjekWisata {

String nama;
String alamat;
static long hargaTiket;
static final boolean weekendFull = true;

public ObjekWisata(){
System.out.println("Objek wisata di Banyumas...");
}

public ObjekWisata(String kota){


System.out.println("Objek wisata di " + kota + "...");
}

public ObjekWisata(String nm, String almt, long htm){


nama = nm;
alamat = almt;
hargaTiket = htm;
}

public void isiNama(String nama){


this.nama = nama;
}

public void isiAlamat(String alamat){


this.alamat = alamat;
}
public void isiHargaTiket(long hargaTiket){
this.hargaTiket = hargaTiket;
}

String dapatkanNama(){
return nama;
}

String dapatkanAlamat(){
return alamat;
}

long dapatkanHargaTiket(){
return hargaTiket;
}

boolean weekEnd(){
return weekendFull;
}

public static void main(String [] args){


ObjekWisata baturraden = new ObjekWisata();
ObjekWisata indrayanti = new ObjekWisata("Yogyakarta");
baturraden.isiNama("Baturraden");
ObjekWisata.hargaTiket = 30000;
System.out.println("Hargatiket masuk ke " +
baturraden.nama + " : " + ObjekWisata.hargaTiket);
System.out.println("Ketika weekend penuh ? " +
baturraden.weekEnd());
System.out.println("Ketika weekend penuh ? " +
ObjekWisata.weekendFull);

}
}

Hasil Running

Case

1. Apa yang akan terjadi jika keyword “this” pada varibel nama pada fungsi
isiNama. alamat pada fungsi isiAlamat, dan hargaTiket pada fungsi isiHargaTiket
dihapus ?

Null, karena tidak ada nama pemanggilnya

2. Berkaitan dengan kasus nomor 1, adakah perbedaan antara variabel yang


menggunakan keyword this dengan yang tidak menggunakan keyword this ini ?

• Menggunakan keyword this -> akan menampilkan isi yang di panggil seperti
pada program

• Tidak menggunakan keyword this -> akan berisi NULL pada program, karena
tidak ada pemanggilnya.
UNGUIDED
Kembangkan program yang telah kalian buat saat praktikum sehingga terdapat
penggunaan ke empat access modifier :

a. Public (25)
b. Private (25)\
c. Protected (25)
d. Tanpa tanda (25)

Catatan :
• Program harus jalan.
• Dalam program kalian (ObjekWisata.java), contohkan bentuk pelanggaran yang
terjadi jika ketentuan setiap access modifier dilanggar.
• Laporan tugas + screen shoot dikumpul sebelum pertemuan berikutnya.

a. Public (25)

package ggwp;

public class ObjekWisata {


public String nama;
public String alamat;
public static long hargaTiket;
public static final boolean weekendFull = true;

public ObjekWisata(){
System.out.println("Objek wisata di Banyumas...");
}

public ObjekWisata(String kota){


System.out.println("Objek wisata di " +kota+ "...");
}

public ObjekWisata(String nm, String almt, long htm){


nama = nm;
alamat = almt;
hargaTiket = htm;
}

public void isiNama(String nama){


this.nama = nama;
}

public void isiHargaTiket(long hargaTiket){


this.hargaTiket = hargaTiket;
}

public String dapatkanNama(){


return nama;
}

String dapatkanAlamat(){
return alamat;
}

long dapatkanHargaTiket(){
return hargaTiket;
}

boolean weekEnd(){
return weekendFull;
}

public static void main(String[] args) {


ObjekWisata baturraden = new ObjekWisata();
ObjekWisata indrayanti = new ObjekWisata("Yogyakarta");
baturraden.isiNama("Baturraden");
ObjekWisata.hargaTiket = 30000;
System.out.println("Harga tiket masuk ke "+baturraden.nama+ ":
"+ObjekWisata.hargaTiket);
System.out.println("Ketika weekend penuh ? " +baturraden.weekEnd());
System.out.println("Ketika weekend penuh ? " +ObjekWisata.weekendFull);
System.out.println(baturraden.dapatkanNama());
}
}

b. Private (25)

package ggwp;

public class ObjekWisata {


private String nama;
private String alamat;
private static long hargaTiket;
private static final boolean weekendFull = true;

public ObjekWisata(){
System.out.println("Objek wisata di Banyumas...");
}
public ObjekWisata(String kota){
System.out.println("Objek wisata di " +kota+ "...");
}

public ObjekWisata(String nm, String almt, long htm){


nama = nm;
alamat = almt;
hargaTiket = htm;
}

public void isiNama(String nama){


this.nama = nama;
}

public void isiHargaTiket(long hargaTiket){


this.hargaTiket = hargaTiket;
}
public void isiAlamat(String alamat){
this.alamat = alamat;
}

public String dapatkanNama(){


return nama;
}

public String dapatkanAlamat(){


return alamat;
}

long dapatkanHargaTiket(){
return hargaTiket;
}

boolean weekEnd(){
return weekendFull;
}

public static void main(String[] args) {


ObjekWisata baturraden = new ObjekWisata();
ObjekWisata indrayanti = new ObjekWisata("Yogyakarta");
baturraden.isiNama("Baturraden");
baturraden.isiAlamat("Purwokerto");
ObjekWisata.hargaTiket = 30000;
System.out.println("Harga tiket masuk ke "+baturraden.nama+ ":
"+ObjekWisata.hargaTiket);
System.out.println("Ketika weekend penuh ? " +baturraden.weekEnd());
System.out.println("Ketika weekend penuh ? " +ObjekWisata.weekendFull);
System.out.println(baturraden.dapatkanNama());
System.out.println(baturraden.dapatkanAlamat());
}
}

c. Protected (25)

package ggwp;

public class ObjekWisata {


protected String nama;
protected String alamat;
protected static long hargaTiket;
protected static final boolean weekendFull = true;

public ObjekWisata(){
System.out.println("Objek wisata di Banyumas...");
}

public ObjekWisata(String kota){


System.out.println("Objek wisata di " +kota+ "...");
}

public ObjekWisata(String nm, String almt, long htm){


nama = nm;
alamat = almt;
hargaTiket = htm;
}

public void isiNama(String nama){


this.nama = nama;
}

public void isiHargaTiket(long hargaTiket){


this.hargaTiket = hargaTiket;
}

public void isiAlamat(String alamat){


this.alamat = alamat;
}

public String dapatkanNama(){


return nama;
}

public String dapatkanAlamat(){


return alamat;
}

long dapatkanHargaTiket(){
return hargaTiket;
}

boolean weekEnd(){
return weekendFull;
}

public static void main(String[] args) {


ObjekWisata baturraden = new ObjekWisata();
ObjekWisata indrayanti = new ObjekWisata("Yogyakarta");
baturraden.isiNama("Semarang");
baturraden.isiAlamat("Kendal");
ObjekWisata.hargaTiket = 30000;
System.out.println("Harga tiket masuk ke "+baturraden.nama+ ":
"+ObjekWisata.hargaTiket);
System.out.println("Ketika weekend penuh ? " +baturraden.weekEnd());
System.out.println("Ketika weekend penuh ? " +ObjekWisata.weekendFull);
System.out.println(baturraden.dapatkanNama());
System.out.println(baturraden.dapatkanAlamat());
}
}
d. Tanpa tanda (25)

package ggwp;

public class ObjekWisata {


String nama;
String alamat;
static long hargaTiket;
static final boolean weekendFull = true;

public ObjekWisata(){
System.out.println("Objek wisata di Banyumas...");
}

public ObjekWisata(String kota){


System.out.println("Objek wisata di " +kota+ "...");
}

public ObjekWisata(String nm, String almt, long htm){


nama = nm;
alamat = almt;
hargaTiket = htm;
}

public void isiNama(String nama){


this.nama = nama;
}

public void isiHargaTiket(long hargaTiket){


this.hargaTiket = hargaTiket;
}

public void isiAlamat(String alamat){


this.alamat = alamat;
}

public String dapatkanNama(){


return nama;
}

public String dapatkanAlamat(){


return alamat;
}

long dapatkanHargaTiket(){
return hargaTiket;
}

boolean weekEnd(){
return weekendFull;
}

public static void main(String[] args) {


ObjekWisata baturraden = new ObjekWisata();
ObjekWisata indrayanti = new ObjekWisata("Yogyakarta");
baturraden.isiNama("Curug Pitu");
baturraden.isiAlamat("Kemutug");
ObjekWisata.hargaTiket = 30000;
System.out.println("Harga tiket masuk ke "+baturraden.nama+ ": "+ObjekWisata.hargaTiket);
System.out.println("Ketika weekend penuh ? " +baturraden.weekEnd());
System.out.println("Ketika weekend penuh ? " +ObjekWisata.weekendFull);
System.out.println(baturraden.dapatkanNama());
System.out.println(baturraden.dapatkanAlamat());
}
}

Anda mungkin juga menyukai