Anda di halaman 1dari 16

MATERI 6 CLASS & OBJECT

BAHASA PEMROGRAMAN I S1 SI
STEVI EMA WIJAYANTI

STEVI EMA WIJAYANTI

Page 1

[BAHASA PEMROGRAMAN I]

October 11, 2013

PENGENALAN BAHASA PEMROGRAMAN JAVA


DEFINISI PROGRAM
DEFINISI
JAVA
Java merupakan salah satu bahasa pemrograman tingkat tinggi berorientasi objek yang
diperkenalkan oleh Sun Microsystems sekitar tahun 1995 dan dapat dijalankan di hampir semua
sistem operasi (multiplatform).

KARAKTERISTIK JAVA
Berdasarkan pernyataan resmi dari Sun Microsystems, Java memiliki karakteristik seperti berikut ini :
1. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++, namun telah banyak
diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance.
Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi Objek (Object Oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara
modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia
nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Dapat Didistribusikan dengan Mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries
networking yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM) .

Hal

ini

menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan
pada platform yang berbeda-beda.
5. Robust
Java mempunyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi
error secara lebih teliti dibanding bahasa pemrograman lain. Java mempunyai runtime-Exception
handling untuk membantu mengatasi error pada pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa
mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer
yang menjalankan aplikasi tersebut.

STEVI EMA WIJAYANTI

Page 2

[BAHASA PEMROGRAMAN I]

October 11, 2013


7. Architecture Neutral

Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang
dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda
tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat
ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun
Symantec yang menggunakan Just in Time Compilers (JIT).

DEFINISI PEMROGRAMAN
Pemrograman adalah proses menulis, menguji, memperbaiki dan memelihara kode yang
membangun sebuah program komputer dengan menggunakan bahasa pemrograman tertentu.

DEFINISI PEMROGRAMAN BERORIENTASI OBJEK


Pemrograman Berorientasi Objek merupakan paradigma pemrograman atau teknik pemrograman
yang berbasiskan hirarki kelas-kelas dan melibatkan objek. Pemrograman Berorientasi Object (OOP)
adalah model pemrograman yang paling banyak dipakai saat ini. OOP telah menggantikan teknik
pemrograman prosedural yang telah lama digunakan. Objek-objek yang dibuat seringkali
merepresentasikan apa yang ada di dunia nyata.

CLASS DAN OBJEK


DEFINISI CLASS
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instan dari object. Class
juga bisa disebut blok-blok bangun pada program Java. Class mendefinisikan atribut/properti atau
biasa disebut dengan field dan perilaku (behavior) atau biasa disebut dengan method dari obyek
yang dibuatnya.

DEFINISI ATTRIBUTE
Attribute berlaku sebagai data, didefinisikan oleh class, individu, dan berbeda satu dengan lainnya.
Attribute didefinisikan dalam class dengan menggunakan variabel.

STEVI EMA WIJAYANTI

Page 3

October 11, 2013

[BAHASA PEMROGRAMAN I]

DEFINISI BEHAVIOR
Behavior berlaku sebagai method (operasi). Untuk menentukan behavior atau perilaku dari object
harus membuat methods.

CONTOH :
Class

: Manusia

Attribute

: 1. Nama
2. Gender
3. Tempat tanggal lahir
4. Alamat
5. dan sebagainya.

Behavior

: 1. Berjalan
2. Makan
3. Tidur
4. dan sebagainya.

ANALOGI LAIN
Bagaimana cara membuat mobil ?
Langkah 1 :
Menggambar desain mobil
Langkah 2 :
Menambahkan detail mobil, misalnya : desain pedal gas untuk maju, desain rem untuk
berhenti, desain setir untuk belok kiri dan kanan, dan lain sebagainya.
Langkah 3 :
Proses pembuatan mobil dimulai

Bagaimana pedal gas pada mobil bekerja ?


1. Bagaimana proses yang terjadi di dalam mesin mobil ketika pedal gas diinjak ?
2. Apakah pengendara mobil perlu mengetahui cara kerja pedal gas secara detail ?

Pengendara mobil tentu tidak perlu mengetahui secara detail cara kerja pedal gas ketika diinjak.
Pengendara cukup mengetahui aturan dan fungsi dari pedal gas tersebut, misalnya ketika pedal gas

STEVI EMA WIJAYANTI

Page 4

[BAHASA PEMROGRAMAN I]

October 11, 2013

sebelah tengah diinjak maka mobil akan melaju. Hal tersebut dapat disimpulkan bahwa cara kerja
pedal gas secara detail disembunyikan dari pengendara mobil.

Dari analogi diatas dapat diambil kesimpulan :


