Bahasa Pemograman
Perbedaan bahasa
pemograman dapat menjadi penyebab perbedaan paradigma pemograman.
Pilihan bahas pemograman dipengaruhi banyak alasan, seperti kecocokan
dengan kreteria program dan jenis aplikasi yang akan dibuat.
Beberapa bahasa pemograman adalah :
· Pascal
· Basic
· C atau C++
· Cobol
· Java
· Fortran
· Ada
· Clipper
Pemograman Kompetitif
Pemograman adalah
bahan yang banyak digunakan diberbagai kompetisi komputer di Indonesia
maupun dunia. Di tingkat SMA, contohnya, pemograman diperbandigkan dalam
Olimpiade Sains Nasional Setiap Tahunnya. Ketigapuluh peraih medali di
Olimpiade Sains Nasional ini kemudian menjadi Tim Olimpiade Komputer
Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat orang
wakil untuk mengikuti Olimpiade Sains International bidang Informasi (International Olympiad in Informatics) yang diadakan setiap tahunnya.
· Perangkat Lunak bebeas
Artikel bertopik perangkat lunak ini adalah sebuah rintisan. Anda dapat Wikipedia dengan mengembangkannya.
Adapun pendekatan
pengembangan perangkat lunak mungkin, program akhir harus memenuhi
beberapa sifat mendasar. Properti berikut adalah diantara yang paling
relevan :
§ Efesiensi
/ Kinerja : Jumlah sumber daya sistem program yang mengonsumsi
(prosesor waktu, ruang memori, perangkat lambat seperti disk, bandwidth
jaringan dan bahkan sampai batas tertentu interaksi dari pemakai) :
semakin sedikit, semakin baik. Ini juga termasuk pembuangan benar
beberapa sumber, seperti membersihkan file-file sementara dan tidak
adanya kebocoran memori.
§ Realiabilitas
: seberapa sering hasil dari sebuah program sudah benar. Hal ini
tergantung pada kebenaran konseptual algoritma, dan pemograman
minimisasi kesalahan, seperti kesalahan dalam menejemen sumber daya
(misalnya, buffer overflows dan ras kondisi) dan kesalahan logika
(seperti pembagian dengan nol).
§ Kekokohan
: seberapa baik program masalah mengantisipasi bukan karena kesalahan
programmer. Ini termasuk situasi seperti salah, tidak pantas atau
merusak data, tidak tersedianya sumber daya yang dibutuhkan seperti
memori, sitem operasi layanan dan koneksi jaringan, dan kesalahan
pengguna.
§ Keggunaan
: yang ergonomi sebuah program : kemudahan dengan nama seseorang dapat
menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan
tujuan tak terduga. Isu-isu tersebut dapat membuat atau menghancurkan
kesuksesan bahakan tanpa masala lain. Hal ini melibatkan berbagai
tekstual, grafis dan kadang-kadang elemen-elemen perangkat keras yang
meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan program
antarmuka pengguna.
§ Portabilitas
: kisaran perangkat keras computer dan platform sistem operasi yang
kode sumber dari program dapat dikompilasi / di tafsirkan dan lari. Hal
ini tergatung pada perbedaaan-perbedaan dalam fasilitas pemograman yang
disediakan oleh platform yang berbeda, termasuk hardware dan sistem
operasi sumber daya, perilaku yang di harapkan dari hardware dan sistem
operasi, dan ketersediaan platform compiler tertentu ( dan kadang-kadang
perpustakaan) untuk bahasa dari source code.
§ Kemampu-rawatan
: kemudahan dengan sebuah program yang dapat di modifikasi oleh
pengembang sekarang atau di masa mendatang dalam rangka untuk membuat
perbaikan atau penyesuaian ; memeperbaiki bug dan lubang keamanan atau
disesuaikan dengan lingkungan baru. Praktek yang baik selama
pengembangan awal membuat perbedaan dalam hal ini. Kualitas ini mungkin
tidak secara langsung bagi pengguna akhir, tetapi dapat secara
signifikat memengaruhi nasib sebuah program jangka panjang.
· Debugging
adalah tugas yang sangat penting dalam proses pengembangan perangkat
lunak, karena program yang salah dapat memiliki konsekuensi yang
signifikan bagi pengguna. Beberapa bahasa yang lebih rentan terhadap
beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi
computer untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan
alat analisis statis dapat membantu mendeteksi beberapa kemungkinan
masalah. Debug sering dilakukan dengan IDE seperti Visual Studio,
NetBeans, Eclipse. Standlone debugger seperti gdb juga digunakan, dan
ini kurang sering menyediakan lingkungan visual, biasanya menggunakan
baris perintah.
· Algorithmic kompleksitas
Bidang akedemik dan
praktik teknik pemrograman computer yang baik terutama berkaitan dengan
menemukan dan menerapkan algoritma yang paling efisien untuk suatu
masalah kelas. Untuk tujuan ini, algoritma di klasifikasikan menjadi
perintah dengan menggunakan apa yang di sebut notasi Big O, O (n), yang
mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau
pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang
akrab dengan berbagai mapan algoritma dan kompleksitas masing-masing dan
menggunakan pengatahuan ini untuk memilih algoritma yang paling cocok
dengan keadaan.
· Metodologi
Langkah pertama dalam
sebagaian besar proyek-proyek pengembangan perangkat lunak 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 gunakan analisis.
Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD)
dan Model-Driven Architecture (MDA). The Unified Modeling Language
(UML) adalah sebuah notasi yang digunakan kedua OOAD dan MDA. Teknik
yang sama digunakan untuk design database adalah Entity-Relationship
Modeling (ER Modeling).