Algoritma Dan Struktur Data

Fakultas Ilmu Komputer

Bahan Ajar

Matakuliah
: Algoritma dan Struktur Data I
Kode Mata Kuliah : KKKI13102

Tangerang
2013/2014
Disusun Oleh
Ahmad Jaeri

Algoritma dan Struktur Data I

Materi Ajar
1. Pengantar Algoritma
- Pendahuluan
- Pengertian Algoritma
2. Dasar-Dasar Algoritma
- Struktur Dasar algoritma

- Runtunan (Struktur Urut)
- Pemilihan Kondisi (Struktur Seleksi)
- Perulangan
3. Simbol-Simbol Program Flowchart
4. Tipe Data, Nama (Variabel), dan Nilai
- Tipe Dasar
- Tipe Bentukan
- Rekaman
- Nama ( Variabel)
- Operator Pada Pemrograman
5. Runtunan
6. Struktur Percabangan(Kondisi)
- If........then
- If........then ........else.......
- If........then.........else if.......then......else............
- Struktur Case
7. Struktur Perulangan
- Struktur While........Do
- Struktur Repeat .......Until
- Struktur For......to..... Do

8. Procedure
- Defenisi Procedure
- Mendefenisikan Procedure
- Pemanggilan Procedure
- Nama Global dan Lokal
- Parameter Masukan dan Parameter Keluaran
9. Function
- Mendefenisikan Function
- Pemanggilan Function
10. Larik (Array)
- Defenisi Larik
- Mendefenisikan Larik
- Cara Mengacu Elemen Larik
- Pemrosesan Larik

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I
Pertemuan 1


Pengantar Algoritma
Pengertian Algoritma : adalah urutan langkah-langkah logis dalam
penyelesaian masalah yang disusun secara sistematis.
Contoh :
Tentukan nilai A dengan rumus yang bisa digunakan adalah C=A+B
C?  Untuk menentukan nilai C maka yang harus kita ketahui terlebih dahulu
adalah nilai A dan nilai B
Untuk nilai A dan B ini dapat berupa konstanta atau merupakan hasil proses
yang lainnya. Jadi Nilai C tidak akan bisa didapatkan sebelum kita mengetahui
nilai A dan nilai B.
Jadi langkah pertama kita adalah menentukan nilai A dan B, kemudian baru
menghitung penjumlahan kedua nilai tersebut. Urutan inilah yang disebut
sebagai urutan logis.
Contoh lain adalah : untuk menukar isi bejana A yang berisi air berwarna Biru
dengan bejana B yang berisi air berwarna Merah. Sehingga nantinya bejana A
berisi air berwarna merah sedangkan bejana B berisi air berwarna Biru.
Algoritma adalah :
- tuangkan isi bejana A ke bejana B, kemudian tuangkan isi bejana B ke
bejana A.
Cara yang ditempuh diatas adalah SALAH karena pada saat isi bejana A

dituangkan ke bejana B maka air yang ada pada bejana B akan tercampur
dengan air yang ada pada bejana B, sehingga pada saat isi bejana B dituangkan
ke dalam bejana A maka Warnanya sudah tercampur dengan isi bejana A.
Algoritma yang tepat adalah :
- Siapkan sebuah bejana dalam keadaan kosong diumpamakan dengan
bejana C
- Kemudian isi bejana A dituangkan kedalam bejana C sehingga bejana A
dalam keadaan kosong
- Langkah berikutnya isi bejana B dituangkan kedalam bejana A sehingga
bejana B sekarang dalam keadaan kosong.
- Baru kemudian isi bejana C dituangkan kedalam bejana B
- Perhatikan bahwa isi bejana sudah berpindah ke bejana B dan isi bejana B
sudah berpindah ke bejana A

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

Alat-alat Bantu dalam menggambarkan Algoritma
Untuk menggambarkan urutan suatu proses maka ada beberapa cara (alat

bantu) yang bisa digunakan. Cara yang digunakan harus sudah berlaku secara
umum dan mempunyai aturan-aturan tertentu.
Cara yang bisa digunakan antara lain :
- Algoritma
- IPO Chart
- Flow Chart Program
Contoh penggunaan alat bantu diatas: (kasus dari contoh pertama)
C=A+B
1. Algoritma
Urutan instruksi yang diberikan adalah :
- Tentukan nilai A dan B
- Proses nilai A ditambah nilai B
- Cetak hasil (nilai C)
2. IPO Chart
Dipanggil

Memanggil

Input A,B


Output C

Proses C=A+B

3. Program Flow Chart

start
A,B,C

Input
A,B

C=A+B

Cetak C

Stop
Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I


