Menu
Pasang iklan SEO disini Murah, 300.000/6 Bulan dan dapatkan Trafik setiap harinya

Mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented) TIK.PR02.009.01

May
01
2015
by : Bupeko. Posted in : blog

 

 

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TELEMATIKA

SUB SEKTOR PROGRAMMER KOMPUTER

 

 

MENGOPERASIKAN BAHASA PEMROGRAMAN BERORIENTASI OBYEK (OBJECT ORIENTED)

TIK.PR02.009.01

 

 

 

BUKU INFORMASI

 

 

 

 

 

 

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.

DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS

Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan

 

 

DAFTAR ISI

 

 

 

Daftar Isi                                                                                                       Hal     .2

 

BAB I    PENGANTAR ……………………………………………………………………….. .5

 

1.1.       Konsep Dasar Pelatihan Berbasis Kompetensi ………………………. .5

1.2.       Penjelasan Modul………………………………………………………….. .5

1.3.       Pengakuan Kompetensi Terkini (RCC)…………………………………. .7

1.4.       Pengertian-pengertian Istilah…………………………………………… .8

 

BAB II   STANDAR KOMPETENSI………………………………………………………….. .10

 

2.1.       Peta Paket Pelatihan ……………………………………………………… .10

2.2.       Pengertian Unit Standar ………………………………………………… .10

2.3.       Unit Kompetensi yang Dipelajari ………………………………………. .11

2.3.1.      Judul Unit ……………………………………………………… .11

2.3.2.      Kode Unit ……………………………………………………… .11

2.3.3.      Deskripsi Unit ………………………………………………… .11

2.3.4.      Elemen Kompetensi ………………………………………….. .12

2.3.5.      Kriteria Unjuk Kerja ………………………………………….. .12

2.3.6.      Batasan Variabel ……………………………………………… .14

2.3.7.      Panduan Penilaian ……………………………………………. .14

2.3.8.      Kompetensi Kunci ……………………………………………. .15

 

BAB III  STRATEGI DAN METODE PELATIHAN ………………………………………… .16

3.1.           Strategi Pelatihan ………………………………………………………. .16

3.2.           Metode Pelatihan ……………………………………………………….. .17

BAB IV  MATERI UNIT KOMPETENSI …………………………………………………….. .18

4.1 Tujuan Instruksional Umum ………………………………………………….. .18

4.2 Tujuan Instruksional Khusus ………………………………………………….. .18

4. 3. Dasar – dasar pemrograman berorientasi obyek …………………………. 19

4.3.1 Runtunan …………………………………………………………………… 20

4.3.2 Perulangan …………………………………………………………………. 21

4.3.3 Seleksi ………………………………………………………………………. 21

4.3.4 Tipe Data ………………………………………………………………….. .22

4.3.4.1 Tipe Data Dasar …………………………………………………….. 22

4.3.4.2 Tipe Data Bentukan ………………………………………………… 28

4.3.4.3 Variabel ………………………………………………………………. 30

4.3.4.4  Konstanta……………………………………………………………….32

 

4.4. Pemrograman Berorientasi Obyek Dengan Class………………………….. 33

4.4.1 Konsep Dasar Obyek …………………………………………………….. 34

4.4.2 Konsep Dasar Class ………………………………………………………. 35

4.4.3 Elemen Dasar Class ………………………………………………………. 38

4.4.4 Konstruktor dan Destruktor …………………………………………….. 40

4.4.4.1 Konstruktor ……………………………………………………………. 40

4.4.4.2 Destruktor ……………………………………………………………… 42

4.4.5 Implementasi Kelas ………………………………………………………. 43

 

4.5. Pewarisan ………………………………………………………………………… 45

4.5.1 Keuntungan Menggunakan Pewarisan / Inheritence ………………… 46

4.5.2 Beberapa Bentuk Dari Pewarisan / Inheritence ………………………. 46

4.6. Polimorphy ………………………………………………………………………. 49

4.7. Overloading ……………………………………………………………………… 51

4.8. Friends ……………………………………………………………………………. 53

4.9. Package Dan Interface …………………………………………………………. 54

4.9.1 Package ……………………………………………………………………… 54

4.9.2 Interface …………………………………………………………………….. 56

 

BAB V   SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN KOMPETENSI                  59

 

5.1.       Sumber Daya Manusia…………………………………………………………….. 59

5.2.       Sumber-sumber Perpustakaan ………………………………………………….. 60

5.3.       Daftar Peralatan/Mesin dan Bahan …………………………………………….. 61

 

DAFTAR PUSTAKA………………………………………………………………………….. 62

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                     

 

 

   BAB I

PENGANTAR

 

1.1.      Konsep Dasar Pelatihan Berbasis Kompetensi

  • Apakah pelatihan berdasarkan kompetensi?

Pelatihan berdasarkan kompetensi adalah pelatihan yang memperhatikan pengetahuan, keterampilan dan sikap yang diperlukan di tempat kerja agar dapat melakukan pekerjaan dengan kompeten. Standar Kompetensi dijelaskan oleh Kriteria Unjuk Kerja.

 

  • Apakah artinya menjadi kompeten ditempat kerja?

Jika Anda kompeten dalam pekerjaan tertentu, Anda memiliki seluruh keterampilan, pengetahuan dan sikap yang perlu untuk ditampilkan secara efektif ditempat kerja, sesuai dengan standar yang telah disetujui.

 

1.2 Penjelasan Modul

Modul ini dikonsep agar dapat digunakan pada proses Pelatihan Konvensional/Klasikal dan Pelatihan Individual/Mandiri. Yang dimaksud dengan Pelatihan Konvensional/Klasikal, yaitu pelatihan yang dilakukan dengan melibatkan bantuan seorang pembimbing atau guru seperti proses belajar mengajar sebagaimana biasanya dimana materi hampir sepenuhnya dijelaskan dan disampaikan pelatih/pembimbing yang bersangkutan.

Sedangkan yang dimaksud dengan Pelatihan Mandiri/Individual adalah pelatihan yang dilakukan secara mandiri oleh peserta sendiri berdasarkan materi dan sumber-sumber informasi dan pengetahuan yang bersangkutan. Pelatihan mandiri cenderung lebih menekankan pada kemauan belajar peserta itu sendiri. Singkatnya pelatihan ini dilaksanakan peserta dengan menambahkan unsur-unsur atau sumber-sumber yang diperlukan baik dengan usahanya sendiri maupun melalui bantuan dari pelatih.

 

1.2.1    Desain Modul

Modul ini didisain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan Individual/mandiri :

  • Pelatihan klasikal adalah pelatihan yang disampaiakan oleh seorang pelatih.
  • Pelatihan individual/mandiri adalah pelatihan yang dilaksanakan oleh peserta dengan menambahkan unsur-unsur/sumber-sumber yang diperlukan dengan bantuan dari pelatih.

 

1.2.2. Isi Modul

a.       Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta pelatihan.

b.       Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap pertanyaan dan kegiatan praktik baik dalam Pelatihan Klasikal maupun Pelatihan Individual / mandiri.

Buku ini diberikan kepada peserta pelatihan dan berisi :

  • Kegiatan-kegiatan yang akan membantu peserta pelatihan untuk mempelajari dan memahami informasi.
  • Kegiatan pemeriksaan yang digunakan untuk memonitor pencapaian keterampilan peserta pelatihan.
  • Kegiatan penilaian untuk menilai kemampuan peserta pelatihan dalam melaksanakan praktik kerja.

c.       Buku Penilaian

Buku penilaian ini digunakan oleh pelatih untuk menilai jawaban dan tanggapan peserta pelatihan pada Buku Kerja dan berisi :

  • Kegiatan-kegiatan yang dilakukan oleh peserta pelatihan sebagai pernyataan keterampilan.
  • Metode-metode yang disarankan dalam proses penilaian keterampilan peserta pelatihan.
  • Sumber-sumber yang digunakan oleh peserta pelatihan untuk mencapai keterampilan.
  • Semua jawaban pada setiap pertanyaan yang diisikan pada Buku Kerja.
  • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik.
  • Catatan pencapaian keterampilan peserta pelatihan.

 

1.2.3.   Pelaksanaan Modul

Pada pelatihan klasikal, pelatih akan :

  • Menyediakan Buku Informasi yang dapat digunakan peserta pelatihan sebagai sumber pelatihan.
  • Menyediakan salinan Buku Kerja kepada setiap peserta pelatihan.
  • Menggunakan Buku Informasi sebagai sumber utama dalam penyelenggaraan pelatihan.
  • Memastikan setiap peserta pelatihan memberikan jawaban / tanggapan dan menuliskan hasil tugas praktiknya pada Buku Kerja.

 

Pada Pelatihan individual / mandiri, peserta pelatihan akan :

  • Menggunakan Buku Informasi sebagai sumber utama pelatihan.
  • Menyelesaikan setiap kegiatan yang terdapat pada buku Kerja.
  • Memberikan jawaban pada Buku Kerja.
  • Mengisikan hasil tugas praktik pada Buku Kerja.
  • Memiliki tanggapan-tanggapan dan hasil penilaian oleh pelatih.

 

1.3    Pengakuan Kompetensi Terkini (RCC)

  • Apakah Pengakuan Kompetensi Terkini (Recognition of Current Competency).

Jika Anda telah memiliki pengetahuan dan keterampilan yang diperlukan untuk elemen unit kompetensi tertentu, Anda dapat mengajukan pengakuan kompetensi terkini (RCC). Berarti Anda tidak akan dipersyaratkan untuk belajar kembali.

  • Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena Anda telah :
  1. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan keterampilan yang sama atau
  2. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama atau
  3. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan keterampilan yang sama.

 

1.4    Pengertian-pengertian Istilah

Profesi

Profesi adalah suatu bidang pekerjaan yang menuntut sikap, pengetahuan serta keterampilan/keahlian kerja tertentu yang diperoleh dari proses pendidikan, pelatihan serta pengalaman kerja atau penguasaan sekumpulan kompetensi tertentu yang dituntut oleh suatu pekerjaan/jabatan.

 

Standardisasi

Standardisasi adalah proses merumuskan, menetapkan serta menerapkan suatu standar tertentu.

 

Penilaian / Uji Kompetensi

Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti melalui perencanaan, pelaksanaan dan peninjauan ulang (review) penilaian serta keputusan mengenai apakah kompetensi sudah tercapai dengan membandingkan bukti-bukti yang dikumpulkan terhadap standar yang

dipersyaratkan.

 

Pelatihan

Pelatihan adalah proses pembelajaran yang dilaksanakan untuk mencapai suatu kompetensi tertentu dimana materi, metode dan fasilitas pelatihan serta lingkungan belajar yang ada terfokus kepada pencapaian unjuk kerja pada kompetensi yang dipelajari.

 

Kompetensi

Kompetensi adalah kemampuan seseorang untuk menunjukkan aspek sikap, pengetahuan dan keterampilan serta penerapan dari ketiga aspek tersebut ditempat kerja untuk mwncapai unjuk kerja yang ditetapkan.

 

Standar Kompetensi

Standar kompetensi adalah standar yang ditampilkan dalam istilah-istilah hasil serta memiliki format standar yang terdiri dari judul unit, deskripsi unit, elemen kompetensi, kriteria unjuk kerja, ruang lingkup serta pedoman bukti.

 

Sertifikat Kompetensi

Adalah pengakuan tertulis atas penguasaan suatu kompetensi tertentu kepada seseorang yang dinyatakan kompeten yang diberikan oleh Lembaga Sertifikasi Profesi.

 

Sertifikasi Kompetensi

Adalah proses penerbitan sertifikat kompetensi melalui proses penilaian / uji kompetensi.

 

 

BAB II

           STANDAR KOMPETENSI

 

2.1.      Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini adalah untuk mencapai satu unit kompetensi, yang termasuk dalam satu paket pelatihan, yang terdiri atas unit-unit kompetensi berikut:

2.1.1.      TIK.OP02.009.01  Mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented)

2.1.2.      TIK.PR02.004.01  Menggunakan spesifikasi program.

2.1.3.      TIK.PR02.008.01  Mengoperasikan pemrograman terstruktur

 

2.2.      Pengertian Unit Standar Kompetensi

Apakah Standar Kompetensi?

Setiap Standar Kompetensi menentukan :

  1. Pengetahuan dan keterampilan yang diperlukan untuk mencapai kompetensi.
  2. Standar yang diperlukan untuk mendemonstrasikan kompetensi.
  3. Kondisi dimana kompetensi dicapai.

Apa yang akan Anda pelajari dari Unit Kompetensi ini?

Anda akan mempelajari tentang mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented)

Berapa lama Unit Kompetensi ini dapat diselesaikan?

Pada sistem pelatihan berdasarkan kompetensi, fokusnya ada pada pencapaian kompetensi, bukan pada lamanya waktu. Namun diharapkan pelatihan ini dapat dilaksanakan dalam jangka waktu tiga sampai tujuh hari. Pelatihan ini dijutukan bagi semua user terutama yang tugasnya berkaitan dengan programming, seperti operator, programmer, staff support, dan staff admin.

 

 

Berapa banyak/kesempatan yang Anda miliki untuk mencapai kompetensi?

Jika Anda belum mencapai kompetensi pada usaha/kesempatan pertama, Pelatih Anda akan mengatur rencana pelatihan dengan Anda. Rencana ini akan memberikan Anda kesempatan kembali untuk meningkatkan level kompetensi Anda sesuai dengan level yang diperlukan.

Jumlah maksimum usaha/kesempatan yang disarankan adalah 3 (tiga) kali.

 

2.3.      Unit Kompetensi yang Dipelajari

Dalam sistem pelatihan, Standar Kompetensi diharapkan menjadi panduan bagi peserta pelatihan  untuk dapat :

  • mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.
  • memeriksa kemajuan peserta pelatihan.
    • menyakinkan bahwa semua elemen (sub-kompetensi) dan criteria unjuk   kerja telah dimasukkan dalam pelatihan dan penilaian.

 

                     KODE UNIT   :   TIK.PR02.009.01

                                           

JUDUL UNIT :   Mengoperasikan Bahasa Pemrograman Berorientasi Obyek   (Object Oriented)

                                                                                                                              

DESKRIPSI UNIT :

Unit ini menentukan kompetensi yang diperlukan untuk mempelajari bahasa pemrograman berorientasi obyek (Object Oriented Programming) misalnya pemrograman visual. Kompetensi yang dipelajari berupa identifikasi terhadap obyek, class, message, inheritance, interface dan package serta properties lainnya.

 

 

 

 

ELEMEN KOMPETENSI

KRITERIA UNJUK KERJA

01     Menggunakan tipe data dan kontrol program

 

 

 

1.1   Tipe data dasar dan tipe data bentukan dijelaskan.

 

1.2   Tata cara penulisan program Object Oriented diidentifikasi dan diaplikasikan.

 

1.3   Kontrol program berupa urutan atau sekuensial program dibuat dan dikendalikan dalam kode program.

02     Membuat program object oriented dengan class  

2.1   Program dengan penggunaan obyek atau class dibuat.

 

2.2   Properti class yang akan direalisasikan dalam bentuk prosedur/fungsi dibuat.

 

2.3   Data di dalam class dibuat mandiri. Artinya data di dalam class tidak dapat diakses secara langsung oleh class lain. Data hanya dapat diakses melalui property class (berupa fungsi atau prosedur).

 

 

03     Membuat program object oriented dengan inheritence, polimorphy, overloading dan friends. 3.1   Inheritance pada class diaplikasikan.

 

3.2   Polimorphy pada class diaplikasikan.

 

3.3   Overloading pada class diaplikasikan.

 

3.4   Friends pada class diaplikasikan.

 

04     Membuat program object oriented dengan interface dan paket  

4.1   Interface class program dibuat.

 

4.2   Paket dengan penggunaan class program dibuat.

 

 

 

 

05     Mengkompilasi dengan object  oriented  

5.1   Program dikompilasi denga setting pada editor program dan kode program dilibatkan

 

5.2   Kesalahan sintak dan logika dikoreksi dan dibetulkan. Program yang dibuat harus bebas dari error dan dapat dijalankan.

 

 

 

 

 

 

 

 

 

 

 

BATASAN VARIABEL

 

  1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi.
  2. Menjaga etika bersifat internal pada bidang teknologi informasi dan komunikasi.

 

 PANDUAN PENILAIAN

  1. 1.           Pengetahuan dan keterampilan penunjang untuk mendemontrasikan kompetensi, memerlukan bukti keterampilan dan pengetahuan di bidang berikut ini :

1.1                   Pengetahuan dasar :

1.1.1   Matematika dasar dan matematika logika

Flowchart dan dasar pemrograman

Mengidentifikasikan sistem operasi yang digunakan

Membuat program dengan bahasa terstruktur

 

  1. 2.           Konteks penilaian

Kompetensi harus diujikan di tempat kerja atau di tempat lain secara teori dengan kondisi kerja sesuai dengan keadaan normal.

 

  1. Aspek penting penilaian

Aspek yang harus diperhatikan

Kemampuan mengidentifikasi tipe data dan aturan pemograman Object Oriented.

        Kemampuan membuat program dengan menggunakan obyek dan class, inheritance, polimorphy, overloading dan friend.

Kemampuan mengkompilasi program Object Oriented sehingga program bebas dari kesalahan.

 

 

 

4.     Kaitan dengan unit-unit lainnya

4.1     Unit ini didukung oleh pengetahuan dan keterampilan dalam unit-unit kompetensi yang berkaitan dengan dasar-dasar teknologi informasi.

4.1.1  TIK.PR02.003.01Membuat struktur data.

4.1.2  TIK.PR02.004.01Menggunakan spesifikasi program.

4.1.3  TIK.PR02.008.01Mengoperasikan pemrograman terstruktur.

 

4.2     Unit ini juga mendukung kinerja dalam unit – unit kompetensi yang berkaitan dengan pemrograman.

 

4.3     Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum, institusi harus menyediakan pelatihan yang mempertimbangkan serangkaian konteks industri seutuhnya tanpa bias terhadap sektor tertentu. Batasan variabel akan membantu dalam hal ini. Untuk sektor tertentu/khusus, pelatihan harus disesuaikan untuk memenuhi kebutuhan sektor tersebut.

 

Kompetensi Kunci

 

No Kompetensi Kunci Dalam Unit ini Tingkat
1 Mengumpulkan, mengorganisir dan menganalisa informasi

3

2 Mengkomunikasikan ide-ide dan informasi

2

3 Merencanakan dan mengorganisir aktivitas-aktivitas

3

4 Bekerja dengan orang lain dan kelompok

2

5 Menggunakan ide-ide dan teknik matematika

3

6 Memecahkan masalah

3

7 Menggunakan teknologi

3

BAB III

STRATEGI DAN METODE PELATIHAN

 

3.1.      Strategi Pelatihan        

Belajar dalam suatu sistem Berdasarkan Kompetensi berbeda dengan yang sedang “diajarkan” di kelas oleh Pelatih. Pada sistem ini Anda akan bertanggung jawab terhadap belajar Anda sendiri, artinya bahwa Anda perlu merencanakan belajar Anda dengan Pelatih dan kemudian melaksanakannya dengan tekun sesuai dengan rencana yang telah dibuat.

 

Persiapan/perencanaan

  1. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.
  2. Membuat catatan terhadap apa yang telah dibaca.
  3. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan pengetahuan dan pengalaman yang telah Anda miliki.
  4. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

 

Permulaan dari proses pembelajaran

  1. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada tahap belajar.
  2. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan Anda.

 

Pengamatan terhadap tugas praktik

  1. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang yang telah berpengalaman lainnya.
  2. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda temukan.

 

 

 

 

Implementasi

  1. Menerapkan pelatihan kerja yang aman.
  2. Mengamati indicator kemajuan personal melalui kegiatan praktik.
  3. Mempraktikkan keterampilan baru yang telah Anda peroleh.

 

