Anda di halaman 1dari 14

Mata kuliah

PENGANTAR
ALGORITMA PEMROGRAMAN
(IS1313)

Ir. Roedi Goernida, MT.


(roedig@yahoo.com)

Program Studi Sistem Informasi – Fakultas Rekayasa Industri


Institut Teknologi Telkom
Bandung
1
2009

Struktur Sistem Komputer

Sistem Komputer terdiri dari:.


◊ Brainware → user

◊ Hardware → monitor, keyboard, motherboard,


memory, harddisk, add. peripheral etc
◊ Software → O/S, programming language,
application program etc

Siklus perangkat lunak

Requirement → Design → Implementation → Testing

Programming
2
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 1 / 25
Pengertian Algoritma (1/3)

Algoritma.
Urutan atau rentetan langkah-langkah logis tertentu
untuk menyelesaikan atau memecahkan suatu
masalah yang disusun secara sistematis & logis.
→ Mengoperasikan perangkat komputer,
menjalankan motor/mobil, membuat kue dll
Algoritma merupakan cetak-biru dari suatu program &
sebaiknya disusun sebelum program dibuat.
Kriteria suatu algoritma:
► Memiliki masukan & keluaran

► Efektifitas & efisien

► Terstruktur
3
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 2 / 25

Pengertian Algoritma (2/3)

Sifat suatu algoritma:


► Tidak menggunakan simbol-simbol (sintax) dari

suatu bahasa pemrograman.


► Tidak tergantung pada suatu bahasa pemrograman.

► Notasi dapat dipergunakan pada seluruh bahasa

pemrograman.
Contoh:
Algoritma menghitung luas persegi panjang:
● Masukan panjang (P)
● Masukan lebar (L)
● Luas ← P x L
● Tulis Luas

4
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 3 / 25
Pengertian Algoritma (3/3)

Jenis proses algoritma.


● Sequence process.
● Selection process.
● Iteration process.
● Concurrent process.

Ciri algoritma.
● Algoritma memiliki nol atau lebih masukan.
● Algoritma memiliki nol atau lebih keluaran.
● Setiap langkah harus didefinisikan dengan tepat & tidak
berarti-dua (Ambiguitas) → Definiteness / kepastian.
● Algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas → Finiteness / ada batas.
● Algoritma harus efektif → sederhana
5
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 4 / 25

Pseudo-code

Kode atau tanda yang menyerupai (pseudo) program atau


merupakan penjelasan cara menyelesaikan suatu masalah.
Contoh: mencari bilangan terbesar dari dua bilangan yang
diinputkan.
Algoritma Pseudo-code
1. Masukkan bilangan pertama 1. Input a
2. Masukkan bilangan kedua 2. Input b
3. Jika bilangan pertama > bilangan 3. If a > b then kerjakan langkah 4
kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama 4. print a
5.Tampilkan bilangan kedua 5. print b
Nilai A ditambah dengan 5 A←A+5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan IF A > B THEN PRINT A ELSE PRINT B
yang terbesar
6
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 5 / 25
Aturan penulisan Algoritma

Judul Algoritma.
 Bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut.
 Nama sebaiknya singkat dan menggambarkan apa yang
dilakukan oleh algoritma tersebut
Deklarasi.
 Bagian untuk mendefinisikan semua nama yang digunakan di
dalam program.
 Nama tersebut dapat berupa nama tetapan, peubah, tipe,
prosedur dan fungsi.
Deskripsi.
Merupakan kumpulan instruksi yang berisi uraian langkah-
langkah penyelesaian masalah yang ditulis dengan
menggunakan suatu notasi.
7
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 6 / 25

Contoh penulisan Algoritma + Pseudo-code (1/3)

1. Kelulusan Mahasiswa
Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai
tersebut lebih besar atau sama dengan 56, maka
mahasiswa tersebut dinyatakan lulus, jika tidak
maka dinyatakan tidak lulus}
DEKLARASI:
Nama : string
Nilai : integer
Keterangan : string

DESKRIPSI:
read (nama, nilai)
if nilai >= 56 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write (nama, keterangan)
endif
8
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 7 / 25
Contoh penulisan Algoritma + Pseudo-code (2/3)

2. Luas & keliling lingkaran


