Sejarah Algoritma
Abu ja’far Mohammed Ibnu Musa Al-khowarizmi
(matematikawan, ahli
astronomi, dan ahli
geografi dari
Persia.)
Kitab : Al jabr w’al-muqabala (rules of restoration
and reducation) 825
M
Algorism Algorithm Algortima
Algoritma
Algoritma adalah urutan langakah-langkah logis
penyelesaian masalah yang disusun secara
sistematis dan logis
Algoritma harus logis dan dapat ditentukan nilai
kebenarannya benar atau salah
Aaspek Penting Algoritma
Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas
Setiap langkah harus didefinisikan secara tepat
dan tidak berarti dua
Sebuah algoritma memiliki nol / lebih input
sebelum dijalankan
Algoritma memiliki satu / lebih output
Setiap Algoritma diharapkan memiliki sifat efektif
(setiap langkah harus sederhana dan sehingga
dapat dikerjakan dalam waktu yang masuk akal)
Notasi Algoritma
1. Notasi Algoritma bahasa natural
2. Notasi Algoritma dengan pseudocode
3. Notasi Algoritma dengan flowchart
Langkah” Membentuk Algoritma
1. Sequence Process
instruksi dikerjakan secara
berurutan satu persatu dimulai dari langkah
pertama sampai terakhir
2. Selection Process instruksi pemilihan proses
(percabangan) sehingga apabila memenuhi
persyaratan trtentu maka instruksi akan
dikerjakan
3. Iteration Process instruksi yang dikerjakan
berulang-ulang selama beberapa kali selama
masih memenuhi suatu kondisi
4. Concurence Process instruksi yang di
dalamnya meliputi ketiga proses diatas
Notasi Algoritma Bahasa Natural
Dengan notasi ini, deskripsi setiap langkah
dihelaskan dengan bahasa yang jelas, notasi ini
cocok untuk algoritma yang pendek, namun
untuk masalah yang algoritmanya besar, notasi ini
jelas tidak efektif
Pengkoncersian notasi algoritma ke notasi bahasa
pemograman cenderung lebih relatif sukar
Notasi Algoritma Bahasa Natural
Contoh :
ALGORITMA MEMBUAT ROTI KEJU
1. Mulai
2. Siapkan Roti
3. Siapkan Keju
4. Lalu oleskan keju pada roti
5. Jadilah roti keju
6. Selesai
Notasi Algoritma Bahasa Natural
Contoh :
Algoritma Bilangan Maksimum
(diberikan 3 buah bilangan bulat, carilah bilangan bulat
maksimum diantara ketiga bilangan tersebut)
1. Baca bilangan ke-1
2. Baca bilangan ke-2
3. Bandingkan bilangan ke-1
dan bilangan ke-2, kita
ambil yang lebih besar, jika kedua bilangan tersebut
sama besar, dapat kita ambil bilangan ke-1, dan
sebut bilangan tersebut MAX
4. Baca bilangan ke-3
5. Bandingkan MAX
dengan bilangan ke-3, dan pilih
yang lebih besar, jika keduanya sama besar, pilih MAx
dan sebut bilangan tersebut MAX
6. Keluarkan sebagai output MAX
Algoritma
Misalkan ada 2 buah ember yang berisi air (larutan)
yang berwarna, sebut ember A dan ember B, ember
A berisi air yang berwarna merah dan ember b berisi
air berwarna hijau. Volume air air di dalam kedua
ember sama. Bagaimanak mempertukarkan isi
kedua ember itu sedemikan sehingga nantinya
ember A akan berisi air berwarna hijau dan ember B
berisi air bewarna merah
Ember A Ember B
Algoritma
Apakah Bisa langasung menukarkan kedua isi
tersebut ????
TIDAK
Solusinya .... Tambahkan 1 ember kosong lagi (diberi
nama ember C)
Ember A Ember B Ember C
Algoritma
Algoritma mempertukarkan isi 2 buah ember, A dan
B:
1. Tuangkan air dari ember A ke ember C
2. Tuangkan air dari ember B ke dalam ember A
3. Tuangkan air dari ember C ke dalam ember B
Algoritma
Algoritma mempertukarkan isi 2 buah ember, A dan
B:
Keadaan awal sebelum pertukan
1. Tuangkan air dari ember A ke ember C
2. Tuangkan air dari ember B ke dalam ember A
3. Tuangkan air dari ember C ke dalam ember B
LATIHAN
Buatlah Algoritma dengan bahasa natural untuk
mengirim surat kepada teman yang berbeda
lokasinya dengan anda
Notasi Algoritma dengan PSEUDO-CODE
Pseudocode adalah notasi yang menyerupai
bahasa pemrograman tingkat tinggi
Keuntungan menggunakan notasi pseudo code
adalah kemudahan mengkonversi ke notasi
bahasa pemrograman, karena terdapat
korespondensi antara setiap pseudo code
dengan notasi bahasa pemrograman
HEADER
Judul algoritma adalah bagian yang terdiri atas
nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut
Contoh :
Algoritma Luas Persegi Panjang
{
Menghitung luas persegi panjang untuk panjang
dan lebar tertentu.
Algoritma menerima masukan panjang dan lebar,
menghitung luasnya, lalu cetak luasnya
}
DEKLARASI
Bagian untuk mendefinisikan semua nama yang
dipakai di dalam algoritma.
Nama tersebut dapat berupa nama terapan, nama
peubah, nama tipe, nama prosedur dan nama
fungsi.
Contoh :
Panjang = integer {tipe data bilangan bulat}
Lebar = integer
Luas = real / float {tipe data bilangan pecahan}
DESKRIPSI
Deskripsi adalah bagian terpenting dari struktur
algoritma.
Bagian ini berisi uraian langkah-langkah
penyelesaian masalah
langkah-langkah dituliskan dengan notasi yang
lazim dalam penulisan algoritma
Setiap langkah algoritma dibaca dari langkah
paling atas hinffa langkah paling bawah. #urutan
penulisan menentukan urutakan pelaksanaan
perintah
DESKRIPSI
Contoh :
Read (panjang)
Read (lebar)
Luas panajng * lebar
Write (luas)
Contoh Algoritma Pseudocode
Contoh Algoritma Pseudocode untuk mencari luas
persegi panjang
Header :
Algoritma Luas Persegi Panjang
{
Menghitung luas persegi panjang untuk panjang dan
lebar tertentu.
Algoritma menerima masukan panjang dan lebar,
menghitung luasnya, lalu cetak luasnya
}
Deklarasi :
Panjang = integer ; Lebar = integer ; Luas = real;
Deskripsi :
Read (panjang)
Read (lebar)
Luas panajng * lebar
Write (luas)
Terimakasih.. Saya juga masih belajar.