Penilaian

Melaksanakan tugas penilaian untuk penyelesaian belajar Anda.

 

3.2.          Metode Pelatihan      

Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam beberapa kasus, kombinasi metode belajar mungkin dapat digunakan.

 

Belajar secara mandiri

Belajar secara mandiri membolehkan Anda untuk belajar secara individual, sesuai dengan kecepatan belajarnya masing-masing. Meskipun proses belajar dilaksanakan secara bebas, Anda disarankan untuk menemui Pelatih setiap saat untuk mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar.

 

Belajar Berkelompok

Belajar berkelompok memungkinkan peserta untuk dating bersama secara teratur dan berpartisipasi dalam sesi belajar berkelompok. Walaupun proses belajar memiliki prinsip sesuai dengan kecepatan belajar masing-masing, sesi kelompok memberikan interaksi antar peserta, Pelatih dan pakar/ahli dari tempat kerja.

 

Belajar terstruktur

Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang dilaksanakan oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya mencakup topic tertentu.

 

 

 

BAB IV

MATERI UNIT KOMPETENSI

MENGOPERASIKAN BAHASA PEMROGRAMAN BERORIENTASI OBYEK

(OBJECT  ORIENTED)

 

4.1  Tujuan Instruksional Umum

  • Siswa mampu memahami dasar pola pemikiran pemrograman berorientasi obyek.
  • Siswa mampu memahami konsep enkapsulasi, pewarisan, polimorfisme, overloading dan friends.
  • Siswa mampu memahami penulisan program menggunakan konsep pemrograman berorientasi obyek yang benar.
  • Siswa mampu memahami penggunaan package dan interface yang benar.

 

4.2  Tujuan Instruksional Khusus

  • Siswa dapat mengetahui apa sebenarnya yang dimaksud dengan pemrograman berorientasi obyek.
  • Siswa dapat mengetahui apa sebenarnya yang dimaksud dengan obyek dan kelas.
  • Siswa dapat memahami dan mengaplikasikan tipe – tipe data dasar dan variabel.
  • Siswa dapat memahami konsep dasar pemrograman berorientasi obyek yaitu : enkapsulasi, pewarisan dan polimorfisme.
  • Siswa dapat menggunakan penulisan program yang benar menggunakan konsep pemrograman berorientasi obyek.
  • Siswa mampu memahami tentang overloading.
  • Siswa mampu memahami tentang apa itu kelas friends

 

  • Siswa mampu memahami tentang keuntungan dan kerugian penggunaan kelas friends.
  • Siswa mampu memahami tentang dasar – dasar paket dan interface serta mengaplikasikannya dalam penulisan program yang benar
  • Siswa dapat melakukan kompilasi program yang benar.
  • Siswa dapat melakukan proses debugging terhadap kesalahan program yang terjadi.

 

Pengenalan tentang Bahasa Pemrograman Beroirientasi Obyek (OOP)

Pemrograman berorientasi obyek (OOP) adalah sebuak teknik baru yang memungkinkan modul – modul program direpresentasikan ke dalam bentuk obyek, sehingga akan memudahkan pemrogram untuk melakukan pengembangan dan menciptakan konsistensi program. Dewasa ini penggunaan bahasa pemrograman berorientasi obyek (OOP) semakin gencar dan munculnya tool – tool seperti . Java, Visual C++, VB.NET, C#, ASP.NET dan banyak tool – tool pemrograman berorientasi obyek yang dapat kita gunakan. Pertimbangan terbesar dalam memilih tool / teknologi yang digunakan  terletak pada kompabilitas dan harga yang timbul dari implementasi sebuah teknologi. Pada pembahasan ini, kita tidak akan membahas detil suatu bahasa pemrograman tertentu melainkan ditekankan ke arah konsep dasar pemrograman berorientasi obyek. Setiap contoh akan ditulis menggunakan bahasa pemrograman C++ dan Java.

 

4.3  Dasar – Dasar Pemrograman Berorientasi Obyek

Pada dasarnya, pemrograman berorientasi obyek tidak ubahnya dengan pemrograman prosedural. Elemen dasar penyusun nya antara lain :

  • Sequence (Runtunan)
  • Looping (Perulangan)
  • Selection (Seleksi)
  • Data type (Tipe data)
  • Class (Berisi function, method atau data member)

Perbedaan yang paling menonjol antara bahasa pemrograman prosedural dengan berorientasi obyek terletak pada class. Class hanya ada di pemrograman berorientasi obyek dan digunakan sebagai prototipe dari obyek – obyek yang akan dibuat dalam program. Berikut akan diberikan pembahasa pada masing – masing elemen secara singkat.

 

4.3.1   Sequence (Runtunan)

   Runtunan (Sequence) terdiri dari satu atau lebih instruksi yang akan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir program, bila urutannya diubah akan memberikan hasil yang berbeda. Pada pemrograman berorientasi obyek eksekusi instruksi dilakukan satu persatu dari awal program hingga ditemukan akhir program.

 

Instruksi 1

Instruksi 2

Instruksi 3

         

Contoh :

Program akan meminta inputah nilai dari keyboard dan menjumlahkan dengan 100, kemudia mencetak hasil akhirnya ke layar monitor.

#include <stdio.h>

void main(){

int a = 0;

cout<< “Silahkan masukkan sembarang angka dan tekan enter :”;

cin >> a; // nilai yang ditekan masuk ke dalam varabel a.

 

a = a + 100;

cout << “Nilai a sekarang adalah : “ << a;

}

 

4.3.2         Looping (Perulangan)

Salah satu kelebihan komputer adalah kemampuan untuk mengerjakan proses yang sama berulang kali tanpa mengenal lelah. Ini akan mengakibatkan sebuah instruksi mungkin dijalankan beberapa kali sebelum menjalankan instruksi yang lain.

 

Contoh :

Program ini akan mencetak angka dari 0 hingga 9 pada layar monitor.

#include <stdio.h>

void main(){

int a = 0;

for (a=0;a<10;a++){

cout << “Nilai a adalah : “ << a; // mencetak nilai a.

}}

 

4.3.3   Selection (Seleksi)

Pemilihan (Selection) adalah suatu kondisi dimana sebuah instruksi dijalankan apabila kondisi tertentu dipenuhi. Ini akan mengakibatkan tidak semua instruksi akan dijalankan sesuai urutan dan tidak semua instruksi akan dijalankan.

 

Contoh :

Program ini akan mencetak angka dari 1 – 20 apabila angke tersebut adalah bilangan genap.

 

#include <stdio.h>

void main(){

int a = 0;

for (a=0;a<20;a++){

if (a%2 ==0){ // periksa apakah bilangan genap atau bukan.

cout << “Nilai a adalah : “ << a; // mencetak bilangan genap saja.

}}}

 

4.3.4           Data type (Tipe Data)

Pada dasarnya sebuah program komputer bekerja dengan memanipulasi obyek (data) di dalam memori. Obyek yang akan diprogram bermacam – macam jenis dan tipenya, misalnya nilai numerik, karakter, string dan rekaman (record). Tipe data terbagi menjadi beberapa bagian, antara lain :

 

4.3.4.1        Tipe Data Dasar

 

  1. a.   Tipe Logika / Bilangan Logika

Tipe data ini hanya memiliki 2 nilai saja, benar atau salah atau 0 atau 1. Nilai 0 ini akan melambangkan salah dan 1 akan melambangkan benar.  Tipe data ini biasanya digunakan untuk operasi – operasi logika (logical operation).

Operasi logika ini akan menghasilkan nilai dalam ranah tipe boolean, yaitu betul atau salah. Operasi yang dapat digunakan untuk operasi logika adalah : not, and, or dan xor.

Dibawah ini akan diberikan contoh pemakaiannya :

Jika a dan b adalah peubah (variabel) yang bertipe boolean / logika maka hasil variabel a dan b dengan operator boolean tersebut diberikan berdasarkan tabel kebenaran berikut :

 

 

 

 

 

 

A B A and B A or B A xor B
True True True True False
True False False True True
False True False True True
False False False False false

 

  1. b.   Tipe Bilangan Bulat

Tipe ini adalah tipe yang sudah kita kenal dengan baik dalam kehidupan sehari – hari. Tipe data ini mempunyai nilai yang tidak mengandung pecahan desimal, misalnya : 34, 8, 1200, 10 dan seterusnya. Nama tipe dari bilangan bulat adalah integer. Secara teori, tipe bilangan bulat memiliki ranah nilai yang tidak terbatas dimulai dari minus tidak terhingga sampai plus tidak terhingga. Namum dalam penerapan algoritma kita dapat mendefinisikan tipe bilangan bulat dalam suatu rentang nilai tertentu. Penetapan rentang nilai ini dimaksudkan untuk menyatakan bahwa nilai dari suatu obyek hanya boleh pada ranah nilai tersebut.

 

Contoh :

Misalkan sebuah obyek jumlah murid 1 kelas yang berisi 100 orang, hendaknya didefinisikan pada tipe bilangan bulat yang memiliki rentang nilai dari 1 .. 100. Apabila sebuah obyek tidak didefinisikan rentang nilainya, maka dianggap obyek tersebut memiliki rentang nilai dari minus tidak terhingga sampai plus tidka terhingga.

 

Pada implementasinya, tipe integer memulai rentang nilai yang terbatas dan tergantung dari setiap kompiler dimana kita membuat program aplikasinya. Berikut saya berikan contoh pada kompiler Turbo C++.

 

 

Tipe Rentang Nilai Format
Byte 0 … 255 Unsigned 8 – bit
Shortlist - 128 … 127 Signed 8 – bit
Word 0 … 65535 Unsigned 16 – bit
Integer - 32768 … 32767 Signed 16 bit
Longint -2147483648 … 2147483647 Signed 32 bit

 

Rentang nilai dari tipe data ini sangat bervariatif dan bergantung pada jenis program kompilernya. Contoh diatas tidak berlaku bagi semua jenis kompiler.

 

