Rabu, 17 September 2008

Contoh Progam OOP (SEGITIGA)

-prosEduRaL-
#include”stidio.h”
Void main()
{
Int alas,tinggi,luas:
Printf(“masukkan alas:”);
Scanf(“%d”,alas);
Printf(“masukkan tinggi”);
Scanf(“%d”,tinggi);
Luas=0.5*alas*tinggi;
Print(“Luas=%d”,luas);
};

-------------------------------------------------------------------------------------

-oOp-
#include”iostream.h”
Class segitiga
{
Private;
Int alas,tinggi;
Float luas;
Public;
Void input()
{
Cout<<”alas=”;cin>>alas;
Cout<<”tinggi=”;cin>>tinggi;
};
Void hitung()
{
Luas=0.5*alas*tinggi;
Cout<}
};
Void main()
{
Segitiga s;
s.alas;
s.input();
s.hitung();
}

Selasa, 16 September 2008

Salam kenal OOP

Pengenalan OOP
Posted April 27th, 2007 by djOOP itu kepanjangan dari Object Oriented Programming, merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, pemrograman modular dan pemrograman abstraksi data. Ada tiga konsep utama yang ada di OOP.

Encapsulation yang selanjutnya nanti gua sebut enkapsulasi (penyembunyian informasi melaui private dan protected)
Inheritance yang selanjutnya gua sebut saja dengan inheriten (suatu kelas berasal dari turunan pertama atau lebih kelas lainnya)
Polymorphism yang selanjutnya ditulis dengan polimorpisme (kemampuan objek berubah menjadi objek yang lain)
Gua sengaja ngubah menjadi bahasa indonesia biar gampang ngetiknya :D. Dari tiga konsep di atas, berikut adalah beberapa kelebihan OOP (gua ambil dari buku yang dikarang Pak Widodo, menguasai Visual Basic .Net tingkat lanjut), yaitu: Pendekatan berorientasi masalah, segala sesuatu masalah bisa dimodelkan dengan objek

Penyembunyian informasi, hanya variabel-variabel tertentu saja yang bisa diakses sesuai dengan haknya
Reusability dan Ekstensibility, kode yang sudah ada bisa digunakan ulang, dan kemudahan dalam pengembangan kode
Meningkatkan maintenability, kesalahan atau kekurangan pada kode dapat langsung diperbaiki di blok kode tersebut.
Satu lagi yang ini gua tambahin, program bakal lebih terstruktur dan terorganisasi. Selain itu pengehematan penulisan kode program (kelebihan polimorpisme).
Sekarang kita bahas tentang tiga konsep itu, sebelumnya gua dikasih tau dulu yach bahwa OOP itu pasti menggunakan Class.

Enkapsulasi

Enkapsulasi atau pengkapsulan pada intinya adalah kita gak perlu tau apa sih yang ada dalam objek itu (class), yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi. Ilustrasinya adalah motor. Gimana cara ngidupin motor? masukin kunci, tekan tombol starter dan gas atau kalo gak ada dienkol aja. Mudah bukan? Kita gak perlu tahu apa sih yang terjadi sebenarnya pas kita mencet starter atau engkol, taunya motor idup trus bisa dijalankan. Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan. Kalian kan gak perduli kerja remote control itu yang sebenarnya, yang penting begitu dihidupin dan dan stiknya digerakin ke atas dia bakal maju. Begitu digerakin ke kanan, dia bakal belok, dst.

Contoh terakhir adalah jam tangan. Ini juga penjelasan yang paling mudah dipahami. Taukan fungsi jam? betul, buat nunjukin waktu. Pas beli jam tangan kita hanya memilih tampilan dan kualitas yang bagus, itu yang terpenting. Masa bodo dengan cara mesin rangkaian digital yang bekerja di dalam jam itu.

Gimana ngertikan konsep enkapsulasi? intinya kita hanya perlu tau apa kegunaannya, gimana cara memakainya dan hasilnya apa.

Enheriten

Yang ini intinya adalah mengembangkan class yang sudah ada. Jadi kita gak perlu ngebentuk dari awal lagi, class yang sudah ada bisa dimodifikasi dan/atau ditambah fungsinya sesuai dengan kebutuhan. Ada yang bisa ditambah ada yang dimodifikasi. Sekarang ilustrasi yang ditambah dulu yach... Contohnya sama dengan enkapsulasi, dulu mobil remote kontrol tanpa kabel hanya ada satu tombol. bila dipencet mobilnya akan maju, dan kalo gak dipencet mobilnya muter-muter terus searah jarum jam. Sekarang bisa bergerak sesuai keinginan kita.

Contoh lain adalah tentang jam tangan. Dulu fungsi jam tangan hanya sebagai penunjuk waktu saja, tapi sekarang fungsinya sudah nambah, dari yang bisa nampilin tanggal sampe kalender.

Sekarang contoh yang dimodifikasi. Jika dulu perseneling mobil hanya manual sekarang sudah ada yang otomatis.

Jadi, dengan inheriten semua perubahan itu gak ngerubah bulat-bulat objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.

Polimorpisme

Ini adalah inti dari OOP. Nilai yang gua berikan 50 untuk polimorpisme, 30 inheriten dan 20 enkapsulasi. Sebab dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya. Ilustrasinya adalah tombol play. Dimana-mana tombol play fungsinya sama, untuk menjalankan. Coba liat, padahal kan beda cara kerja tombol play di vcd dan radio.

