20
PEMROGRAMAN BERORIENTASI OBJEK (C3) KELAS XI Susanti Ning Astuti PT KUANTUM BUKU SEJAHTERA

PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

  • Upload
    others

  • View
    40

  • Download
    1

Embed Size (px)

Citation preview

Page 1: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

PEMROGRAMAN BERORIENTASI OBJEK

(C3) KELAS XI

Susanti Ning Astuti

PT KUANTUM BUKU SEJAHTERA

Page 2: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

PEMROGRAMAN BERORIENTASI OBJEKSMK/MAK Kelas XI© 2020Hak cipta yang dilindungi Undang-Undang ada pada Penulis.Hak penerbitan ada pada PT Kuantum Buku Sejahtera.

Penulis : Susanti NIng AstutiEditor : Vera Annisa Retno PratiwiDesainer Kover : Achmad FaisalDesainer Isi : Putri Ari KristantiTahun terbit : 2020ISBN : 978-623-7398-17-2

Diterbitkan oleh PT Kuantum Buku SejahteraAnggota IKAPI No. 212/JTI/2019Jalan Pondok Blimbing Indah Selatan X N6 No. 5 Malang - Jawa TimurTelp. (0341) 438 2294, Hotline 0822 9951 2221; Situs web: www.quantumbook.id

Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apapun, baik secara elektronis maupun mekanis, termasuk memfotokopi, merekam atau dengan sistem penyimpanan lainnya, tanpa izin tertulis dari PT Kuantum Buku Sejahtera.

Page 3: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

iii

Daftar Isi

Prakata ..................................................................................................................... vBab 1 Konsep Pemrograman Berorientasi Objek...................................................... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ................................................... 2 B. Prosedur Pemrograman Berorientasi Objek ............................................................. 3 C. Keunggulan Pemrograman Berorientasi Objek ...................................................... 7 Uji Kompetensi .............................................................................................................................. 11

Bab 2 Dasar dan Aturan Pemrograman Berorientasi Objek..................................... 15 A. Macam Tools Pemrograman Berorientasi Objek ..................................................... 16 B. Prosedur Instalasi dan Konfigurasi Pemrograman Berorientasi Objek ........... 17 Uji Kompetensi .............................................................................................................................. 29

Bab 3 Class, Method, dan Objek ................................................................................ 33 A. Class, Objek, dan Method ................................................................................................ 34 B. Penamaan File ..................................................................................................................... 37 C. Penerapan Class, Objek, dan Method ......................................................................... 39 Uji Kompetensi .............................................................................................................................. 41

Bab 4 Enkapsulasi dalam Pemrograman Berorientasi Objek .................................. 45 A. Enkapsulasi .......................................................................................................................... 46 B. Prosedur dan Penerapan Enkapsulasi ........................................................................ 50 C. Keunggulan Enkapsulasi ................................................................................................. 51 Uji Kompetensi .............................................................................................................................. 54

Bab 5 Pewarisan pada Pemrograman Berorientasi Objek ....................................... 59 A. Pewarisan ............................................................................................................................. 60 B. Prosedur dan Penerapan Pewarisan ........................................................................... 62 C. Keunggulan Pewarisan..................................................................................................... 66 Uji Kompetensi .............................................................................................................................. 67

Bab 6 Polymorphism dengan Overloading dan Overriding .................................... 71 A. Polymorphism .................................................................................................................... 72 B. Polymorphism dengan Overloading .......................................................................... 77 C. Polymorphism dengan Overriding ............................................................................. 80 D. Keunggulan Polymorphism, Overloading, dan Overriding ................................ 86 Uji Kompetensi .............................................................................................................................. 87

Bab 7 Package dalam Aplikasi Pemrograman Berorientasi Objek .......................... 93 A. Pengertian, Fungsi, dan Kegunaan Package ........................................................... 94 B. Prosedur dan Penerapan Package .............................................................................. 95 C. Prosedur Kompilasi Package ......................................................................................... 97 D. Keunggulan Package Pemrograman Berorientasi Objek .................................... 104 Uji Kompetensi .............................................................................................................................. 105

