1.2 TUJUAN
Setelah menyelesaikan modul ini, mahasiswa diharapkan mampumembuat
kelas baru dari kelas yang sudah ada dengan pewarisan.
Objek yang dikelompokkan dalam satu kelas men-share sekumpulan atribut dan
perilaku. Jadi, seluruh objek kendaraan bermotor memiliki sekumpulan atribut dan
perilaku yang juga dimiliki oleh objek dari mobil. Keterkaitan antar kelas dalam relasi
is-a berasal dari kenyataan bahwa sub kelas memiliki atribut dan perilaku yang
dimana kelas induk, ditambah atribut dan perilaku yang dimiliki oleh sub kelas
tersebut.
Superclass (kelas dasar atau kelas induk) merupakan kelas yang lebih general
dalam relasi is-a. Subclass ( kelas turunan atau kelas anak) merupakan kelas
yang lebih spesifik dalam relasi is-a. Objek yang dikelompokkan dalam sub kelas
memiliki atribut dan perilaku kelas induk, dan juga atribut dan perilaku tambahan.
(Jadi, kumpulan atribut dan perilaku sub kelas lebih besar dari super kelas-nya). Relasi
is-a antar superclass dan subclasses-nya disebut dengan pewarisan atau inheritance.
Subclass mewarisi suatu superclass (atau juga bisa dikatakan sebuah subclass
turunan dari suatu superclass) karena reusabilitas Perangkat Lunak, membuat kelas
baru (kelas turunan) dari kelas yang sudah ada (kelas dasar), kelas turunan mewarisi
kelas induk yang mendapatkan data dan perilaku, merupakan bentuk spesial dari kelas
induk, dan diperluas dengan perilaku tambahan.
Pewarisan ada dua jenis yaitu pewarisan tunggal dan pewarisan jamak. Pada
protected access, protected members dapat diakses oleh member kelas dasar, friend
kelas dasar, member kelas turunan, dan friend kelas turunan. Kelas turunan dapat
merujuk/mengakses langsung public dan protected data member kelas induk dengan
menggunakan nama atribut yang yang diakses.
BAB II
PEMBAHASAN
#include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untuk
meletakan kode dari header file. Dan <iostream.h> adalah sebuah header file yang
digunakan untuk menampilkan perintah :
a. Cin
Merupakan fungsi masukan(digunakan untuk menyimpan data dalam suatu variabel).
Bentuk umum: cin>>var x;
b. Cout
Merupakan fungsi keluaran(digunakan untuk menampilkan data ataupun tulisan).
Bentuk umum: cout<<tulisan; atau cout<<var x;
c. Endl
Digunakan untuk pindah baris/ enter. Bentuk umum: cout<<tulisan<<endl;
d. Ends
<conio.h> adalah sebuah header file yang digunakan untuk menampilkan perintah :
a. getch
berfungsi untuk menahan tampilan. Bentuk umum: getch();
b. clrscr
berfungsi untuk membersihkan layar. Bentuk umum: clrscr;
c. getche
Fungsi dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan
tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan
ditampilkan di layar.
d. Putch
Akan menampilkan karakter ASCII dari nilai x ke layer monitor tanpa memindahkan
letak kursor ke baris berikutnya.
e. Clreol
Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom
terakhir, posisi kursor tiak berubah.
f. Gotoxy
Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.
g. Wherex
Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.
h. Wherey
Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.
i. Window
Fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan koordinat
kiri atas dan kanan bawah.
Baris program di atas terdapat class dengan nama Point, yang mempunyai methods
dengan mode akses public yang berarti menyebabkan anggota dari public dari sebuah kelas
utama akan menjadi anggota public kelas turunan dan menyebabkan juga anggota protect
kelas utama menjadi anggota protect kelas turunan, namun untuk anggota kelas private tetap
pada private kelas utama, selanjutnya ada constructor yaitu Point mempunyai data member
dua buahyang mempunyai tipe data yaitu float, yang keduanya mempunyai nilai 0.0.
dimethods ini mempunyai fungsi void dengan nama cetakPoint. Baris selanjutnya merupakan
attribute dari class Point dengan mode akses private yang berarti akses berbasis private
menyebabkan anggota dari anggota public dari kelas utama akan menjadi anggota protect
kelas turunan, dan menyebabkan anggota dari kelas utama menjadi anggota protect kelas
turunan, namun untuk anggota kelas private tetap pada private kelas utama, di attribute ini
mempunyai variabel dengan nama x, y, yang semuanya bertipe float.
Dibagian ini constructor Point yang bertugas untuk mendefinisikan dua buah data
memeber dari Point yaitu dengan a, b. Selanjutnya data member dari Point yaitu a, b, akan di
serahkan/sama dengan yaitu variabel x=a, y=b, dan cout menampilkan string Konstruktor
Point dijalankan .
Baris program di atas adalah pewarisan yaitu class Circle yang mewarisi methods dan
attribute dari class Point yang mode akses bersifat public. Sealnjutnya constructor Circle
yang di tambah satu variable yaitu variabel r dengan tipe data float. Disini membaut variabel
baru yaitu dengan nama area dengan tipe data float, dan ada fungsi void cetakPoint yang telah
diwarisi dari class cetakPoint. Selanjutnya ada attribute yang mode aksesnya bersifat
protected, dibagian ini terdapat variabel dengan nama radius, dan l yang keduanya
mempunyai tipe data float.
Baris program di atas adalah constructor Circle mewarisi data member dari construktor
Point yaitu variabel a dan b. Selanjutnya cout menampilkan string Konstruktor Circle
dijalankan, dan nilai dari variabel r di pindahkan ke variabel radius.
Selanjutnya ada fungsi area() yang bertipe data float dari class Circle yang mempunyai
statement yaitu variabel l=3.14*radius*radius yang merupakan rumus dari luas liangkaran,
dan return l yang merupakan nilai balikan dari fungsi. Nilai yang dibalikan adalah nilai dari
perhitungan variabel l.
Baris program di atas adalah constructor Cylinder mewarisi data member dari
construktor Circle yaitu variabel a, b dan r. Selanjutnya cout menampilkan string
Konstruktor Cylinder dijalankan, dan nilai dari variabel h di pindahkan ke variabel height.
Selanjutnya ada fungsi area() yang bertipe data float dari class Cylinder yang
mempunyai statement yaitu variabel l=(2*Circle::area() + 2*3.14*radius*height) yang
merupakan rumus dari luas tabung, dan return l yang merupakan nilai balikan dari fungsi.
Nilai yang dibalikan adalah nilai dari perhitungan variabel l.
Gambar 2.1.12. program pertama
Selanjutnya ada fungsi vol() yang bertipe data float dari class Cylinder yang
mempunyai statement yaitu variabel v=(Circle::area()*heught) yang merupakan rumus dari
volume tabung, dan return v yang merupakan nilai balikan dari fungsi. Nilai yang dibalikan
adalah nilai dari perhitungan variabel v.
Baris program di atas merupakan fungsi void cetakPoint() dari class Cylinder, yang
mempunyai statement pemanggilan fungsi cetakPoint() dari class Circle. Selanjutnya ada
cout menampilkan string dan nilai dari variabel heoght, l, dan v.
Baris program di atas merupakan inti dari fungsi-fungsi yang sudah dideklarasikan,
pada bagian construktor Point di wakilkan huruf p, p disini mengisi nilai dari constructor
Point yaitu dengan nilai (1.1, 2.2). Dan constructor Circle diwakilkan dengan lingkaran,
lingakran disini mengisi nilai dari constructor Circle yaitu (10, 5, 5), dan construktor Cylinder
di wakilkan dengan tabung, tabung disini mengisi nilai dari constructor Cylinder yaitu
dengan nilai (20, 30, 3, 4). Dan ada getch() berfungsi untuk menahan tampilan di layar, dan
juga ada return 0 yang berarti program berakhir dan tidak error.
2.2 Program tugas
#include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untuk
meletakan kode dari header file. Dan <iostream.h> adalah sebuah header file yang
digunakan untuk menampilkan perintah :
a. Cin
Merupakan fungsi masukan(digunakan untuk menyimpan data dalam suatu variabel).
Bentuk umum: cin>>var x;
b. Cout
Merupakan fungsi keluaran(digunakan untuk menampilkan data ataupun tulisan).
Bentuk umum: cout<<tulisan; atau cout<<var x;
c. Endl
Digunakan untuk pindah baris/ enter. Bentuk umum: cout<<tulisan<<endl;
d. Ends
<conio.h> adalah sebuah header file yang digunakan untuk menampilkan perintah :
a. getch
berfungsi untuk menahan tampilan. Bentuk umum: getch();
b. clrscr
berfungsi untuk membersihkan layar. Bentuk umum: clrscr;
c. getche
Fungsi dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan
tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan
ditampilkan di layar.
d. Putch
Akan menampilkan karakter ASCII dari nilai x ke layer monitor tanpa memindahkan
letak kursor ke baris berikutnya.
e. Clreol
Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom
terakhir, posisi kursor tiak berubah.
f. Gotoxy
Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.
g. Wherex
Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.
h. Wherey
Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.
i. Window
Fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan koordinat
kiri atas dan kanan bawah.
Baris program di atas ada class dengan nama Balok methods dengan mode akses public
yang berarti menyebabkan anggota dari public dari sebuah kelas utama akan menjadi anggota
public kelas turunan dan menyebabkan juga anggota protect kelas utama menjadi anggota
protect kelas turunan, namun untuk anggota kelas private tetap pada private kelas utama,
mempunyai constructor Balok(), dan ada fungsi void dengan nama SetUkuran yang
mempunyai data member 3 buah tipe dta yaitu float yang belum di tentukan nama
variabelnya. Dan ada dua fungsi yang bertipe data double dengan nama hitungVolume dan
hitungKeliling. Selanjutnya ada attribute yang mode aksesnya bersifat protectred yang
berarti akses berbasis private menyebabkan anggota dari anggota public dari kelas utama
akan menjadi anggota protect kelas turunan, dan menyebabkan anggota dari kelas utama
menjadi anggota protect kelas turunan, namun untuk anggota kelas private tetap pada private
kelas utama, di attribute ini mempunyai tiga variabel yang bertipe float dengan nama pjg, lbr,
dan tinggi.
Baris program di atas ada fungsi SetUkuran yang mempunyai tiga buah parameter yang
semuanya bertipe data float, yaitu p, l, t. Selanjutnya ada variabel p, l, t, yang nilainya
dipindahkan ke variabel pjg, lbr, tinggi. Fungsi ini berguna untuk mentranslasikan variable
global ke variable local.
Baris program di atas, pada kelas Persegi ini merupakan pendeklarasian dari fungsi
fungsi dan variabel yang ada pada kelas Persegi. Semua fungsi yang ada pada kelas Persegi
ini diturunkan dari kelas Balok tadi. Perbedaannya terdapat pada variable yang digunakan,
jika dikelas balok tadi ada 3 variabel yang digunakan, di kelas Persegi ini hanya ada 2
variabel yang akan digunakan. Rumus di fungsi hitungVolume() dan hitungKeliling() juga
berbeda dengan kelas Balok, hal ini karena tujuan dari fungsi fungsi tersebut berbeda
namun memiliki kegunaan yang sama, yaitu perhitungan.
Fungsi SetUkuran() mempunyai dua buah parameter yang semuanya bertipe data float,
yaitu p, dan l. Selanjutnya ada variabel p, l, yang nilainya dipindahkan ke variabel pjg, lbr.
Fungsi ini berguna untuk mentranslasikan variable global ke variable local.
Gambar 2.2.8. program tugas
Fungsi hitungVolume() dan hitungKeliling() yang ada pada kelas Persegi ini tidak jauh
berbeda dengan yang ada di kelas Balok. Digunakan untuk memberikan nilai balikan sesuai
dengan rumus yang ditentukan. Itu sebabnya kedua fungsi ini menggunakan tipe data double
karena digunakan untuk melakukan proses perhitungan yang akan memberikan nilai balikan.
Bagian main() ini merupakan inti dari program tugas, dibagian program ini terdapat
baris program yang berfungsi untuk meminta user program untuk menginputkan masukan
sesuai yang diminta. Hasil inputan user tadi akan diproses oleh fungsi fungsi yang telah
dideklarasikan dari tiap kelas yang ada. Fungsi fungsi tersebut dipanggil dibagian main()
ini. Saat program berhasil berjalan tanpa ada error maka inti program ini akan memberikan
kembalian nilai yaitu 0.
BAB III
KESIMPULAN
Inheritance / pewarisan adalah cara untuk menghemat penggunaan objek / fungsi dalam
kelas. Jadi saat membuat kelas baru tidak perlu membuat kelas dasar yang baru. Cukup
dengan membuat kelas turunan dari kelas yang ada. Karena sifatnya yang khusus yaitu dapat
mewariskan fungsi dan variabel yang ada pada kelas dasar dan ditambah dengan fungsi dan
variabel kelas turunan itu sendiri.
BAB IV
DAFTAR PUSTAKA
Kakkim, Aliy, Wajar.2014.Jenis Header File C++ dan Contoh Programnya Aliy Kakkim
http://tekhno-silver.blogspot.co.id/2014/03/jenis-header-file-c-dan-contoh.html.Diakses
pada tanggal 15 Mei 2017