Senin, 22 Juni 2015

Metode Greedy Dan Divide and Conguer

METODE GREEDY 


Metode greedy adalah metode yang digunakan untuk memecahkan persoalan optimasi, ada 2 macam persoalan optimasi, yaitu maksimasi dan minimasi, artinya dengan metode greedy kita bemaksud mencari solusi terbaik, yaitu solusi yang benilai minimum atau maksimum dari sekumpulan alternatif solusi yang ada.

arti kata greedy sendiri adalah RAKUS, namun maksud dari metode grredy adalah kita melihat solusi optimal lokal, atau solusi optimal yang tampak didepan mata, dengan harapan mendapatkan solusi optimal secara global atau secara keseluruhan

Metode greedy dipakai dalam masalah
1.Optimal On tape Storage Problem
2.Knapsack Problem
3.Minimum Spanning Tree Problem
4.Shortest Path Problem

Contohnya adalah :

Contoh Masalah Optimasi:
Penukaran Uang
Diberikan uang senilai X Tukar X dengan koin-koin uang yang ada.
Berapakah jumlah minimum koin yang diperlukan untuk penukaran uang tersebut.

Persoalan Minimasi.

Contoh 1: tersedia banyak koin  5, 10, 20, 25

150 = 5+ 5+ … + 5            (30 koin)
150 = 10+ 10+ ... + 10   (15 koin)
150 = 25 + 25 + ... + 25 (6 koin)

Minimum: 32 = 25 + 25 + ... + 25      (6 koin)

Kelebihan algoritma Greedy:
Prinsip pencarian lintasan terpendek memakai fungsi ” Seleksi” dan itu berguna untuk menentukan jalan tersingkat untuk menuju suatu tempat.Sehingga, kita dapat sampai tepat waktu menuju tempat tujuan. Hasil analisis berdasarkan bobot-bobot yang berbeda, menunjukkan bahwa semakin banyak bobot yang diberikan, maka semakin akurat pula datayang dihasilkan. Sehingga menghasilkan waktu yang efisien.

-Kekurangan algoritma Greedy:
 1.Algoritma greedy tidak beroperasi secara menyeluruh terhadap semua alternatif solusi yang ada (sebagaimana pada metode exhaustive search). 
2.Pemilihan fungsi SELEKSI: Mungkin saja terdapat beberapa fungsi SELEKSI yang berbeda, sehingga kita harus memilih fungsi yang tepat jika kita ingin algoritma bekerja dengan benar dan menghasilkan solusi yang benar-benar optimum. Karena itu, pada sebagian masalah algoritma
Greedy tidak selalu berhasil memberikan solusi yang benar-benar optimum.

METODE DIVIDE AND CONGUER


Divide and Conquer merupakan algoritma yang berprinsip memecah-mecah permasalahan yang terlalu besar menjadi beberapa bagian kecil sehingga lebih mudah untuk diselesaikan. Langkah-langkah umum algoritma Divide and Conquer :
  • Divide : Membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil ( idealnya berukuran hampir sama ).
  • Conquer : Memecahkan ( menyelesaikan ) masing-masing upa-masalah ( secara rekursif ).
  • Combine : Menggabungkan solusi masing-masing upa-masalah sehingga membentuk solusi masalah semula.
Skema Umum Algoritma Divide and Conquer 

procedure DIVIDE_and_CONQUER(input n : integer)
{ Menyelesaikan masalah dengan algoritma D-and-C.
Masukan: masukan yang berukuran n
Keluaran: solusi dari masalah semula
}
Deklarasi
r, k : integer
Algoritma
if n <= n0 then {ukuran masalah sudah cukup kecil }
        SOLVE upa-masalah yang berukuran n ini
else
        Bagi menjadi r upa-masalah, masing-masing berukuran n/k
        for masing-masing dari r upa-masalah do
           DIVIDE_and_CONQUER(n/k)
        endfor
     COMBINE solusi dari r upa-masalah menjadi solusi masalah semula }
endif


Sabtu, 06 Juni 2015

Seberapa Dewasa Kita dalam menghadapi masalah serta cara mengatasinya

Dalam pembahasan kali ini, saya akan Membahas tentang 
"Menilai Tingkat Kedewasaan serta Cara Mengatasinya"

          Pada Kasus ini saya akan memberikan kisah yang saya alami yaitu, Dengan penuh kepercayaan saya diberikan tugas kepada ayah saya mengendarai kendaraan roda 4 tetapi pada saat itu saya masih berusia 15 tahun dengan kemampuan yang masih minim tanpa SIM berjalan di tempat umum tepatnya JALAN TOL menuju rumah dari tempat kerja ayah saya.Ayah saya berada disamping saya dengan keadaan lelah selepas kerja sehingga saya dipercaya untuk mengerdarai saat pulang. Namun, dengan perasaan yang tegang saya menuju rumah, kejadiaan yang tidak diinginkan terjadi di KM 42 Jakarta - Cikampek tabrakan beruntun dana saya terlibat dalak kejadiaan tersebut. Saya berada ditengah-tengah kejadian namun tidak ada korban jiwa saat itu. Entah apa yang terlintas dalam pandangan sehingga tidak dapat dihindari, perasaan yang saya rasakan yaitu takut, bingung, serta bersalah kepada Ayah saya karena tidak menjalankan tanggung jawab dengan baik. sehingga saya dan ayah saya keluar dan menyelesaikan masalahnya kepada pengemudi yang didepan dan belakang saya ditepi/bahu jalan, beruntung tidak ada Petugas polisi ditempat kejadian, jika ada saya tidak tahu akan seperti apa. Ayah saya membiarkan saya menyelesaikan masalah dengan pengendara lain.
          Dengan perasaan yang campur aduk saya menghadapinya dengan memberanikan diri, karena saya berhadapan dengan Orang yang lebih tua. saat saya keluar saya dipanggil oleh salah satu pengendara yang saat itu berada dibelakang saya. Saya berusaha tenang dan menjelaskan apa yang terjadi kepada Bapak yang memanggil saya tadi, setelah itu Kami berdua mendatangi pengendara yang saat itu pula berada didepan kendaaraan saya (pengendara ini sedang melihat kedaan belakang kendaraannya). Orang tua yang bersama saya tadi menepuk pundak sang pengendara dan menanyakan awal kejadian.

Pengendara 1 berkata "Saya tidak tahu !"
Pengendara 2 berkata "Kenapa tidak tahu?, Bapak yang berada di depan"
Pengendara 1 berkata "Tadi saya agak melamun sehingga menginjak rem dengan tidak sengaja."
Pengendara 2 berkata kepada saya "Sudah berapa usia kamu?"
Saya berkata "Saya berumur 15 tahun pak"
Pengendara 1 berkata dengan nada tinggi "Sudah ada SIM"
Saya berkata "Belum ada pak" dengan tenang
Pengendara 1 bertanya dengan membentak saya "Kalau belum ada SIM, kenapa kamu mengendarai?"
Saya menjawab "keadaan yang mengharuskan saya mengendarai pak"
Pengendara 2 bertanya kepada Pengendara 1 "Kenapa anda melamun saat mengendarai ?" dengan nada yang agak marah
Saya mencoba mencairkan suasana "Maaf pak kalau saya agak lancang, sebenarnya kita beruntung tidak terjadi hal yang lebih buruk menimpa kita pak. jika saya kejadiaanya lebih parah lagi apa yang akan terjadi? pasti ada korban jiwa."
Pengendara 2  merangkul saya dan berkata "Kamu benar nak, untuk apalagi kita permasalahkan toh yang terjadi nyala lecet saja.
Pengendara 1 berkata "Tidak bisa seperti itu!"
Saya berkata "Separah apa kendaraan bapak"
Pengendara 2 berkata "hey, anda masih beruntung hanya belakang, sedangkan anak ini depan dan belakang kendaraannya."
Pengendara 1 terdiam dan menundukkan kepalanya
Pengendara 2 memberikan nasihat kepada saya dan pengendara 1 "Saya tahu kita semua dalam keadaan capek dan ingin cepat sampai rumah, Sebaiknya masalah ini jangan diperpanjang, anda(pengendara 1) bisa saya laporkan karena kelalaian anda saat berkendara, dan kamu(saya) umur kamu masih belum cukup untuk boleh berkendara."
Saya hanya dapat menganggukkan kepala.
Pengendara 1 berkata "baiklah, saya bersalah atas kejadiaan ini, karena kelalaian saya bapak dan adik menjadi terganggu.
Pengendara 2 berkata "baik kalau begitu kita salaman sebagai tanda bahwa masalah ini selesai tanpa ada rasa dendam"
Saya berkata "Saya juga meminta maaf atas kejadian ini."

Tidak lama kemudian Ayah saya keluar dari mobil dan menghapiri kami.
Ayah saya berkata "Maafkan anak saya pak. Jika saya tidak merasa sangat lelah, mungkin saya yang mengendarai.

Saat ayah saya berbicara seperti itu saya merasa saya tidak bertanggung jawab atas apa yang telah diberikan kepada ayah saya.

Pengendara 1 berkata "Jangan salahkan dia pak, ini semua karena kelalaian saya"
Saya berkata "Maaf pak, kalau saya tidak mengendarai dengan cepat-cepat tidak akan seperti ini."

Kami pun bersalam-salaman dan masuk kedalam kendaraanya masing-masing.

Pelajaran yang dapat saya ambil adalah dalam menghadapi suatu masalah dengan tenang, tanpa emosi, serta penuh kesabaran. jika suatu masalah diawali dengan amarah dan dendam maka masalah akan menjadi lebih besar dan tidak akan selesai.