Anda di halaman 1dari 39

1

PENGENALAN
ALGORITMA DAN
PEMROGRAMAN
Dasar Pemrograman Komputer
2

Apakah Algoritma itu ?


• Algorism, proses menghitung dengan bahasa Arab
• Algorism berasal dari nama penulis buku Arab yang
terkenal yaitu Abu Ja‟far Muhammad ibnu Musa al-
Khuwarizmi yang menulih Kitab al jabar wal-muqabala
3

Apakah Algoritma itu ?


• Urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis
• Urutan logis pengambilan keputusan untuk
pemecahan masalah
• Logis : hasil dari urutan langkah tersebut harus
dapat ditentukan benar atau salah
• Dalam bidang pemrograman,
• Algoritma didefinisikan sebagai suatu metode khusus
yang tepat dan terdiri dari serangkaian langkah yang
terstruktur dan dituliskan secara sistematis yang akan
dikerjakan untuk menyelesaikan suatu masalah dengan
bantuan komputer.
4

Proses Penyelesaian masalah dengan


Algoritma

Pemecahan Implementasi
Masalah

Masalah Algoritma Solusi


5

Contoh
• Ibu Tati Mengupas Kentang
6

Ruang Lingkup
• Apakah kentangnya harus dibeli dulu atau sudah ada di
dapur ?
• Apakah yang dimaksud dengan mengupas kentang untuk
makan malam berarti sampai kentang terhidang?
• Ketika kentangnya terhidang,jadi sup,digoreng atau
direbus saja?
7

Constraint
• Initial State :
Kentang sudah ada di kantong kentang, yang ditaruh di
rak di dapur dimana ibu tati akan mengupasnya
• Final State :
Kentang dalam keadaan terkupas di panci, siap untuk
dimasak dan kantong kentangnya dikembalikan ke rak
lagi
8

Sub-Aksi
• Ambil kantong kentang dari rak
• Ambil panci dari almari
• Kupas kentang
• Kembalikan kantong kentang ke rak
9

• Ambil kantong kentang dari rak


• Ambil panci dari almari
• Depend on warna baju
• Berwarna muda : pakai celemek
• Tidak berwarna muda : -
• Kupas kentang
• Kembalikan kentang ke rak
10

• Ambil kantong kentang dari rak


• Ambil panci dari almari
• Depend on baju
• Berwarna muda : pakai celemek
• Tidak berwarna muda : -
• While jumlah kentang terkupas belum cukup do
• Kupas 1 kentang
• Kembalikan kantong kentang ke rak
11

• While pakaian berwarna muda do


• Kupas 1 kentang berikutnya
12

Kasus lain

A B A B

Bagaimana Algoritmanya ??
13

5 ciri penting algoritma


• Algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas
• Setiap langkah harus didefinisikan dengan tepat dan tidak
memiliki dua arti (ambigu)
• Algoritma memiliki nol atau lebih masukan (input)
• Algoritma memiliki nol atau lebih keluaran (output)
• Algoritma harus efektif
14

Program dan
Bahasa Pemrograman
• Program adalah formulasi sebuah algoritma
dalam bentuk bahasa pemrograman sehingga
siap untuk dijalankan pada mesin komputer
• Bahasa pemrograman adalah bahasa buatan
yang digunakan untuk mengendalikan perilaku
dari sebuah mesin, biasanya berupa mesin
komputer, sehingga dapat digunakan untuk
memberitahu komputer tentang apa yang harus
dilakukan.
15

Klasifikasi Bahasa Pemrograman


• Menurut Generasi
• First Generation Language (1GL), kode mesin
• Second Generation Language (2GL), bahasa assembly
• Generasi Ketiga, C,C++,Pascal,Java
• Generasi Keempat, SQL,PL/SQL,ABAP
• Generasi Kelima, Prolog,LISP  AI
• Menurut Tingkatan
• Low-level programming language, 1GL & 2GL
• High-level programming language (HLL), 3GL
• Very High-level programming language (VHLL), 4GL
16

Bagaimana Algoritma dapat menjadi


program?

Piranti Piranti
CPU
Masukan Keluaran

Memori
17

Belajar Memrogram Vs Belajar Bahasa


Pemrograman
• Belajar memprogram adalah belajar tentang
metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu
yang mudah dibaca dan dipahami.
• Belajar bahasa pemrograman berarti belajar
memakai suatu bahasa, aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan
instruksi-instruksi tersebut untuk membuat
program yang ditulis hanya dalam bahasa itu
saja.
18

Belajar Memprogram
• belajar bahasa pemrograman
• belajar tentang strategi pemecahan masalah, metodologi
dan sistematika pemecahan masalah kemudian
menuliskannya dalam notasi yang disepakati bersama
• bersifat pemahaman persoalan, analisis dan sintesis
• titik berat : designer program
19

