Mempelajari konsep Objek oriented tidak berarti semata-mata mempelajari bahasa pemrogramannya saja. Idealnya, dengan memahami konsep Object Ortiented, maka bahasa apapun dapat dijadikan tools untuk memperjelas konsep tersebut. Adakalah, kita langsung mempraktekkan bahasa pemrograman, tanpa memahami konsep OO yang terkadung di dalamnya. Tulisan beriku tini merangkum kembali konsep OO yang harus dikuasai dengan baik oleh seorang pemrogram.

Terdapat 5 materi besar dalam mempelajari Pemrograman Beroientasi Objek. Yaitu:

  1. Kelas dan Objek
  2. Interaksi antar Objek
  3. Relasi antar Objek
  4. Collection
  5. Advance topics:
    1. Abstract dan Interface
    2. Polimorphism
    3. Static dan Final 

Menurut Grady Booch, objek adalah benda; yang memiliki id, state, dan behavior. State adalah kumpulan value untuk setiap atribut yang menempel pada objek tersebut. Sedangkan behavior menunjukkan perilaku objek, direpresentasikan dengan metode/fungsi yang dapat mengubah state. Sebagai contoh, kelas Student/Mahasiswa adalah objek. Mahasiswa memilik atribut nama dan nomor induk serta IPK. Mahasiswa memiliki perilaku belajar agar value dari IPK dapat berubah.

minions

Kelas digambarkan sebagai template atau cetak biru dari sebuah objek. Kelas menggambarkan struktur dari sebuah objek. Template atau cetak biru ini menjadi dasar pembuatan objek. Objek yang berasal dari Kelas yang sama, akan memiliki atribut dan metode/fungsi yang sama. DIkatakan bahwa objek adalah instansiasi dari Kelas.

Mengacu ke notasi Unified Modeling Language (UML), kelas digambarkan dalam bentuk diagram sebagai berikut. Terdiri dari 3 area. Area pertama menunjukkan Nama Kelas, area kedua menunjukkan kumpulan atribut, dan area ketiga menunjukkan kumpulan metode/fungsi

KelasMahasiswa

Kelas Mahasiswa, notasi UM
L

Berdasarkan digram kelas tersebut, kita dapat melakukan pemrograman dengan bahasa Java sebagai berikut:

public class Mahasiswa {

String nama;
String nim;
Double ipk;

}

Sedangkan di bahasa PHP, didapat kode sebagai berikut:

class Mahasiswa {

private $nama;
private $nim;
private $ipk;

}

Sedangkan dalam bahasa Pyhton:

class Mahasiswa:

nama = “”
nim = “”
ipk = 0

Sedih itu adalah.. Lupa menyimpan program-program lama, yang ternyata  masih diperlukan untuk pekerjaan/penelitian terkini. Mau nangis, masak harus dikoding ulang semua? Koq bisa sih lupa. Rasanya saya rajin back up ke drive, atau dicopy ke hdd. Tapi dicari, ga ada. Programnya mungkin sederhana, anak tingkat II juga pasti bisa. Yaitu tentang Knapsack’s Problem, solusi dengan Brute Force dan Dynamic Programming. Sudah dicustom untuk persoalan Combinatorial Spectrum Auction.  Akan saya gunakan sebagai acuan dasar sebelum masuk ke algoritma Heuristic/Metaheuristic.

Baiklah, saya ulangi kodinganya. Untuk Brute Force, artinya kita harus membangkitkan Read the rest of this entry »

Terlalu banyak main-main (di dunia maya) 🙈 sampai banyak hal yang belum tuntas. Tiap hari di-sms tagihan pekerjaan 🙊, tagihan otomatis ini lebih mengerikan daripada tagihan cicilan Citibank ya 😄😄😄.

Tapi mengingat betapa saya sudah menitipkan anak sekolah Full Day (lantas saya membuang-buang waktu dengan bermain-main? TEGA LU!); teringat juga mamah yang udah ga ada, dan saya ga sempat membuat hatinya senang 😢😢😢. Dan ingat, demi masa: manusia berada dalam kerugian 😖.

Ya sudah, kita fokus kembali bekerja, dunia maya secukupnya; kalo ada yang butuh saya, cari saya di telegram user @pbasari dan di blog ini 😎.

Baiklah, saya akan menulis yang semoga bermanfaat dan menyenangkan saja, agar jika tergoogling, tidak terasa sia-sia. Mari bersenang-senang ! 💃💃

Beberapa target pekerjaan saya adalah menyiapkan diri untuk sertifikasi Java Oracle Certified Associate, Java OCA. Dalam bentuk belajar bersama (bimbel kaleee), lalu membahas soal-soal (beneran bimbel deh!😱 ). Lha, itu materi kan basik, kami sudah cukup bosan dengan materinya, yang belum mahir adalah menghadapi soal-soalnya.

Seharusnya saya meminta guru pengajar Java OCA, alias kursus. Kabarnya, akan ada kerjasama dari Oracle Academy dengan Universitas, tapi entah kapan. Jadi mendingan belajar mandiri rutin per minggu di kampus, bersama dosen partner, dosen muda, dan asisten.

Daaan.. jeng jeng.. saya tidak berhasil melakukan komitmen tersebut 😄😄. Sepertinya karena jadwal bimbel java OCA ini bentrok dengan jadwal perubahan kurikulum KKNI (alasan 😡). Baiklah, agar tidak terlupa, saya susun lagi materi-materi yang sudah kami siapkan.

Kita ulangi, path untuk sertifikasi Java ini:
Oracle Certified Associate
Oracle Certified Professional
Oracle Certified Master

