2
Algoritma dan Pemrograman Dasar
PENGENALAN PEMROGRAMAN
Compiler akan langsung menerjemahkan instruksi secara keseluruhan ke dalam bahasa mesin
(objek) untuk semua instruksi. Sehingga tidak boleh terdapat instruksi yang salah atau gagal
(Error). Sehingga Compiler hanya akan satu kali melakukan Compile (Penerjemahan). Oleh
karena itu, proses penerjemahan membutuhkan waktu yang lebih lama.
Kelebihan Interpreter
Kemudahan mencarikesalahan seandainya program menghasilkan kesalahan karena kode sumber
tersedia
Kelemahan Interpreter
Kode sumber harus benar-benar tersedia, sehingga jika program didistribusikan maka kode
sumber juga harus disertakan
Eksekusi lambat, karena setiap instruksi dijakankan harus terlebih dahulu diterjemahkan
Catatan:
Proses pembentukan kode yang executable sebenarnya juga melalui proses yang disebut
Linking.
Linking berfungsi untuk menggabungkan kode hasil kompilasi dnegna sejumlah puskata
(library) program yang disediakan oleh compiler.
Pada saat ini, beberapa compiler menerjemahkan kode sumber ke dalam bentuk kode yang khas
(bukan langsung ke dalam bahasa mesin), yang tidak bersifat executable.
Contohnya compiler bahasa Java mengompilasi kode menjadi kode objek yang disebut
bytekode.
Kelebihannya, kode ini dapat dijalan disemua platform sistem operasi sepanjang pada platform
tersebut memiliki program yang dapat mengeksekusi kode tersebut.
Penyelesaian Masalah dengan Program
Program dibuat dengan tujuan untuk menyelesaikan suatu masalah melalui instruksi-instruksi
yang diberikan melalui program.
Namun sebelum dapat menyelesaikan masalah dengan program, terdapat tiga langkah penting
yang perlu dilakukan terlebih dahulu, yaitu:
Berdasarkan hal tersebut, diperlukan prosedur untuk mengolah masukan menjadi keluaran yang
diinginkan agar dapat menyelesaikan masalah.
Komputer tidak dapat melakukan apapun tanpa adanya instruksi detail yang menyusun
prosedur.
Langkah detail yang ditujukan untuk komputer guna menyelesaikan suatu masalah inilah yang
disebut Algoritma.
Menganalisis Masalah dan Membuat Algoritma
Sebagai contoh sederhana: ada sebuah masalah yang harus diselesaikan, yaitu bagaimana
menghitung luas dan keliling dari lingkaran?
Apakah untuk mencari luas lingkaran kita hanya butuh logika? Tidak.. Tapi kita butuh pengetahuan
akan Matematika lebih tepatnya tentang Bangun Datar Lingkaran, rumus untuk menghitung luas dan
keliling lingkaran.
Jika kita belum mengetahui tentang Bangun Data Lingkaran, maka kita harus mencari berbagai
informasi pendukung untuk mencari luas dan keliling lingkaran.
Begitu kita memahami mencari luas dan keliling lingkaran, maka kita dapat mendesain algoritma
sebebagai berikut:
Inputkan jari-jari lingkaran
#include <iostream>
using namespace std;
int main()
{
double jari, luas, keliling;
cout<<“Input Jari-jari : “;
cin>>jari;
return 0;
}
Mengeksekusi dan Menguji Program
a
Mengeksekusi dan Menguji Program
Dalam melakukan kompilasi (compile) program, kemungkinan dapat terjadikesalahan (error). Ada
beberapa kemungkinan kesalahan yang terjadi, yaitu:
Kesalahan Sintaksis (Syntax Error)
Disebabkan adalanya kesalahan penulisan syntax sepert pernyataan yang tidak diakhiri dengan titik
koma (;) atau kesalahan dalam penulisan fungsi seperti prinf() yang seharusnya printf() dan lain-lain.
Kesalahan ini mudah dikenali karena compiler secara otomatis akan memberitahukan kesalahan
syntax yang terjadi menunjukkan dimana salahnya.
Kesalahan Logika (Logical Error)
Kesalahan yang terjadi karena dala logika yang salah. Misalnya phi seharusnya 31.4 tapi anda
mendefinisikannya dengan 31.4. atau untuk mencari luas lingkaran seharusnya .
luas = 3.14 * jari-jari * jari-jari tetapi anda tuliskan
luas = 3.14 * jari-jari + jari-jari;
Jenis kesalahan ini sangat sulit untuk ditemukan, programmer harus benar-benar memahami
algoritma yang digunakan dan memeriksa perbaris instruksi untuk menemukan kesalahan ini. Karena
kesalahan komputer tidak mengenali kesalahan logika.
Kesalahan Runtime (Runtime Error)
Merupakan kesalahan fatal yang terjadi karena suatu instruksi tidak dapat dilakukan oleh komputer.
Misalnya adanya instruksi pembagian dengan 0, suatu pesan kesalahan akan ditampilkan.
Catatan:
Mungkin akan muncul pertanyaan:
Untuk diketahui bahwa algoritma bersifat bebas dan tidak terpaku terhadap suatu bahasa
pemrograman tertentu. Walaupun dalam prakteknya programmer menyusun algoritma
dipengaruhi oleh fitur bahasa pemgroraman yang digunakan, tetapi secara konsep anda dapat
menganalisis masalah dan merancang algoritma untuk mencapatkan solusi secara manual
(Hanya dengan kertas dan pensil) dengan mengikuti langkah-langkah dalam algoritma.
Dengna kata lain anda bisa menyusun algoritma tanpa mengetahui bahasa pemrograman apa
yang akan digunakan terlebih dahulu.
Tugas 1
Untuk lebih meningkatkan pemaham anda terhadap konsep pemrograman, maka jelaskan lah
istilah-istilah dibawah ini:
Cormen, Thomas H., Leiseson, Charles E., Rivest, Ronald L., Stein Clifford. 2009. Introduction
to Algorithms 3rd. London; MIT Press.
Fireyadie. 2007. Pemrograman C++ dengan Borland C++ 5.02. BSI.
Kristanto, Andri. 2009. Algoritma dan Pemrograman dengan C++. Yogyakarta; Graha Ilmu.
Munir, Rinaldi. 2007. Algoritma dan Pemrograman Bahasa Pascal dan C. Informatika.
Fireyadie. 2007. Pemrograman C++ dengan Borland C++ 5.02. BSI.
Levitin, Anany. 2010. Pengantar Desain dan Analisis Algoritma. Jakarta; Salemba.
Soulié, Juan. 2007. C++ LAnguage Tutorial. Cplusplus.com
IBM. 2004. XL C/C++ Language Reference. IBM Corp.
Anonim. Teach Yourself C++ in 21 Days Second Edition.
See you next week….