PENGGUNAAN ALGORITMA HUNGARIAN DALAM MENYELESAIKAN PERSOALAN MATRIKS BERBOBOT

dokumen-dokumen yang mirip
BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar belakang

BAB I PENDAHULUAN. Kompetisi Global yang kian hari kian meningkat memaksa perusahaan

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

TEKNIK RISET OPERASI UNDA

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

1.1 Latar Belakang BAB I PENDAHULUAN

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

Penggunaan Algoritma Greedy dalam Penyelesaian Masalah Transportasi

SISTEM PENUNJANG KEPUTUSAN UNTUK OPTIMASI PENUGASAN DALAM PROYEK PENGEMBANGAN WEBSITE DENGAN MENGGUNAKAN ALGORITMA HUNGARIAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

PROGRAM MAGISTER TEKNIK SIPIL UNLAM

ASSIGNMENT MODEL. Pertemuan Ke-10. Riani Lubis. Universitas Komputer Indonesia

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Materi #13. TKT306 Perancangan Tata Letak Fasilitas T a u f i q u r R a c h m a n

Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3

Design and Analysis of Algorithm

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan

ASSIGNMENT MODEL MATAKULIAH RISET OPERASIONAL Pertemuan Ke-12

OPTIMALISASI PENDAPATAN PADA CV. PALUNESIA COLLECTION TEAM DENGAN MENGGUNAKAN METODE HUNGARIAN

Assignment Problem. kolom. Di dalam matriks A yang berukuran m baris dan n kolom (m x n), adalah elemen matriks pada baris ke- dan kolom ke-.

dengan Algoritma Branch and Bound

Penerapan Algoritma Branch And Bound Dalam Optimasi Assigment Problem

PERTEMUAN 12 KEMEROSOTAN (DEGENERACY)

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

MASALAH PENUGASAN PENDAHULUAN

ASSIGNMENT MODEL MATAKULIAH RISET OPERASIONAL Pertemuan Ke-10. Riani Lubis Program Studi Teknik Informatika Universitas Komputer Indonesia

Operations Management

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Penerapan Algoritma Greedy dalam Penyetokan Barang

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square

IMPLEMENTASI PROGRAM DINAMIS DENGAN ALGORITMA NEEDLEMAN-WUNSCH PADA PENSEJAJARAN DNA DAN PROTEIN

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

Algoritma Penentuan Graf Bipartit

ALGORITMA MENCARI LINTASAN TERPENDEK

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

BAB II TINJAUAN PUSTAKA. berhubungan dengan pendistribusian barang dari sumber (misalnya, pabrik) ke

Analisis Penggunaan Algoritma Greedy dalam Program Solusi Fisibel Basis Awal Transportasi

Penerapan Algoritma Brute Force di Permainan Nonogram

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

EKSPLORASI ALGORITMA BRUTE FORCE, GREEDY DAN PEMROGRAMAN DINAMIS PADA PENYELESAIAN MASALAH 0/1 KNAPSACK

Pembahasan Materi #14

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Penyusunan Jarkom HMIF ITB dengan Menggunakan Algoritma Branch and Bound

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penerapan Algoritma Brute Force pada permainan Countdown Number

PENERAPAN PEWARNAAN GRAF DALAM PENJADWALAN

Penerapan Teori Graf Pada Algoritma Routing

Pendekatan Matching Bobot Optimal untuk Menentukan Solusi Masalah Penugasan Multi-Objective

#8 Operation Research : Assignment

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Penentuan Rute Terbaik pada Permainan Taxi Rider

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

BAB II LANDASAN TEORI

Permasalahan Clique dalam Graf

Penerapan Algoritma Greedy dalam Permainan Bantumi

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Penerapan Teori Chaos di Dalam Kriptografi

Penerapan Algoritma Greedy pada Permainan Kartu 100

Penggunaan Algoritma Branch and Bound dan Program Dinamis Dalam Pemecahan Masalah Rubik s Cube

Departemen Teknik Informatika Institut Teknologi Bandung 2004

Penerapan Algoritma Brute Force pada Permainan Kartu 24 (24 game)

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset

Pencarian Jalur Terpendek Pada Sistem Jaringan Komputer Menggunakan Algoritma Program Dinamis

Algorima Greedy Pada Self Serve Gas Station

Strategi Optimized Brute Force Pada Tent Puzzle Solver

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Algoritma Brute Force pada Fluid Particle Engine