Mekanisme Pelaksanaan Algoritma oleh Pemroses.
Dalam pembuatan algoritma ini maka hasil akan didapatkan dengan adanya
prosesan. Pemroses dapat berupa alat-alat elektronik, manusia, robot dan alatalat elektronik lainnya.
Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi
algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti
mengerjakan langkah-langkah di dalam algoritma tersebut.
Pada algoritma yang akan dipelajari alat peruses yang akan digunakan adalah
komputer.
Pada komputer dapat dibedakan atas 4 unit utama
- piranti masukan
- piranti keluaran
- piranti proses
- piranti memori
Data pada komputer akan diproses pada piranti proses yang sering dikenal
dengan CPU. Mekanisme dari ke empat piranti di atas dapat digambarkan
sebagai berikut :
Piranti Masukan

Unit pemrosesan

Utama (CPU)

Piranti Keluaran

Memori

Mekanisme dari keempat piranti diatas dapat dijelaskan sebagai berikut :
Mula-nula program dimasukkan ke dalam memori komputer. Ketika program
dilaksanakan, setiap instruksi yang telah disimpan didalam memori dikirim ke
CPU. CPU mengerjakan operasi-operasi yang bersesuaian dengan instruksi
tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan ,
disimpan dalam memori lalu dikirim ke CPU untuk operasi yang memerlikan
tadi.. Bila proses menghasilkan keluaran, keluaran disimpan ke dalam memori,
lalu dari memori keluaran dikirimkan ke piranti keluaran.
Sebuah algoritma akan dapat dikenal oleh komputer jika sudah dipindahkan
kedalam bentuk yang dapat dimengerti oleh komputer, dalam hal ini disebut
dengan program. Ada bermacam-macam bahasa pemrogram yang dikenal
seperti, Basic, Bahasa C, Pascal, Fortran, Visual Basic, Delphi ,dll.

Team Dosen Algoritma dan Struktur Data


Algoritma dan Struktur Data I
Pertemuan 2

Simbol-Simbol Program Flow Chart
Awal dan akhir suatu program
Inisialisasi variable ( persiapan awal )
Input dan output ( masukan dan keluaran ) program
Proses program
Percabangan / perulangan
Perulangan
Connector (tanda sambung untuk halaman sama )
Connector ( tanda sambung untuk halaman berbeda )
Arah proses
Sub program / Procedure ( blok program )

Struktur Bahasa Pascal
Judul Program
Blok Program
Bagian Deklarasi

variable
label
konstanta
type
procedure
function
Bagian Pernyataan

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

Perintah Input Output
(perintah input )
(perintah output)

- Read dan readln
- Write dan writeln
contoh :
readln(a)  input nilai A

write(A)  cetak nilai A
write(‘A’)  cetak ‘A’
Contoh Soal :

Buat flowchart program dan program Pascal untuk menampilkan hasil perkalian
sebagai berikut :
A=B x C
P=Q(R+S) + R(Q+S)

 Nilai B Dan C Diinputkan
 Nilai Q,R,dan S diinputkan

Deklarasi Variabel, Label, Konstanta
Deklarasi variable dinyatakan dengan statemen Var
Contoh
Var A:integer;

Deklarasi Label dinyatakan dengan statemen Label
Contoh
Label
100
Deklarasi konstanta dinyatakan dengan statemen Const
Contoh
Const a:=100;
Syarat-syarat pemberian nilai variable
-

harus dimulai dengan huruf
harus merupakan satu kesatuan
Tidak boleh ada symbol-simbol khusus kecuali ‘_’ (garis bawah)
Huruf besar dan kecil dianggap sama

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

- Panjang tidak terbatas

Deklarasi Fungsi dan prosedure
Fungsi dan prosedure merupakan blok program yang terpisah dari
program utama yang mempunyai struktur program hampir sama
dengan program utama. Prosedure dinyatakan dengan statemen
PROCEDURE sedangkan fungsi dinyatakan dengan statemen
FUNCTION
CONTOH PROSEDUR
PROCEDURE SATU;
VAR
BEGIN

END;

CONTOH FUNGSI
FUNCTION AKAR;
BEGIN

END;

Tipe Data Pada Program Pascal
Program komputer bekerja dengan memanipulasi data didalam
memori. Data yang dimanipulasi mempunyai beberapa tipe data
seperti :
- nilai numerik
- karakter
- string
- rekaman (record)
Tipe data dapat dikelompokkan dalam dua kelompok yaitu :
- Tipe Dasar (nilainya bias langsung dipakai)
- Tipe Bentukan (tipe data yang didefeisikan dari tipe dasar)

1. Tipe Dasar
Yang termasuk tipe dasar adalah :
Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