Algoritma Luas_Kell_Lingkaran {judul algoritma}
{menghitung luas dan keliling lingkaran untuk
ukuran jari-jari tertentu. Algoritma menerima
input jari-jari lingkaran, menghitung luas dan
kelilingnya serta mencetak luas lingkaran ke
piranti keluaran –- spesifikasi algoritma}

DEKLARASI:
Const phi = 3.14 {nilai}
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}

DESKRIPSI:
read(R)
luas ← phi*R*R
keliling ← 2*phi*R
write(luas, keliling)
9
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 8 / 25

Contoh penulisan Algoritma + Pseudo-code (3/3)

3. Komisi Salesman
Algoritma Komisi_Salesmen
{baca nama dan hasil penjualan salesman, kemudian
hitung besarnya komisi sebesar 15% dari hasil
penjualan dan tampilkan nama dan komisinya ke
layar}

DEKLARASI:
Nama : string
NilaiPenjualan : real
Komisi : real

DESKRIPSI:
read(Nama, NilaiPenjualan)
Komisi ← 0.15 * NilaiPenjualan
write(Nama, Komisi)

10
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 9 / 25
Pengertian Pemrograman (1/3)

Program komputer.
Sekumpulan instruksi (statement) yang dimengerti
oleh komputer.
Bagian Program
Suatu program pada dasarnya terdiri dari 3 bagian:
Masukan : bisa ada, bisa tidak
Proses
Keluaran : min. satu ouput.

11
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 10 / 25

Pengertian Pemrograman (2/3)

Pemrograman.
Suatu kumpulan instruksi-instruksi atau source code
yang dibuat oleh seorang programmer.
◊ Pemrograman Prosedural.

◊ Pemrograman Fungsional → fungsi matematika.

◊ Pemrograman Terstruktur → Pascal, C etc.

◊ Pemrograman Modular,
++
◊ Pemrograman Object-oriented → C , Java

◊ Pemrograman Functional-oriented → SQL, HTML

◊ Pemrograman Declaratif

12
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 11 / 25
Pengertian Pemrograman (3/3)

Bahasa pemrograman.
Alat atau tools yang dipergunakan untuk membuat suatu
program.
Contoh: Basic, Pascal, Cobol, C, C++, PHP, Java etc

Langkah dalam pemrograman,


Pendefinisian permasalahan.
Menemukan solusi
Memilih algoritma
Menulis program
Menguji program
Dokumentasi
Pemeliharaan program

13
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 12 / 25

Bahasa Pemrograman & Translator (1/3)

Bahasa tingkat rendah (low level language).


◊ Bahasa mesin
◊ Berisi kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin komputer
berupa kode numerik 0 dan 1.

Bahasa tingkat tinggi (high level language).


◊ Merupakan Bahasa Pemrograman Generasi ke-3.
◊ Bahasa manusia
◊ Banyak ragam → Pascal, C, Java, Cobol dll.
◊ Memberi banyak fasilitas kemudahan dalam
programming → variabel, tipe data, konstanta, loop,
struktur kontrol, prosedur, dll.

14
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 13 / 25
Bahasa Pemrograman & Translator (2/3)

Translator - Target code


Source code - Object code
- Object program

Program yang ditulis dalam bahasa pemrograman


akan diterjemahkan ke dalam bahasa mesin → biner
digit dengan menggunakan penterjemah.
Translator:
● Interpreter → menterjemahkan baris per baris instruksi.
Contoh: Basic
● Compiler → menterjemahkan setelah seluruh instruksi
ditulis. Contoh: Pascal
15
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 14 / 25

Bahasa Pemrograman & Translator (3/3)

Interpreter Compiler
Input – source code - Basic, PHP, ASP dll Pascal, C, C++, Cobol
- Program dari user
Output - Tidak ada object code - Bahasa Assembly
- Translasi dilakukan internal - Exe

- INTERPRETER
Source code
Interpreter Result
Input data

- COMPILER
Source Object Linker
Compiler Exe Result
code code

Input
data
Preprocessor Libraries
16
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 15 / 25
Flowchart (1/3)

