Anda di halaman 1dari 9

MODUL I

PEMOGRAMAN BERBASIS OBJEK


KONSEP OOP
(OBJECT ORIENTED PROGRAMMING)

FAKULTAS TEKNOLOGI INFORMASI


UNIVERSITAS ATMA JAYA
MAKASSAR
2022
KONSEP OBJECT ORIENTED PROGRAMMING (OOP)
Objek dalam pengertian sehari-hari adalah benda, baik yang secara fisik dapat
diketahui keberadaannya maupun yang bersifat khayal (virtual). Contoh objek ialah ponsel,
kamera, kalkulator, notebook, buku, mobil, tank, hotel, restoran, manusia, ide, gagasan.

Objek dalam pemrograman adalah suatu komponen dari suatu sistem yang dibangun.
Analogi objek pada pemrograman ialah “fungsi” atau “prosedur” yang bekerja mandiri
menghasilkan sesuatu dalam suatu proses pertukaran data dengan program utama.
Setiap objek memiliki kelompok. Sebagai contoh, terdapat objek “mobil”. Toyota,
Honda, Suzuki, Daihatsu merupakan kelompok dari “mobil”. Kelompok inilah yang dalam
konsep OOP disebut kelas (class).

Kelebihan OOP Antara Lain Adalah :

1.  Parallel Development


Ketika bekerja sama dengan team, masing-masing programmer dapat membangun
class-classnya sendiri. Dengan membangun class-classnya secara individual, komponen yang
sudah dibentuk kemudian dapat digabung menjadi satu kesatuan, hal ini tentu saja
menghemat banyak waktu dibanding harus membangun class satu per satu.

2. Reusable
Jika kalian sudah berhasil membangun class, bukan berarti class-class tersebut hanya
dapat digunakan sekali dalam project itu saja. Dalam OOP, class-class yang sudah ada dapat
kalian gunakan kembali di project dan development yang lain. Baik langsung pakai atau
hanya butuh sedikit perubahan, tetapi jauh lebih mudah daripada harus membangun class
lagi.

3. Coding Lebih Mudah Diatur


OOP memiliki basis coding yang terpusat dan mudah di-manage. Data-data yang
sudah kalian miliki lebih mudah diakses ketika kalian memerlukannya. Proses ini juga
meningkatkan keamanan programming kalian karena terdapat sistem otentikasi yang cukup
kuat.

Ada beberapa keunggulan lain yang bisa kita dapatkan saat menggunakan metode OOP ini.
Diantaranya:

 Improved Software Development Productivity : Sistem program dapat dimodifikasi


tanpa melibatkan banyak modul dimana hanya objek saja yang terlibat. Selain itu
sistem program dapat dikembangkan sampai skala paling kompleks.
 Improved Software Maintainability : Bagian dari software dapat dengan mudah di
maintenance jika ada perubahan meskipun dalam skala yang cukup besar.
 Faster Development : Metode ini didukung oleh banyak library objek, sehingga
mempercepat penyelesaian program dan juga projek berikutnya.
 Lower Cost of Development : Faster development tentu akan mengurangi biaya
pengembangan pembuatan program
 Higher Quality Software : Faster development pun akan memberikan lebih banyak
waktu dan sumberdaya untuk proses verifikasi software.

Kekurangannya :

1. Tidak Efisien
OOP lebih cenderung memakan tenaga CPU anda dibanding pilihan lainnya. Hal
tersebut tentu bermasalah baik bagi komputer-komputer tua dengan kekuatan yang terbatas
atau masalah teknis lainnya.

2. Membutuhkan Tingkat Manajemen Data Yang Tinggi


Jika kalian tidak cermat dalam mengontrol OOP, secara otomatis OOP akan membuat
sisa-sisa code yang tidak berguna dalam jumlah besar. Ketika hal tersebut terjadi, akan sulit
untuk menghilangkannya dan akan sangat membebani komputer.

3. Kemungkinan Duplikasi
Project-project OOP cenderung lebih mudah untuk mendesainnya. Class-class yang
sudah ada sangatlah fleksibel dalam implementasinya sehingga anda dapat merancang
project-project baru dengan cepat. Tetapi, sering tidak kalian sadari hal tersebut justru
membuat project-project yang kalian buat akan terasa seperti sekedar “duplikat” tanpa ada
inovasi.

Komponen-komponen OOP
Perwarisan (Inheritance)
Pewarisan merupakan salah satu karakteristik dari OOP. Mendefinisikan class
berdasarkan class yang ada disebut penurunan. Class baru atau class turunan berhubungan
langsung dengan class diatasnya. Class asal disebut superclass. Suatu class dapat mewariskan
atribut  dan method kepada class lain (subclass), serta membentuk class hierarchy.Penting
untuk Reusability. Menggunakan key word EXTENDS.

Banyak bentuk (Polymorphism)


Polymorphism berarti mempunyai banyak bentuk. Dua Object atau lebih mempunyai
hal yang serupa tetapi mempunyai perilaku yang berbeda. Superclass dapat mempunyai
method yang juga dimiliki oleh class turunannya. Method pada superclass dapat merupakan
method virtual digunakan program yang memanggil suatu fungsi dari suatu class,mungkin
memanggil fungsi pada class lain.

