Pendahuluan
Konsep Dasar
Pemrograman
Sebelum kita membuat suatu
bahasa pemrograman, maka kita perlu mengetahui:
- Pemahaman masalah
- Solusi masalah
- Pemahaman tata bahasa (sintaks) bahasa pemrograman
Baru setelah itu dapat kita
buat pemrograman, memakai bahasa pemrograman yang menurut kita paling sesuai
menurut kebutuhan.
Contoh : Pascal, Cobol,
untuk bisnis, Delphi, dll.
Program merupakan
himpunan atau kumpulan instruksi yang dibuat oleh programmer atau suatu executable dari suatu software.
Pemrograman adalah suatu
kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana
instruksi tersebut menggunakan bahasa yang dimengerti oleh komputer atau yang
dikenal dengan bahasa pemrograman.
Bahasa
Pemrograman merupakan prosedur atau tata cara penulisan program. Pada bahasa
pemrograman terdapat dua factor penting, yaitu sintaks dan semantik.
Fungsi
Bahasa Pemrograman adalah sebagai media untuk menyusun dan memahami
serta sebagai alat komunikasi antara pemrogram dengan komputer.
Secara umum terdapat 4
kelompok Bahasa Pemrograman, yaitu :
1.
Object Oriented Language (Visual dBase, Visual
FoxPro, Delphi, Visual C)
2.
High Level Language (seperti Pascal dan Basic)
3.
Middle Level Language (seperti bahasa C), dan
4.
Low Level Language (seperti bahasa Assembly)
Tipe
Pemrograman ada 7 macam, yaitu :
- Pemrograman Prosedural
Algoritma berisi
urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah
proses yang prosedural.
Definisi prosedural
adalah :
a.
Tahap-tahap kegiatan untuk menyelesaikan suatu
aktivitas
b.
Metode langkah demi langkah secara eksak dalam
memecahkan suatu masalah.
Bahasa tingkat
tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung kegiatan
pemrograman prosedural, karena itu mereka dinamakan juga bahasa prosedural.
- Pemrograman Terstruktur
Pemrograman
terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai
kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil
dari manapun dalam program dan dapat mengunakan parameter yang berbeda-beda
untuk setiap pemanggilan. Bahasa pemrograman terstruktur adalah pemrograman
yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program
terstruktur.
Contoh bahasa
pemrograman terstruktur : Pascal, Cobol, RPG, ADA, C.
- Pemrograman Modular
Dalam pemrograman
modular, program dipecah-pecah ke dalam modul-modul, dimana setiap modul
menunjukkan fungsi dan tugas tunggal. Dengan membagi masalah ke dalam modul-modul,
maka masalah akan menjadi sederhana sehingga program dapat lebih mudah disusun dan
dipahami.
Pemrograman
modular diterapkan dengan menggunakan sub-routine, yaitu sebuah kumpulan
perintah yang melakukan tugas pemrosesan yang terbatas. Pemrograman ini banyak
dimanfaatkan oleh Bahasa Pemrograman Berbasis Obyek.
- Pemrograman Fungsional
Disebut bahasa
pemrograman fungsional karena memang pada program seluruh kodenya berupa
fungsi-fungsi. Bahasa pemrograman fungsional merupakan salah satu bahasa
pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi
matematika.
Contoh : Lisp,
Scheme, ML, Haskell.
- Pemrograman Berorientasi Obyek
Obyek : elemen
yang memiliki fungsi, metode, karakteristik tertentu yang dapat dibedakan dalam
dunia nyata.
Class : kumpulan
obyek-obyek yang memiliki kesamaan karakteristik.
- Merupakan bahasa pemrograman yang mampu memanfaatkan obyek-obyek yang tersedia atau membuat suatu obyek tertentu dengan menggunakan bahasa pemrograman.
- Mampu merefleksikan kebutuhan-kebutuhan user sebagaimana layaknya yang ada di dunia nyata
- Relatif lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program
- Memiliki feature yang memperkuat dan meningkatkan fleksibilitas suatu obyek dengan adanya class, instance, encapsulation, inheritance, reusability, dan polymorphism.
Contoh : C++,
SmallTalks, Java.
- Pemrograman Visual
- Penggunaan ekspresi visual (seperti grafik, gambar, atau ikon) dalam proses pemrograman
- Mengacu pada aktivitas yang memungkinkan pengguna untuk membuat program dalam dua (atau lebih) dimensi
- Pemrograman Even-Driven
Menggunakan
konsep “jika sebuah aksi/perintah dilakukan terhadap sebuah obyek, apa yang
akan terjadi/dilakukan oleh obyek tersebut selanjutnya”.
Sangat fleksibel
dalam pembuatan koding program, karena sudah mengunakan konsep OOP dimana
pemrograman dapat dimulai dari obyek yang diinginkan tanpa harus terurut.
Biasanya meruapakan jenis bahasa pemrograman visual.
Contoh : Visual Basic, Visual C++, Delphi.
Data
Data
: bahan mentah yang akan diolah menjadi informasi sehingga dapat digunakan oleh
user atau pemakai.
Tipe data yang biasa
digunakan adalah :
1.
Tipe Data Dasar merupakan tipe data primitif yang tidak terstruktur yang
didefinisikan oleh bahasa pemrograman.
Tipe data dasar
dibagi menjadi lima
bagian, yaitu :
a.
Tipe Data Numerik : setiap bahasa
pemrograman dapat dipastikan ada tipe data numerik yaitu untuk menyimpan data
berupa angka.
·
Integer : merupakan
bilangan bulat positif dan negatif
·
Real : merupakan
bilangan desimal atau mantissa
·
Subrange : merupakan
sebuah subtype dari tipe data integer dan terdiri dari urutan nilai-nilai
integer dalam range yang terbatas
·
Fixed-point real : bilangan ini
direpresentasikan dengan urutan digit yang mempunyai panjang tetap dengan titik
desimal diposisikan di tempat yang diberikan antara dua digit
b.
Enumerasi : adalah suatu
urutan list dari nilai-nilai yang berbeda.
c.
Boolean : tipe data
untuk merepresentasikan True atau False (biasa digunakan dalam penyeleksian
kondisi).
d.
Character : berupa sebuah
karakter yang ditulis diantara tanda petik tunggal atau ganda ( ‘ atau “ )
tergantung dari bahasa pemrograman yang digunakan.
e.
String : urutan-urutan
dari karakter yang terletak diantara tanda petik tunggal atau ganda ( ‘ atau “
) tergantung dari bahasa pemrograman yang digunakan.
f.
Internationalization : disebut I 18N
2.
Tipe Data Terstruktur : merupakan tipe data campuran dari berbagai tipe data
dasar, contohnya : array, record, string, list dan file.
3.
Tipe data didefinisikan oleh pemakai : tipe data ini biasa disebut Enumerasi
4.
Tipe Data Penunjuk : contoh tipe data penunjuk adalah pointer
Model Komputasi
Ada
tiga model dasar komputasional-- fungsional, logika, dan imperatif. Sebagai
tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan,
masing-masing model komputasional mempunyai satu set operasi yang digunakan
untuk menggambarkan komputasi.
a. Model Fungsional : terdiri dari satu set
nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi.
Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi
sebagai hasil (higher-order function). Suatu program adalah koleksi definisi
fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.
b. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan
dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu
komputasi adalah suatu bukti(suatu urutan kesimpulan).
c. Model Imperatif : terdiri dari satu set nilai-nilai yang mencakup
suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan
adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri
dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.
Definisi Sintaks,
Sematik, dan Pragmatis
Sintaks : aturan
gramatikal atau komposisi suatu program yang mengatur tata cara penulisan
huruf, angka dan karakter lain.
Contoh
: pada pembuatan program Pascal antara dua statement dipisahkan oleh titik koma
(;).
X := 1 ; X := X + 1;
Semantik : mendefinisikan
arti dari dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
Int vector [10]
Arti
semantiknya : akan menyebabkan ruang sebanyak 10 elemen integer diberikan
kepada variabel bernama vector ( 0 – 9 untuk array dalam C)
Pragmatis : memperhatikan tentang
pemakaian bahasa, area aplikasi, kemudahan implementasi dan penggunaan, dan
sukses bahasa didalam desain pelaksanaan tujuannya. Kekuatan yang membentuk
suatu bahasa pemrograman meliputi arsitektur komputer, praktek rancang-bangun
perangkat lunak (terutama daur hidup perangkat lunak), model komputasional, dan
daerah aplikasi (contoh: alat penghubung pemakai, sistem pemprograman, dan
sistem ahli).
Tujuan umum
bahasa pemrograman berpegang pada prinsip desain bahasa pemrograman yang
berikut.
Prinsip Kelengkapan Komputasional
Model
komputasional untuk tujuan umum suatu bahasa pemrograman harus universal.
Prinsip Implementasi
Implementasi
harus efisien dalam penggunaan waktu dan ruangnya. Prinsip Memprogram harus ditulis dalam suatu bahasa yang
mencerminkan daerah masalah.
Prinsip Desain Bahasa
pemrograman
Suatu bahasa
program harus dirancang untuk memudahkan agar dapat dibaca dan ditulis untuk
para pemakai manusianya dan pelaksanaan efisien pada perangkat keras yang
tersedia.
Keadaan dapat
dibaca dan ditulis dimudahkan oleh prinsip yang berikut.
Prinsip Kesederhanaan
Bahasa harus
didasarkan atas yang paling sedikit
Prinsip Orthogonal
Fungsi
mandiri harus dikendalikan oleh mekanisme mandiri.
Prinsip Keteraturan
Satu set
object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika,
kondisi dapat digunakan untuk masing-masing unsur set.
Prinsip Sifat Ekstensibilitas(dapat diperpanjang)
Object baru
dari tiap kelas sintaktis mungkin dibangun (digambarkan) dari dasar dan
digambarkan membangun dengan suatu cara sistematis.
Prinsip
keteraturan dan ekstensibilitas memerlukan konsep dasar bahasa harus diterapkan
secara konsisten dan yang bersifat universal.
Pada halaman
berikut kita akan belajar bahasa pemrograman sebagai perwujudan model komputasional,
ilmu semantik sebagai hubungan antara model komputasional dan sintaksis, dan
berhubungan pragmatis.
Prinsip
Clarity, Simplicity dan Unity
Bahasa pemrograman harus
dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer
melakukan coding.
Kemudahan, kesederhanaan dan
kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu
algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang
rendah.
Orthogonality
Orthogonality menunjuk
kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa
pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.
Kewajaran
untuk Aplikasi
Bahasa pemrograman
membutuhkan sintaks yang cocok/tepat yang digunakan pada struktur program untuk
merefleksikan struktur logika yang melandasi suatu algoritma.
Mendukung
Abstraksi
Abstraksi merupakan suatu
hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah
yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan
menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
Kemudahan
untuk Verifikasi Program
Verifikasi program merupakan
hal penting bagi sebuah program karena dengan verifikasi yang mudah maka satu
program akan dengan mudah dibangun dan dikembangkan.
Lingkungan
Pemrograman
Bahasa pemrograman yang
mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan
programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.
Portabilitas
Program
Salah satu kriteria penting
untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk
dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan
ke komputer lain yang akan menggunakannya.
Biaya
Penggunaan
Biaya merupakan elemen
penting dalam mengevaluasi suatu bahasa pemrograman.
Ada beberapa biaya
yang dapat diukur yaitu :
- Biaya Eksekusi Program
- Biaya Translasi/kompilasi Program
- Biaya Penciptaan, Testing dan Penggunaan Program
- Biaya Pemeliharaan Program
0 komentar:
Posting Komentar