Skip to content Skip to sidebar Skip to footer

Algoritma 1 Pendahuluan : Contoh Algoritma Dan Penjelasan

Algoritma 1 Pendahuluan : Contoh Algoritma Dan Penjelasan

Sejarah Algoritma :
Kata Algoritma diambil dari nama ilmuan muslim Abu Ja’far Muhammad bin Musa Al-Kharizmi (780-846 M) Profil Lengkap :

Nama            : Muḥammad bin Mūsā al-Khawārizmī
Dikenal         : Al Khawarizmi
Lahir             : Khwarezmia , Uzbekiztan, 780 M

Wafat            : Bagdad, Irak, 850 M

Asal              : Persia, Iran

Sumbangsih  : Aljabar, Angka Nol, Geometri


Apa Itu Algoritma ?

AlKhuwarizmi dibaca orang barat menjadi Algorism.Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.

Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

Algoritma disebut juga Jantung ilmu komputer atau informatika, Algoritma tidak selalu identik dengan ilmu komputer saja.

Dalam kehidupan sehari-hari banyak terdapat proses yang digambarkan dalam suatu algoritma Contoh : resep masakan (membuat kue atau makanan), membuat pakaian (pola pakaian),,merakit mobil (panduan merakit), dll.

Contoh Penerapan Algoritma dalam sehari-hari :

Dalam kehidupan sehari_hari kita banyak menemukan langkah_langkah pengerjaan sesuatu, meskipun kita tidak menyebutnya algoritma misalnya :

Resep membuat masakan.
Mengkatifkan vocher pulsa.
Panduan praktikum.
Menggunakan alat kerja dll.


Penulisan algoritma :
Tidak ada aturan yang baku untuk penulisan algoritma, pada umumnya penulisan algoritma dilakukan dengan 3 cara yaitu Deskriptif, flowchart dan Pseudocode.

Contoh Penulisan  Algoritma bertipe Deskriptif :
maksudnya adalah algoritma yang ditulis dengan bahasa manusia pada umumnya  (misalnya Bahasa Indonesia,Bahasa Inggris dan Dll ). Setiap Langkahnya ditulis dalam satu kalimat atau lebih. Contoh notasi deskriptif.

// Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan :

1. Ambil bilangan pertama dan set maks sama dengan bilangan pertama
2. Ambil bilangan kedua dan bandingkan dengan maks
3. Apabila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua
4. Ambil bilangan ketiga dan bandingkan dengan maks
5. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga
6. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya

Contoh Penulisan Algoritma  Bertipe Flowchart :
Algoritma ini di tulis dalam bentuk diagram dimana setiap simbol diagram mempunyai fungsinya masing masing. 

Penjelasan gambar diagram diatas adalah sebagai berikut :

1. Simbol terminal : dapat menandakan awal ( start ) atau akhir  (end ) dari bagian algoritma.

2. Proses : dimana data di assignment / dimasukan kesebuah variabel seperti gambar diatas  bilangan pertama akan di simpan didalam Maks.

3. Decision : merupakan simbol percabangan untuk menentukan pilihan. Gambar diatas menjelaskan proses pemilihan dimana jika nilai maks lebih kecil dari bilangan kedua, akan menghasilkan keputusan ( Yes / True ) maka nilai maks akan berganti nilai dengan bilangan kedua. Tetapi jika nilai maks lebih besar dari bilangan kedua akan menghasilkan keputusan ( No / False ) akan berlanjut keproses selanjutnya.
4. Decision : pada langkah ini akan di bandingkan lagi apakah nilai maks lebih kecil dari bilangan ketiga jika ( yes / true ) maka nilai maks akan beganti dengan nilai bilangan ketiga. Jika menghasilkan nilai ( No / False ) maka akan berlanjut ke proses selanjutnya.

5. Selesai dapat diakatakan akhir dari algoritma dapat anda lihat diatas simbol flowchart selesai ( end ) sama dengan simbol mulai ( start ) diawal. Pada simbol ini berarti telah didapat kesimpulan algrotiam berhenti dengan mendapatkan bilangan terbesar dari semua bilangan .

Fungsi simbol diagram flowchart :

Fungsi simbol diagram flowchart

