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]);
}
}
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 :
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 :
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;
}
/*************************************************
* Baris kode dibawah ini tidak akan di-compile *
* karena berusaha untuk mengakses variabel *
* private *
* ***************************************/
privElevator.bukaPintu = true;
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
Hasil Praktikum:
1Praktikum 9 Method Accessor dan Method Mutator:
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;
}
}
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");
}
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;
}
}
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
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,
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;
}
}
Hasil Praktikum:
Praktikum 2 Superclass dan Subclass :
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 :
Hasil Praktikum:
Praktikum 4 Enkapsulasi:
Hasil Praktikum:
Praktikum 6 Interface:
Hasil Praktikum: