You are on page 1of 188

Algoritma dan

Pemrograman 1

Laily Hermawanti, S.T., M.Kom


Hp. 085600377461
lailyaisyah18@gmail.com
Banyumanik
1. Kuliah
2. Diskusi
3. Tanya Jawab
4. Tugas
1. Ujian Akhir Semester (UAS) : 35%
2. Ujian Tengah Semester (UTS) : 35%
3. Tugas Mandiri : 30%
4. Keaktifan Mahasiswa / Kehadiran
1. Pakaian
2. Kehadiran 75%
3. Curang Dalam Ujian : E
4. Ijin Lewat SMS : 1 x
5. Ujian Susulan : Mahasiswa yang Ortu/Saudara
meninggal saat ujian, opname, tugas negara.
1. Rosa A. S., M.Shalahuddin (2010), Modul
Pembelajaran Algoritma dan Pemrograman,
Modula, Bandung.
2. Rinaldi Munir (2011), Algoritma dan
Pemrograman dalam Bahasa Pascal dan C,
Graha Ilmu, Yogyakarta.
1. Pertemuan ke : 1
Konsep dasar dan Pengertian Algoritma.

2. Pertemuan ke : 2 - 3
Cara Penulisan Algoritma dalam Bahasa
Natural dan Flowchart.
3. Pertemuan ke : 4 - 5
Cara Penulisan dalam Flowchart Untuk
Struktur Logika Sederhana dan Kompleks.

4. Pertemuan ke : 6 - 7
Cara Penulisan dalam Flowchart untuk Jenis-
jenis Struktur Perulangan dalam Algoritma.
5. Pertemuan ke : 8
Cara Penulisan dalam Flowchart untuk Jenis – jenis
Counter dan Accumulator.

6. Pertemuan ke : 9 - 10
Pengertian Array dan Penulisannya dalam Algoritma

7. Pertemuan ke : 11 - 12
Pengertian, teknik maupun penulisan Sorting dalam
Algoritma
Dapat Memahami Ilmu Agoritma sebagai dasar
untuk membuat aplikasi pemrograman, cara
penulisan, simbol-simbol yang digunakan,
penerapan dasar logika dalam memahami
sautu kasus komputerisasi.
Gambaran Apa Itu Algoritma ?
• Ada 2 buah gelas. Satu berisi teh dan satunya
lagi berisi kopi. Bagaimana caranya menukar
isi masing-masing gelas?

teh kopi
A B A B

teh kopi kopi teh

Bagaimana Algoritmanya ??

-Alpro 2009- 11
Algoritma
– Siapkan gelas cadangan X
X

– Tuangkan gelas yang berisi


teh ke gelas cadangan X teh

– Tuangkan gelas yang berisi


kopi ke gelas yang awalnya
dipakai teh teh
kopi

– Tuangkan isi gelas


cadangan ke gelas yang
awalnya berisi kopi
kopi X
Konsep Dasar dan
Pengertian Algoritma
Abu Ja’far Muhammad Ibnu Musa
Al Khuwarizmi adalah seorang penulis buku Arab
yang berjudul Kitab Al Jabar Wal Muqabala
(Buku Pemugaran dan Pengurangan).

Kata Al Khuwarizmi dibaca orang Barat menjadi


algorism.
• Kata algorism berarti proses menghitung
dengan angka Arab.

• Kata algorism lambat laun menjadi


algorithm disebabkan kata algorism sering
dikelirukan dengan kata arithmetic sehingga
akhiran –sm berubah menjadi –thm.

• Kata algorithm diserap ke dalam bahasa


Indonesia menjadi algoritma.
Apa Itu Algoritma?
 Algoritma adalah Urutan langkah-langkah untuk
memecahkan masalah

 Kamus Besar Bahasa Indonesia:


Algoritma adalah urutan logis pengambilan putusan
untuk pemecahan masalah

 Algoritma dibutuhkan untuk memerintah komputer


mengambil langkah-langkah tertentu dalam
menyelesaikan masalah
Definisi Algoritma
• 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.

• Untuk menjadi sebuah algoritma, urutan langkah yang


ditempuh untuk menyelesaikan masalah harus
memberikan hasil yang benar.
Kesimpulan Definisi Algoritma
• Algoritma adalah sekumpulan langkah-langkah
terbatas untuk mencari solusi suatu masalah.
• Berasal dari kata algoris dan ritmis. Awalnya
diungkapkan oleh Al Khowarizmi.
• Di pemrograman, algoritma didefinisikan sebagai
metode yang terdiri dari langkah-langkah terstuktur
untuk mencari solusi suatu masalah dengan bantuan
komputer.

18
• Algoritma adalah jantung ilmu komputer atau
informatika.

• Banyak cabang ilmu komputer yang diacu dalam


terminologi algoritma.

• Namun algoritma juga digunakan dalam kehidupan


sehari-hari, contohnya resep makanan.

• Di dalam resep makanan terdapat langkah-langkah


yang merupakan algoritma. Selain itu masih banyak
contoh algoritma yang lain.
Algoritma

• Algoritma dapat diekpresikan dalam bahasa manusia,


menggunakan presentasi grafik FlowChart (diagram alir)
ataupun melalui PseudoCode yang menjembatani antara
bahasa manusia dengan bahasa pemrograman.
Domain algoritma
• Masalah : motivasi untuk membuat algoritma.