Operasi

Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu : Operasi artimatika dan Operasi perbandingan.

 

Operasi Aritmatika

Operasi aritmatika pada bilangan bulat akan menghasilkan bilangan bulat juga. Operator aritmatika yang digunakan antara lain :

+ (penjumlahan)

- (Pengurangan)

* (Perkalian)

Div  (Pembagian)

Mod (sisa hasil bagi)

 

Operasi Perbandingan

Operasi perbandingan terhadap bilangan bulat dengan menggunakan operator relasional akan menghasilkan nilai

booelan (true atau false). Operator perbandingan  yang digunakan antara lain :

 

 

<       (lebih kecil)

<         (lebih kecil atau sama dengan)

>       (lebih besar atau sama dengan)

==     (sama dengan)

≠       (tidak sama dengan)

 

Contoh operasi perbandingan :

3 < 8             (true)

9 ≤ 9             (true)

( 24 div 3) ≠ 8  (false)

 

  1. c.    Tipe Bilangan Riil

Tipe bilangan riil adalah bilangan yang mengandung nilai pecahan / desimal misalnya 3.65, 0.0003, 29.0 dan lain lain. Karakter yang identik dengan bilangan  desimal adalah harus selalu mengandung “.” (titik). Jadi apabila terdapat nilai 20 maka akan dianggap sebagai bilangan bulat, sedangkan nilai 20.0 akan dianggap sebagai bilangan riil. Selain itu bilangan riil juga dapat dituliskan dengan notasi eksponential (E) yang artinya perpangkatan sepuluh. Nama tipe dari bilangan riil ini lebih sering dikenal dengan real.

Secara teoritis, tipe data ini memiliki ranah nilai yang tidak terbatas dimulai dari minus tak terhingga hingga plus tak terhingga. Namun

pada implementasinya, tipe bilangan riil juga memiliki batas nilai yang tergantung pada masing – masing kompiler. Berikut akan diberikan contoh pada kompiler Turbo Pascal.

 

 

 

 

 

Tipe Rentang Nilai Format
Real 2.9 X 10 6 byte
Single   4 byte
Double   8 byte
Extended   10 byte

 

Operasi

Operasi yang dapat dilakukan pada tipe data ini ada 2 macam, yaitu : Operasi artimatika dan Operasi perbandingan.

 

Operasi Aritmatika

Operasi aritmatika pada bilangan riil akan menghasilkan bilangan riil juga. Operator aritmatika yang digunakan antara lain :

+ (penjumlahan)

-  (Pengurangan)

*  (Perkalian)

Div  (Pembagian)

Mod (sisa hasil bagi)

 

Operasi Perbandingan

Operasi perbandingan terhadap bilangan riil dengan menggunakan operator relasional akan menghasilkan nilai booelan (true atau false). Operator perbandingan  yang digunakan antara lain :

<       (lebih kecil)

<         (lebih kecil atau sama dengan)

≥       (lebih besar atau sama dengan)

==     (sama dengan)

≠       (tidak sama dengan)

 

Contoh operasi perbandingan :

0.003 < 0. 3                    (true)

8.0 ≥ 5                  (false)

3.0 ≠ 3.5               (true)

 

  1. d.   Tipe Karakter

Tipe data yang termasuk karakter ini adalah huruf – huruf alfabet, tanda baca, angka ‘0’, ‘1’, ‘2’, …. dan karakter – karakter khusus seperti ‘<’, ‘?’, dan sebagainya. Tipe data ini biasa dikenal sebagi char.

Rentan

g nilai dari tipe data ini adalah karakter – karakter yang telah disebutkan diatas, untuk lebih detilnya dapat melihat pada buku – buku yang memuat daftar tabel ASCII. Karakteristik yang identik dengan tipe data ini adalah setiap karakter harus diapit dengan tanda petik tunggal.

 

Contoh :

‘a’, ‘1’, ‘ ‘, ‘+’, ‘?’, ‘&’.

Satu hal yang perlu diperhatikan adalah : bilangan 1 adalah integer dan ‘1’ adalah karakter.

 

Operasi

Satu – satunya operasi yang digunakan untuk tipe data ini adalah operasi perbandingan.

Operasi perbandingan

Operasi perbandingan terhadap tipe data karakter dengan menggunakan operator relasional akan menghasilkan nilai booelan (true atau false). Operator perbandingan  yang digunakan antara lain :

 

<       (lebih kecil)

<         (lebih kecil atau sama dengan)

>       (lebih besar atau sama dengan)

==     (sama dengan)

≠       (tidak sama dengan)

Contoh :

‘a’ == ‘a’                (true)

‘m’ < ‘z’                  (true)

‘y’ ≠ ‘Y’

 

Hal yang harus diperhatikan dalam operasi perbandingan pada tipe data karakter adalah operasi ini membandingkan kode ASCII diantara 2 obyek yang dibandingkan. Jadi bisa dilihat pada contoh diatas bahwa ‘y’ tidak sama dengan ‘Y’, ini dikarenakan kode ASCII dari 2 karakter tersebut memang berbeda.

 

4.3.4.2  Tipe Data Bentukan

 

  1. A.   String / Kalimat

String adalah sebuah kalimat atau dapat dikatakan merupakan kumpulan dari karakter.  Tipe data ini dikenal juga dengan nama string.

Rentang nilai dari string adalah sesuai dengan rentang nilai dari karakter (lihat pembahasan diatas). String adalah bentukan dari sederetan karakter yang dikombinasikan menjadi satu untuk membentuk sebuah arti tertentu.

Contoh :

“Bandung”, “Jakarta”, “ABCDE”, “12345”

Hal yang perlu diperhatikan adalah string “123” berbeda dengan 123.

 

Operasi

Operasi yang dapat dilakukan pada tipe data string ada 2 macam, yaitu :

Operasi Penyambungan (Concatenation)

Operasi penyambungan ini berfungsi untuk menggabungkan 2 string atau lebih. Operator yang digunakan adalah “+” dan “&” (Tergantung dari jenis kompilernya)

 

Contoh Concatenation :

“TEKNIK “ + “INFORMATIKA” = “TEKNIK INFORMATIKA”

“1” + “2” = “12”

Hal yang perlu diperhatkan adalah operator “+” ini bukanlah operator penjumlahan / operator artimatika.

 

Operasi Perbandingan

Operasi perbandingan terhadap tipe data string dengan menggunakan operator relasional akan menghasilkan nilai booelan (true atau false). Operator perbandingan  yang digunakan antara lain :

<       (lebih kecil)

<         (lebih kecil atau sama dengan)

>       (lebih besar atau sama dengan)

==     (sama dengan)

≠       (tidak sama dengan)

 

Contoh :

“abcde” == “abc”              (false)

“aku” < “AKU”                  (true)

Hal yang perlu diperhatikan dalam operasi perbandingan pada tipe data string adalah kompiler akan membandingkan

 

berdasarkan kode ASCII dari tiap – tiap karakter terhadap kode ASCII dari obyek lainnya. Prinsip ini sebenarnya sama dengan

prinisp operasi perbandingan pada tipe data karakter yang telah dijelaskan di atas.

 

4.3.4.3       Variabel

Setiap mempelajari sebuah bahasa pemrograman anda pasti akan dihadapkan dengan yang namanya variabel. Variabel merupakan sebuah obyek yang digunakan untuk menyimpan data tertentu berdasarkan tipe data dasar tertentu.

Setiap obyek yang ada di dunia pasti memiliki nama, begitu pula dalam bahasa pemrograman. Seluruh variabel yang dideklarasikan harus memiliki nama dan tipe dasarnya. Ini dimaksudkan untuk memudahkan kompiler dalam mengidentifikasi variabel – variabel yang digunakan dalam proses perhitungan.

Variabel memiliki aturan dalam penamaan yang biasanya berlaku bagi hampir seluruh bahasa pemrograman.

 

  • Nama harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka , spasi atau karakter khusus lainnya
  • Bagi bahasa pemgograman tertentu huruf besar dan kecil tidak berpengaruh, tapi bagi bahasa pemrograman tertentu akan dibedakan.
  • Tidak boleh mengandung operator artimatika, tanda baca dan karakter khusus lainnya.
  • Tidak boleh dipisahkan menggunakan spasi, apabila ingin memisahkan harus menggunakan karakter “_”.
  • Panjang nama tidak dibatas, tetapi hendaknya tidak terlalu panjang sehingga tidak menimbuikan kebingungan saat menulis program.
  • Penamaan hendaknya disesuaikan dengan kegunaan dari variabel tersebut.
  • Penamaan hendaknya disesuaikan dengan pemakaian variabel dan jangan terlalu aneh.
  • Penamaan hendaknya jangan terlalu panjang dan kompleks.

 

Contoh :

int nilai_ujian          (variabel bernama nilai_ujian dengan tipe integer)

int nilai ujian          (salah, mengandung spasi)

 

Pemberian nilai pada variabel

Setelah mempelajari bagaimana cara mendeklarasikan sebuah variabel, kita akan mempelajari bagaimana cara memberi nilai kedalam sebuah variabel berdasarkan tipe data dasarnya.

 

  1. A.   Secara Langsung

Pemberian nilai secara langsung ini berarti memberikan sebuah nilai ke dalam variabel secara langsung di dalam teks algortma program. Nilai yang diberikan dapat berupaq konstanta, tetapan atau nama variabel lain. Tipe yang diberikan harus sesuai dengan tipe data dari variabel penerima.

 

Contoh :

int nilai;

Nilai = 10               (benar)

int nilai_2;

nilai2 = nilai           (benar, memasukkan nilai dari variabel lain)

nilai2 = “alo”          (salah, tipe dasarnya tidak sama)

 

 

 

  1. B.   Melalui Piranti Masukan (Standart Input)

Metode untuk memberikan nilai ke dalam sebuah variabel tidak hanya dilakukan secara langsung, namun juga dapat dilakukan melalui sebuah piranti masukan (keyboard, file ataupun database).

Setiap bahasa pemrograman menggunakan function yang berbeda – beda dalam menangani proses inputan nilai dari piranti masukan. Contoh dibawah ini menggunakan bahasa Turbo C++

 