- karakter
- bilangan
- logika
- Tipe bilangan ada beberapa macam
a. Bilangan bulat
- Shortint
-128 s/d +127
- Byte
0 s/d 255
- Integer
-32768 s/d +32767
- Longint
-2147483648 s/d +2147483648
- Word
0 s/d 65535
b. Bilangan pecahan
- Real
2.9 X 10 –39
- Single
1.5 X 10 –45
- Double
5.0 X 10 –324
- Extend
3.4 X 10 –4932

s/d
s/d
s/d
s/d

1,7 X 10 38
3,4 X 10 38
1,7 X 10 308
1,1 X 10 4932

- Tipe data Karakter
Yang termasuk kedalam tipe data karakter adalah : huruf-huruf
alfabet, tanda baca, angka ‘0’,’1’,….’9’ dan karakter khusus
‘&’,’^’,……..
- Logika
Tipe data ini mempunyai nilai Benar dan Salah

2. Tipe Bentukan
Tipe bentukan adalah tipe data yang didefenisikan sendiri oleh
pemrogram.
Ada 3 tipe data bentukan
1. String
2. Tipe data dasar yang diberi nama dengan nama tipe baru.
3. Rekaman (record)
1. String
Adalah deretan karakter dengan panjang tertentu
Contoh : a:string[15]
2. Tipe data dasar yang diberi nama baru
Contoh : Type BilBulat : Integer:
Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

3. Rekaman
Contoh : Type mahasiswa=record
Nbp :string[13];
Nm :string[25];
End;
Pertemuan 3

Operator Pada Program
1. Operator Aritmatika
Yaitu symbol yang digunakan untuk proses perhitungan
+, - , * , / , div , mod
- operator ‘/’ digunakan untuk pembagian dengan hasil adalah
bilangan pecahan
- operator div digunakan untuk pembagian dengan hasil adalah
bilagan bulat
- mod adalah operator yang digunakan untuk mencari sisa hasil
bagi
Pada proses aritmatik adakalanya ada beberapa operator ditemui
pada satu ekspresi.
Contoh : Z=A+B*C
Pada contoh diatas ada 2 operator yang ditemui yaitu + dan *. Jika
hal ini terjadi maka yang akan diproses terlebih dahulu adalah
operator dengan prioritas tertinggi.
Berikut prioritas pengerjaan dari masing-masing operator.
1. * , /, mod , div
2. + dan –
2. Operator Relasional
Adalah < , > , >= , 3

Ket=’Dapat Bonus’

Team Dosen Algoritma dan Struktur Data

Write(‘nilai rata-rata : ‘);
Readln(nil_rata);
If nil_rata > 3 then
Begin
Ket:=’Dapat Bonus’
End;

Algoritma dan Struktur Data I

b. IF………THEN…….ELSE………
Digunakan jika pada pemilihan ada dua aksi yang akan dilakukan
Contoh : jika nilai besar dari 60 maka keterangan lulus jika tidak
keterangan gagal
Flowchart :

Program :

Input nilai

Nilai>60
Ket=’Gagal’
Ket=’Lulus’

Write(‘Inputkan nilai: ‘);Readln(nilai);
If nilai > 60 then
Begin
Ket:=’Lulus’
End
Else
Begin
Ket:=’Gagal’
End;

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

c. IF……THEN……ELSEIF…….THEN……ELSE
Digunakan jika pada pemilihan ada beberapa aksi yang akan
dilakukan berdasarkan beberapa syarat yang harus terpenuhi.
Contoh :
Tentukan apakah wujud air dalam keadaan cair, padat, atau
gas.
Flowchart :
Input Suhu

Suhu =100
Ket=’Padat’
Ket=’Gas

Write(‘Inputkan Suhu: ‘);Readln(suhu);
If suhu = 100 then
Begin
Ket:=’Gas’
End
Else
Begin
Ket:=’Cair’
End;

Team Dosen Algoritma dan Struktur Data

Ket=’Cair’

Algoritma dan Struktur Data I

Tentukan apakah suatu bilangan negatif, positif, atau nol
Flowchart :

program:

Input Bil

Bil0
true
Ket=’Positif’

Write(‘Inputkan Bil: ‘);Readln(bil);
If bil < 0 then
Begin
Ket:=’Negatif’
End
Else if bil > 0 then
Begin
Ket:=’Positif’
End
Else
Begin
Ket:=’Bil. Nol’
End;

Team Dosen Algoritma dan Struktur Data

false

Ket=’Nol’

Algoritma dan Struktur Data I

d. Struktur Case
Struktur case adalah cara lain yang bisa digunakan untuk
memilih suatu kondisi tertentu.
Syntax:
Case (var)
Var = …..: hasil =…..
Var = …...: hasil =…..
….
….
Endcase

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

Pertemuan 7,8

