Dokumen tersebut membahas algoritma pengurutan dan pencarian dengan metode divide and conquer. Metode ini membagi masalah menjadi submasalah kecil, menyelesaikan submasalah tersebut secara rekursif, lalu menggabungkan hasilnya untuk menyelesaikan masalah utama. Algoritma pengurutan seperti merge sort dan algoritma pencarian seperti binary search merupakan contoh dari pendekatan ini. Dokumen ini juga menjelaskan tahapan
Perbandingan algoritma brute force , divide and conquerohohervin
comparing brute force algorithms, divide and conquer algorithm, and decrease and conquer algorithms.
advantage and weakness each algorithm
indonesian version.
Perbandingan algoritma brute force , divide and conquerohohervin
comparing brute force algorithms, divide and conquer algorithm, and decrease and conquer algorithms.
advantage and weakness each algorithm
indonesian version.
BAB I
PENDAHULUAN
Latar Belakang
Salah satu pendekatan yang dapat dilakukan untuk menyelesaikan masalah manajemen sains adalah pemrograman linear. Pemrograman linear merupakan kelompok teknik analisis kuantitatif yang mengandalkan model matematika atau model simbolik sebagai wadahnya. Artinya, setiap masalah yang kita hadapi dalam suatu sistem permasalahan tertentu perlu dirumuskan dulu dalam simbol-simbol matematika tertentu, jika kita inginkan bantuan pemrograman linear sebagai alat analisisnya.
Metode grafik merupakan salah satu metode yang dapat digunakan untuk menyelesaikan masalah pemrograman linear yang melibatkan dua peubah keputusan. Membahas mengenai masalah meminimumkan fungsi kendala bertanda ≥, fungsi kendala bertanda = tidak ada penyelesaian layak, tidak ada penyelesaian optimal, beberapa alternatif optimal, dan wilayah kelayakan yang tidak terikat dapat terjadi saat menyelesaikan masalah pemrograman linear dengan menggunakan prosedur penyelesaian grafik. Kasus-kasus ini juga dapat terjadi saat menggunakan metode simpleks.
Metode simplek untuk linier programming dikembangkan pertama kali oleh George Dantzing pada tahun 1947, kemudian digunakan juga pada penugasan di Angkatan Udara Amerika Serikat. Dia mendemonstrasikan bagaimana menggunakan fungsi tujuan (iso-profit) dalam upaya menemukan solosi diantara beberapa kemungkinan solosi sebuah persoalan linier programming.
Proses penyelesaiaanya dalam metode simplek, dilakukan secara berulang-ulang (iterative) sedemikian rupa dengan menggunakan pola tertentu (standart) sehingga solusi optimal tercapai.
Ciri lain dari metode simplek adalah bahwa setiap solusi yang baru akan menghasilkan sebuah nilai fungsi tujuan yang lebih besar daripada solosi sebelumnya.
Rumusan Masalah
Adapun rumusan masalah yang akan dibahas dalam makalah ini adalah sebagai berikut:
Bagaimana cara mencari nilai maksimum dengan menggunakan metode simpleks?
Bagaimana cara menyelesaikan masalah/kendala (syarat) bertanda “=”?
Bagaimana cara mencari nilai minimum dengan menggunakan metode simpleks?
Bagaimana cara membedakan antara asalah primal dan dual dalam program linear?
Kapan pemrograman linear dikatakan mengalami degenerasi?
Tujuan
Adapun tujuan dari penulisan makalah ini antara lain :
Dapat menyelesaikan masalah maksimasi dalam program linear
Dapat menyelesaikan masalah / kendala (syarat) bertanda “=” pada program linear
Dapat menyelesaikan masalah minimasi dalam program linear
Dapat mengetahui dan membedakan antara masalah primal dan dual dalam program linear
Dapat menyelesaikan masalah degeneracy / kemerosotan dalam program linear
BAB II
PEMBAHASAN
Masalah Maksimasi
Untuk menyelesaikan masalah maksimasi maka programasi linear harus lebih dahulu ditulis dalam bentuk standar. Dengan bentuk standar dimaksudkan adalah permasalahan programasi linear yang berwujud permasalahan maksimasi dengan batasan-batasan (kendala) yang bertanda kurang dari
BAB I
PENDAHULUAN
Latar Belakang
Salah satu pendekatan yang dapat dilakukan untuk menyelesaikan masalah manajemen sains adalah pemrograman linear. Pemrograman linear merupakan kelompok teknik analisis kuantitatif yang mengandalkan model matematika atau model simbolik sebagai wadahnya. Artinya, setiap masalah yang kita hadapi dalam suatu sistem permasalahan tertentu perlu dirumuskan dulu dalam simbol-simbol matematika tertentu, jika kita inginkan bantuan pemrograman linear sebagai alat analisisnya.
Metode grafik merupakan salah satu metode yang dapat digunakan untuk menyelesaikan masalah pemrograman linear yang melibatkan dua peubah keputusan. Membahas mengenai masalah meminimumkan fungsi kendala bertanda ≥, fungsi kendala bertanda = tidak ada penyelesaian layak, tidak ada penyelesaian optimal, beberapa alternatif optimal, dan wilayah kelayakan yang tidak terikat dapat terjadi saat menyelesaikan masalah pemrograman linear dengan menggunakan prosedur penyelesaian grafik. Kasus-kasus ini juga dapat terjadi saat menggunakan metode simpleks.
Metode simplek untuk linier programming dikembangkan pertama kali oleh George Dantzing pada tahun 1947, kemudian digunakan juga pada penugasan di Angkatan Udara Amerika Serikat. Dia mendemonstrasikan bagaimana menggunakan fungsi tujuan (iso-profit) dalam upaya menemukan solosi diantara beberapa kemungkinan solosi sebuah persoalan linier programming.
Proses penyelesaiaanya dalam metode simplek, dilakukan secara berulang-ulang (iterative) sedemikian rupa dengan menggunakan pola tertentu (standart) sehingga solusi optimal tercapai.
Ciri lain dari metode simplek adalah bahwa setiap solusi yang baru akan menghasilkan sebuah nilai fungsi tujuan yang lebih besar daripada solosi sebelumnya.
Rumusan Masalah
Adapun rumusan masalah yang akan dibahas dalam makalah ini adalah sebagai berikut:
Bagaimana cara mencari nilai maksimum dengan menggunakan metode simpleks?
Bagaimana cara menyelesaikan masalah/kendala (syarat) bertanda “=”?
Bagaimana cara mencari nilai minimum dengan menggunakan metode simpleks?
Bagaimana cara membedakan antara asalah primal dan dual dalam program linear?
Kapan pemrograman linear dikatakan mengalami degenerasi?
Tujuan
Adapun tujuan dari penulisan makalah ini antara lain :
Dapat menyelesaikan masalah maksimasi dalam program linear
Dapat menyelesaikan masalah / kendala (syarat) bertanda “=” pada program linear
Dapat menyelesaikan masalah minimasi dalam program linear
Dapat mengetahui dan membedakan antara masalah primal dan dual dalam program linear
Dapat menyelesaikan masalah degeneracy / kemerosotan dalam program linear
BAB II
PEMBAHASAN
Masalah Maksimasi
Untuk menyelesaikan masalah maksimasi maka programasi linear harus lebih dahulu ditulis dalam bentuk standar. Dengan bentuk standar dimaksudkan adalah permasalahan programasi linear yang berwujud permasalahan maksimasi dengan batasan-batasan (kendala) yang bertanda kurang dari
3. Algoritma Pengurutan dengan
Metode Divide and Conquer
Dua pendekatan (approach) pengurutan:
Mudah membagi, sulit menggabung (easy split/hard join).
Algoritma pengurutan yang termasuk jenis ini:
a. urut-gabung (Merge Sort)
b. urut-sisip (Insertion Sort)
Sulit membagi, mudah menggabung (hard split/easy join).
Algoritma pengurutan yang termasuk jenis ini:
a. urut-cepat (Quick Sort)
b. urut-seleksi (Selection Sort)
5. Hard Split/Easy Join
Tabel A dibagi dua berdasarkan nilai elemennya.
Misalkan elemen-elemen A1 elemen-elemen A2
6. Merge Sort
Untuk kasus n = 1, maka tabel A sudah terurut dengan
sendirinya (langkah SOLVE).
Untuk kasus n > 1, maka :
DIVIDE: bagi tabel A menjadi dua bagian, bagian kiri dan bagian
kanan, masing-masing bagian berukuran n/2 elemen.
CONQUER: Secara rekursif, terapkan algoritma D-and-C pada ma
sing-masing bagian.
MERGE: gabung hasil pengurutan kedua bagian sehingga
diperoleh tabel A yang terurut.
10. Kompleksitas Waktu
Asumsi: n = 2k
T(n) = jumlah perbandingan pada pengurutan dua buah upa-tabel
+ jumlah perbandingan pada prosedur Merge
1,)2/(2
1,
)(
ncnnT
na
nT
11. Kompleksitas Waktu (lanjutan)
Penyelesaian persaman rekurens: T(n) = 2T(n/2) + cn
= 2(2T(n/4) + cn/2) + cn = 4T(n/4) + 2c
n
= 4(2T(n/8) + cn/4) + 2cn = 8T(n/8) +
3cn
= ...
= 2k T(n/2k) +kcn
Berhenti jika ukuran tabel terkecil, n = 1: n/2k = 1 k = 2log n
sehingga T(n) = nT(1) + cn 2log n
= na + cn 2log n
= O(n 2log n)
12. Algoritma Pencarian dengan
Metode Divide and Conquer
Binary Search : salah satu contoh dari algoritme divide and conquer
(atau lebih khusus algoritme decrease and conquer) dan sebuah
pencarian dikotomi
Binary Search (Pencarian Biner) dapat dilakukan jika data sudah
dalam keadaan urut. Dengan kata lain, apabila data belum dalam
keadaan urut, pencarian biner tidak dapat dilakukan.
Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggun
akan pencarian biner. Misalnya saat ingin mencari suatu kata dalam
kamus.
13. Prinsip Pencarian Biner
1. Mula-mula diambil posisi awal = 1 dan posisi akhir = N
2. Cari posisi data tengah dengan rumus (posisi awal + posisi akhir) /
2
3. Data yang dicari dibandingkan dengan data tengah.
4. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir diangg
apsama dengan posisi tengah – 1.
5. Jika lebih besar, proses dilakukan kembali tetapi posisi awal diangg
apsama dengan posisi tengah + 1.
6. Demikian seterusnya sampai data tengah sama dengan yang dicari.
14. Contoh Masalah
Misalkan kita ingin mencari 17 pada sekumpulan dat
a berikut :
3 9 1 1 1 2 1 5 1 7 2 3 3 1 3 5
15. Iterasi 1
1. Mula–mula dicari data tengah, dengan rumus (1+ 9) / 2 = 5.
2. Berarti data tengah adalah data ke-5, yaitu 15.
3. Data yang dicari, yaitu 17, bandingkan dengan data tengah ini.
4. Karena 17 > 15, berarti proses dilanjutkan tetapi kali ini posisi awa
l
dianggap sama dengan posisi tengah + 1 atau 6 (data 17).
16. Iterasi 2
1. Data tengah yang baru didapat dengan rumus (6 + 9) / 2 = 7. Berar
ti data tengah yang baru adalah data ke-7, yaitu 23.
2. Data yang dicari, yaitu 17 dibandingkan dengan data tengah ini.
3. Karena 17 < 23, berarti proses dilanjutkan tetapi kali ini posisi akhi
r dianggap sama dengan posisi tengah – 1 atau 6 (data 17).
17. Iterasi 3
1. Data tengah yang baru didapat dengan rumus (6 + 6) / 2 = 6. Berar
ti data tengah yang baru adalah data ke-6, yaitu 17.
2. Data yang dicari dibandingkan dengan data tengah ini dan ternyata
sama. Jadi data ditemukan pada indeks ke-6.
18. Diskusi
Bagaimana jika data yang dicari tidak ada, misalnya 16?
Pencarian biner ini akan berakhir jika data ditemukan atau
posisi awal lebih besar dari posisi akhir. Jika posisi awal
sudah lebih besar daripada posisi akhir berarti data tidak
ditemukan.
19. Penyelesaian
Untuk lebih jelasnya perhatikan proses pencarian 16 pada data di at
as. Prosesnya hampir sama dengan pencarian 17. Tetapi setelah posi
si
awal = posisi akhir = 6, proses masih dilanjutkan lagi dengan posisi
awal = 6 dan posisi akhir = 5
Disini dapat dilihat bahwa posisi awal lebih besar daripada posisi
akhir, yang artinya data tidak ditemukan.
20. REFFERENCE
Munir, Rinaldi. Diktat Kuliah “Kompleksitas Algoritma”, Departemen T
eknik Informatika ITB
Levitin, Anany. 2012. Introduction to the Design and Analysis of A
lgorithms, 3rd Edition.Addison Wesley