Anda di halaman 1dari 52

PRAKTIKUM 1.

5 JAVA Array

1. Tujuan
a. Dapat mendeklarasikan dan membuat array
b. Dapat mengakses elemen-elemen didalam array
c. Dapat menentukan jumlah element didalam sebuah array
d. Dapat mendeklarasikan dan membuat array multidimensi

2. Latar Belakang
Pada bagian ini, kita akan mempraktekkan mengenai array dalam
Java. Pertama, kita akan mendefinisikan apa yang dimaksud dengan
array, kemudian kita juga akan mendefinisikan bagaimana
mendeklarasikannya dan menggunakannya dalam Java.
Dibagian sebelumnya, kita telah mempraktekkan bagaimana cara
pendeklarasian berbagai macam variabel dengan menggunakan
tipe data primitif. Dalam pendeklarasian variabel, kita sering
menggunakan sebuah tipe data beserta nama variabel atau
identifier yang unik, dimana untuk menggunakan variabel tersebut,
kita akan memanggil dengan nama identifier-nya.
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int
yang memiliki identifier yang berbeda untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Seperti yang dapat kita perhatikan pada contoh diatas, hanya untuk
menginisialisasi dan menggunakan variabel terutama pada saat
variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat
membingungkan. Di Java maupun di bahasa pemrograman yang
lain, mereka memiliki kemampuan untuk menggunakan satu
variabel yang dapat menyimpan sebuah data list dan kemudian
memanipulasinya dengan lebih efektif. Tipe variabel inilah yang
disebut sebagai array.

1
Sebuah array akan menyimpan beberapa item data yang memiliki
tipe data sama didalam sebuah blok memori yang berdekatan yang
kemudian dibagai menjadi beberapa slot. Bayangkanlah array
adalah sebuah variabel – sebuah lokasi memori tertentu yang
memiliki satu nama sebagai identifier, akan tetapi ia dapat
menyimpan lebih dari sebuah value.
3. Praktikum
Praktikum 1 Pengaksesan element array:
public class ArraySample {
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<100; i++ )
{
System.out.print( ages[i] );
}
}
}

Hasil Praktikum:
Praktikum 2 Panjang Array:
public class ArraySample2 {
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<ages.length; i++ ){
System.out.print( ages[i] );
}
}
}

Hasil Percobaan
Praktikum 3 Array Multidimensi:
public class ArraySample3 {
public static void main( String[] args ){
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
System.out.print( dogs[0][0] );
}
}

Hasil Percobaan
Praktikum 4 Menggunakan Array args pada Method main:
public class ArgsTest {
public static void main(String[] args) {
System.out.println("args[0] =" + args[0]);
System.out.println("args[1] =" + args[1]);
}
}

Hasil Percobaan
PRAKTIKUM 1.6 ARGUMENT DARI COMMAND-LINE

1. Tujuan
a. Mengetahui dan menjelaskan mengenai argumen command-line
b. Mendapatkan input dari user dengan menggunakan argumen
command-line
c. Mempelajari bagaimana memberikan argumen kedalam program
pada NetBeans

2. Latar Belakang
Pada bagian praktikum ini, kita akan mempelajari bagaimana untuk
memproses sebuah input dari command-line dengan menggunakan
argumen yang diberikan kepada program Java.
Sebuah aplikasi Java dapat menerima berbagai argumen dari
command-line. Argumen dari command line memberikan
kesempatan bagi user untuk mempengaruhi operasi dari sebuah
aplikasi dalam sekali invokasi. User memasukkan argumen
command line pada saat meng-invoke aplikasi dan memberikan
spesifikasi kepada aplikasi tersebut setelah nama kelas untuk
dijalankan.
3. Praktikum
Praktikum 1 Program CommandLineExample pada Netbeans:
public class CommandLineExample {
public static void main( String[] args ){
System.out.println("Number of arguments=" + args.length);
System.out.println("First Argument="+ args[0]);
System.out.println("First Argument="+ args[1]);
}
}

Hasil Praktikum:
Praktikum 2 Program CommandLine:
public class CommandLine {
public static void main(String[] args) {
System.out.println("args[0] = " + args[0]);
System.out.println("args[1] = " + args[1]); }
}

Hasil Praktikum:
Praktikum 3 Program CommandHelloExample:
public class CommandHelloExample {
public static void main( String[] args ){
System.out.println("Hello Java :" + args.length);
System.out.println(""+ args[0]);
System.out.println(""+ args[1]);
System.out.println(""+ args[2]);
System.out.println(""+ args[3]);
System.out.println(""+ args[4]);
}
}

