Anda di halaman 1dari 30

Modul Bahasa Pemrograman 1

Revisi 1

Penulis
Muh. Sadly Said, S.Kom

Sekolah Tinggi Manajemen Informatika Komputer


Catur Sakti
Kendari
Daftar Isi
1. Pengenalan Program Java 2
1.1 Instalasi dan Konfigurasi JDK . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Program Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Penggunaan Argumen Program . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Konsep Pemrograman Berorientasi Objek 7


2.1 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. Dasar Bahasa Pemrograman Java 13


3.1 Variabel dan Tipe Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1 Penugasan, Aritmatika, Operator Unary . . . . . . . . . . . . . . . 17
3.3 Control Flow Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.1 Pengkondisian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.2 Perulangan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4. Class dan Objek 22


4.1 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1 Deklarasi Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.2 Deklarasi Variabel Dan Metode . . . . . . . . . . . . . . . . . . . 22
4.1.3 Akses Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.1 Pembentukan Objek . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.2 Penggunaan Objek . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1
1. Pengenalan Program Java
1.1 Instalasi dan Konfigurasi JDK
Java Development Kit atau JDK adalah kumpulan dari tools dan library yang akan banyak
digunakan dalam pemrograman java. Software ini bisa didapatkan secara gratis dari http:
//java.sun.com. Dalam submodul ini akan dijelaskan tahap-tahap instalasi dan konfig-
urasi dari JDK.

1. Download JDK untuk windows dari alamat website yang tertera diatas

2. Install JDK seperti biasa, dengan mengklik dua kali file yang telah didownload se-
belumnya

3. Proses instalasi akan membentuk direktori

C:\Program Files\java\jdk1.6.0_24

Sesuaikan dengan direktori sistem anda (gunakan Windows Explorer untuk memerik-
sa). Direktori ini selanjutnya akan disebut sebagai JAVA_HOME

Gambar 1: Direktori JDK

4. Langkah selanjutnya, kita akan memodifikasi variabel dari sistem. Klik kanan icon
My Computer dan klik menu Properties

Gambar 2: My Computer

5. Pada jendela System Properties, klik tab Advanced, dan klik tombol Environment
Variables

2
Gambar 3: Jendela System Properties

6. Selanjutnya, pada jendela Environment Variables kita akan membuat satu variabel
sistem baru (pada System Variables) dengan mengklik tombol New

Gambar 4: Jendela Environment Variables

3
7. Masukkan JAVA_HOME pada variable name, dan direktori dari JAVA_HOME pada vari-
able value dan klik tombol OK

Gambar 5: Jendela New System Variable

8. Tahap selanjutnya kita akan memasukkan direktori bin dari JAVA_HOME kedalam
variabel PATH dari sistem. Kembali ke jendela Environment Variables, klik variabel
PATH dan klik tombol Edit

Gambar 6: Jendela New System Variable

9. Pada jendela Edit System Variable, arahkan cursor ke penghujung dari variable value,
dan ketikkan ;%JAVA_HOME%\bin

Gambar 7: Jendela New System Variable

10. Selanjutnya, klik tombol OK pada seluruh jendela

11. Terakhir, untuk menguji konfigurasi diatas, jalankan aplikasi Command Prompt pada
menu Accessories, dan ketikkan perintah javac -version

4
Gambar 8: Jendela Command Prompt

1.2 Program Hello World


Program berikut akan menampilkan text ”Hello World” pada layar command prompt. Ikuti
langkah-langkah berikut ini :

1. Buatlah susunan folder NoStambuk\NoLatihan pada direktori yang dapat dijangkau


(tidak direkomendasikan pada direktori My Document), contoh C:\0412027\1

2. Jalankan aplikasi Notepad (atau text editor lainnya), kemudian ketikkan source code
program berikut :

/* File Name : HelloWorld.java


Author : NamaAnda */
class HelloWorld {
public static void main(String[] args) {
// Tampilkan text
System.out.println("Hello World");
}
}

3. Simpan source code program diatas dengan nama HelloWorld.java pada direktori
yang telah dibuat sebelumnya

4. Jalankan aplikasi Command Prompt (dari menu Accessories) dan pindah ke direktori
yang telah dibuat sebelumnya

5. Lakukan kompilasi terhadap source code HelloWorld.java dengan menggunakan tools


javac

javac HelloWorld.java