1. Mobil adalah sebuah CLASS, dimana class Mobil memiliki attribute dan behavior.
2. Sama halnya penyembunyian cara kerja pedal gas secara detail pada sebuah mobil, pada
OOP penyembunyian detail pemrograman di dalam sebuah METHOD.
3. Method-method ini dibuat dan disimpan bersama-sama di dalam suatu desain yang disebut
Class.

DEFINISI OBJECT
Objek adalah intansiasi (instance) dari class. Jika class secara umum mempresentasikan (template)
sebuah objek, sebuah instance adalah representasi nyata dari class itu sendiri.
Cara pembuatan objek :
NamaKelas NamaObjek = new NamaConstruktor();
Atau
NamaKelas NamaObjek;
NamaObjek = new NamaConstruktor();
Contoh : Dari class Mobil, dapat dibuat objek Sedan, Kijang, Truk, dan lain sebagainya.

DEFINISI METHOD
Method/metode adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu objek
atau dapat dikatakan method adalah perilaku dari objek.
Method memiliki 4 (empat) bagian dasar, antara lain :
1. Nama method
2. Tipe Objek atau tipe primitive yang dikembalikan metode
3. Daftar parameter
4. Badan atau isi method

Construktor

merupakan method khusus yang digunakan untuk menginisialisasi objek dan

masing-masing class pasti memiliki minimal satu construktor. Perbedaan method biasa dengan

STEVI EMA WIJAYANTI

Page 5

[BAHASA PEMROGRAMAN I]

October 11, 2013

construktor adalah nama method. Construktor memiliki nama method sama persis dengan nama
classnya, tidak bertipe dan tidak memiliki nilai kembalian.

CONTOH IMPLEMENTASI CLASS DAN OBJEK


Contoh 1 : Class dan Method Buah
Buah.java
//deklarasi class
public class Buah {
//method Mangga
public void mangga(){
System.out.println(Ini method untuk buah mangga);
}
//method Apel
public void apel(){
System.out.println(Ini method untuk buah apel);
}
}
AmbilBuah.java
//deklarasi class
public class AmbilBuah{
//deklarasi method utama/main method
public static void main(String [] args){
//instansiasi (instance) objek dari class Buah
Buah b = new Buah();
b.mangga();
b.apel();
}
}

Contoh 2 : Program Perhitungan Volume Balok


Balok.java
//deklarasi kelas (class)
public class Balok{
//deklarasi attribute/property
double panjang;
double lebar;
double tinggi;
}

STEVI EMA WIJAYANTI

Page 6

October 11, 2013

[BAHASA PEMROGRAMAN I]

VolumeBalok.java
//deklarasi kelas (class)
public class VolumeBalok{
//deklarasi method utama/main method
public static void main(String [] args){
double volume;
//instansiasi objek dari class Balok
Balok bl = new Balok();
bl.panjang = 10;
bl.lebar = 5;
bl.tinggi = 5;
//menghitung volume balok
volume = bl.panjang * bl.lebar * bl.tinggi;
System.out.println("Volume balok = "+volume+" cm3");
}
}

Contoh 3 : Program Perhitungan SPP


SPP.java
public class SPP {
String nama,nim;
int spt,spv,sks;
//construktor dengan parameter
public SPP(String nama, String nim, int spt, int spv, int sks){
this.nama = nama;
this.nim = nim;
this.spt = spt;
this.spv = spv;
this.sks = sks;
}
//method hitung dengan tipe int
public int hitung(){
//method non-void harus ada nilai kembalian/return value
return (spt+(spv*sks));
}
}

STEVI EMA WIJAYANTI

Page 7

[BAHASA PEMROGRAMAN I]

October 11, 2013


DemoSPP.java
import java.io.*;
public class DemoSPP {
public static void main (String [] args) throws IOException{
//deklarasi variabel
String nama,nim;
int spt,spv,sks;
//proses instansiasi objek dengan inputan manual
SPP bayar = new SPP("Stevi","12.11.1234",950000,70000,24);
//dengan inputan
//Langkah 1 : menginisialisasi BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Langkah 2 : proses input
System.out.print("Nama \t\t: ");
nama = br.readLine();
System.out.print("NIM \t\t: ");
nim = br.readLine();
System.out.print("SPP Tetap \t: ");
spt = Integer.parseInt(br.readLine());
System.out.print("SPP Variabel \t: ");
spv = Integer.parseInt(br.readLine());
System.out.print("SKS \t\t: ");
sks = Integer.parseInt(br.readLine());
//proses instansiasi objek dengan inputan
SPP bayar2 = new SPP(nama,nim,spt,spv,sks);

STEVI EMA WIJAYANTI

Page 8

October 11, 2013


Lanjutan Kode DemoSPP.java
//output perhitungan dengan inputan manual
System.out.println("\n\n\n--------------- PROGRAM PERHITUNGAN SPP MANUAL ---------------\n");
System.out.println("Nama \t\t: " + bayar.nama);
System.out.println("NIM \t\t: " + bayar.nim);
System.out.println("SPP Tetap \t: " + bayar.spt);
System.out.println("SPP Variabel \t: " + bayar.spv);
System.out.println("SKS \t\t: " + bayar.sks);
System.out.println("Total SPP yang harus dibayarkan : Rp " + bayar.hitung() + ",-\n");
System.out.println("------------------------ TERIMA KASIH ------------------------\n\n");
//output perhitungan dengan inputan
System.out.println("\n-------------- PROGRAM PERHITUNGAN SPP OTOMATIS --------------\n");
System.out.println("Nama \t\t: " + bayar2.nama);
System.out.println("NIM \t\t: " + bayar2.nim);
System.out.println("SPP Tetap \t: " + bayar2.spt);
System.out.println("SPP Variabel \t: " + bayar2.spv);
System.out.println("SKS \t\t: " + bayar2.sks);
System.out.println("Total SPP yang harus dibayarkan : Rp " + bayar2.hitung() + ",-\n");
System.out.println("------------------------ TERIMA KASIH ------------------------\n");
}
}

