Anda di halaman 1dari 48

SARMAG SIPIL 2012

PENGENALAN ALGORITMA DAN


FLOWCHART

Novrina
novrina@staff.gunadarma.ac.id
Algoritma dan Pseudocode
 Algoritma: urutan langkah-langkah logis yang dapat
digunakan untuk memecahkan suatu masalah
 Pseudocode:
 Bahasa buatan yang bersifat informal yang dapat
membantu untuk mengembangkan algoritma
 Serupa dengan bahasa sehari-hari
 Membantu mempermudah penulisan program; dengan
menggunakan statement-statement yang dapat
dieksekusi, mempermudah konversi ke bahasa
pemrograman
Algoritma dan Pseudocode
Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. Luas adalah P dikali L
4. Tulis Luas

Sifat: Umum
Tidak menggunakan simbol atau sintaks dari suatu bahasa

pemrograman
 Tidak bergantung pada suatu bahasa pemriograman

 Dapat digunakan untuk seluruh bahasa manapun


Algoritma dalam Bahasa Natural
1. Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
2. Ambil bilangan kedua dan bandingkan dengan maks
3. Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
4. Ambil bilangan ketiga dan bandingan dengan maks
5. Apabila bilangan ketiga lebih besar dari maks, set maks
sama dengan bilangan ketiga
6. Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Aspek Penting dari Algoritma
1. Finiteness : Algoritma harus berhenti setelah sejumlah
langkah yang dibatasi.
2. Definiteness : Setiap langkah harus didefinisikan secara
tepat, tidak boleh membingungkan (ambiguous)
3. Input : Sebuah algoritma memiliki nol atau lebih input yang
diberikan kepada algoritma sebelum dijalankan
4. Output : Sebuah algoritma memiliki satu atau lebih output,
yang biasanya bergantung kepada input
5. Effectiveness : Setiap algoritma diharapkan miliki sifat efektif
Tahap Pengembangan Algoritma

MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source Code Executable


Code
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG
TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Y
Sintak Err
T
Executable code:
=> Run

Y
Output Err
T
DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Masalah:
Tentukan akar-akar dari suatu persamaan kwadrat. Sintak Err
Definisi:
Persamaan kwadrat : ax^2 + bx + c = 0
Executable code:
Data yg diperlukan : => Run
Nilai dari a, b dan c : tipe real

Output Err

DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Model Matematika : Sintak Err


Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a Executable code:
=> Run
x2 = (-b – sqrt(b^2 - 4ac))/2a

Output Err

DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

Start COMPILE

Masukkan a,b,c
Sintak Err
d = b^2 – 4ac

d<0 Y
Executable code:
=> Run
T
x1=(-b+sqrt(d))/2a Cetak Pesan
x2 =(-b-sqrt(d))/2a “Akar imajiner”
Output Err
Cetak : x1, x2
DOKUMEN TASI
Stop
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMENTASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMENTASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI
Tahap Pengembangan Algoritma
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI
Variabel
 Definisi: Nama atau simbol yang digunakan untuk menampung nilai. Nilai
dari variabel dapat berubah selama dalam proses program.
 Jenis Variabel:

A. Numerik/Bilangan
Syarat penamaan:
 Harus diawali huruf dan karakter selanjutnya bebas (huruf/angka)
 Tidak boleh ada spasi atau karakter khusus seperti $,%,!,#,dll.

Nama variabel tidak boleh sama dengan reserved words (if, then, end,
while, next, dll)

Contoh: A, A123, Angka
B. String (non-numerik)
Syarat penamaan sama dengan numerik, untuk membedakan, diakhiri
dengan tanda $.
Contoh: A$, Nama$
Konstanta
Definisi: Nilai yang sudah pasti dan tidak akan berubah selama
proses program berlangsung.
Seperti variabel, konstanta terdiri dari 2 jenis, yaitu numerik dan
string (non-numerik)

Contoh:
Print 5 {konstanta numerik}
Print “5” {konstanta non-numerik}
Print “Novrina” {konstanta non-numerik}
Flowchart
 Definisi: Bentuk gambar/diagram yang
memiliki aliran satu atau dua arah secara
sekuensial
 Kegunaan: untuk merancang dan

merepresentasikan program
 Flowchart harus bisa merepresentasikan

komponen-komponen dalam bahasa


pemrograman
Pembuatan Flowchart

 Sebelum pembuatan program:


Mempermudah pemrogram dalam
menentukan alur logika program
 Sesudah pembuatan program:

Menjelaskan alur program kepada orang lain


Pembuatan Flowchart
 Tiga komponen utama yang berurutan
 Input  Proses  Output
 Hindari proses yang tidak perlu dan berbelit-belit
(Cari algoritma proses terbaik).
 Gambar flowchart dari atas ke bawah dengan
penghubung anak panah yang jelas.
 Flowchart diawali dengan titik awal (start) dan titik
