Pemrograman Berorientasi Objek - Kode + Keterangan Kode
*Artikel ini dibuat oleh saya sendiri.. Jadi sebagai admin hancur blog saya meminta maaf jika masih banyak kekurangan dalam artikel ini.. Silahkan mencari refrensi lain sebagai tambahan jika artikel ini masih belum berkenan untuk membahas lebih dalam tentang pemrograman berorientasi objek...
***Program C++ ini menggunakan aplikasi Borland C++
BAB
I
STRUKTUR
1.1.
TUJUAN
Tujuan
pembelajaran dalam bab ini yaitu:
1.
Mengetahui pengertian dan pengaksesan
struktur
2.
Mampu mengelompokkan sejumlah data
dengan tipe yang berlainan.
3.
Mengetahui pengertian kelas dan cara
pengaksesannya.
1.2. DASAR TEORI
1.2.1.
Struktur
Struktur adalah pengelompokan
variabel-variabel yang bernaung dalam satu nama yang sama. Variabel-variabel
yang membentuk suatu struktur, selanjutnya disebut sebagai elemen dari struktur
atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen-elemen
data berbeda tipe seperti char, int, float, double, dan lain-lain.
Tipe
data struct secara umum adalah untuk
menyimpan paket (sekumpulan) data ke dalam satu buah nama variabel saja.
Kumpulan data tersebut diikat sedemikian rupa menjadi satu. Kumpulan data di
dalam sebuah struct bisa mempunyai tipe data dasar yang beraneka ragam.
Kumpulan data dalam sebuah struct
sangat dianjurkan membentuk sebuah kesatuan makna berkaitan dengan nama struct-nya. Misal, jika struct-nya bernama segitiga maka isi struct-nya antara lain: alas, tinggi,
luas dan keliling. Konsep yang lebih lanjut dapat juga dalam sebuah struct terdapat struct lagi (nested struct).
1.2.2. Struct untuk Array
Array adalah struktur data yang terdiri dari item berurutan, di mana semua itemnya
bertipe sama. Dalam Java, item dalam
array selalu dinomori dari nol hingga nilai maksimum tertentu, yang nilainya
ditentukan pada saat array tersebut dibuat. Misalnya, suatu array berisi 100
bilangan bulat, yang dinomori dari nol hingga 99. Item dalam array bisa bertipe
salah satu tipe Java primitif. Item-item
ini bisa juga berupa referensi ke objek, sehingga, misalnya kita bisa membuat
array yang berisi semua komponen dalam applet. Bagian ini akan membahas
bagaimana array dibuat dan digunakan pada Java. Juga mencakup kelas standar
java.util.ArrayList. Suatu objek bertipe ArrayList sangat mirip dengan array
dari Object, akan tetapi ia bisa bertambah ukuran secara dinamis.
1.2.3. Analogi Struktur dan Kelas
Dalam paradigma pemrograman berorientasi
obyek dikenal kelas dan obyek. Kelas merupakan blue print dari obyek – obyek yang akan dibuat. Analogi kelas dan
obyek seperti rancangan model rumah
dan pembangunan rumah-rumah, adapun
proses pembuatan obyek dari kelas dikenal dengan instantiasi.
Pembuatan
obyek dari kelas dengan instantiasi. Sebagai contoh kita ambil kelas manusia.
Kelas manusia mempunyai atribut : nama. Selain itu kelas manusia juga mempunyai
method : tampilkan nama, kerja, makan.
Method
Abstrac
Method Abstrac adalah method yang belum mempunyai
implementasi. Pendefinisian method abstract adalah dengan menambahkan keyword
abstract, seperti contoh dibawah ini :
Abstract void berangkat_kerja ();
Sebuah
kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan
tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah
menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa
pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga
tidak mengenal struktur tapi mengenal apa yang disebut dengan kelas.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat
berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang
lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih
fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program
utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk
disalin bagian strukturnya ke kode program utama yang lain. Sebuah file
dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java
sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama
kelas, misal file List.java berisi kelas List. Namun jika
kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus
disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan
kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode
dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka
setelah dikompilasi akan dihasilkan dua buah file .class yang nantinya
akan dibaca oleh interpreter Java saat program dieksekusi.
Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka
akan dibuat sebuah objek. Objek adalah elemen pada saat runtime yang
akan diciptakan, dimanipulasi dan dihancurkan saat eksekusi sehingga sebuah
objek hanya ada saat sebuah program dieksekusi, jika masih dalam bentuk kode,
disebut sebagai kelas jadi pada saat runtime (saat sebuah program
dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita
lihat hanyalah kelas.
1.3.
ANALISA
PRAKTIKUM
1.3.1.
Struktur
Struktur bermanfaat untuk
mengelompokkan sejumlah data dengan tipe yang berlainan.
Contoh deklarasi struktur :
1.
struct mahasiswa
{
2.
int nim;
3.
char nama[50];
4.
char alamat[75];
};
Keterangan :
1.
Struct adalah definisi dari struktur
yang dimana mahasiswa menjadi bagian dari strukturnya.
2.
Untuk nim memakai int
karena nim berupa angka jadi memakai tipe data integer.
3.
Untuk nama memakai char
karena nama berupa huruf jadi yang dipakai adalah tipe data karakter dengan
nilai 50 karena sebagai batasan kalau nama dapat dimasukkan sampai 50 huruf.
4. Sama
seperti char
nama. Alamat pun memakai tipe data char dengan nilai 75
sebagai pendeklarasiaannya.
1.3.2.
Pengaksesan
Struktur
1.
Bentuk
1
//untuk no. 1,2,3.. itu cuma keterangan untuk penjelasannya.. jadi jangan ditulis diprogramnya
1
#include
2
#include
3
#include
4
void main()
{
5
struct mahasiswa
{
6 int nim;
7 char nama[50];
8 char alamat[75];
};
9 mahasiswa
satu;
10 satu.nim=8;
11 strcpy(satu.nama,"Mahendra Data");
strcpy(satu.alamat,"Jl. Manyar No.5 Semarang");
12 cout<
13 getche();
}
Dan hasilnya adalah :

Gambar 1.1. Hasil eksekusi struktur
bentuk 1
|
Keterangan :
1.
Untuk no. 1 hingga No. 3 adalah header
dari file program.
2.
No. 4 adalah void main
yang merupakan void utama yang merupakan fungsi utama dari program.
3.
No. 5 struct mahasiswa untuk
pendeklarasian dengan jenis mahasiswa.
4.
No. 6 int nim memakai int karena nim berupa angka jadi
memakai tipe data integer sebagai pendeklarasiaannya.
5.
No. 7 char nama[50] maksudnya
untuk nama memakai char karena nama berupa huruf jadi yang dipakai adalah tipe
data karakter dengan nilai 50 karena sebagai batasan kalau nama dapat
dimasukkan sampai 50 huruf.
6.
No. 8 char alamat[75] maksudnya
Sama seperti char nama. Alamat pun memakai tipe data char dengan nilai 75
sebagai pendeklarasiaannya.
7.
No. 9
mahasiswa
satu maksudnya
adalah objeknya.
8.
No. 10 satu.nim=8 maksudnya
adalah sebagai keterangan dari objek.
9.
No. 11 strcpy mempunyai
fungsi untuk menginputkan data yang dideklarasikan didalamnya.
10.
No. 12 cout<< perintah untuk
menampilkan program dalam hasil eksekusi.
11.
No. 13 getche(); bermaksud
untuk fungsi balik program dalam borland c++ dan jika memakai turbo c++ getche()tidak
diperlukan.
2.
Bentuk
2
#include
#include 1
#include
struct mahasiswa 2
{
int
nim;
char
nama[50]; 3
char
alamat[75];
};
void main() 4
{
mahasiswa satu; 5
satu.nim=8; 6
strcpy(satu.nama,"Mahendra Data");
strcpy(satu.alamat,"Jl. Manyar No.5
Semarang");
7
cout<
getche();
}
Dan hasil eksekusinya adalah :
Gambar 1.2. Hasil eksekusi struktur bentuk
2.
|
Keterangan :
1.
Untuk no. 1 adalah header dari file
program.
2.
struct mahasiswa bermaksud untuk
mendeklarasikan struktur mahasiswa.
3. Inputan
pada struct mahasiswa yang akan ditampilkan dalam hasil eksekusi. Dimana yang
digunakan adalah script char (untuk tipe data
karakter) int (tipe data bilangan bulat) .
4.
void main yang merupakan void
utama yang merupakan fungsi utama dari program.
5.
mahasiswa satu maksudnya adalah
objeknya.
6.
satu.nim=8 maksudnya adalah
sebagai keterangan dari objek.
7.
strcpy mempunyai fungsi untuk
menginputkan data yang dideklarasikan didalamnya.
8.
cout<< perintah untuk
menampilkan program dalam hasil eksekusi.
3. Bentuk 3
#include
#include 1
#include
struct mahasiswa 2
{
int nim;
char nama[50]; 3
char alamat[75];
}satu; 4
void main() 5
{
satu.nim=8;
strcpy(satu.nama,"Mahendra
Data");
strcpy(satu.alamat,"Jl.
Manyar No.5 Semarang");
cout<
getche();
}
Dan hasilnya
adalah :
Gambar 1.3. Hasil eksekusi struktur
bagian 3.
|
Keterangan :
1.
Untuk no. 1 adalah header dari file
program.
2. Pada
scirpt No. 2 struct mahasiswa bermaksud untuk
mendeklarasikan struktur mahasiswa.
3. Script
No. 3 Inputan pada struct mahasiswa yang akan ditampilkan dalam hasil eksekusi.
4. No.
4,
satu; merupakan
inisialisasi.
5.
No. 5, void main
yang merupakan void utama yang merupakan fungsi utama dari program.
4.
Bentuk 4
1 #include
#include
#include
2 void
main()
{
3 struct
mahasiswa
{
4 char
nim[8];
char
nama[10];
int
umur;
};
5 mahasiswa
amir={"9651001","Amir",20};
mahasiswa
amat={"9651002","Amat",22};
mahasiswa
tuti={"9651003","Tuti",19};
cout<<"Mahasiswa
pertama : "<
6 cout<<"Mahasiswa
pertama : "<
cout<<"Mahasiswa
pertama : "<
cout<
cout<<"Mahasiswa
kedua : "<
cout<<"Mahasiswa
kedua : "<
cout<<"Mahasiswa
kedua : "<
getche();
}
Dan hasilnya adalah :
Gambar 1.4. Hasil eksekusi struktur
bentuk 4
|
Keterangan :
1.
Untuk no. 1 adalah header dari file
program.
2.
No.2, void main
yang merupakan void utama yang merupakan fungsi utama dari program.
3. No.
3,
struct mahasiswa bermaksud untuk mendeklarasikan struktur
mahasiswa.
4. No.
4, Inputan pada strcut mahasiswa yang akan ditampilkan dalam hasil eksekusi.
5.
No. 5, Input yang akan ditampilkan saat
fungsi karakternya dipanggil pada saat eksekusi berlangsung.
6.
No. 6, cout<< perintah untuk
menampilkan program dalam hasil eksekusi.
1.3.3.
Struct
Untuk Array
Contoh Source code Struct untuk ARRAY ini adalah seperti berikut :
#include
#include
#include 1
#include
struct orang 2
{
char nama[50]; 3
int umur;
};
void main() 4
{
orang
saya[3]; 5
int i,x; 6
for(i=0;i<=2;i++) 7
{
cout<<"Nama
orang ke "<<(i+1)<<" adalah :";
cin>>saya[i].nama;
cout<<"Umur
orang ke "<<(i+1)<<"adalah :";
cin>>saya[i].umur; 8
}
cout<
for(x=0;x<=2;x++)
{
cout<<"Nama
orang ke "<<(x+1)<<"adalah :"<
cout<<"Umur
orang ke "<<(x+1)<<"adalah
:"<
}
getche();
}
Dan hasil eksekusinya adalah :
Gambar 1.5. Hasil eksekusi struct untuk
array.
|
Keterangan
:
1. Untuk
no. 1 adalah header dari file program.
2.
No.2, struct berarti
menunjukkan definisi fungsi struktur yang digunakan dalam program tersebut. Dan
orang menunjukkan struktur
tag-nya.
3.
No. 3, Inputan pada strcut orang yang
akan dimasukkan dalam hasil eksekusi.
4.
No.4, void main
yang merupakan void utama yang merupakan fungsi utama dari program.
5.
No.5, orang
saya[3] hanya sebagai istilah, dan jumlah orangnya ada 3 dan sebagai
pendeklarasian tipe data array pada program tersebut.
6.
No. 6, i dan x masuk dalam bilangan
integer karena masukkannya berupa angka.
7.
No. 7, for(i=0;i<=2;i++) yang
dimana i=0 adalah nilai awal dari variabel. i<=2 berarti angka masukkan
nanti kurang dari 2. Sedangkan i++ sebagai pengatur kenaikan nilai variabel
pengendali loop.
8.
No.8, cout<< perintah untuk
menampilkan program dalam hasil eksekusi.
9.
No.9, cout<berfungsi
agar hasil eksekusi selanjutnya diberi jarak satu enter.
1.3.4.
Analogy
Struct Dalam Kelas
Kelas merupakan struktur dari
objek, yang contohnya sebagai berikut :
#include
#include 1
#include
struct buku 2
{
char judul[35];
char pengarang[25]; 3
int jumlah;
};
void main() 4
{
clrscr(); 5
buku
novel; 6
strcpy(novel.judul,"Meriam
Benteng Navarone"); 7
strcpy(novel.pengarang,"Alistair
Maclean");
novel.jumlah=12; 8
cout<
cout<
cout<
getche();
}
Dan hasilnya adalah :
Gambar 1.6. Hasil eksekusi untuk
analogi struktur
|
Keterangan
:
1.
Untuk no. 1 adalah header dari file
program.
2.
struct berarti
menunjukkan definisi struktur. Dan buku
menunjukkan struktur tag-nya.
3.
Inputan pada struct buku yang akan
dimasukkan dalam hasil eksekusi.
4.
void main yang merupakan void
utama yang merupakan fungsi utama dari program.
5. clrscr atau
clear screen berfungsi untuk membersihkan layar.
6. buku novel merupakan
objek.
7. strcpy mempunyai
fungsi untuk menginputkan data yang dideklarasikan didalamnya.
8. novel.jumlah=12;
untuk
mendefinisikan bahwa jumlah adalah 12.
9.
cout<< untuk menampilkan
program dalam hasil eksekusi.
Dan jika
dijadikan kelas, maka hasilnya sebagai berikut :
#include
#include 1
#include
class buku 2
{
public: 3
char judul[35];
char pengarang[25]; 4
int jumlah;
};
void main() 5
{
clrscr();
buku novel;
strcpy(novel.judul,"Meriam Benteng Navarone");
strcpy(novel.pengarang,"Alistair Maclean");
novel.jumlah=12;
cout<
cout<
cout<
getche();
}
Dan hasil
eksekusinya adalah sebagai berikut :
Gambar 1.7. Hasil eksekusi dari analogi
struktur yang dikadikan kelas
|
Keterangan
:
1.
Untuk no. 1 adalah header dari file
program.
2. class buku untuk
mendefinisikan jenis kelasnya adalah buku.
3. public: untuk
memberikan hak akses secara umum.
4.
Inputan pada class buku yang akan
dimasukkan dalam hasil eksekusi.
5.
void main yang merupakan void
utama yang merupakan fungsi utama dari program.
1.4.
KESIMPULAN
Dari percobaan-percobaan diatas maka kita dapat
menarik kesimpulan sebagai berikut :
1. Struktur
bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan
2. Struktur
mempunyai 4 bentuk yang berbeda tetapi mempunyai hasil eksekusi yang sama.
3. Untuk
mengubah analogi struktur menjadi kelas, kita cukup mengganti kode struct menjadi
class.
berguna sekali terima kasiih
BalasHapus