P E N G A N T A R A L G O R I T M A
Pemrograman Dasar
Pemodelan Komputer Sederhana
Pengolah Data (Processor)
(berbasis Aritmatika dan Logika)
(Keluaran/Output)
COMPUTER TO – COMPUTE + ER menghitung/mengolah bilangan
mengolah data
Data yg diolah
(Masukan/Input)
Data hasil olahan
Penyimpanan Data (Storage, e.g. memory)
2
Algoritma
Algoritma adalah sekumpulan langkah-langkahterbatas untuk mencari solusi suatu masalah.
Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi (jamak latin dariAlgoritmus), yang akhirnya menjadi Algorithm, metodekalkulasi.
Di pemrograman komputer, algoritmadiimplementasikan dalam program komputer, i.e. satuset instruksi atau langkah-langkah yang dijalankandengan komputer untuk menyelesaikan suatumasalah.
3
Tahap Pengembangan Algoritma
MASALAH / IDE
PEMECAHAN SOLUSI / HASIL
Algoritma Source Code
Executable Code
4
Tahap Pengembangan Algoritma
DEFINISI MASALAH
BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM
COMPILE
Compile Error
Executable code: => Run
Error
DOKUMEN TASI
Y
Y
T
T
5
Tahap Pengembangan Algoritma
DEFINISI MASALAH
BUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
Masalah:Tentukan akar-akar dari suatu persamaan kwadrat.
Definisi:Persamaan kwadrat : ax^2 + bx + c = 0
Data yg diperlukan :Nilai dari a, b dan c : tipe real
6
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
Model Matematika :
Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a
x2 = (-b – sqrt(b^2 - 4ac))/2a
7
Tahap Pengembangan Algoritma
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
Start
d = b^2 – 4ac
d < 0
Masukkan a,b,c
x1=(-b+sqrt(d))/2ax2 =(-b-sqrt(d))/2a
Stop
YT
Cetak: x1, x2
Cetak: “Akar majiner”
8
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
9
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
10
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
11
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
12
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
13
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
14
Penyajian Algoritma
Algoritma dapat diekspresikan dalam bentuk: Tulisan, misal: structured english, pseudocode, notasi lain Visual, misal: flow chart, activity diagram
15
Pseudocode
Outline dari sebuah program komputer
Ditulis dalam bahasa Inggris atau Indonesia sederhana
Kata kunci (keyword) digunakan untukmenjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)
16
Pseudocode17
Tujuh operasi dasar komputer : Membaca data (input) Menampilkan data (output) Melakukan perhitungan aritmatika (compute) Memberikan nilai ke suatu identifier (store) Membandingkan dan memilih (compare) Melakukan pengulangan (loop) Procedure dan atau function
Membaca Data18
Sewaktu komputer menerima informasi atauinput, maka statement yang biasa digunakanadalah “Read”, “Get”, “Baca” ,”Input” atau“KeyIn”
Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa
Menampilkan Data19
Sewaktu komputer menampilkan informasiataupun output, maka statement yang biasadigunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak”
Contoh: Print “Universitas Brawijaya” Cetak “Pemrograman Dasar” Output Total
Perhitungan Aritmatika20
Untuk melakukan operasi aritmetika digunakanpseudocode 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
Memberikan Nilai Ke Identifier21
Ada tiga cara untuk memberikan nilai ke dalamvariabel : 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
Membandingkan dan Memilih22
Salah satu operasi terpenting yang dapatdilakukan komputer adalah membandingkandan 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
Pengulangan23
Jika ada beberapa perintah yang harusdiulang, maka dapat digunakan keyword “DOWHILE” dan “ENDDO”.
Contoh Bil = 0 DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO
Contoh Pseudocode
Algoritma Menggunakan KalkulatorMulai
Nyalakan kalkulatorKosongkan KalkulatorUlangi
Input hargaTekan tombol Plus (+)
Sampai semua harga diinputTampilkan total hargaMatikan kalkulator
Selesai
24
Contoh Pseudocode
Algoritma Berangkat Kuliah
MulaiBangun dari tempat tidurMandi PagiSarapan PagiPergi Ke KampusCari Ruang KuliahMasuk kelas untuk Kuliah
Selesai
25
Contoh Pseudocode
Algoritma Sarapan Pagi
MulaiAmbil piringMasukkan nasi dan lauk dalam piringAmbil sendok dan garpuUlangi
Angkat sendok dan garpuAmbil nasi dan laukSuapkan ke dalam mulutTaruh sendok dan garpuKunyah
Sampai (nasi dan lauk habis) ATAU kekenyanganBereskan piring, sendok dan garpu
Selesai
26
Flowchart
Terminator
Proses
Pemilihan
Input/Output
Dokumen
Pengulangan
Arah
Konektor antar halaman
Konektor
Pemanggilan Procedure
27
Contoh Flowchart
Start
d = b^2 – 4ac
d < 0
x1=(-b+sqrt(d))/2ax2 =(-b-sqrt(d))/2a
Stop
Y
T
Masukkana,b,c
Cetak x1,x2
Cetak Pesan“Akar imajiner”
28
Kriteria algoritma yang baik
Mempunyai logika yang tepat untuk memecahkanmasalah.
Menghasilkan keluaran yang benar dalam waktu yang singkat.
Ditulis dengan bahasa baku terstruktur sehingga tidakmenimbulkan arti ganda atau ambigu.
Ditulis dengan format baku sehingga mudahdiimplementasikan kedalam bahasa pemrograman.
Semua operasi didefinisikan dengan jelas dan berakhirsesudah sejumlah langkah.
29
Latihan
1. Buatlah algoritma menggunakan pseudocode untukmenghitung luas persegi panjang
2. Buatlah algoritma menggunakan pseudocode untukmengubah jam dan menit yang diinput ke dalam satuandetik.
3. Buatlah algoritma menggunakan pseudocode untukmenentukan apakah bilangan yang diinput adalahbilangan ganjil atau bilangan genap.
4. Buatlah algoritma menggunakan pseudocode untukmenghitung luas lingkaran.
5. Buatlah algoritma menggunakan pseudocode untukmenginput 3 buah bilangan, kemudian tentukan bilanganterbesar, terkecil dan rata-ratanya
30
Latihan
Ulangi latihan no. 1 s/d no. 5 diatas denganmenggunakan Flow Chart
31
32
Buatlah algoritma (pseudocode) untukmenampilkan karakter "#" dan "*" seperti format di bawah ini jika diberikan input bilangan bulat (n)
n=1 n=2# ##
** n=3 n=4### ####*** ****### ####
****
33
Buatlah algoritma (pseudocode) menampilkantulisan seperti format di bawah ini jika diberikaninput bilangan bulat (n)
n=3 n=21 2 3 4 5 1 2 3 4 52 3 4 5 6 2 3 4 5 63 4 5 6 7
n=41 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 8