Page 4: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

iv

Bab 8 Interface pada Pemrograman Berorientasi Objek ......................................... 111 A. Konsep Interface dalam Aplikasi Pemrograman Berorientasi Objek ............... 112 B. Prosedur Pembuatan Interface dalam Aplikasi Pemrograman Berorientasi Objek .............................................................................................................. 114 C. Menerapkan Interface dalam Aplikasi Pemrograman Berorientasi Objek .............................................................................................................. 115 Uji Kompetensi .............................................................................................................................. 119

Bab 9 Class Library pada Pemrograman Berorientasi Objek ................................... 123 A. Konsep dan Prosedur Class Library dalam Pemrograman Berorientasi Objek .............................................................................................................. 124 B. Pemanfaatan Class Library dalam Pemrograman Berorientasi Objek............. 125 C. Implementasi Class Library dalam Pemrograman Berorientasi Objek ........... 131 Uji Kompetensi .............................................................................................................................. 136

Bab 10 Penanganan Kesalahan dalam Program ........................................................ 141 A. Konsep dan Prosedur Penanganan Kesalahan (Error Handling) dalam Pemrograman Berorientasi Objek ................................................................................ 142 B. Analisis Kesalahan (Error Handling) dalam Aplikasi Pemrograman Berorientasi Objek .............................................................................................................. 144 C. Penggunaan dan Penerapan Penanganan Kesalahan (Error Handling) dalam Aplikasi Pemrograman Berorientasi Objek .................................................. 145 Uji Kompetensi .............................................................................................................................. 152

Glosarium ..................................................................................................................... 157Daftar Pustaka ................................................................................................................... 161Biodata Penulis .................................................................................................................. 163Biodata Konsultan ............................................................................................................. 164Tim Kreatif.......... ................................................................................................................ 165

Page 5: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

v

Prakata

Dengan segala kerendahan hati, penulis mengucapkan puji syukur ke hadirat Allah SWT karena dengan lindungan, rahmat, karunia dan hidayah-Nya maka buku ini dapat terselesaikan. Buku yang berjudul “Pemrograman Berorientasi Objek Kelas XI” merupakan buku yang disusun untuk memenuhi kebutuhan buku pegangan bagi siswa Sekolah Menengah Kejuruan (SMK), khususnya kelas XI Program Keahlian Teknik Komputer dan Informatika dengan Kompetensi Keahlian Keahlian Rekayasa Perangkat Lunak. Buku ini telah disesuaikan dengan kurikulum 2013 dan dilengkapi KIKD terbaru dan selaras dengan industri (link and match) dan pembelajaran berbasis STEM (Science, Technology, Engineering, and Mathematics), serta HOTS. Tiap bab berisi teori yang harus dipahami secara benar oleh siswa disertai contoh-contoh soal yang relevan akan teori tersebut. Selain itu, juga ada alat uji untuk mengukur kemampuan siswa dalam penguasaan materi tersebut. Pada kesempatan ini penulis ingin menyampaikan rasa terima kasih kepada semua pihak yang mendukung hingga buku ini diterbitkan. Mudah-mudahan buku ini dapat bermafaat bagi seluruh pembaca, khususnya siswa SMK pada Kompetensi Keahlian Rekayasa Perangkat Lunak dalam mengembangkan kemampuannya. Untuk kesempurnaan penulisan lebih lanjut, penulis berharap saran dari berbagai pihak pengguna buku ini.

Penulis

Page 6: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

vi

Do not Pray for an Easy life,

pray for the strength to endure a difficult one

Jangan kamu berdoa untuk hidup yang mudah,Berdoalah agar diberi kekuatan supaya dapat

menghadapi hidup yang sulit.

"Bruce Lee"

Page 7: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 1

1BAB

Setelah mempelajari materi, peserta didik mampu 1. menjelaskan konsep dasar pemrograman berorientasi objek;2. menjelaskan prosedur pemrograman berorientasi objek;3. menjelaskan perbandingan antara pemrograman berorientasi objek dengan pemrograman struktural;