STEVI EMA WIJAYANTI

Page 9

October 11, 2013

[BAHASA PEMROGRAMAN I]

METHOD MUTATOR DAN METHOD ACCESSOR


Method Mutator merupakan method yang difungsikan untuk memberikan nilai pada suatu properti
atau variabel.
Cara penulisan method Mutator :
//mendeklarasikan method mutator dengan nama setNama() dan bertipe Void
//method setNama() memiliki 1 paramater nama dan bertipe String
public void setNama(String nama){
this.nama = nama;
}
Method Accessor merupakan method yang difungsikan untuk mengambil nilai dari suatu properti
atau variabel.
Cara penulisan method Accessor :
//mendeklarasikan method accessor dengan nama getNama() dan bertipe String
public String getNama(){
//karena non-void maka harus ada nilai kembalian (return value)
return nama;
}

Contoh 4 : Program Menghitung Nilai


Nilai.java
public class Nilai {
String nama,nim;
double uts,uas,tugas;
//Constructor Default
public Nilai(){
nama = "";
nim = "";
uts = 0;
uas = 0;
tugas = 0;
}
//Method Mutator
public void setNama(String nama){
this.nama = nama;
}

STEVI EMA WIJAYANTI

Page 10

October 11, 2013

[BAHASA PEMROGRAMAN I]

Lanjutan Kode Nilai.java


//Method Accessor
public String getNama(){
return nama;
}
public void setNim(String nim){
this.nim = nim;
}
public String getNim(){
return nim;
}
public void setUts(double uts){
this.uts = uts;
}
public double getUts(){
return uts;
}
public void setUas(double uas){
this.uas = uas;
}
public double getUas(){
return uas;
}
public void setTugas(double tugas){
this.tugas = tugas;
}
public double getTugas(){
return tugas;
}
public double getNilai(){
double nilai;
nilai = (uts+uas+tugas)/3;
return nilai;
}
}

STEVI EMA WIJAYANTI

Page 11

[BAHASA PEMROGRAMAN I]

October 11, 2013


DemoNilai.java
public class DemoNilai {
public static void main (String [] args) {
//instansiasi objek class Nilai
Nilai n = new Nilai();
//input data
n.setNama("Stevi Ema Wijayanti");
n.setNim("12.11.1234");
n.setUts(90.0);
n.setUas(80.0);
n.setTugas(100);

//output data
System.out.println("\n\n-------- HASIL NILAI PEMROGRAMAN LANJUT --------\n");
System.out.println("Nama Mahasiswa \t: " + n.getNama());
System.out.println("NIM Mahasiswa \t: " + n.getNim());
System.out.println("Nilai UTS \t: " + n.getUts());
System.out.println("Nilai UAS \t: " + n.getUas());
System.out.println("Nilai Tugas \t: " + n.getTugas());
System.out.println("Nilai Akhir \t: " + n.getNilai());
System.out.println("\n---------------- *************** ---------------");
}
}

Latihan 2 : Program Gaji Karyawan


Buat sebuah program dinamis untuk menghitung gaji karyawan PT. ABCD Persero.
1. Class Karyawan memiliki atribut-atribut :
NIK, nama, gaji pokok, tunjangan, uang makan, uang transport
2. Total gaji merupakan penjumlahan seluruh pendapatan yang diperoleh oleh karyawan.
3. Buatlah program tersebut dengan method accessor dan mutator.
4. Output program berupa data minimal 3 karyawan dengan identitas lengkap,
keseluruhan pendapatan dan total gaji yang diperoleh masing-masing karyawan.
------ Selamat Mengerjakan -----

STEVI EMA WIJAYANTI

Page 12

October 11, 2013

[BAHASA PEMROGRAMAN I]

