Rabu, 03 November 2010

IMPLEMENTASI OOP PADA PERANGKAT LUNAK PEMROGRAMAN

I. Implementasi OOP menggunakan Bahasa Pemrograman
• Penulisan kode program merupakan kelanjutan dari
proses perancangan
• Spesifikasi perangkat lunak :
a. Struktur data
b. Aliran dinamis dari kendali
c. Transformasi fungsional
• Beberapa bahasa pemrograman berorientasi obyek :
a. C++
b. Java
c. 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 kompiler
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 :
1. Semua adalah objek.
2. Objek bisa saling berkomunikasi melalui messages
atau berita.
3. 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 faktor
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.

B. Implementasi Konsep Pewarisan (inheritance) dengan
C++
class nama_kelas_turunan : sifat_penurunan
nama_kelas_dasar
{
.......// Implementasi kelas turunan
}
C++ memungkinkan untuk implementasi inheritance
Contoh program

• 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 <iostream.h>
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 = “ <<get_a <<“\n”;
cout <<“b=“ << b <<“\n”;
cout <<“c=“<<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 ().

Tidak ada komentar:

Posting Komentar