Anda di halaman 1dari 7

UNIVERSITAS GUNADARMA

PERENCANAAN DAN ANALISIS ALGORITMA

Disusun oleh :

Nama

NPM

Ade Reza Maulana


Faris Imam M
Muhammad Rizki Darmawan
Ryan Apriyansyah

50413150
53413255
55413170
58413145

Universitas Gunadarma
2015/2016

Algoritma
Definisi Algoritma
Algoritma berasal dari kata Algoris dan Ritmis, kata-kata tersebut berasal dari
seorang ahli matematika, Mohammed Ibn-Musa Al-Khawarizmi, yang merupakan
bagian dari royal court, Baghdad. Algoritma adalah sebuah prosedur yang terstruktur
dan dituliskan secara sistematis untuk menyelesaikan sebuah tugas, dimana
memberikan initial state (keadaan awal), dan akan terminate di akhir (end state)
dengan bantuan komputer.
Menurut Microsoft Press Computer and Internet Dictionary 1997,1998, definisi
algoritma adalah Urutan langkah logis tertentu untuk memecahkan suatu masalah.
Sedangkan dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh.
Sjukani, algoritma adalah Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis. Dari dua definisi diatas dapat disimpulkan bahwa
algoritma harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompatlompat, dan algoritma seseorang dengan yang lain dapat berbeda-beda karena
mempunyai alur pikir yang berbeda-beda pula, serta Algoritma dapat berupa kalimat,
gambar atau tabel tertentu.
Dalam matematika dan komputasi, algoritma atau algoritme, merupakan
kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat
diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat
berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal
yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu
berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda
dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau

memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya


selesai.

Jenis-Jenis Algoritma
Beberapa paradigma yang digunakan dalam menyusun suatu algoritma
akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan
dalam banyak algoritma yang berbeda, yaitu :

Divide and Conquer, paradigma untuk membagi suatu permasalahan


besar menjadi permasalahan-permasalahan yang lebih kecil.
Pembagian masalah ini dilakukan terus menerus sampai ditemukan
bagian masalah kecil yang mudah untuk dipecahkan.

Dynamic programming, paradigma pemrograman dinamik akan sesuai


jika digunakan pada suatu masalah yang mengandung sub-struktur
yang optimal, dan mengandung beberapa bagian permasalahan yang
tumpang tindih. Paradigma ini sekilas terlihat mirip dengan
paradigma Divide and Conquer, sama-sama mencoba untuk membagi
permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara
intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

Metode serakah, sebuah algoritma serakah mirip dengan


sebuah pemrograman dinamik, bedanya jawaban dari submasalah
tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan
"serakah" apa yang dilihat terbaik pada saat itu.

Kompleksitas bergantung pada

Ukuran input bergantung pada problem

Misalkan jumlah data yang diurutkan

Karakter lain dari input

Apakah data sudah terurut


Apakah ada lingkaran dalam grafik

Kompleksitas Algoritma
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak
komputasi yang dibutuhkan algoritma tersebut untuk mendapatkan hasil yang
diinginkan. Algoritma yang dapat memperoleh hasil yang diinginkan dalam waktu
yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang
membutuhkan waktu yang lama untuk memperoleh hasil tersebut mempunyai
kompleksitas yang tinggi.
Besaran yang dipakai untuk menerangkan model abstrak pengukuran
waktu/ruang ini adalah kompleksitas algoritma.
Ada dua macam kompleksitas algoritma,yaitu: kompleksitas waktu dan kompleksitas
ruang.
Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang dibutuhkan
untuk menjalankan algoritma sebagai fungsi dari ukuran masukan.
Kompleksitas ruang, S(n), diukur dari memori yang digunakan oleh struktur data
yang terdapat didalam algoritma sebagai fungsi dari ukuran masukann.
Dengan menggunakan besaran kompleksitas waktu/ruang algoritma, kita dapat
menentukan laju peningkatan waktu(ruang) yang diperlukan algoritma dengan
meningkatnya ukuran masukan.

Kompleksitas Waktu

Jumlahtahapankomputasidihitungdariberapakalisuatuoperasidilaksanakandidalam
sebuahalgoritmasebagaifungsiukuranmasukan(n)..

Didalamsebuahalgoritmaterdapatbermacamjenisoperasi:
Operasibaca/tulis
Operasiaritmetika(+,-,*,/)
Operasipengisiannilai(assignment)
Operasipengakasesanelemenlarik
Operasipemanggilanfungsi/prosedur
dll
Dalam praktek, kita hanya menghitung jumlah operasi khas(tipikal) yang mendasari
suatu algoritma.
Kompleksitas waktu dibedakan menjadi :

Worst-case : kompleksitas waktu untuk waktu terburuk (waktu tempuh bernilai


maksimum dari suatu fungsi f(n)) atau Tmax(n)

Best-case : kompleksitas waktu untuk waktu terbaik (kompleksitas waktu yang


bernilai minimum dari suatu fungsi f(n)) atau Tmin(n)

Average-case : kompleksitas waktu untuk kasus rata-rata

Notasi Asimptotic

Menggambarkan karakteristik/perilaku suatu algoritma pada batasan tertentu


(berupa suatu fungsi matematis)

Dituliskan dengan notasi matematis yg dikenal dgn notasi asymptotic

Notasi asymptotic dapat dituliskan dengan beberpa simbul berikut

Q, O, W, o, w

Didefinisikan untuk fungsi diatas nilai biasa

Contoh: f(n) = Q(n2).

Menggambarkan bagaimana fungsi f(n) tumbuh pd pembandingan untuk n2.

Mendefinisikan himpunan fungsi ;

Pada prakteknya untuk membandingan 2 ukuran fungsi.

Notasi menggambarkan perbedaan rate-of-growth hubungan antara definisi


fungsi dan definisi himpunan fungsi.

Metode Analisis
1. Asymptotic/theoretic/mathematic : berdasarkan pendekatan secara teori
atau atas dasar analisa secara matematik
2. Empirical/Practical/Empiris/Praktis : berdasarkan pendekatan praktis yang
biasanya didasarkan atas data-data yang telah ada atau data-data yang digenerete / dibangkitkan

Daftar Pustaka
bertzzie.com/...algoritma/KompleksitasAlgoritma.html

http://kuliahkusayang.blogspot.co.id/2010/03/kompleksitas-algoritma.html
http://www.academia.edu/9251323/Kompleksitas_Algoritma_Lanjut_Minggu_3
https://edwardivanfadli.wordpress.com/2013/10/19/pertemuan-3-algoritma-danfungsi-kompleksitas/

Anda mungkin juga menyukai