Monday, December 21, 2015

ALGORITMA

ALGORITMA

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.