6. Jika proses kompilasi tidak memperlihatkan pesan error, dalam folder anda akan ter-
bentuk file HelloWorld.class, yang selanjutnya dapat dieksekusi dengan menggu-
nakan perintah :

5
java HelloWorld

1.3 Penggunaan Argumen Program


Pada latihan berikut, kita akan mencoba memanfaatkan argumen args dalam metode main,
sebagai parameter input dari pengguna.

1. Buat folder baru (2) pada folder stambuk anda

2. Jalankan aplikasi text editor, dan ketikkan source code program berikut

/* File Name : HelloNama.java


Author : NamaAnda */
class HelloNama {
public static void main(String[] args) {
String nama = args[0];
String namaTeman = args[1];
System.out.println("Hello " + nama);
System.out.println("Teman Anda " + namaTeman);
}
}

3. Simpan dengan nama HelloNama.java pada folder yang baru anda buat

4. Melalui Command Prompt, lakukan kompilasi seperti pada latihan 1

5. eksekusi program tersebut dengan menggunakan perintah

java HelloNama NamaAnda NamaTemanAnda

6
2. Konsep Pemrograman Berorientasi Objek
Dalam modul ini, kita akan belajar mengimplementasikan konsep OOP dalam bahasa pem-
rograman java.

2.1 Class
Class dapat disebut sebagai cetak biru (blueprint) atau prototype dari sebuah objek. Berikut
ini adalah contoh deklarasi class sederhana

