Anda di halaman 1dari 41

PEMROGRAMAN DASAR

ALGORITMA
ALGORITMA ???

2
ALGORITMA ???
Algoritma adalah urutan
langkah-langkah logis
penyelesaian masalah
yang disusun secara
sistematis dan logis

3
Algoritma dalam Kehidupan (1)
Algoritma dalam Kehidupan (2)
MEMBUAT KUE MENGIRIM PESAN
1. Sediakan bahan-bahan
(WA)
2. Olah adonan
1. Ambil Hp
3. Letakan di atas kompor
2. Buka Aplikasi WA.
4. Nyalakan kompor
3. Jika belum memiliki,
download di play store lalu
install.
4. Cari dan pilih nama
teman/nmr hp yang akan
di kirimi pesan
5. Tulis pesan
6. Tekan tombol kirim
Ada seorang petani yang membawa seekor kambing, seekor serigala,
dan sekeranjang sayur. Mereka berada di tepi sebuah pulau dan ingin
menyebrang ke pulau seberang. Di tepi pulau itu hanya ada
sebuah perahu yang cukup untuk dua penumpang. Dengan catatan
lain, bahwa kambing tidak boleh ditinggal berdua dengan
serigala tanpa adanya petani karena serigala akan memakan kambing,
kemudian kambing tidak boleh ditinggal bersama sayur, karena
kambing akan memakan sayurnya. Kemudian, yang bisa
menggunakan perahu hanyalah petani. Bagaimana caranya agar
mereka semua bisa menyebrang ke pulau seberang dengan utuh?
1

Blueprint dari
program

FUNGSI ALGORITMA
DALAM PEMROGRAMAN??
2

Mempermudah pembuatan program komputer


BENTUK DASAR ALGORITMA

Sekuensial Percabangan Perulangan

Dilakukan secara Terdapat pemilihan Kondisi yang diulang-ulang


Runtun. kondisi
Sekuensial Percabangan Perulangan
Mengupas Kentang untuk Makan Malam
1. Ibu Tati mengambil kantong
1. Ibu Tati mengambil kantong kentang dari rak .
1. Ibu Tati mengambil kentang dari rak . 2. Ibu Tati mengambil panci dari
kantong kentang 2. Ibu Tati mengambil panci almari.
dari rak . dari almari. 3. Menurut kebiasaan ibu tati,
2. Ibu Tati mengambil 3. Menurut kebiasaan ibu tati,
pada hari biasa ibu tati
panci dari almari. pada hari biasa ibu tati menggunakan baju berwarna
3. Ibu Tati mengupas menggunakan baju cerah sehingga dia harus
kentang. berwarna cerah sehingga dia menggunakan celemek. Pada
4. Ibu Tati harus menggunakan hari Sabtu dan Minggu dia
mengembalikan celemek. Pada hari Sabtu menggunakan baju warna
kantong kentang ke dan Minggu dia hitam.
rak. menggunakan baju warna 4. Ibu Tati mengupas kentang.
5. Ibu tati memasak hitam. Karena harus mengupas 50
kentang. 4. Ibu Tati mengupas kentang. kentang, maka langkah ini akan
6. Ibu tati 5. Ibu Tati mengembalikan diulang sebanyak 50 kali
menghidangkan kantong kentang ke rak. 5. Ibu Tati mengembalikan
kentang yang sudah 6. Ibu tati memasak kentang.
kantong kentang ke rak.
masak. 7. Ibu tati menghidangkan 6. Ibu tati memasak kentang.
kentang yang sudah masak. 7. Ibu tati menghidangkan
kentang yang sudah masak.
PENYAJIAN ALGORITMA

STRUCTURE ENGLISH PSEUDOCODE FLOW CHART

10
PSEUDOCODE
Pseudo : menyerupai, code : kode
Merupakan kode yang menyerupai kode
program yang sesungguhnya
Tidak ada aturan standar penulisan
pseudocode
Ditujukan untuk dibaca manusia, bukan
dibaca mesin(komputer)

11
PSEUDOCODE

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)

12
1. MEMBACA DATA
• 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

13
2. MENAMPILKAN DATA
• Sewaktu komputer menampilkan informasi ataupun
output, maka statement yang biasa digunakan
adalah “Print”, “Write”, “Put”, “Output”, “Display”
ataupun “Cetak”
• Contoh:
Print “Universitas Brawijaya”
Cetak “Dasar Pemrograman Komputer”
Output Total

14
3. PERHITUNGAN ARITMETIKA
• 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

15
4. MEMBERIKAN NILAI KE IDENTIFIER

• 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

16
5. MEMBANDINGKAN DAN MEMILIH
• 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

17
6. PENGULANGAN

• Jika ada beberapa perintah yang harus diulang, maka


dapat digunakan keyword “DOWHILE” dan “ENDDO”.
• Contoh
Bil = 0
DOWHILE bil < 10
cetak bil
bil = bil +1
ENDDO