dan4. mempresentasikan konsep pemrograman berorientasi objek.

Tujuan Pembelajaran

Konsep Pemrograman Berorientasi Objek

3.1 Memahami konsep pemrograman berorientasi objek4.1 Mempresentasikan konsep pemrograman berorientasi objek

Kompetensi Dasar

Page 8: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek2

Bab ini membahas tentang konsep dasar pemrograman berorientasi objek dan prosedur pemrograman berorietasi objek. Anda diharapkan dapat membedakan serta mengimplementasikan konsep dasar dan prosedur pemrograman berorientasi objek dengan pemrograman struktural setelah mempelajari bab ini.

A. Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman berorientasi objek (dalam bahasa Inggris “object oriented program”) adalah suatu konsep yang mengombinasikan data dengan fungsi untuk mendapatkan data dalam bentuk sebuah kesatuan unit atau objek. Objek adalah sesuatu yang menggambarkan pola kehidupan sehari-hari yang ada di sekitar. Misalnya dari struktur organisasi sekolah di dalamnya terdapat 1. kurikulum;2. kesiswaan; dan3. humas.

Pembagian struktur organisasi sekolah merupakan suatu upaya untuk memudahkan kegiatan operasional sekolah. Sebagai contoh, jika Anda seorang Kepala Sekolah ingin mengetahui kegiatan ekstrakurikuler siswa yang dilaksanakan di sekolah, apa yang akan Anda lakukan? Tentunya Anda tidak harus langsung mengamati kegiatan esktrakurikuler yang dilaksanakan setiap hari, akan tetapi cukup ke bagian kesiswaaan. Logika seperti ini dapat dikatakan apabila seseorang bermaksud menggunakan objek, cukup dengan mengirimkan pesan ke objek dan objek sendiri yang akan menanganinya.

Dalam pemrograman berbasis objek, ada tiga konsep dasar objek (objected oriented) yang harus dipahami, yaitu sebagai berikut.1. Is identical (because object has own unique ID), yaitu bahwa objek tersebut mempunyai

identitas tersendiri dan dapat dibedakan dengan lainnnya.2. Has behavior (because object has method), yaitu bahwa objek itu mempunyai sifat

dan perilaku yang khusus.3. Has state (because object has instance parameter), yaitu bahwa objek mempunyai

ukuran yang baku atau pasti.Dalam suatu sistem yang kompleks, misalnya dalam project management sering

dijumpai objek-objek suatu kelas yang mempunyai hubungan/relasi dengan objek-objek di kelas lain. Dalam bahasa pemrograman, hubungan antarobjek dibedakan menjadi tiga dasar hubungan, yaitu 1. is-a (generalization, realization, dan inheritance);2. has-a (association); dan3. others (association, dan dependency).

Dalam kehidupan sehari-hari di sekitar lingkungan banyak dijumpai objek-objek yang mempunyai karakteristik berbeda-beda, misalnya manusia, komputer, mobil, dan burung.

Page 9: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 3

Gambar 1.1 Objek kendaraan (vehicle)Sumber: Risky Fachrizzar Revaldy, 2017

Dari gambar di atas, perahu layar merupakan objek dari vehicle, yaitu kendaraan laut. Begitu pula dengan sepeda dan mobil yang merupakan objek vehicle, yaitu kendaraan darat. Dalam hal ini, setiap objek mempunyai sifat yang melekat pada identitasnya sehingga dua objek dapat berbeda walaupun semua nilai atributnya identik.

B. Prosedur Pemrograman Berorientasi Objek

Pemrograman berorientasi objek (object oriented programming/OOP) merupakan pemrograman yang mengorientasikan kepada objek, dalam hal ini semua data dan fungsi dibungkus dalam class-class atau objek-objek. Objek dalam pemrograman berorientasi objek berfungsi menerima pesan, memproses data, mengirim, menyimpan, dan memanipulasi data. Beberapa objek berinteraksi dengan saling memberikan informasi satu sama lain. Masing-masing objek harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan objek lain. Pemrograman berorientasi objek dapat menggunakan beberapa bahasa program, di antaranya Java, php, Jcreator, cobol, dan sebagainya.