• Algoritma : prosedur untuk menyelesaikan masalah.


Seringkali satu masalah dapat diselesaikan dengan
lebih dari satu cara (banyak kemungkinan).

• Program: representasi formal dari suatu algoritma


dengan menggunakan bahasa pemrograman yang
bisa dimengerti oleh komputer.

• Proses : aktivitas menjalankan langkah-langkah


dalam algoritma.
Proses Penyelesaian masalah dengan
Algoritma

Pemecahan Implementasi
Masalah

Masalah Algoritma Solusi

-Alpro 2009- 22
Contoh

• Ibu Tati Mengupas Kentang

-Alpro 2009- 23
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?
-Alpro 2009- 24
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

-Alpro 2009- 25
Sub-Aksi
• Ambil kantong kentang dari rak
• Ambil panci dari almari
• Kupas kentang
• Kembalikan kantong kentang ke rak

-Alpro 2009- 26
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
-Alpro 2009- 27
Bahasa Pemrograman
• Untuk melaksanakan suatu algoritma diperlukan
suatu bahasa pemrograman, contoh bahasa
pemrograman adalah : Pascal, C++, Basic, dll.

• Notasi algoritma dapat diterjemahkan kedalam


bahasa pemrograman apapun, dengan kata lain
notasi algoritma bersifat independen.
Data yg Diolah PUSAT PENGOLAH DATA Data hasil pengolahan
(berbasis Arithmatika
(Masukan/Input) dan Logika) (Keluaran/Output)

Penyimpanan Data

29
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

-Alpro 2009- 30
Bagaimana Algoritma dapat menjadi
program?

Piranti Piranti
CPU
Masukan Keluaran

Memori

-Alpro 2009- 31
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.
-Alpro 2009- 32
Contoh algoritma 1
• Ada 2 buah gelas. Satu berisi teh dan satunya
lagi berisi kopi. Bagaimana caranya menukar
isi masing-masing gelas?

teh kopi
Contoh algoritma 1
Algoritma
– Siapkan gelas cadangan X
X

– Tuangkan gelas yang berisi


teh ke gelas cadangan X teh

– Tuangkan gelas yang berisi


kopi ke gelas yang awalnya
dipakai teh teh
kopi

– Tuangkan isi gelas


cadangan ke gelas yang
awalnya berisi kopi
kopi X
Latihan 1

Buatlah suatu algoritma untuk proses


pembuatan kopi yang rasa manisnya tepat
Apa Itu Algoritma?
 Algoritma adalah Urutan langkah-langkah untuk
memecahkan masalah

 Kamus Besar Bahasa Indonesia:


Algoritma adalah urutan logis pengambilan putusan
untuk pemecahan masalah

 Algoritma dibutuhkan untuk memerintah komputer


mengambil langkah-langkah tertentu dalam
menyelesaikan masalah
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.
Cara Penulisan Algoritma dalam
Bahasa Natural, Flowchart,
dan Pseudo Code
Algoritma dalam
Bahasa Natural
NOTASI PENULISAN

Dibagi menjadi 3 cara, yaitu :

• Notasi yang dinyatakan dalam kalimat


Natural/Deskriptif

• Notasi yang dinyatakan dalam flow chart

• Notasi yang dinyatakan dengan pseudo code


Penulisan Algoritma
1. Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris,
dan bahasa manusia lainnya)
– Tapi sering membingungkan (ambiguous)

2. Menggunakan flow chart (diagram alir)


– Bagus secara visual akan tetapi repot kalau algoritmanya panjang

3. Menggunakan pseudo-code
– Sudah lebih dekat ke bahasa pemrograman, namun sulit
dimengerti oleh orang yang tidak mengerti pemrograman

2004 EL 2001 - Algoritma v.1.2 42


Contoh
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 blangan 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
Notasi yang dinyatakan dalam kalimat
deskriptif

• Deskripsi setiap langkah dijelaskan dengan


bahasa yang jelas

• Cocok untuk algoritma yang pendek

• Relatif sulit untuk dikonversi ke bahasa


pemrograman
Notasi yang dinyatakan dalam kalimat
deskriptif (lanjut)
• Contoh :
Algoritma Bilangan Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum diantara
ketiga bilangan tersebut.
Deskripsi :
– Mulai
– baca bilangan 1
– baca bilangan 2
– bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua
bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan
tersebut MAX
– baca bilangan 3
– bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya
sama besar, pilih MAX dan sebut bilangan tersebut MAX.
– keluarkan sebagai output MAX
– selesai
Cara Penulisan Algoritma dalam
Bahasa Natural, Flowchart,
dan Pseudo Code
Flowchart (Diagram Alur)

47
Flow Chart
• flow chart (diagram alir)
– (menggambarkan urutan langkah-langkah
kegiatan /program mulai dari awal sampai akhir
dengan menggunakan simbol atau gambar
tertentu.)
• Kegunaan : mendesain dan mempresentasikan
program
Flowchart adalah gambaran dalam bentuk

diagram alir dari algoritma-algoritma dalam

suatu program, yang menyatakan arah alur

program tersebut.