18
CONTOH ALGORITMA DGN PSEUDOCODE

Algoritma Menggunakan Kalkulator


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

19
CONTOH ALGORITMA DGN PSEUDOCODE

Algoritma Berangkat Kuliah


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

20
CONTOH ALGORITMA DGN PSEUDOCODE

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
21
FLOW CHART
Terminator Arah

Proses Konektor

Input/Output Konektor antar


halaman berbeda
Dokumen

Pemilihan

Pengulangan
22
• Jalannya proses digambarkan dari atas ke
bawah dan diberikan tanda panah untuk
memperjelas.
• Sebuah flowchart diawali dari satu titik START
dan diakhiri dengan END atau STOP.

23
Pembuatan Flowchart – cont.

Selalu dimulai dengan BEGIN/Start/Mulai:

Begin

Jangan lupa
menggambar garis

End
Pembuatan Flowchart – cont.

Input / Output Begin

Jangan lupa garis

Input/output

Mungkin anda ingin


berkomunikasi
dengan pemakai
Pembuatan Flowchart – cont.

Proses Begin

Input
Anda dpt melakukan
perhitungan di dlm proses

Proses
Pembuatan Flowchart – cont.

Begin

Input

Anda dapat menampilkan


Proses
hasil di output

Output End
Contoh Flowchart
KRITERIA ALGORITMA YANG BAIK
• 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.

30
Contoh Kasus
• Studi Kasus satu
1. Menghitung Luas Permukaan kubus :6 * luas
sisi kubus
2. Mencari nilai akar persamaan ax2+bx+c=0
Solusi Kasus 1
Problem: Hitung dan tampilkan luas permukan kubus.
Analisis:
Hitung dan tampilkan luas permukaan kubus jika sisi kubus
diketahui.
Input:
Panjang rusuk kubus (r) dalam satuan jarak.
Output:
Luas permukaan kubus (luas)
Rumus :
luas=6 x r x r
Solusi Kasus 1
• Algoritma :
1. Masukkan rusuk kubus (r)
2. Hitung luas
luas = 6 x r x r
3. tampilkan luas
Solusi Kasus 1
• PsuedoCode
Tulisan disamping
start seklias mirip
read r; dengan bahasa
Calculate luas=6 * r * r; pemrograman,
padahal
Display luas; sebenarnya adalah
stop bahasa Indonesia/
Inggris yang berisi
urutan proses dan
ditulis mirip code
program

34
Solusi Kasus 2
Problem: Cari dan tampilkan akar-akar persamaan kuadrat ax2 + bx +
c=0.
Analisis:
Mencari nilai akar-akar persamaan kuadrat dan menampilkan
hasilnya.
Input:
koefisien a, b, c
Output:
x1, x2
Rumus :
x1= (-b + √D )/2a
x2= (-b - √D )/2a
dengan D = b2 – 4ac dan a ≠ 0
Solusi Kasus 4
• Algoritma :
1. Masukkan koefisien a
2. Masukkan koefisien b
3. Masukkan koefisien c
4. Hitung D
D = b2 – 4ac
5. Jika D<0 maka
5.1 Tampilkan “Tidak ada akar real”
Jika tidak, maka
5.2 Hitung x1 x1= (-b + √D )/2a
5.3 Hitung x2 x2= (-b - √D )/2a
5.4 tampilkan x1
5.5 tampilkan x2
6. END
Studi Kasus 2
• Contoh Psuedocode
start Tulisan disamping
baca a; seklias mirip
baca b; dengan bahasa
baca c; pemrograman,
hitung D=b^2-4*a*c; padahal
IF D<0 { sebenarnya adalah
bahasa Indonesia/
cetak "Tidak ada akar real";
Inggris yang berisi
} urutan proses dan
ELSE { ditulis mirip code
hitung x1=(-b+sqrt(D))/2a; program
hitung x2=(-b-sqrt(D))/2a;
cetak x1;
cetak x2;
}
stop
37
FLOW CHART
Start

Masukkan
a,b,c

d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak “Tidak
x2 =(-b-sqrt(d))/2a ada akar real”

Cetak x1,x2

End
38
LATIHAN
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 menampilkan deret bilangan
berikut :
1, 1, 2, 3, 5, 8, 13

39
LATIHAN
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.

40
LATIHAN
6. Ulangi latihan no. 1 s/d no. 5 diatas dengan
menggunakan Flow Chart.

7. Pak Tono diberi tugas mengambil air dari sungai


sebanyak 4 Liter. Pak Tono hanya dibekali dua ember
yang berukuran 5 liter dan 3 liter. Pak Tono dilarang
menggunakan alat bantu lain. Buatlah langkah agar
Pak Tono mendapatkan air 4 liter yang dimaksud!

8. Buatlah algoritma kegiatan kalian dari bangun pagi


sampai tidur kembali (Flowchart)
41

Anda mungkin juga menyukai