Friday, October 21, 2011

Berpikir secara Object-Oriented

Lanjut lagilah tentang object-oriented nya yah.. Selagi aku masih semangat belajar object-oriented nya.. hehhehehe.. #selagirajin

Pertanyaan Praktis
Apakah sebuah program diprogram "secara" Object-Oriented?????
  1. OO adalah sebuah "paradigma", cara berpikir, sudut pandang. Cara berpikir bukan "produk" (source code). Source code adalah "HASIL".
  2. Walaupun ditulis dalam sebuah bahasa OO, sebuah program mungkin saja:
    • Merupakan sebuah program Prosedural dan sekuensial. Salah satu ciri: tidak ada definisi CLASS dibuat oleh programmer.
    • Programmer mendefinisikan kelas, namun hanya sebatas membungkus ADT. Ada definisi kelas, namun programnya prosedural.
    • Program menggunakan library Class yang bukan / maupun merupakan GUI Object, sehingga ada pemakaian kelas yang disediakan.
    • Program memang dirancang berparadigma OO. Untuk mampu mengetahui hal ini, diperlukan "persepsi" khusus... :) :) :)
Studi Kasus (Ilustrasi: Bola dalam Bidang)
  • Sebuah bidang mengandung sekumpulan bola. Setiap bola mempunyai arah.
  • Bola bergerak sesuai dengan arahnya
  • Jika "bertabrakan", maka bola akan mati
  • Jika bola habis sama sekali, system yang akan mati
  • Jika bola tersisa "sedikit", akan lahir bola-bola bar hingga jumlah tertentu.
    
 Solusi prosedural sekuensial dengan ADT list of bola dan sebuah main program adalah:
  1. Main program mengendalikan pergerakan setiap bola secara sekuensial.
  2. Main program mengirim pesan kepada setiap bola, supaya "menggerakkan dirinya saat diberi pesan untuk bergerak".
Solusi dengan proses konkuren dan ADT sederhana, idem di atas namun misalnya menggunakan satu "thread" untuk setiap pergerakan bola.
Solusi dengan proses konkuren dan ADT generik (list of list) : list of cell (posisi), list of bola, ......
Solusi di mana penggerak bola dan viewer yang diimplementasikan dengan mesin gambar, ada satu atau empat mesin gambar.
Solusi lainnya : __________________________________________

No comments:

Post a Comment