49
FLOWCHART
• Flowchart lebih baik dibandingkan pseudocode
• Merupakan gambaran dalam bentuk diagram alir dari
algoritma-algoritma dalam suatu program yang menyatakan
arah alur program tersebut
• Disajikan dalam bentuk grafik/gambar
• Dapat membantu programmer maupun orang lain dalam
memahami alur program (apa saja input, proses dan output
dari program)
• Representasi visual, karena itu lebih mudah dipahami
• Jumlah simbol yang digunakan sedikit, karena itu lebih
sederhana dan lebih mudah dipelajari
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

-Alpro 2009- 51
Flowchart
• Bagan-bagan yang mempunyai arus
• Menggambarkan langkah-langkah
penyelesaian suatu masalah
• Merupakan salah satu cara penyajian
algoritma

52
Tujuan
• Menggambarkan suatu tahapan penyelesaian
masalah
• Secara sederhana, terurai, rapi dan jelas
• Menggunakan simbol-simbol standar

53
Model / Jenis Flowchart
• System Flowchart
• Program Flowchart

54
System Flowchart
• Menggambarkan suatu sistem peralatan komputer
yang digunakan dalam proses pengolahan data serta
hubungan antar peralatan tersebut

• Tidak digunakan untuk menggambarkan urutan


langkah untuk memecahkan masalah

• Hanya untuk menggambarkan prosedur dalam sistem


yang dibentuk
55
Program Flowchart
• Menggambarkan urutan logika dari suatu
prosedur pemecahan masalah
• Dua jenis metode penggambaran program
flowchart :
– Conceptual flowchart, menggambarkan alur
pemecahan masalah secara global
– Detail flowchart, menggambarkan alur
pemecahan masalah secara rinci

56
Simbol-simbol Flowchart
• Flow direction symbols
– Digunakan untuk menghubungkan simbol satu dengan
yang lain
– Disebut juga connecting line

• Processing symbols
– Menunjukan jenis operasi pengolahan dalam suatu proses
/ prosedur

• Input / Output symbols


– Menunjukkan jenis peralatan yang digunakan sebagai
media input atau output
57
Flow Direction Symbols

• Simbol arus / flow


– Menyatakan jalannya arus suatu proses

• Simbol communication link


– Menyatakan transmisi data dari satu lokasi ke lokasi lain

• Simbol connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama

• Simbol offline connector


– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang berbeda
58
Processing Symbols
• Simbol process
– Menyatakan suatu tindakan (proses) yang dilakukan
oleh komputer
• Simbol manual
– Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer
• Simbol decision
– Menujukkan suatu kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban : ya / tidak
• Simbol predefined process
– Menyatakan penyediaan tempat penyimpanan suatu
pengolahan untuk memberi harga awal
• Simbol terminal
– Menyatakan permulaan atau akhir suatu program

59
Processing Symbols

• Simbol keying operation


– Menyatakan segal jenis operasi yang
diproses dengan menggunakan suatu
mesin yang mempunyai keyboard
• Simbol offline-storage
– Menunjukkan bahwa data dalam simbol
ini akan disimpan ke suatu media tertentu
• Simbol manual input
– Memasukkan data secara manual dengan
menggunakan online keyboard
60
Input / Output Symbols

• Simbol input/output
– Menyatakan proses input atau output tanpa
tergantung jenis peralatannya
• Simbol punched card
– Menyatakan input berasal dari kartu atau
output ditulis ke kartu
• Simbol magnetic tape
– Menyatakan input berasal dari pita magnetis
atau output disimpan ke pita magnetis
• Simbol disk storage
– Menyatakan input berasal dari dari disk atau
output disimpan ke disk

61
Input / Output Symbols

• Simbol document
– Mencetak keluaran dalam bentuk
dokumen (melalui printer)
• Simbol display
– Mencetak keluaran dalam layar
monitor

62
Lambang Flowchart
Terminator (mulai/selesai)

Input/output

Proses

Decision (percabangan)

Data Flow (Aliran data)