MASALAH PENUGASAN (ASSIGNMENT PROBLEMS)

OPTIMALISASI MASALAH PENUGASAN MENGGUNAKAN METODE HUNGARIAN (Studi kasus pada PT Pos Indonesia (Persero) Pontianak)

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Algoritma Hungarian Dalam Menentukan Pembagian Tugas Sebagai Manajemen Jurnal Pada Open Journal System (OJS)

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

Penyelesaian Permasalahan Nonogram dengan Algoritma Runut Balik

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

Transkripsi:

PENGGUNAAN ALGORITMA HUNGARIAN DALAM MENYELESAIKAN PERSOALAN MATRIKS BERBOBOT Alvin Susanto (13506087) Program studi Teknik Informarika ITB angkatan 2006 Jalan Ganesha no. 10 Bandung e-mail: alvin_punya@yahoo.co.id ABSTRAK Makalah yang penulis buat ini memuat tentang penggunaan algoritma hungarian dalam memecahkan persoalan sehari-hari, yaitu untuk menyelesaikan persoalan matriks berbobot, yang dalam hal ini, solusi yang dicari adalah solusi terbaik minimum. Algoritma ini sendiri diciptakan oleh Harold Kuhn dan James Munkres, yang terinspirasi oleh hasil penemuan dua orang matematikawan asal Hungaria, yaitu Denes Konig dan Jeno Evergary. Makalah ini akan menceritakan sejarah lahirnya algoritma hungarian dan metode penyelesaikan masalah yang diberikan dengan menggunakan algoritma hungarian. Kata kunci: algoritma hungarian, Harold Kuhn, James Munkres, persoalan matriks berbobot. 1. PENDAHULUAN 1.1 Latar Belakang Persoalan assignment dengan matriks berbobot merupakan salah satu masalah terbesar dalam dunia teknik informatika, di mana masalah ini merupakan masalah yang metode penyelesaiannya cukup kompleks. Salah satu algoritma yang disarankan untuk digunakan dalam menyelesaikan persoalan ini adalah algoritma brute force, di mana dalam algoritma ini seluruh kemungkinan solusi diperhitungkan sebagai kandidat solusi. Tentu saja hal ini sangat menggunakan resource yang besar dan penyelesaian dengan metode ini menjadi tidak mangkus. Salah satu alternatif dalam menyelesaikan masalah assignment ini adalah dengan menggunakan algoritma hungarian. Dengan menggunakan algoritma ini, solusi optimum sudah pasti akan ditemukan. Namun untuk hal ini, kasusnya dibatasi, yaitu bila kita ingin menemukan solusi terbaik dengan nilai minimum (least cost search). Keuntungan terbesar penggunaan algoritma hungarian adalah kompleksitas algoritmanya yang polinomial. 1.2 Sejarah Lahirnya Algoritma Hungarian Algoritma hungarian adalah salah satu algoritma yang digunakan untuk menyelesaikan persoalan masalah assignment. Versi awalnya, yang dikenal dengan metode Hungarian, ditemukan dan dipublikasikan oleh Harold Kuhn pada tahun 1955. Algoritma ini kemudian diperbaiki oleh James Munkres pada tahun 1957. Oleh karena itu, algoritma ini kemudian dikenal juga dengan nama algoritma Kuhn Munkres. Algoritma yang dikembangkan oleh Kuhn ini didasarkan pada hasil kerja dua orang matematikawan asal Hungaria lainnya, yaitu Denes Konig dan Jeno Egervary. Keberhasilan Kuhn menggabungkan dua buah penemuan matematis dari Jeno Egervary menjadi satu bagian merupakan hal utama yang menginspirasikan lahirnya algoritma hungarian. 2. METODE 2.1 Algoritma Hungarian Metode yang digunakan dalam algoritma hungarian dalam memecahkan masalah sangat sederhana dan mudah dipahami. Metode ini akan penulis aplikasikan dalam pemecahan masalah matriks berbobot, di mana masalah yang ingin dipecahkan adalah mencari solusi terbaik minimum. Untuk memudahkan persoalan, maka penulis akan membahas salah satu contoh kasus dari masalah ini, yaitu masalah penempatan pegawai seefektif mungkin agar sebuah perusahaan dapat membayar seluruh pegawai semurah mungkin. Asumsi dari masalah ini : 1. Satu orang pekerja hanya dapat bekerja maksimum pada satu pekerjaan saja. 2. Satu pekerja dapat tidak diberikan pekerjaan. 3. Setiap pekerjaan yang dilakukan setiap pekerja akan berhasil dalam jangka waktu yang sama tanpa memperhatikan berapa besar pegawai itu dibayar. Untuk menyelesaikan persoalan ini dengan algoritma hungarian, dibutuhkan sebuah matriks berbentuk persegi, sehingga bila jumlah dari pekerja dan pekerjaan tidak sama, akan digunakan elemen dummy. Dengan kata lain,

