Anda di halaman 1dari 21

Pertemuan

2
Algoritma dan Pemrograman Dasar

PENGENALAN PEMROGRAMAN

Agung Purnomo Sidik, M.Kom


PRODI SISTEM KOMPUTER
FAKULTAS SAINS & TEKNOLOGI
UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN
2018
Pengertian Program
 Program adalah kumpulan instruksi yang digunakan untuk mengatur komputer agar melakukan
suatu tindakan tertentu.
 Tanpa program Komputer hanyalah benda elektronik yang tidak berguna, oleh karena itu
komputer terdiri dari 3 buah aspek yaitu:
 Hardware (Perangkat Keras)
 Software (Perangkat Lunak)
 Brainware (Perangkat Manusia)
 Jika salah satu dari ketiga aspek tersebut tidak ada, maka komputer tidak akan berguna.
 Orang yang membuat program disebut Pemrogram (Programmer).
 Adapun pemrograman adalah aktivitas yang berhubungan dengan pembuatan program, baik
dalam merancang maupun membangun program.
Pengertian Bahasa Pemrograman
 Suatu program ditulis dengan mengikuti kaidah bahasa pemrograman tertentu.
 Karena itu program yang ditulis dengan bahasa pemrograman C++ tidak akan bisa digunakan di
bahasa pascal, begitu juga sebaliknya.
 Karena setiap bahasa pemrograman memiliki kaidah atau aturan penulisan tersendiri.
 Seperti umpamanya bahasa manusia, bahasa Inggris dan bahasa Indonesia memiliki grammar
(aturan) yang berbeda-beda. Begitu juga dengan Bahasa Pemrograman.
 Sehingga Bahasa Pemrograman merupakan suatu kaidah atau aturan penulisan instruksi-
instruksi untuk membangun program dalam aktivitas pemrograman.
Level Bahasa Pemrograman
 Secara garis besar, bahasa pemrograman dibagi menjadi 3 buah kategori, yaitu
 Bahasa Mesin (Machine Language)
Pada dasarnya komputer hanya mengenal bahasa mesin yang terdiri dari biner 1 dan 0. Sehingga
bahasa mesin hanya kombinasi dari binary 1 dan 0. Bahasa mesin sangat bergantung terhadap
mesin dan sulit dipelajari.
 Bahasa Tingkat Rendah (Low-Level Language)
Bahasa pemrograman yang mendekati bahasa mesin, tetapi masih sedikit dapat dipahami oleh
manusia. Contoh Bahasa Assembly (Bahasa Rakitan).
 Bahasa Tingkat Menengah (Middle-Level Language)
Bahasa yang sebagian besar sudah dapat dipahami seperti bahasa manusia tetapi masih sedikit sulit
dipelajari. Contohnya bahasa C.
 Bahasa Tingkat Tinggi (High-Level Language)
Bahasa yang sudah sangat mirip seperti bahasa manusia dan mudah untuk dipelajri. Berbagai
kaidah dan instrukti menggunakan bahasa Inggris. Contoh: C++, Java, PHP, Pascal, dan lain-lain.
Perbandingan
 Untuk menampilkan karakter * maka dalam bahasa mesin ditulis:
1011 0100 0000 0010 1011 0010 0010 1010 1100 1101 0010 0001
atau dalam heksadesimal B402 B22A CD21
 Sedangkan dalam bahasa tingkat tinggi untuk menampilkan karakter * ditulis:
write(„*‟); Pascal
display „*‟; Cobol
print “*”; Basic
printf(“*”); C/C++
cout<<“*”; C++
system.out.println(“*”); Java
Perbandingan
Penerjemah Bahasa
 Program yang ditulis oleh programmer sebenarnya tidak dapat langsung dimengerti oleh
komputer secara langsung, karena komputer hanya memahami bahasa mesin (0 &1).
 Tetapi bagaimana caranya agar komputer dapat memahami program yang ditulis oleh
programmer?
 Analoginya, saya berbahsa Indonesia dan tidak dapat berbahasa Mandarin, tetapi saya memiliki
anak buah yang seluruhnya berbahasa Mandarin. Bagaimana saya dapat memberikan instruksi
atau perintah? Caranya adalah dengan menggunakan penerjeman bahasa.
 Sama seperti komputer yang tidak memahami program yang ditulis oleh programmer, karena
programmer menulis program bukan dengan bahasa mesin dan komputer hanya paham bahasa
mesin. Sehingga dibutuhkan penerjeman bahasa (Translator) agar komputer dapat memahami
program yang programmer tuliskan.
 Sehingga program yang tulis programmar akan diterjemahkan ke dalam bahasa mesin oleh
translator (penerjemah bahasa) ke dalam bahasa mesin agar dipahami dan dijalankan instruksi
tersebut.
 Translator yang digunakan disebut COMPILER dan INTERPRETER.