Gambar 1.2 Konsep object oriented programSumber: Muyasar, 2015

Page 10: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek4

Dalam konsep pemrograman berorientasi objek dikenal beberapa istilah umum yang harus dipahami, yaitu sebagai berikut.1. Atribute Atribute dalam pemrograman berorientasi objek adalah variabel global yang dimiliki

sebuah kelas, dalam hal ini atribut mempunyai hak akses private, public, maupun protected. Sebuah atribut dinyatakan private apabila atribut tersebut hanya dapat diakses secara langsung oleh kelas yang membungkusnya. Atribut dikatagorikan sebagai public apabila dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya. Sedangkan, atribut dapat dinyatakan bersifat protected apabila atribut tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya merupakan turunan dari kelas yang mebungkusnya.

Atribut juga disebut state/propreties/field jika merupakan bagian yang dimiliki oleh sebuah kelas yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat mengubah nilai dari atribut tersebut. Dalam kelas atribut disebut juga dengan variabel dan atribut dapat membedakan antara satu objek dengan objek lain. Contoh pada kelas terdapat objek siswa A dan juga objek siswa B.

2. Method Method pada pemrograman berorientasi objek adalah fungsi atau prosedur yang

dibuat oleh programmer dalam suatu kelas. Dapat juga dikatakan bahwa method di semua kelas mempunyai fungsi yang hampir sama dengan fungsi prosedur pada pemrograman prosedural.

3. Class Class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi

objek. Class didefinisikan juga sebagai “blue print” atau cetak biru dari objek atau dengan kata lain, sebuah class menggambarkan ciri-ciri objek yang secara umum untuk menciptakan suatu instant dari  objek. Class merupakan grup dari suatu objek dengan kemiripan attributes/properties, behaviour, dan relasi ke objek lain, misalnya class person, class vehicle, class tree, class fruit, dan lain-lain. Sebagai contoh Suzuki Tornado, Yamaha Vega R, Honda Supra Fit, dan Kawasaki Kazer merupakan objek dari class sepeda motor. Suzuki Tornado dan objek lainnya juga mempunyai  kesamaan atribut (merek tipe, berat, kapasitas bensin, tipe mesin, warna, dan harga) dan metode untuk mengakses data pada atributnya (misal, fungsi untuk mengimputkan data merek, tipe, berat, kapasitas tangki bensin, tipe mesin, warna, dan harga). Apabila kelas adalah suatu abstraksi, objek atau instance dalam bentuk real dari suatu kelas. Analogi dalam bahasa program adalah sebagai berikut.

Page 11: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 5

Gambar 1.3 Contoh class dalam JavaSumber: Susanti Ning Astuti

Gambar 1.4 Contoh class JavaSumber: Susanti Ning Astuti

Page 12: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek6

4. Object Pengertian objek adalah instance dari class. Class menggambarkan ciri-ciri objek

secara umum menciptakan suatu instant dari  objek. Sebuah instance adalah representasi nyata dari class itu sendiri. Contohnya, dari class fruit dapat dibuat objek mangga, pisang, apel, dan lain-lain. Semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Ada dua karakteristik utama pada sebuah objek, setiap objek mempunyai atribut sebagai status yang kemudian akan disebut sebagai state dan objek mempunyai perilaku yang disebut sebagai behaviour.

Dapat diambil contoh sebuah objek sepeda. Sepeda mempunyai warna, roda, pedal, jeruji, dan itu merupakan atribut dari sepeda.  Sepeda mempunyai perilaku (behaviour) kecepatannya menaik, kecepatannya menurun, ataupun dapat melakukan perpindahan gigi sepeda.  Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku (behaviour) dalam method-method atau fungsi-fungsi/prosedur.

Gambar 1.5 Contoh objek dengan propertiSumber: Akhmad Dharma Kasman, 2016