Preparation (pemberian nilai awal suatu


variabel)
Call (memanggil prosedur/fungsi)
Connector (di halaman yg sama

Connector ( di halaman lain)


Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu
flowchart :
SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR
Arah aliran program
(FLOW LINE)

PREPARATION Proses inisialisasi/pemberian harga awal

Proses perhitungan/proses pengolahan


PROSES
data

Proses input/output data, parameter,


INPUT/OUTPUT DATA
informasi

PREDEFINED PROCESS Permulaan sub program/proses


(SUB PROGRAM) menjalankan sub program
Perbandingan pernyataan,
DECISION penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya
Penghubung bagian-bagian flowchart
ON PAGE CONNECTOR
yang berada pada satu halaman

Penghubung bagian-bagian flowchart


OFF PAGE CONNECTOR
yang berada pada halaman berbeda
64
Pengolahan data
START

READ

Ya
HABIS ?

Tidak
PROCESS

WRITE

END 65
Menghitung luas persegi panjang

Start

Input panjang

Input lebar

Luas  panjang * lebar

Print Luas

End
66
Notasi yang dinyatakan dalam
flow chart
• Sama halnya dengan notasi deskriptif, notasi
ini cocok untuk algoritma yang pendek
• Relatif sulit untuk dikonversi ke bahasa
pemrograman
Pembuatan Flowchart
• Tidak ada kaidah yang baku.
• Flowchart = gambaran hasil analisa suatu masalah
• Flowchart dapat bervariasi antara satu pemrogram
dengan pemrogram lainnya.
• Secara garis besar ada 3 bagian utama:
– Input
– Proses
– Output
Pembuatan Flowchart – cont.
• 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 dan diakhiri dengan END.
Contoh 1 Flowchart
Contoh 2 Flowchart
Exercise
1. Buatlah algoritma untuk menghitung luas dan keliling
lingkaran. Dengan masukan berupa jari-jari.
2. Buatlah flowchart dari algoritma pada soal no 1 diatas.
3. Buatlah algoritma untuk mengecek bilangan di antara 2 bilangan
masukan, apakah sama ataukah lebih besar salah satunya, dan
tampilkan hasilnya.
4. Buatlah flowchart dari algoritma pada soal no 3 diatas.
Notasi yang dinyatakan dalam flowchart
(lanjut)
• Contoh :
Algoritma Bilangan Maksimum
Diberikan tiga buah bilangan bulat.
Carilah bilangan bulat maksimum
diantara ketiga bilangan tersebut.

Deskripsi :
Algoritma dengan Flowchart
Mulai

Maks = bilangan pertama

Maks <
Ya Maks = bilangan kedua
bilangan kedua

Tidak

Maks <
Ya Maks = bilangan ketiga
bilangan ketiga

Tidak

Selesai
Mulai

Inputkan nilai
(tugas,uts,uas)

NA = 25%tg+25%uts+50%uas

NA>60 Gagal

Lulus

Selesai
Start

Masukkan
a,b,c

d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak Pesan
x2 =(-b-sqrt(d))/2a “Akar imajiner”

Cetak x1,x2

Stop
78
Notasi yang dinyatakan dengan pseudo
code
• Notasi yang menyerupai bahasa pemrograman
tingkat tinggi
• Kemudahan mengkonversinya (mentranslasi
ke notasi bahasa pemrograman)
• Intinya, Pseudo code adlh campuran antara
bahasa alami dengan bahasa pemrograman
Notasi yang dinyatakan dalam pseudo
code(lanjut)
• Contoh :
Algoritma Bilangan Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum diantara
ketiga bilangan tersebut.
Deklarasi :
– Bil1,Bil2,Bil3 : integer {bilangan yang dicari maksimumnya}
– MAX : integer {variabel bantu}
Deskripsi :
– Read (Bil1,Bil2)
– If Bil1 >= Bil2 then
– Bil1 = MAX
– Else Bil2 = MAX
– Read (Bil3)
– If Bil3 >= MAX then
– Bil3 = MAX
– Write (MAX)
Algoritma dengan pseudo-code
maks ← bilangan pertama
if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga

2004 EL 2001 - Algoritma v.1.2 81


Algoritma dengan pseudo-code
maks ← bilangan pertama
if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
Ad.1.Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.

Contoh : Permasalahan menghitung luas


lingkaran, dengan data yang diketahui adalah
diameter lingkaran.

Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7.


– Dengan flowchart / Start
diagram alir
Program Flowchart, Phi = 3.14

yaitu bagan yang


menggambar-kan Input
(diameter)
urutan logika dari
suatu prosedur Radius = diameter/2
Luas = phi * radius * radius
pemecahan masalah.
Output
Luas

Stop
Ad.2.Bagaimana menyatakan suatu algoritma
(menulis algoritma)

– Dengan psudocode
Suatu cara penulisan algoritma agar ide dan
logika dari algoritma dapat
disampaikan/diekspresikan menggunakan gaya
bahasa  3.14
Phipemrograman tertentu.
Input (diameter)
Radius  diameter / 2
Luar  phi * radius * radius
Output (Luas)
End
Penulisan Algoritma dalam
Bahasa Natural, Flowchart,
Pseudo Code
Buat sebuah algoritma untuk memilih bilangan terkecil dari 3
buah bilangan
• Algoritma Dalam Bahasa Natural
1. Ambil bilangan pertama dan set kecil sama dengan
bilangan pertama
2. Ambil bilangan kedua dan bandingkan dengan
kecil
3. Apa bila bilangan kedua lebih kecil dari kecil, set
kecil sama dengan bilangan kedua
4. Ambil blangan ketiga dan bandingan dengan kecil
5. Apabila bilangan ketiga lebih kecil dari kecil, set
kecil sama dengan bilangan ketiga
6. Variabel kecil berisi bilangan terkecil. 7.Tayangkan
hasilnya.
Algoritma dengan pseudo-code
kecil  bilangan pertama
if ( bilangan kedua < kecil)
kecil  bilangan kedua
if ( bilangan ketiga < kecil)
kecil  bilangan ketiga
Ouput(kecil)
Hal yang harus dipenuhi dalam membuat
algoritma
• Input : data yang harus diberikan pada
komputer

• Output: informasi yang akan diperoleh dari


komputer

• Logika: Merencanakan proses program. Terdiri


dari sejumlah instruksi yang mengubah input
menjadi output yang diinginkan.
Aspek Penting dari Algoritma
1. Finiteness
• Algoritma harus berhenti after a finite number of steps
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
Struktur Dasar Algoritma
• Runtunan (sequence)
• Pemilihan (selection)
• Pengulangan (repetition)
Runtunan
• Sebuah runtunan terdiri dari satu atau lebih instruksi
• Tiap instruksi dikerjakan berurutan
• Urutan instruksi menentukan keadaan akhir
algoritma
• Contoh
A1
A2
A3
A4
A5
Algoritma TUKAR_ISI_BEJANA
• Diberikan dua buah bejana, A dan B; bejana A
berisi larutan merah, bejana B berisi larutan biru.
Pertukarkan isi kedua bejana itu sehingga bejana A
berisi larutan biru dan bejana B berisi larutan
merah
• DESKRIPSI
1. Tuangkan larutan dari bejana A ke bejana X
2. Tuangkan larutan dari bejana B ke bejana A
3. Tuangkan larutan dari bejana C ke bejana B
• Hasil akhir
– Bejana A berisi larutan dari bejana B semula
– Bejana B berisi larutan dari bejana A semula
Algoritma TUKAR_ISI_BEJANA
• Misal urutan diubah menjadi
1. Tuangkan larutan dari bejana B ke bejana A
2. Tuangkan larutan dari bejana A ke bejana X
3. Tuangkan larutan dari bejana C ke bejana B
• Hasil akhir menjadi
– Bejana A kosong
– Bejana B berisi campuran larutan dari bejana A
dan bejana semula B
Pemilihan
• Adakalanya instruksi dikerjakan jika kondisi
tertentu terpenuhi
• Contoh
– Jika data ke-j lebih kecil dari min, maka isikan data
ke-j sebagai min yang baru
• Dapat ditulis
if kondisi then
aksi
Pemilihan
• Memilih salah satu tergantung dari nilai kondisinya
if kondisi then
aksi 1
else
aksi 2
Contoh
if x>y then
tulis x sebagai bilangan terbesar
else
tulis y sebagai bilangan terbesar
Teks Algoritma
• Sub Pokok Bahasan
– Pendahuluan
– Judul Algoritma
– Deklarasi
– Deskripsi
– Pengisian Nilai
• Setiap orang punya pola pikir yang berbeda, karena
itu akan menghasilkan algoritma yang berbeda
• Algoritma dikatakan benar apabila dapat
memecahkan masalah
• Perlu dipertimbangkan masalah efisiensi dalam
penyusunan algoritma
• Pemilihan rute jalan, misalnya :
– Beberapa rute mungkin akan menghasilkan tujuan yang
sama
– Ada rute yang lebih efisien dibanding rute lainnya
– Sebaiknya yang diambil adalah rute terpendek
• PEmrograman : aktifitas yg dilakukan dengan
membat intruksi untuk menyelesaikan permasalahan
yg dimenegeti oleh komputer
• Program : coding, hasil pemrograman
• Bahasa Pemrograman : Bahasa program yang
digunakan untuk membuat urutan instruksi yg
dimengerti oleh komputer.
• Pemrograman (programer) : orang yg membuat
program komputer.
Aspek Penting dari Algoritma
1. Finiteness
• Algoritma harus berhenti after a finite number of
steps
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
beberapa langkah umum dalam pembuatan suatu program yaitu
• Mendefinisikan masalah
– mendefinisikan permasalahan. langkah ini harus dilakukan untuk
menentukan masalah yang ada serta ditentukan pula input dan output
program
• Mencari solusinya
– Bila untuk mendapatkan solusi harus melalui langkah yang terlalu
rumit dapat dilakukan pembagian masalah dalam beberapa modul-
modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil
tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
• Menentukan algoritma
• Menulis program
• Menguji program
• Mendokumentasikan program
• Merawat program
Pendahuluan
• Teks algoritma yang dimaksud di sini adalah teks pseudocode
yang dianggap perlu untuk menjembatani keragaman dan
kompleksitas bahasa sehingga dapat dilakukan “abstraksi”
• Teks ini lebih berorientasi kepada detail design dibandingkan
coding (merupakan rancangan secara prosedural yang
selanjutnya dengan mudah dapat ditranslasi menjadi salah
satu program dalam bahasa tertentu)
• Contoh bahasa pemrograman yang digunakan adalah Bahasa
Pascal. Jadi dalam pembahasan berikutnya, translasi teks
Algoritma adalah ke dalam teks program Bahasa Pascal.
Pendahuluan
• Bagian-bagian (blok) dalam teks algoritma:
– JUDUL (header) algoritma
– DEKLARASI algoritma
– DESKRIPSI algoritma

Keterangan:
– Pasangan tanda kurung kurawal (‘{‘ dan ‘}’) digunakan untuk
memberikan komentar (untuk memperjelas maksud teks yang
dituliskan).
Judul Algoritma
• Terdiri dari nama dan penjelasan (spesifikasi) algoritma.
• Nama yang digunakan sebaiknya singkat (namun cukup informatif).
• Biasanya di bawah nama diberi spesifikasi algoritma. Algoritma yang akan
ditulis nantinya harus sesuai dengan spesifikasi yang didefinisikan.
Deklarasi
• Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu:
– nama tipe
– nama konstanta
– nama peubah (nama variabel)
– nama fungsi, sekaligus spesifikasinya
– nama prosedur, sekaligus spesifikasinya
• Semua nama tersebut baru dapat digunakan jika telah didefinisikan di
dalam DEKLARASI. Penulisan sekumpulan nama dalam DEKLARASI
sebaiknya dikelompokkan menurut jenis nama tersebut.
• Ketentuan-ketentuan dalam pendefinisian nama-nama:
– nama peubah belum terdefinisi harganya ketika didefinisikan.
– Pendefinisian konstanta sekaligus juga memberikan harganya.
– pendefinisian nama fungsi sekaligus juga dengan domain dan range serta
spesifikasinya.
– Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter
(jika ada) dan spesifikasi prosedur (kondisi awal, kondisi akhir dan proses yang
dilakukan).
Deklarasi
DEKLARASI
{ Nama tipe, hanya untuk tipe yang bukan tipe dasar }
type Titik : <X:real,Y:real> { koordinat pada sumbu kartesian }

{ Nama konstanta, harus menyebutkan nilai }


const phi = 3.14

{ Nama peubah (variabel), menyebutkan tipe }


P : Titik { Titik dalam derajat kartesian }
jmlh : integer { Jumlah suatu elemen }
ketemu : boolean { Keadaan hasil pencarian }

{ Spesifikasi Fungsi, menyebutkan nama fungsi, domain dan range }


function Konversi_Real_Ke_Integer(input i:real)→integer
{ Mengkonversi harga i yang bertipe real menjadi harga ekivalen yang
bertipe integer }
{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi
akhir dan proses }
procedure Tukar(input/output A:integer, input/output B:integer)
{ Kondisi awal : A dan B terdefinisi, A=a dan B=b }
{ Kondisi akhir : A=b dan B=a }
{ Proses : Mempertukarkan nilai A dan B }
Deskripsi
• Merupakan bagian inti dari algoritma.
• Komponen di dalam teks algoritma dapat berupa:
– Instruksi dasar seperti input/output, assignment
– Urutan (sequence)
– Pemilihan
– Pengulangan
Pengisian nilai ke dalam Nama Peubah

• Pengisian Nilai secara langsung


• Pembacaan Nilai dari Piranti Masukan
Pengisian Nilai secara langsung
• Pengisian nilai secara langsung (assignment) adalah
memasukkan nilai ke dalam nama peubah langsung didalam
teks algoritma
• Notasi pengisian secara langsung : ←
• Nilai yang diberikan kepada peubah dapat berupa tetapan,
nilai peubah lain atau nilai sebuah ekspresi. Nilai tersebut
harus bertipe sama dengan tipe peubah

peubah ← tetapan {nilai tetapan diisikan ke dalam peubah}


peubah1 ← peubah2 {nilai peubah2 disalin kedalam peubah1}
peubah ← ekspresi {hasil perhitungan diisikan ke dalam peubah}
Pengisian Nilai secara langsung
CONTOH
k ←5
jarak ←0.03
ketemu ←false
NamaKota ←’Solo’
{Mengisi J dengan jam 6:12:39}
J.hh ←6
J.mm ←12
J.ss ←39

jarak ←78.90
NamaKota ←’MEDAN’
Pengisian Nilai secara langsung
• Berapakah nilai M dan P setelah runtunan
penugasan dibawah ini selesai dilaksanakan
oleh? Andaikan M dan P bertipe integer
M ← 16
P ← M*2
M ← P + 100
P ← P + M
Pembacaan Nilai dari Piranti Masukan

• Nilai untuk peubah dapat diisi dari piranti masukan


• Dinamakan operasi pembacaan data
• Dalam algoritma, dilakukan dengan notasi read

Notasi algoritmik untuk pembacaan nilai dari piranti masukan

read (nama1, nama2, . . . namaN)


Pembacaan Nilai dari Piranti Masukan

CONTOH :
read(M)
read(a1, a2, a3)
read(nama_kota)
read(nama_mhs,NRP,nilai)
read(P.x,P.y)
Ekspresi Aritmatik
• Misal deklarasi sebagai berikut :
a, b, c : real
d : integer
i, j , k : integer

Misal ekspresi
a * b
– hasil ekspresi adalah real
– a dan b adalah operand, * adalah operator
– Bila disimpan ke peubah, maka tipe peubah harus sama dengan tipe
hasil
– c ← a * b (benar)
– d ← a * b (salah)
Ekspresi
• Terdiri dari operand dan operator
• Operand adalah nilai yang dioperasikan
dengan operator tertentu
• Operand dapat berupa tetapan, nama
peubah, nama tetapan, atau hasil dari suatu
fungsi
• Ada 3 macam ekspresi : ekspresi aritmatik,
ekspresi relasional dan ekspresi string
Ekspresi Relasional
• Adalah ekspresi dengan operator <,≤,>,≥,= dan
≠, not,and, or dan xor
• Misal didefinisikan deklarasi berikut
DEKLARASI
ketemu, besar : boolean
x,y : integer

misal ketemu bernilai false, ada bernilai true, x bernilai 8 dan y bernilai
12. Maka :
not ada (hasil : false)
ada and true (hasil : true)
x < 5 (hasil : false)
ada or (x = y) (hasil : true)
Ekspresi String
• Ekspresi string adalah ekspresi dengan
operator “+” (operator penyambungan
/concatenation)
DEKLARASI
kar : char
s : string

s ← s+kar
Menuliskan Nilai ke Piranti Keluaran

• Nilai yang disimpan di memori dapat


ditampilkan ke piranti keluaran(misal layar
monitor)
• Instruksi penulisan dengan notasi write
write(nama1,nama2, …, namaN)
write(tetapan)
write(nama, tetapan, ekspresi)
write(ekspresi)
Bahan Bacaan
• Rinaldi Munir, Algoritma dan Pemrograman dalam
Bahasa Pascal dan C, Penerbit Informatika Bandung
• Antony Pranata, Algoritma dan Pemrograman
Latihan 2

Buatlah suatu algoritma untuk proses


aktivitas yang anda kerjakan dari pagi
hingga malam hari
Contoh Algoritma 2
• Algoritma untuk menentukan apakah suatu
bilangan merupakan bilangan ganjil atau
bilangan genap.

• Algoritmanya :
a. Masukkan bilangan yang akan ditentukan
b. Bagi bilangan dengan bilangan 2
c. Hitung sisa hasil bagi pada langkah b.
d. Bila sisa hasil bagi sama dengan 0 maka bilangan
itu adalah bilangan genap tetapi bila sisa hasil
bagi sama dengan 1 maka bilangan itu adalah
Latihan 3
• Buat algoritma mengurutkan 3 bilangan acak!
Simbol Algoritma (Flowchart):
Proses/kegiatan pemrosesan input Terminator/Start or
End

IO
Konektor/Penghubung Next Page

Garis Alir

Pencabangan/Pemeriksaan kondisi
Flowchart dan Pseudocode
Struktur Dasar Algoritma
• Runtunan (Sequence)
• Pemilihan (Selection)
• Pengulangan(Repetition)

-Alpro 2009- 131


Flowchart
Terminator

Input/Output

Proses

Condisional / Decision

-Alpro 2009- 132


Flowchart (cont’)
Preparation

Arrow

Connector (on page)

Connector (off page)

Display

-Alpro 2009- 133


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

-Alpro 2009- 134


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.

-Alpro 2009- 135


Pseudocode
• Diarahkan untuk menyerupai aturan penulisan
bahasa pemrograman tertentu

-Alpro 2009- 136


Pseudocode
Judul

Kamus

Algoritma

-Alpro 2009- 137


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;
-Alpro 138
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

-Alpro 2009- 139


Algoritma
• digunakan untuk meletakkan semua algoritma
atau kode-kode program
• Diawali dengan ‘BEGIN’ dan diakhiri dengan
‘END’

-Alpro 2009- 140


Pemilihan (Selection)
If kondisi then
aksi
endIf

If kondisi then
aksi1
else
aksi2
endIf

-Alpro 2009- 141


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

-Alpro 2009- 142


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

repeat
aksi
until kondisi_stop

while kondisi_ulang do
aksi
endwhile
-Alpro 2009- 143
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
-Alpro 2009- 144
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.

-Alpro 2009- 145


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

-Alpro 2009- 146


MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source Executable


Code Code
Tahap Pengembangan Pogram

Mulai

Batasan Masalah

Pengembangan
Model

Rancangan
Pemrograman
Algoritma

Perbaikan Pengujian
Algoritma Pembetulan Analisa

Dokumentasi

Selesai

Algoritma Pemrograman IC - Bab 1 148


DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Y
Sintak Err
T
Executable code:
=> Run

Y
Output Err
T
DOKUMEN TASI

149
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Masalah:
Tentukan akar-akar dari suatu persamaan Sintak Err
kwadrat.
Definisi: Executable code:
Persamaan kwadrat : ax^2 + bx + c = 0 => Run

Data yg diperlukan :
Nilai dari a, b dan c : tipe real Output Err

DOKUMEN TASI

150
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Model Matematika : Sintak Err

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

Output Err

DOKUMEN TASI
151
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

Start COMPILE

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

d<0 Executable code:


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

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI
153
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

154
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

155
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

156
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

157
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

158
 Algoritma bisa dibuat dengan:
– Teknik tulisan seperti : Structure english dan
Pseudocode.
– Teknik visual seperti : Flow chart.

159
• Outline dari sebuah program komputer
• Ditulis dalam bahasa Inggris atau Indonesia
sederhana
• Kata kunci (keyword) digunakan untuk menjelaskan
struktur kendali (misalnya: “jika”, “ulangi”,
“sampai”,”if”,”repeat”, “until”)

160
Tujuh operasi dasar komputer:
1. Membaca data (Input)
2. Menampilkan data (Output)
3. Melakukan perhitungan aritmetika (Compute)
4. Memberikan nilai ke suatu identifier (Store)
5. Membandingkan dan Memilih (Compare)
6. Melakukan pengulangan (Loop)
7. Procedure dan atau Function
161
• Sewaktu komputer menerima informasi atau input,
maka statement yang biasa digunakan adalah
“Read”, “Get”, “Baca” ,”Input” atau “KeyIn”
• Contoh:
Read Bilangan
Get kode_pajak
Baca nama_mahasiswa

162
• Sewaktu komputer menampilkan informasi ataupun
output, maka statement yang biasa digunakan
adalah “Print”, “Write”, “Put”, “Output”, “Display”
ataupun “Cetak”
• Contoh:
Print “Universitas Bina Nusantara”
Cetak “Metode Perancangan Program”
Output Total

163
 Untuk melakukan operasi aritmetika digunakan
pseudocode berikut:
+ untuk penjumlahan (add)
- Untuk pengurangan (subtract)
* Untuk perkalian (multiply)
/ Untuk pembagian (divide)
() Untuk kurung
 Statement “Compute”, “Calculate” ataupun “Hitung”
juga dapat digunakan.
 Contoh:
Add number to total
Total = Total + number

164
 Ada tiga cara untuk memberikan nilai ke dalam variabel :
– Memberikan nilai awal, menggunakan statement
“Initialize” atau “Set”
– Memberikan nilai sebagai hasil dari suatu proses, maka
tanda “=“ digunakan
– Untuk menyimpan suatu nilai maka statement “Save” atau
“Store” digunakan
 Contoh:
Set Counter to 0
Total = Harga * Jumlah

165
• Salah satu operasi terpenting yang dapat dilakukan
komputer adalah membandingkan dan memilih salah
satu alternatif solusi.
• Keyword yang digunakan : “IF”, “THEN” dan “ELSE”
• Contoh
IF Pilih=‘1’ THEN
Discount = 0.1 * harga
ELSE
Discount = 0.2 * harga
ENDIF

166
• Jika ada beberapa perintah yang harus diulang, maka
dapat digunakan keyword “DOWHILE” dan “ENDDO”.
• Contoh
DOWHILE bil < 10
cetak bil
bil = bil +1
ENDDO

167
Algoritma Menggunakan Kalkulator
Mulai
Nyalakan kalkulator
Kosongkan Kalkulator
Ulangi
Input harga
Tekan tombol Plus (+)
Sampai semua harga diinput
Tampilkan total harga
Matikan kalkulator
Selesai

168
Algoritma Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai

169
Algoritma Sarapan Pagi
Mulai
Ambil piring
Masukkan nasi dan lauk dalam piring
Ambil sendok dan garpu
Ulangi
Angkat sendok dan garpu
Ambil nasi dan lauk
Suapkan ke dalam mulut
Taruh sendok dan garpu
Kunyah
Sampai (nasi dan lauk habis) ATAU kekenyangan
Bereskan piring, sendok dan garpu
Selesai
170
Terminator Arah

Proses Konektor

Input/Output Konektor antar


halaman
Dokumen

Pemilihan

Pengulangan
171
• Mempunyai logika yang tepat untuk memecahkan
masalah.
• Menghasilkan output yang benar dalam waktu yang
singkat.
• Ditulis dengan bahasa baku terstruktur sehingga tidak
menimbulkan arti ganda.
• Ditulis dengan format baku sehingga mudah
diimplementasikan kedalam bahasa pemrograman.
• Semua operasi didefinisikan dengan jelas dan berakhir
sesudah sejumlah langkah.

172
• Pemrograman terstruktur merupakan pola
penyusunan program komputer hanya dengan
menggunakan tiga struktur kontrol yaitu:
1. Sequence
2. Selection
3. Repetition

173
• Sequence merupakan urutan pengerjaan dari
perintah/statement pertama sampai dengan
perintah/statement terakhir.
• Umumnya bahasa pemrograman mempunyai
sequence (urutan pengerjaan dari perintah /
statement ) mulai dari atas ke bawah dan dari kiri ke
kanan.
• Top-down

174
Contoh Sequence
 Contoh:
Cetak “Jumlah Mahasiswa”
Set Jumlah to 49
Cetak “Tambahan mahasiswa baru”
Baca mhs_baru
Jumlah = Jumlah + mhs_baru
Cetak “Jumlah Mahasiswa”
Cetak jumlah

 Penjelasan
– Urutan pengerjaan adalah mulai dari urutan pertama sampai dengan
urutan terakhir, jika mhs_baru diisi dengan 2, maka jumlah yang
tercetak adalah 51

175
• Struktur Kontrol Selection adalah penggambaran
sebuah kondisi dan pilihan diantara dua aksi.

• Statement Pertama akan dikerjakan jika kondisi


bernilai benar, jika tidak maka akan mengerjakan
perintah setelah keyword “else” (jika ada).

176
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

-Alpro 2009- 177


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

-Alpro 2009- 178


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)