CLASS
Class pada pemrograman dapat disetarakan dengan blue print bagi suatu rumah, di
mana rumah dibangun berdasarkan blue print tersebut. Rumah tersebut adalah objek hasil
blue print. Demikian pula suatu cetakan kue adalah kelas (class) dan kue yang dibuat dengan
cetakan tersebut adalah objek. Jadi, bisa disimpulkan bahwa class merupakan blue print dari
objek dimana sebuah class menggambarkan ciri-ciri objek secara umum.
Dalam suatu class terdapat dua hal yaitu atribut dan method (fungsi) atau behavior
(kelakuan).
Struktur pembuatan class adalah sebagai berikut :
class Nama_Kelas
{
//isi dari kelas
}
Perhatian khusus bahwa Nama_Kelas harus sesuai dengan nama file.

ATRIBUT
Atribut merupakan ciri-ciri yang melekat pada suatu objek. Misalnya objek mobil
memiliki atribut merek, warna body, jumlah tempat duduk, ukuran ban. Suatu atribut bisa
berupa definisi suatu variabel atau definisi fungsi.
Berikut adalah struktur sintaks atribut yaitu sebagai berikut :
[access_modifier] [tipe_data] [nama_variabel] = [value];
Keterangan :
1. [access_modifier] digunakan untuk memberi batasan hak class maupun method. Pada
umumnya, berisi public, protected, private.
2. [tipe_data] menjelaskan apakah variabel tersebut bertipe String, int, double, dan jenis
tipe data lainnya.
3. [nama_variabel] merupakan sebutan atau definisi variabel tersebut.
4. [value] merupakan nilai dari variabel tersebut.
Contoh : private String warna = “merah”;

METHOD
Method merupakan fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai
pada atribut dan untuk melakukan hal-hal yang dapat dilakukan oleh objek itu sendiri. Dalam
hal ini method dapat berisi sekumpulan program yang telah terbungkus. Dengan method, kita
bisa memanggil kumpulan program tersebut hanya dengan memanggil nama methodnya
sehingga pekerjaan jadi lebih singkat dan tidak boros menuliskan program.
Sebagai contoh, berdasarkan objek mobil, terdapat method pengisian aki,
pembaharuan oli, percepatan, rem. Singkatnya, method bisa berupa implementasi dari suatu
fungsi.
Secara umum, method ada dua macam, yaitu method yang mengembalikan nilai dan
method yang tidak mengembalikan nilai. Method yang mengembalikan nilai biasanya berupa
sub program berjenis fungsi / non-void. Sedangkan, method yang tidak mengembalikan nilai
biasanya berupa sub program berjenis prosedur / void. Berikut adalah struktur sintaks
pembuatan method yaitu sebagai berikut :
[access_modifier] [tipe_data] nama_method(….)

Keterangan :
1. [access_modifier] digunakan untuk memberi batasan hak class maupun method. Pada
umumnya, berisi public, protected, private.
2. [tipe_data] menjelaskan apakah variabel tersebut bertipe String, int, double, dan jenis
tipe data lainnya.
3. [nama_method] merupakan sebutan atau definisi method tersebut. Umumnya method
selalu diakhiri dengan tanda kurung ()
4. (….) beriri paramater apabila diperlukan
Contoh : public void getWarna();

THIS
This digunakan untuk membedakan variabel yang dideklarasikan pada parameter di
dalam method dengan variabel yang dideklarasikan pada class.
ACCESS MODIFIER
4 akses yang tersedia pada java, yakni default, public, protected, private.

Aksesabilitas private default protected Public


Dari class yang sama Ya Ya Ya Ya
Dari package yang sama - Ya Ya Ya
Dari package yang berbeda (subclass) - - Ya Ya
Dari package yang berbeda (nonsubclass) - - - Ya

Konsep Class Diagram

Class diagram yaitu salah satu jenis diagram pada UML yang digunakan untuk
menampilkan kelas-kelas maupun paket-paket yang ada pada suatu sistem yang nantinya
akan digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai system
maupun relasi-relasi yang terdapat pada system tersebut.
Contoh :
Kita ambil class manusia. Class manusia mempunyai atribut : nama. Selain itu class manusia
juga mempunyai method : tampilkanNama, kerja, makan. Kasus diatas diimplementasikan
dalam bahasa Java sebagai berikut :
public class manusia
{
public String nama; Variabel instan
public manusia(String n)
{
this.nama = n;
}
Metode
public String tampilkanNama()
{
return nama;
Metode
}
public void makan()
{
System.out.println("Nyam... nyam... nyam...");
}
public void kerja()
{
System.out.println("Kerja...kerjaaa...");
}
}

Adapun kode untuk menginstantiasi class manusia menjadi objek Andi yang
mengimplementasikan metodh: tampilkanNama dan makan adalah sebagai berikut :
class andi
{
public static void main(String arg[])
{ Objek
manusia andi= new manusia("Andi Lao");
System.out.println("Nama= "+ andi.tampilkanNama());
andi.makan();
}
}
LATIHAN

1. Buatlah class mahasiswa dengan atribut : nama dan stambuk serta mempunyai method:
tampilkanNama, tampilkanStambuk, belajar, olahraga, makan, minum.
2. Buatlah 3 objek untuk menginstantiasi class mahasiswa dengan atribut nama dan stambuk
Anda sendiri dan 2 teman Anda serta mengimplementasikan beberapa method yang telah
Anda definisikan dalam class mahasiswa.

Anda mungkin juga menyukai