kita harus membuat agar jumlah pekerja dan pekerjaan dalam matriks menjadi sama. Bila persyaratan di atas telah terpenuhi, kita dapat memulai langkah langkah pencarian solusi. Adapun langkah langkah yang akan dilakukan akan dipaparkan sebagai berikut : Misalkan matriks di bawah ini adalah matriks berbobot, di mana a,b,c, dan d merupakan pekerja yang akan diberikan tugas dan angka 1,2,3, dan 4 merupakan jenis pekerjaan yang dapat diambil. Nilai dari a1 dapat diartikan sebagai pegawai a mengambil pekerjaan nomor 1. Hal yang sama juga berlaku untuk c3 yang berarti pegawai c mengambil pekerjaan nomor 3. Langkah langkah atau prosedur dalam algoritma hungarian secara umum adalah : 1. Pilihlah nilai elemen minimum dari setiap baris, lalu lakukan operasi pengurangan dari tiap elemen di baris tersebut dengan bilangan minimum yang telah dipilih. Dengan demikian, dapat dipastikan bahwa ada minimal satu buah elemen di tiap baris matriks yang bernilai nol dan tidak ada elemen dengan nilai negatif. 2. Pilihlah nilai elemen minimum dari setiap kolom, lalu lakukan operasi pengurangan dari tiap elemen di kolom tersebut dengan bilangan minimum yang telah dipilih. Dengan demikian, dapat dipastikan bahwa ada minimal satu buah elemen di tiap baris dan tiap kolom matriks yang bernilai nol dan tidak ada elemen dengan nilai negatif. 3. Periksalah baris pertama dari matriks. Bila pada baris tersebut hanya terdapat satu buah bilangan nol, maka tandailah letak bilangan nol tersebut dan hilangkan seluruh nilai nol dari kolom tempat elemen nol tersebut berada. Bila pada baris tersebut terdapat lebih dari satu buah bilangan nol, maka pencarian dilakukan pada baris berikutnya. Pada baris berikutnya tersebut, lakukan hal yang sama dengan yang dilakukan pada baris sebelumnya. 4. Lakukan hal yang sama untuk kolom. Dalam hal ini, kita tinggal menukar baris dan kolom dari prosedur nomor 3 untuk menghasilkan matriks yang telah direduksi nilainya. Bila solusi telah ditemukan, lompat ke nomor 6. Solusi ditemukan bila dalam tiap kolom dan baris matriks hanya terdapat satu buah nilai nol. 5. Bila solusi masih belum ditemukan, lakukan langkah langkah berikut. Buat sebuah penanda berupa garis yang melewati setiap baris dan kolom tempat dimana elemen nol berada. Setelah itu, pilih sebuah bilangan terkecil yang terdapat pada matriks dan tidak dilalui oleh garis tersebut. Kita berikan nama bilangan tersebut bilangan u. Setelah bilangan u ditemukan, lakukan operasi pengurangan pada tiap elemen yang tidak dilalui oleh garis penanda dengan bilangan u. Sedangkan bilangan yang dilalui oleh dua buah garis penanda nilainya dijumlahkan dengan u. Setelah itu lakukan lagi prosedur 3 hingga solusi ditemukan. 6. Hitung total biaya optimum dari solusi yang diperoleh berdasarkan elemen dari matriks awal yang belum direduksi nilainya. Hal yang sama akan dilakukan bila jumlah dari pekerja dan pekerjaan yang diberikan tidak sama. Yang perlu kita lakukan hanyalah menyisipkan suatu baris/kolom yang setiap elemennya bernilai nol hingga jumlah dari baris dan kolom dari matriks tersebut sama. Untuk menemukan solusinya, kita tinggal mengikuti prosedur yang telah dipaparkan sebelumnya. 2.2 Contoh Kasus Pada upabab ini, penulis akan memperlihatkan contoh dari penggunaan algoritma hungarian dalam menyelesaikan persoalan matriks berbobot. Kasus yang digunakan adalah kasus yang telah dibahas pada bab sebelumnya, yaitu kasus penempatan pegawai agar suatu perusahaan mengeluarkan biaya sekecil mungkin. Matriks di bawah ini adalah contoh matriks berbobot yang telah terisi nilainya. a 8 6 5 7 b 6 5 4 3 c 7 8 4 6 d 6 7 5 6 Dari masalah di atas, mudah ditebak dengan pemikiran kita bahwa solusi terbaiknya adalah pekerja a mengambil pekerjaan ke-2, pekerja b mengambil pekerjaan ke-4, pekerja c mengambil pekerjaan ke-3, dan pekerja d mengambil pekerjaan ke-1. Bila dihitung, nilai yang harus dibayar perusahaan untuk para pekerja tersebut adalah 6 + 3 + 4 + 6 = 19

