Dokumen tersebut membahas konsep dasar algoritma, termasuk definisi, sejarah, persyaratan algoritma yang baik, contoh-contoh algoritma, dan cara menulis algoritma menggunakan bahasa alami, pseudocode, dan flowchart. Secara khusus, dokumen tersebut menjelaskan bahwa algoritma adalah urutan langkah sistematis untuk memecahkan masalah, dan merupakan komponen fundamental dalam pemrograman komputer.
2. Analogy
Jika seseorang ingin mengirim surat kepada kenalannya di
tempat lain, langkah apa yang harus dilakukan?
Steps :
Menulis Surat.
Surat dimasukan ke dalam amplop tertutup
Amplop diberikan alamat penerima dan pengirim
Amplop ditempeli prangko secukupnya
Kirim melalui kantor pos terdekat
3. HISTORY of ALGORITM
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa
al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala
(rules of restoration and reduction) sekitar tahun 825 M.
4. WHAT’S ALGORITM
1 Definitions
Urutan langkah-langkah untuk memecahkan masalah yang disusun
secara sistematis dan logis.
Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah.
2 Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-
langkah tertentu dalam menyelesaikan masalah.
5. WHY ALGORITM ?
Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun.
Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.
6. GOOD ALGORITM REQUIREMENT
Tingkat kepercayaannya tinggi (Reability)
Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
Pemrosesan yang efisien (Low Cost)
Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang
sependek mungkin.
Sifatnya general
Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi
juga untuk kasus lain yang lebih general.
7. GOOD ALGORITM REQUIREMENT (Cont.)
Bisa dikembangkan (expandable)
Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan
perubahan requirement yang ada.
Mudah dimengerti
Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah
dimengertinya suatu program akan membuat susah di-maintenance
(kelola).
Portabilitas yang tinggi (portability)
Bisa dengan mudah diimplementasikan di berbagai platform computer.
Precise (tepat, betul, teliti)
8. GOOD ALGORITM REQUIREMENT (Cont.)
Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses
yang akan menjalankannya.
Harus terminate
Jalannya algoritma harus ada kriteria berhenti.
Output yang dihasilkan tepat.
11. ALGORITM
Dalam bidang komputer, algoritma sangat diperlukan dalam
menyelesaikan berbagai masalah pemrograman, terutama dalam
komputasi numeris. Tanpa algoritma yang dirancang baik maka proses
pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Algoritma di butuhkan untuk memerintah komputer mengambil langkah-
langkah tertentu untuk menyelesaikan masalah
Algoritma Pemrograman Program
Agar algoritma dapat memerintah (diproses) komputer, maka dirubah
menjadi bentuk program (melalui proses pemrograman).
12. CHARACTERS OF ALGORITM
Algoritm Aspects :
Finite → algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas
Definite → setiap langkah didefinisikan secara tepat, tidak boleh
membingungkan (ambigu)
Input → sebuah algoritma memiliki satu/lebih input sebelum dijalankan
Output → algoritma memiliki satu/lebih output, yang biasanya bergantung
kepada input
Effective → setiap algoritma diharapkan memiliki sifat efektif. (setiap
langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu
yang masuk akal)
13. 1 Peran algoritma : fundamental (tidak ada algoritma tidak ada program).
2 Algoritma + struktur data = program
Struktur data :teknik/cara penyusunan/ penyimpanan data dalam komputer
“ memori seminim mungkin dan kecepatan eksekusi semaksimal mungkin”
ALGORITM ROLE
14. Problem Solving Stage
Masalah
Model
Algoritma
Program
Eksekusi
Hasil
Data
analisis
analisis
analisis
15. Suatu Algoritma yg terbaik (The Best):
“Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm
waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn
langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh
suatu solusi.“
16. WRITING ALGORITM
Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang .
Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh
orang yang belum tahu pemrograman
17. USE NATURAL LANGUAGE
Write an algorithm to perform addition of two number.
Step 1: read the first number say a
Step 2: read the second number say b
Step 3: add the two number and store the result in a variable c
Step 4: display the result
18. USE PSEUDOCODE
Algorithm sum(a, b)
//problem description: this algorithm perform addition of two //number
//input: two integers a and b
//output: addition of two integers
C
a+b
Write c
20. USING FLOWCHART (cont.)
Symbol Predefined Process (Simbol
untuk mempersiapkan penyimpanan
yang akan digunakan sebagai tempat
pengolahan di dalam storage)
Symbol Off-line Connector ( Simbol
untuk keluar/masuk prosedure atau
proses dalam lembar/halaman yang
lain)
Symbol Connector (Simbol untuk
keluar/masuk prosedur atau proses
dalam lembar/halaman yang sama)
22. Buatlah flowchart untuk menampilkan
semua bilangan kelipatan 7 dari 1 – 50
dengan menggunakan pengulangan do
while.
Deskripsi
x ← 7
Do
write (x)
x ← x+7
x : int
while (x<=49)