Sabtu, 15 Januari 2011

PERTEMUAN 13 Implementasi OOP Pada Perangkat Lunak Pemrograman

I. Implementasi OOP menggunakan Bahasa Pemrograman
 Penulisan kode program merupakan kelanjutan dari proses perancangan
 Spesifikasi perangkat lunak :
  1. Struktur data
  2. Aliran dinamis dari kendali
  3. Transformasi fungsional
 Beberapa bahasa pemrograman berorientasi obyek :
  1. C++
  2. Java
  3. Smalltalk
 C++ adalah salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1980an oleh Bell Labs sebagai pengembangan dari Bahasa Pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah C++ medukung konsep pemrograman berorientasi objek (Object Oriented Language).
 C++ merupakan bahasa pemrograman yang case sensitive.
 Contoh kompiler Produk dari Borland untuk compiler C++ adalah Turbo C++, Borland C++, Borland C++ Builder. Sedangkan dari Microsoft adalah Ms. Visual C++.
 Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991.
 Bahasa Pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta Sembilan pemrogram lainnya dari Sun Microsystems.

Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
 Java adalah bahasa pemrograman yang mirip dengan C/C++
 Keunggulanya adalah Java dapat berjalan dibanyak flatform perangkat keras (Multy Flatform).
 Smalltalk adalah bahasa pemrograman berorientasi objek yang pertama kali populer.
 Smalltalk dikembangkan di Xerox PARC-Amerika serikat.
 Ide dasar Smalltalk meliputi :
 Semua adalah objek.
 Objek bisa saling berkomunikasi melalui messages atau berita.
 Semua tersedia untuk dimodifikasi.

Beberapa hal yang harus diperhatikan dalam menentukan Objek dalam suatu program

1. Correctness and Sufficiency
Dalam mendesain program sebaiknya kita memperhatikan bahwa object-object yang kita desain dapat menjamin kebenaran informasi dan juga kecukupan informasi yang dibutuhkan

2. Robustness
Object-object yang kita desain sebaiknya dapat membuat suatu program menjadi tangguh, dalam hal ini diharapkan program yang dibuat memiliki error yang sedikit dan dapat bertahan dalam situasi yang sulit sekalipun.

3. Flexibility
Object-object yang didesain sebaiknya mudah untuk diexpand atau dikembangkan (bersifat flexibel). Hal ini dibutukan karena dalam pembuatan program sering kali kita harus merubah desain yang telah kita buat sebelumnya karena adanya perubahan desain yang diinginkan oleh user/pengguna.

4. Reusability
Kode-kode program yang telah kita buat, dapat kita gunakan kembali. Hal ini haruslah terpenuhi dalam mendesain program yang baik. Karena ketika kita menggunakan point ini maka kita akan lebih mudah untuk me-manage program yang kita buat, apalagi disaat kita harus mengganti suatu informasi dalam program yang kita buat.

5. Efficiency
Desain yang kita buat sebaiknya efisien karena akan berkaitan dengan penggunaan resource hardware yang kita gunakan. Baik itu dalam faktor kecepatan maupun dalam factor penyimpanan data/program. Beberapa hal diatas sangat penting untuk diterapkan agar program atau aplikasi yang kita bangun lebih tangguh, sebab menuliskan kode program tidak hanya sekadar mengetikkan perintah-perintah yang menginstruksikan aplikasi untuk mengerjakan sesuatu, tetapi dapat juga merupakan seni membangun struktur kode program dengan kaidah tertentu.


II. Implementasi OOP pada C++
A.Implementasi Konsep Pengkapsulan (Encapsulation) dengan C++
 Salah satu keistimewaan C++ adalah pengkapsulan
 Pengkapsulan adalah mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya
 Untuk membentuk tipe data baru yaitukelas(class)
 Kelas pada C++ ada 3, yaitu:
1. Private
2. Public
3. Protected

B. Implementasi Konsep Pewarisan (inheritance) dengan C++
C++ memungkinkan untuk implementasi inheritance

Contoh program :
class nama_kelas_turunan : sifat_penurunan
nama_kelas_dasar
{
.......// Implementasi kelas turunan
}

• Program tersebut menunjukan pola dasar dari inherintance dimana sifat penurunya bisa berupa protected serta public.
• Protected : hanya dikenali oleh kelas-kelas turunan
• Public : fungsi yang dapat dibaca dan diakses oleh siapapun.

# include
Class B
{
int a; // private; tidak bisa diwariskan
public :
int b; //public; siap untuk diwariskan
void get_ab();
int get_a(void);
void show_a(void);
};
Class D : public B //kelas turunan dari B
{
Class c;
Public;
Void multiply(void);
Void display(void);
};
Void B :: get_ab(void)
{a=5; b=10;
Int B :: get_a()
{return a;
Void B :: show_a()
{cout <<“a =“ << a <<“\n” ;
Void D :: multiply()
{c = b * get_a();
Void D :: display()
{cout <<“a = “ <<<“\n”;
cout <<“b=“ << b <<“\n”;
cout <<“c=“<<<“\n”;
//Program Utama
Main ()
{
D d;
d.get_ab() ;
d.Multiply ();
d.show_a() ;
d.B = 20 ;
d.Multiply () ;
d.display;
}

Hasil dari program tersebut setelah dijalankan :
a = 5
b = 10
c = 50
a = 5
b = 20
c = 100

Keterangan dari program :
 Kelas D adalah turunan yang bersifat public dari kelas dasar B. Lebih jauh D mewarisi seluruh data serta fungsi yang bersifat public. Anggota yang bersifat public dari kelas dasar B juga adalah anggota yang bersifat public pada kelas turunanya(kelas D)
 Data serta fungsi yang bersifat private pada B tidak diwariskan pada kelas D. Disamping fungsi serta data yang merupakan warisan dari B, Kelas D juga memiliki fungsi-fungsi yang bersifat unik pada D yaitu multiply () serta display ().
9
C. Implementasi Konsep Polimorfisme dengan C++
Poliformisme merupakan fitur pemrograman berorientasi objek yang penting setelah pengkapsulan dan pewarisan. Poliformisme berasal dari bahasa Yunani.
Poly(banyak) dan morphos(bentuk). Polimorfisme menggambarkan kemampuan kode C++ berperilaku berbeda tergantung situasi pada waktu run (program berjalan).

Tidak ada komentar:

Posting Komentar