Anda di halaman 1dari 14

ALGORITMA PEMROGRAMAN .

I
Chapter . 2

Dosen Pengampu
SHERLY AGUSTINI,S.KOM, M.KOM
Sejarah
Muḥammad Bin Mūsā Al-khwārizmī Al-majousi Al Katarbali (bahasa Persia:‫)محمد بــــنمـوسىاــلخوارزـمـي‬
adalah Ilmuwan Islam Yang Merupakan seorang ahli dalam bidang matematika, astronomi, astrologi,
dan geografi yang berasal dari Kufah, Irak.

Lahir sekitar tahun 780 di Khwarezmia (sekarang Khiva, Uzbekistan) dan wafat sekitar tahun 850 di
Bagdad.

Hampir sepanjang hidupnya, ia bekerja sebagai dosen di Sekolah Kehormatan di Bagdad yang
didirikan oleh Khalifah Bani Abbasiyah Ma'mun Ar-Rasyid, tempat ia belajar ilmu alam, matematik,
terjemahan naskah Sanskerta dan Yunani.

Karya :
Karya terbesarnya adalah membentuk pola sistematik dari model matematika, astronomi, astrologi,
geografi, kartografi, sebagai fondasi awal dan kemudian lebih inovatif dalam pengembangan model
aljabar, trigonometri, dan pada bidang lain yang dia tekuni.
Pengertian Algoritma

Menurut Abu ja’far Muhammad Ibnu Musa Al-Kwarizmi Defini algoritma adalah suatu
metode khusus untuk Menyelesaikan suatu Persoalan atau Permasalahan.

Menurut Donald Elvin Knuth merupakan sekumpulan aturan-aturan berhingga yang


memberikan sederetan operasi untuk Menyelesaikan Masalah.

Menurut Rinaldi Munir Algoritma adalah sebuah bentuk ururtan langkah-langkah yang logis
untuk membantu seseorang dalam Menyelesaikan Masalah yang sedang dijalaninya.

Jadi dapat dijelaskan kembali Algoritma adalah sebuah bentuk urutan, langkah-langkah
atau tahapan yang digunakan dalam menyelesaikan suatu Permasalahan dengan
mengurutkannya secara Sistematis dan Logis.
Ciri – ciri Algoritma
Keterbasan
Algoritma memiliki keterbatasan, berarti algoritma harus berakhir setelah mengerjakan sejumlah proses.
Program yang tidak pernah berhenti atau tidak ada batasannya merupakan program dengan algoritma
yang salah. Itulah sebabnya algoritma harus mempunyai ciri keterbatasan.

Masukan
Algoritma memiliki masukan, algoritma dapat memiliki nol atau lebih masukan. Masukan adalah besaran
nilai yang diberikan kepada sebuah program sebelum melaksanakan sebuah proses.

Keluaran
Algoritma memiliki luaran, perlu diketahui bahwa algoritma mempunyai nol atau lebih luaran. Keluaran
adalah besaran nilai yang memiliki hubungan dengan masukan. Keluaran tersebut tentunya harus berupa
solusi atau penyelesaian dari suatu permasalahan.

Contoh: saat ia diberi input A=1 dan B=3 maka proses penjumlahannya yang dihasilkan adalah 4.
Ciri – ciri Algoritma
Kepastian
Algoritma harus memiliki kepastian, hal ini merupakan sebuah urutan langkah - langkah dalam
menyelesaikan permasalahan yang dibuat harus sesuai dengan tujuan.

Keefektivitasan
Algoritma harus efektif, algoritma tentu harus dikerjakan dalam waktu yang wajar. Dengan kata lain
setiap urutan atau langkah harus didesain sesederhana mungkin, sehingga dapat dikerjakan dengan
waktu yang relatif singkat.

Terstruktur
Algoritma harus terstruktur; urutan baris langkah yang digunakan harus disusun secara sistematis.
Disusun sedemikian rupa agar proses penyelesaian tidak kemana-mana atau berbelit-belit, sehingga
memungkinkan prosesnya jadi relatif lebih singkat dan mempu menyelesaikan permasalahan yang
diharapkan.
Komponen Algoritma

Berikut adalah beberapa komponen yang harus diketahui dalam algoritma:


1. Masalah yang harus diselesaikan.
2. Input untuk menyelesaikan tugas atau masalah.
3. Output yang diharapkan.
4. Kendala yang mungkin muncul saat ingin melakukan tugas atau menyelesaikan masalah.
5. Solusi masalah atau tugas jika ada kendala
Fungsi Algoritma

• Dapat membantu menyederhanakan suatu program yang rumit dan juga besar.
• Dapat digunakan berulang kali dalam menyelesaikan suatu permasalahan.
• Dapat Membantu menyelesaikan suatu masalah dengan logika secara sistematis.
• Dapat meminimalisir penulisan program secara berulang-ulang.
• Dapat melakukan pendekatan top-down dan divide and conquer.
• Dapat membuat program lebih rapi dan juga terstruktur.
• Dapat Mempermudah proses modifikasi pada suatu program karena bisa dilakukan hanya
pada satu modul saja tanpa merubah modul yang lainnya lagi.
• Dapat membantu menemukan kesalahan karena alur kerjanya jelas.
• Dapat Mempermudah berbagai proses dokumentasi.
Kelebihan dan Kekurangan Algoritma

Kelebihan Algoritma
• Sangat mudah dipahami.
• Menunjukan langkah-langkah problem-solving dengan jelas.
• Langkah-langkah yang singkat dan jelas memudahkan developer
mengubahnya ke program.

Kekurangan algoritma diantaranya sebagai berikut :


• Membutuhkan waktu untuk menulisnya.
• Branching dan looping akan sulit terlhat.
Jenis – jenis Algoritma Berdasarkan Fungsinya

Algoritma Rekursif
Algoritma rekursif adalah suatu Teknik cara pembuatan algoritma dengan pemanggilan procedure atau function
yang sama yang akan memanggil dirinya sendiri secara berulang-ulang agar masalahnya bisa diselesaikan
dengan baik.

Algoritma Divide and Conquer


Algoritma Divide and conquer ini merupakan sebuah algoritma yang membagi permasalahan menjadi beberapa
bagian yang lebih kecil kemudian menggabungkannya sehingga menjadi sebuah solusi.

Algoritma Dynamic Programming 


adalah suatu metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah
(step) atau tahapan (stage) sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang
saling berkaitan.

Algoritma Greedy
merupakan jenis algoritma yang menggunakan pendekatan penyelesaian masalah dengan mencari nilai
maksimum dari setiap langkahnya. 

Algoritma Brute Force


algoritma yang melakukan pencocokan karakter dari sebelah kiri ke kesebelah kanan dan jika antara pattern
dan teks terdapat kecocokan (match) maka algoritma akan menghasilkan nilai true.
Jenis – jenis Algoritma Berdasarkan Fungsinya

Algoritma Backtracking
Backtracking adalah suatu teknik yang mampu memecahkan berbagai masalah secara rekursif dan
mencobanya agar bisa memperoleh solusi dengan cara menyelesaikan suatu bagian masalah di waktu yang
bersamaan.

Tugas :

Jelaskan kembali tentang :


-Algoritma Rekursi
-Algoritma Divide and Conquer
-Algoritma Dynamic Programming
-Algoritma Greedy
-Algoritma Brute Force
-Algoritma Backtracking

Lengkap dengan contoh, minimal masing-masing pembahasan 3 Contoh penyelesaian masalah.

Dengan ketentuan khusus:


- Masing – masing pembahasan minimal 10 Halaman A4.
Contoh Algoritma

Untuk lebih mudah memahami arti dari Algoritma; kita akan contohkan kedalam sebuah permasalahan

Penukaran isi gelas yang berbeda jenis. Diberikan dua buah gelas A dan B, gelas A berisi air Teh dan
gelas B berisi air Kopi. Tukarkan isi gelas tersebut sehingga menghasilkan gelas A yang semula berisi air
Teh menjadi berisi air Kopi dan gelas B yang semula berisi air Kopi menjadi berisi air Teh.
Ilustrasi permasalahan ini dapat dilihat pada Gambar dibawah ini :

? Penyelesaian Masalah ...........


Contoh II - Logika dan Algoritma

Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi gelas dengan
benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai tempat penampungan
sementara. Berikut Algoritmanya:
Kesimpulan

Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah
gelas sangat sederhana. Disini digunakan urutan langkah yang masuk rasional atau logis
sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Inilah yang
dinamakan “Algoritma”
SELESAI

Anda mungkin juga menyukai