Nama : Nova Christiana
NPM : 24219819
Kelas : 1EB18
Mata kuliah : Pengantar Komputer &TI 2A
- Jelaskan
mengapa dalam pemrograman diawali dengan pembuatan algoritma?
- Apa
kelebihan dan kekurangan dalam menggunakan algoritma?
Jawaban :
1.
Algoritma adalah urutan langkah -
langkah logis untuk penyelesaian masalah yang disusun secara sistematis. Kata
logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma
harus logis dan harus dapat ditentukan bernilai salah atau benar. Melaksanakan
Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Algoritma dalam
pemrograman dapat diibaratkan sebagai resep saat kita memasak suatu makanan
sehingga hasil masakan tersebut juga sesuai dengan keinginan, jadi
Algoritma ini menggambarkan langkah-langkah
yang dibutuhkan komputer untuk memecahkan suatu masalah atau mencapai suatu
tujuan.
Algoritma
pemrograman menjelaskan bagaimana cara melakukan sesuatu, dan komputer tersebut
akan melakukannya sesuai dengan prosedur yang telah di buat. Jadi pembuatan
Algoritama ini akan sangat memudahkan kita dalam membuat program untuk suatu
pemecahan masalah, karena kita telah memliki pandangan mengenai program
tersebut dan juga hal apa saja yang kita butuhkan untuk membuat program
tersebut.
2.
Kelebihan dan kelemahan dari beberapa algoritma,
sebagai berikut :
Algoritma
Greedy
Ø
Kelebihan :
-
Dengan mengambil sisi yang paling kecil terlebih
dahulu, membuat solusi sementara yang dibuat menjadi semakin dekat dengan
solusi yang paling mangkus.
-
Penerapan algoritma greedy sebagai dasar
pemecahan masalah membuat penyelesaian masalah menjadi lebih cepat, karena
tidak semua kemungkinan solusi diperiksa.
-
Algoritma dalam pemecahan masalah ini akan lebih
mangkus jika permasalahan memiliki banyak solusi, dan satu solusi dapat
berhubungan dengan solusi yang lain. algoritma ini juga mangkus untuk masalah
untuk masalah sedikit solusinya.
Ø
Kekurangan :
-
Untuk beberapa kasus, algoritma ini tidak
mangkus, namun lebih baik dari algoritma greedy secara umum.
Algoritma
Divide and Conguer
Ø
Kelebihan :
-
Dapat mengurangi kompleksitas pencarian solusi
suatu masalah karena prinsip kerjanya yang membagi-bagi masalah menjadi
upamasalah-upamasalah yang lebih kecil.
Ø
Kekurangan :
-
Terbukti menampilkan hasil yang paling baik dan
paling sesuai untuk komputer dengan hirarki memori tinggi serta memiliki cache.
-
Dapat bekerja secara rekursif sehingga
mempersingkat penjabaran.
-
Mempunyai prinsip membagi masalah menjadi
upamasalah yang lebih kecil sehingga menyederhanakan pencarian solusi.
-
Unsur kebebasan yang diberikan dalam pemecahan
masalah sehingga pengguna bebas untuk memilih masalah mana yang akan
diselesaikan terlebih dahulu.
Algoritma
Backtracking
Ø
Kelebihan :
-
Kerelevanannya untuk diterapkan dalam kehidupan
sehari-hari dibandingkan dengan algoritma runut-balik.
-
Dapat bekerja jauh lebih cepat dari brute force
karena jumlah kandidat solusi yang dapat dibuang dengan backtracking cukup
besar.
Ø
Kekurangan :
-
Hanya bisa diaplikasikan terbatas pada tipe
permasalahan yang memiliki solusi yang dapat dicari secara sistematis dan
bertahap. Terdapat masalah-masalah yang tidak bisa diselesaikan dengan
menggunakan backtracking, misalnya menemukan suatu nilai yang diminta pada
tabel yang tidak terurut.
Algoritma
Branch and Bound
Ø
Kelebihan :
-
Memiliki tingkat kesalahan yang sedikit.
-
Merupakan metode pencarian solusi di dalam ruang
solusi secara sistematis.
-
Penyelesaian algoritma ini lebih mangkus jika
dibandingkan dengan metode lain, tapi khususnya dibandingkan dengan metode
Brute Force.
Ø
Kekurangan :
-
Tidak menjamin apakah solusi yang didapat
merupakan solusi yang optimal.
Tidak ada komentar:
Posting Komentar