“Konsep OOP”
Dosen Pengampu :
Fahmy Syahputras, S.Kom,M.kom.
Disusun Oleh :
1
KATA PENGANTAR
Puji syukur kepada Allah SWT yang telah melimpahkan rahmat dan karunia-Nya
sehingga penulis dapat menyelsaikan tugas kelompok Critical Book Report dengan baik,
sehingga makalah ini dapat diselesaikan tepat pada waktunya. Selesainya makalah
mengenai Critical Book Report dengan mata kuliah “Pemograman Obyek Beroreantasi”
yang bertujuan untuk memberikan pengetahuan kepada para pembaca tentang konsep
dalam Kurikulum. Atas dukungan yang diberikan dalam penyusunan makalah Critical
Book Report, maka penulis mengucap terimakasih kepada Bapak Fahmy Syahputra selaku
dosen pengampu mata kuliah Pemogrman Berorientasi Obyek yang telah membimbing
dalam penyusunan Critical Book Report ini.
Penulis menyadari bahwa Critical Book Report ini belum sempurna. Oleh karena
itu, saran dan kritik yang membangun dari rekan-rekan sangat dibutuhkan untuk
menyempurnakan Crical Book Report saya.
Penulis
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
A. Latar Belakang
A. Tujuan Penulisan
1. Penyelesaian tugas Critical Book Report yang akan dikritik.
2. Menambah pengetahuan dan wawasan mengenai buku yang akan dikritik.
3. Meningkatkan ketelitian dan pemahaman dari buku yang kita kritik dengan cara
meneliti isi buku lalu meringkas pembahasan buku tersebut.
4. Menguatkan potensi ataupun keahlian dalam mengkritik isi buku yang kita baca
dan mengetahui kelebihan serta kekurangan buku tersebut.
1
B. Manfaat Penelitian
1. Memenuhi Tugas Mata kuliah Pemograman Berorientasi Obyek.
2. Mengetahui bagaimana pembelajaran tentang Konsep OOP.
3. Mempelajari bagaimana proses belajar mengajar maupun pembelajaran yang
sedang berlangsung.
C. Identitas Buku
Judul : Bahasa Pemograman
Judul Bab : Konsep OOP
Penulis : Suprapto
Editor : Ratu Amalia Avianti
Perancang : Tim
Ukuran buku : 18,2 x 15,7 cm
Tahun : 2008
Penerbit : Departemen Penddikan Nasional
2
BAB II
RINGKASAN ISI BUKU
Dikritik Oleh Nuriaty July
Bab 15. Pemograman Berorientasi Obyek
a. Pemograman beorientasi Obyek
Yang membahas programming, salah satu thread yang selalu hangat dan menarik di
bicarakan adalah thread mengenai Object oriented Programming (OOP). OOP itu sendiri
sebetulnya adalah konsep lama, tapi topik ini seperti Design pattern, OOAD dan lain
sebagainya sepertinya baru hangat dibicarakan diforum diskusi beberapa tahun belakangan
ini. Entah mengapa,mungkin karena bersamaan dengan bermunculan framework yang
banyak diantaranya menganut konsep OOP,C++ yangg sekarang sudah fullblown OOP,
framework MS .NET yang juga sudah full-blown OOP, dan banyak lagi.
Objek adalah kumpulan variable dan method (fungsi) yang saling berkaitan.
Mungkin kita pernah menggunakan struct dalam C atau record dalam Pascal/Delphi?
Dalam struct dan record, kita bisa mengumpulkan tipe-tipe variable yang berlainan. Nah,
objek adalah perkembangan dari struct. Dalam objek, kita bisa mengumpulkan variabel-2
dengan tipe yang boleh berbeda-2 dan fungsi-2 yang disebut method.
konsep alam. Ilustrasinya seperti ini. Sebutlah suatu objek, misalnya anjing. Anjing
memiliki kondisi:warna, tinggi, lapar, sakit, dll. Selain itu anjing juga memiliki hal-hal
yang biasa dilakukan, seperti: menggonggong, menggigit, goyang ekor, dan lain-lain. Jadi
kondisi pada alam (misal anjing) ditiru denganVariabel sedangkan hal-hal yang biasa
dilakukan ditiru dengan Method. penggabungan antara Variabel dan Method itulah yang
disebut Enkapsulasi. Hal penting berikutnya dalam OOP adalah Message. Antara objek
satu dengan objek yang lainbberkomunikasi melalui Message. Ketika objek A ingin objek
B melakukan sesuatu, maka objek A mengirim Message ke objek B.
3
bernilai 5. Bicara tentang Class, kita bayangkan dalam contoh sebelumnya bahwa Sepeda
milik ICT adalah sepeda gunung (kita sebut SepedaGunung).Tentunya selain
SepedaGunung terdapat sepeda lain seperti SepedaOnta, SepedaTandem, dll. Tapi yang
jelas,jenis-jenis tadi termasuk Sepeda.
c. Immutable obyek
Dalam pemrograman berorientasi objek, immutable obyek adalah obyek dengan
kondisi yang tidak dapat dimodifikasi setelah dibuat. Hal ini berbeda dengan mutable
objek, dimana obyek tersebut dapat dimodifikasi setelah dibuat. Obyek dapat immutable
secara keseluruhan atau hanya beberapa atribut objek yang ditentukan saja, misalnya
menggunakan atribut anggota const data pada bahasa pemrograman C++. Dalam beberapa
kasus, obyek dianggap immutable walaupun ada beberapa hal perubahan internal yang
digunakan oleh atribut tetapi kondisi objek nampaknya tidak bisa diubah secara ekternal
dari beberapa sudut pkitang. Sebagai contoh, sebuah obyek yang menggunakan
memoization pada cache hasil komputasi yang baik ini tetap dapat tetap dianggap sebagai
4
objek. Awal dari sebuah kondisi tetap objek biasanya diatur pada posisi berdiri, tetapi
dapat juga ditetapkan sebelum menggunakan obyek tersebut.
Dalam kebanyakan bahasa berorientasi objek, objek dapat disebut dengan referensi.
Beberapa contoh seperti bahasa Java, C++, C#, VB.NET dan banyak bahasa scrip seperti
Ruby dan Python. Dalam hal ini, hal-hal apakah kondisi obyek dapat berbeda bila benda
dibagi melalui referensi. Jika obyek yang diketahui adalah immutable, maka dapat disalin
cukup dengan membuat salinan referensi, bukan untuk menyalin seluruh objek. Karena
referensi (biasanya hanya ukuran sebuah pointer) biasanya jauh lebih kecil daripada obyek
itu sendiri, sehingga lebih mudah dalam penyimpanan di memori dan meningkatkan
kecepatan dalam eksekusi. pada sebuah cart akan memungkinkan pengguna menyatakan
sebuah kasus kelas baru sebagai salah satu const (immutable) atau mutable, seperti yang
dikehendaki, dengan menyediakan dua versi yang berbeda dari getItems () method.
(Perhatikan bahwa dalam C + + itu tidakdiperlukan dan bahkan mustahil untuk
menyediakan constructor khusus untuk kasus const.) Template <typename T>.
Perhatikan potongan program dibawah ini:
class Cart {
private:
std::vector<T> items;
public:
Cart(const std::vector<T>& v): items(v) { }
std::vector<T>& getItems() { return items; }
const std::vector<T>& getItems()
const { return items; }
int total()
const { /* return sum of the prices */ }
5
BAB III
PEMBAHASAN
B. Kelebihan Buku
1. Buku ini sudah sangat jelas dalam pembahasan materi pada setiap babnya. Bagi
pemula dapat menggunakan buku ini sebagai bahan pegangan sebelum
diaplikasikan pada setiap proses pembelajaran.
2. Sampul buku juga sudah bagus dan identitas buku komunikasi data dan interface
juga sudah lengkap.
3. Buku ini juga dilengkapi dengan soal/ pertanyaan yang diulas dari materi-materi
yang disajikan pada buku.
C. Kelemahan Buku
1. Kelemahan dari buku Komunikasi Data dan Interface tidak memiliki ISBN.
2. Buku ini tidak disajikan daftar pustaka pada bagian belakang akhir buku.
6
BAB VI
PENUTUP
A. Kesimpulan
Objek adalah kumpulan variable dan method (fungsi) yang saling berkaitan.
Mungkin kita pernah menggunakan struct dalam C atau record dalam Pascal/Delphi?
Dalam struct dan record, kita bisa mengumpulkan tipe-tipe variable yang berlainan. Nah,
objek adalah perkembangan dari struct. Dalam objek, kita bisa mengumpulkan variabel-2
dengan tipe yang boleh berbeda-2 dan fungsi-2 yang disebut method.
Kode prosedural akan berupa urut-urutan perintah dan method calls. Kode
pemanggil (controlling code) cenderung bertanggung jawab untuk menghandle
pengecekan kondisi (if, then, else dst). Kontrol top-down ini dalam pengembangan
aplikasi dapat menghasilkan duplikasi kode dan saling ketergantungan lintas (antar)
proyek.
immutable obyek adalah obyek dengan kondisi yang tidak dapat dimodifikasi setelah
dibuat. Hal ini berbeda dengan mutable objek, dimana obyek tersebut dapat dimodifikasi
setelah dibuat. Obyek dapat immutable secara keseluruhan atau hanya beberapa atribut
objek yang ditentukan saja, misalnya menggunakan atribut anggota const data pada bahasa
pemrograman C++.
B. Saran
Buku yang berjudul Bahasa Pemograman ini bagus dijadikan sebagai buku pegangan
dalam mempelajari materi Pemogramman Berorientasi Obyek. Karena sudah jelas dalam
pemaparan materi pada setiap sub judulnya, dan dilengkapi dengan contoh program untuk
menguji seberapa paham kita setelah membaca buku tersebut
7
DAFTAR PUSTAKA
8
LAMPIRAN
9
10
11
12