Perbedaan Compiler & Interpreter

 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.

 Sedangkan Interpreter menerjemahkan instruksi selama program diminta untuk dieksekusi.


Oleh karena itu, setiap intruksi akan dijalankan barulah instruksi tersebut diterjemahkan.
Sehingga jika terdapat instruksi yang gagal, selama tidak dijalankan maka instruksi tersebut
tidak dianggap error. Interpreter akan melakukan proses Interpretasi berulang-ulang selama
program dijalankan. Tetapi proses interpretasi berjalan jauh lebih cepat dari pada compile.
Kelebihan Compiler & Interpreter
 Kelebihan Compiler
 Pengerjaan instruksi dilakukan dengan sangat cepat, mengingat semua intruksi tellah
diterjemahkan dan komputer telah memahami seluruh instruksi.
 Kode Objek dapat didistribusikan komputer lain tanpa harus menyertakan kode sumber sehingga
kerahasiaan lebih terjamin. Hal ini terjadi karena seluruh kode sumber (instruksi) telah
diterjemahkan ke dalam bahasa mesin (objek).
 Kelemahan Compiler
 Seluruh kode sumber harus benar secara syntax agar program bisa diuji.

 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:

Menganalisis masalah dan membuat algoritma

Menuangkan algoritma ke dalam bentuk program

Mengeksekusi dan menguji program


Menganalisis Masalah dan Membuat Algoritma
 Tidak mudah dalam menganalisis Masalah apalagi harus merancang dan mendesain algoritma
untuk menyelesaikan masalah tersebut.

 Pengalaman, pengetahuan, kreativitas, imajinasi, kelihaian, logika, dan ketekunan sangat


dibutuhkan dalam menganalisis Masalah dan medesain Algoritma.

 Dalam menganalisis Masalah dibutukan tindakan untuk mengidentifikasi informasi menjadi


keluaran pemecahan masalah, mengidentifikasi data masukan yang akan diproses, dan proses
yang terjadi.

 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

 Hitung luas lingkaran dengan rumus 3.14 * (jari-jari)2

 Hitung keliling lingkaran dengan rumus 2 * 3.14 * jari-jari

 Tampilkan hasil luas dan keliling lingkaran yang berhasil dihitung


Menuangkan Algoritma ke dalam Bentuk Program
 Setelah algoritma berhasil didapatkan, maka algoritma tersebut harus dituangkan dalam bentuk
program agar dapat dijalankan oleh komputer.
 Untuk menuangkan algoritma dalam bentuk program, programmer harus memilih bahasa
pemrograman apa yang harus digunakan. Algoritma dapat diterapkan untuk setiap bahasa
pemrograman.
 Saat ini terdapat banyak bahasa pemrograman yang tersedia, seperti Bahasa C++ (dengan
compiler Dev C++ atau Visual C++), Pascal (dengan Compiler Turbo Pascal atau Delphi),
Cobol, Basic (Visual Basic), Java, PHP, dan lain-lain.
 Untuk menuangkan algoritma ke dalam program,maka programmer harus mengetahui kaidah
penulisan bahasa pemrograman yang digunakan.
 Contoh Algoritma:
 Inputkan jari-jari lingkaran
 Hitung luas lingkaran dengan rumus 3.14 * (jari-jari)2
 Hitung keliling lingkaran dengan rumus 2 * 3.14 * jari-jari
 Tampilkan hasil luas dan keliling lingkaran yang berhasil dihitung
Menuangkan Algoritma ke dalam Bentuk Program

 Menuangkan algoritma ke dalam program dengan bahasa C++

#include <iostream>
using namespace std;

int main()
{
double jari, luas, keliling;
cout<<“Input Jari-jari : “;
cin>>jari;

luas = 3.14 * jari * jari;


keliling = 2* 3.14 * jari;

cout<<“Luas Lingkaran : “<<luas<<endl;


cout<<“Keliling Lingkaran : “<<keliling;

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:

 BISAKAH MENYUSUN ALGORITMA DILAKUKAN TANPA MENGETAHUI BAHASA


PEMROGRAMAN?

 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:

 Program  Kode biner CATATAN:


 Algoritma  Kesalahan syntax  Tugas Pribadi
 Bahasa Tingkat Tinggi  Kesalahan logika  Kerjakan dikertas double
 Bahasa Tingkat Rendah Folio.
 Kesalahan runtime (fatal)
 Bahasa Mesin  Tulis tangan
 Pseudocode
 Interpreter  Tulis sendiri (dilarang
 Flowchart tuliskan oleh orang lain)
 Interpretasi
 Debugging  Diijinkan berkerja
 Compiler berkelompok.
 Debugger
 Compile (Kompilasi)  Waktu Seminggu.
Bahan Bacaan

 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….

Anda mungkin juga menyukai