Membuat Class

23
LAPORAN AKHIR PRAKTIKUM PEMROGRAMAN OBJEK DASAR MODUL 8 MEMBUAT KELAS NAMA : ANDRI ARIYANTO NIM : 3411 14 1 137 PROGRAM STUDI INFORMATIKA FAKULTAS MATEMATIKAN DAN ILMU PENGETAHUAN ALAM

description

dokumen ini menjelaskan cara membuat class pada bahasa pemrograman java

Transcript of Membuat Class

Page 1: Membuat Class

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

Page 2: Membuat Class

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();

Page 3: Membuat Class

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 :

Page 4: Membuat Class

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;

Page 5: Membuat Class

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;

Page 6: Membuat Class

}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);

Page 7: Membuat Class

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

Page 8: Membuat Class

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;

Page 9: Membuat Class

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

Page 10: Membuat Class

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

Page 11: Membuat Class

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.

Page 12: Membuat Class

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");}

}

Page 13: Membuat Class

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’.

Page 14: Membuat Class

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;

}

Page 15: Membuat Class

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());

}

}

Page 16: Membuat Class

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.

Page 17: Membuat Class

DAFTAR PUSTAKA

Yuniarti Rezki,.Modul Pratikum Pemrograman Objek Dasar. Informatika

Fakultas MIPA-UNJANI,Cimahi.