Algoritma dan Struktur Data 1 pertemuan 1

advertisement
Algoritma dan Struktur Data 1
pertemuan 1
M. Fakhrurrifqi, S.Kom, M. Cs.
Algoritma, Struktur Data dan Program
Komputer
• Algoritma merupakan tahapan-tahapan yang
sistematis tentang jalannya suatu program dari
awal sampai akhir.
• Struktur data adalah cara penyimpanan,
penyusunan dan pengaturan data di dalam media
penyimpanan komputer sehingga data tersebut
dapat digunakan secara efisien.
• Program komputer merupakan serangkaian
instruksi yang ditulis untuk melakukan suatu
fungsi spesifik pada komputer.
Kriteria Algoritma (Donald E. Knuth)
• Input: algoritma dapat memiliki nol atau lebih inputan
dari luar.
• Output: algoritma harus memiliki minimal satu buah
output keluaran.
• Definiteness (pasti): algoritma memiliki instruksiinstruksi yang jelas dan tidak ambigu.
• Finiteness (ada batas): algoritma harus memiliki titik
berhenti (stopping role).
• Effectiveness (tepat dan efisien): algoritma sebisa
mungkin harus dapat dilaksanakan dan efektif. Contoh
instruksi yang tidak efektif adalah: A = A + 0 atau A = A
*1
Algoritma pemrograman yang baik
memiliki ciri-ciri :
•
•
•
•
Tepat, benar,sederhana,standar dan efektif
Logis, terstruktur dan sistematis
Semua operasi terdefinisi
Semua proses harus berakhir setelah sejumlah
langkah dilakukan
• Ditulis dengan bahasa yang standar dengan
format pemrograman agar mudah untuk
diimplementasikan dan tidak menimbulkan
arti ganda.
Contoh 1 :
Algoritma menghitung luas persegi
panjang
1.
2.
3.
4.
Masukkan panjang (P)
Masukkan lebar (L)
L←P*L
Tulis L
Contoh 2 : Algoritma mencari bilangan
terbesar dari dua bilangan yang
diinputkan
1.
2.
3.
4.
5.
Masukkan bilangan pertama (a)
Masukkan bilangan kedua (b)
if a > b then kerjakan langkah 4
print a
print b
Latihan
• Buatlah algoritma untuk menjumlahkan dua
bilangan
• Buatlah algoritma untuk menghitung luas
lingkaran
Tahapan Penyelesaian Masalah
Tahapan Detail Penyelesaian
Masalah
Teknik Penyajian Algoritma
• Simbol Instruksi
Simbol
Instruksi

Assignment, nilai di sebelah kanan diberikan pada operand di sebelah kiri
>
Lebih besar dari
<
Lebih kecil dari
.
Kalikan
+
Tambahkan
-
Dikurangi
/
Dibagi
Teknik Penyajian Algoritma
No
• Flowchart
1
Simbol
Nama Simbol
Terminal
Keterangan
simbol yang digunakan untuk
menyatakan awal atau akhir suatu
program
2
Input/Output
simbol yang digunakan untuk
menunjukkan
operasi
masukan
atau keluaran
3
Proses
simbol yang digunakan untuk
menggambarkan
proses
pengolahan data
4
Keputusan
simbol yang digunakan untuk
menyatakan
suatu
pilihan
berdasarkan suatu kondisi tertentu
5
persiapan (Preparation) simbol
yang
digunakan
untuk
memberikan nilai awal pada suatu
variabel atau pencacah
Teknik Penyajian Algoritma
No
• Flowchart
6
Simbol
Nama Simbol
proses
(predefined
Keterangan
terdefinisi simbol yang digunakan untuk
process proses yang detilnya dijelaskan
symbol)
terpisah,
misal
dalam
bentuk
subroutine
7
Penghubung
halaman lain
ke simbol yang digunakan untuk
menghubungkan bagian diagram
alir pada halaman yang berbeda
8
Penghubung
halaman yang sama
ke simbol yang digunakan untuk
menghubungkan bagian diagram
alir pada halaman yang sama
9
Arah aliran
simbol yang digunakan untuk
menunjukkan arah aliran proses
10
Annotation simbol
simbol yang digunakan untuk
memberikan
keterangan-
keterangan untuk memperjelas
simbol-simbol lain
Teknik Penyajian Algoritma
• Contoh Flowchart
Teknik Penyajian Algoritma
• Pseudocode
Pseudocode sering digunakan dalam buku-buku tentang ilmu
komputer ataupun publikasi ilmiah untuk menjelaskan urutan
proses atau metode tertentu.
pseudocode
C++
if sales > 1000 then
int sales;
bonus sales * 25%
sales=1001;
salary  2000000 + bonus
if (sales > 1000)
endif
{ bonus = sales * 0.25;
output(salary)
salary = 2000 + bonus; }
cout << "Salary : "<<salary;
Latihan
• Buat Algoritma yang disajikan dengan teknik
penyajian Algoritma Flowchart dan
Pseudocode
– algoritma untuk menjumlahkan dua bilangan
– algoritma untuk menghitung luas lingkaran
Download