1
KONSEP DASAR PEMROGRAMAN
Posted by Jhonatan Oktavianus
on
15.13
in
TUGAS ALGORITMA 1C
1. Program dan Pemrograman
Program adalah kumpulan intruksi yang di gunakan untuk mengatur komputer agar melakukan suatu perintah tertentu. Tanpa adanya program, komputer sesungguhnya tidak dapat berbuat/berguna apa-apa.
Programan adalah suatu kumpulan urutan perintah ke komputer untuk melakukan/mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang mudah dimengerti oleh komputer yang di lebih dikenal dengan bahasa pemrograman
orang yang biasa membuat suatu pemrograman di sebut progammer dan orang yang berhubungan dengan pembuatan program disebut programing
Bahasa Pemrograman merupakan prosedur atau tata cara penulisan program.Pada bahasa pemrograman terdapat dua factor penting, yaitu sintaks dan semantik.
Fungsi bahasa pemograman adalah sebagai media untuk menyusun dan memahami sebagai alat komunikasi antara pemrograman 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 (Pascal, Basic)
3. Middle Level Language (Bahasa C)
4. Low Level Language (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.
Seorang Programmer yang akan memilih bahasa pemrogramannya jika merasa bahwa bahasa pemrograman tersebut bagus dan mudah digunakan.
Ada beberapa
kriteria untuk penilaian suatu bahasa pemrograman, yaitu :
1. 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 algoritma sehingga algoritma yang
dihasilkan mempunyai kompleksitas yang rendah.
Syntax bahasa pemrograman mempengaruhi kemudahan ketika program mulai
ditulis, dites, dan dimodifikasi. Program yang mudah dibaca adalah kinci dari
hal tersebut.
2. Orthogonality
Orthogonality menunjuk kepada sautu atribut yang dapat dikombinasikan dengan beragam
fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan
dapat digunakan. Contohnya, suatu bahasa pemrograman mendukung suatu
ekspresi yang dapat menghasilkan suatu nilai, dan bahasa pemrograman
tersebut juga mendukung statemen kondisi yang mengevaluasi suatu
ekspresi untuk mendapatkan nilai true atau false. Dua fitur dari bahasa
pemrograman tersebut, yaitu ekpresi dan statemen kondisi, adalah orthogonal jika
sembarang ekspresi dapat digunakan dan dievaluasi di dalam statemen kondisi.
Ketika fitur bahasa pemrograman adalah orthogonal, maka bahasa pemrograman
tersebut akan mudah dipahami dan dipelajari dan program akan mudah
ditulis karena hanya ada sedikit exception dan case yang harus diingat.
3. Kewajaran untuk Apikasi
Bahasa pemrograman membutuhkan syntax yang tepat dan cocok yang digunakan pada
struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
Bahasa pemrograman harus mempunyai struktur data, operasi-operasi, struktur kontrol,
dan syntax alami yang tepat/cocok untuk memcahkan suatu masalah. Suatu bahasa pemrograman
didesain secara khusus untuk kebutuhan tertentu, misalnya PROLOG digunakan untuk keperluan
deduksi atau C++ untuk pemrograman berorientasi objek.
4. 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.
5. Kemudahan untuk Verifikasi Program
Verifikasi program merupakan hal penting bagi subuah program karena denga verifikasi yang mudah
maka suatu program akan dengan mudah dibangun dan dikembangkan. Kesederhanaan struktur semantic dan
syntax merupakan aspek utama yang mempengaruhi kesederhanaan verifikasi program.
6. Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan
lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.
Lingkungan pemrograman disini dapat berarti editor yang digunakan, documentasi yang
baik dari bahasa pemrograman, fasilitas debugging, user interface yang baik, ataupun tool lain
yang dapat digunakan untuk memudahkan pekerjaan programmer.
SamllTalk merupakan salah satu bahasa pemrograman yang didesain secara
khusus untuk lingkungan pemrogramannya, terdiri dari Windws, menu, input mouse, dan sekumpulan
tool yang digunakan dalam program.
7. Portabilitas Program
Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi
untuk dipindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer
lain yang akan menggunakannya.
8. Biaya Penggunaan
Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman. Ada beberapa biaya yang dapat
di ukur, yaitu :
1) Biaya Eksekusi program
Program yang sering dieksekusi akan membutuhkan suatu kode executable yang efisien sehingga
cepat untuk dieksekusi. Sewmakin cepat suatu program dieksekusi maka akan semakin murah biaya
eksekusi program.
2) Biaya Translasi/Kompilasi program
Untuk pemlajaran, kecapatan translasi lebih diutamakan daripada kecepatan eksekusi karena
pada pemlajaran lebih sering dilakukan translasi/kompilasi daripada eksekusi program yang dihasilkan.
Oleh karena itu, lebih dibutuhkan compiler yang efisien dibanding kod executable yang efesien.
3) Biaya penciptaan. testing, dan penggunaan program
Semakin baik dan lengkap lingkungan pemrgraman pada bahasa pemrograman maka ketiga biaya ini akan menjadi rendah.
hal ini disebabkan tidak banyaknya waktu dan tenaga serta pikiran yang dicurahkan ke pembuatan program.
4) Biaya pemeliharaan program
Pemeliharaan program termsuk perbaikan error yang muncul ketika program sudah digunakan, perubahan yang dibutuhkan pada
program ketika hardware atau sistem operasi berubah, dan penyesuaian kebutuhan dengan kebutuhan yang baru.
Pemeliharaan merupakan salah satu biaya tebesar dari life cycle cost dan merupakan suatu hal yang membosankan bagi programmer.
2. Data
Data adalah bahan mentah yang akan di olah menjadi sebuah informasi sehinggal dapat digunakan oleh user
1. Tipe Data Dasar merupakan tipe data primitif yang tidak tersruktur yang di definisikan oleh bahasa pemograman
Tipe data dasar di bagi menjadi lima bagian, yaitu :
a. Tipe Data Numerik : setiap bahasa pemrograman dapat dipastikan ada tipe data numerik yaitu menyimpan data berupa angka
- Integer : merupakan bilangan bulat positif dan negatif
- Real : merupkan bilangan desimal atau mantissa
- Subrange : merupakan sebuah subtype dari tipe data integer dan terdiri dari urutan nilai-nilai interger dalam range yang terbatas
- Fixed-point real : bilangan ini di representasikan dengan urutan digit yang mempunyai panjang tetap dan titik desimal diposisikan pada tempat yang di berikan antara dua digit
b. Enumerasi : suatu urutan list dari nilai-nilai yang berbeda
c. Boolean : tipe data untuk merepresentasikan True atau False
d. Character : sebuah karakter yang ditulis diantara tanda petik tunggal atau ganda ( ' atau " ) tergantung dari bahasa pemograman yang di gunakan
e. String : urutan-urutan dari karakter yang terletak di antara tanda petik tunggal atau ganda tergantung dari bahasa pemograman yang di gunakan
f. Internationalization : disebut I18N
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 user : tipe data ini biasa disebut Enumerasi
4. Tipe data penunjuk : contoh tipe data penunjuk adalah pointer
3. Model Komputasi
model dasar komputasional ada tiga yaitu, : Fugsional,logika dan imperatif.
a. Model fungsional : terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi dan komposisi.
b. Model logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis.
c. Model imperatif : terdiri dari satu set nilai-nialai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan.
4. 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).
5. Prinsip-prinsip Desain Bahasa Pemograman
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.
1.Prinsip Kesederhanaan
Bahasa harus didasarkan atas yang paling sedikit
2.Prinsip Orthogonal
Fungsi mandiri harus dikendalikan oleh mekanisme mandiri.
3.Prinsip Keteraturan
Satu set object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika, kondisi dapat digunakan untuk masing-masing unsur set.
4.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.