Anda di halaman 1dari 17

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 instruksi-
instruksi 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. Masukkan panjang (P)
2. Masukkan lebar (L)
3. L←P*L
4. Tulis L
Contoh 2 : Algoritma mencari bilangan
terbesar dari dua bilangan yang
diinputkan
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
Latihan
• Buatlah algoritma untuk menjumlahkan dua
bilangan
• Buatlah algoritma untuk menghitung luas
lingkaran
Latihan
• Terdapat 9 batu dengan bentuk, warna dan
ukuran yang sama.
• Setiap batu diberi nomor 1-9.
• Jika 8 batu memiliki berat yang sama dan 1
memiliki berat yang berbeda (bisa lebih
berat/lebih ringan) dari pada batu lain, buatlah
algoritma untuk menemukan 1 batu yang
memiliki berat berbeda tersebut.
• Selanjutnya, hitung berapa kali timbangan
dilakukan untuk kemungkinan terbanyak.
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 Simbol Nama Simbol Keterangan

1 Terminal simbol yang digunakan untuk


• Flowchart 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 Simbol Nama Simbol Keterangan

6 proses terdefinisi simbol yang digunakan untuk


• Flowchart (predefined process proses yang detilnya dijelaskan
symbol) terpisah, misal dalam bentuk
subroutine

7 Penghubung ke simbol yang digunakan untuk


halaman lain menghubungkan bagian diagram
alir pada halaman yang berbeda

8 Penghubung ke simbol yang digunakan untuk


halaman yang sama 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
Coba tebak

Anda mungkin juga menyukai