Anda di halaman 1dari 30

Pemrograman Dasar

Pendahuluan : Konsep memprogram,


bahasa pemrograman dan komputer

By: Saiful Do. Abdullah, S.T.,M.T


Tujuan Perkuliahan …
 Menguasai dasar-dasar pemrograman komputer:
 Perancangan program dan logika pemrograman
 Implementasi pemrograman komputer menggunakan
bahasa pemrograman C
Yang perlu disiapkan …
 Buku acuan :
 The C programming language – Brian W Kernighan, Dennis
M Ritchie
 Buku-buku lain tentang C (tersedia banyak e-book C di
internet misalnya di www.cplusplus.com)
 Komputer PC/laptop dengan kompiler C/C++ untuk pengerjaan
tugas di rumah. Kompiler C/C++ yang bisa digunakan:
 Dev C++ (gratis, bisa didownload dari internet)
 Visual C++
 Borland C++
 Turbo C++, dll
Mengapa bahasa pemrograman??
Mengapa harus memprogram??
Bahasa merupakan sarana untuk berkomunikasi
 Untuk ‘berkomunikasi’ dengan komputer kita perlu
menguasai ‘bahasa komputer’
 Bahasa yang dimengerti komputer adalah bahasa
pemrograman
 Memprogram adalah proses berkomunikasi dengan
komputer
 Tujuan memprogram komputer : memerintahkan
komputer untuk melakukan tugas-tugas komputasi dan
input-output sesuai yang diinginkan pemrogram
 Komputer merupakan salah satu produk
teknologi tinggi yang dapat melakukan
hampir semua pekerjaan diberbagai disiplin
ilmu, tetapi komputer hanya akan merupakan
barang mati tanpa adanya bahasa
pemrograman untuk menggambarkan apa yang
kita kerjakan, sistem bilangan untuk
mendukung komputasi, dan matematika
untuk menggambarkan prosedur komputasi
yang kita kerjakan.
Bagaimana komputer menjalankan
instruksi-instruksi pemrograman??
 Gambaran sederhana komputer dan instruksi
pemrograman: ‘memori’

Instruksi 1

Instruksi 2
eksekusi
eksekusi secara
Instruksi 3
sekuensial
komputer
(berurutan)
Instruksi 4

....

Instruksi n
Perkembangan Bahasa Komputer
Berdasarkan tingkat ‘kecanggihannya’:
1. Bahasa Generasi Pertama (1st
GL):bahasa mesin
2. Bahasa Generasi Kedua(2nd GL):bahasa
assembly
3. Bahasa Generasi Ketiga:Bahasa Tingkat
Tinggi  yang akan kita pelajari
 Ukuran ‘kecanggihan’ suatu bahasa
pemrograman tersebut diukur dari kemudahan
programmer menyusun suatu program
 Lebih ‘tidak canggih’ bukan berarti tidak
‘powerful’  kadang-kadang dalam membuat suatu
program dibutuhkan penggunaan bahasa tingkat 1
atau 2 atau kombinasi antara bahasa tingkat tinggi
dengan bahasa assembly.
 Tergantung tujuan programnya dan komputer jenis apa
yang diprogram.
Bahasa Generasi Pertama (Bhs Mesin)
 Merupakan kode-kode bilangan biner, terdiri dari
kombinasi bilangan ‘1’ dan ‘0’
 Setiap kombinasi mewakili satu instruksi
 Instruksi bahasa mesin tergantung dari jenis komputer yang
dipakai(machine dependent)
 contoh: instruksi transfer data dari akumulator ke register:
 Komputer intel 8051 1) : ‘01000111B’ (47H)
 Komputer Z80 2) : ‘00010011B’ (13H)
 Pemrograman bahasa mesin: instruksi-instruksi langsung
dimasukkan ke memori untuk dieksekusi komputer
1) Intel 8051 adalah komputer generasi lama yang sekarang digunakan sebagai
mikrokontroler
2) Z80 adalah komputer generasi lama produksi Zilog
Bahasa Generasi Ke-2 (bhs assembly)
 Merupakan penyempurnaan bhs generasi pertama,
sudah memasukkan unsur kata bahasa Inggris dalam bentuk
singkat
 Masih bersifat machine dependent
 Penulisan sudah jauh lebih mudah dari bahasa mesin, tetapi
programmer tetap harus memahami perangkat keras komputer
 Beberapa variabel masih mengacu pada register,alamat
memori maupun I/O
 Contoh: instruksi transfer data dlm bhs assembly:
 Komputer 8051 : MOV R1,#22H
 Komputer AVR 3) : LDI R1,0x22
3) AVR digunakan sebagai mikrokontroller produksi Atmel
Bahasa Generasi ke-3 (Bhs Tingkat tinggi)
 Memasukkan lebih banyak unsur kata bahasa Inggris yang
digunakan sehari-hari dan mempunyai sintaksis yang
lebih baik
 Merupakan bahasa pemrograman yang
digunakan sekarang pada umumnya untuk memprogram
komputer

 Contoh macam-macam bahasa tingkat tinggi: Pascal,


C, C++,BASIC dsb
Contoh listing program dalam bahasa C
:source code program hello world1
 #include <stdio.h>

 int main ()
 {
 char quit;

 quit = '\0';
 while (quit != 'q')
 {
 printf("Hello World!\n");
 printf("Press q then enter to quit\n");
 scanf("%c",&quit);
 }

 return 0;
 }
