Algoritma matching graph
Algoritma Path Aughmenting 1.Cari vertex-vertex bebas, kemudian tentukan P (aughmenting path)yang melalui vertex-vertex tersebut. 2.Lakukan “Symmetric Difference”, 3.Gambar 3. Gambar Graph yang baru dengan matching matching yang baru 4.Cek apakah masih ada vertex yang bebas. Jika ya kembali kelangkah 1. Jika tidak tidak ditemukan lagi aughmenting path P,sehingga matching yang terakhir ditemukan adalah matchingmaksimum
Algoritma Edmons
1. Beri tanda genap untuk semua vertex bebas
2. Beri tanda unreached yang matched3. 3. Beri tanda examined edge bebas 4. Ketika ada sisi (v,w) tak examined dan aughmenting path tidakditemukan lagi maka tandai (v,w) sebagai examined 5. Bagi menjadi 3 kasus 6. Kasus pertama jika v genap dan w unreached maka tandai wsebagai ood, dan belahannya z genap. Perluas hutan dengan (u,v)dan sisi yang matched 7. Kasus dua v,w genap dan v,w Є sub pohon yang berbeda (yang awalnya tidak terhubung), maka lintasan aughmenting ditemukan. 8. Kasus tiga jika v,w genap dan Є subtree yang sama maka blossom(sikel) blossom(sikel) B ditemukan kerutkan B menjadi vertex b (genap)
Algoritma Hungaria
Langkah I 1. Pilih bilangan terbesar dalam setiap baris dan kurangkan bilan ganterbesar itu dengan setiap bilangan dalam baris itu. 2. Pilih bilangan terkecil dalam setiap kolom pada tabel yangdiperoleh dari langkah sebelumnya. Kurangkan setiap bilanganpada setiap kolom dengan bilangan terkecil pada kolom tersebut. Langkah II (uji keoptimalan) 1. Untuk menguji keoptimalan dengan menggunakan teknik garispenutup nol yaitu dengan membuat garis tegak/mendatar untukmenutup semua nol tetapi dengan banyak garis seminimummungkin.
2. Jika banyak garis penutup nol sama dengan n (ukuran matriks n xn), maka tabel sudah optimal. Bila ini terjadi, harus ke langkah IV. 3. Jika banyak garis penutup nol kurang dari n (ukuran matriks n x n),maka matriks belum optimal dan bila ini terjadi, harus ke langkah III Langkah III Tinjau bilangan yang sama sekali belum tertutup garis penutup nol. Pilihbilangan terkecil dalam kelompok tersebut. Kurangkan setiap bilanganyang tidak tertutup garis penutup nol dengan bilangan terkecil tersebut dantambahkan setiap bilangan yang terletak pada perpotongan garis penutupnol dengan bilangan terkecil tadi. Selanjutnya langkah II. Langkah IV Mencari angka-angka nol yang menyusun pola optimal yaitu dengan cara: 1. pilih angka nol yang sendirian dalam baris atau kolom 2. coret baris dan kolom yang memuat nol yang terpilih tadi 3. ulangi lagi kerja di atas terhadap sisa angka -angka nol yang belumterpilih 4. bila masih terdapat lebih dari satu angka nol pada baris/kolom,pilih salah satu diantara mereka. Kemudian ulangi langkah III.
ALGORITMA KUHN-MUNKERS Dimulai dengan sembarang feasible vertex labeling l tentukan G dan pilih sembarang matching
M di G 1. Jika X adalah M-saturated, maka M adalah perfect matching(karena |x|=|Y|) dan karena itu, berdasarkan teorema 3.2.1 makaM matching optimal. Dalam kasus ini, algoritma berhenti. Jikatidak, misal u suatu titik M-unsaturated. Bentuk S = {u} dan T= ᴓ 2. Jika N G ( S ) T lanjutkan ke langkah 3, jika tidak, min{| X | | Y | w( xy)} Dan xS yT
I (v) , jika S I I (v) , jika S feasible vertex labeling l diperoleh dari I (v), untuk lainnya ˆ
perhatikan bahwa 0 dan N G ( S) T kemudian ganti
dengan I dan G dengan G ˆ
3. Pilih suatu titik y di N G ( S ) / T . jika y M-saturated dengan
y z M, maka ganti S dengan S {z} dan T dengan T {y} , dan kembali ke langkah 2. Jika y M-unsaturated, maka misalkan Psuatu M-augmenting (u,y) di G .
ganti M k dengan = M E (P) dan kembali ke langkah 1.
ALGORITMA GREEDY Langkah-langkah menentukan matching maksimal denganmenggunakan algoritma Greedy adalah sebagai berikut :1.
1. 2. 3. 4.
Ambil sebarang Mn = dengan n =1,2,3,… Pilih sisi en yang tidak mempunyai sisi yang sama dengan sisi di MnJika Mn+1 = Mn en- , ulangi dari langkah 2 dengan Mn = Mn+1 dan Mn+1 = Mn+2. Jika Mn+1 Mn en, berhenti. Jadi Mn adalah matching maksimal.
Langkah-langkah menentukan matching maksimum denganmenggunakan algoritma Greedy adalah sebagai berikut : 1. Ambil sebarang matching M di G. 2. Konstruksi suatu alternating tree pada graph G. 3. Temukan blossom pada alternating tree , kemudian susutkanblossom tersebut untuk mendapatkan graph baru G/B. 4. Temukan path augmenting yang melalui b ke akar r. 5. Perbesar matching M dengan menggunakan path P yang menghasilkan matching maksimum. Algoritma-Algoritma terbaru pada matching yang belum diterapkanpada PKL ataupun Skripsi :1. 1. Algoritma pencarian string
Pencocokan string (string matching) menurut Dictionary of Algorithms and Data Structures, National Institute of Standards and Technology (NIST), diartikan seba gai sebuah permasalahan untuk menemukan pola susunan karakter string di dalam string lain atau bagian dari isi teks. Ada beberapa macam algoritma string: a. Algoritma Knuth-Morris-Prattb. b. Algoritma Colussi Algoritma Colussi merupakan suatu pengembangan dari algoritma Knuth-MorrisPratt. Pada algoritma Colussi sendiri,himpunan dari posisi pola dibagi menjadi dua sub himpunan terpisah. c. Algoritma Boyer-Moore Algoritma Boyer-Moore adalah salah satu algoritma pencarian string. Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi umum. Tidak seperti algoritma pencarian string yang ditemukan sebelumnya, algoritma Bo yer-Moore mulai mencocokkan karakter dari sebelah kanan pattern. Ide di balik algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyakinformasi yang didapat.
d. Algoritma Brute Force String Match Algoritma brute force string match adalah algoritma yangpaling sederhana untuk memecahkan masalah string match. Carakerja algoritma ini adalah dengan mencoba setiap posisipattern(kata yang akan dicocokkan) terhadap teks, kemudiandilakukan proses pencocokan setiap katakter dan teks pada posisitersebut. e. Algoritma Genetika Algoritma genetika bertujuan untuk mencari individu den gannilai fitness yang paling tinggi. Nilai fitness adalah nilai yangmenyatakan baik tidaknya suatu solusi(individu). Nilai fitness iniyang dijadikan acuan dalam mencapai nilai optimal algoritmagenetika 2. Algoritma phonetic string matching
Pencocokan string berdasarkan kemiripan ucapan (phonetic string matching) merupakan pencocokan string dengan dasar kemiripan dari segi pengucapannya meskipun ada perbedaan penulisan dua string yang dibandingkan tersebut. Algoritma phonetic string matching meliputi algoritma soundex, metaphone, dan caverphone. 1. Algoritma soundex merupakan algoritma yang paling banyak digunakan. Algoritma Soundex menghasilkan kode fonetik dengan panjang empat karakter untuk semua panjang string masukan 2. Algoritma metaphone merupakan algoritma yang melakukan penanganan secara khusus terhadap setiap fonem (satuan bunyibahasa) d alam kata. 3. Algoritma caverphone merupakan algoritma yang masih baru dan berusaha menyempurnakan algoritma-algoritma terdahulu. 4. Ketiga algoritma memiliki langkah umum yang sama dalammencocokkan kata.
2.3 Hasil penelitian yang sudah di lakukan
1. Makalah ini merujuk pada skripsi yang ditulis oleh Irawati Dwi Anggraeni yang berjudul ”Penentuan Matching Maksimal dan Matching Maksimum Pada Graph Sederhana” yang membahas tentang teori-teori serta contoh aplikasi matching baik dengan menggunakan algoritma matching maksimum untuk graph sederhana maupun masalah penugasan yang diselesaikan dengan menggunakan algoritma Greedy dan Algoritma Edmonds. 2. Laporan PKL dengan judul ”Optimalisasi Pemilihan Crew dan Kasir untuk Mendapatkan Promosi Kenaikan Jenjang Karir pada CV.FANTASINDO CITRA ABADI Cabang Kediri 2 (Game Fantasia Kediri 2) dengan Menggunakan Algoritma
Path Aughmenting pada Matching Graph”, yang ditulis oleh Ayu Sadika, yang hasilnya dapat memberikan solusi pemilihan crew dan kasir sesuai dengan skill dan kemampuan individual. Dimana permasalahan tersebut dapat dipresentasikan dalam bentuk graph bipartisi, yakni banyaknya crew & kasir dan posisi kerja yang akan ditempati sebagai titik serta nilai dari pembobotan masa kerja, pendidikan terakhir, penilaian etos kerja oleh store manager, kedisiplinan, kesesuaian posisi kerja, rekomendasi dari store manager sebagai bobot sisi. 3. Laporan PKL dengan judul ”Optimalisasi penugasan wartawan PT.Malang Post Tbk menggunakan algoritma pada matching” yang di tulis oleh Ameita dkk, yang hasilnya dapat memberikan solusi penempatan wartawan pada bagian berbeda sesuai dengan skill kemampuan individual serta satu posisi hanya boleh diisi oleh satu wartawan saja. 4. Skripsi yang di tulis oleh Andrieanto dengan judul “Pencarian perfect Macthing optimal dengan menggunakan algoritma khunmunkers” tahun 2008 yang membahas tetang graf bipartisi yang berbobot dan tak berbobot. Pada graf bipartisi berbobot digunakan sebuah algoritma untuk mencari perfect matching dengan bobot maksimal yaitu algoritma khunmunkres dengan menggunakan bahasa pemrogaman Delphi. 5. Skripsi yang ditulis oleh Evira dengan judul “Penentuan Matching Maksimum dan Matching Maksimal pada Graf Sederhana dengan menggunakan Algoritma Greedy dan Algoritma Edmons” tahun 2009 yang membahas tentang pencarian matching maksimum dan matching maksimal pada graf sederhana dengan menggunakan menggunakan algoritma greedy dan algoritma edmons.