Pemrograman adalah proses menulis, menguji dan memperbaiki (debug) dan memelihara kode yang membangung suatu program komputer. Kode ini ditulus dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau pekerjaan sesuai dengan keinginan pembuat. Untuk melakukan pemrograman diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman dan pada banyak kasus, juga diperlukan pengetahuan tentang matematika.
"According to English Wikipedia (en.wikipedia.org) computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verificarion of requirements of algorithms including their correctness and resources consumtion, and implementation of algorithms in a target programming languange."
Pengembangan perangkat lunak (software) memiliki beberapa pendekatan mendasar dan seharusnya terpenuhi. Berikut merupakan hal-hal dasar yang sepatutunya dimiliki oleh sebuah software yang dikembangkan oleh programmer :
- Efisiensi / Kinerja
- Reliabilitas
- Kekokohan
- Kegunaan
- Portabilitas
- Kemampuan-rawatan
Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah kasus guna analisis.
Teknik populer meliputi Object-Oriented Analysis and Design dan Model-Driven Architecture. The Unified Modeling Language (UML) adalah sebuah notasi yang digunakan untuk kedua OOAD dan MDA. Teknik yang sama digunakan untuk desain database adalah Entity-Relationship Modeling (ER Modeling). Pelaksanaan teknik termasuk bahasa interatif (object-oriented atau procedural), fungsional bahasa dan logika bahasa.
Dalam pemrograman juga dikenal adanya debug, debug / debugging merupakan tugas yang sangat penting dalam proses pengembangan perangkat lunak (software). Karena program yang salah dapat memiliki konsekuesni yang signifikan bagi penggunanya. Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi kompiler untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat membantu mendeteksi beberapa kemungkinan masalah.
Debug seringkali dilakukan dengan IDE seperti Visual Studio, NetBeans dan Eclipse. Standalone debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual, biasanya menggunakan baris perintah (command line).
Bahasa pemrograman yang berbeda mendukung gaya pemrogram yang berbeda (paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada banyak pertimbangan, seperti kebijakan perusahaan, kesesuaian tugas, ketersediaan pihak ketiga atau keinginan individu. Idealnya, bahasa pemrograman cocok untuk tugas yang akan dihadapi. Trade-off ideal ini melibatkan cukup menemukan programmer yang tahu bahasa untuk membangun sebuah tim, ketersediaan compiler bahasa dan efisiensi dengan program-program yang ditulis dalam bahasa tertentu.
Contoh bahasa pemrograman :
- Assembly
- Ada
- Basic
- C dan C++
- C#
- Cobol
- Java
- Fortran
- Clipper
- Pascal
- Visual Basic
Rincial terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa :
* Input : Get data dari keyboard, file atau beberapa perangkat lain.
* Output : Display data pada layar atau mengirim data ke file atau perangkat lain.
* Berhitung : Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.
* Bersyarat Eksekusi : Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
* Pengulangan : Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi.
Seorang programmer / pembuat program dalam dunia programming memiliki banyak tugas, berikut merupakan beberapa tugas-tugas yang harus dilakukan dalam pemrograman :
- Coding
- Kompilasi
- Dokumentasi
- Integrasi
- Pemeliharaan
- Persyaratan Analisis
- Software Arsitektur
- Software Pengujian
- Spesifikasi
- Debungging