akhir (end)
Pembuatan Flowchart
Untuk pengolahan data dengan komputer, urutan dasar
pemecahan suatu masalah:
a.START, berisi instruksi untuk persiapan peralatan yg
diperlukan sebelum menangani pemecahan persoalan.
b.READ, berisi instruksi kegiatan untuk membaca data dari suatu
peralatan input.
c.PROSES, berisi kegiatan yang berkaitan dengan pemecahan
persoalan sesuai dengan data yang dibaca
d.WRITE, berisi instruksi untuk merekam hasil kegiatan ke
peralatan output
e.END, mengakhiri kegiatan pengolahan
Memasukkan Variabel
1. Dengan kotak proses
Memasukkan Variabel
2. Dengan Perintah BACA (READ)
Nilai dari variabel ditempatkan terpisah dalam suatu himpunan data,
kemudian data dibaca dari himpunan tersebut.
Memasukkan Variabel
 Himpunan data dapat dibayangkan sebagai himpunan
kartu nama.
 Satu kartu, dapat berisi lebih dari satuan data
 Himpunan data juga dapat berbentuk pita panjang
Bagan Arus Logika
Macam-macam instruksi
1. Instruksi tanpa syarat
Bagan Arus Logika
2. Instruksi syarat (conditional statement)
Bagan Arus Logika
3. Instruksi pengulangan
Hubungan Kondisi dan Aksi
 Kondisi, merupakan syarat, keadaan atau status yang
mempengaruhi tindakan atau proses selanjutnya.
 Aksi, merupakan tindakan atau proses yang dilakukan untuk
menyelesaikan masalah sesuai dengan kondisi yang ada.
 Dalam flowchart, kondisi digambarkan dengan simbol belah ketupat.

Hubungan antara dua kondisi


terdiri dari dua:
1. Hubungan DAN
2. Hubungan ATAU
Hubungan Kondisi dan Aksi
1. Hubungan DAN, merupakan hubungan antar kondisi yang mensyaratkan
kedua kondisi terpenuhi.
Hubungan Kondisi dan Aksi
2. Hubungan ATAU, merupakan hubungan antar kondisi yang
mensyaratkan cukup satu kondisi terpenuhi.

Tidak
Usia > Masa Tidak Tidak mendapat
60 kerja tunjangan pensiun
> 25

Ya Ya

mendapat tunjangan
pensiun
Latihan 1
1. Buatlah flowchart untuk mencari nilai maksimum dari 3 buah bilangan.
2. Buatlah flowchart untuk algoritma sbb. Diketahui variabel: A, B, C, X
Bandingkan nilai A dengan nilai B, dengan ketentuan sbb:
 Jika nilai A lebih besar dari B, maka tambahkan B dengan 5. Kemudian,
bandingkan nilai B dengan nilai C. Jika B lebih besar dari C, maka nilai A
menjadi nilai B dikurangi C, jika tidak, maka nilai X adalah nilai C dikurangi
nilai B. Kemudian, Jika Nilai B lebih besar dari 5 maka tambahkan X dengan 3,
Jika tidak, maka nilai X menjadi nilai C ditambahkan 4.
 Jika nilai B lebih besar dari nilai A, maka nilai X menjadi nilai B dikurangi nilai
C. Selanjutnya, bila nilai X lebih besar dari nilai A, maka nilai B menjadi nilai C
ditambah 3, jika tidak, maka nilai C menjadi nilai B ditambah 3. Selanjutnya,
bandingkan nilai B dengan C. Jika nilai B lebih besar dari C, maka nilai X
menjadi nilai C ditambahkan 2, jika tidak, maka nilai X menjadi nilai B ditambah
2.
Penggunaan Counter
 Teknik counter digunakan untuk mengontrol
pengulangan proses. Pengontrolan dilakukan
dengan memeriksa isi variabel yang digunakan
sebagai counter, sehingga jumlah pengulangan
dapat diketahui.
 Ketika membuat suatu variabel yang fungsinya
khusus sebagai kantong penghitung, biasanya
harga awal dari variabel tersebut adalah nol. Setiap
kali pemutaran harga variabel selalu bertambah
atau berkurang.
Penggunaan Counter
Alih Kontrol
 Pada masalah yang sederhana, arus diagram alur
mengalir lurus dari atas ke bawah.
 Pada masalah yang lebih rumit, dapat terjadi alih
kontrol berupa percabangan (branching) dan
pemutaran kembali (looping).
Percabangan
Looping
Terjadi ketika mengalihkan arus diagram alur kembali ke
atas sehingga beberapa alur berulang kembali beberapa
kali

Contoh:
Buat diagram alur untuk mengurangi sebuah bilangan
(misalnya 20) dengan nilai 7, sampai nilai bilangan
tersebut lebih kecil dari 2.
Looping
FOR –TO dan NEXT

Untuk mengetahui berapa kali loop diulang, cara


yang paling sederhana dan efektif adalah
menggunakan statemen FOR-TO serta NEXT.
Statemen FOR-NEXT menerangkan berapa kali
loop dilaksanakan.
FOR –TO dan NEXT
Latihan 2
1. Buatlah flowchart untuk mencari hasil perhitungan 1+3+5+7+9.
2. Buatlah flowchart untuk mencetak sebanyak 10 bilangan dengan urutan
berikut: 1,3,5,7,9,....
3. Buatlah flowchart untuk mencetak sebanyak 10 bilangan dengan urutan
berikut: 1,4,9,16,25,...
4. Buatlah flowchart untuk membuat deret fibonacci: 0,1,1,2,3,5,8,....

Anda mungkin juga menyukai