Contoh Pemrograman Berorientasi Objek (OOP) untuk
Praktek Mandiri
written by Teddy
Metode pemrograman dalam dunia programming terbagi atas 2 jenis, yaitu pemrograman
terstruktur dan pemrograman berorientasi objek, atau dikenal dengan OOP (Object Oriented
Programming). Setelah sebelumnya kami memberikan contoh pemrograman terstruktur, pada
kesempatan kali ini kami akan memberikan contoh pemrograman berorientasi objek.
Sebelumnya, mari kita berkenalan dulu sebentar dengan metode pemrograman ini.
Pemrograman berorientasi objek adalah metode pemrograman yang berorientasikan kepada
objek, dimana semua data dan fungsi dalam metode ini didefinisikan ke dalam kelas-kelas atau
objek-objek agar bisa saling bekerjasama dalam memecahkan masalah. Model data berorientasi
objek dapat memberikan fleksibilitas yang lebih banyak, memberikan kemudahan dalam
mengubah program, dan bisa digunakan secara luas dalam pemrograman skala besar.
Kelebihan dari metode pemrograman berorientasi objek sendiri adalah sebagai berikut:
1. Maintenance program lebih mudah. Program yang dibuat dengan metode pemrograman
berorientasi objek lebih mudah dibaca dan dipahami. Selain itu, pemrograman berorientasi
obyek dapat mengontrol kerumitan program hanya dengan cara mengizinkan rincian-rincian
yang dibutuhkan oleh programmer.
2. Mudah dalam pengubahan program, bisa berupa penambahan atau penghapusan fitur atau
objek tertentu. Contoh perubahan yang bisa dilakukan antara lain penambahan dan
penghapusan data di dalam suatu database.
3. Objek-objek di dalam program dapat digunakan sesering mungkin oleh programmer.
Programmer dapat menyimpan objek-objek yang dirancang ke dalam sebuah module, yang
dapat disisipkan ke dalam baris kode baru. Penambahan bisa dilakukan dengan sedikit
perubahan atau tanpa perubahan pada kode program utama.
Pemrograman berorientasi objek (selanjutnya disebut OOP) bisa digunakan jika tahap penulisan
kode program sudah mencapai tingkat kerumitan yang tinggi. Hal ini biasanya terjadi pada
bahasa pemrograman yang tingkatan bahasa pemrogramannya termasuk tinggi, sehingga
membutuhkan penulisan yang lebih kompleks. Macam-macam bahasa pemrograman yang cocok
untuk penerapan metode OOP adalah sebagai berikut:
1. Visual Foxpro
2. Java
3. C++
4. Pascal (bahasa pemrograman)
5. Visual Basic.NET
6. SIMULA
7. Smalltalk
8. Ruby
9. Python
10. PHP
11. C#
12. Delphi
13. Eiffel
14. Perl
15. Adobe Flash AS 3.0
Sebelum mempelajari lebih jauh tentang OOP, sebaiknya Anda mengetahui terlebih dulu istilah
– istilah dalam OOP berikut ini:
Class (Kelas), adalah kerangka dasar dari objek yang akan diciptakan, bisa berupa struktur
yang mendefinisikan data atau method dari objek. Contoh penamaan kelas adalah: Motor,
Laptop, Anggota, dan lainnya.
Property, adalah data yang dimiliki oleh class. Contohnya pada class Motor, memiliki
property sebagai berikut:
Tipe
Warna
Produsen
Method, adalah perilaku dari sebuah class. Bisa juga disebut sebagai tindakan yang bisa
dilakukan oleh suatu class. Contoh pada class Motor, memiliki method sebagai berikut:
Start, method untuk menjalankan motor
Stop, method untuk menghentikan laju motor
Ganti Gigi, method untuk ganti gigi
Turn, method untuk belok kiri atau kanan
Variabel Kelas, merupakan variabel yang dibagikan oleh semua turunan dari kelas. Variabel
kelas didefinisikan di dalam kelas, tapi di luar method yang ada di dalam kelas tersebut.
Data Member, merupakan variabel penyimpan data yang berhubungan dengan kelas dan
objek
Overloading Fungsi, merupakan fungsi yang namanya sama di dalam kelas, tetapi jumlah
dan tipe argumennya berbeda. Sehingga bisa dilakukan beberapa hal yang berbeda.
Overloading Operator, merupakan pembuatan beberapa fungsi untuk satu operator.
Variabel Instansiasi, merupakan variabel yang didefinisikan di dalam suatu method dan
hanya menjadi milik dari satu kelas.
Pewarisan, merupakan pewarisan karakteristik dari sebuah kelas kepada kelas lain yang
menjadi turunannya.
Instansiasi, merupakan pembuatan objek dari suatu kelas.
Baiklah, sekarang kami akan memberikan contoh pemrograman berorientasi objek yang bisa
dipraktekkan menggunakan C++, Python, dan Visual Basic. Berikut contoh-contohnya:
Contoh 1:
Program menghitung luas persegi panjang dan segitiga
#include <iostream>
using namespace std;
class PersegiPanjang{
int panjang,lebar;
public:
int luas(){
return (panjang*lebar);
}
void set_values(int x,int y){
panjang = x;
lebar = y;
}
};
class Segitiga{
int alas,tinggi;
public:
float luas(){
return (alas*tinggi*0.5);
}
void set_values(int a, int t){
alas = a;
tinggi = t;
}
};2323
int main(){
PersegiPanjang Kotak1;
PersegiPanjang Kotak2;
Segitiga Segitiga1;
Segitiga Segitiga2;
Kotak1.set_values(10,10);
Kotak2.set_values(5,5);
Segitiga1.set_values(7,6);
Segitiga2.set_values(3,7);
cout << “Luas Kotak 1 adalah ” << Kotak1.luas() << endl;
cout << “Luas Kotak 2 adalah ” << Kotak2.luas() << endl;
cout << “Luas Segitiga 1 adalah ” << Segitiga1.luas() << endl;
cout << “Luas Segitiga 2 adalah ” << Segitiga2.luas() << endl;
}
Contoh 2: Program C++ untuk Pendaftaran Mahasiswa Baru
#include <stdio.h>
void main ()
{
char nama[20],alamat [20],jenkel[6],tanya,no_telp[10];
int nim;
tanya;
cout<<"||formulir pendaftaran mahasiswa baru\n";
lagi:
{
cout<<"||Nama=";
cin>>nama;
cout<<"||NIM=";
cin>>nim;
cout<<"||Jenis kelamin=";
cin>>jenkel;
cout<<"||Alamat=";
cin>>alamat;
cout<<"||no telp=";
cin>>no_telp;
}
cout<<"data telah disimpan\n";
cout <<"input data lagi [Y/T] ??";
cin>>tanya;
if(tanya=='Y'||tanya=='y')
goto lagi;
else
goto selesai;
selesai:
getch();
}
Contoh 3: Program Python detail karyawan
class Karyawan:
jumlah_karyawan = 0
def __init__(self, nama, gaji):
self.nama = nama
self.gaji = gaji
Karyawan.jumlah_karyawan += 1
def tampilkan_jumlah(self):
print("Total karyawan:", Karyawan.jumlah_karyawan)
def tampilkan_profil(self):
print("Nama :", self.nama)
print("Gaji :", self.gaji) print()
# Membuat objek pertama dari kelas Karyawan
karyawan1 = Karyawan("Sarah", 1000000)
# Membuat objek kedua dari kelas Karyawan
karyawan2 = Karyawan("Budi", 2000000)
karyawan1.tampilkan_profil()
karyawan2.tampilkan_profil()
print("Total karyawan :", Karyawan.jumlah_karyawan)
Contoh 4: Program Visual Basic untuk Mengedit Database
Contoh berikut ini diambil dari artikel yang pernah kami bahas sebelumnya, yaitu contoh
program Visual Basic. Kami tampilkan di sini sebagai referensi Anda dalam memahami OOP
atau pemrograman berorientasi objek.
Tampilan pada form:
Listing Program:
Command Button “Simpan”
Private Sub Command1_Click()
‘Addnew = untuk membuat atau menambah data baru
Data1.Recordset.AddNew
‘perintah untuk menyimpan data yang di inputkan pada textbox ke dalam field
database
Data1.Recordset!nrp = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!jurusan = Text3.Text
‘update = perintah untuk mengupdate data yang telah ditambahkan
Data1.Recordset.Update
‘perintah untuk merefresh grid ketika data sudah ditambahkan
DBGrid1.Refresh
‘perintah untuk mengkosongkan textbox setelah data disimpan
Text1.Text = “”
Text2.Text = “”
Text3.Text = “”
End Sub
Command Button “Edit”
Private Sub Command2_Click()
‘Edit = untuk mengedit data yang sudah ada
Data1.Recordset.Edit
‘perintah untuk menyimpan data yang di sudah di edit
Data1.Recordset!nrp = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!jurusan = Text3.Text
Data1.Recordset.Update
DBGrid1.Refresh
Text1.Text = “”
Text2.Text = “”
Text3.Text = “”
End Sub
Command Button “Hapus”
Private Sub Command3_Click()
Data1.Recordset.Delete
DBGrid1.Refresh
Text1.Text = “”
Text2.Text = “”
Text3.Text = “”
End Sub
DBGrid1
Private Sub DBGrid1_Click()
‘kode perintah untuk menampilkan data yang sudah disimpan di dalam grid ke
textbox
Text1.Text = Data1.Recordset!nrp
Text2.Text = Data1.Recordset!nama
Text3.Text = Data1.Recordset!jurusan
End Sub
Contoh 5: Program VB Sederhana
Tampilan form:
Listing program
Tombol “commandbutton”:
If Text1.Text = “” Then
MsgBox (“Isi dulu Nama anda”)
Else
MsgBox (“Nama Saya” + Text1.Text + “Dan saya sedang belajar Visual Basic
6.0”)
End If
Contoh 6: Program Python untuk Menghitung Zakat Penghasilan
Contoh berikut kami ambil dari contoh program Python yang pernah kami bahas di situs ini.
nama=[]
gaji=[]
emas=[]
zakat=[]
pertahun=[]
perbulan=[]
nisab=[]
print (‘+———————————————–+’)
print (‘| Penghitung Zakat Penghasilan |’)
print (‘| menurut pendapatan kasar (brutto) |’)
print (‘| |’)
print (‘+———————————————–+’)
data=int(input(‘Masukan banyak data : ‘))
print(‘==========================================’)
for i in range(data):
a = input(‘Masukan nama : ‘)
nama.append(a)
b = int(input(‘Masukan harga emas saat ini: ‘))
emas.append(b)
c = int(input(‘Masukkan penghasilan Anda per bulan : ‘))
gaji.append(c)
print(”)
for i in range(data):
d = 12 * gaji[i]
pertahun.append(d)
e = 0.025 * pertahun[i]
zakat.append(e)
f = 85 * emas[i]
nisab.append(f)
g = zakat[i] / 12
perbulan.append(g)
for i in range(data):
print (”)
print(‘—————————————-‘)
print(‘ Zakat Penghasilan (Brutto)’)
print(‘—————————————-‘)
print(‘Nama :’,nama[i])
print(‘Harga 1 gram emas :’,’Rp.’,emas[i])
print(‘Penghasilan per bulan :’,’Rp.’,gaji[i])
print(‘Penghasilan per tahun :’,’Rp.’,pertahun[i])
print(‘Harga nishab (85 gram emas) :’,’Rp.’,nisab[i])
print(‘Zakat penghasilan :’,’2.5% x’,pertahun[i],’=’,’Rp.’,zakat[i])
if pertahun[i] >= nisab[i]:
print(‘Keterangan : WAJIB Zakat Rp.’,zakat[i],’/tahun’)
print(‘ atau Rp. ‘,perbulan[i],’/bulan’)
print(”)
if pertahun[i] <= nisab[i]:
print(‘Keterangan : Anda belum termasuk Wajib Zakat’)
Contoh Pemrograman Terstruktur untuk Bahan Belajar
Programming
written by Teddy
Pemrograman terstruktur adalah teknik pemrograman dalam merangkai instruksi-instruksi dalam
bahasa komputer agar bisa tersusun secara logis dan sistematis agar mudah dimengerti, diuji, dan
dimodifikasi. Pemrograman terstruktur membuat sebuah program sebagai kumpulan prosedur.
Dimana prosedur-prosedur tersebut dapat saling memanggil dan dipanggil dari manapun di
dalam program serta dapat mengunakan parameter yang berbeda-beda untuk setiap pemanggilan.
Bisa dibilang, pemrograman terstruktur ini merupakan implementasi dari fungsi flowchart dalam
pemrograman.
Manfaat pemrograman terstruktur dalam pembuatan program komputer adalah sebagai berikut:
Dapat membuat program yang kompleks
Menghindari konflik di internal tim pembuat program
Membagi kerja tim pembuat program berdasarkan modul-modul program yang sudah dirancang
Kemajuan pengerjaan sistem dapat diawasi dan juga dikaji
Sebuah program yang dibuat dengan pemrograman terstruktur dapat dilihat dari ciri-ciri program
yang dibuat tersebut, diantaranya:
Program tersebut handal dan berjalan dengan lancar (Run correctly)
Program tersebut sederhana dan tidak rumit (Run efficiently)
Program tersebut mudah dibaca dan ditelusuri kodingnya (Be easy to read and understand)
Program tersebut mudah ditelusuri kesalahannya (Be easy to debug)
Program tersebut mudah dimodifikasi oleh orang lain untuk dikembangkan (Be easy to modify)
Pada kesempatan kali ini, kami akan memberikan beberapa contoh pemrograman terstruktur
yang bisa Anda praktekkan sendiri di rumah. Bahasa pemrograman yang digunakan adalah C++
dan Java. Berikut ini contoh-contohnya:
Contoh 1
#include <iostream.h>
void garis() {
for (i=0; i<49; i++) cout << ‘-‘;
cout << endl;
}
void judul(){
int i;
cout << “\t\tDaftar Buku”<< endl; // \t = tabulasi
garis();
cout <<”Judul Buku”<<”\t\tPengarang”<< endl;
garis();
}
void main() {
judul();
}
Contoh 2: Program untuk menghitung Luas Segitiga
// modul penghitung luas segitiga
float Luas_sgt(float alas, float tinggi)
{
return (alas * tinggi / 2);
}
//main program
void main() {
float A, T;
cout <<”Data Alas : “; cin >> A;
cout <<”Data Tinggi : “; cin >> T;
cout <<”Luas segitiga : “ << Luas_sgt(A,T)<<endl;
}
Contoh 3: Program Java untuk Penghitungan Geometri
import java.io.*;
public class geoterstruktur
{
public static void main (String[] args) throws IOException
{
int panjang, lebar, tinggi, volume, luas, keliling;
BufferedReader input=new BufferedReader (new InputStreamReader(System.in));
System.out.println(" G E O M E T R I ");
System.out.println("===============================================");
System.out.println("");
System.out.println("");
System.out.print("Masukkan Panjang = ");
panjang=Integer.parseInt(input.readLine());
System.out.print("Masukkan Lebar = ");
lebar=Integer.parseInt(input.readLine());
System.out.print("Masukkan Tinggi = ");
tinggi=Integer.parseInt(input.readLine());
luas= panjang*lebar;
keliling=2*(panjang+lebar);
volume=panjang*lebar*tinggi;
System.out.println(" ");
System.out.println("PERSEGI PANJANG");
System.out.println("---------------------------");
System.out.println(" Panjang : "+panjang);
System.out.println(" Lebar : "+lebar);
System.out.println(" Tinggi : "+tinggi);
System.out.println(" Luas : "+luas);
System.out.println(" Keliling : "+keliling);
System.out.println(" ");
System.out.println("BALOK ");
System.out.println("--------------------------");
System.out.println("Panjang : "+panjang);
System.out.println("Lebar : "+lebar);
System.out.println("Tinggi : "+tinggi);
System.out.println("Volume : "+volume);
System.out.println(" ");
System.out.println("PROGRAM SELESAI ");
}
}
Contoh 4: Program C++ Hitungan Geometri dengan “If Else”
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
unsigned int pilihan;
cout << "MENU PILIHAN" << endl;
cout << "------------" << endl;
cout << "1. hitung luas lingkaran" << endl;
cout << "2. hitung luas persegi" << endl;
cout << "3. hitung luas segitiga" << endl;
cout << "4. exit" << endl;
cout << "------------" << endl;
while (pilihan>=0){
cout << "pilihan anda (1/2/3/4) : ";
cin >> pilihan;
if (pilihan== 1) {
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Lingkaran" << endl;
float r;
cout << "Masukan jari-jari : ";
cin >> r;
float Ll = 3.14*r*r;
cout << "Luas Lingkaran : " << Ll << endl;
cout << "-------------------------------------"<< endl;
} else if (pilihan== 2){
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Persegi" << endl;
float p;
cout << "Masukan Panjang : ";
cin >> p;
float l;
cout << "Masukan Lebar : ";
cin >> l;
float Lp = p*l;
cout << "Luas Persegi : " << Lp << endl;
cout << "-------------------------------------"<< endl;
} else if (pilihan== 3){
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Segitiga" << endl;
float a;
cout << "Masukan Alas : ";
cin >> a;
float t;
cout << "Masukan Tinggi : ";
cin >> t;
float Ls = 0.5*a*t;
cout << "Luas Segitiga : " << Ls << endl;
cout << "-------------------------------------"<< endl;
} else if (pilihan==4) {
exit(4);
} else {
cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
}
}
getch();
}
Contoh 5: Progra C++ Hitungan Geometri dengan “Switch Case”
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
unsigned int pilihan;
float r, Ll, p, l, Lp, a, t, Ls;
cout << "MENU UTAMA" << endl;
cout << "------------" << endl;
cout << "1. Menghitung luas lingkaran" << endl;
cout << "2. Menghitung luas persegi" << endl;
cout << "3. Menghitung luas segitiga" << endl;
cout << "4. Keluar" << endl;
cout << "------------" << endl;
while (pilihan>=0){
cout << "pilihan anda (1/2/3/4) : ";
cin >> pilihan;
switch(pilihan) {
case 1:
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Lingkaran" << endl;
cout << "Masukan jari-jari : ";
cin >> r; Ll = 3.14*r*r;
cout << "Luas Lingkaran : " << Ll << endl;
cout << "-------------------------------------"<< endl;
break;
case 2:
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Persegi" << endl;
cout << "Masukan Panjang : ";
cin >> p;
cout << "Masukan Lebar : ";
cin >> l; Lp = p*l;
cout << "Luas Persegi : " << Lp << endl;
cout << "-------------------------------------"<< endl;
break;
case 3:
cout << "-------------------------------------"<< endl;
cout << "Menghitung Luas Segitiga" << endl;
cout << "Masukan Alas : ";
cin >> a;
cout << "Masukan Tinggi : ";
cin >> t; Ls = 0.5*a*t;
cout << "Luas Segitiga : " << Ls << endl;
cout << "-------------------------------------"<< endl;
break;
case 4:
exit(4);
break;
default:
cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
}
}
getch();
}
Contoh 6
#include <stdio.h>
main()
{
int A=1;
clrscr();
switch(A)
{
case 1: printf(“Satu \n”); break;
case 2: printf(“Dua \n”); break;
default: printf(“Bukan Satu atau Dua…!\n”); break;
}
}
Contoh 7
#include <stdio.h>
main()
{
int i,
clrscr();
for(i=0;i<5;i++)
/*pengulangan diproses sebanyak 0 sampai 4, kenapa bisa begitu…? */
{
printf(“%d\n”,i);
}
}
Contoh 8: Program Kalkulator dengan C++
#include <stdio.h>
#include <math.h>
int nilai_A,nilai_B;
long nilai_C;
void InputData()
{
clrscr();
printf(“Input Data \n”);
printf(“Masukan Nilai A = “);scanf(“\n%d”,&nilai_A);
printf(“Masukan Nilai B = “);scanf(“\n%d”,&nilai_B);
}
int Tambah(int a,int b)
{
int c;
c=a+b;
printf(“Melaksanakan Program Penambahan \n”);
return c;
}
int Kurang(int a,int b)
{
printf(“Melaksanakan Program Pengurangan \n”);
return (a-b);
}
long Kali(int a,int b)
{
printf(“Melaksanakan Program Perkalian \n”);
return (a*b);
}
float Bagi(int a,intb)
{
printf(“Melaksanakan Program Pembagian \n”);
return a/b;
}
long Pangkat(int a,int b) /* untuk pemangkatan, Anda dapat menggunakan fungsi
pow() dari lib
<math.h> */
{
long temp;
int i;
printf(“Melaksanakan Program Pangkat \n”);
temp=1;
for(i=0;i<b;i++)
{
temp=temp*a;
}
return temp;
}
main()
{
InputData();
nilai_C=Tambah(nilai_A,nilai_B);
printf(“\nHasil A + B = %d”,nilai_C);
printf(“\nHasil A – B = %d”,Kurang(nilai_A,nilai_B);
printf(“\nHasil A x B = %d”,Kali(nilai_A,nilai_B);
printf(“\nHasil A / B = %d”,Bagi(nilai_A,nilai_B);
printf(“\nHasil A ^ B = %d”,Pangkat(nilai_A,nilaiB);
}
Contoh 9
#include <stdio.h>
main()
{
int angka[10];
int i;
clrscr();
for (i=0;i<5;i++)
{
printf(“Masukan angka sembarang : “);
scanf(“\n%d”,angka[i]);
}
printf(“\n”);
for (i=0;i<5;i++)
{
printf(“Angka ke-%d = %d”,i,angka[i]);
}
}
Contoh 10: Program konversi bilangan desimal ke bilangan biner
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
int p,n,i=0;
cout<<"Masukkan bilangan desimal: ";
cin>>p;
double A[100];
do
{
A[++i]=p%2;
p=p/2;
floor(p);
}
while (p>1);
cout<<"Nilai binernya adalah: ";
cout<<p;
for(n=i;n>=1;n--)
{
cout<<A[n];
}
getch();
}
Contoh 11: Program Perulangan (Loop)
#include <iostream.h>
void main()
{
int n;
for(;;)
{
cout<<”Masukkan bilangan integer: “; cin>>n;
if(n % 2 == 0) continue;
else if(n % 5 == 0) break;
cout<<”\tLanjutkan loop selanjutnya.\n”;
}
cout<<”Akhiri Loop.\n”;
}
Dari semua contoh program yang telah kami berikan di atas, sebenarnya jika Anda sebelumnya
telah mencoba contoh bahasa pemrograman C++ pada situs kami sebelumnya, Anda juga telah
mempraktekkan pemrograman terstruktur. Jadi, untuk mempelajari macam-macam bahasa
pemrograman, Anda harus memiliki pola pikir tersusun layaknya pemrograman terstruktur.
Karena, pemrograman terstruktur bisa diaplikasikan di semua bahasa pemrograman.
Namun, pemrograman terstruktur sendiri direkomendasikan untuk diterapkan pada beberapa
bahasa pemrograman, diantaranya:
1. Cobol Turbo Prolog
2. C atau C++
3. Pascal
4. Delphi
5. Borland Delphi
Untuk program yang sederhana, biasanya digunakan pemrograman terstruktur karena masih
mudah untuk dilakukan dan tidak banyak perubahan yang berdampak besar. Sedangkan untuk
program yang jumlah barisnya lebih dari 100 atau rumit, sebaiknya menggunakan pemrograman
berorientasi objek atau OOP (Object Oriented Programming) OOP sendiri tingkatan bahasa
pemrogramannya lebih tinggi ketimbang pemrograman terstruktur. Untuk penjelasan mengenai
OOP, Anda bisa membaca beberapa bahasan kami seputar bahasa pemrograman yang berbasis
OOP, salah satunya adalah ulasan kami seputar kelebihan dan kekurangan Visual Basic.
Sekian contoh-contoh pemrograman terstrurktur yang bisa kami berikan kepada Anda pada
artikel kali ini. Selamat mencoba dan jangan menyerah dalam mempelajari programming.