Pemrograman Dasar
description
Transcript of Pemrograman Dasar
Algoritma
Diambil dari nama ilmuwan asal Persia Al Khawarizmi (Abu Abdallah Muhammad ibn Musa Al Khawarizmi) Al Khawarizmi: On Calculation with Hindu–Arabic numeral
system, 825M Tulisan di atas awalnya berbahasa Arab, lalu diterjemahkan
ke Latin. Al Khawarizmi menjadi Algoritmi. Berkembang menjadi “algorismus”, yang berarti sistem
bilangan desimal. Dalam bahasa Perancis di abad ke-17, algorismus menjadi
“algorithm”, kemudian diadopsi dalam bahasa Inggris dengan nama sama.
Mulai abad ke-19 istilah ini mulai memiliki arti yang agak berbeda (lihat halaman selanjutnya).
Pengantar Algoritma - PTIIK UB 2012 2
Algoritma
Komputer(Keluaran/Output)
Problem
Algoritma
Data yg diolah
(Masukan/Input)
Data hasil olahan
Pengantar Algoritma - PTIIK UB 2012
Algoritma adalah sekumpulan instruksi atau langkah-langkah yang jelas (unambiguous) dan terbatas untuk mencari solusi suatu masalah.
Untuk mendapatkan keluaran yang dibutuhkan dari masukan yang sah dalam waktu yang terbatasAlgoritma sebenarnya cara, bukan hasil atau solusi
3
Algoritma
Di pemrograman komputer, algoritma diimplementasikan ke dalam program komputer, yaitu: satu set instruksi atau langkah-langkah yang dijalankan
dengan komputer untuk menyelesaikan suatu masalah.
Pengantar Algoritma - PTIIK UB 2012 4
Pemodelan Komputer Sederhana
5
Pengolah Data (Processor)
(berbasis Aritmetika dan Logika)
(Keluaran/Output)
COMPUTER TO – COMPUTE + ER
menghitung/mengolah bilangan
mengolah data
Data yg diolah
(Masukan/Input)
Data hasil olahan
Pengantar Algoritma - PTIIK UB 2012
Penyimpanan Data (Storage, e.g. memory)
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012 6
MASALAH / IDE
PEMECAHAN SOLUSI / HASIL
Algoritma Source Code
Executable Code
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012 7
DEFINISI MASALAH
BUAT MODEL
RANCANG ALGORITMA TULIS PROGRAM
COMPILE
Compile Error
Executable code: => Run
Runtime Error
DOKUMENTASI
Y
Y
T
T
Pengantar Algoritma - PTIIK UB 2012 8
DEFINISI MASALAH
BUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Masalah:Menentukan akar-akar dari suatu persamaan kuadrat.
Definisi:Persamaan kuadrat : ax2 + bx + c = 0
Data yg diperlukan :Nilai dari a, b dan c : tipe bilangan real
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012 9
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Model Matematika :
Rumus ABC
x1 = (-b + sqrt(b2 - 4ac))/2a
x2 = (-b – sqrt(b2 - 4ac))/2a
Tahap Pengembangan Algoritma
1010
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
Start
d = b2 – 4ac
d < 0
Masukkan a,b,c
x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a
Stop
YT
Cetak: x1, x2
Cetak: “Akar imajiner”
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
11
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
12
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
13
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
14
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
15
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
16
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code: => Run
Error
DOKUMENTASI
Tahap Pengembangan Algoritma
Pengantar Algoritma - PTIIK UB 2012
Penyajian Algoritma
Algoritma dapat diekspresikan dalam bentuk: Tulisan, mis.: structured English, pseudocode,
notasi lain Gambar, mis.: flow chart, activity diagram
Pengantar Algoritma - PTIIK UB 2012 17
Kode atau bahasa informal yang digunakan untuk mendeskripsikan algoritma atau operasi-operasi dari sebuah program komputer
Biasanya menggunakan bahasa yang dekat dengan sebuah bahasa pemrograman
Ditulis dalam bahasa natural sederhana (mis. Inggris atau Indonesia) atau bahasa matematika
Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)
18
Pseudocode
Pengantar Algoritma - PTIIK UB 2012
Algoritma Berangkat Kuliah
MulaiBangun dari Tempat TidurSholat/Doa PagiMandi PagiSarapan PagiPergi Ke KampusCari Ruang KuliahMasuk Kelas Mengikuti Kuliah
Selesai
19
Contoh pseudocode
Pengantar Algoritma - PTIIK UB 2012
20
Contoh pseudocode
Pengantar Algoritma - PTIIK UB 2012
Algoritma Berangkat Kuliah 2
MulaiBangun dari Tempat TidurSholat/Doa PagiJika waktu persiapan masih ada Mandi Pagi Sarapan PagiPergi Ke KampusCari Ruang KuliahMasuk Kelas Mengikuti Kuliah
Selesai
21
Contoh pseudocode
Pengantar Algoritma - PTIIK UB 2012
Algoritma Berangkat Kuliah 3
MulaiBangun dari Tempat TidurSholat/Doa PagiJika Hari ini adalah hari libur Tidur lagitetapi jika Hari ini bukan hari libur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk Kelas Mengikuti Kuliah
Selesai
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 kekenyangan Bereskan piring, sendok dan garpu
Selesai
22
Contoh pseudocode
Pengantar Algoritma - PTIIK UB 2012
Algoritma Menggunakan KalkulatorMulai
Nyalakan kalkulatorKosongkan memori kalkulatorUlangi
Input hargaTekan tombol Plus (+)
Sampai semua harga diinputTampilkan total hargaMatikan kalkulator
Selesai
23
Contoh pseudocode
Pengantar Algoritma - PTIIK UB 2012
24
Terminator
Proses
Pemilihan
Input/Output
Dokumen
Pengulangan
Arah
Konektor antar halaman
Konektor
Pemanggilan Procedure
Diagram Alir (Flow Chart)
Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 25
Start
d = b2 – 4ac
d < 0
x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a
Stop
Y
T
Masukkan a,b,c
Cetak x1,x2
Cetak Pesan “Akar imajiner”
Contoh Diagram Alir
Correctness (kebenaran) Menghasilkan keluaran yang benar untuk masukan yang valid
dalam waktu yang terbatas Mempunyai logika yang benar untuk memecahkan masalah.
Simplicity (kesederhanaan) Mudah dipahami, mudah diprogram
“Indah”
Efficiency (efisiensi) Time efficiency (efisiensi waktu): seberapa cepat
Space efficency (efisiensi ruang): seberapa banyak memori yang dibutuhkan
26
Kriteria algoritma yang baik
Pengantar Algoritma - PTIIK UB 2012
Generality (keumuman) Lain-lain
– Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu, dan mudah diimplementasikan kedalam bahasa pemrograman.
27
Kriteria algoritma yang baik
Pengantar Algoritma - PTIIK UB 2012
Ubahlah algortima yang tertulis dalam pseudocode pada contoh-contoh di slides kuliah Pengantar Algortima ini ke dalam diagram alir (flowchart). Algoritma tersebut:
– Algoritma berangkat kuliah
– Algoritma berangkat kuliah 2
– Algoritma berangkat kuliah 3
– Algoritma sarapan pagi
– Algoritma menggunakan kalkulator
Tuliskan identitas nama, NIM, dan kelas Anda pada lembar pekerjaan
Gunakan kertas A4 dan tulisan tangan Kumpulkan pada kuliah Pemrograman Dasar hari Senin 10
September 2012
28
PR
Pengantar Algoritma - PTIIK UB 2012