Belajar Bahasa Pemrograman


• belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang
spesifik untuk setiap bahasa
• titik berat : coder
20

Syarat Program yang Baik


1. benar
2. berlaku umum untuk beragam data (valid)
3. mudah dibaca
4. mudah dimodifikasi dan dikembangkan
5. efisiensi dalam penggunaan ruang dan waktu
(kompleksitas rendah)
21

FLOWCHART DAN
PSEUDOCODE
22

Struktur Dasar Algoritma


• Runtunan (Sequence)
• Pemilihan (Selection)
• Pengulangan(Repetition)
23

Flowchart
• bagan yang menggambarkan urutan instruksi untuk
proses dengan komputer dan hubungan antara suatu
proses dengan proses lainnya dengan menggunakan
simbol
• tidak digunakan untuk menggambarkan urutan langkah
untuk memecahkan masalah, tetapi hanya untuk
menggambarkan prosedur dalam sistem yang dibentuk
Flowchart
Terminator

Input/Output

Proses

Condisional / Decision

24
Flowchart (cont‟)
Preparation

Arrow

Connector (on page)

Connector (off page)

Display

25
26

Flowchart (cont‟)
• Keuntungan :
lebih mudah dilihat dan dipahami
• Kelemahan :
jika digunakan untuk menggambarkan proses atau
algoritma untuk skala kasus yang besar, maka akan
dibutuhkan banyak kertas
27

Kasus
• Pemimpin sebuah perusahaan otomotif perlu
menentukan besarnya bonus yang akan
diberikan kepada para pegawainya yang bekerja
sebagai account executive. Jika terdapat
pegawai yang dalam bulan ini telah menjual
mobil lebih dari dua unit, maka akan
mendapatkan bonus sebesar Rp 1.000.000,-
kemudian pegawai yang bisa menjual mobil tepat
dua buah maka, akan mendapatkan bonus Rp
500.000,- namun jika pegawai yang dalam bulan
ini penjualannya kurang dari dua unit maka,
pegawai tersebut tidak mendapatkan bonus.
28

Pseudocode
• Diarahkan untuk menyerupai aturan penulisan bahasa
pemrograman tertentu
29

Pseudocode
Judul

Kamus

Algoritma
30

Judul
• Tidak diawali dengan angka atau karakter lain selain
alphabet
• Tidak terdapat karakter spasi atau karakter selain
alphabet kecuali karakter underscore „_‟ (sebagai
pengganti karakter spasi)
• Mana yang benar ?
• Algoritma berhitung;
• Algoritma konversi suhu;
• Algoritma hitungan_pajak;
• Algoritma 2bilangan;
• Algoritma *kecil;
31

Kamus
• digunakan sebagai tempat untuk mencantumkan variabel,
konstanta, dan record
• Hal-hal yang dideklarasikan pada bagian ini digunakan
sebagai „reservasi‟ alokasi memory untuk penyimpanan
data dan akan digunakan selama program bekerja
32

Algoritma
• digunakan untuk meletakkan semua algoritma atau kode-
kode program
• Diawali dengan „BEGIN‟ dan diakhiri dengan „END‟
33

Pemilihan (Selection)
If kondisi then
aksi
endIf

If kondisi then
aksi1
else
aksi2
endIf
34

Contoh (Pemilihan) :

If A>B then Max A endIf

If B>A then Max B endIf

If A>B then Max A


Else Max B
endIf
35

Pengulangan (Repetition)
for var  awal to akhir do
aksi
Endfor

repeat
aksi
until kondisi_stop

while kondisi_ulang do
aksi
endwhile
36

Contoh (Pengulangan) :
For i  1 to 5 do
output(“Algoritma dan Pemrograman”)
EndFor
i1
Repeat
output(“Algoritma dan Pemrograman”)
ii+1
Until (i>5)
i1
While (i<=5) do
output(“Algoritma dan Pemrograman”)
ii+1
endwhile
37

Input dan Output


Algoritma Masukkan_data
Kamus data
x : integer
BEGIN
input(x) /*x adalah variabel penampung nilai*/
END.

Algoritma Masukkan_nilai
Kamus data
x : integer
BEGIN
x  5 /*panah ke kiri arah masuknya nilai*/
END.
38

Input dan Output


Algoritma Tampilan
Kamus data
x : integer
BEGIN
output(x) /*x adalah variabel yang berisi nilai*/
END.
39

Reference
• Rinaldi Munir. “Algoritma dan Pemrograman”
• Inggriani Liem.”Diktat Kuliah Algoritma dan
Pemrograman”. ITB

Anda mungkin juga menyukai