Masing-masing terdiri dari:

Java SE 7 Programmer I 1Z0-803,
Java SE 5 and 6, Certified Associate 1Z0-85,
Java SE 8 Programmer I 1Z0-808

Java SE 8 Programmer II 1Z0-809
Java SE 7 Programmer II 1Z0-804
Java SE 6 Programmer Certified Professional 1Z0-851
Java SE 5 Programmer Certified Professional 1Z0-853

Java SE 6 Developer Certified Master Assignment 1Z0-855
Java SE 6 Developer Certified Master Essay 1Z0-856

Lengkapnya bisa dilihat di situs Oracle University
Omaigat, panjang pisan pathnya. ini OCA aja belum 😅.

Khusus untuk Java OCA, ada buku bagus dan lengkap sebagai referensi (aduh, ini bajakan ga sih, jadi ga enak 😔 ):

OCA Java SE 7
Programmer I
Certification Guide
Prepare for the 1ZO-803 exam

Dari Mala Gupta FOREWORD BY Jeanne Boyarsky, penerbit Manning Publications Co.

Sedangkan materi-materinya:

  1. Java basics
  2. Working with Java data types
  3. Methods and encapsulation
  4. String, StringBuilder, Arrays, and ArrayList
  5. Flow control
  6. Working with inheritance
  7. Exception handling
  8. Full mock exam

Dari materi, sepertinya semua sudah dikuasai 😎 tapi jika melihat contoh soal-soalnya koq salah menjawabnya ya? 😤. Soal-soal exam, saya buat di post berikutnya ya. Berikut ini adalah biaya untuk exam Java OCA: IDR 1876650. Test dilakukan selama 120 menit, dengan jumlah soal 70, dan skor harus 63% 😵.

So. Siap belajar? Kita lanjut di tulisan-tulisan berikutnya ya 👋

exam price Java OCA

exam price Java OCA

Materi Belajar Java Dasar

December 21, 2014

bisa diambil di blog unpas ini sih. Tapi saya paparkan di sini saja ya agar mudah diakses.

Slide: IT 405 Materi 1 – Pengantar IT 405 Materi 2 – Java Dasar IT 405 Materi 3 – Objek dan Kelas IT 405 Materi 4 – Objek dan Kelas II IT 405 Materi 5 – Interaksi antar objek IT 405 Materi 6 – Interaksi antar objek II IT 405 Materi 6a – Interaksi antar objek III IT 405 Materi 7 – Relasi antar Objek IT 405 Materi 8 – Relasi antar Objek II IT 405 Materi 9 – Relasi antar Objek III IT 405 Materi 10 – Kelas Abstrak dan Interface IT 405 Materi 11 – Kelas Abstrak dan Interface II IT 405 Materi 12 – Polimorfisme IT 405 Materi 13 – Polimorfisme II IT 405 Materi 14 – Static Feature IT 405 Materi 14 – Review

Modul: KPLBO-P3 (Class Object I) KPLBO-P4 (Class Object II) KPLBO-P5 (Interaksi Objek I) KPLBO-P6 (Interaksi Objek II) KPLBO-P7 (Relasi Objek I) KPLBO-P8 (Review) KPLBO-P9 (Collection I) KPLBO-P10 (Collection II) KPLBO-P11 (Final Object Concept I)

Tambahan materi

IT 405 Materi 10 – Collections (of objects) I

Berdasarkan situs TIOBE yang berisi Tiobe Index bulanan untuk bahasa paling popular digunakan, Java menempati urutan kedua, setelah sekian lama tergusur kembali oleh bahasa C. RIP Dennis Ritchie, with smile :). Indeks Tiobe Walau demikian, saya tetap setia kepada bahasa Java ini (selagi tidak ada programming dengan bahasa Sunda). 255px-Wave.svg Hidup James Gosling dan kopi Java-nya!

Banyak yang belajar bahasa Java, langsung kepada teknis pemrograman. Padahal, seharusnya seseorang belajar bahasa pemrograman itu berangkat dari paradigma  pemrograman itu sendiri, dalam hal berorientasi objek. Buku idola saya, Grady Booch: Object Oriented Analysis and Design bisa digunakan untuk pemula yang ingin belajar pemrograman berorientasi objek. Buku tersebut sangat saya sukai karena dilengkapi dengan ilustrasi yang lucu-lucu.

Lihat contoh gambar lucu pada buku tersebut :). Menjelaskan tentang prinsip abstraksi: Abstraction focuses upon the essential characteristics of some object, relative to the perspective of the viewer.

 

sumber gambar: http://cs.lmu.edu/~ray/notes/geb/

Buku tersebut banyak berbicara di level analisis dan desain berorientasi objek, dengan contoh penggunaan dengan bahasa C++, tidak menggunakan bahasa Java. Nah. Untuk belajar bahasa Java sesuai konsep berorientasi objek, saya menggunakan buku dari JACQUIE BARKER  berjudul Beginning Java Objects From Concepts to Code, Second Edition. Buku yang bagus, karena mengurai konsep terlebih dahulu sebelum masuk ke teknis pemrograman Java. Buku ini juga disertai ilustrasi yang memudahkan pemahaman konsep, meski tidak selucu gambaran pada buku Grady Booch di atas. Buku ini saya jadikan referensi utama mata kuliah yang saya ampu: Konstruksi Perangkat Lunak Berorientasi Objek.

Rangkuman buku dalam bentuk slide materi perkuliahan, bisa dilihat di url ini. Semoga bermanfaat 🙂