Dalam dunia nyata, suatu operasi adalah abstrak dari analogi perilaku terhadap objek-objek yang berbeda. Setiap objek mengetahui bagaimana melakukan operasinya dan secara otomatis bahasa akan memilih metode yang tepat untuk menjalankan operasinya berdasarkan nama yang dalam hal ini dilakukan operasi terhadapnya. Pengguna dari operasi tidak perlu khawatir berapa banyak metode yang terdapat dalam implementasi. Kelas baru dapat ditambahkan tanpa mengubah kode yang sudah ada dengan melengkapi metode, yaitu melengkapi operasi yang dapat dilakukan terhadap kelas baru. Dalam bahasa pemrograman ada empat jenis pandangan tentang perbedaan dalam bahasa pemrograman, yakni sebagai berikut.

Page 13: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 7

Gambar 1.6 Bahasa pemrogramanSumber: Damankom, 2015

C. Keunggulan Pemrograman Berorientasi Objek

1. Pemrograman Tidak Terstruktur Pemrograman tidak terstruktur atau monolithic programing adalah paradigma

pemrograman yang paling awal dan secara historis mampu menciptakan algoritma turing-complete. Secara garis besar, sebuah pemrograman tidak terstruktur yang mempunyai ciri sebagai berikut. a. Seluruh permasalahan ini diselesaikan sebagai blok tunggal. b. Semua data bersifat global dan tidak ada keamanan. c. Banyak menggunakan perintah jump dan perintah go to pada saat melakukan

prosedur melompat. d. Cocok untuk permasalah kecil. e. Sulit untuk melacak kesalahan program. Contoh bahasa pemrograman yang termasuk dalam pemrograman tidak terstruktur adalah basic, assembly language, fortran, dan cobol.

2. Pemrograman Prosedural Suatu pandangan tentang pemrograman yang didasari konsep mesin Von Newman

(konsep program tersimpan) kumpulan tempat penyimpanan (memori) yang dibedakan menjadi memori koordinasi dan masing-masing memori dapat diberikan nilai, selanjutnya akan dieksekusi satu per satu oleh sequential melalui sebuah proses tunggal. Dapat dikatakan bahwa sebuah program itu terdiri dari algoritman dan struktur data. Konsep pemrograman prosedural dapat dilihat pada tabel berikut.

Page 14: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek8

Tabel 1.1 Konsep Pemrograman Prosedural

Garis besar Konsep Pemrograman Prosedural Fitur Pemrograman Prosedural

Masalah yang diberikan dibagi dalam beberapa submasalah bergantung pada fungsinya.

Program besar yang terbagi dalam fungsi kecil atau prosedur.

Submasalah disebut prosedur atau metode. M e n g g u n a k a n p e n d e k a t a n pemrograman top-down.

Prosedur apa pun dapat dipanggil pada setiap saat selama pelaksanaan program.

Data bergerak bebas dari satu fungsi ke yang lain.

Program ini mempunyai variabel global dan lokal.

Sebagian besar fungsi berbagi data umum.

  Penekanan diberikan untuk algoritma.

Kelebihan Pemrograman Prosedural Kekurangan dari Pemrograman Prosedural

Mempunyai algoritma pemecahan masalah yang sederhana, standar, dan efektif.

Program sulit untuk proses perawatan.

Penulisan program mempunyai struktur logika yang benar-benar mudah dipahami.

Fungsi yang tersedia berusaha diubah tanpa harus mengaktifkan sistem secara keseluruhan.

Program hanya terdiri atas tiga struktur dasar, yaitu struktur berurutan, struktur seleksi, dan struktur perulangan.

Sulit untuk melacak kesalahan program.

Mempunyai dokumentasi yang baik.  

Menghindari penggunaan GOTO.  Sumber: Susanti Ning Astuti

Contoh pemrograman prosedural adalah bahasa-bahasa pemrograman tingkat tinggi, seperti C++, pascal, dan delphi. Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut.a. Meningkatkan produktivitas Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat

dipakai ulang untuk masalah lainnya yang melibatkan objek itu sendiri.b. Pengembangan software lebih cepat Karena sistem yang dibangun dengan baik dan benar pada saat analisis

dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengodean.

c. Kemudahan pemeliharaan Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat

dipisahkan, sedangkan pola-pola yang mungkin sering berubah-ubah adanya konsistensi karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan, maupun pengodean.

Hasil produk lebih berkualitas karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lain yang melibatkan objek itu sendiri.

Page 15: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 9

d. Pengembangan software lebih cepat Sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan

akan menyebabkan berkurangnya kesalahan pada saat pengodean.e. Kemudahan pemeliharaan Dengan model objek, pola yang digunakan akan tetap dan stabil serta dapat

dipisahkan dan pola yang sifatnya sering berubah-ubah. Adanya konsistensi karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan, maupun pengodean.

f. Produk yang dihasilkan lebih berkualitas Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan

adanya konsistensi pada saat pengembangannya maka perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai.

3. Pemrograman Terstruktur Pemrograman terstruktur merupakan suatu proses untuk menerapkan tata urutan

langkah dalam menyelesaikan masalah dalam bentuk program atau juga dapat didefinisikan sebagai aktivitas pemrograman dengan memerhatikan urutan perintah secara sistematis, logis, serta tersusun berdasarkan algoritma sederhana dan mudah dipahami. Bahasa pemrograman yang mendukung pemrograman terstruktur adalah C, borland delphi, delphi, dan pascal.

Gambar 1.7 Terstruktur do whereSumber: Ichal, 2009

Beberapa sifat yang dimiliki oleh pemrograman terstruktur adalah sebagai berikut.a. Program disusun dengan logika yang sederhana.b. Memuat algoritma yang efisien, efektif, dan sederhana.c. Memua teknis pemecahan masalah yang logis dan sistematis.d. Mempunyai dokumentasi yang baik.e. Penggunaan perintah GOTO dikurangi atau dihapus.

4. Pemrograman Berorientasi Objek Pemrograman berorientasi objek (object oriented programing atau disingkat OOP)

merupakan paradigma pemrograman yang berorientasi kepada objek. Semua data dan fungsi dibungkus dalam kelas-kelas atau objek-objek. Beberapa fasilitas yang dimiliki oleh pemrograman berorientasi objek di antaranya a. penekanan lebih banyak diberikan kepada data daripada prosedur;b. masalah dibagi menjadi objek;

Page 16: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek10

c. struktur data dirancang sedemikian rupa sehingga dapat mengatur objek;d. memungkinkan terjadi penyembunyian data;e. data baru dan fungsi dapat dengan mudah dibuat; danf. komunikasi antarobjek menggunkan fungsi. Beberapa keuntungan yang dimiliki oleh pemrograman berorientasi objek adalah sebagai berikut.a. Maintenance, yaitu program lebih mudah dibaca dan dipahami, serta

pemrograman berorientasi objek mengontrol kerumitan program hanya dengan mengizinkan rincian yang dibutuhkan programmer.

b. Pengubahan program (berupa penambahan atau penghapusan fitur tertentu), yaitu perubahan yang dilakukan menyangkut penambahan dan penghapusan database program.

c. Dapat menyimpan objek-objek yang dirancang dengan baik ke dalam sebuah toolkit yang dapat disispkan dalam kode yang baru dengan sedikit perubahan atau tanpa perubahan kode.

Tugas Kelompok1. Buat kelompok dengan masing-masing kelompok terdiri dari 4 siswa.2. Amati dan tuliskan 4 (empat) benda yang ada di sekitar Anda.3. Sebutkan minimal 3 (tiga) atribut yang dimiliki oleh benda tersebut (yang menjadi

identitasnya dan mudah dikenali).4. Sebutkan fungsi dari masing-masing benda yang merupakan operasi relasi dari

ciri-ciri yang sudah diindentifikasi.5. Deskipsikan benda tersebut seperti dalam diagram berikut.

6. Berikan kesimpulan dari pengamatan tersebut dan bandingkan dengan kelompok lain.