Hasil Praktikum:
PRAKTIKUM 1.7 Bekerja Dengan JAVA Class Library

1. Tujuan
a. Menjelaskan OOP dan beberapa konsepnya
b. Perbedaan antara class dan object
c. Pebedaan antara instance variables/method dan class (static)
variable/method
d. Menjelaskan method apa dan bagaimana memanggil method
parameter
e. Mengidentifikasi beberapa jangkauan dari sebuah variable
f. Memilih tipe data primitive dan object
g. Membandingkan objects dan menjabarkan class dari objects.

2. Latar Belakang
Pada sesi ini, kita akan mengantarkan beberapa konsep dasar dari
Object-Oriented objcts, dan Programming (OOP). Selanjutnya kita
akan membahas konsep dari classes dan bagaimana menggunakan
class dan anggotanya. Perubahan dan pemilihan object juga akan
dibahas. Sekarang, kita akan focus dalam menggunakan class yang
telah dijabarkan dalam Java Class library, kita akan membahas nanti
tentang bagaimana membikin class anda sendiri.
OOP berputar pada konsep dari object sebagai dasar element dari
program anda. Ketika kita membandingkan dengan dunia nyata,
kita dapat menemukan beberapa objek disekitar kita, seperti mobil,
singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat /
attributnya dan tingkah lakunya.
3. Praktikum
Praktikum 1 Pass By Value:
public class TestPastByValue {
public static void main(String[] args) {
int i = 10;
System.out.println(i);
test(i);
System.out.println(i);
}
public static void test(int j){
j = 33;
}
}

Hasil Praktikum:
Praktikum 2 Pass by reference:
:
public class TestPassByReference {
public static void main(String[] args) {
int []ages = {10,11,12};
for(int i=0;i<ages.length;i++){
System.out.println(ages[i]);
}
test(ages);
for(int i=0;i<ages.length;i++)
{
System.out.println(ages[i]);
}
}

public static void test(int []arr){


for(int i=0;i<arr.length;i++){
arr[i]=i+50;
}
}
}

Hasil Praktikum:
Praktikum 3 Perbandingan Object:
public class EqualsTest {
public static void main(String[] arguments) {
String str1, str2;
str1 = "Bebas Batas secara Berkala.";
str2 = str1;
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);
System.out.println("Same object? " + (str1 == str2));
str2 = new String(str1);
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);
System.out.println("Same object? " + (str1 == str2));
System.out.println("Same value? " + str1.equals(str2));
}
}

Hasil Praktikum:
1Praktikum 4 Pemanggilan method menggunakan parameter:
public class Elevator {
public boolean doorOpen=false;
public int currentFloor = 1;
public final int TOP_FLOOR = 5;
public final int BOTTOM_FLOOR = 1;
public void openDoor() {
System.out.println("Opening door.");
doorOpen = true;
System.out.println("Door is open.");
}
public void closeDoor() {
System.out.println("Closing door.");
doorOpen = false;
System.out.println("Door is closed.");
}
public void goUp() {
System.out.println("Going up one floor.");
currentFloor++;
System.out.println("Floor: " + currentFloor);
}
public void goDown() {
System.out.println("Going down one floor.");
currentFloor--;
System.out.println("Floor: " + currentFloor);
}
public void setFloor(int desiredFloor) {
while (currentFloor != desiredFloor){
if(currentFloor < desiredFloor) {
goUp();
} else {
goDown();
}
}
}
public int getFloor(){
return currentFloor;
}
public boolean checkDoorStatus(){
return doorOpen;
}
}
public class ElevatorTest {
public static void main(String[] args) {
Elevator myElevator = new Elevator();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goUp();
myElevator.goUp();
myElevator.goUp();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goDown();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goDown();
myElevator.setFloor(myElevator.TOP_FLOOR);
myElevator.openDoor();}
}

Hasil Praktikum:
1Praktikum 5 Method dengan Return Value :
public class ElevatorTestTwo {
public static void main(String[] args) {
Elevator myElevator = new Elevator();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goUp();
myElevator.goUp();
myElevator.goUp();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goDown();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goDown();
int curFloor = myElevator.getFloor();
System.out.println("Current Floor: " + curFloor);
myElevator.setFloor(curFloor+1);
myElevator.openDoor();
}
}
Hasil Praktikum:
PRAKTIKUM 1.8 Membuat Class Sendiri

1. Tujuan
a. Membuat kelas mereka sendiri
b. Mendeklarasikan atribut dan method pada class
c. Menggunakan referensi this untuk mengakses instance data
d. Membuat dan memanggil overloaded method
e. Mengimport dan membuat package
f. Menggunakan access modifiers untuk mengendalikan akses
terhadap class member

