membuat class
DESCRIPTION
dokumen ini menjelaskan cara membuat class pada bahasa pemrograman javaTRANSCRIPT
LAPORAN AKHIRPRAKTIKUM PEMROGRAMAN OBJEK DASAR
MODUL 8MEMBUAT KELAS
NAMA : ANDRI ARIYANTO
NIM : 3411 14 1 137
PROGRAM STUDI INFORMATIKAFAKULTAS MATEMATIKAN DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JENDERAL ACHMAD YANITAHUN AJARAN 2015
BAB 1
HASIL PRAKTIKUM
1. Program VIII-1 StudentRecord.java
a. Source Code
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 String getName(){return name;
}public void setName(String temp){
name = temp;}public double getAverage(){
double result = 0;result = (mathGrade + englishGrade +
scienceGrade)/3;return result;
}public static int getStudentCount(){
return studentCount;}
}b. Hasil Program
c. Analisa Program
Program VIII-1 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Program ini memiliki beberapa atribut
yang memiliki access modifier private dan satu atribut bersifat static serta
terdapat beberapa method diantaranya adalah method set dan get.
2. Program VIII-2 StudentRecordExample.java
a. Source Code
public class StudentRecordExample{ public static void main(String[] args){
StudentRecord nanaRecord = new StudentRecord();StudentRecord neneRecord = new StudentRecord();StudentRecord nunuRecord = new StudentRecord();
nanaRecord.setName("Nana");neneRecord.setName("Nene");nunuRecord.setName("Nunu");
System.out.println(nanaRecord.getName());System.out.println(neneRecord.getName());System.out.println(nunuRecord.getName());
System.out.println("Count = " +StudentRecord.getStudentCount()); }}
b. Hasil Program
c. Analisa Program
Program VIII-2 merupakan realisasi dari program VIII-1 yang merupakan
program tanpa main method. Pada program ini atribut-atribut pada program VIII-
1 di-set dan di-get untuk ditampilkan sebagai output termasuk atribut static.
d. Tugas
1) Tambahkan code untuk 2 siswa lainnya! (Sudah dikerjakan diatas)
2) Buat konstruktor untuk program VIII-1. Isi konstruktor adalah counter agar
mengetahui berapa jumlah objek yang telah terbentuk. Buat 4 konstruktor
dengan parameter masukan berbeda!
Jawab
Konstruktor 1
Source Code :
public StudentRecord(){studentCount++;
}Hasil Program :
Analisa Program :
Setelah ditambahkan konstruktor 1 pada program VIII-1, output progarm
VIII-2 menghasilkan Count = 3 dikarenakan terjadi 3 kali pembuatan
object.
Konstruktor 2
Source Code :
public StudentRecord(String temp){
this.name = temp;
studentCount++;
}
Hasil Program :
Analisa Program :
Setelah ditambahkan konstruktor 2 pada program VIII-1, ketika
melakukan instansiation, user bisa langsung memberikan nama dengan
memasukan string pada saat instansiation dan studentCount akan terus
bertambah sebanyak object StudentRecord dibuat.
Konstruktor 3
Source Code :
public StudentRecord(String name, String address){
this.name = name;
this.address = address;
studentCount++;
}
Hasil Program :
Analisa Program :
Setelah ditambahkan konstruktor 3 serta menambahkan method get untuk
address pada program VIII-1, ketika melakukan instansiation, user bisa
langsung memberikan nama dan alamat dengan memasukan string pada
saat instansiation dan studentCount akan terus bertambah sebanyak
object StudentRecord dibuat.
Konstruktor 4
Source Code :
public StudentRecord(double mGrade, double eGrade,
double sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
studentCount++;
}
Hasil Program :
Analisa Program :
Setelah ditambahkan konstruktor 4 pada program VIII-1, ketika
melakukan instansiation, user bisa langsung memberikan nilai mGrade,
eGrade dan sGrade dengan memasukan nilainya pada saat instansiation
dan studentCount akan terus bertambah sebanyak object StudentRecord
dibuat.
3. Program VIII-3 StudentRecord2.java
a. Source Code
public class StudentRecord2{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;//KONSTRUKTORpublic StudentRecord2(){
studentCount++;}public StudentRecord2(String temp){
this.name = temp;studentCount++;
}public StudentRecord2(String name, String address){
this.name = name;this.address = address;studentCount++;
}public StudentRecord2(double mGrade, double eGrade,
double sGrade){mathGrade = mGrade;englishGrade = eGrade;scienceGrade = sGrade;studentCount++;
}//SETTER GETTER NAMEpublic String getName(){
return name;
}public void setName(String temp){
name = temp;}//SETER GETER ADDRESSpublic void setAddress(String temp){
address = temp;}public String getAddress(){
return address;}//SETER GETER AGEpublic void setAge(int temp){
age = temp;}public double getAge(){
return age;}//SETER GETER studypublic void setMathGrade(double temp){
mathGrade = temp;}public double getMathGrade(){
return mathGrade;}public void setScienceGrade(double temp){
scienceGrade = temp;}public double getScienceGrade(){
return scienceGrade;}public void setEnglishGrade(double temp){
englishGrade = temp;}public double getEnglishGrade(){
return englishGrade;}//Hitung Rataratapublic double getAverage(){
double result = 0;result = (mathGrade + englishGrade + scienceGrade)/3;return result;
}public static int getStudentCount(){
return studentCount;}//cetakpublic void print(String temp){
System.out.println("Name : "+name);System.out.println("Address : "+address);System.out.println("Age : "+age);
}public void print(double mGrade, double eGrade, 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);
}}
b. Hasil Program
c. Analisa Program
Program VIII-3 merupakan penyempurnaan dari program VIII-1. Program ini
tidak memiliki main method sehingga tidak dapat dieksekusi secara langsung.
Program ini memiliki atribut-atribut serta method-method yang dapat digunakan
diprogram lain yang memiliki main method.
4. Program VIII-4 StudentRecord2Example.java
a. Source Code
public class StudentRecord2Example{public static void main(String[] args){
StudentRecord2 nanaRecord = new StudentRecord2();StudentRecord2 neneRecord = new StudentRecord2();StudentRecord2 nunuRecord = new StudentRecord2();
StudentRecord2 recordNana = new StudentRecord2("Baba");
StudentRecord2 recordNene = new StudentRecord2("Bebe", "Paris");
StudentRecord2 recordNunu = new StudentRecord2(75,85,95);
//memberi nama siswananaRecord.setName("Nana");neneRecord.setName("Nene");nunuRecord.setName("Nunu");// menampilkan nama siswaSystem.out.println(nanaRecord.getName());System.out.println(neneRecord.getName());System.out.println(nunuRecord.getName());//menampilkan jumlah siswaSystem.out.println("Count = "
+StudentRecord2.getStudentCount());
StudentRecord2 nana2Record = new StudentRecord2();nana2Record.setName("Nana");nana2Record.setAddress("Asia Timur");nana2Record.setAge(17);nana2Record.setMathGrade(90);nana2Record.setEnglishGrade(70.5);nana2Record.setScienceGrade(100);
//overload method
nana2Record.print(nana2Record.getName());nana2Record.print(nana2Record.getEnglishGrade(),
nana2Record.getMathGrade(), nana2Record.getScienceGrade());recordNana.print(recordNana.getName());
}}
b. Hasil Program
c. Analisa Program
Program VIII-4 merupakan realisasi dari program VIII-3 yang merupakan
program tanpa main method. Pada program ini program VIII-3 dipanggil dan
dijadikan beberapa object. Atribut-atribut serta method yang ada pada program
VIII-3 digunakan dengan melakukan set dan get.
5. Program VIII-5 StudentRecord3.java
a. Source Code
package schoolClasses;public class StudentRecord3{
private String name;private String address;private int age;
}b. Hasil Program
c. Analisa Program
Program VIII-5 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Pada program ini terdapat pembuatan
package sehingga tidak dapat dipanggil atau digunakan oleh program lain secara
langsung. Program ini dapat dipanggil atau digunakan oleh program lain dengan
menggunakan import terlebih dahulu. Pada program ini terdapat atribut-atribut
yang memiliki access modifier bersifat private.
6. Program VIII-6 PublicElevator.java
a. Source Code
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;
}b. Hasil Program
c. Analisa Program
Program VIII-6 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Pada program ini terdapat atribut-atribut
yang memiliki access modifier bersifat public serta terdapat beberapa yang
bersifat final.
7. Program VIII-7 PublicElevatorTest.java
a. Source Code
public class PublicElevatorTest{public static void main(String[] args){
PublicElevator pubElevator = new PublicElevator();pubElevator.bukaPintu = true; // pintu terbukapubElevator.bukaPintu = false;
pubElevator.lantaiSkrg--;pubElevator.lantaiSkrg++;
//lompat kelantai 7pubElevator.lantaiSkrg = 7;pubElevator.bukaPintu =true;pubElevator.bukaPintu = false;pubElevator.lantaiSkrg = 1; // menuju lantai 1pubElevator.bukaPintu = true;pubElevator.lantaiSkrg++;pubElevator.bukaPintu = false;pubElevator.lantaiSkrg--;pubElevator.lantaiSkrg--;
}}
b. Hasil Program
c. Analisa Program
Program VIII-7 merupakan realisasi dari program VIII-6 yang merupakan
program tanpa main method. Pada program ini beberapa atribut pada program
VIII-6 dipanggil dan digunakan. Pada program ini tidak memiliki output
dikarenakan pada program ini tidak terdapat fungsi untuk menampilkan hasil ke
layar.
8. Program VIII-8 PrivateElevator.java
a. Source Code
public class PrivateElevator{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;
}b. Hasil Program
c. Analisa Program
Program VIII-8 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Pada program ini terdapat atribut-atribut
yang memiliki access modifier bersifat private serta terdapat beberapa yang
bersifat final.
9. Program VIII-9 PrivateElevatorTest.java
a. Source Code
public class PrivateElevatorTest{public static void main(String[] args){
PrivateElevator privElevator = new PrivateElevator();privElevator.bukaPintu = true; // pintu terbukaprivElevator.bukaPintu = false;
privElevator.lantaiSkrg--;privElevator.lantaiSkrg++;
//lompat kelantai 7privElevator.lantaiSkrg = 7;privElevator.bukaPintu =true;privElevator.bukaPintu = false;privElevator.lantaiSkrg = 1; // menuju lantai 1privElevator.bukaPintu = true;privElevator.lantaiSkrg++;privElevator.bukaPintu = false;privElevator.lantaiSkrg--;privElevator.lantaiSkrg--;
}}
b. Hasil Program
c. Analisa Program
Pogram VIII-9 merupakan raelisasi dari program VIII-8 yang merupakan
program tanpa main method. Pada program ini beberapa atribut dipanggil dan
digunakan seperti halnya atribut yang memiliki access modifier bersifat public,
akan tetapi terjadi error dikarenakan atribut yang memiliki access modifier
private tidak dapat langsung digunakan diprogram lain.
10. Program VIII-10 PrivateShirt.java
a. Source Code
public class PrivateShirt{private int idBaju = 0;private String keterangan = "-Keterangan dibutuhkan-";// kode warna R : merah, G : hijau, B : biru, U :
tidak ditentukanprivate char kodeWarna = 'U';private double harga = 0.0;private int jmlStok = 0;
public void setKodeWarna(char kode){kodeWarna = kode;
}public char getKodeWarna(){
return kodeWarna;}
}b. Hasil Program
c. Analisa Program
Program VIII-10 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Pada program ini terdapat atribut-atribut
yang memiliki access modifier bersifat private serta terdapat beberapa method
yang dapat digunakan pada program lain yang memiliki main method.
11. Program VIII-11 PrivateShirtTest.java
a. Source Code
public class PrivateShirtTest{public static void main(String[] args){
PrivateShirt privShirt = new PrivateShirt();char kodeWarna;//mengisi kodewarna yang benarprivShirt.setKodeWarna('R');kodeWarna=privShirt.getKodeWarna();System.out.println("Kode Warna = "+kodeWarna);//mengisi kode warna yang salahprivShirt.setKodeWarna('Z');kodeWarna=privShirt.getKodeWarna();System.out.println("Kode Warna = "+kodeWarna);
}}
b. Hasil Program
c. Analisa Program
Program VIII-11 merupakan realisasi dari program VIII-10 yang merupakan
program tanpa main method. Pada program ini dilakukan set untuk merubah nilai
atribut yang bersifat private serta melakukan get untuk mendapatkan atau
mengambil nilai atribut yang bersifat private untuk ditampilkan ke layar.
12. Program VIII-12 PrivateShirt2.java
a. Source Code
public class PrivateShirt2{private int idBaju = 0;private String keterangan = "-Keterangan dibutuhkan-";// kode warna R : merah, G : hijau, B : biru, U : tidak
ditentukanprivate char kodeWarna = 'U';private double harga = 0.0;private int jmlStok = 0;
public void setKodeWarna(char kode){switch(kode){
case 'R' :case 'G' : case 'B' :
kodeWarna = kode;break;
default :System.out.println("Kode Warna Salah!
Gunakan R, G, B");}
}
public char getKodeWarna(){return kodeWarna;
}}
b. Hasil Program
c. Analisa Program
Program VIII-12 merupakan program yang tidak memiliki main method sehingga
tidak dapat dieksekusi secara langsung. Pada program ini terdapat atribut-atribut
yang memiliki access modifier bersifat private serta terdapat method set yang
berupa percabangan dan method get yang dapat digunakan pada program lain yang
memiliki main method .
13. Program VIII-13 PrivateShirt2Test.java
a. Source Code
public class PrivateShirt2Test{public static void main(String[] args){
PrivateShirt2 privShirt = new PrivateShirt2();char kodeWarna;//mengisi kodewarna yang benarprivShirt.setKodeWarna('R');kodeWarna=privShirt.getKodeWarna();System.out.println("Kode Warna = "+kodeWarna);//mengisi kode warna yang salahprivShirt.setKodeWarna('Z');kodeWarna=privShirt.getKodeWarna();System.out.println("Kode Warna = "+kodeWarna);
}}
b. Hasil Program
c. Analisa Program
Program VIII-13 merupakan realisasi dari program VIII-12 yang merupakan
program tanpa main method. Pada program ini atribut pada program VIII-12 di-
set dua kali yaitu ‘R’ dan ‘Z’. Ketika atribut di-set menjadi ‘Z’, proses
percabangan menampilkan pesan kesalahan ke layar dikarenakan ‘Z’ tidak
dikenali pada proses percabangan tersebut sehingga ketika dilakukan get char
yang tersimpan adalah ‘R’.
BAB 2
TUGAS AKHIR
Buat kelas yang berisi data buku telepon
Atribute Description
Name Complete name
Address Complete address
Telephone number Personal number
Email Personal Email
Dan Buat konstruktor dari kelas tersebut! Alokasikan untuk method aksesor dan
mutator kepada seluruh atribut!
a. Source Code
Class
public class BukuTelepon{
private String nama;
private String alamat;
private String noTelp;
private String email;
private static int Counter;
//konstruktor
public BukuTelepon(){
Counter++;
}
//method
public void setNama(String temp){
nama = temp;
}
public String getNama(){
return nama;
}
public void setAlamat(String temp){
alamat = temp;
}
public String getAlamat(){
return alamat;
}
public void setNoTelp(String temp){
noTelp = temp;
}
public String getNoTelp(){
return noTelp;
}
public void setEmail(String temp){
email = temp;
}
public String getEmail(){
return email;
}
public int getCounter(){
return Counter;
}
}
Main Method
public class BukuTeleponTest{
public static void main(String[] args){
BukuTelepon bt = new BukuTelepon();
bt.setNama("Andri Ariyanto");
bt.setAlamat("Karawang");
bt.setNoTelp("08999217150");
bt.setEmail("[email protected]");
System.out.println("Nama :
"+bt.getNama());
System.out.println("Alamat :
"+bt.getAlamat());
System.out.println("NoTelp :
"+bt.getNoTelp());
System.out.println("Email :
"+bt.getEmail());
System.out.println("Count :
"+bt.getCounter());
}
}
b. Hasil program
c. Analisa program
Program ini merupakan program untuk mencatat dan menampilkan data
buku telepon yang berupa atribut-atribut dengan access modifier bersifat
private pada program BukuTelepon yang di-set dan di-get oleh progarm
BukuTeleponTest untuk ditampilkan ke layar.
BAB 3
KESIMPULAN
Modul ini mempelajari mengenai pembuatan class, access modifier, constructor,
dan method setter-getter. Didalam sebuah class akan terdapat variabel dan method,
diantaranya instance variable, instance method, static variable dan static method. Instance
variable dan instance method merupakan komponen yang dimiliki masing-masing objek.
Sedangkan class variable dan class method merupakan komponen yang dimiliki class
yang dapat diakses oleh class maupun object. Tiap variable dan method memiliki access
modifier masing-masing, seperti public, private, protected, dan default.
Variable dan method dapat diakses berdasarkan access modifier. Jika bersifat
Public maka variable dan method tersebut dapat diakses dari kelas manapun. Sedangkan
jika bersifat private maka variable tersebut tidak dapat diakses oleh kelas lain, sehingga
harus menggunakan method setter dan getter yang bersifat public agar dapat diakses oleh
kelas lain.
Konstruktor merupak sebuah method yang namanya sama dengan nama class
tersebut. Penamaan beberapa method dalam suatu kelas diperbolehkan sama dengan
syarat tipe atau jumlah parameter yang dilewatkan berbeda. Meskipun nama method
tersebut sama, tetapi jumlah/tipe parameter berbeda, maka method tersebut akan dianggap
sebagai method yang berbeda.
DAFTAR PUSTAKA
Yuniarti Rezki,.Modul Pratikum Pemrograman Objek Dasar. Informatika
Fakultas MIPA-UNJANI,Cimahi.