Baik, saya akan menjelaskan persoalan tersebut berdasarkan pemahaman yang saya tangkap.
Oke, bayangin gini, Dina lagi liburan ke kebun binatang dan pengen nonton sebanyak mungkin pertunjukan hewan dalam sehari. Masalahnya, pertunjukan-pertunjukan ini jadwalnya ada yang bentrok. Nah, supaya Dina bisa nonton paling banyak, dia harus milih pertunjukan yang selesai paling cepat dulu, biar bisa lanjut ke pertunjukan berikutnya tanpa nabrak waktu.
• Strategi Greedy
Jadi, kita bakal pake algoritma greedy. Algoritma ini akan selalu pilih pertunjukan yang selesai paling cepet dulu, terus kita cek lagi apakah ada pertunjukan lain yang bisa Dina tonton setelah itu. Dengan cara ini, Dina bisa maksimalin jumlah pertunjukan yang dia tonton.
• Langkah-langkah:
1. Urutkan semua pertunjukan berdasarkan waktu selesai.
2. Dina mulai tonton pertunjukan pertama yang selesai paling cepet.
3. Lanjut pilih pertunjukan berikutnya yang waktu mulainya gak bentrok sama pertunjukan sebelumnya.
4. Ulangin sampai gak ada lagi pertunjukan yang bisa dipilih.
Jadwal Pertunjukan (diurutkan berdasarkan waktu selesai):
1. Pinguin: 08:00 - 09:30
2. Orang Utan: 09:15 - 10:30
3. Harimau: 10:00 - 12:00
4. Burung Pemangsa: 11:00 - 12:30
5. Beruang Madu: 13:00 - 14:30
6. Buaya: 14:00 - 15:00
7. Singa: 15:00 - 15:30
8. Anjing Laut: 15:30 - 16:00
9. Panda: 15:30 - 16:30
10. Ular Piton: 16:00 - 17:00
Dari jadwal itu, kalau kita pake strategi greedy, kita bakal dapet urutan nonton pertunjukannya:
1. Pinguin : 08:00 - 09:30
2. Harimau : 10:00 - 12:00 (mulai setelah Pinguin selesai)
3. Burung Pemangsa : 11:00 - 12:30 (mulai setelah Harimau selesai)
4. Beruang Madu : 13:00 - 14:30 (mulai setelah Burung Pemangsa selesai)
5. Singa : 15:00 - 15:30 (mulai setelah Beruang Madu selesai)
6. Anjing Laut : 15:30 - 16:00 (mulai setelah Singa selesai)
Hasilnya, Dina bisa nonton maksimal 6 pertunjukan : Pinguin, Harimau, Burung Pemangsa, Beruang Madu, Singa, dan Anjing Laut.
Mengimplementasikan Dalam Bentuk Progam Algoritma Greddy Bahasa C++
OUTPUT :
Program yang ada di atas akan membantu Dina menentukan berapa banyak pertunjukan yang dapat ia tonton dalam satu hari tanpa ada jadwal yang bentrok.
Sekian terima kasih, semoga apa yang saya sampaikan jelas dan bisa langsung kalian coba di Programmiz C++ Compiler.

0 Komentar