2. Latar Belakang
Setelah kita mempelajari penggunaan class dari Java Class Library,
kita akan mempelajari bagaimana menuliskan sebuah class sendiri.
Pada bagian ini, untuk mempermudah pemahaman pembuatan
class, kita akan membuat contoh class dimana akan ditambahkan
beberapa data dan fungsi – fungsi lain.
Kita akan membuat class yang mengandung informasi dari Siswa
dan operasi – operasi yang dibutuhkan pada record siswa.
Beberapa hal yang perlu diperhatikan pada syntax yang digunakan
pada bab ini dan bagian lainnya :

* - Menandakan bahwa terjadi lebih dari satu kejadian


dimana elemen tersebutdiimplementasikan

<descripti - Menandakan bahwa Anda harus memberikan nilai


on> pasti pada bagian ini

[] - Indikasi bagian optional


3. Praktikum
Praktikum 1 Membuat Class Student Record:
public class StudentRecord
{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;

StudentRecord() {
throw new UnsupportedOperationException("Not yet
implemented");
}
StudentRecord(String string) {
throw new UnsupportedOperationException("Not yet
implemented");
}
/**
* Menghasilkan nama dari Siswa
*/
public String getName(){
return name;
}
/**
* Mengubah nama siswa
*/
public void setName( String temp ){
name = temp;
}
// area penulisan kode lain
/**
* Menghitung rata – rata nilai Matematik, Bahasa Inggris, * *
Ilmu Pasti */
public double getAverage(){
double result = 0;
result = ( mathGrade+englishGrade+scienceGrade )/3;
return result;
}
/** * Menghasilkan jumlah instance StudentRecord */
public static int getStudentCount(){
return studentCount;
}
}
Hasil Praktikum:
Praktikum 2 Membuat Class Student Record Example:
public class StudentRecordExample {
public static void main( String[] args ){
//membuat 3 object StudentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//Memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//Menampilkan nama siswa “Anna”
System.out.println( annaRecord.getName() );
//Menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentCount()
);
}
}

Hasil Praktikum:
1Praktikum 3 Membuat Class Student Record yang telah
dimodifikasi:
public class StudentRecord {
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;
public StudentRecord(){ //constructor default
studentCount++;
}
public StudentRecord(String temp){
this.name = temp;
studentCount++;
}
public StudentRecord(String name, String Address){
this.name = name;
this.address = Address;
studentCount++;
}
public StudentRecord(double mGrade,double eGrade,double
sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
studentCount++;
}
/**
* Menghasilkan nama dari siswa
*/
public String getName(){
return name;
}
/**
* mengubah nama siswa
*/
public void setName(String temp){
name = temp;
}
public String getAddress(){
return address;
}
public void setAddress(String temp){
address = temp;
}
public int getAge(){
return age;
}
public void setAge(int temp){
age = temp;
}
//area penulisan kode lain
//area penulisan kode lain
/**
* Menghitung rata-rata nilai matematika, bahasa inggris, ilmu
pengetahuan
*/
public double getAverage(){
double result =0;
result = (mathGrade+englishGrade+scienceGrade)/3;
return result;
}
public static int getStudentRecord(){
return studentCount;
}
public void print(String temp){
System.out.println("Name : "+name );
System.out.println("Address : "+address);
System.out.println("Age : "+age);
}
public void print(double eGrade, double mGrade, double sGrade){
System.out.println("Name : "+name);
System.out.println("Math Grade : "+mGrade);
System.out.println("English Grade : "+eGrade);
System.out.println("Science Grade : "+sGrade);
}
public double getEnglishGrade() {
return englishGrade;
}
public void setEnglishGrade(double englishGrade) {
this.englishGrade = englishGrade;
}
public double getMathGrade() {
return mathGrade;
}
public void setMathGrade(double mathGrade) {
this.mathGrade = mathGrade;
}
public double getScienceGrade() {
return scienceGrade;
}
public void setScienceGrade(double scienceGrade) {
this.scienceGrade = scienceGrade;
}
}
Hasil Praktikum:
1Praktikum 4 Membuat Class Student Record Example yang
telah dimodifikasi :
public class StudentRecordExample {
public static void main(String[] args) {
//membuat 3 object StudentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//versi baru
StudentRecord recordAnna = new StudentRecord("Candra");
StudentRecord recordBeah = new StudentRecord("Bagus",
"Malang");
StudentRecord recordCris = new StudentRecord(80,90,100);
//memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//menampilkan nama siswa "Anna"
System.out.println(annaRecord.getName());
//menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentRecord(
));
StudentRecord anna2Record = new StudentRecord();
anna2Record.setName("Anna");
anna2Record.setAddress("Philipina");
anna2Record.setAge(15);
anna2Record.setMathGrade(80);
anna2Record.setEnglishGrade(95.5);
anna2Record.setScienceGrade(100);
//overload method
anna2Record.print(anna2Record.getName());
anna2Record.print(anna2Record.getEnglishGrade(),
anna2Record.getMathGrade(),
anna2Record.getScienceGrade());
recordAnna.print(recordAnna.getName());
}
}
Hasil Praktikum:
Praktikum 5 Package :
package schoolClasses;
public class StudentRecord {
private String name;
private String address;
private int age;
}