Contoh Algoritma dengan Penulisan Pseudocode :
Pseudocode adalah penulisan kode yang hampir menyerupai kode program tetapi bukan kode program, Struktur Pseudocode terdiridari  tiga buah blok Judul, Deklarasi, Implementasi :

Judul
{Berisi Judul Algoritma}

Deklarasi
{Berisi Deklarasi Variabel atau Konstantan}

Implementasi / Algoritma
{Berisi Inti Algoritma}

Contoh pseudocode  :

{ Judul program menentukan bilangan dari tiga buah bilangan bulat }
Program penentuanbilangan

{ bagian ini digunakan untuk mengumumkan semua nama yang dipakai dalam algoritma tersebut }
Deklarasi

Bilangan pertama : int ;
Bilangan kedua : int ;
Bilangan ketiga : int ;
Maks : int ;

Algoritma
maks ← bilangan pertama
if (maks < bilangan kedua) then
maks ← bilangan kedua
else
if (maks < bilangan ketiga) then
else
maks ← bilangan ketiga

Note : untuk pembahasan penulisan pseudocode akan di bahas di artikel lain Klik Disini.

Contoh Kasus Algoritma dalam kehidupan sehari hari  :
Di pembahasan awal kita telah membahas bahwa algoritma kita gunakan dalamkehidupan sehari hari dan itu tanpa kita sadari seperti mengaktifkan voucher pulsa, masak air, menggunakan alat kerja ,  dll.

Dalam hal ini jika ada kasus seperti dibawah ini :

Misalkan ada seorang pedangan masih muda yang hendak menyeberangi sungai pemuda  ini membawa sayuran, se-ekor kambing dan  se-ekor Serigala dengan niat hendak menyeberangi sungai tetapi msalahnya dalah perahu hanya bisa membawa dua orang sekali seberang.

sisi sungai kita namakan A dan sisi sungai lainya kita namakan B. keadaanya awalnya, di sisi A ada pemuda (P), serigala (S), kambing (K), dan sayur (Y). Bagai mana cara seseorang dapat menyeberangi ?

Keadaan akhir yang kita inginkan adalah di sisi B ada pemuda (P), serigala (S), kambing (K), dan sayur (Y), dimana aturan nya perahu hanya bisa membawa dua orang.
Bagaimanakah meyelesaikanya masalah diatas.

Jawaban diatas kita gambarkan seperti ini agar lebih mudah :

algoritma penyelesaian pedagang


Penjelasan Langkah Diatas :

Langkah ke 1 :
Pemuda akan membawa kambing ( K ), menyeberangi terlebih dahulu, karena Serigala (S ), tidak akan memakan sayuran .

Langkah ke 2 :
Pemuda balik ke sisi A sendirian dengan meninggalkan kambing di sisi B.

Langkah ke 3 :
Pemuda membawa sayuran (Y) ke titik B.

Langkah ke 4 :
Pemuda membawa kambing ( K ), ke titik A karena jika meninggalkan sayuran dengan kambing maka kambing akan memakan sayuranya.

Langkah ke 5 :
Setelah pemuda sampai ketitik A. maka dia akan meninggalkan kambing dititk A dan membawa serigala ke titik B. di langkah ini S, Y ada di titik B.

Langkah ke 6 :
Pemuda kembali sendirian ke titik  A,

Langkah ke 7 :
Pemuda membawa kambing dari titik A ke titik B maka dapat dikatakan in adalah langkah akhir dimana semuanya telah berpindah dari titik A ke titik B.


Ciri-ciri Algoritma Yang baik :
1. Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan
2. Flexible dan portable:
Flexible untuk dikembangkan lebih lanjut
Portable untuk digunakan pada berbagai sistem dan mesin
3. Bersih  dari kesalahan sistem ataupun logic.
4. Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu  yang masuk akal.
5. Murah.
6. Didokumentasikan dengan baik untuk pengoperasian, pemeliharaan dan pengembangan.
7. Algoritma pemberian (description) pelaksanaan suatu proses.
8. Tidak ambiguous : tidak bermakna ganda.
9. Harus berhenti setelah mengerjakan sejumlah langkah terbatas.

Aspek Penting Algoritma :
1. Finiteness
         Algoritma harus berhenti after a finite number of steps
2. Definiteness
         Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)
3. Input
         Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum                    dijalankan 
4. Output
        Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input
5. Effectiveness
        Setiap algoritma diharapkan miliki sifat efektif