Contoh :

int nilai;

cin >> nilai;

 

Operator cin ini digunakan untuk menerima inputan dary keyboard. Jadi ketika anda mengetikkan angka 10 dan menekan ENTER, maka nilai akan berisikan angka 10.

Apabila anda mengetikkan nilai yang memiliki tipe yang berbeda dari pada tipe data dari variabel penampungnya, respon yang akan diberikan oleh kompiler berbeda – beda dan tergantung dari masing – masing kompiler. Ada yang langsung memberikan pesar error namun ada pula yang tetap dapat menjalankan instruksi selanjutnya baru kemudian menampilkan nilai yang salah ketika hendak mengakses        isi dari variabel tersebut.

 

4.3.4.4       Konstanta

Konstanta adalah sebuah variabel yang memiliki nilai yang tetap selama program berlangsung dan tidak dapat dirubah nilainya. Konstanta dibagi menjadi 2 bagian, yaitu :

 

  1. A.   Konstanta yang telah ditetapkan

Konstanta ini biasanya telah ada bersamaan dengan satu paket dari bahasa pemrograman yang digunakan, dan nilainya tidak dapat dirubah. Biasanya digunakan untuk mendukung function – function yang disediakan pada masing – masing bahasa pemrograman.

 

  1. B.   Konstanta yang kita tetapkan sendiri

Konstanta yang kita ciptakan sendiri, nama ataupun isi dari konstanta ini terserah pada kita.  Kata kunci yang digunakan biasanya adalah const.

 

Contoh :

Const int PHI = 3.14

const int nMaks = 100

 

4.4                 Pemrograman Berorientasi Obyek Dengan Class

Pemrograman Berorientasi Objek sebenarnya bukanlah bahasa pemrograman baru, tetapi jalan baru untuk berpikir dan merancang aplikasi yang dapat membantu memecahkan persoalan mengenai pengembangan perangkat lunak. Pemrograman berorientasi objek disusun dan dipahami oleh ilmuwan yang memandang dunia sebagai populasi objek yang berinteraksi dengan yang lain. Prosedur yang digunakan dalam objek dipandang sebagai kepentingan kedua karena tergantung pada objek itu sendiri. Tentunya hal tersebut berbeda dengan pemrograman terstruktur. Pemrograman terstruktur mempunyai sifat pemisahan data dengan kode yang mengolahnya.

 

Pemrograman Berorientasi Objek (PBO) adalah metode pemrograman yang

meniru cara kita memperlakukan sesuatu(benda). Ada tiga karakteristik bahasa

Pemrograman Berorientasi Objek, yaitu :

 

  1. Pengkapsulan (Encapsulation) : mengkombinasikan suatu struktur dengan

fungsi yang memanipulasinya untuk membentuk tipe data baru yaitu kelas (class).

  1. Pewarisan (Inheritance) : mendefinisikan suatu kelas dan kemudian

menggunakannya untuk membangun hirarki kelas turunan, yang mana

masing-masing turunan mewarisi semua akses kode maupun data kelas

dasarnya.

  1. Polimorphisme (Polymorphism) : memberikan satu aksi untuk satu nama

yang dipakai bersama pada satu hirarki kelas, yang mana masing-masing

kelas hirarki menerapkan cara yang sesuai dengan dirinya.

 

4.4.1           Konsep Dasar Obyek

Sebelum kita mempelajari lebih lanjut mengenai pemrograman berorientasi obyek, tidak ada salahnya kita mempelajari tentang definisi dan karakteristik dari sebuah obyek.

Segala sesuatu yang ada di dunia nyata dapat diartikan sebagai obyek, selain itu obyek juga memiliki karakteristik  tertentu.

  • Setiap obyek memiliki atribut sebagai status / state.
  • Setiap obyek memiliki tingkah laku / behaviour.

 

Atribut / State

Atribut adalah sebuah data yang membedakan antara obyek satu dengan obyek lainnya. Setiap obyek mempunyai dan menyimpan atributnya sendiri, dan masing – masing obyek mungkin memiliki nilai yang sama atau beda sama sekali.

Contoh :

Obyek sepeda memiliki atribut : pedal, jeruji, ban,dll.

 

Tingkah Laku / Behaviour

Behaviour / tingkah laku adalah aktifitas yang biasa dilakukan oleh obyek

dari suatu class. Aktifitas yang dilakukan dapat beragam dan tergantung dari obyek yang ada.

 

Contoh :

Obyek sepeda memiliki tingkah laku : kecepatan menaik, kecepatan turun dan perpindahan gerigi sepeda, dll.  

 

Pada pemrograman berorientasi obyek, atribut / state dinyatakan dengan member data / data member sedangkan tingkah laku dinyatakan dengan method / fungsi antarmuka.

 

4.4.2           Konsep Dasar Class

Salah satu keistimewaan pemrograman berorientasi obyek adalah pengkapsulan. Pengkapsulan adalah mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data baru yaitu kelas(class). Kelas akan menutup rapat baik data maupun kode. Akses item di dalam kelas dikendalikan. Pengendalian ini tidak hanya berupa data tetapi juga kode. Saat kelas akan digunakan, kelas harus sudah dideklarasikan. Yang penting, pemakai kelas mengetahui deskripsi kelas, tetapi bukan implementasinya. Bagi pemakai, detail internal kelas tidak penting. Konsep ini disebut penyembunyian informasi (information hiding).

Untuk menggunakan kelas, kita perlu mengetahui sesuatu tentangnya. Kita perlu mengetahui fungsi apa yang bisa digunakan dan data apa saja yang dapat diakses. Fungsi yang dapat digunakan dan data yang dapat diakses disebut antarmuka pemakai (user interface). Antarmuka pemakai menceritakan bagaimana kelas berperilaku, bukan bagaimana kelas dibuat. Kita tidak perlu mengetahui implementasi kelas. Sekali kelas dibuat, kita bisa memakainya berulang-ulang. Bagi pandangan pemakai, kelas adalah kotak hitam dengan perilaku tertentu.

 

Kendali Akses terhadap Kelas

Tugas kelas adalah untuk menyembunyikan informasi yang tidak diperlukan oleh pemakai. Ada tiga macam pemakai kelas:

  • Kelas itu sendiri
  • Pemakai umum / darimana saja
  • Kelas turunan

 

Setiap macam pemakai mempunyai hak aksesnya masing-masing. Hak akses

ini ditandai dengan kenampakan anggota kelas. Kelas pada pemrograman berorientasi obyek pada umumnya menawarkan tiga bentuk ruang lingkup jangkauan (baik member data / antarmuka) yaitu :

 

  • Private

Anggota kelas private mempunyai kendali akses yang paling ketat. Dalam bagian private, hanya fungsi anggota dari kelas itu yang dapat mengakses anggota private atau kelas yang dideklarasikan sebagai teman (friend).

 

  • Public

Dalam bagian public, anggotanya dapat diakses oleh fungsi anggota kelas itu sendiri, instance kelas, fungsi anggota kelas turunan. Suatu kelas agar bisa diakses dari luar kelas, misalnya dalam fungsi main(), perlu empunyai hak akses publik. Hak akses ini yang biasanya digunakan sebagai perantara antara kelas dengan dunia luar.

 

  • Protected

Suatu kelas dapat dibuat berdasarkan kelas lain. Kelas baru ini mewarisi sifat-sifat dari kelas dasarnya. Dengan cara ini bisa dibentuk kelas turunan dari beberapa tingkat kelas dasar. Bila pada kelas dasar mempunyai anggota dengan hak akses terproteksi, maka anggota kelas ini akan dapat juga diakses oleh kelas turunannya. Anggota kelas terproteksi dibentuk dengan didahului kata kunci protected. Pada bagian protected, hanya

fungsi anggota dari kelas dan kelas-kelas turunannya yang dapat mengakses anggota.

 

Pendeklarasian Kelas

Setiap bahasa pemrograman memiliki teknik – teknik yang berbeda dalam melakukan pendeklarasian kelas. Beberapa hal umum yang harus diperhatikan adalah nama class, daftar member data beserta tipenya dan daftar fungsi antarmuka beserta tipenya.

Dibawah ini akan diberikan struktur pendeklarasian kelas dalam bahasa pemrograman C++.

 

class [NAMA CLASS]{

// identifier ruang lingkup pengaksesan.

public :

tipe_data nama_member_data;

void nama_method(){

// isi dari method,

}

Int nama_function(){

// isi dari fungsi.

}}; // akhir dari class.


Contoh :

Program mendeklarasikan class sederhana menggunakan bahasa C++.

#include <iostream.h>

class Contoh{

// jika tidak dberi identifier apapun, berarti member data ini bersifat private.

int a,b,c; // mendeklarasikan data member.

} //end of class.

 

void main(){// pada program main.

Contoh obyek1; // membuat obyek 1 sebagai implementasi nyata dari class

}

 

Pada contoh diatas telah diberikan sebuah kelas sederhana yang terdiri dari 3 buah data member bertipe integer dan sebuah obyek bernama obyek1. Hal yang harus diperhatikan adalah kelas sangat berbeda dengan obyek. Sebuah obyek dalam OOP merupakan implementasi nyata dari sebuah kelas yang telah didefinisikan dan memiliki karakteristik yang mungkin berbeda antara 1 obyek dengan obyek lainnya. Berikut akan memberikan contoh mengenai pemahaman obyek dengan kelas.

 

Class    : Manusia, dengan karakter memiliki nama, usia, jenis kelamin.

Obyek   : Ringgo, Sylvia, Siska, Inneke, Rudy.

 

4.4.3           Elemen Dasar Class

Di dalam sebuah kelas terdapat elemen – elemen yang berfungsi membangun sebuah kelas Pada dasarnya sebuah class yang utuh dibangun dari beberapa elemen, antara lain :

 

1)   Member Data (Data Member).

