Menulis Class
14.7. Menulis Class
Sebelum menulis class, langkah nama yang tepat dan tuliskan seluruh pertama pertimbangkan dimana letak
informasi atau properti yang ingin kita atau programer akan menggunakan isi pada class. Jangan sampai terlupa class dan bagaimana class tersebut
untuk menuliskan secara urut method akan digunakan. Pertimbangkan pula
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Class
yang akan Kita gunakan dalam class. record dari siswa. Jika kita telah Dalam pendefinisian class, dituliskan:
mengidentifikasikan tujuan dari pembuatan class, maka dapat
<modifier> class <name> { dilakukan emberian nama yang <attributeDeclaration>* sesuai. Nama yang tepat pada class <constructorDeclaration>* ini adalah StudentRecord. Untuk <methodDeclaration>* mendefinisikan class, kita tuliskan :
} public class StudentRecord
dimana: <modifier> adalah sebuah { access modifier, yang dapat //area penulisan kode dikombinasikan dengan tipe modifier
selanjutnya
lain.
Pada bagian ini, kita akan membuat sebuah class yang berisi
Dimana,
Public Class ini dapat diakses dari luar package Class Keyword yang digunakan untuk pembuatan class (Java) StudentRecord Identifier yang menjelaskan class
Dalam pendeklarasian at ribut ,
‐ double kit a t uliskan :
math grade
english grade
‐ double
‐ double <modifier> <type> <name> [=
science grade
average grade
‐ double
<default_value>];
Kita dapat menambahkan Langkah selanjutnya adalah informasi lain jika diperlukan. Jika kita mengurutkan atribut yang akan telah menuliskan seluruh atribut yang diisikan pada class. Untuk setiap akan diisikan pada class, selanjutnya informasi, urutkan juga tipe data yang
kita akan menuliskannya pada kode. yang tepat untuk digunakan. Jika kita menginginkan bahwa atribut Contohnya, Kita tidak mungkin – atribut tersebut adalah unik untuk menginginkan untuk menggunakan setiap object (dalam hal ini untuk tipe data integer untuk nama siswa, setiap siswa), maka kita harus atau tipe data string pada nilai siswa.
mendeklarasikannya sebagai Berikut ini adalah contoh informasi instance variable. Perhatikan contoh yang akan diisikan pada class
dibawah ini:
StudentRecord :
public class StudentRecord
name ‐ String
address ‐ String
private String name;
age ‐ Int
private String address;
Direktorat Pembinaan SMK | 2008
Class Bahasa Pemrorgraman
private int age;
private double mathGrade; private String name; private double englishGrade;
private String address; private double scienceGrade;
private int age;
private double average;
private double mathGrade; private double englishGrade;
disini menjelaskan private double scienceGrade; bahwa variabel tersebut hanya dapat
private
private double average; diakses oleh class itu sendiri. Object
private static int studentCount; lain tidak dapat menggunakan //area penulisan kode
variabel tersebut secara langsung. selanjutnya Kita akan membahas tentang } kemampuan akses pada pembahasan selanjutnya. Disamping
Sebelum kita membahas method instance variable, kita juga dapat apa yang akan dipakai pada class,
mendeklarasikan class variable atau mari kita erhatikan penulisan method variabel yang dimiliki class secara umum. Dalam pendeklarasian sepenuhnya. Nilai pada variabel ini method, kita tuliskan : sama pada semua object di class
yang sama. <modifier> <returnType> Anggaplah kita menginginkan <name>(<parameter>*) {
jumlah dari siswa yang dimiliki dari <statement>* seluruh class, kita dapat
mendeklarasikan satu static variable } yang akan menampung nilai tersebut. Kita beri nama variabel tersebut dimana, dengan nama studentCount. Berikut <modifier> dapat menggunakan
penulisan static variable: beberapa modifier yang berbeda
<returnType> dapat berupa seluruh tipe public class StudentRecord
data, termasuk void { <name> identifier atas class
<parameter> ::= <tipe_parameter> //area deklarasi instance variables
<nama_parameter>[,]
private static int studentCount;
//area penulisan kode selanjutnya Untuk mengimplementasikan } enkapsulasi, kita tidak menginginkan
sembarang object dapat mengakses Kita gunakan keyword : ’static’ untuk
data kapan saja. Untuk itu, kita mendeklarasikan bahwa variabel
deklarasikan atribut dari class tersebut adalah static. Maka
sebagai private. Namun, ada kalanya keseluruhan kode yang dibuat terlihat
dimana kita menginginkan object lain sebagai berikut :
untuk dapat mengakses data private. Dalam hal ini kita gunakan accessor
public class StudentRecord methods.
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Class
Accessor Methods digunakan bahwa return type dari method harus untuk membaca nilai variabel pada sama dengan tipe data seperti data class, baik berupa instance maupun
pada pernyataan return. Kita akan static. Sebuah accessor method mendapatkan pesan kesalahan umumnya dimulai dengan penulisan sebagai berikut bila tipe data yang get<namaInstanceVariable>.
digunakan tidak sama : Method ini juga mempunyai sebuah
return value. Sebagai contoh, kita StudentRecord.java:14: incompatible
ingin menggunakan accessor method
types
untuk dapat membaca nama, alamat,
found : int
nilai bahasa Inggris, Matematika, dan required: java.lang.String
ilmu pasti dari siswa. Perhatikan return age; salah satu contoh implementasi ^
accessor method.
1 error
public class StudentRecord Contoh lain dari penggunaan
{ accessor method adalah getAverage, private String name;
: public class StudentRecord : {
public String getName(){ private String name; return name;
} public double getAverage(){ double result = 0; dimana,
= ( public ‐ Menjelaskan bahwa method
result
mathGrade+englishGrade+scienceGrade tersebut dapat diakses dari object luar
class
return result;
String ‐ Tipe data return value dari
method tersebut bertipe String
getName ‐ Nama dari method
() ‐ Menjelaskan bahwa method tidak
Method
getAverage()
memiliki parameter apapun menghitung rata – rata dari 3 nilai siswa dan menghasilkan nilai return
value dengan nama result. Pernyataan berikut,
Bagaimana jika kita menghendaki object lain untuk mengubah data?
return name; Yang dapat kita lakukan adalah membuat method yang dapat
dalam program kita menkitakan memberi atau mengubah nilai akan ada pengembalian nilai dari variable dalam class, baik itu berupa nama instance variable ke instance maupun static. pemanggilan method. Perhatikan
Direktorat Pembinaan SMK | 2008
Class Bahasa Pemrorgraman
Method semacam ini disebut value. Sebagai contoh, perhatikan dengan mutator methods. Sebuah method berikut ini: mutator method umumnya tertulis set<namaInstanceVariabel>. Mari public String getNumberInWords( int kita perhatikan salah satu dari num ){ implementasi mutator method :
String defaultNum = "zero"; if( num == 1 ){
public class StudentRecord
return "one";
private String name; else if( num == 2){
: return "two";
public void setName( String return defaultNum; temp ){
name = temp; Kita menggunakan static method } untuk mengakses static variable } studentCount.
dimana, public class StudentRecord public ‐ Menjelaskan bahwa method ini
dapat dipanggil object luar class private static int studentCount; void ‐ Method ini tidak menghasilkan
public static int return value
getStudentCount(){
setName ‐ Nama dari method return studentCount; (String temp) ‐ Parameter yang akan
digunakan pada method
Pernyataan berikut :
dimana, public ‐ Menjelaskan bahwa method ini
name = temp; dapat diakses dari object luar class static ‐ Method ini adalah static dan
mengidentifikasi nilai dari temp pemanggilannya menggunakan sama dengan name dan mengubah [namaclass].[namaMethod]. data pada instance variable name. misalnya:studentRecord.getStudentCoun Perlu diingat bahwa mutator methods
tidak menghasilkan return value. Int ‐ Tipe return dari method. Namun berisi beberapa argumen dari program yang akan digunakan oleh Mengindikasikan method tersebut harus
method. Kita dapat mempunyai mempunyai return value berupa integer banyak return values pada sebuah public ‐ Menjelaskan bahwa method ini method selama mereka tidak pada dapat diakses dari object luar class blok program yang sama. Kita juga getStudentCount ‐ Nama dari method dapat menggunakan konstanta () ‐ Method ini tidak memiliki parameter disamping variabel sebagai return apapun
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Class
Kita akan membahas pengubahan Pada deklarasi di atas, method nilai dari studentCount pada getStudentCount() akan selalu pembahasan constructor. Berikut ini menghasilkan return value 0 jika kita
adalah kode untuk class tidak mengubah apapun pada kode StudentRecord : program untuk mengatur nilainya.
Program 14.13 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; /** * 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, * * Ilmu
Pasti */ public double getAverage(){
double result = 0; result = ( mathGrade+englishGrade+scienceGrade )/3; return result;
} /** * Menghasilkan jumlah instance StudentRecord */
Direktorat Pembinaan SMK | 2008
Class Bahasa Pemrorgraman
public static int getStudentCount(){ return studentCount; } }