KONSEP BAHASA PEMOGRAMAN
Bahasa
Pemrograman merupakan
prosedur atau tata cara penulisan program. Pada bahasa pemrograman terdapat dua
factor penting, yaitu sintaks dan semantik.
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.
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
Algoritma Pemrograman Yang Baik
Ciri-ciri algoritma pemrograman yang baik adalah :
- Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah
- Menghasilkan output yang tepat dan benar dalam waktu yang singkat
- Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda.
- Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman.
- Semua operasi yang dibutuhkan terdefinisi dengan jelas.
- Semua proses harus berakhir setelah sejumlah langkah dilakukan.
Standar Suatu Program Yang Baik
A. Standar Pemecahan masalah
teknik untuk dapat membantu memecahkan masalah antara lain teknik Top Down dan teknik Modular.
B. Standar Penyusunan Program
1. Kebenaran logika dan penulisan
Program yang disusun harus memiliki logika dalam pemecahan masalah.
Program yang dibuat harus memiliki ketepatan, ketelitian dan kebenaran
sehingga menghasilkan program yang baik.
2. Waktu penulisan dan eksekusi program
3. Perawatan dan pengembangan program
Penyusunan program harus mempunyai sifat kesederhanaan dan
kejelasan dari program yang nantinya akan dikembangkan dan membantu
dalam perawatan.
4. Portabilitas
Bahasa pemrograman dan program yang disusun sebaiknya bisa dipakai
pada berbagai tipe komputer yang berbeda-beda dan berbagai jenis sistem
operasi.
Standar Perawatan Program
1. Dokumentasi
2. Penulisan Instruksi
a. Berikan keterangan untuk awal statement atau instruksi yang tergabung dalam sekelompok statement.
b. Awal dan akhir statement dari sekumpulan statement ditulis pada kolom yang sama.
c. Gunakan sebaris atau beberapa baris kosong sebagai pemisah.
d. Hindari pernyataan untuk Percabangan
(IF statement ) yang sangat rumit dan Nested Loop (Loop disalam Loop lain) yang berlebihan.
e. Gunakan “kurung buka dan tutup” dalam menulis suatu ekspresi Aritmatika atau logika.
f. Gunakan “Spasi” dalam menulis statement atau instruksi.
Sifat Penulisan Program
a. Program Oriented
Penulisan program yang struktur programnya selalu berubah, apabila
kondisi data yang diproses di dalam program tersebut, bertambah volume
datanya. Selain itu penulisan program ini bersifat statis dan tidak
fleksibel (program animasi)
b. Data Oriented
Penulisan program yang struktur programnnya tidak selalu berubah,
walaupun volume data yang diproses di dalam program tersebut, dalam
jumlah besar. Selain itu pula penulisan program ini bersifat dinamis dan
mempunyai tingkat fleksibilitas yang tinggi.
Kualitas Bahasa Pemrograman
1. Ekspresifitas
Bahasa pemrograman yang baik harus jelas dalam menggambarkan algoritmanya yang dibuat.
2. Definitas (dapat didefinisikan dengan baik)
Bahasa Pemrograman dapat didefinisikan dari adanya sintak dan
semantic baik. Sintak dan semantic ini haruslah konsisten dan tidak
bermakna ganda.
3. Tipe data dan Strukturnya
Bahasa pemrograman yang baik harus berkemampuan dalam mendukung
berbagai tipe data (integer, string,real). Serta struktur data (array,
record,file)
4. Modularitas
Bahasa pemrograman yang baik harus memiliki fasilitas sub program.
Program yang besar dapat dikerjakan oleh beberapa pemrogram secara
bersama-sama yang nantinya dengan mudah dapat digabungkan menjadi sebuah
modul saja.
5. Adanya Input Output
Bahasa pemrograman yang baik harus dapat mendukung berbagai jenis
model file seperti sequential, random, index dsb dalam proses masukan
dan keluaran.
6. Portabilitas
Bahasa pemrograman yang dapat digunakan pada berbagai tipe mesin computer yang berbeda-beda.
7. Efisiensi
Bahasa pemrograman yang dapat mengatur banyaknya instruksi program
dalam membatasi waktu tempuh pemrosesan, mengatur jumlah memori yang
digunakan program,.
8. Interaktif
Bahasa pemrograman yang baik harus mudah dipelajari dan diajarkan
pada user. Serta dimengerti tentang proses yang sedang dilakukannya.
9. Umum
Bahasa pemrograman yangn baik harus memiliki jangkauan yang luas
untuk berbagai aplikasi pemrograman sehingga dapat bersifat bahasa
serbaguna.
Algoritma & Pemrograman 1C
NAMA : VITO FAJARYANDO
KELAS : 1KA23
NPM : 17111307