Tampilan program ketika
dijalankan
Pemrosesan program pada bahasa tingkat
tinggi oleh komputer
Listing Program/source
code (biasanya dalam
bentuk file teks)

Proses kompilasi : menerjemahkan bahasa


tingkat tinggi menjadi bahasa mesin dalam
bentuk file objek

File objek : merupakan


program yang telah
diterjemahkan ke bahasa
mesin

Proses Link : menambahkan informasi tentang


karakteristik komputer yang digunakan ke
dalam bhs mesin

File binary/executable : file


program yang siap
dieksekusi(dijalankan)

Proses eksekusi :
menjalankan program
yang telah dibuat
IDE (Integrated Development
Environment)
 Pada umumnya programmer tidak perlu
menjalankan pemrosesan program seperti di atas
karena beberapa bahasa pemrograman
(termasuk C++) sudah mempunyai IDE
 Dengan IDE, proses kompilasi, link, dan
eksekusi cukup dilakukan dengan
sekali ‘klik’
Perancangan Program
 Sebelum menulis program ada beberapa hal yang
bisa dilakukan untuk membantu programer
dalam merancang program :
 Pembuatan Algoritma
 Pembuatan Flowchart (diagram alir)
 Proses tersebut tidak harus dilakukan,karena
fungsinya hanya untuk membantu merancang
program
Algoritma
 Merupakan penjabaran urutan proses yang akan dikerjakan
oleh program yang akan kita rancang dalam bentuk
kalimat-kalimat
 Contoh : Algoritma pertukaran data 2 buah variabel
(misalnya variabel a dan b, pada awal
program bernilai a=3 dan b=5, pada akhir
program bernilai a=5 dan b=3)
1. Inisialisasi variabel : a=3, b=5, deklarasikan variabel tambahan yaitu
c
2. Tampilkan nilai awal a dan b
3. Transfer nilai a ke c (c = a)
4. Transfer nilai b ke a (a = b)
5. Transfer nilai c ke b (b = c)
6. Tampilkan nilai a dan b
Flowchart (diagram alir)
 Merupakan penjabaran urutan proses yang akan dikerjakan
oleh program yang akan kita rancang dalam bentuk
diagram(grafis)
 Tiap-tiap penanda dalam program mempunyai simbol dalam
flowchart
 Penanda-penanda tersebut adalah:
 Awal/akhir program (terminal)

 Suatu proses dalam program (process)

 Input/output

 Proses yang telah terdefinisi (Predefined Process)

 Pengambilan keputusan (decision)


Simbol –simbol flowchart
Terminal Symbol:
indicates the starting or stopping pointin the logic.

Input/Output Symbol:
Represents an input or output process in an algorithm

Process Symbol:
Represents any single process in an algorithm

Predefined Process Symbol:

Decision Symbol:
Represents a decision in the logic involving the comparison
Of two values.
mulai

Contoh flowchart Inisialisasi :


A=3
B=5

 Pertukaran 2 variabel
Tampilkan
A dan B

C=A

A=B

B=C

Tampilkan
A dan B

selesai
Algoritma program ‘hello world’
 Penjelasan program hello world dalam sebuah
algoritma:
1. Mulai
2. Deklarasi variabel quit bertipe char
3. Inisialisasi quit dengan nilai “/0”
4. Ketika quit tidak bernilai ‘q’ lakukan hal berikut terus
menerus:
4.1. tampilkan “hello world .. dst”
4.2. baca variabel quit dari keyboard disertai penekanan enter
(variabel quit akan ter-update)
5. Selesai
Flowchart program hello world
mulai

quit = “/0”

quit = ‘q’ ? TIDAK

Tampilkan
“hello
world,dst”

YA
Baca quit
dari
keyboard

selesai
Kelebihan C++
 Dapat dihubungkan dengan bahasa tingkat
rendah
 Berjalan dimanapun dan untuk masalah
apapun
 Berjalan mulus dalam sistem operasi UNIX
kompilasi & eksekusi program:
Kode program (source code)

#include
preprosesor: library yang digunakan
preprosesor #define
#ifdef

kompiler: menerjemahkan ke dalam


kompiler bahasa assembly

kode assembly
assembler: menerima keluaran dari
assembler kompiler C++ dan akan membuat
sebuah kode objek
kode objek library
link editor: mengkombinasikan
link editor kode objek dan library yang lain,
menjadi file EXE.

File EXE
Contoh hasil eksekusi:
#include <iostream>

using namespace std;

int main () {
int X;

cout<<"Masukkan sebuah bilangan bulat:";

cin>>X;

cout<<"Bilangan yang dimasukkan: "<<X;

return 0;

}
preprocessor directive

#include <iostream>
header file :

using namespace std; • iostream (C++ ISO)


• iostream.h (C++ non ISO)
int main () { ISO • stdio.h (C)
int X;

cout<<"Masukkan sebuah bilangan bulat:";


satu fungsi

cin>>X;

cout<<"Bilangan yang dimasukkan: "<<X;

return 0;
header file: fungsi-fungsi yang sudah
dicompile sebelumnya, contoh iostream
} yang mengatur cout dan cin.
TERIMA KASIH
Tugas
1. Buat program C++ untuk menampilkan
BIODATA diri anda secara lengkap,
dengan variabel yang ditampilkan adalah
nim, nama, program studi, alamat, telepon,
kota, asal sekolah, hobby, agama, tempat
tgl/lahir, status keluarga.

Anda mungkin juga menyukai