Programming
Secara umum, yang disebut dengan program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.
Dengan demikian ada beberapa hal yang perlu diperhatikan dalam penyusunan program, khususnya aspek – aspek yang menyangkut aturan-aturan penulisan program. Hal ini penting kita pelajari karena untuk satu bahasa dengan bahasa lain aturan ini berbeda.
Dengan memahami aturan–aturan tersebut, diharapkan program yang tersusun akan bisa dijalankan dengan baik dan memberikan hasil seperti yang diharapkan.
Untuk membantu memahami aliran nalar dan data dari sebuah program, seringkali kita menggunakan kegiatan-kegiatan yang ada pada sebuah program. Alat bantu ini disebut dengan bagan alir (flowchart)
Bahasa yang dapat dimengerti oleh komputer disebut bahasa pemrograman. Adapun bahasa pemrograman memiliki perkembangan pada masanya dengan konsep bahasa pemrograman dengan pembagian :
- Bahasa Tingkat Tinggi
Bahasa yang menggunakan kata-kata dan pernyataan yang mudah dimengerti oleh manusia, walaupun jauh berbeda dengan bahasa manusia yang biasa kita gunakan sehari-hari. Beberapa contoh dari bahasa tingkat tinggi adalah Pascal, C/C++, Basic, Java dan lain sebagainya.
- Bahasa Tingkat Rendah
Berupa kumpulan kode biner yang hanya bisa dimengerti oleh komputer, kode-kode ini kemudian diterjemahkan sebagai instruksi-instruksi yang harus dijalankan oleh komputer. Bahasa Tingkat rendah ini sering juga disebut sebagai bahasa mesin.
Pemrograman juga memiliki type penulisan, yaitu :
- Pemrograman Prosedural
Merupakan bahasa pemrograman yang mengeksekusi intruksi secara berurutan. Pada tahun 1950 diperkenalkan bahasa pemrograman Fortran dengan tipe prosedural.
Trik dalam pemrograman ini adalah mengingat prosedur mana yang sudah dipanggil dan data apa yang sudah diubah.
Untuk menanggulangi kebingungan dan ketidakjelasan situasi pada saat pengingatan pemanggilan prosedur, pemrograman terstrukturpun diciptakan.
Kalangan yang fanatik terhadap prosedural umumnya tidak menyarankan penggunaan pendekatan abstrak.
Contoh ekstrem dari kalangan ini adalah melakukan langkah penolakan objek, dan tidak menerima abstraksi tentunya.
Mereka cenderung melihat bagaimana menghasilkan sesuatu yang cepat dan tidak memperhatikan jika orang lain dapat membaca programnya. Bahkan tidak jarang yang menganggap bahwa pemrograman dalah kompetisi kecepatan pada aktivitas tim.
- Pemrograman Functional
Pemrograman ini terdiri dari fungsi-fungsi berdasarkan teori matematika.
Fungsi merupakan pembangun utama program sehingga fungsi-fungsi ini dapat melewatkan parameter dan mengembalikan nilaiyang sudah diproses.
- Pemrograman Terstruktur
Merupakan suatu teknik yang memecah masalah besar menjadi lebih kecil dan lebih mudah dipahami sehingga masalah yang besar dapat diselesaikan dengan baik.
Biasanya masalah-masalah yang menjadi lebih kecil tersebut diimplementasikan ke dalam suatu prosedur atau fungsi.
Banyak bahasa pemrograman terstruktur, di antaranya bahasa C.
- Pemrograman Berbasis Modul
Pemrograman ini membentuk banyak modul, masing-masing modul merupakan suatu grup dari entitas variabel, prosedur, atau fungsi.
Dapat dikatakan bahwa modul merupakan sebuah program kecil yang mandiri, sehingga Program berupa kumpulan dari modul-modul.
MODULA-2 dan ADA mendukung pemrograman berbasis modul.
- Pemrograman Berorientasi Objek
Merupakan bahasa pemrograman yang abstrak menggunakan objek dari suatu class. Kurang lebih sekitar tahun 1970 muncul SmallTalk yang memperkenalkan orientasi objek. Seiring dengan meningkatnya kebutuhan, orientasi objek dipandang sebagai solusi yang cukup menarik dalam mengembangkan aplikasi.
Kalangan yang fanatik terhadap objek, umunya mereka tidak begitu memperhatikan faktor performansi pada pendekatan yang dilakukan. Bahkan terlihat kalangan ini sangat menikmati konsep desain abstrak, karena orang-orang seperti ini biasanya berkarir di bidang manajemen proyek atau dokumentasi.
- Pemrograman Generik
Pada dasarnya terfokus pada modul-modul generik yang di instantiate pada waktu kompilasi ataupun pada run-time dalam membuat suatu entitas (struktur data, fungsi dan prosedur) yang diperlukan oleh program.
Pendekatan ini mendorong pemrograman menuju ke pengembangan tingkat tinggi dan abstraksi generik sebagai suatu unit modularity.
Pemrograman generik ini tidak berdiri sendiri, melainkan bergabung dengan pemrograman berorientasi objek, seperti Eiffel, atau pemrograman fungsional seperti ML. Dapat juga bergabung dengan bahasa-bahasa pemrograman yang mempunyai teknik pemrograman lebih dari 1, seperti ADA dan C++
- Pemrograman Declarative
Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan (declarative) dari pada memecahkan masalah dengan implementasi algoritma.
Bahasa Pemrograman yang dibutuhkan untuk pemrograman declarative ini adalah bahasa pemrograman Logika, seperti PROLOG dan bahasa pemrograman berbasis aturan, seperti OPS5 dan CLIPS.