Member data atau bisa disebut sebagai karakteristik / properti dari sebuah obyek yang didefinisikan pada sebuah kelas. Member data ini berupa kumpulan tipe – tipe data dasar yang memiliki ruang lingkup pengaksesan tertentu.

 

Contoh :

class pPanjang{

int panjang, lebar; à ini yang disebuh sebagai member data.}

 

2)   Fungsi Antarmuka.

Fungsi antarmuka berfungsi sebagai jembatan bagaimana obyek dari sebuah kelas mampu berhubungan dengan member data yang ada di dalamnya. Berikut adalah fungsdi dari sebuah antarmuka berdasarkan konsep enkasulasi yang baik.

 

  1. Sebagai antarmuka dari properti / member data yang ada dalam sebuah kelas dengan obyeknya.
  2. Sebagai antarmuka apabila sebuah obyek ingin melakukan sesuatu kegiatan.

 

Misal : Kita tidak pernah tahu bagaimana susunan kerja otak ketika kita menghapal sebuah tulisa atau kita tidak pernah tahu secara rinci  bagaimana proses sususan syarat kita mengatur aliran darah dari jantung ke seluruh tubuh.

 

Contoh :

#include <iostream.h>

class pPanjang{

int panjang, lebar; // mendeklarasikan data member.

 

public :

void setPanjang(int panjang){

this.panjang = panjang;

}

void setLebar(int lebar){

this.lebar = lebarl

}

 

int hitungLuas(){

return panjang * lebar;

}} //end of class.

 

void main(){

pPanjang obj1;

// membuat obyek 1 sebagai implementasi nyata dari class

obj1.setPanjang(100); // beri nilai member data panjang

obj1.setLebar(100); // beri nilai member data lebar.

cout << “ Luas persegi panjang adalah : “ << obj1.hitungLuas() // menampilkan hasil hitung luas.;

} // end of program.

 

Pada program diatas telah ditunjukkan bagaimana obyek berhubungan dengan member data dari kelas dan antarmuka setPanjang(), setLebar() dan hitungLuas().

 

3)   Konstruktor

Konstruktor adalah fungsi khusus dari sebuah kelas yang selalu dijalankan ketika obyek dari kelas tersebut dicipptakan. Penjelasan detil mengenai konstruktor akan dijelaskan dibawah ini.

 

4)   Destruktor

Destruktor adalah fungsi khusus dari sebuah khusus yang selalu dijalankan ketika obyek dari sebuah kelas berakhir. Fungsi destruktor ini tidak selalu ada pada setiap bahasa pemrograman berorientasi obyek.

 

4.4.4           Konstruktor dan Destruktor

 

4.4.4.1 Konstruktor

Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat penciptaan objek (mendeklarasikan instance).

Konstruktor ditandai dengan namanya, yaitu sama dengan nama kelas. Konstruktor tidak mempunyai tipe hasil, bahkan juga bukan bertipe void.

Pada impelementasinya konstruktor sering digunakan untuk melakukan inisialisasi program seperti halnya membuka file, inisialisasi nilai member data,dll. Konstruktor boleh terdapat lebih dari satu.

 

Tiga jenis konstruktor:

  • Konstruktor default : tidak dapat meneriman argumen, anggota data diberi nilai awal tertentu.
  • Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari parameter.
  • Konstruktor penyalinan obyel lain : parameter berupa obyek lain, anggota data diberi nilai dari obyek lain.

 

 

Perhatikan contoh dibawah ini :

//Program Konstruktor

#include<iostream.h>

#include<conio.h>

class titik{

int x, y;

public:

 

titik(){ //konstruktordefaultt

x=0;

y=0;} // end

 

titik(int nx, int ny) {// konstruktor penyalinan

x=nx;

y=ny;} // end

 

titik(const titik& tt){ // konstruktor penyalinan objek

x=tt.x;

y=tt.y;}

int NX() { return x; } // fungsi anggota biasa

int NY() { return y; } // fungsi anggota biasa

};

 

void main(){

titik t1; // objek dg konstruktor default

titik t2(10, 20); // objek dg konstruktor penyalinan

titik t3(t2); // objek dg konstruktor penyalinan objek

cout<<”t1 = ”<< t1.NX() << “, “<<t1.NY()<<endl;

cout<<”t2 = ”<< t2.NX() << “, “<<t2.NY()<<endl;

cout<<”t3 = ”<< t3.NX() << “, “<<t3.NY()<<endl;

getch();} // akhir dari void main.

 

Hasil keluaran program:

t1 = 0,0

t2 = 10,20

t3 = 10,20

 

Objek t1 diciptakan dengan otomatis menjalankan konstruktor default.

Dengan demikian anggota data diberi nilai x=0, dan y = 0. Penciptaan objek t2 diikuti dengan menjalankan konstruktor kedua, mengakibatkan anggota data diberi nilai x=10 dan y=20. Terakhir, t3 diciptakan dengan menyalin objek dari t2, mengakibatkan pemberian nilai kepada anggota data sama dengan objek t2.

 

4.4.4.2      Destruktor

Destruktor adalah fungsi yang dijalankan pada sat obyek telah selesai digunakan atau program berakhir. Hanya saja, konsep ini tidak

sepenuhnya didukung oleh seluruh bahasa pemrograman berorientasi obyek seperti halnya konstruktor.

Sebagai contoh pada bahasa pemrograman Java tidak mengenal destruktor, melainkan garbage collector / gc. Tapi pada pembahasan ini tetap diberikan sebaga dasar pengetahuan tentang konsep pemrograman berorientasi obyek, contoh dibawah ini diberikan menggunakan bahasa pemrograman C++.

Perhatikan contoh berikut:

// Contoh Konstruktor dan Destruktor

 

#include<iostream.h>

class Tpersegi{

int *lebar, *panjang;

public

 

Tpersegi (int, int); // deklrasi prototype konstruktor.

~Tpersegi(); // deklrasai prototype destructor.

int Luas() {return (*lebar * *panjang);}}; // end.

 

Tpersegi::Tpersegi(int a, int b){ //konstruktor.

lebar = new int;

panjang = new int;

*lebar = a;

*panjang = b;} // end

 

Tpersegi::~Tpersegi(){ // destructor.

delete lebar;

delete panjang;} // end

 

int main(){

Tpersegi pers(3,4), persg(5,6);

cout<< “Luas pers = ”<<pers.Luas()<<endl;

cout<< “Luas persg = ”<<persg.Luas()<<endl;

return 0;} // end main.

 

4.4.5           Implementasi Kelas

Pada pembahasan diatas telah dijelaskan mengenai konsep pemrograman berorientasi obyek dengan detil, dibawah ini akan diberikan studi kasus beserta contoh program menggunakan bahasa pemrograman C++.

 

Contoh :

Buatlah sebuah obyek yang dapat digunakan untuk menghitung luas dan keliling dari sebuah persegi panjang dengan menggunakan konsep enkapsulasi yang baik.

 

#include <iostream.h>

class PersegiPanjang{

protected : // deklarasi protected untuk member data

int panjang;

int lebar;

public :

PersegiPanjang(int pj, int lb){ // konstruktor untuk set member data awal

panjang = pj;

lebar = lb;} // end

int Panjang(){ // kembalikan nilai panjang

 

return panjang;} // end

int Lebar(){ // kembalikan nilai lebar

return lebar;} // end

 

int Keliling(){ // hitung keliling

return 2*(panjang+lebar);} // end

 

int Luas(){ // hitung luas

return panjang*lebar;} // end

 

void Skala(float sk){ // atur berdasarkan skala.

panjang *= sk;

lebar *= sk;} // end

 

void TulisInfo(){ // menulis hasil ke layer monitor.

cout<<”Panjang : “<<panjang<<endl

<<”Lebar :”<<lebar<<endl

<<”Keliling :”<<Keliling()<<endl // memanggil method keliling.

<<”Luas :”<<Luas()<<endl; // memanggil method luas.

}}; //  akhir dari class.

 

Setelah class diatas selesai dibuat, simpan dengan nama PersegiPJ.CPP dan buatlah program baru yang berbeda dengan file diatas. Penulisan program seperti dibawah ini.

 

// penggunaan kelas persegi panjang

#include “PersegiPJ.Cpp”

void main(){

PersegiPanjang pp1(10,5); // membuat obyek PersegiPanjang.

 

pp1.Skala(2); // atur skala.

pp1.TulisInfo(); // tulis info.

getch();} // end main.

 

Pada program diatas memberikan contoh bahwa antarmuka dari sebuah class tidak hanya dapat dipanggil dari luar kelas tetapi juga dapat dipanggil melalui antarmuka lainnya.

 

 

 

4.5          Inheritence / Pewarisan.

Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini

mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat

khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang

mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian

yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi

objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).

Jika tidak ada fasilitas pewarisan ini, maka pemrograman pemrograman berorientasi obyek akan tidak banyak berbeda dengan pemrograman prosedural, hanya perbedaan dalam pengkapsulan saja yang menggunakan kelas sebagai pengganti struktur. Yang perlu menjadi catatan di sini adalah bahwa data dan fungsi yang dapat diwariskan hanya yang bersifat public dan protected.

Untuk data dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan sifat protected yang hanya dapat diakses dari dalam kelas saja.

Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya.  Kelas yang menjadi induk biasa disebut sebagai superclass dan kelas turunannya biasa disebut sebagai subclass.

 

4.5.1           Keuntungan Menggunakan Inheritence / Pewarisan

  • Subclass menyediakan karakteristik yang berbeda dengan superclass / kelas induknya.
  • Pemrogram dapat membuat sebuah kelas generic, yaitu sebuah abstract class. Kelas abstract ini merupakan sebuah kelas yang memiliki sifat dan karakteristik umum dan seluruh implementasinya berada pada subclassnya.

 

4.5.2           Beberapa Bentuk Dari Inheritence / Pewarisan.

Inheritence / pewarisan memiliki 3 bentuk, yaitu :

  • Single Inheritence

Single inheritance adalah bentuk dimana sebuah kelas dapat memiliki sebuah kelas induk / super class.

 

  • Multiple Inheritence