Langkah pertama yang akan kita lakukan adalah mengurangi elemen dari tiap baris dengan nilai elemen terkecil dari masing-masing baris tersebut. Dalam hal ini, pada baris pertama tiap elemen dikurangi 5, baris kedua dikurangi 3, baris ketiga dikurangi dengan 4, dan baris keempat dikurangi dengan 5. Setelah dilakukan operasi pengurangan tersebut, matriks berbobot baru yang terbentuk adalah : a 3 1 0 2 b 3 2 1 0 c 3 4 0 2 d 1 2 0 1 Bila diperhatikan, kita akan mendapati bahwa tiap baris dari matriks tersebut memiliki elemen dengan nilai nol. Hal ini berarti operasi pengurangan yang kita lakukan telah benar. Langkah berikutnya yang dilakukan adalah melakukan operasi pengurangan tiap elemen dari kolom matriks dengan elemen terkecil dari masing-masing kolom tersebut. Dengan demikian, tiap elemen pada kolom pertama akan kedua dikurangi 1. Sedangkan elemenelemen pada kolom ketiga dan keempat tidak mengalami pengurangan karena pada kedua kolom tersebut nilai minimumnya adalah 1. Dengan demikian, matriks baru yang terbentuk akibat operasi pengurangan tersebut adalah : a 2 0 0 1 b 2 1 0 0 c 2 3 0 1 d 0 1 0 0 Terlihat bahwa dari tiap baris dan kolom dari matriks di atas minimal terdapat satu buah nilai nol. Langkah berikutnya yang akan kita lakukan adalah memeriksa baris pertama dari matriks. Bila pada baris tersebut hanya terdapat satu buah bilangan nol, maka kita harus menandai bilangan nol tersebut dan menghilangkan seluruh nilai nol pada kolom tempat bilangan nol tersebut berada. Dalam makalah ini, nilai nol yang telah dihilangkan akan dilambangkan dengan nilai X. Apabila pada saat pencarian ditemukan bahwa pada suatu baris dari matriks terdapat lebih dari satu elemen yang bernilai nol, maka pencarian pada baris tersebut dihentikan dan dilanjutkan dengan pencarian pada baris berikutnya hingga tiap baris selesai diperiksa. Dari contoh di atas, jawaban dari langkah ini yang memenuhi adalah baris ketiga, dimana pada baris tersebut hanya terdapat satu buah elemen dengan nilai nol. Selanjutnya kita menghilangkan semua nilai nol pada kolom dimana nilai nol yang telah ditemukan itu terletak. Dengan demikian, matriks baru yang terbentuk adalah : a 2 0 X 1 b 2 1 X 0 c 2 3 [0] 1 d 0 1 X 0 Nilai nol yang diberi kurung siku merupakan nilai nol yang disimpan dan akan digunakan sebagai bagian dari solusi persoalan. Langkah berikutnya yang diambil hampir sama dengan yang diambil pada langkah sebelumnya. Hanya saja, kita akan melakukannya pada tiap kolom dari matriks. Operasi penghilangan elemen pun tetap dilakukan hanya saja kali ini dilakukan pada baris dimana elemen nol pada satu kolom ditemukan. Dengan demikian, matriks baru yang terbentuk adalah : a 2 [0] X 1 b 2 1 X [0] c 2 3 [0] 1 d [0] 1 X X Jawaban optimum sekarang telah ditemukan. Tiap nilai nol yang diberi kurung siku merupakan jawaban dari persoalan yang telah diberikan. Yang perlu kita lakukan sekarang adalah membandingkan nilai-nilai nol dengan kurung siku tersebut dengan nilai aslinya, lalu menjumlahkannya. Bila diperhatikan, nilai nol dengan kurung siku tersebut akan sesuai dengan tebakan awal kita, dan jawaban solusi optimumnya adalah 19. Ini merupakan nilai terkecil yang harus dibayar oleh perusahaan tersebut untuk membayar semua pegawainya. Pertanyaan yang muncul sekarang adalah : bagaimana bila jumlah dari pekerja dan pekerjaan tidak sama? Telah dibahas pada bab sebelumnya bahwa kita akan menggunakan elemen dummy pada matriks tersebut hingga jumlah dari pekerja dan pekerjaan sama. Berikut adalah contoh penyelesaian kasus dimana jumlah pekerja dan pekerjaan tidak sama :