[modifier] class NamaClass {

/* variabel */
[modifier] TipeData identifier1;
[modifier] TipeData identifier2;

/* konstruktor */
public NamaClass() {

/* metode */
[modifier] void metode1 {
/* proses */
}

[modifier] TipeData metode2 {


/* proses */
return NilaiKembali
}

Sebagai contoh latihan kita akan membuat sebuah class Buku, yang selanjutnya akan
digunakan pada class lainnya. ikuti langkah langkah berikut ini

1. Buatlah folder baru (3) pada folder stambuk anda

2. Ketiklah source code dibawah untuk class Buku, dan kemudian simpan dengan nama
Buku.java pada folder 3

public class Buku {

private int noBuku;


private String judulBuku;
private String namaPenulis;

public Buku() { }

public void setNoBuku(int noBuku) {


this.noBuku = noBuku;

7
}

public void setJudulBuku(String judulBuku) {


this.judulBuku = judulBuku;
}

public void setNamaPenulis(String namaPenulis) {


this.namaPenulis = namaPenulis;
}

public int getNoBuku() {


return noBuku;
}

public String getJudulBuku() {


return judulBuku;
}

public String getNamaPenulis() {


return namaPenulis;
}

3. Ketiklah source code dibawah untuk class Utama, dan kemudian simpan dengan nama
Utama.java pada folder 3

public class Utama {

public static void main(String[] args) {

/* instansiasi objek dari class buku */


Buku buku = new Buku();

/* set nilai dari masing-masing atribut


pada objek buku */
buku.setNoBuku(1);
buku.setJudulBuku("Bahasa Pemrograman Java");
buku.setNamaPenulis("Abdul Kadir");

/* ambil dan tampilkan masing-masing


nilai dari atribut buku */
System.out.println("No Buku : " +
buku.getNoBuku());
System.out.println("Judul Buku : " +
buku.getJudulBuku());
System.out.println("Nama Penulis : " +
buku.getNamaPenulis());
}

4. Compile kedua source code diatas, dengan menggunakan perintah :

8
javac *.java

5. Eksekusi class Utama dengan menggunakan perintah :

java Utama

2.2 Inheritance
Inheritance atau pewarisan dalam konsep OOP adalah kemampuan suatu class untuk mewariskan
sebagian atau keseluruhan sifat-sifat yang dimilikinya kepada class lain. Sebagai per-
misalan, dalam contoh nyata, Buku dapat menjadi superclass dari Majalah, Komik, dan
lain sebagainya. Implementasi pewarisan dalam java dapat dicapai dengan menggunakan
keyword extends.

[modifier] class NamaClass extends NamaSuperClass {


...
}

Sebagai contoh latihan, kita akan mengembangkan program pada sub-modul sebelum-
nya

1. Buatlah satu folder baru (4) pada folder stambuk anda

2. Copy file source code Buku.java dari folder 3 kedalam folder 4

3. Ketikkan source code tipe data enum dibawah ini, dan simpan dengan nama Kategori.java.
(Penjelasan tentang tipe data enum akan dibahas pada submodul lain)

public enum Kategori { Hardware, Software, Programming }

4. Buatlah sebuah class baru dengan nama BukuIT, yang akan menjadi class turunan
dari class Buku

public class BukuIT extends Buku {

private Kategori kategori;

public BukuIT() {

public void setKategori(Kategori kategori) {


this.kategori = kategori;

9
}

public Kategori getKategori() {


return kategori;
}

5. Selanjutnya, buatlah class baru dengan nama Main.java, yang akan menjadi class
utama dalam program

public class Main {

public static void main(String[] args) {

BukuIT bukuIT = new BukuIT();

/* set nilai dari masing-masing atribut


pada objek buku */
bukuIT.setKategori(Kategori.Programming);
bukuIT.setNoBuku(1);
bukuIT.setJudulBuku("Dasar Pemrograman Java 2");
bukuIT.setNamaPenulis("Abdul Kadir");

/* ambil dan tampilkan masing-masing


nilai dari atribut buku */
System.out.println("Kategori : " +
bukuIT.getKategori());
System.out.println("No Buku : " +
bukuIT.getNoBuku());
System.out.println("Judul Buku : " +
bukuIT.getJudulBuku());
System.out.println("Nama Penulis : " +
bukuIT.getNamaPenulis());
}

6. Compile seluruh source code dan eksekusi class utama dari program

2.3 Polymorphism
Istilah polymorphism dalam OOP merujuk pada kemampuan dari subclass untuk memi-
liki karakteristik metode yang berbeda dari superclass-nya, namun tetap memiliki fungsi
yang sama. Dalam kehidupan nyata, manusia diseluruh dunia akan memiliki bahasa yang
berbeda-beda, di indonesia kita akan mengucapkan ”Selamat Pagi”, sedangkan masyarakat
di negara barat akan mengucapkan ”Good Morning”, yang sebenarnya memiliki fungsi yang
sama, yaitu sebagai sapaan untuk orang lain di pagi hari. Berikut ini adalah contoh imple-
mentasi dari polymorphism dalam bahasa pemrograman java

10
1. Buat folder baru (5) dalam folder stambuk anda
2. Buatlah class Human, yang akan digunakan sebagai superclass

public class Human {

public void sayHello() {


System.out.println("Hello");
}

3. Selanjutnya, sebagai subclass pertama, buatlah class Indonesian. Class ini akan
menjadi class turunan dari Human

public class Indonesian extends Human {

public void sayHello() {


System.out.println("Selamat Pagi");
}

4. Sebagai subclass kedua, buatlah class American

public class American extends Human {

public void sayHello() {


System.out.println("Good Morning");
}

5. Sebagai class utama, buatlah class Main, sebagai berikut :

public class Main {

public static void main(String[] args) {


Human human = new Human();
human.sayHello();
Indonesian indonesian = new Indonesian();
indonesian.sayHello();
American american = new American();
american.sayHello();
}

11
6. Simpan keempat class diatas, kemudian compile seperti biasa, dan terakhir eksekusi
class utama

12
3. Dasar Bahasa Pemrograman Java
3.1 Variabel dan Tipe Data
Dalam pemrograman, variabel umumnya berfungsi untuk menyimpan data atau nilai di-
dalam satu alamat memori. Dalam bahasa pemrograman java, variabel dideklarasikan dalam
bentuk berikut :

[modifier] TipeData NamaVariabel [, NamaVariabel2]

Berikut ini adalah contoh penggunaan variabel :

int noBarang;
float hargaBarang;
String namaBarang;
boolean outOfStock;

Dalam bahasa pemrograman java, terdapat beberapa jenis variabel

• Instance Variable
Adalah atribut didalam sebuah class yang dideklarasikan tanpa modifier static. Ni-
lai dari variabel ini dapat berbeda-beda dalam setiap tahap instansiasi class

class Mahasiswa {
public int nim;
public String nama;
}

• Class Variable
Adalah sebuah variabel yang menggunakan modifier static, modifier ini akan mem-
beritahukan compiler bahwa variabel ini hanya satu, tidak perduli berapa kali class
tersebut diinstansiasi

class Mobil {
static int jumlahBan = 4;
}

• Local Variable
Adalah data sementara yang digunakan didalam sebuah method

13
public int hitung(int nilai1, int nilai2) {
int hasil;
hasil = nilai1 + nilai2;
return hasil
}

• Parameter
Parameter adalah variabel yang digunakan didalam sebuah method, contoh dari se-
buah parameter adalah sebagai berikut

public void sayHello(String text) { ... }


private int hitung(int Nilai1, int Nilai2) { ... }

Dalam bahasa pemrograman java terdapat 8 tipe data primitif, 4 diantaranya untuk bilangan
bulat, 2 untuk bilangan titik mengambang (floating point), karakter, dan boolean

• Bilangan Bulat

Tipe Data Ukuran Jangkauan Nilai


byte 8 bit -128 s/d 127
short 16 bit -32.768 s/d 32.767
int 32 bit -2.147.483.648 s/d 2.147.483.647
long 64 bit -9.223.372.036.854.775.808 s/d 9.223.372.036.854.775.807

Tabel 1: Tipe data bilangan bulat

• Floating Point

Tipe Data Ukuran Jangkauan Nilai


float 32 bit, presisi 6-7 digit -3.4E38 s/d +3.4E38
double 64 bit, presisi 14-15 digit -1.7E308 s/d 1.7E308

Tabel 2: Tipe data floating point

• Char
Tipe data char digunakan untuk menyatakan sebuah karakter. Dalam hal ini dapat
berupa karakter apa saja (yang tercakup dalam himpunan kode Unicode)

• Boolean
Tipe data boolean digunakan untuk menanganani keadaan logika atau keadaan den-
gan dua kemungkinan nilai. Nilai yang dapat digunakan adalah true (benar) dan false
(salah)

14
Latihan 3.a

Dalam latihan berikut, kita akan membuat sebuah program yang akan mengerjakan proses-
proses dasar matematika, yaitu penjumlahan, pengurangan, perkalian, dan pembagian.

Buatlah sebuah folder baru didalam direktori stambuk anda (5), kemudian ketikkan source
code OperasiMatematika.java berikut

public class OperasiMatematika {

private int hasil ;

public OperasiMatematika ( ) {

public int doPenjumlahan(int nilai1, int nilai2) {


hasil = nilai1 + nilai2;
return hasil;
}

public int doPengurangan(int nilai1, int nilai2) {


hasil = nilai1 - nilai2;
return hasil;
}

public int doPerkalian(int nilai1, int nilai2) {


hasil = nilai1 * nilai2;
return hasil;
}

public int doPembagian(int nilai1, int nilai2) {


hasil = nilai1 / nilai2;
return hasil;
}

Untuk dapat menerima input dari pengguna, kita akan membuat sebuah class khusus. Ketikkan
source code program dibawah dan simpan dengan nama BacaKeyboard.java

public class BacaKeyboard {


public static String bacaString() {
int karakter;
String str = "";
boolean selesai = false;
while(!selesai) {
try {
karakter = System.in.read();
if(karakter < 0 || (char)karakter == ’\n’)
selesai = true;

15
else if((char)karakter != ’\r’)
str = str + (char)karakter;
}
catch(java.io.IOException e) {
System.err.println("Ada kesalahan");
selesai = true;
}
}
return str;
}
}

Selanjutnya kita akan membuat class utama dari program. Ketiklah source code program
dibawah, dan simpan dengan nama Utama.java

public class Utama {

String stambuk, nama;


static int nilai1, nilai2, hasil;

public static void main(String[] args) {


System.out.println("Operasi Matematika");
for(int i=1; i<=18; i++) {
System.out.print("-");
}
System.out.println("");
System.out.print("Nilai 1 : ");
nilai1 = Integer.valueOf(BacaKeyboard.bacaString());
System.out.print("Nilai 2 : ");
nilai2 = Integer.valueOf(BacaKeyboard.bacaString());
for(int i=1; i<=18; i++) {
System.out.print("-");
}
System.out.println("");
OperasiMatematika operasi = new OperasiMatematika();
System.out.println("Hasil Penjumlahan : " +
operasi.doPenjumlahan(nilai1, nilai2));
System.out.println("Hasil Pengurangan : " +
operasi.doPengurangan(nilai1, nilai2));
System.out.println("Hasil Perkalian : " +
operasi.doPerkalian(nilai1, nilai2));
System.out.println("Hasil Pembagian : " +
operasi.doPembagian(nilai1, nilai2));
}

16
3.2 Operator
Operator dalam bahasa pemrograman adalah simbol-simbol khusus yang melakukan operasi-
operasi khusus dengan 1, 2 atau 3 operand, yang kemudian akan mengembalikan nilai.
Berdasarkan jumlah operand yang digunakan, operator dapat diklasifikasikan menjadi :

• Unary, yaitu operator yang melibatkan satu operand

• Binary, yaitu operator yang melibatkan dua operand

• Tertiary, yaitu operator yang melibatkan tiga operand

3.2.1 Penugasan, Aritmatika, Operator Unary


Sejauh ini salah satu operator yang sering kita gunakan adalah operator penugasan, melalui
penggunaan simbol =.

int nilai = 8;
String nama = "adoel";

Secara sederhana, operator ini memberikan nilai pada sisi kanan ke operand pada sisi kiri.
Selain untuk operasi penugasan, bahasa pemrograman java juga menyediakan operator-
operator yang melakukan operasi penjumlahan, pengurangan, perkalian, dan pembagian.

+ Penjumlahan dan penggabungan String


- Pengurangan
* Perkalian
/ Pembagian
% Sisa pembagian
Latihan 3.b

Untuk lebih memperjelas fungsi dari operator-operator diatas, kita akan mencoba membuat
sebuah program sederhana yang akan menampilkan hasil operasi aritmatika

public class ArithmeticDemo {


public static void main(String[] args) {
int result = 1 + 2; // result bernilai 3
System.out.println(result);
result = result - 1; // result bernilai 2
System.out.println(result);
result = result * 2; // result bernilai 4
System.out.println(result);
result = result / 2; // result bernilai 2
System.out.println(result);
result = result + 8; // result bernilai 10
System.out.println(result);
result = result % 7; // result bernilai 3

17
System.out.println(result);
}
}

3.3 Control Flow Statement


Dalam bahasa pemrograman, statement-statement dalam sebuah source code pada umum-
nya dieksekusi dari atas ke bawah, control flow statement memungkinkan untuk memecah
alur eksekusi program, dengan mengimplementasikan pengkondisian, perulangan, dan per-
cabangan

3.3.1 Pengkondisian
Pengkondisian dalam bahasa pemrograman java dalam beberapa pernyataan, yaitu if-then,
if-then-else, dan switch. Berikut ini adalah syntax dan contoh penggunaannya :
1. if-then
Deklarasi if-then dalam bahasa pemrograman java adalah sebagai berikut :

if(kondisi) {
/* blok pernyataan yang dieksekusi jika
kondisi benar */
}

Berikut ini adalah contoh sederhana penggunaan statement if-then

public class HelloNama {


public static void main(String[] args) {
String nama = args[0];
if(nama=="namaku") {
System.out.println("Hello " + nama);
}
}
}

2. if-then-else
Deklarasi pernyataan if-then-else adalah sebagai berikut :

if(kondisi) {
/* blok pernyataan yang dieksekusi jika
kondisi benar */
}
else {
/* blok pernyataan yang dieksekusi jika
kondisi salah */
}

18
Contoh penggunaan if-then-else adalah sebagai berikut :

public class NilaiMahasiswa {


public static void main(String[] args) {
int nilai = Integer.valueOf(args[0]);
if(nilai=>8) {
System.out.println("Selamat !, anda lulus");
}
else {
System.out.println("Maaf, anda tidak lulus");
}
}
}

3. switch
Pernyataan switch digunakan untuk kondisi yang memiliki banyak kemungkinan ni-
lai. Syntax dari pernyataan ini adalah sebagai berikut

switch(expresi) {
case nilai_1 :
pernyataan 1;
break;
case nilai_2 :
pernyataan 2;
break;
...
default :
pernyataan n;
break;
}

Sebagai contoh, perhatikan contoh program berikut ini :

public class NamaHari {


public static void main(String[] args) {
int Hari = Integer.valueOf(args[0]);
switch(Hari) {
case 0 :
System.out.println("Hari Minggu");
break;
case 1 :
System.out.println("Hari Senin");
break;
default :
System.out.println("Hari Tidak diketahui");
break;
}
}
}

19
3.3.2 Perulangan
Perulangan dalam bahasa pemrograman java diimplementasikan dengan pernyataan while,
do-while, dan for

1. while
Syntax penulisan dari pernyataan while adalah sebagai berikut

while(kondisi) {
blok pernyataan
}

Contoh

public class WhileSample {


public static void main(String[] args) {
int jumlah = 1;
while(jumlah<=5) {
System.out.println("Hello " + jumlah);
jumlah++; /* menaikkan variabel jumlah dengan 1 */
}
}
}

2. do-while
Syntax pernyataan do-while adalah sebagai berikut :

do {
blok pernyataan
}
while(kondisi)

Contoh

public class DoWhileSample {


public static void main(String[] args) {
int jumlah = 10;
do {
System.out.println("Hello " + jumlah);
jumlah--; /* mengurangi variabel jumlah dengan 1 */
}
while(jumlah>=1);
}
}

20
3. for
Syntax perulangan for adalah sebagai berikut :

for(inisialisasi; kondisi; penaikan/penurunan) {


blok pernyataan
}

Contoh

public class ForSample {


public static void main(String[] args) {
for(int i=0; i<=10; i++) {
System.out.println("Hello " + i);
}
}
}

21
4. Class dan Objek
4.1 Class
Seperti yang telah dipelajari pada modul sebelumnya, class dapat disebut sebagai sebuah
blueprint dari objek, dimana objek tersebut selanjutnya dapat digunakan didalam program.
Sebuah class dapat menjadi superclass atau subclass dari class lainnya, dalam konsep pem-
rograman berorientasi objek disebut sebagai inheritance. Jika kita deklarasikan sebuah class
individu

class Individu {
// field, konstruktor, dan metode
}

Dari class tersebut, dapat diciptakan sebuah class baru, misalnya Mahasiswa, Dosen, Pe-
gawai dan lain sebagainya

class Mahasiswa extends Individu {


// field, konstruktor, dan metode
}

Class mahasiswa akan mewarisi semua sifat-sifat yang terdapat pada class individu.

4.1.1 Deklarasi Class


Class individu diatas adalah contoh sederhana dari deklarasi sebuah class. Contoh yang
lebih kompleks dari sebuah class adalah sebagai berikut

class Mahasiswa extends Individu implements AnggotaBEM, AnggotaHMI {


// field, konstruktor, dan metode
}

Contoh class diatas dapat diartikan class Mahasiswa adalah turunan dari class Individu,
dan mengimplementasikan interface AnggotaBEM, dan anggotaHMI.
Adapun pembahasan tentang interface akan dibahas pada submodul lainnya.

4.1.2 Deklarasi Variabel Dan Metode


Terdapat beberapa jenis variabel, antara lain :

• Variabel anggota didalam sebuah class, yang disebut sebagai instance variable atau
fields

22
• Variabel didalam sebuah metode atau blok kode program, yang disebut sebagai local
variable
• Variabel didalam deklarasi metode, yang disebut sebagai parameter
Class Individu pada contoh diatas dapat menggunakan beberapa variabel, seperti yang dapat
anda lihat pada contoh berikut :

class Individu {

String nama;
String alamat;
char jenisKelamin;
int umur;

Selain variabel, kita juga dapat mendeklarasikan metode didalam sebuah class. Contoh
metode dari class Individu diatas, adalah sebagai berikut :

class Individu {

String nama;
String alamat;
char jenisKelamin;
int umur;

/* contoh metode */
public void makan(String namaMakanan) {
System.out.println(this.nama + " sedang memakan " + namaMakanan);
}

Metode makan() pada class Individu diatas adalah sebuah metode yang tidak mengem-
balikan nilai, hal ini ditunjukkan dengan deklarasi void sebelum nama metode tersebut.
Sedangkan untuk metode yang mengembalikan nilai, kita cukup mendeklarasikan tipe data
dari nilai yang akan dikembalikan dan nilai yang akan dikembalikan (dengan menggunakan
keyword return). Sebagai contoh :

class HitungLuas {
public int getLuas(int panjang, int lebar) {
int hasil;
hasil = panjang * lebar;
return hasil;
}
}

23
4.1.3 Akses Modifier
Akses terhadap field-field atau metode tertentu didalam sebuah class dapat dibatasi dengan
penggunaan modifier. Beberapa contoh modifier yang umumnya digunakan antara lain :

• Modifier public, Memungkinkan akses terhadap sebuah field dari semua class

• Modifier private, Akses terhadap field hanya pada class dimana field itu dideklarasikan

Selain kedua modifier diatas, terdapat modifier lain yang memiliki fungsi berbeda. Berikut
ini adalah tabel modifier, dan pengaruhnya terhadap akses field

Modifier Class Paket Subclass Lainnya


Tanpa Modifier Ya Ya Tidak Tidak
public Ya Ya Ya Ya
private Ya Tidak Tidak Tidak
protected Ya Ya Ya Tidak

Tabel 3: Modifier dan pengaruhnya terhadap akses field

Dari tabel diatas diketahui bahwa field dapat diakses dari class dimana field itu dideklarasikan,
akan tetapi penggunaan modifier akan mempengaruhi akses terhadap field tersebut dari lu-
ar class. Semisal pada baris ketiga, modifier private tidak membolehkan akses terhadap
field dari manapun selain dari class itu sendiri. Sebaliknya, jika kita perhatikan baris kedua,
modifier public memungkinkan akses dari manapun.
Modifier memiliki peran yang sangat penting dalam pemrograman, jika semisal kita memi-
liki sebuah class Mahasiswa dengan akses public untuk keseluruhan field

class Mahasiswa {

public int nim;


public String nama;
public int nilai;

Dari contoh class diatas dapat diketahui bahwa semua field dapat diakses dari luar class,
termasuk didalamnya adalah field nilai dari mahasiswa.

24
Latihan 4.a

Untuk lebih memahami fungsi dari modifier, kita akan mencoba membuat sebuah class
dengan field-field beserta modifiernya masing-masing. Selain itu kita akan membuat class
lain yang akan mengakses field-field yang terdapat pada class pertama
1. Ketikkan source code program dibawah, kemudian simpan dengan nama Sample.java

class Sample {

int nilai1;
public int nilai2;
private int nilai3;

2. Selanjutnya adalah class utama, yang akan mencoba mengakses field pada class Sample.
Ketikkan source code program dibawah dan simpan dengan nama Main.java

public class Main {

public static void main(String[] args) {


Sample contoh = new Sample();
/* menset nilai dari field pada class Sample */
contoh.nilai1 = 5;
contoh.nilai2 = 9;
contoh.nilai3 = 12; // menimbulkan error
/* mendapatkan nilai dari field pada class Sample */
System.out.println("Field nilai1 pada class Sample = " +
contoh.nilai1);
System.out.println("Field nilai2 pada class Sample = " +
contoh.nilai2);
// baris berikut menimbulkan error
System.out.println("Field nilai3 pada class Sample = " +
contoh.nilai3);
}

4.2 Object
Seperti yang telah anda ketahui, sebuah program java dibangun atas interaksi antara objek-
objek yang dibangun secara individual. Sebuah class adalah blueprint dari objek, jadi
metode-metode dan field yang dapat digunakan dalam sebuah objek didapatkan berdasarkan
apa yang dideklarasikan didalam class.

4.2.1 Pembentukan Objek


Untuk dapat menggunakan sebuah objek, kita terlebih dahulu harus membentuk objek terse-
but dari classnya. Untuk lebih memahami hal ini, perhatikan contoh statement berikut :

25
Mahasiswa mahasiswa = new Mahasiswa("Ahmad", "Sistem Komputer");

Pada statement diatas, kita membentuk objek mahasiswa dari class Mahasiswa dengan
parameter nama, dan jurusannya. Statement diatas terdiri atas 3 bagian, antara lain :

• Deklarasi : Ini ditunjukkan pada bagian statement yang dicetak tebal, disini kita
mendeklarasikan objek mahasiswa dengan tipe objek Mahasiswa

• Instansiasi : Kata kunci new adalah sebuah operator dalam bahasa pemrograman
java yang digunakan untuk membentuk sebuah objek

• Inisialisasi : Kata kunci new diikuti oleh konstruktor dari class (beserta nilai-nilainya),
menentukan nilai awal dari objek mahasiswa

4.2.2 Penggunaan Objek


Setelah proses pembentukan objek didalam program, kita tentu ingin menggunakan ob-
jek tersebut, entah itu untuk memodifikasi nilai field, memanggil metode, ataupun untuk
mengambil nilai field atau nilai keluaran dari metode. Sebagai contoh perhatikan statement
berikut ini

System.out.println("Nama mahasiswa adalah " + nama + ", dengan nilai " + nilai);

Dalam statement diatas, kita mengambil nilai dari field nama, dan nilai. Jika field yang
diinginkan berada diluar dari objek (semisal field nama, dan nilai berada pada objek
mahasiswa), yang perlu kita lakukan adalah mendeklarasikan nama referensi objek yang
diinginkan, diikuti dengan simbol titik (.) dan diikuti dengan nama field yang diinginkan.
Sebagai contoh :

System.out.println("Nama mahasiswa adalah " +


mahasiswa.nama + ", dengan nilai " + mahasiswa.nilai);

26
Latihan 4.b

Dalam latihan berikut, kita akan membuat program Data Mahasiswa, yang akan melibatkan
3 buah objek Mahasiswa, Jurusan, BacaKeyboard (Silahkan dicopy dari modul sebelum-
nya) dan Main (sebagai class utama). Ketikkan source code program dibawah, compile dan
jalankan seperti biasa

• Class Mahasiswa

public class Mahasiswa {

private String nim;


private String nama;

public Mahasiswa() {

public Mahasiswa(String nim, String nama) {


this.nim = nim;
this.nama = nama;
}

public void setNim(String nim) {


this.nim = nim;
}

public void setNama(String nama) {


this.nama = nama;
}

public String getNim() {


return nim;
}

public String getNama() {


return nama;
}

• Class Jurusan

public class Jurusan {

private String namaJurusan;


private Mahasiswa[] daftarMahasiswa;

public Jurusan(String namaJurusan, Mahasiswa[] daftarMahasiswa) {


this.namaJurusan = namaJurusan;
this.daftarMahasiswa = daftarMahasiswa;
}

27
public void setNamaJurusan(String namaJurusan) {
this.namaJurusan = namaJurusan;
}

public void setDaftarMahasiswa(Mahasiswa[] daftarMahasiswa) {


this.daftarMahasiswa = daftarMahasiswa;
}

public String getNamaJurusan() {


return namaJurusan;
}

public Mahasiswa[] getDaftarMahasiswa() {


return daftarMahasiswa;
}

• Class Main

public class Main {

private String namaJurusan;


private int jumlahMahasiswa;
private Mahasiswa mahasiswa;
private Mahasiswa[] daftarMahasiswa;
private Jurusan jurusan;

public static void main(String[] args) {


new Main();
}

public Main() {
System.out.println("Daftar Mahasiswa");
buatGaris(10);
barisBaru();
System.out.print("Masukkan nama jurusan : ");
namaJurusan = BacaKeyboard.bacaString();
System.out.print("Masukkan jumlah Mahasiswa : ");
jumlahMahasiswa = Integer.valueOf(BacaKeyboard.bacaString());
daftarMahasiswa = new Mahasiswa[jumlahMahasiswa];
barisBaru();
for(int i=1; i<=jumlahMahasiswa; i++) {
System.out.println("Mahasiswa " + i);
buatGaris(10);
barisBaru();
mahasiswa = new Mahasiswa();
System.out.print("Masukkan NIM Mahasiswa : ");
mahasiswa.setNim(BacaKeyboard.bacaString());
System.out.print("Masukkan Nama Mahasiswa : ");
mahasiswa.setNama(BacaKeyboard.bacaString());
daftarMahasiswa[i-1] = mahasiswa;
barisBaru();

28
}
if(pilihanCetakData()) {
cetakDataMahasiswa();
}
else {
System.out.println("Program berakhir");
}
}

public void buatGaris(int x) {


for(int i=0; i<=x; i++) {
System.out.print("-");
}
}

public void barisBaru() {


System.out.println("");
}

public boolean pilihanCetakData() {


boolean nilai = false;
String pilihan;
System.out.print("Cetak Data ? [Y/T] : ");
pilihan = BacaKeyboard.bacaString();
if((pilihan.equals("Y"))||(pilihan.equals("y"))) {
nilai = true;
}
return nilai;
}

public void cetakDataMahasiswa() {


int x = 32;
jurusan = new Jurusan(namaJurusan, daftarMahasiswa);
Mahasiswa[] mhsJurusan = jurusan.getDaftarMahasiswa();
buatGaris(x);
barisBaru();
System.out.println("Daftar Mahasiswa\t\t|");
System.out.println("Jurusan : " + namaJurusan + "\t\t\t|");
buatGaris(x);
barisBaru();
System.out.println("NIM\tNama\t\t\t|");
buatGaris(x);
barisBaru();
for(int i=0; i<mhsJurusan.length; i++) {
Mahasiswa mhs = mhsJurusan[i];
System.out.println(mhs.getNim() + "\t" + mhs.getNama() + "\t\t\t|");
buatGaris(x);
barisBaru();
}
}

29

Anda mungkin juga menyukai