Hasil Praktikum:
1Praktikum 6 Modifier Public :

public class PublicElevator {


public boolean bukaPintu = false;
public int lantaiSkrg = 1;
public int berat = 0;
public final int KAPASITAS = 1000;
public final int LANTAI_ATAS = 5;
public final int LANTAI_BAWAH = 1;
}

public class PublicElevatorTest {


public static void main(String args[]){
PublicElevator pubElevator = new PublicElevator();
pubElevator.bukaPintu = true; //penumpang masuk
pubElevator.bukaPintu = false; //pintu ditutup
//pergi ke lantai 0 dibawah gedung
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg++; //lompat ke lantai 7 (hanya ada 5
lantai dalam gedung)
pubElevator.lantaiSkrg = 7;
pubElevator.bukaPintu = true; //penumpang masuk/keluar
pubElevator.bukaPintu = false;
pubElevator.lantaiSkrg = 1; //menuju lantai pertama
pubElevator.bukaPintu = true; //penumpang masuk/keluar
pubElevator.lantaiSkrg++; //elevator bergerak tanpa menutup
pintu
pubElevator.bukaPintu = false;
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg--;
}
}

Hasil Praktikum:
Praktikum 7 Modifier Private :
public class PrivateElevator1 {
boolean bukaPintu = false;
int lantaiSkrg = 1;
int berat = 0;
final int KAPASITAS = 1000;
final int LANTAI_ATAS = 5;
final int LANTAI_BAWAH = 1;
}

public class PrivateElevator1Test {


public static void main(String args[]){
PrivateElevator1 privElevator = new PrivateElevator1();

/*************************************************
* Baris kode dibawah ini tidak akan di-compile *
* karena berusaha untuk mengakses variabel *
* private *
* ***************************************/

privElevator.bukaPintu = true;
privElevator.bukaPintu = false;

privElevator.lantaiSkrg --;
privElevator.lantaiSkrg ++;

//lompat ke lantai 7 (hanya ada 5 lantai dalam gedung)


privElevator.lantaiSkrg = 7;
privElevator.bukaPintu = true; //penumpang masuk/keluar
privElevator.bukaPintu = false;
privElevator.lantaiSkrg = 1; //menuju lantai pertama
privElevator.bukaPintu = true; //penumpang masuk/keluar
privElevator.lantaiSkrg++; //elevator bergerak tanpa
menutup pintu
privElevator.bukaPintu = false;
privElevator.lantaiSkrg--;
privElevator.lantaiSkrg--;
}
}

Hasil Praktikum:
Praktikum ini tidak bisa di compile
Praktikum 8 Method Accessor dan Method Mutator:
public class PrivateShirt1 {
private int idBaju = 0; //ID default untuk baju
private String keterangan = "-Keterangan Diperlukan-";
//default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 0.0; //Harga default untuk semua barang
private int jmlStok = 0; //Default untuk jumlah barang
public char getKodeWarna() {
return kodeWarna;
}
public void setKodeWarna(char kode) {
kodeWarna = kode;
}
// Method get dan set untuk idBaju, keterangan
// harga, dan jmlStok akan mengikuti
} //akhir kelas

public class PrivateShirt1Test {


public static void main(String[] args) {
PrivateShirt1 privShirt = new PrivateShirt1();
char kodeWarna; // Mengisi kode warna yang valid
privShirt.setKodeWarna('R');
kodeWarna = privShirt.getKodeWarna();
// Kelas PrivateShirt1Test bisa mengisi sebuah kodeWarna
yang valid
System.out.println("Kode Warna: " + kodeWarna);
// Mengisi kode warna yang salah
privShirt.setKodeWarna('Z');
kodeWarna = privShirt.getKodeWarna();
// Kelas PrivateShirt1Test bisa mengisi sebuah kodeWarna
yang salah
System.out.println("Kode Warna: " + kodeWarna);
}
}

Hasil Praktikum:
1Praktikum 9 Method Accessor dan Method Mutator:

public class PrivateShirt2 {


private int idBaju = 0; //ID default untuk baju
private String keterangan = "-Keterangan Diperlukan-";
//default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 0.0;
//Harga default untuk semua barang
private int jmlStok = 0; //Default untuk jumlah barang
public char getKodeWarna() {
return kodeWarna;
}
public void setKodeWarna(char kode)
{
switch (kode) {
case 'R':
case 'G':
case 'B':
kodeWarna = kode;
break;
default:
System.out.println("kodeWarna salah, gunakan R,
G, atau B");
}
}
// Method get dan set untuk idBaju, keterangan
// harga, dan jmlStok akan mengikuti
} //akhir kelas

public class PrivateShirt2Test {


public static void main(String[] args) {
PrivateShirt2 privShirt = new PrivateShirt2();
char kodeWarna;
// Mengisi kode warna yang valid
privShirt.setKodeWarna('R');
kodeWarna = privShirt.getKodeWarna();
// Kelas PrivateShirt2Test bisa mengisi sebuah kodeWarna
yang valid
System.out.println("Kode Warna: " + kodeWarna);
// Mengisi kode warna yang salah
privShirt.setKodeWarna('Z');
kodeWarna = privShirt.getKodeWarna();
// Kelas PrivateShirt2Test bisa mengisi sebuah kodeWarna
yang salah
// Kode warna masih R
System.out.println("Kode Warna: " + kodeWarna);
}
}
Hasil Praktikum:
1Praktikum 10 Constructor:
public class ConstructorShirt1 {
private int idBaju = 0; //ID default untuk baju
private String keterangan = "-Keterangan Diperlukan-";
//default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 0.0; //Harga default untuk semua barang
private int jmlStok = 0; //Default untuk jumlah barang
public ConstructorShirt1(char kodeAwal){
switch (kodeAwal) {
case 'R':
case 'G':
case 'B':
kodeWarna = kodeAwal;
break;
default:
System.out.println("kodeWarna salah, gunakan R, G,
atau B");
}
}
public char getKodeWarna() {
return kodeWarna;
}
}

public class ConstructorShirt1Test {


public static void main(String[] args) {
ConstructorShirt1 constShirt = new ConstructorShirt1('R');
char kodeWarna; kodeWarna = constShirt.getKodeWarna();
System.out.println("Kode Warna: " + kodeWarna);
}
}

Hasil Praktikum:
Praktikum 11 Constructor Default:
2
public class DefaultShirt {
private int idBaju = 0; //ID default untuk baju
private String keterangan = "-Keterangan Diperlukan-";
//default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 0.0; //Harga default untuk semua barang
private int jmlStok = 0; //Default untuk jumlah barang

public DefaultShirt(){
kodeWarna = 'R';
}
public char getKodeWarna() {
return kodeWarna;
}
}

public class DefaultShirtTest {


public static void main(String[] args) {
DefaultShirt defShirt = new DefaultShirt();
char kodeWarna; kodeWarna = defShirt.getKodeWarna();
System.out.println("Kode Warna: " + kodeWarna);
}
}

Hasil Praktikum:
Praktikum 12 Constructor Overloading:
3
public class ConstructorShirt2 {
private int idBaju = 0; //ID default untuk baju
private String keterangan = "-Keterangan Diperlukan-";
//default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 0.0; //Harga default untuk semua barang
private int jmlStok = 0; //Default untuk jumlah barang

public ConstructorShirt2(){
kodeWarna = 'R';
}
public ConstructorShirt2(char kodeAwal){
switch (kodeAwal) {
case 'R':
case 'G':
case 'B':
kodeWarna = kodeAwal;
break;
default:
System.out.println("kodeWarna salah, gunakan R, G,
atau B");
}
}
public ConstructorShirt2(char kodeAwal, int jmlAwal){
switch (kodeAwal) {
case 'R':
case 'G':
case 'B':
kodeWarna = kodeAwal;
break;
default:
System.out.println("kodeWarna salah, gunakan R, G,
atau B");
}

if (jmlAwal > 0 && jmlAwal < 2000) {


jmlStok = jmlAwal;
} else {
System.out.println("Jumlah salah. harus diantara 0 -
2000");
}
}
public char getKodeWarna() {
return kodeWarna;
}
public int getJmlStok() {
return jmlStok;
} //akhir kelas
}
public class ConstructorShirt2Test {
public static void main(String[] args) {
ConstructorShirt2 constShirtSatu = new
ConstructorShirt2('R');
ConstructorShirt2 constShirtDua = new
ConstructorShirt2('G');
ConstructorShirt2 constShirtTiga = new
ConstructorShirt2('B', 1000);
char kodeWarna;
int jumlah;
kodeWarna = constShirtSatu.getKodeWarna();
System.out.println("Kode Warna Object 1: " + kodeWarna);
kodeWarna = constShirtDua.getKodeWarna();
System.out.println("Kode Warna Object 2: " + kodeWarna);
kodeWarna = constShirtTiga.getKodeWarna();
jumlah = constShirtTiga.getJmlStok();
System.out.println("Kode Warna Object 3: " + kodeWarna);
System.out.println("Jumlah Stok Object 3: " + jumlah);
}
}

Hasil Praktikum:
Praktikum 13 Method Overloading:
4
public class Calculator {
public int sum(int numberOne, int numberTwo){
System.out.println("Method One");
return numberOne + numberTwo;
}
public float sum(float numberOne, float numberTwo) {
System.out.println("Method Two");
return numberOne + numberTwo;
}
public float sum(int numberOne, float numberTwo) {
System.out.println("Method Three");
return numberOne + numberTwo;
}
}

public class CalculatorTest {


public static void main(String[] args) {
Calculator myCalculator = new Calculator();
int totalOne = myCalculator.sum(2,3);
System.out.println(totalOne);
float totalTwo = myCalculator.sum(15.99F, 12.85F);
System.out.println(totalTwo);
float totalThree = myCalculator.sum(2, 12.85F);
System.out.println(totalThree);
}}

Hasil Praktikum:
Praktikum 14 Method Overloading:
5
public class ShirtTwo {
public int shirtID = 0; //Default ID for the shirt
public String description = "-description required-"; //default
//The color codes are R=Red, B=Blue, U=Unset
public char colorCode = 'U';
public double price = 0.0; //Default price for all shirts
public int quantityInStock = 0; //Default quantity for all
shirts

public void setShirtInfo(int ID, String desc, double cost) {


shirtID = ID;
description = desc;
price = cost;
}
public void setShirtInfo(int ID, String desc, double cost, char
color) {
shirtID = ID;
description = desc;
price = cost;
colorCode = color;
}
public void setShirtInfo(int ID, String desc, double cost, char
color, int quantity) {
shirtID = ID;
description = desc;
price = cost;
colorCode = color;
quantityInStock = quantity;
}
//This method displays the values for an item
public void display() {
System.out.println("Item ID: " + shirtID);
System.out.println("Item description: " + description);
System.out.println("Color Code: " + colorCode);
System.out.println("Item price: " + price);
System.out.println("Quantity in stock: " +
quantityInStock);
} //end of display method
} //end of class

public class ShirtTwoTest {


public static void main(String args[]) {
ShirtTwo shirtOne = new ShirtTwo();
ShirtTwo shirtTwo = new ShirtTwo();
ShirtTwo shirtThree = new ShirtTwo();
shirtOne.setShirtInfo(100, "Button Down", 12.99);
shirtTwo.setShirtInfo(101, "Long Sleeve Oxford", 27.99,
'G');
shirtThree.setShirtInfo(102, "Shirt Sleeve T-Shirt", 9.99,
'B', 50);
shirtOne.display();
shirtTwo.display();
shirtThree.display();
}}
Hasil Praktikum:
PRAKTIKUM 1.9 Pewarisan, Polymorphism Dan
Interface

1. Tujuan
a. Mendefinisikan superclasses dan subclasses
b. Override method dari superclasses
c. Membuat method final dan class final

2. Latar Belakang
Dalam bagian ini, kita akan membicarakan bagaimana suatu class
dapat mewariskan sifat dari class yang sudah ada. Class ini
dinamakan subclass dan induk class dinamakan superclass. Kita
juga akan membicarakan sifat khusus dari Java dimana kita dapat
secara otomatis memakai method yand tepat untuk setiap object
tanpa memperhatikan asal dari subclass object. Sifat ini dinamakan
polimorfisme. Pada akhirnya, kita akan mendiskusikan tentang
interface yang membantu mengurangi penulisan program.
Dalam Java, semua class, termasuk class yang membangun Java
API, adalah subclasses dari superclass Object. Contoh hirarki class
diperlihatkan di bawah ini.
Beberapa class di atas class utama dalam hirarki class dikenal
sebagai superclass. Sementara beberapa class di bawah class pokok
dalam hirarki class dikenal sebagai subclass dari class tersebut.

1
Pewarisan adalah keuntungan besar dalam pemrograman berbasis
object karena suatu sifat atau method didefinisikan dalam
superclass, sifat ini secara otomatis diwariskan dari semua
subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali
dan mereka dapat digunakan oleh semua subclass. Subclass hanya
butuh mengimplementasikan perbedaannya sendiri dan induknya.
Interface adalah jenis khusus dari blok yang hanya berisi method
signature(atau constant ). Interface mendefinisikan
sebuah(signature) dari sebuah kumpulan method tanpa tubuh.
1Interface mendefinisikan sebuah cara standar dan umum dalam
menetapkan sifat-sifat dari class-class. Mereka menyediakan class-
class, tanpa memperhatikan lokasinya dalam hirarki class, untuk
mengimplementasikan sifat-sifat yang umum. Dengan catatan
bahwa interface-interface juga menunjukkan polimorfisme,
dikarenakan program dapat memanggil method interface dan versi
yang tepat dari method yang akan dieksekusi tergantung dari tipe
object yang melewati pemanggil method interface.
Sekarang, class induk Person dan subclass Student dari contoh
sebelumnya, kita tambahkan subclass lain dari Person yaitu
Employee. Di bawah ini adalah hierarkinya,

Dalam Java, kita dapat membuat referensi yang merupakan tipe


dari superclass ke sebuah object dari subclass tersebut.
Kemampuan dari referensi untuk mengubah sifat menurut object
apa yang dijadikan acuan dinamakan polimorfisme. Polimorfisme
menyediakan multiobject dari subclasses yang berbeda untuk
diperlakukan sebagai object dari superclass tunggal, secara
otomatis menunjuk method yang tepat untuk menggunakannya ke
particular object berdasar subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika
kita mencoba melalui referensi ke method. Misalkan kita punya
method statis printInformation yang mengakibatkan object
Person sebagai referensi, kita dapat me-referensi dari tipe Employee
dan tipe Student ke method ini selama itu masih subclass dari class
Person.
3. Praktikum
Praktikum 1 Mendefinisikan Subclass dan Superclass :

public class Person {


protected String name;
protected String address;

public Person(){
System.out.println("Inside Person:Constructor");
name = "";
address = "";
}
public Person( String name, String address) {
this.name = name;
this.address = address;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String add) {
this.address = add;
}
}

public class student extends Person {


public student()
{
//super( "SomeName", "SomeAddress");
//super();
//super.name = "name";
System.out.println("Inside Student:Constructor");
}
public static void main( String[] args) {
student anna = new student();
}
}

Hasil Praktikum:
Praktikum 2 Superclass dan Subclass :

public class Pakaian {


private int ID = 0; // Default ID untuk semua Pakaian
private String keterangan = "-keterangan diperlukan-"; //
default
private double harga = 0.0; // Harga default untuk semua
Pakaian
private int jmlStok = 0; // jumlah default untuk semua
private static int UNIQUE_ID=0; //Static member ditambahkan
dalam
//constructor
//untuk menghasilkan ID yang unik

public Pakaian() {
ID=UNIQUE_ID++;
}
public int getID() {
return ID;
}
public void setKeterangan (String d){
keterangan=d;
}
public String getKeterangan(){
return keterangan;
}
public void setHarga(double p) {
harga = p;
}
public double getHarga() {
return harga;
}
public void setJmlStok (int q){
jmlStok=q;
}
public int getJmlStok(){
return jmlStok;
}
}
public class Baju extends Pakaian {
//Kode Warna R=Merah, B=Biru, G=Hijau, U=Belum Ditentukan
public char kodeWarna = 'U';

public Baju(){
super.setHarga(1500.0);
super.setJmlStok(5);
super.setKeterangan("biru");
}
//Method ini menampilkan nilai untuk suatu item
public void tampilInformasiBaju(){
System.out.println("ID Baju: " + getID());
System.out.println("Keterangan: " + getKeterangan());
System.out.println("Kode Warna: " + kodeWarna);
System.out.println("Harga baju: " + getHarga());
System.out.println("Jumlah stok: " + getJmlStok());
}//akhir method display
public static void main(String args[]){
Baju b=new Baju();
b.tampilInformasiBaju();
}
}//akhir kelas

Hasil Praktikum:
Praktikum 3 Polimorphisme :

public class Person {


protected String name;
protected String address;
/**
* Default constructor
*/
public Person(){
System.out.println("Inside Person:Constructor");
name = "";
address = "";
}
/**
* Constructor dengan dua parameter
*/
public Person( String name, String address) {
this.name = name;
this.address = address;
}
/**
* Method accessor
*/
public String getName() {
System.out.println("Person Name : " +name);
return name;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String add) {
this.address = add;
}
}

public class Student extends Person{


public Student()
{
//super( "SomeName", "SomeAddress");
//super();
//super.name = "name";
System.out.println("Inside Student:Constructor");
}
@Override
public String getName() {
System.out.println("Student Name : " +name);
return name;
}
public static void main( String[] args) {
Student anna = new Student();
}
}
public class Employee extends Person{
@Override
public String getName() {
System.out.println("Employee Name:" +name);
return name;
}
public static void main(String[] args) {
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada object
Student

String temp = ref.getName(); //getName dari Student


class dipanggil
System.out.println(temp);
ref = employeeObject; //Person menunjuk kepada object
Employee

temp = ref.getName(); //getName dari Employee class


dipanggil
System.out.println(temp);
}
}

Hasil Praktikum:
Praktikum 4 Enkapsulasi:

public class PrivateElevator2 {


private boolean bukaPintu = false;
private int lantaiSkrg = 1;
private int berat = 0;
private final int KAPASITAS = 1000;
private final int LANTAI_ATAS = 5;
private final int LANTAI_BAWAH = 1;

public void buka() {


bukaPintu = true;
}
public void tutup() {
hitungKapasitas();
if (berat <= KAPASITAS) {
bukaPintu = false;
} else {
System.out.println("Elevator kelebihan beban");
System.out.println("Pintu akan tetap terbuka sampai
seseorang keluar");
}
}
//pada dunia nyata, elevator menggunakan sensor berat untuk
memeriksa
//beban, tetapi agar lebih sederhana, kami menggunakan bilangan
acak untuk berat

private void hitungKapasitas() {


berat = (int)(Math.random()*1500);
System.out.println("Berat: " + berat);
}
public void naik() {
if (!bukaPintu) {
if (lantaiSkrg < LANTAI_ATAS) {
lantaiSkrg++;
System.out.println(lantaiSkrg);
} else {
System.out.println("Sudah mencapai lantai atas");
}
} else {
System.out.println("Pintu masih terbuka");
}
}
public void turun() {
if (!bukaPintu) {
if (lantaiSkrg > LANTAI_BAWAH) {
lantaiSkrg--;
System.out.println(lantaiSkrg);
} else {
System.out.println("Sudah mencapai lantai bawah");
}
} else {
System.out.println("Pintu masih terbuka");
}
}
public void turun() {
if (!bukaPintu) {
if (lantaiSkrg > LANTAI_BAWAH) {
lantaiSkrg--;
System.out.println(lantaiSkrg);
} else {
System.out.println("Sudah mencapai lantai bawah");
}
} else {
System.out.println("Pintu masih terbuka");
}
}
public void setLantai(int tujuan) {
if ((tujuan >= LANTAI_BAWAH)&&(tujuan <= LANTAI_ATAS)) {
while (lantaiSkrg != tujuan){
if (lantaiSkrg < tujuan) {
naik();
} else {
turun();
}
}
} else {
System.out.println("Lantai Salah");
}
}
public int getLantai() {
return lantaiSkrg;
}
public boolean getStatusPintu() {
return bukaPintu;
}
}

public class PrivateElevator2Test {


public static void main(String args[]){
PrivateElevator2 privElevator = new PrivateElevator2();
privElevator.buka();
privElevator.tutup();
privElevator.turun();
privElevator.naik();
privElevator.naik();
privElevator.buka();
privElevator.tutup();
privElevator.turun();
privElevator.buka();
privElevator.turun();
privElevator.tutup();
privElevator.turun();
privElevator.turun();
int lantai = privElevator.getLantai();
if (lantai != 5 && !privElevator.getStatusPintu()) {
privElevator.setLantai(5);
}
privElevator.setLantai(10);
privElevator.buka();
}
}
Hasil Praktikum:
Praktikum 5 Menampilkan Abstract Class:

public abstract class LivingThing {


public void breath(){
System.out.println("Living Thing breathing..."); }
public void eat(){
System.out.println("Living Thing eating..."); }
/**
* abstract method walk
* Kita ingin method ini di-overridden oleh subclasses
*/
public abstract void walk();
}

public class Human extends LivingThing{


public void walk(){
System.out.println("Human walks...");
}
}

Hasil Praktikum:
Praktikum 6 Interface:

public class Line {


private double x1;
private double x2;
private double y1;
private double y2;
public Line(double x1, double x2, double y1, double y2){
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;
}
public double getLength(){
double length = Math.sqrt((x2-x1)*(x2-x1) +
(y2-y1)* (y2-y1));
return length;
}
public boolean isGreater( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen > bLen);
}
public boolean isLess( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen < bLen);
}
public boolean isEqual( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen == bLen);
}
}

public interface Relation {


public boolean isGreater( Object a, Object b);
public boolean isLess( Object a, Object b);
public boolean isEqual( Object a, Object b);
}

Hasil Praktikum:

Anda mungkin juga menyukai