OVERLOADING METHOD
DEFINISI OVERLOADING METHOD
Overloading Method adalah terdapat method yang sama pada satu class namun berbeda paramater.
Contoh :
public class Mobil {
String warna, merk;
//contructor default
public Mobil(){
warna = Merah;
merk = BMW
}
//overloading Constructor
public Mobil(String colour, String merk){
warna = colour;
this.merk = merk;
}
}

IMPLEMENTASI OVERLOADING METHOD


Contoh 5 : Program Menghitung Nilai Mahasiswa
OverloadConstructor.java
public class OverloadConstructor {
String nama,nim;
double uts,uas,tugas;
//Constructor Default
public OverloadConstructor(){
nama = "-";
nim = "-";
uts = 0;
uas = 0;
tugas = 0;
}

STEVI EMA WIJAYANTI

Page 13

[BAHASA PEMROGRAMAN I]

October 11, 2013


Lanjutan Kode OverloadConstructor.java
//Overload Constructor
public OverloadConstructor(String nama,String nim){
this.nama = nama;
this.nim = nim;
}

//Overload Constructor
public OverloadConstructor(double uts, double uas, double tgs){
this.uts = uts;
this.uas = uas;
tugas = tgs;
}
//Method Accessor
public String getNama(){
return nama;
}
public String getNim(){
return nim;
}
public double getUts(){
return uts;
}
public double getUas(){
return uas;
}
public double getTugas(){
return tugas;
}
public double getNilai(){
double nilai;
nilai = (uts+uas+tugas)/3;
return nilai;
}
}

STEVI EMA WIJAYANTI

Page 14

October 11, 2013

[BAHASA PEMROGRAMAN I]

DemoOverloadConstructor.java
public class DemoOverloadConstructor {
public static void main (String [] args) {
//instansiasi objek class Nilai
OverloadConstructor oc1 = new OverloadConstructor();
OverloadConstructor oc2 = new OverloadConstructor("Stevi Ema Wijayanti",
"12.11.1234");
OverloadConstructor oc3 = new OverloadConstructor(90,80,100);
//output data 1
System.out.println("\n\n-------- HASIL NILAI 1 PEMROGRAMAN LANJUT --------\n");
System.out.println("Nama Mahasiswa \t: " + oc1.getNama());
System.out.println("NIM Mahasiswa \t: " + oc1.getNim());
System.out.println("Nilai UTS \t: " + oc1.getUts());
System.out.println("Nilai UAS \t: " + oc1.getUas());
System.out.println("Nilai Tugas \t: " + oc1.getTugas());
System.out.println("Nilai Akhir \t: " + oc1.getNilai());
System.out.println("\n----------------- *************** ----------------");
//output data 2
System.out.println("\n\n-------- HASIL NILAI 2 PEMROGRAMAN LANJUT --------\n");
System.out.println("Nama Mahasiswa \t: " + oc2.getNama());
System.out.println("NIM Mahasiswa \t: " + oc2.getNim());
System.out.println("Nilai UTS \t: " + oc2.getUts());
System.out.println("Nilai UAS \t: " + oc2.getUas());
System.out.println("Nilai Tugas \t: " + oc2.getTugas());
System.out.println("Nilai Akhir \t: " + oc2.getNilai());
System.out.println("\n----------------- *************** ----------------");
//output data 3
System.out.println("\n\n-------- HASIL NILAI 3 PEMROGRAMAN LANJUT --------\n");
System.out.println("Nama Mahasiswa \t: " + oc3.getNama());
System.out.println("NIM Mahasiswa \t: " + oc3.getNim());
System.out.println("Nilai UTS \t: " + oc3.getUts());
System.out.println("Nilai UAS \t: " + oc3.getUas());
System.out.println("Nilai Tugas \t: " + oc3.getTugas());
System.out.println("Nilai Akhir \t: " + oc3.getNilai());
System.out.println("\n----------------- *************** ----------------");

STEVI EMA WIJAYANTI

Page 15

October 11, 2013

[BAHASA PEMROGRAMAN I]

Lanjutan kode DemoOverloadConstructor.java


//OUTPUT FINAL
System.out.println("\n\n-------- HASIL NILAI FINAL PEMROGRAMAN LANJUT --------\n");
System.out.println("Nama Mahasiswa \t: " + oc2.getNama());
System.out.println("NIM Mahasiswa \t: " + oc2.getNim());
System.out.println("Nilai UTS \t: " + oc3.getUts());
System.out.println("Nilai UAS \t: " + oc3.getUas());
System.out.println("Nilai Tugas \t: " + oc3.getTugas());
System.out.println("Nilai Akhir \t: " + oc3.getNilai());
System.out.println("\n------------------- *************** ------------------");
}
}

Output :

STEVI EMA WIJAYANTI

Page 16

Anda mungkin juga menyukai