Multiple inheritance adalah bentuk dimana sebuah kelas dapat memiliki lebih dari satu kelas induk / super class. Bentuk ini tidak didukung oleh beberapa bahasa pemrograman, salah satunya adalah Java. Permasalahan yang sering timbul dari bentuk ini adalah ambiguitas pada karakteristik kelas turunan ketika memiliki induk lebih dari satu.

 

  • Multi Level Inheritence

Multilevel inheritance adalah bentuk dimana sebuah kelas dapat menjadi kelas induk / superclass bagi kelas lain.

 

Untuk memperjelas penjelasan diatas, maka akan diberikan hirarki dari class unggas yang akan digambarkan dibawah ini.

 

 

 

 

 

Sebagai kelas dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan bersayap. Kelas turunan pertama adalah Ayam, Burung dan Bebek. Tiga kelas turunan ini mewarisi sifat kelas dasar Unggas yaitu bertelur dan bersayap. Selain mewarisi sifat kelas dasar, masing-masing kelas turunan mempunyai sifat khusus, Ayam berkokok, Burung terbang dan Bebek berenang. Kelas Ayam punya kelas turunan yaitu Ayam Kampung dan Ayam Hutan. Dua kelas ini mewarisi sifat kelas Ayam yang berkokok. Tetapi dua kelas ini juga punya sifat yang berbeda, yaitu: Ayam Kampung berkokok panjang halus sedangkan Ayam hutan berkokok pendek dan kasar.

Jika hirarki kelas Unggas diimplementasikan dalam bentuk program, maka secara sederhana dapat ditulis sebagai berikut:

 

//Program Kelas Unggas

#include<iostream.h>

#include<conio.h>

class Unggas{ // class induk.

public:

void Bertelur() {cout<<”Bertelur”<<endl; }

};

class Ayam : public Unggas{ // class turunan.

public:

void Berkokok() {cout<<”Berkokok”<<endl; }

};

class Burung : public Unggas{ // class turunan juga

public:

void Terbang() {cout<<”Terbang”<<endl; }

};

class Bebek : public Unggas{ // class turunan juga

public:

void Berenang() {cout<<”Berenang”<<endl; }

};

class AyamKampung : public Ayam{ // class turunan juga

public:

void Berkokok_Panjang_Halus() {cout<<”Berkokok Panjang Halus”<<endl; }

};

class AyamHutan : public Ayam{ // class turunan juga

public:

void Berkokok_Pendek_Kasar() {cout<<”Berkokok Pendek Kasar”<<endl; }

};

// pendeklarasian main program.

void main(){

cout <<”Sifat bebek adalah:”<<endl;

Bebek bk; // bikin obyek bebek, turunan dari unggas.

bk.Bertelur();

bk.Berenang();

cout<<endl;

cout<<”Sifat ayam adalah:”<<endl;

Ayam ay; // bikin obyek ayam, turunan dari unggas.

ay.Bertelur();

ay.Berkokok();

cout<<endl;

cout<<”Sifat ayam kampung adalah:”<<endl;

AyamKampung ayk; // bikin obyek ayam kampong, turunan dari ayam.

ayk.Bertelur();

ayk.Berkokok();

ayk.Berkokok_Panjang_Halus();

getch();

}

 

 

 

 

Dapat dilihat, bahwa kelas Ayam dan kelas Bebek dapat menjalankan fungsi

Bertelur() yang ada dalam kelas Unggas meskipun fungsi ini bukan merupakan

anggota kelas Ayam dan kelas Bebek. Kelas AyamKampung dapat menjalankan fungsi Berkokok() yang ada dalam kelas Ayam walaupun dua fungsi tersebut bukan merupakan anggota kelas AyamKampung. Sifat-sifat di atas yang disebut dengan pewarisan (inheritance).

 

4.6        Polimorphy

Polimorfisme merupakan fitur pemrograman berorientasi objek yang penting

setelah pengkapsulan dan pewarisan. Polimorfisme berasal dari bahasa Yunani,

poly(banyak) dan morphos (bentuk). Polimorfisme menggambarkan kemampuan

sebuah kode program  berperilaku berbeda tergantung situasi pada waktu run (program berjalan). Konstruksi ini memungkinkan untuk mengadakan ikatan dinamis (juga disebut ikatan tunda, atau ikatan akhir).  Kalau fungsi-fungsi dari suatu kelas dasar didefinisikan ulang atau ditindih pada kelas turunan, maka objek-objek yang dihasilkan hirarki kelas berupa objek polimorfik.

Polimorfik artinya mempunyai banyak bentuk atau punya kemampuan untuk mendefinisi banyak bentuk.

 

Perhatikan kelas sederhana berikut :

#include <iostream.h>

class TX{ // class induk.

public:

double FA(double p) { return p*p; }

double FB(double p) { return FA(p) / 2; }

};

class TY : public TX{ // class turunan dari class TX.

public:

double FA(double p) { return p*p*p; }

};

 

void main(){

TY y;

cout << y.FB(3) << endl;

}

 

KelasTX berisi fungsi FA dan FB, dimana fungsi FB memanggil fungsi FA.

Kelas TY, yang merupakan turunan dari kelas TX, mewarisi fungsi FB, tetapi

mendefinisikan kembali fungsi FA. Yang perlu diperhatikan di sini adalah fungsi

TX::FB yang memanggil fungsi TY::FA dalam konteks perilaku polimorfisme.

Output yang dihasilkan dari program diatas adalah 4.5 dan bukan 13.5.

Mengapa? Jawabannya adalah karena kompiler memecahkan ungkapan Y.FB(3) dengan menggunakan fungsi warisan TX::B, yang akan memanggil fungsi TX::FA.

Oleh karena itu fungsi TY::FA ditinggalkan dan tidak terjadi perilaku polimorfisme.

Hampir setiap bahasa pemrograman menetapkan persoalan ini dan mendukung perilaku polimorfisme dengan menggunakan fungsi virtual.

Fungsi virtual, yang mengikat kode pada saat runtime, dideklarasikan dengan menempatkan kata kunci virtual sebelum tipe hasil fungsi.

 

Untuk program di atas, kode double FA(double p) tulis menjadi virtual double

FA(double p) baik di kelas TX maupun yang ada di kelas TY. Dengan perubahan

ini maka output dari program di atas menjadi 13.5.

 

4.7        Overloading

Overloading adalah sebuah teknik pemrograman yang memungkinkan pemrogram untuk mebuat beberapa fungsi antarmuka dengan nama yang sama namun dengan aktifitas yang berbeda. Overloading menjadikan pemrograman berorientasi obyek semakin menyerupai representasi obyek sebenarnya di dunia nyata. Pada implementasinya, diperlukan parameter yang berbeda untuk setiap fungsi antarmuka yang di overload. Ini ditujukan untuk memberitahu kompiler program dalam memanggil fungsi antarmuka yang dimaksud.

 

Berikut akan diberikan studi kasus sederhana mengenai konsep overloading :

Sebuah obyek mobil memiliki perilaku untuk bergerak baik itu bergerak maju, mundur, belok, serong, dll.

 

Mobil à Bergerak (Maju)

à Bergerak (Mundur)

à Bergerak (Belok Kanan)

à Bergerak (Serong kanan)

à Bergerak pada arah tertentu.

 

Pada studi kasus diatas, dapat dilihat tingkah laku bergerak memiliki banyak implementasi yang berbeda – beda. Inilah prinsip dasar dari overloading.

 

Bentuk Dari Overloading

Pada sebagian besar bahasa pemrograman berorientasi obyek memiliki 2 bentuk overloading, antara lain :

 

  • Konstruktor Overloading

Konstruktor overloading adalah teknik untuk mendeklarasikan konstruktor untuk berbagai jenis aktifitas yang berbeda – beda. Setiap aktifitas yang berbeda harus ditandai dengan parameter yang berbeda – beda.

 

  • Method / Function Overloading

Method / Function overloading adalah teknik untuk mendeklarasikan method untuk berbagai jenis aktifitas yang berbeda – beda dengan nama yang sama. Setiap aktifitas yang berbeda harus ditandai dengan parameter yang berbeda – beda.

 

Pada bahasa pemrograman tertentu (C++), terdapat istilah operator overloading. Teknik ini memungkinkan sebuah operator dapat dioverload untuk operasi yang berbeda – beda. Namun pada pembahasan ini, kita tidak akan membahas teknik tersebut.

 

Contoh penggunaan overloading :

#include <iostream.h>

 

class overloading{

int a,b; // deklarasi member data / atribute.

public :

overloading(){ // konstruktor.

cout <<” Konstruktor tanpa paramater”;
}

overloading(int a){ // overlading konstruktor.

cout <<” Konstruktor dengan paramater”;
}

void cetak(){ // method biasa.

cout << “Method tanpa paramater”;

}

 

void cetak(int a){ // method overloading.

cout << “Method dengan parameter”;

}};

 

void main(){

overloading a; // menjalankan konstruktor default.

a.cetak(); // menjalankan method default.

cout <<endl; // turun 1 baris.

Overloading b(100); // menjalankan konstruktor overloading.

b.cetak(100); // menjalankan method overloading.

}
Program diatas akan memberikan hasil :

Konstruktor tanpa paramater

Method tanpa paramater.

Konstruktor dengan paramater

Method dengan paramater.

 

4.8        Friends

Friend merupakan teknik yang kontradiksi dengan konsep enkapsulasi yang diterapkan pada pemrograman berorientasi obyek. Karena pada dasarnya konsep enkapsulasi adalah menyembunyikan pengaksesan anggota member sebuah kelas  dari pihak luar sedangkan friend memungkinkan antar muka yang berasal dari luar atau buan dari anggota class untuk mengaksesnya. Penggunaan friend juga tidak didukung oleh semua bahasa pemrograman, salah satunya Java dan .NET.

 

Fungsi friend adalah fungsi bukan anggota kelas yang mungkin mengakses anggota kelas. Fungsi ini dapat dipakai untuk mengakses anggota kelas baik yang private atau protected.

 

 

 

 

 