Page 17: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 11

Rangkuman

Pemrograman berorientasi objek (dalam bahasa inggris “object oriented program”) adalah suatu konsep yang mengombinasikan data dengan fungsi untuk mendapatkan data dalam bentuk kesatuan unit atau objek. Dalam konsep pemrograman berorientasi objek dikenal beberapa istilah umum yang harus dipahami, yaitu sebagai berikut.a. Atribute adalah variabel global yang dimiliki sebuah kelas, dalam hal ini atribut

mempunyai hak akses private, public, maupun protected.b. Method adalah fungsi atau prosedur yang dibuat oleh programmer dalam suatu

kelas.c. Class adalah “blue print” atau cetak biru dari objek atau dengan kata lain sebuah

class menggambarkan ciri-ciri objek secara umum untuk menciptakan suatu instant dari  objek.

d. Object adalah instance dari class. Class menggambarkan ciri-ciri objek secara umum untuk menciptakan suatu instant dari object, sebuah instance adalah representasi nyata dari class itu sendiri.Perbandingan pemrograman berorientasi objek dengan pemrograman

prosedural adalah bahwa pada pemrograman berorientasi objek sebagai berikut.a. Fungsi dan data menjadi satu kesatuan yang disebut objek dan dalam

pemrograman berorientasi objek bersifat aktif.b. Program bukan urut-urutan instruksi, tetapi diselesaikan oleh objek-objek yang

bekerja sama untuk menyelesaikan masalah, ibaratnya fokus pada masalah yang ditangani dengan menggunakan komputer.

Sedangkan, pada pemrograman prosedural sebagai berikut.a. Diselesaikan dalam bentuk prosedur atau fungsi.b. Program merupakan urut-urutan instruksi dan program dipecah-pecah dalam

subprogram yang lebih sederhana.c. Fokus utama pada prosedur dan fungsi. Fungsi dan prosedur digunakan untuk

memanipulasi data, sedangkan data sendiri bersifat pasif, ibaratnya fokus pada bagaimana cara komputer menangani masalah.

Uji KompetensiA. Soal Pilihan GandaPilihlah jawaban yang paling tepat.1. Berikut ini adalah jenis bahasa pemrograman berdasarkan listing program yang ada

saat ini, kecuali ....a. pemrograman struktural b. pemrograman prosedural c. pemrograman operasionald. pemrograman tidak terstrukture. pemrograman berorientasi objek

Page 18: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek12

2. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah ....a. membuat program d. prosesb. membuat algoritma e. mempelajari programc. membeli komputer

3. Prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut ....a. proses d. stepb. program e. diagramc. algoritma

4. Dalam algoritma pemrograman ada 2 (dua) jenis penulisan, salah satunya dengan cara pseudocode. Yang digunakan pada penulisan algoritma pseuducode berupa ....a. bahasa Inggris b. bahasa puitis c. bahasa pemogramand. sembarang bahasa asal terstrukture. bahasa mesin

5. Sebagai seorang programmer, dalam membuat sebuah programa komputer harus melalui beberapa tahapan di antaranya adalah membuat algoritma. Pada pembuatan program komputer, pembuatan algoritma yang paling tepat adalah .... a. sebelum pembuatan program d. pada saat verifikasi programb. pada saat program dibuat e. pada saat dijalankanc. sesudah pembuatan program

6. Tahapan dalam menyelesaikan suatu masalah adalah ....a. masalah-pseudocode-flowchart-program-eksekusi-hasilb. masalah-algoritma-flowchart-program-eksekusi-hasilc. masalah-model-algoritma-eksekusi-hasild. masalah-model-algoritma-program-eksekusi-hasil e. algoritma-program-model-eksekusi-hasil

7. Perhatikan tabel berikut.

Dari tabel di atas yang merupakan ciri pemrograman berorientasi objek adalah ....a. 2-3-4-6 d. 1-5-6-7b. 1-3-5-7 e. 3-4-5-6c. 2-4-6-7