Definisi:
● Merupakan bagan yang menggunakan simbol-simbol
tertentu dalam menunjukkan alir di dalam suatu
program atau prosedur sistem secara logika.
● Bagan yang mempunyai alir yang menggambarkan
langkah-langkah penyelesaian suatu masalah yang
juga merupakan cara penyajian dari suatu algoritma.
Macam-macam flowchart
● System flowchart
● Document / Paperwork / Form flowchart
● Schematic flowchart
● Program flowchart
● Process flowchart

17
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 16 / 25

Flowchart (2/3)

System flowchart.
 Bagan alir yang menggambarkan arus / alur pekerjaan
secara keseluruhan dari suatu sistem dengan menjelaskan
urut-urutan dari prosedur yang terdapat di dalam sistem
tersebut.
 Deskripsi dilakukan secara grafik dari urutan prosedur-
prosedur yang terkombinasi yang membentuk suatu sistem

Document / Paperwork / Form flowchart.


Digunakan untuk menelusuri alur form dan laporan sistem dari
satu bagian ke bagian lain baik bagaimana alur form dan
laporan diproses, dicatat dan disimpan.

18
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 17 / 25
Flowchart (3/3)

Schematic flowchart.
Menggambarkan suatu sistem atau prosedur dengan
menggunakan gambar-gambar komputer, peripheral, form-form
atau peralatan lain yang digunakan dalam menggunakan suatu
sistem selain simbol-simbol flowchart standar.

Program flowchart.
Flowchart yang dihasil dari System Flowchart yang akan
memberikan keterangan yang lebih rinci pada setiap langkah
program atau prosedur yang sesungguhnya dilaksanakan
dalam urutan yang tepat saat terjadi.
Process flowchart.
Teknik penggambaran rekayasa industrial yang memecah dan
menganalisis langkah-langkah dalam suatu prosedur atau
sistem

19
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 18 / 25

Pembuatan Flowcart

● Merupakan gambaran hasil analisa suatu


permasalahan
● Tidak ada kaidah yang baku
● Bervariasi antara satu pemrogram dengan pemrogram
lainnya
● Terdiri dari bagian utama: input → proses → output
● Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit, sehingga jalannya proses
menjadi singkat.
● Jalannya proses digambarkan dari atas ke bawah dan
diberikan tanda panah untuk memperjelas.
● Sebuah flowchart diawali dari satu titik START /
MULAI dan diakhiri dengan END / SELESAI.
20
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 19 / 25
Simbol-simbol Flowcart

Proses Proses Dokumen Keputusan Data


Altenatif Input/Output

Persiapan Operasi Masukan Disk storage Sub-program/


nilai awal manual manual Sub-proses

Konektor Terminator I/O Display Aliran


Manual Disket data

Operasi Perpindahan / Inspeksi Penundaan Penyimpanan /


transportasi File
21
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 20 / 25

Contoh Flowcart (1/3)

Mulai Mulai
1 1

Beri nilai Total= 0


awal TOTAL Hitung I = 0 Rata =
Rata-rata Total / N

Read N
Baca data Tampilkan hasil Print
Total, Rata
Total &
Rata-rata
Read X
Hitung
Selesai
TOTAL
Selesai
Total=
Total + X
Data sudah
habis?
Tidak
Ya I =
I + 1

1
Y T
1 I = N

22
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 21 / 25
Contoh Flowcart (2/3)

23
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 22 / 25

Contoh Flowcart (3/3)

24
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 23 / 25
Flowcart vs Pascal

Mulai Begin

Total= 0
Var
I = 0 Total:integer 1
I:integer

Read N WRITELN('Nilai=')
READLN(N) Rata =
Total / N

Read X
Print WRITELN('Total =')
Total, Rata
WRITELN('Rata2 =')

Total=
Total + X Total:=Total+X Selesai End

I = I + 1

Y T
1 I = N

25
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 24 / 25

Contoh-contoh
Kelulusan Mahasiswa
Luas lingkaran:
Mulai
Mulai

Baca
Nama, Nilai Input R

Ya
Nilai >= 56 Keterangan =
“Lulus” Phi=3.14

Tidak

Keterangan =
L ← 3.14*R*R
“Tidak Lulus

Tulis
Tulis L
Nama, Keterangan

Selesai Selesai

26
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 25 / 25
Selesai

27

Anda mungkin juga menyukai