Fungsi friend dapat pula mengakses anggota dari kelas lain lebih dari satu, jadi sebuah fungsi friend dapat mengakses anggota dari kelas A, B,C dan seterusnya. Berikut akan diberikan contoh diagramnya :

 

 

 

Pada pembahasan ini memang tidak dibahas scara detil mengenai penggunaan friend, dikarenakan metode ini sudah tidak banyak digunakan dan tidak sesuai dengan konsep enkapsulasi pada bahasa pemrograman berorientasi obyek dan hampir sebagaian besar bahasa pemrograman yang saat ini sering digunakan sudah tidak mendukung metode friend ini.

 

4.9        Package Dan Interface

 

4.9.1           Package

Package adalah sebuah metode yang memungkinkan sekumpulan kelas dibundel menjadi satu paket dan apabila ingin digunakan maka

tinggal melakukan pemanggilan pada package tersebut. Metode ini hampir didukung pada sebagaian besar bahasa pemrograman berorientasi obyek saat ini, dan C++ pun juga memiliki teknik yang hampir sama dengasn menggunakan metode include.

Pada dasarnya struktur sebuah package berbentuk hirarki, seperti yang akan digambarkan pada diagram berikut ini.

 

 

 

Pada implementasinya tidak ada pembatasan tentang berapa jumlah hirarki yang digunakan pada sebuah struktur package. Berikut akan diberikan contoh menggunakan bahasa pemrograman Java untuk mempermudah pemahaman mengenai Package.

 

Contoh :

Program untuk membuat package A dan didalamnya terdapat class ort tes1 dan tes2, dan akan diimpor pada file program yang berbeda.

 

package A; // pada file tes1.java

// membuat package A dengan isi class tes1

public class tes1{

public tes1(){

System.out.println(“Konstruktor kelas tes1 dijalankan”);

}

}

 

package A; // pada file tes2.java

// membuat package A dengan isi class tes2

. public class tes2{

public tes2(){

System.out.println(“Konstruktor kelas tes2 dijalankan”);}}

 

Pada file program yang berbeda :  Panggil.Java

 

import A.tes1; // memangil package A dengan kelas tes1

import A.tes2; // memanggil package A dengan kelas tes2

// melakukan impor pada kelas tes1 dan tes2.

 

public class Panggil{

/ tubuh main program.

public statis void main(String []a){

new tes1(); // membuat obyek tes1

new tes2(); // membuat obyek tes2.

}}

 

Penggunaan package tidak hanya pada sebuah kasus simple seperti diatas, beberapa bahasa pemrograman terkemuka seperti Java dan .NET telah menyediakan API (Application Programming Interface)

dalam bentuk package, sehingga akan mempermudah pemakai ketika hendak mempergunakan.

 

Berikut keuntungan – keuntungan menggunakan Package :

  • Mempermudah penulisan program.
  • Mempermudah pemeliharaan program.
  • Mempermudah pengembangan program.

 

4.9.2           Interface

Interface adalah sebuah teknik yang digunakan untuk mendukung proses polimorfisme program, yaitu sebagai cetak biru bagi kelas – kelas yang nantinya akan diimplementasikan dengan aktifitas yang berbeda – beda sesuai dengan kegunaan masing – masing. Bahasa pemrograman yang cukup terkenal menggunakan metode ini adalah Java dan VB.NET, pada bahasa pemrograman C++ terdapat konsep yang hampir serupa yang dinamakan template.

Interface ini merupakan sekumpulan tubuh fungsi antarmuka dan member data yang tidak diimplementasikan secara nyata pada interface itu sendiri, melainkan akan diimplementasikan pada kelas – kelas yang memanggilnya dengan aktifitas yang berbeda – beda.

 

Pada sebuah interface terdiri dari 2 macam, yaitu :

  • Data member

Member data yang didefiniskan pada sebuah interface dapat digunakan pada kelas yang memanggil interface tersebut. Pada beberapa bahasa pemrograman sebuah member data yang didefinisikan pada sebuah interface memiliki nilai yang konstan dan tidak dapat dirubah nilainya, hanya dapat digunakan saja.

  • Fungsi antar muka

Fungsi antar muka yang didefinisikan pada sebuah interface tidak diperbolehkan memiliki implementasi di dalamnya dan hanya berupa definisi serta parameter – parameter yang nantinya akan digunakan pada kelas pemanggilnya. Interface ini secara sepintas memiliki kesamaan dengan kelas abstrak, yang membedakan adalah interface ini benar – benar tidak diperbolehkan memiliki implementasi apapun saat dideklarasikan.

Contoh :

Program yang mendefisinikan sebuah interface dan kelas – kelas pemanggilnya.mengimplementasikan sesuai dengan aktifitas yang berbeda – beda.

 

public interface testing {

public void berbicara();

public void berjalan();

}

 

class kucing implements testing{

public kucing(){

berbicara(); // memanggil method berbicara nya anjing

Berjalan(); // memanggil method berbicara nya anjing.

}

public void berjalan(){

System.out.println(“Tap Tap Tap”);

}

public void berbicara(){

System.out.println(“Meoooooonggggg…”);

}}

 

class anjing implements testing{

public anjing(){

berbicara(); // memanggil method berbicara nya anjing

berjalan(); // memanggil method berbicara nya anjing.

}

public void berjalan(){

System.out.println(“Bruk Bruk Bruk”);

}

 

public void berbicara(){

System.out.println(“Guk guk guk”);

}

}

 

 

 

 


BAB V

SUMBER-SUMBER YANG DIPERLUKAN

UNTUK PENCAPAIAN KOMPETENSI

 

5.1.      Sumber Daya Manusia

 

Pelatih

Pelatih Anda dipilih karena dia telah berpengalaman. Peran Pelatih adalah untuk :

  1. Membantu Anda untuk merencanakan proses belajar.
  2. Membimbing Anda melalui tugas-tugas pelatihan yang dijelaskan dalam tahap belajar.
  3. Membantu Anda untuk memahami konsep dan praktik baru dan untuk menjawab pertanyaan Anda mengenai proses belajar Anda.
  4. Membantu Anda untuk menentukan dan mengakses sumber tambahan lain yang Anda perlukan untuk belajar Anda.
  5. Mengorganisir kegiatan belajar kelompok jika diperlukan.
  6. Merencanakan seorang ahli dari tempat kerja untuk membantu jika diperlukan.

 

Penilai

Penilai Anda melaksanakan program pelatihan terstruktur untuk penilaian di tempat kerja. Penilai akan :

  1. Melaksanakan penilaian apabila Anda telah siap dan merencanakan proses belajar dan penilaian selanjutnya dengan Anda.
  2. Menjelaskan kepada Anda mengenai bagian yang perlu untuk diperbaiki dan merundingkan rencana pelatihan selanjutnya dengan Anda.
  3. Mencatat pencapaian / perolehan Anda.

 

Teman kerja/sesama peserta pelatihan

Teman kerja Anda/sesama peserta pelatihan juga merupakan sumber dukungan dan bantuan. Anda juga dapat mendiskusikan proses belajar dengan mereka. Pendekatan ini akan menjadi suatu yang berharga dalam membangun semangat tim dalam lingkungan belajar/kerja Anda dan dapat meningkatkan pengalaman belajar Anda.

 

5.2.          Sumber-sumber Perpustakaan     

Pengertian sumber-sumber adalah material yang menjadi pendukung proses pembelajaran ketika peserta pelatihan sedang menggunakan Pedoman Belajar ini.

Sumber-sumber tersebut dapat meliputi :

  1. Buku referensi dari perusahan
  2. Lembar kerja
  3. Gambar
  4. Contoh tugas kerja
  5. Rekaman dalam bentuk kaset, video, film dan lain-lain.

 

Ada beberapa sumber yang disebutkan dalam pedoman belajar ini untuk membantu peserta pelatihan mencapai unjuk kerja yang tercakup pada suatu unit kompetensi.

 

Prinsip-prinsip dalam CBT mendorong kefleksibilitasan dari penggunaan sumber-sumber yang terbaik dalam suatu unit kompetensi tertentu, dengan mengijinkan peserta untuk menggunakan sumber-sumber alternative lain yang lebih baik atau jika ternyata sumber-sumber yang direkomendasikan dalam pedoman belajar ini tidak tersedia/tidak ada.

 

 

5.3.          Daftar Peralatan/Mesin dan Bahan       

 

  1. Judul/Nama Pelatihan        :    Mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented).
  2. Kode Program Pelatihan    :    TIK.PR02.009.01

 

NO

UNIT

KOMPETENSI

KODE UNIT

DAFTAR PERALATAN

DAFTAR BAHAN

KETERANGAN

1.

Mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented)

TIK.PR02.

009.01

- Unit PC (Personal Computer) dengan CD drive dan Floppy Disk.

- PC dengan sistem operasi Windows XP

- Keyboard dan mouse

- RAM dengan ukuran yang sesuai dengan kebutuhan.

- Program Borland C++ 3.1

 

-Program Borland C++ 3.1

- Buku informasi atau manual Pemrograman Berorientasi Obyek

 

-

 

 

 

 

 

 

DAFTAR PUSTAKA

 

 

 

 

Testimoni

artikel lainnya Mengoperasikan Bahasa Pemrograman Berorientasi Obyek (Object Oriented) TIK.PR02.009.01



bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online

bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online
Thursday 15 January 2015 | blog

    MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TELEMATIKA SUB SEKTOR OPERATOR KOMPUTER   MENGOPERASIKAN PIRANTI LUNAK…

Friday 24 July 2015 | blog

BAB III ANALISIS DATA Dalam bab ini peneliti akan melakukan pengujian beberapa hubungan antar variabel independen…

Sunday 26 July 2015 | blog

MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TELEMATIKA SUB SEKTOR COMPUTER TECHNICAL SUPPORT     MEMASANG MEMORY TIK.CS02.011.01…

Friday 9 January 2015 | blog

  MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TELEMATIKA SUB SEKTOR OPERATOR KOMPUTER     MENGOPERASIKAN PIRANTI LUNAK…