Bagaimana? gak ngerti? Gua gak nyalahin kok, gua aja konsep terakhir ini yang paling bingung. Ngeliat diberbagai referensi pun gak ada yang ngasih contoh yang mudah dipahami. Hanya itu contoh klasik yang rada nyambung :D. Nanti bakal ngerti sendiri kok kalo udah paham dua konsep sebelumnya. Inti Polimorpisme adalah objek yang kita gunakan ini bisa berubah sesuai dengan kondisi yang terjadi. Jadi kita gak perlu nulisin kode program panjang-panjang.

Ok dech, itu teori yang bisa dikasih. Mudah-mudahan ada gambaran walaupun sedikit :D

Regards,
Object Oriented Programming (OOP)
Ide dasar OOP adalah mengkombinasikan data dan fungsi untuk mengakses data
menjadi sebuah kesatuan unit. Unit ini dikenal dengan obyek. Sebagai gambaran
untuk mempurmudah memahaminya, obyek sebenarnya dapat mencerminkan
pola kerja manusia sehari-hari. Sebuah obyek dapat diibaratkan sebagai
departemen di dalam sebuah perusahaan bisnis, misalnya departemen
- penjualan
- akunting
- personalia
Pembagian departemen dalam perusahaan merupakan upaya untuk memudahkan
pengoperasian perusahaan. Sebagai gambaran, jika Anda seorang manajer
penjualan di kantor pusat ingin mengetahui data para salesmen di kantor cabang,
apa yang Anda lakukan? Langkah yang Anda tempuh pasti bukan datang ke
kantor cabang dan mencari data-data tersebut. Untuk memudahkan tugas Anda
cukup Anda menyuruh sekretaris untuk meminta informasi. Masalah bagaimana
dan siapa yang mencarikan bukanlah urusan Anda. Analogi dengan hal itu, kalau
seseorang bermaksud menggunakan obyek, ia cukup mengirim pesan ke obyek
dan obyek itu sendiri yang akan menanganinya.

C.Program C++ dapat dibuat menggunakan sebarang editor teks maupun editor
sekaligus compilernya. Program utama berekstensi (.CPP). Pada saat kompilasi
program utama bersama dengan file header (.h) akan diterjemahkan oleh
compiler menjadi file obyek (.OBJ). Selanjutnya file obyek ini bersama-sama
dengan file obyek lain dan file library (.LIB) dikaitkan menjadi satu oleh linker.
Hasilnya adalah file (.EXE) executable

Contoh OOP

int main()
{
int **arr,baris,bar,kolom,kol;
printf("Banyak Baris: ");
scanf("%d",&baris);
printf("Banyak Kolom: ");
scanf("%d",&kolom);
arr = new int *[baris];
for (bar = 0; bar < baris; bar++)
arr[bar] = new int[kolom];
printf("\n");
for (bar=0;bar {
for (kol=0;kol {
printf("\tIsi baris ke %d kolom ke %d: ",bar+1,kol+1);
scanf("%d",&arr[bar][kol]);
}
}
printf("\n\n");
for (bar=0;bar {
printf("\t");
for (kol=0;kol {
printf("%3d",arr[bar][kol]);
}
printf("\n");
}

getch();
}



Emaknya Progaming...

Menu Pembuka Hari INI

PENDAHULUAN
I. C & C++

Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya. Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut “ a better C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa C.

Keistimewaan yang sangat berarti dari C++ ini adalah karena bahasa ini mendukung pemrograman yang berorientasi objek ( OOP / Object Oriented Programming).

I.1. PEMROGRAMAN BERORIENTASI OBJEK

Sampai saat ini, program dianggap sebagai sekumpulan procedure yang melakukan aksi terhadap data. Procedure, atau function, adalah suatu set instruksi khusus yang dieksekusi secara bergantian. Data terpisah dari procedure, dan trik pemrogramannya adalah menjaga urutan pemanggilan fungsi, dan data apa yang diubah. Dalam demikian terciptalah program yang terstruktur.

Ide dari pemrograman terstruktur adalah memecah program yang besar menjadi kecil sehingga lebih mudah dipahami. Program-program lama memaksa pengguna untuk melakukan langkah-perlangkah melalui layar monitor. Sedangkan program modern menyajikan semua pilihan sekaligus dan merespon aksi pengguna.

OOP berusaha untuk memenuhi kebutuhan itu, menyediakan teknik untuk mengelola kompleksitas, mencatat penggunaan ulang komponen software dsb. Inti dari OOP adalah memperlakukan data dan procedure sebagai sebuah objek berisi entitas dengan identitas dan ciri yang khusus.

I.2. C++ & OBJECT ORIENTED PROGRAMMING

Tiga karakteristik utama dari bahasa yang berorientasi objek adalah
• Encapsulation
• Inheritance
• Polymorphisme.

Tiga ciri diatas mendukung reusability, yang merupakan salah satu factor penentu kualitas software.

C++ mendukung karakteristik encapsulation dengan menggunakan konsep class. Setelah terbentuk, maka class akan bertindak sebagai entitas yang tenkapsulasi.

Dengan adanya konsep inheritance, maka C++ mendukung ide penggunaan ulang suatu object