01 PENGANTAR Pemrograman Prosedural
01 PENGANTAR Pemrograman Prosedural
Hardware Memory
Software
Sistem Operasi / Operating System (OS)
Cth : Windows, Linux, MacOS, UNIX, …
Software Application
Word Processor : Ms Word, AbiWord, OO Writer,…
SpreadSheet : Ms Excel, OO Calc, Lotus 123, …
Presentation : Ms PowerPoint, OO Impress, …
dll
Bahasa Pemrograman / Programming Language (PL)
Machine Language (bahasa mesin)
Berbentuk kode biner yang terdiri dari angka 0 dan 1
Low Level Language (2th Generation Language)
Masih sukar dipelajari karena masih dekat dengan bahasa mesin.
Cth : bahasa Assembly dengan kode mnemonic dan kode register.
Cth perintah : ADD AL,BH
MOV ax,100
High Level Language (3th Generation Language)
Sudah mirip dengan bahasa manusia (Inggris).
Cth : bahasa PASCAL, Basic, C, C++, Perl, Scheme, Java, FORTRAN, COBOL, Ada, Visual Basic,Delphi dll
Cth perintah: Write(‘ok’);
Print(‘ok’);
4th Generation Language
SQL (Structured Query Language)
Cth perintah: Select NIM, NAMA from DATASISWA where KELAS = “XA”
Umumnya, proses pembuatan program melalui 6 tahapan (pembahasan di
slide berikutnya)
Program dibuat oleh orang yang biasanya disebut dengan
“Programmer”
Programmer membuat program dengan bantuan suatu program, jadi
program dibuat dengan program.
Program yang digunakan untuk membuat program disebut dengan
istilah “PROGRAMMING LANGUAGE” atau ”Bahasa Pemrograman”
(pembahasan lebih lanjut di slide berikutnya)
Programmer akan mengetikkan sederetan kode‐kode yang merupakan
instruksi untuk memerintah komputer melakukan/mengerjakan sesuatu.
Kode tersebut akan diproses dan hasil akhirnya merupakan file program
.exe (executable file)
Komputer hanya mengerti Bahasa Mesin!!!!
Oleh karena itu, diperlukan suatu “penerjemah” bahasa tingkat
tinggi (maupun tingkat rendah) ke dalam bentuk bahasa mesin
sehingga siap dijalankan oleh komputer.
Sistem penerjemah dibedakan menjadi 2 macam berdasarkan
cara menterjemahkannya, yaitu:
Interpreter
▪ Interpreter menterjemahkan kode pemrograman sebaris demi sebaris secara
berurutan. Setiap kali dijalankan, kode tersebut diterjemahkan lagi.
▪ Cth : GWBASIC, BASIC A, Python, dll
Compiler
▪ Compiler menterjemahkan kode pemrograman secara keseluruhan menjadi
suatu file (program) yang kemudian dapat langsung dijalankan. Kode program
baru akan diterjemahkan ulang jika ada perubahan kode dalam program
tersebut.
▪ Cth: TURBO BASIC, TURBO PASCAL, FREE PASCAL, BORLAND C++, dll
Source code Compile File Object Link Executable File
File‐file Object
lainnya Library Files
Masalah
Analisis Masalah
Desain Algoritma
Coding Æ Run / Testing
Debug
Pemeliharaan / Pengembangan Program
1. Permasalahan
Rumuskan syarat dan keperluan
Pikirkan secara tepat permasalahan yang hendak dipecahkan.
Berusahalah mengerti sebanyak mungkin hal‐hal yang berkaitan dengan
masalah tersebut.
2. Analisis Masalah
Menentukan spesifikasi
Deskripsikan dengan tepat hal‐hal yang akan dilakukan program
Jangan perdulikan bagaimana cara kerja program, tetapi putuskan
tujuan yang hendak dicapai.
Dalam program sederhana, bagian ini adalah menentukan apa yang
menjadi input dan output, kemudian bagaimana hubungan nya satu
sama lain .
3. Design Algoritma
Rumuskan struktur program secara keseluruhan.
Membuat algoritma.
Pengertian :
Algoritma merupakan langkah‐langkah logis dalam menyelesaikan suatu
masalah (alur cerita –nya)
Jenis‐jenis algoritma:
▪ Deskriptif : algortima bentuk tulisan, yang menggambarkan kehidupan sehari‐hari.
Cth:Buku resep
▪ Pseudocode : algoritma bentuk tulisan yang menggunakan kata‐kata yang mirip dengan
suatu bahasa pemrograman yang digunakan.
▪ Flowchart : algoritma dalam bentuk diagram. Ja
▪ di, tahap penyelesaian masalah digambarkan seperti diagram alir.
▪ Simbol‐simbol yang dipakai :
4. Coding → Run/Testing
Menerjemahkan algoritma ke bahasa pemrograman,
Kemudian mengetiknya pake komputer
5. Debug
Masukkan beberapa nilai untuk melihat apakah ada kesalahan / error
Jenis Kesalahan
▪ Syntax Error (Kesalahan Sintak/bentuk/susunan kata)
▪ Runtime Error (Kesalahan sewaktu program berjalan)
▪ Semantic Error (Kesalahan dalam logika program)
6. Pemeliharaan / Pengembangan Program
Program yang dihasilkan masih sangat sedehana, maka masih banyak hal yang dapat dikembangkan,
misalkan mengubah tampilan, menambah kemampuan program sehingga dapat mengubah suhu ke
derajat lainnya, dsb.
1. Permasalahan
Ingin membuat program untuk menghitung Luas Persegi.
2. Analisis Masalah
Tahap selanjutnya adalah menentukan apa yang menjadi input dan output bagi
programnya. Oleh karena tujuan kita adalah menghitung Luas Persegi, maka:
Input : panjang sisi
Output : Luas Persegi
Proses : Luas = sisi x sisi
3. Design Algoritma
Program yang dibuat cukup yang sederhana saja, yang mengikuti 3 prinsip
dasar pemrograman, yaitu: INPUT – PROSES – OUTPUT
Algoritma FLOWCHART – nya adalah:
Design
Algoritma Begin
Masukkan Sisi
Algoritma Deskriptif – nya adalah:
1. Meminta user masukkan nilai sisi
2. Hitung Luas = sisi * sisi Luas = sisi * sisi
3. Menampilkan nilai Luas
Cetak Luas
End
4. Coding → Run/Testing
Kode Programnya (dalam PASCAL) :
01| Program Konversi_Suhu;
02| {Program Menghitung Luas Persegi}
03|
04| Var sisi,Luas : real;
05|
06| Begin
07| Write(‘Masukan sisi persegi:’);
08| Readln(sisi);
09|
10| Luas:= sisi * sisi;
11|
12| Writeln(‘Luas Persegi = ‘,sisi:0:1);
13| End.
5. Debug
Masukkan beberapa nilai untuk melihat apakah ada kesalahan / error
6. Pemeliharaan / Pengembangan Program
Program yang dihasilkan masih sangat sedehana, maka masih banyak hal yang dapat dikembangkan,
misalkan mengubah tampilan, menambah kemampuan program sehingga dapat mengubah suhu ke
derajat lainnya, dsb.
1. Permasalahan
Ingin mengubah suhu derajat Celcius ke derajat Fahrenheit
2. Analisis Masalah
Tahap selanjutnya adalah menentukan apa yang menjadi input dan output bagi
programnya. Oleh karena tujuan kita adalah mengubah suhu derajat Celcius
menjadi derajat Fahrenheit, maka:
Input : suhu dalam Celcius
Output : suhu dalam Fahrenheit
Proses : F = (9 5)* C + 32
3. Design Algoritma
Program yang dibuat cukup yang sederhana saja, yang mengikuti 3 prinsip
dasar pemrograman, yaitu: INPUT – PROSES – OUTPUT
Algoritma FLOWCHART – nya adalah:
Design
Algoritma Begin
Masukkan Celcius
Algoritma Deskriptif – nya adalah:
1. Meminta masukkan temperatur Menghitung nilai Fahrenheit
dalam Celcius Fahrenheit = 9/5 * Celcius + 32
2. Hitung Fahrenheit = (9 5)* Celcius + 32
3. Menampilkan nilai Fahrenheit
tersebut Cetak Fahrenheit
End
4. Coding → Run/Testing
Kode Programnya (dalam PASCAL) :
01| Program Konversi_Suhu;
02| {Program mengubah suhu dalam celcius menjadi fahrenheit}
03|
04| Var Fahrenheit, Celcius : real;
05|
06| Begin
07| Write(‘Masukan Suhu Celcius :’);
08| Readln(Celcius);
09|
10| Fahrenheit := (9/5)*Celcius + 32;
11|
12| Writeln(‘Suhu dalan Fahrenheit = ‘,Fahrenheit:0:1);
13| End.
5. Debug
Masukkan beberapa nilai untuk melihat apakah ada kesalahan / error
6. Pemeliharaan / Pengembangan Program
Program yang dihasilkan masih sangat sedehana, maka masih banyak hal yang dapat dikembangkan,
misalkan mengubah tampilan, menambah kemampuan program sehingga dapat mengubah suhu ke
derajat lainnya, dsb.
Mencetak deretan bilangan
Mulai
Input : x (bilangan bulat)
Proses : genap → dibagi 2
: ganjil → ditambah1 baru dibagi 2 Masukkan
X
: di ulang ulang, stop diangka 2
Output :
ya
misal x = 40, X <= 2
Selesai
?
maka deretan bilangan yang tercetak =
40 20 10 5 3 2 tidak
X mod 2=1 ya
ALGORITMA PSEUDOCODE : ?
L1. Masukkan X
X = X / 2
L2. Jika (X = 2) maka SELESAI,
L3. Jika (X mod 2 = 1) maka X ← X + 1
L4. X ← X / 2
L5. Cetak X Cetak X
L6. Kembali ke L2