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