-Alpro 2009- 179


Contoh Selection
 Contoh :
IF Hari=1 THEN
Cetak “Senin”
ELSE
Cetak “Bukan hari Senin”

 Penjelasan
– Tulisan “Senin” akan ditampilkan jika Hari bernilai 1, jika
tidak maka tulisan “Bukan hari Senin” yang akan
ditampilkan

180
• Beberapa statement / perintah dapat diulang dengan
menggunakan struktur kontrol repetition.
• Statement / perintah akan tetap diulang selama
kondisi perulangan memenuhi (jika menggunakan
DOWHILE – ENDDO)

181
Contoh Repetition
 Contoh:
Bintang = 0
DOWHILE bintang < 5
Cetak bintang
bintang = bintang + 1
ENDDO

 Penjelasan:
– Pertama kali bintang akan diisi dengan 0, setelah itu isi dari
bintang akan dicetak sebanyak lima kali, sehingga tampilannya
akan sebagai berikut:
01234

182
1. Buatlah algoritma menggunakan pseudocode untuk
menghitung luas persegi panjang
2. Buatlah algoritma menggunakan pseudocode untuk
mengubah jam dan menit yang diinput ke dalam
satuan detik.
3. Buatlah algoritma menggunakan pseudocode untuk
menentukan apakah bilangan yang diinput adalah
bilangan ganjil atau bilangan genap.

183
4. Buatlah algoritma menggunakan pseudocode untuk
menghitung luas lingkaran.
5. Buatlah algoritma menggunakan pseudocode untuk
menginput 3 buah bilangan, kemudian tentukan
bilangan terbesar, terkecil dan rata-ratanya.

184
SEKIAN
TERIMA KASIH
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

-Alpro 2009- 186


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

-Alpro 2009- 187


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)

-Alpro 2009- 188

You might also like