Thursday, October 11, 2012

Pemrograman Prosedural & Event Driven



Pemrograman Prosedural
Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan. Dalam bab ini akan dibahas hal-hal yang menjadi dasar dalam pemrograman  prosedural, meliputi definisi algoritma dan konstruktor pemrograman prosedural, serta konsep Input, Proses, dan Output yang sangat lazim dalam dunia pemrograman prosedural.
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 yang 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). Elemen Pemrograman Prosedural.
Elemen bahasa pemrograman prosedural yang penting adalah:
1)    Program Utama
2)    Tipe
3)    Konstanta
4)    Variabel
5)    Ekspresi, Operator, dan operand
6)    Struktur Data
7)    Instruksi dasar
8)    Program Moduler
9)    File ksternal
10)  Rekurens
Konstruktor ini tidak untuk dipelajari secara berurutan, namun semua perlu dipelajari dan dimengerti untuk dapat membuat program dengan baik. 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 pasti ada input, proses, dan output. 

Pemrograman Event Driven
Konsep event-driven yaitu suatu program yang pengeksekusiannya didasarkan atas kejadian (event) tertentu. Kejadian-kejadian itu sendiri, mempunyai kode program sendiri yang disimpan dalam sebuah fungsi (yang dirancang untuk melaksanakan tugas khusus).Pada dasarnya, konsep pemrograman visual ini sama dengan pemrograman procedural, yaitu pemrograman yang memiliki input, proses dan output. Namun, ada satu penambahan yang berbeda, yaitu konsep pemilihan untuk mengeksekusi proses programnya. Konsep inilah yang digunakan untuk menjalankan eventnya. C++ Builder, merupakan bahasa pemrograman yang berkemampuan luas dan sangat canggih yang didukung oleh object-object yang sangat kuat, canggih dan lengkap. Hal itu dimaksudkan agar pengguna dapat lebih mudah dalam merancang, membuat dan menyelesaikan aplikasi yang diinginkan.
Pengertian Pemrograman Berorientasi Objek (Object Oriented Programming)
Object Oriented Programming (OOP) adalah suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat dan saling berinteraksi.  Ada dua bagian penting dalam Object Oriented Programming yaitu properties dan event. Properties memiliki nama dan nilai, sementara event hanya memiliki nama dan biasanya berhubungan dengan method, behavior, function dan action.
Dalam melakukan pemecahan masalah Object Oriented Programming tidak memandang bagaimana cara memecahkan suatu masalah secara terstruktur, melainakn bagaimana suatu masalah itu dapat diselesaikan dengan menentukan objek-objek apa saja yang dapat memecahkan masalah tersebut.
Konsep Dasar Pemrograman Berorientasi Objek
Konsep dasar Object Oriented Programming lebih menekankan pada konsep-konsep berikut ini:

1)    Class
Merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu atau bisa disebut dengan pola/ template (cetakan). Misalnya kelas rumah yang menunjuk pada berbagai macam objek yang lebih umum dari rumah itu sendiri (gambaran secara umum).

2)    Object
Merupakan dasar dari sebuah modul dan struktur dalam sebuah program komputer yang berorientasi object (implementasi dari class). Misalnya dari class rumah tadi yang dapat kita definisikan secara lebih spesifik(wujud nyata) dan mendetail, sesuai dengan ciri fisik yang nyata dari objek tersebut.
Object = Data + Metode
                        Data :
-         Analogikan sebagai variabel atau konstata
-         Karakteristik dari object
                        Metode :
-         Function/ procedure
-         Aksi terhadap data

3)    Abstraksi
Merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya atau kemampuan untuk mefokus pada inti. Setiap objek dalam sistem melayani sebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem.


4)    Enkapsulasi
Merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya atau kemampuan untuk mefokus pada inti atau menyembunyikan detil yang tidak perlu. Setiap objek dalam sistem melayani sebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem.

Dalam konsep OOP, informasi umum suatu objek yang dapat diakses programmer adalah:
1)    Informasi kondisi (Property)
Karakteristik/sifat/atribut yang dapat dibaca dan di atur oleh user/programmer
Contoh: warna, nama, tinggi, lebar.

2)    Informasi tindakan (method)
Serangkaian prosedur/fungsi yang dimiliki oleh suatu objek  yang akan dijalankan sesuai dengan respon yang diberikan oleh suatu perintah atau kejadian.
Contoh: close, show, hide, equals.

3)    Informasi umpan balik (event)
Kejadian yang dapat dipahami oleh sebuah objek yang direspon oleh suatu prosedur sub program yang akan dijalankan ketika suaru event dipicu diberi aksi oleh unsure atau sistem.
Contoh: Ketika mouse di klik (MouseClick), Ketika dilewati mouse (MouseMove), Ketika form ditampilkan (Shown), Ketika form dimuat (Load).


Perbedaan OOP dengan Procedural Programming
1.     Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi

2.     Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi


3.     Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub
program yang lebih sederhana

4.     Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data


5.     Pemrograman Prosedural Sedangkan data sendiri bersifat pasif


      
Contoh Event-Driven dalam kehidupan sehari-hari
                             -  Televisi menyala setelah tombol power ditekan
                             -  Saat seseorang mengetuk pintu, kita bertindak untuk membuka pintu
                             -  Ketika pelatuk pistol ditarik maka peluru melesat
                             - Lampu menyala setelah tombol ON ditekan