8. Program ini dibagi menjadi modul dan modul tersebut kemudian dibagi menjadi fungsi adalah pengertian dari ....a. pemrograman terstruktur d. OOPb. pemrograman e. modulc. struktur data

Page 19: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Konsep Pemrograman Berorientasi Objek 13

9. Pendekatan pemrograman terstruktur adalah pendekatan ....a. top-up d. bottom-downb. bottom-up e. top-bottomc. top-down

10. Pendekatan pemrograman berorientasi objek adalah pendekatan ....a. top-up d. bottom-downb. bottom-up e. top-bottomc. top-down

11. Fokus dari pemrograman terstruktur adalah ....a. algoritma d. algoritma dan kontrol aliranb. data e. model objekc. kontrol aliran

12. Fokus dari pemrograman berorientasi objek adalah ....a. algoritma d. algoritma dan kontrol aliranb. data e. model objekc. kontrol aliran

13. Yang lebih mahal dalam hal pemeliharaan adalah ....a. pemrograman berorientasi objek d. sama-sama mahalb. pemrograman terstruktur e. tidak butuh pemeliharaanc. sama-sama murah

14. Yang lebih murah dalam pemeliharaan adalah ....a. pemrograman berorientasi objek d. sama-sama murahb. pemrograman terstruktur e. tidak butuh pemeliharaanc. sama-sama mahal

15. Bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi disebut ....a. borland delphi d. webb. pascal e. C++c. java

B. Soal EsaiJawablah dengan tepat dan benar.1. Jelaskan perbedaan pemrograman prosedural dan pemrograman berbasis objek!2. Jelaskan keuntungan pemrograman berorientasi objek!3. Jelaskan secara singkat proses kompilasi dan menjalan pemrograman berorientasi

objek!4. Jelaskan secara singkat class, object, dan method!5. Ilustrasikan dalam dunia nyata apa yang dimaksud dengan hal berikut.

a. Objekb. Atributc. Classd. Method

6. Sebutkan 3 contoh minimal atribut dan method yang melekat pada manusia!

Page 20: PEMROGRAMAN BERORIENTASI OBJEK€¦ · Bab 1 Konsep Pemrograman Berorientasi Objek..... 1 A. Konsep Dasar Pemrograman Berorientasi Objek ... Bab 7 Package dalam Aplikasi Pemrograman

Pemrograman Berorientasi Objek14

7. Sebutkan pandangan tentang bahasa pemrograman selain bahasa pemrograman berorientasi objek!

8. Sebutkan kelebihan dan kekurangan dari dari pemrograman berorientasi objek!9. Sebutkan contoh aplikasi pemrograman berorientasi objek!10. Sebutkan contoh aplikasi yang tergolong dalam pemrograman terstruktur!

C. Soal Esai UraianJawablah dengan ringkas dan benar.1. Apa yang dimaksud konsep dasar pemrograman dan apa konsep dasarnya?2. Apa yang dimaksud dengan “is identical” dalam pemrograman berorientasi objek?3. Sebutkan urutan bahasa pemrograman dari yang terendah sampai bahasa

pemrograman tingkat tinggi!4. Apa saja fitur yang dimiliki oleh pemrograman berorientasi objek?5. Sebutkan beberapa keuntungan yang dimiliki oleh pemrograman berorientasi objek!

D. Uji PraktikTugas: mengamati bahasa pemrograman. 1. Buat kelompok dengan masing-masing kelompok beranggotakan 4 siswa.2. Amati 2 (dua) jenis bahasa pemrograman yang Anda ketahui.3. Tunjukkan perbedaan mendasar dari 2 (dua) jenis bahasa pemrograman yang ada.4. Jelaskan fungsi dari 2 (dua) jenis bahasa pemrograman tersebut dan sebutkan

persamaannya.5. Buatlah tabel persamaan dan perbedaan berikut berdasarkan hasil diskusi kelompok.

Jenis BahasaPemrograman

Sistem Operasi File Ekstensi Jenis Publikasi

6. Berikan kesimpulan dari pengamatan tersebut.