OOP & PROSEDURAL PROGRAMMING LANGUAGE

Rabu, 15 Oktober 2008 by DEWA BLOGS

OOP

Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.
Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut.
Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa program SIMULA kemudian dilanjutkan di era 70-an dengan SMALLTALK. Meskipun developer software tidak secara intensif mengembangkan OOP, tetapi metodologi object-oriented tetap digunakan.
Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi popular diantara programmer computer. Popularitas OOP berlanjut pada tahun 90-an, banyak pengembang software menggunakan konsep OOP seperti Java dll. Di tahun 2002, versi terakhir dari Visual Studio, Microsoft memperkenalkan bahasa OOP baru yaitu C# (dibaca C-sharp) serta upgrade Visual Basic, dan ini merupakan sebuah bahasa OOP sesungguhnya
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)
Dari tiga konsep di atas, berikut adalah beberapa kelebihan OOP , 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 tidak 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 . Mudah bukan? Kita tidak perlu tahu apa sih yang terjadi sebenarnya pas kita mencet starter , taunya motor hidup trus bisa dijalankan. Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan. Kita kan tidak 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 tidak perlu membentuk 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 merubah 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.
PROSEDURAL PROGRAMMING LANGUAGE

Paradigma ini didasari oleh konsep mesin Von Newmann, yang terdiri dari sekelompok tempat penyimpanan (memory) baik memory instruksi dan juga memory data, yang kedua-duanya sama-sama mempunyai nama dan harga.Prosesnya, instruksi akan dieksekusi satu persatu secara sequensial oleh sebuah pemroses tunggal. Beberapa instruksi menentukan instruksi selanjutnya yang akan dieksekusi pula nantinya. Hal ini dikenal sebagai percabangan kondisional. Selanjutnya, data diperiksa dan dimodifikasi secara sequensial pula.Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan.Program dalam paradigma ini didasari pada strukturisasi informasi dalam memory dan manipulasi dari informasi yang disimpan tersebut. Pendekatan di sini menggunakan kata kunci:ALGORITMA + STRUKTUR DATA = PROGRAM
1. 1. Algoritma
Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu dengan tepat.Langkah yang diberikan harus terbatas, artinya suatu saat langkah harus berhenti, jika langkah tidak pernah berhenti (misalnya: “ambil air, masukkan ke bak mandi, ulangi ambil air, dan seterusnya”) maka serangkaian langkah itu tidak disebut sebagai algoritma (jika: “ambil air, masukkan ke bak mandi, ulangi ambil air sampai bak mandi penuh”, maka bisa disebut algoritma, namun langkah ambil air, masukkan ke bak mandi, harus diperinci dan dapat dieksekusi oleh mesin).
1. 2. Konstruktor (elemen) Pemrograman Prosedural
Elemen bahasa pemrograman prosedural yang penting adalah:*Program utama*Tipe*Konstanta*Variabel*Ekspresi, operator, dan operand*Struktur Data*Instruksi dasar*Program Moduler*File eksternal*Rekurens
1. 3. Input, Proses, dan Output
Sekumpulan aksi dalam pemrograman prosedural bisa dibagi menjadi tiga bagian penting yaitu: input, proses, dan output. Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input, proses, dan output.
2. CONTOH PROGRAM BERPARADIGMA PROSEDURAL
*Algol,*Pascal,*Fortran,*Basic,*Cobol,*C,*dll

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

Filed under having  

0 komentar:

'http://infintyskins.blogspot.com/'>