Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1.) Musik
program jenis_musik;
uses wincrt;
const
max = 10 ;
musik : array [1..10] of string =
('1.pop','2.dangdut','3.jazz','4.keroncong','5.reggae','6.acapella','7.rock','8.heavy metal','9.instrumental','10.blues');
var
i: integer;
begin
Writeln('-----------------------------');
Writeln('Daftar 10 jenis aliran musik');
writeln('-----------------------------');
for i:= 1 to max do
begin
writeln (musik[i]);
end;
end.
2.) Rata rata
program buahapel;
uses WinCrt;
const
batas = 3;
type
apel = record
nama : string;
kualitas : char;
harga : string;
end;
ProdukApel=array [1..batas] of apel;
var
A: ProdukApel;
i:integer;
jenis : string;
sari,jenang,buah : apel;
begin
writeln('Spesifikasi Kualitas dan Harga Produk Olahan dan Buah Apel');
writeln;
writeln('------------------------------------------');
writeln(' Daftar Pilihan Produk Apel ');
writeln('------------------------------------------');
writeln(' Sari ');
writeln(' Jenang ');
writeln(' Buah ');
writeln('------------------------------------------');
write('Masukkan nama produk apel yang diinginkan : ');
readln(jenis);
{memasukkan data}
sari.nama:='Sari Apel';
sari.kualitas:='A';
sari.harga:='Rp.550';
jenang.nama:='Jenang Apel';
jenang.kualitas:='B';
jenang.harga:='Rp.750';
buah.nama:='Buah Apel';
buah.kualitas:='C';
buah.harga:='Rp.950';
if jenis='sari' then
begin
ClrScr;
writeln('Nama : ',sari.nama);
writeln('Kualitas: ',sari.kualitas);
writeln('Harga : ',sari.harga);
readln;
end
else
if jenis='jenang' then
begin
clrscr;
writeln('Nama : ',jenang.nama);
writeln('Kualitas: ',jenang.kualitas);
writeln('Harga : ',jenang.harga);
readln;
end
else
if jenis='buah' then
begin
clrscr;
writeln('Nama : ',buah.nama);
writeln('Kualitas: ',buah.kualitas);
writeln('Harga : ',buah.harga);
readln;
end
else
writeln('Maaf, produk yang anda inginkan tidak tersedia');
end.
3.) Denah
program denah_kelas;
uses wincrt;
var
denah:array[1..5,1..4] of string;
i,j: integer;
begin
ClrScr;
denah[1,1]:='abdul';
denah[1,2]:='rahman';
denah[1,3]:='nasution';
denah[1,4]:='dul';
denah[2,1]:='rahma';
denah[2,2]:='tio';
denah[2,3]:='uti';
denah[2,4]:='rahma';
denah[3,1]:='dio';
denah[3,2]:='rahmat';
denah[3,3]:='ahmat';
denah[3,4]:='tri';
denah[4,1]:='dion';
denah[4,2]:='riki';
denah[4,3]:='dakusta';
denah[4,4]:='rika';
denah[5,1]:='riki';
denah[5,2]:='usta';
denah[5,3]:='rick';
denah[5,4]:='rida';
for i:= 1 to 5 do
begin
for j:= 1 to 4 do
write (denah[i,j]:10);
writeln;
end;
end.
4.) SINARABADI 1
Program HapusTeks;
Uses wincrt;
Var
S:string;
Begin
Clrscr;
S:='SINARABADI';
Writeln(S);
delete (S, 10, 1); Writeln(S);
delete (S, 9, 2);Writeln(S);
delete (S, 8, 3);Writeln(S);
delete (S, 7, 4);Writeln(S);
delete (S, 6, 5);Writeln(S);
delete (S, 5, 6);Writeln(S);
delete (S, 4, 7);Writeln(S);
delete (S, 3, 8);Writeln(S);
delete (S, 2, 9);Writeln(S);
delete (S, 1, 10);Writeln(S);
Readln;
end.
5.) SINARABADI 2
Program HapusTeks;
Uses wincrt;
Var
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12:string;
hasilconcat:string;
Begin
Clrscr;
s1:='S';
s2:='I';
s3:='N';
s4:='A';
s5:='R';
s6:='A';
s7:='B';
s8:='A';
s9:='D';
s10:='I';
hasilconcat:=concat(s1);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8,s9);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
writeln(hasilconcat);
Readln;
end.
6.) Record berisi Array
program arrayRecord;uses wincrt;
const MAX = 100;type Mhs = record
NIM : string[8];Nama: string[25];Nilai: array[1..3] of real;
End; TKumpulanMhs = array[1..MAX] of Mhs;
Var A:TKumpulanMhs; I, N: integer; NA: real; Begin Write ('Masukkan jumlah siswa yang akan diisikan: '); Readln (N); Writeln; {memasukkan data} Writeln ('Memasukkan data'); Writeln ('----------------------------------------------'); For i:= 1 to N do Begin Writeln ('Data siswa ke-', i); With A[i] do Begin
Write (' NIM : '); readln(NIM);Write (' Nama : '); readln(Nama);Writeln (' Nilai');Write (' Nama ke-1 (Kuis) : '); readln(Nilai[1]);Write (' Nama ke-2 (UTS) : '); readln(Nilai[2]);Write (' Nama ke-2 (UAS) : '); readln(Nilai[3]);
End; Writeln; End; {menampilkan data} Writeln('DAFTAR NILAI MAHASISWA'); Writeln('----------------------------------------------'); Writeln('NIM’:8, ‘’:2, ‘Nama’:25, ‘’:2, ‘NILAI'); Writeln('----------------------------------------------');
For i:=1 to N do Begin With A[i] do Begin
NA := (0.2*Nilai[1]) + (0.3*Nilai[2]) + (0.5*Nilai[3]);
Write (NIM:8, '':2, NAMA:25, '':2, NA:0:2); End; Writeln; End; Readln;End.
7.) Array berisi Record
program Welcome;
uses
WinCrt;
Const
maks = 100;
type
TSiswa = record
nim : string[15];
nama: string[25];
end;
TKumpulanSiswa = array[1..maks] of TSiswa;
var
i, n : integer;
A: TKumpulanSiswa;
begin
clrscr;
Writeln ('Jumlah Siswa: ');
readln (n);
writeln;
{memasukkan data dalam array}
writeln ('----------------------------------------------');
for i:= 1 to n do
begin
writeln ('Data Siswa ke-', i);
write ('Nim : '); readln (a[i].nim);
write ('Nama : '); readln (a[i].nama);
writeln;
end;
{menampilkan data dari array}
writeln ('DAFTAR SISWA');
writeln ('----------------------------------------------');
writeln ('NIM ', ' ':2, 'NAMA');
writeln ('----------------------------------------------');
for i:= 1 to n do
begin
writeln (a[i].nim, ' ':2, a[i].nama);
end;
end.
8.) Kuadran
program kuadrantpoint;uses wincrt;
type point = record x : integer; {absis} y : integer; {ordinat}end;var p : point; kuadran : integer;begin writeln ('Masukkan absis p'); readln (p.x); writeln ('Masukkan ordinat p'); readln (p.y); if (p.x > 0) and (p.y > 0) then kuadran := 1 else if (p.x < 0) and (p.y > 0) then kuadran := 2 else if (p.x < 0) and (p.y < 0) then kuadran := 3
else if (p.x > 0) and (p.y < 0) then kuadran := 4 else kuadran := 0;
writeln ('Point (', p.x, ',', p.y, ') berada di kuadran ', kuadran); end.
9.) Penjumlahan 3 matrix
program penjumlahan_3_matriks;
uses wincrt;
var
matriks1, matriks2, matriks3: array [1..2,1..2] of byte;
matriks4: array [1..2,1..2] of integer;
i,j:byte;
procedure menginputkan;
begin;
writeln('masukkan matriks pertama');
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write ('isi matriks baris ',i,' kolom ',j,'=');
readln(matriks1[i,j]);
end;end;
writeln('masukkan matriks kedua');
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write ('isi matriks baris ',i,' kolom ',j,'=');
readln (matriks2 [i,j]);
end;end;
writeln ('masukkan matriks ketiga');
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write ('isi matriks baris ',i,' kolom ',j,'=');
readln (matriks3[i,j]);
end;
end;
end;
procedure penjumlahan;
begin
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
matriks4[i,j]:=matriks1[i,j]+matriks2[i,j]+matriks3[i,j];
end;
end;
end;
procedure mencetak;
begin
clrscr;
writeln('isi matriks 1');
for i:=1 to 2 do
begin
for j:=1 to 2 do
write (matriks1 [i,j]: 2 );
end;
writeln;
write ('tekan enter untuk melihat matriks 2');
readln;
writeln;
writeln('isi matriks 2' );
for i:=1 to 2 do
begin
for j:=1 to 2 do
write (matriks2 [i,j]: 2);
end;
writeln;
end;
begin
write ('tekan enter untuk melihat matriks 3');
readln;
writeln;
writeln('isi matriks 3');
for i:=1 to 2 do
begin
for j:=1 to 2 do begin
write (matriks3 [i,j]:2);
end;
writeln;
end;
write('tekan enter untuk melihat hasil penjumlahan');
readln;
writeln;
writeln('hasil penjumlahan');
for i:= 1 to 2 do
begin
for j:= 1 to 2 do begin
writeln (matriks4 [i,j]:4);
end;
writeln;
end;
begin
menginputkan;
penjumlahan;
mencetak;
end;
end.
DENAH KURSI
program denah_kelas;
uses wincrt;
var
denah:array[1..5,1..4] of string;
i,j: integer;
begin
ClrScr;
denah[1,1]:='dony';
denah[1,2]:='windi';
denah[1,3]:='arto';
denah[1,4]:='arif';
denah[2,1]:='wicak';
denah[2,2]:='sono';
denah[2,3]:='mijek';
denah[2,4]:='mizi';
denah[3,1]:='tarmi';
denah[3,2]:='zee';
denah[3,3]:='eko';
denah[3,4]:='irul';
denah[4,1]:='gunawan';
denah[4,2]:='awan';
denah[4,3]:='chika';
denah[4,4]:='meldolz';
denah[5,1]:='toif';
denah[5,2]:='diar';
denah[5,3]:='wido';
denah[5,4]:='wondo';
for i:= 1 to 5 do
begin
for j:= 1 to 4 do
write (denah[i,j]:10);
writeln;
end;
end.
Music
program jenis_musik;
uses wincrt;
const
max = 10 ;
musik : array [1..10] of string =
('1.pop','2.dangdut','3.jazz','4.keroncong','5.reggae','6.acapella','7.rock','8.heavy metal','9.instrumental','10.blues');
var
i: integer;
begin
Writeln('-----------------------------');
Writeln('Daftar 10 jenis aliran musik');
writeln('-----------------------------');
for i:= 1 to max do
begin
writeln (musik[i]);
end;
end.
ARRAY SARI BUAH
program buahapel;
uses WinCrt;
const
batas = 3;
type
apel = record
nama : string;
kualitas : char;
harga : string;
end;
ProdukApel=array [1..batas] of apel;
var
A: ProdukApel;
i:integer;
jenis : string;
sari,jenang,buah : apel;
begin
writeln('Spesifikasi Kualitas dan Harga Produk Olahan dan Buah Apel');
writeln;
writeln('------------------------------------------');
writeln(' Daftar Pilihan Produk Apel ');
writeln('------------------------------------------');
writeln(' Sari ');
writeln(' Jenang ');
writeln(' Buah ');
writeln('------------------------------------------');
write('Masukkan nama produk apel yang diinginkan : ');
readln(jenis);
{memasukkan data}
sari.nama:='Sari Apel';
sari.kualitas:='A';
sari.harga:='Rp.550';
jenang.nama:='Jenang Apel';
jenang.kualitas:='B';
jenang.harga:='Rp.750';
buah.nama:='Buah Apel';
buah.kualitas:='C';
buah.harga:='Rp.950';
if jenis='sari' then
begin
ClrScr;
writeln('Nama : ',sari.nama);
writeln('Kualitas: ',sari.kualitas);
writeln('Harga : ',sari.harga);
readln;
end
else
if jenis='jenang' then
begin
clrscr;
writeln('Nama : ',jenang.nama);
writeln('Kualitas: ',jenang.kualitas);
writeln('Harga : ',jenang.harga);
readln;
end
else
if jenis='buah' then
begin
clrscr;
writeln('Nama : ',buah.nama);
writeln('Kualitas: ',buah.kualitas);
writeln('Harga : ',buah.harga);
readln;
end
else
writeln('Maaf, produk yang anda inginkan tidak tersedia');
end.
JUMLAH SISWA
program Welcome;
uses
WinCrt;
Const
maks = 100;
type
TSiswa = record
nim : string[15];
nama: string[25];
end;
TKumpulanSiswa = array[1..maks] of TSiswa;
var
i, n : integer;
A: TKumpulanSiswa;
begin
clrscr;
Writeln ('Jumlah Siswa: ');
readln (n);
writeln;
{memasukkan data dalam array}
writeln ('----------------------------------------------');
for i:= 1 to n do
begin
writeln ('Data Siswa ke-', i);
write ('Nim : '); readln (a[i].nim);
write ('Nama : '); readln (a[i].nama);
writeln;
end;
{menampilkan data dari array}
writeln ('DAFTAR SISWA');
writeln ('----------------------------------------------');
writeln ('NIM ', ' ':2, 'NAMA');
writeln ('----------------------------------------------');
for i:= 1 to n do
begin
writeln (a[i].nim, ' ':2, a[i].nama);
end;
end.
Insertprogram masuk;
uses wincrt;
var
Nama:string;
begin
Nama:='Teknologi ';
insert(' Industri ',Nama,10);
writeln (Nama);
{Teknologi Indsutri}
end.
Keliling Pros program menghitung;
uses wincrt;
var p,l:byte;
procedure hitung_luas;
var ls:integer;
begin
ls:=p*l;
writeln ('luas : ', ls);
end;
procedure hitung_keliling;
var kel:integer;
begin
kel:=(2*p)+(2*l);
writeln ('keliling : ',kel);
end;
begin
clrscr;
writeln('program untuk menghitung luas dan keliling persegipanjang');
writeln;
write('masukkan panjang : '); readln(p);
write('masukkan lebar : '); readln(l);
writeln;
hitung_luas;
hitung_keliling;
end.
MEMBUAT FILE
Program membuat_file_text_namafile_HALLO_TXT;
Uses wincrt;Var var_teks:TEXT;Begin
Clrscr; Assign(var_teks,'Hallo.txt'); Rewrite(var_teks); Writeln(var_teks,'Hallo ini program pertamaku!'); Writeln(var_teks,'contoh membuat file'); Writeln(var_teks,'---------------------------------------'); Close(var_teks);End.
MEMBACAProgram membaca_file_HALLO_TXT;
Uses wincrt;
Var var_teks:TEXT;
Pesan:string;
Begin
Clrscr;
Assign(var_teks,'Hallo.txt');
Reset(var_teks);
While not eof (var_teks) do
Begin
Readln ( var_teks, pesan );
Writeln (pesan);
End;
Close(var_teks);
End.
NILAI UTS UASprogram arrayRecord;uses wincrt;
const MAX = 100;type Mhs = record
NIM : string[8];Nama: string[25];Nilai: array[1..3] of real;
End; TKumpulanMhs = array[1..MAX] of Mhs;
Var A:TKumpulanMhs; I, N: integer; NA: real; Begin Write ('Masukkan jumlah siswa yang akan diisikan: '); Readln (N); Writeln; {memasukkan data} Writeln ('Memasukkan data'); Writeln ('----------------------------------------------'); For i:= 1 to N do Begin Writeln ('Data siswa ke-', i); With A[i] do Begin
Write (' NIM : '); readln(NIM);Write (' Nama : '); readln(Nama);Writeln (' Nilai');Write (' Nama ke-1 (Kuis) : '); readln(Nilai[1]);Write (' Nama ke-2 (UTS) : '); readln(Nilai[2]);Write (' Nama ke-2 (UAS) : '); readln(Nilai[3]);
End; Writeln;
End; {menampilkan data} Writeln('DAFTAR NILAI MAHASISWA'); Writeln('----------------------------------------------'); Writeln('NIM’:8, ‘’:2, ‘Nama’:25, ‘’:2, ‘NILAI'); Writeln('----------------------------------------------');
For i:=1 to N do Begin With A[i] do Begin
NA := (0.2*Nilai[1]) + (0.3*Nilai[2]) + (0.5*Nilai[3]);Write (NIM:8, '':2, NAMA:25, '':2, NA:0:2);
End; Writeln; End; Readln;End.
STRING
program BacaString;uses WinCrt; Const
teks = 'INDUSTRI';VAR i, jmlKar: integer; s: string;begin clrscr; s:=teks; jmlKar := length(S); {mendapatkan jumlah karakter string S} for i := 1 to jmlkar do begin writeln('S[', i, ']= ','''', s[i], '''' ) end; readln;end.
BAB 8
program GabungString;
uses wincrt;
var S1, spasi, S2: string; hasilPlus, hasilConcat: string;begin clrscr;
{mengisikan nilai} s1 := 'TIP'; spasi := ' '; s2 := 'Malang';
{menggunakan operator plus} hasilPlus := s1 + spasi + s2;
{menggunakan fungsi Concat} hasilConcat := Concat(s1, spasi, s2);
{menampilkan hasil ke layar} writeln(hasilPlus); writeln(hasilConcat);
readln;end.
KUADRAN
program kuapo;uses wincrt;
type point = record x : integer; {absis} y : integer; {ordinat}end;var p : point; kuadran : integer;begin writeln ('Masukkan absis p'); readln (p.x); writeln ('Masukkan ordinat p');
readln (p.y); if (p.x > 0) and (p.y > 0) then kuadran := 1 else if (p.x < 0) and (p.y > 0) then kuadran := 2 else if (p.x < 0) and (p.y < 0) then kuadran := 3 else if (p.x > 0) and (p.y < 0) then kuadran := 4 else kuadran := 0;
writeln ('Point (', p.x, ',', p.y, ') berada di kuadran ', kuadran); end.
INFORMATIKA
Program HapusTeks;Uses wincrt;VarS:string;i:integer;BeginClrscr; S:='INFORMATIKA'; Writeln('Sebelum dihapus: '); Writeln(S); delete (S, 5, 7);Writeln('Setelah dihapus: '); Writeln(S);Readln;End
PROGRAM AYAM BETUTU
Program HapusTeks;
Uses wincrt;
Var
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12:string;
hasilconcat:string;
Begin
Clrscr;
s1:='A';
s2:='Y';
s3:='A';
s4:='M';
s5:='B';
s6:='E';
s7:='T';
s8:='U';
s9:='T';
s10:='U';
hasilconcat:=concat(s1);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8,s9);
writeln(hasilconcat);
hasilconcat:=concat(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
writeln(hasilconcat);
Readln;
end.
AYAM BETUTU 2
Program HapusTeks;
Uses wincrt;
Var
S:string;
Begin
Clrscr;
S:='AYAMBETUTU';
Writeln(S);
delete (S, 10, 1); Writeln(S);
delete (S, 9, 2);Writeln(S);
delete (S, 8, 3);Writeln(S);b
delete (S, 7, 4);Writeln(S);
delete (S, 6, 5);Writeln(S);
delete (S, 5, 6);Writeln(S);
delete (S, 4, 7);Writeln(S);
delete (S, 3, 8);Writeln(S);
delete (S, 2, 9);Writeln(S);
delete (S, 1, 10);Writeln(S);
Readln;
end.
PROGRAM AGROINDUSTRI
AGROINDUSTRI 2
Program HapusTeks;
Uses wincrt;
Var
S:string;
Begin
Clrscr;
S:='AGROINDUSTRI';
Writeln(S);
delete (S, 10, 1); Writeln(S);
delete (S, 9, 2);Writeln(S);
delete (S, 8, 3);Writeln(S);
delete (S, 7, 4);Writeln(S);
delete (S, 6, 5);Writeln(S);
delete (S, 5, 6);Writeln(S);
delete (S, 4, 7);Writeln(S);
delete (S, 3, 8);Writeln(S);
delete (S, 2, 9);Writeln(S);
delete (S, 1, 10);Writeln(S);
Readln;
end.
1. Buatlah program yang terdiri dari 4 prosedur1. Prosedur untuk menampilkan menu2. Prosedur untuk memproses pilihan menu3. Prosedur untuk konversi dari satuan mil-meter (1 mil = 1,609 meter)4. Prosedur untuk konversi dari satuan oz ke gram (1 oz = 28,349 gram)Deklarasi
l
2. Modular
3. Modular
4. Modular passing of value
5. Modular passing of reference
6. File text7. File bertipe8. File tidak bertipe9. Abstraksi
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. Abstraksi merupakan sebuah proses yang ditempuh pikiran untuk sampai pada konsep yang bersifat universal. proses ini berangkat dari pengetahuan mengenai obyek individual yang bersifat spasiotemporal (ruang dan waktu). Pikiran melepaskan sifat individual dari obyek dan membentuk konsep universal.
10. Pembungkusan
Dalam istilah berorientasi-objek, enkapsulasi atau pembungkusan berkaitan dengan penyembunyian informasi. System-sistem yang tidak berorientasi-objek berdasarkan pada rutin dan subprogram yang berbagi-pakai data global, atau yang menerima data yang dikirimkan oleh pemanggil.Pendekatan berorientasi-objek, di pihak lain, mengadopsi konsep bahwa data dan fungsi mestinya dipaketkan bersama ke dalam sebuah kapsul tunggal. Bentuk kelas ini melayani maksud tersebut. Sebuah kelas terdiri dari elemen data dan elemen pemrosesan. Elemen data sebuah kelas disebut attribute, dan operasi pemrosesan disebut metodenya. Atribut dan metode merupakan anggota kelas: atribut adalah anggota data dan metode adalah fungsi anggota.
Maksud enkapsulasi atau pembungkusan disini adalah menyembunyikan detail implementasi sementara memusatkan pada antarmuka. Tujuannya adalah membuat sebuah abstraksi yang memaksa programmer berpikir secara konseptual. Biasanya, anggota – anggota data dari sebuah kelas terlihat oleh penggunanya. Jika sebuah anggota data harus dibuat agar dapat diakses oleh client kelas, maka kelas tersebut menyediakan sebuah metode yang memeriksanya dan mengembalikan nilainya. Saat sebuah kelas mengekspos anggota data, ia dikatakan memecahkan enkapsulasi.
11. PewarisanPewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu
sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass.
Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
12. PolimerfismePolimorfisme (polymorphism) erat kaitannya dengan Pewarisan. Polimorfisme adalah
pemikiran bahwa objek dinamis suatu kelas dasar dapat berperilaku seperti kelas turunan. Ketika objek tersebut menunjuk kelas dasar, objek tersebut berperilaku seperti kelas dasar, tetapi ketika objek tersebut menunjuk kelas turunan, objek tersebut berperilaku seperti kelas turunan. Dalam hal ini objek dapat memiliki beberapa bentuk, tergantung pada saat itu kelas mana yang ditunjuk. Yang perlu menjadi catatan, bahwa perubahan perilaku ini dari kelas dasar kepada kelas turunan, tidak dapat objek kelas turunan menunjuk kelas dasar.
Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic binding). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtualnya (maya).