Anda di halaman 1dari 15

CRITICAL BOOK REVIEW

**PEMOGRAMAN BEROREANTASI OBYEK **

“Konsep OOP”

Dosen Pengampu :
Fahmy Syahputras, S.Kom,M.kom.

Disusun Oleh :

Nama : Nuriaty July Panjaitan


Nim : 5172151005

PROGRAM STUDI S1 PENDIDIKAN TEKNIK INFORMATIKA DAN


KOMPUTER
FAKULTAS TEKNIK – UNIVERSITAS NEGERI MEDAN
APRIL 2019
MEDAN

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.

Medan, 28 April 2019

Penulis

i
DAFTAR ISI

KATA PENGANTAR .................................................................................................... i


DAFTAR ISI ................................................................................................................... ii
BAB I PENDAHULUAN ................................................................................................ 1
A. Latar Belakang ...................................................................................................... 1
B. Tujuan Penulisan ................................................................................................... 1
C. Manfaat Penulisan ................................................................................................ 2
D. Identitas Buku ...................................................................................................... 2

BAB II RINGKASAN BAB BUKU ............................................................................... 3


A. Pemograman Berorientasi Obyek ......................................................................... 3
B. Perbedaan orented-obyek dan Procedural ............................................................. 4
C. Imutble Obyek ....................................................................................................... 4

BAB III PEMBAHASAN ............................................................................................... 6


A. Pembahasan Isi Bab ............................................................................................. 6
B. Kelebihan Isi Buku ................................................................................................ 6
C. Kelemahan Isi Buku ............................................................................................. 6

BAB IV PENUTUP ......................................................................................................... 7


A. Kesimpulan ........................................................................................................... 7
B. Saran ..................................................................................................................... 7

DAFTAR PUSTAKA ...................................................................................................... 8


LAMPIRAN ..................................................................................................................... 9

ii
BAB I
PENDAHULUAN

A. Latar Belakang

Pekerjaan sebagai programmer merupakan pekerjaan yang sangat penting karena


merekalah yang membuat perangkat lunak yang digunakan untuk menginstruksikan
komputer sebagai peralatan yang sesuai dengan yang diinginkan. Tanpa programmer,
pengguna komputer tidak mempunyai perangkat lunak, dan tanpa perangkat lunak
komputer tidak akan bisa mengerjakan apapun. Dalam pemrograman computer ada dua
kombinasi yang tidak terpisahkan yaitu seni dan ilmu pengetahuan. Dikatakan dalam seni
karena setiap aspek dalam program harus dirancang dengan hati-hati. Hal-hal yang perlu
diperhatikan dalam mendesain sebuah computer adalah sebagai berikut: Aliran instruksi
secara logic, Procedure matematik, Tampilan yang akan muncul pada layar monitor,
Informasi yang ditampilkan oleh user, Program harus “user friendly”, serta Petunjuk
penggunaan maupun bentuk dokumen tertulis lainnya. Pemprograman berkaitan dengan
aspek ilmu pengetahuan berkaitan dengan ilmu teknik karena jarang sekali program dapat
berjalan baik pada saat program pertama kali ditulis. Biasanya perlu banyak dilakukan
percobaan, pembetulan dari kesalahan maupun dirancang ulang sesuai dengan kebutuhan.
Dengan adanya hal tersebut diatas maka dibutuhan seorang programmer yang memahami
dua kemampuan yaitu seni dan ilmu pengetahuan.

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.

Contoh: Misalnya objek A adalah ICT dan Objek B adalah Sepeda.


Jika ICT ingin memindahkan gigi sepedanya ke gigi 5, maka ICT akan mengirim
Message ke Sepeda diketahui sepeda memiliki kemampuan/Method pindah Gigi) berbunyi
pindah Gigi (5). Lengkapnya dapat ditulis: Sepeda pindah Gigi (5). Message itu akan
dilaksanakan oleh Sepeda. Kemampuan pindah Gigi memerlukan informasi gigi yang
diinginkan, dalam hal ini 5. Maka sekarang Variabel (nantinya kita sebut atribut) gigi

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.

b. Perbedaan Object-Oriented dan Prosedural


Bagaimana desain object oriented berbeda dengan kode prosedural yang lebih
tradisional? Akan sangat mudah untuk mengatakan bahwa perbedaan utamanya adalah
kode berorientasi obyek memiliki object di dalamnya. Ini tidak betul. Dalam PHP kita
akan sering menemukan kode procedural menggunakan obyek. Kita juga mungkin sering
melihat class-class yang mengandung kode procedural di dalamnya. Keberadaan class
tidak menjamin adanya desain berorientasi obyek, walau dalam bahasa pemrogramman
Java sekalipun, yang notabene “memaksa” kita untuk melakukan apa pun di dalam class.
Satu perbedaan utama antara kode berorientasi obyek dengan kode prosedural dapat dilihat
dari bagaimana tanggung jawab (responsibility) didistribusikan. 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. Kode berorientasi obyek mencoba untuk
meminimalisasi ketergantungan ini dengan cara memindahakan responsibility untuk
meng-handle tugas-tugas dari client code ke dalam obyek-obyek di dalam system.

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

A. Pembahasan Buku pada Bab


Pembahasan pada bab tentang Konsep OOP membahas tentang perbedaan OOP
dengan Procedural dan Imutable Obyek. Bab ini menjelaskan apa itu OOP dan apa itu
procedural. Kajian materi pada bab ini menurut saya cukup jelas sehingga pembaca pun
mengerti. Karena materi pada bagian bab ini menjelaskan tentang konsep alam seperti
ilustrasi. Salah satu contohnya adalah tentang objek A adalah ICT dan Objek B adalah
Sepeda.

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

Suprapto 2008.Bahasa Pemograman untuk S\ekolah Menengah Kejuruan. Jakarta:


Departemen Pendidikan Nasional

8
LAMPIRAN

9
10
11
12

Anda mungkin juga menyukai