BAB 1
PENDAHULUAN
1.1 Latar Belakang
Algoritma merupakan suatu langkah kerja/urutan langkah kerja yang logis
dan tepat untuk memecahkan suatu masalah, atau dalam ilmu komputer algoritma
merupakan suatu konsep dasar dari sebuah program yang dimana dalam pembuatannya
di perlukan daya nalar dan pikir yang baik maupun logis.
Kata algoritma sendiri berasal dari bahasa arab yaitu dari kata algorism
yang berarti proses menghitung dengan angka arab.
Setiap bidang memiliki permasalahannya sendiri dan membutuhkan algoritma
yang efisien. Masalah yang berkaitan di satu bidang terkadang dipelajari
bersama. Beberapa contoh yaitu algoritma pencarian, algoritma penggabungan, algoritma
numerik, algoritma grafik, algoritma deret, algoritma komputasi
geometri, algoritma kombinatorial, algoritmas medis, mesin belajar, kriptografi,
algoritma kompresi
data dan teknik penguraian.
Terkadang
bidang-bidang tersebut saling tumpang tindih, dan perkembangan algoritma di
satu bidang bisa meningkatkan bidang lainnya yang terkadang malah tidak saling berkaitan.
Algoritma menyelesaikan masalah tanpa memberatkan bagian lain
dari aplikasi. Sebuah algoritma yang tidak efisien akan menggunakan sumber daya
(memori, CPU) yang besar dan memberatkan aplikasi yang mengimplementasikan
algoritma tersebut.
1.2 Batasan Materi
Apa Itu Efisiensi Algoritma ?
Apa Faktor Yang Mempengaruhi Efisiensi Algoritma ?
Apa Itu Kompleksitas Algoritma ?
Penyelesaian Masalah Dengan Efisiensi Algoritma
BAB 2
PEMBAHASAN
2.1 Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma
yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu
dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau
dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati
kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari
untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi
dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang
lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang
lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma
cenderung tergantung pada jumlah input yang diproses.
Running
time dari sebuah algoritma adalah fungsi dari jumlah
inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input
yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya
input yang diberikan.
2.2 Faktor Yang Mempengaruhi Efisiensi Algoritma
2.2.1 Kecepatan
a.
Banyak
Langkah
Makin banyak langkah
atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama
waktu tempuh yang dibutuhkan dalam proses tersebut.
Banyak langkah dalam
suatu algoritma dinyatakan dengan banyaknya operasi aritmatika dan logika yang
dilakukan. Dengan demikian hal ini
bergantung pada statement dan jenis algoritma :
·
Sequensial
Statement s1 dengan banyak langkah n(s1)
Statement s2 dengan banyak langkah n(s2)
banyak
langkah = n(s1) + n(s2)
Built in subroutine call mempunyai waktu
tempuh 1
sin (x) →
1 operasi
sin (x*pi/1000)→ 3 operasi 2.2.1 Kecepatan
Selengkapnya presentasi dapat diunduh disini
0 comments:
Post a Comment