PENGULANGAN
- While……..do
- Repeat…….until
- For …..to……do
1. While ..... Do
Perulangan dengan while ..do digunakan selama kondisi
(syarat) yang ada pada perulangan benar (terpenuhi)
Contoh :Mencetak ‘Halo’ sebanyak 10 kali

K=1

While k10
do

Keterangan :
Write (‘halo’) akan dilakukan selama nilai K tidak besar dari 10.
Pada struktur repeat until instruksi yang ada anatara repeat dan until
minimal satu kali proses akan dilakukann karena nilai / syarat dari
perulangan terletak di akhir struktur.
3. For ....to... do
Perulangan dengan struktur for akan dilakukan sesuai dengan
jumlah perulangan yang ditetapkan pada struktur for.
Contoh : menampilkan ‘halo’ sebanyak 10 kali

For k=1 to 10 do

K:=1
Repeat
write (‘Halo’);
k:=k+1;
Until k>10;

Write(‘halo’)

Keterangan :
Write(‘halo’) akan dilaksanakan sebanyak 10 kali sesuai dengan
jumlah perulangan yang udah ditetapkan pada struktur For yaitu 1
s/d 10. pada struktur perulangan ini nilai K akan bertambah 1
secara otomatis begitu perintah sampai pada khir perulangan.
Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

Erulangan dengan struktur for dapat dibagi menjadi 2 bagian
1. For menaik
2. For menurun
1. For menaik
- peubah haruslah bertipe sederhana kecuali tipe real
- nilai awal harus lebih kecil atau sama dengan nilai akhir
- pada awalnya peubah diinisialisasi dengan nilai awal. Nilai
peubah otomatis bertambah satu setiap kali aksi pengulangan
dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir
- jumlah pengulangan yang terjadi adalah nilai akhir – nilai awal
+1
2. For menurun
- peubah haruslah bertipe sederhana kecuali tipe real
- nilai awal harus lebih besar atau sama dengan nilai akhir
- pada awalnya peubah diinisialisasi dengan nilai awal. Nilai
peubah otomatis berkurang satu setiap kali aksi pengulangan
dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir
- jumlah pengulangan yang terjadi adalah nilai awal – nilai akhir
+1

Contoh-contoh Kasus

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I
Pertemuan 10

Loop Dalam Loop ( Nested Loop)
Pada proses perulangan sangat dimungkinkan adanya terjadi proses
perulangan didalam perulangan yang lain, proses ini dikenal
dengan istilah Nested Loop
1. Nested Loop pada For ....... to ........ Do
Syntax : For....to.....do
Instruksi
For....to....do
Instruksi...
end
end
Keterangan :
Pada perulangan seperti ini proses perulangan yang akan diselesaikan
terlebih dahulu adalah perulangan yang terletak pada bagian dalam.
Contoh : inputkan data buku maksimal 5 Judul buku dimana masingmasing buku memiliki pengarang maksimal ada 4 pengarang. Berikut
data lengkap yang harus diinputkan :
Kode Buku
:
Judul Buku
:
Pengarang :
Tahun Terbit

:

For i :=1 to 5

Input kdb,jdl

For k :=1 to 4

Input pg,th

Team Dosen Algoritma dan Struktur Data

For i:=1 to 5 do
Begin
Write (‘Kode Buku :’);
readln(kdb);
Write (‘Judul Buku :’);
readln(jdl);
For k:=1 to 4 do
Begin
Write (‘Pengarang
:’);
readln(pg);
Write (‘Tahun Terbit :’);
readln(th);
End;
End;

Algoritma dan Struktur Data I

Keterangan :
Pada program diatas proses perulangan pada i akan dilaksanakan
terlebih dahulu untuk i=1, berikut proses perulangan akan berada pada
k dimana perulangan akan dilaksanakan mulai dari k=1 sampai nilai
k=4. Begitu nilai k=5 proses akan keluar dari perulangan k dan akan
kembali ke perulangan i dengan nilai I akan langsung bertambah satu
sehingga menjadi 2.
Perulangan akan dilanjutkan kembali ke perulangan K mulai dari nilai
k=1 lagi sampai nilai sama dengan 4. Begitu seterusnya sampai nilai I
sama dengan 5. Begitu nilai I=6 maka proses akan keluar dari
perulangan secara keseluruhan
2. Nesterd Loop Pada While ......Do
Pada prinsip kerjanya nested loop while ...do sama dengan
for..to..do dimana proses perulangan yang akan diselesaikan
terlebih dahulu adalah perulangan yang terletak bagian dalam
Syntax :
While.........do
Instruksi
While .....do
Instruksi
End
End
Selesaikan contoh pada for ...to...do dengan menggunakan
while....do

Team Dosen Algoritma dan Struktur Data

Algoritma dan Struktur Data I

I:=1

While I