a 7 5 8 4 b 5 6 7 4 c 8 7 9 8 Untuk persoalan di atas, kita menambahkan elemen dummy sebagai pekerja d dengan nilai dari tiap elemen nol. a 7 5 8 4 b 5 6 7 4 c 8 7 9 8 d 0 0 0 0 Kita lakukan prosedur yang telah kita terapkan pada contoh sebelumnya pada matriks di atas hingga kita mendapatkan sebuah matriks baru: a 3 1 4 [0] b 1 2 3 X c 1 [0] 2 1 d [0] X X X Terlihat dari matriks di atas bahwa solusi masih belum ditemukan. Kita harus melakukan prosedur berikutnya agar solusi dapat ditemukan. Solusi berikutnya yang kita lakukan adalah membuat garis penanda yang melalui tiap elemen nol. Perlu diingat bahwa X juga sebenarnya adalah bilangan nol sehingga X pun harus dilalui oleh garis penanda tersebut. a 3 1 4 [0] b 1 2 3 X c 1 [0] 2 1 d [0] X X X Langkah berikutnya yang kita lakukan adalah menentukan nilai minimum dari matriks berbobot di atas dengan syarat bahwa bilangan tersebut tidak dilalui oleh garis penanda. Kita dapatkan bahwa bilangan tersebut adalah 1. Kita harus mengurangi tiap elemen yang tidak dilalui oleh garis penanda dengan bilangan ini. Akan tetapi, tiap bilangan yang dilalui oleh dua buah garis penanda harus dijumlahkan dengan bilangan ini. Dengan demikian matriks baru yang terbentuk adalah sebagai berikut : a 2 1 3 0 b 0 2 2 0 c 0 0 1 1 d 0 1 0 1 Setelah itu kita melakukan lagi prosedur yang telah kita lakukan sebelumnya (prosedur 3), yaitu mengecek nilai nol pada baris dan kolom hingga himpunan solusi terbentuk. Gambar di bawah merupakan matriks yang baru setelah prosedur tersebut dilakukan. a 2 1 3 [0] b [0] 2 2 X c X [0] 1 1 d X 1 [0] 1 Dengan demikian, solusi telah ditemukan. Kita akan membandingkan nilai dari solusi yang didapat dengan nilai aslinya. Setelah dibandingkan, didapatkan nilai dari solusi adalah 4 + 5 + 7 + 0 = 16. Nilai ini akan sama dengan nilai yang kita temukan dengan nalar kita ataupun dengan algoritma brute force. 2.2 Analisis Kasus Dari contoh-contoh kasus di atas, didapatkan bahwa solusi yang didapat dengan menggunakan algoritma hungarian dalam penyelesaian masalah matriks berbobot akan selalu optimum. Selain itu, dengan menggunakan algoritma hungarian, kompleksitas solusi yang dihasilkan akan bersifat polinomial. Hal ini akan sangat menghemat sumber daya komputer bila dibandingkan dengan algoritma brute force yang kompleksitas algoritmanya faktorial. III. KESIMPULAN

Algoritma hungarian merupakan salah satu algoritma yang dapat dipergunakan untuk menyelesaikan persoalan assignment dengan biaya terkecil. Solusi yang diperoleh bila kita menggunakan algoritma hungarian akan selalu optimum. REFERENSI [1] Munir, Rinaldi. Strategi Algoritmik. Teknik Informatika ITB. 2005. [2] http://en.wikipedia.org/wiki/hungarian_algorithm