• Tidak ada hasil yang ditemukan

PENCARIAN PERFECT MATCHING MAKSIMUM PADA GRAPH BIPARTISI BERBOBOT DENGAN MENGGUNAKAN ALGORITMA PRIMAL DUAL MATCHING

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENCARIAN PERFECT MATCHING MAKSIMUM PADA GRAPH BIPARTISI BERBOBOT DENGAN MENGGUNAKAN ALGORITMA PRIMAL DUAL MATCHING"

Copied!
7
0
0

Teks penuh

(1)

PENCARIAN PERFECT MATCHING MAKSIMUM PADA GRAPH BIPARTISI BERBOBOT DENGAN MENGGUNAKAN ALGORITMA PRIMAL DUAL

MATCHING

Siti Muyasaroh1, Sapti Wahyuningsih2, Susy Kuspambudi A3 Universitas Negeri Malang

E-mail: muya_saroh82@ymail.com

Abstrak : Matching merupakan permasalahan yang memasangkan tepat satu. Sedangkan perfect matching di G=(V,E) adalah matchingM dengan setiap titik di V terkait dengan tepat satu sisi di M sedangkan matching berukuran maksimum di graph G adalah

matching M yang mempunyai ukuran terbesar. Algoritma primal dual matching merupakan salah satu algoritma yang dapat digunakan ke n untuk menyelesaikan permasalahan

matching. Pada algoritma primal dual matching, pemilihan sisi ditentukan oleh feasible vertex labeling di man bobot sisi terbesar di pilih untuk dijadikan sisi pada graph baru. Penerapan algoritma primal dual matching pada permasalahan matching dapat memperoleh solusi yang optimum. Hal ini terjadi karena pemilihan sisinya ditentukan dengan memilih sisi yang mempunyai sisi yang memiliki bobot maksimum. Selain itu, algoritma primal dual

matching lebih efisien di banding algoritma lain karena pencarian perfect matching lebih cepat.

Kata Kunci: Algoritma Primal Dual Matching, Matching, Perfect Matching Maksimum

Abstract: Matching is a problem that pairing the right one. While perfect matching in G = (V, E) is a matching M with every point in V associated with exactly one sided in M while the maximum size matching in graph G is matching M that has the largest size. Primal dual matching algorithm is one of algorithms which can be used to n to resolve matching

problems. In the primal dual matching algorithm, the selection of the feasible vertex labeling is determined by the weight of the largest in the man chosen to be on the side of the new graph. Application of primal dual algorithm matching the matching problem can obtain the optimum solution. This occurs because the selection is determined by choosing the side that has the side that has the maximum weight. In addition, primal dual matching algorithm more efficient than other algorithms for perfect matching search faster.

Keywords: Primal Dual Algorithm Matching, Matching, Perfect Matching Maximum

Matching merupakan permasalahan dengan ketentuan berpasangan tepat satu-satu, misalnya saja pada masalah penugasan, penjodohan dan masalah pengujian obat. Perfect matching di G=(V,E) adalah matchingM dengan setiap titik di V terkait dengan tepat satu sisi di M sedangkan matching maksimum adalah matching berukuran maksimum di G adalah

matching M yang mempunyai ukuran .Pada artikel ini membahas penyelesaian permasalahan Matching dengan menggunakan algoritma primal dual matching.

Untuk menyelesaikan permasalahan matching dapat digunakan berbagai algoritma, diantaranya adalah algoritma path augmenting dan algoritma greedy. Algoritma primal dual

matching merupakan algoritma yang dapat memperluas atau memprsempit matching dari batasan-batasan yang ada, sehingga terdapat beberapa alternatif dalam menentukan solusi. Algoritma primal dual matching diawali dengan pemilihan feasible vertex labeling di mana sisi yang memiliki bobot maksimum terpilih untuk dijadikan graph baru.Untuk mambahas permasalahan ini, diperlukan formulasi sebagai berikut :

(2)

Primal

Variabel didefinisikan sebagai berikut

Untuk memaksimalkan matching , berdasarkan teori dualitas maka diproleh fungsi tujuan : ∑

Dengan batasan-batasan sebagai berikut :

∑ ∑

Dalam hal ini, 1 merupakan banyaknya kapasitas sumber yang diharapkan sedangkan

Dual

Untuk meminimalkan banyaknya titik yang terkait pada sisi matching, berdasarkan teori dualitas diperoleh fungsi tujuan : ∑

adalah titik yang terkait pada sisi matching

Batasan-batasan

Keterangan :

: sisi yang terhubung : bobot sisi

: titik sumber : titik tujuan

: titik yang terkait dengan matching

: titik yang terkait yang berada di himpunan titik : titik yang terkait yang berada di himpunan titik Hasil yang diharapkan

Hasil yang diharapkan pada artikel ini adalah dengan primal dual matching dapat menghasilkan alternatif solusi yang lebih bervariasi. Algoritma primal dual matching juga dapat menghasilkan solusi yang optimum karena memasangkan sisi yang mempunyai bobot yang maksimum. Algoritma primal dual matching dapat lebih efektif dan efisien dari pada algoritma lain karena pada pemilihan sisi hanya dilakukan pada sisi yang nilai feasible vertex labelling-nya sama dengan nol.

Pembahasan

Algoritma Primal Dual Matching pada Matching

Berdasarkan pada Penyelesaian permasalahan matching dengan menggunakan

algoritma primal dual matching melalui beberapa langkah. Langkah – Langkah penyelesaian yang dimaksud yaitu :

Langkah I

1. Gambar graph bipartisi

2. Representasikan bobot ke dalam matrik berbobot

3. Definisikan y sebagai feasible vertex labeling dengan ( )

, Bentuk tabel untuk mempermudah pemberian feasible vertex labeling

1, jika sisi (i,j) adalah sisi matching 0, jika sisi (i,j) adalah bukan sisi matching

(3)

Langkah II : primal Step

4. Bangun graphGy , di mana Gy=( ) | ( ) } 5. Pilih sembarang Mathing M di Gy dengan menggunakan algoritma path augmenting, jika

tidak ditemukan titik bebas dan sisinya insident maka M adalah perfect matching. Jika tidak, bentuk : kemudian himpun

{ } lanjutkan ke Dual step Langkah III : Dual Step

6. Cari nilai , di mana 7. Perluas dengan {

8. Perbesar matchingM dengan menggunakan path augmenting kemudian cari sehingga menghasilkan perfect matching maksimum M* dengan nilai dual ∑ ∑ , jika belum perfect matching maksimum maka

kembali ke langkah 7

Contoh Permasalahan matching menggunakan algoritma primal dual matching

Sebagai gambaran pembahasan permasalahan Matching menggunakan algoritma primal dual

matching, diberikan contoh permasalahan beserta penyelesaiannya yaitu :

Misalkan jika terdapat pelamar kerja sebanyak 4 orang dan 4 posisi kerja yang diinginkan, seperti yang digambarkan pada tabel di bawah ini :

Tabel 1 pelamar kerja dan posisi kerja

Nama Pelamar Kerja Posisi Kerja

Aziz Marketing

Fuad Admin

Rama Customer Service

Andri HRD

Untuk menentukan perfect matching maksimum dari graph G pada Gambar 3.1 diatas dipergunakan algoritma primal-dual oleh Mohammad R. Salavatipour. Langkah-langkah penyelesaiannya adalah sebagai berikut :

Langkah I

1. Representasi graph

Gambar 1 : Reperentasi Graph

a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 1 0 9 7 6 7 8 5 5 6 8 8 6

A

B

(4)

2. Representasi matrik berbobot (8 7 8 6 6 8 5 8 9 6 9 7 8 5 10 6 )

3. Dengan menggunakan feasible vertex labeling diperoleh tabel sebagai berikut

Tabel 2 : feasible vertex labelling

yai 6 10 5 8 10 7 9 6 9 9 8 5 7 6 8 7 8 8 6 8 ybj 0 0 0 0

Langkah II : Primal Step

4. Membangun graphGy , di mana Gy= ( ) , sehingga diperoleh matrik baru berikut :

(0 7 0 6 6 0 5 0 0 6 0 7 8 5 0 6 )

Gambar 2 : Hasil iterasi primal 1

5. Dengan menggunakan algoritma path aughmenting diperoleh M = {(a1,b2),(a2,b4),(a4,b3)} a1 a3 a2 a4 b4 b3 b2 b1 A B

(5)

Gambar 3: hasil iterasi primal 2

karena masih ada titik bebas maka ditemukan S = {a3}, : maka L = {a3-b3-a4} dilanjutkan ke dual step Langkah III : Dual step

6. Karena diperoleh L = {a3-b3-a4} sehingga untuk menghitung adalah

7. Diperoleh nilai minimum adalah = 1,untuk Maka :

Sehingga pilih sisi ditambahkan ke Ey.

8. Ditemukan path augmenting P = {(a3,b3),(a4,b3),(a4,b1)}, dengan M =

{(a1,b2),(a2,b4),(a4,b3)} sehingga

Tabel 3: hasil iterasi akhir

yai 5 0 6 8 10 7 9 6 9 9 8 5 0 6 8 0 7 8 6 7 ybj 1 0 0 0

Dari tabel di atas diperoleh :

Nilai Dual : ∑ ∑

Karena ∑ ∑ dan semua sisi incident maka diperoleh perfect matching maksimum dengan M*={ }

a1 a3 a2 a4 b4 b3 b2 b1 A B

(6)

Gambar 4 : hasil iterasi terakhir

Analisa Algoritma Primal Dual Matching pada Matching

Permasalahan matching menggunakan algoritma primal dual matching dimulai dengan pemilihan feasible vertex labelling yaitu dengan mencari sisi yang memiliki bobot maksimum. Proses pencarian perfect matching relatif cepat karena adanya pemilihan sisi dengan tidak akan terpilih lagi untuk iterasi selanjutnya,dan langsung ditemukan perfect matching. Selain itu, langkah pencarian perfect mathing maksimum sangat unik karena terdiri dari beberapa step, sehingga hasil yang diperolehpun lebih optimal. Namun, dalam proses penyelesaiannya algoritma primal dual membutuhkan ketelitian dalam menghitung

banyaknya sisi dan menentukan titik yang memiliki sisi minimum. Algoritma ini juga tidak bisa berdiri sendiri dalam pencarian matching.

Kesimpulan dan Saran

1. Untuk menentukan perfect matching maksimum pada graph bipartisi berbobot dapat digunakan algoritma primal dual matching . Pencarian dengan menggunakan algoritma ini dimulai dengan langkah mencari bobot terbesar untuk dijadikan Graph baru dalam proses pencarian matching maksimum dalam primal step, jika matching yang ditemukan belum perfect matching maka bentuk : kemudian himpun { } kemudian pencarian tetap dilanjutkan sampai ke dual step. Selanjutnya adalah menghitung nilai , di mana ,Perluas dengan

{

Dari perhitungan memperbesar matchingM dengan menggunakan algoritma greedy

atau algoritma path augmenting kemudian cari sehingga menghasilkan perfect matching maksimum M* dengan nilai dual ∑ 2. Algoritma primal dual matching dapat diterapkan dalam beberapa kasus. Salah satu

kasus yang diterapkan pada artikel ini adalah pada kasus penempatan karyawan. Dalam algoritma primal dual matching,proses graph pencarian perfect matching maksimum dengan menggunakan algoritma primal dual matching relatif lebih cepat hal ini dikarenakan pada algoritma primal dual matching penghitungan selisih bobot sisi minimum yang nantinya tidak dapat dipilih kembali sehingga proses menenentukan

perfect matching lebih cepat. Sedangkan kelemahannya adalah membutuhkan ketelitian yang lebih dalam menghitung dan menentukan titik yang memilki sisi paling minimum serta algoritma ini membutuhkan algoritma lain dalam penyelesaiannya. Namun

algoritma ini merupakan metode alternatif dalam menyelesaikan masalah matching pada graph bipartisi khususnya graph bipartisi lengkap maupun tidak lengkap.

a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 1 0 9 7 6 7 8 5 5 6 8 8 6

A

B

(7)

Daftar Rujukan

Slavatipour,Mohammad R. 2009. Primal Dual Matching Algoritma and Non-Bipartite Graph.Journal Mathematic,CMPUT675

Gambar

Tabel 1 pelamar kerja dan posisi kerja
Gambar 2 : Hasil iterasi primal 1
Gambar 3: hasil iterasi primal 2
Gambar 4 : hasil iterasi terakhir

Referensi

Dokumen terkait

Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar sarjana pada Fakultas Pendidikan Bahasa dan Sastra. ©Rima Puspasari 2016 Universitas

Demi pengembangan ilmu pengetahuan, dengan ini menyetujui untuk memberikan ijin kepada pihak Program Studi Sistem Informasi Fakultas Teknik Universitas Muria Kudus

Puji dan syukur kepada Tuhan Yang Maha Pengasih, yang telah memberikan berkat dan kasih-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini yang merupakan syarat utama yang

The teacher asked them to identify subject, verb, complements, connectors, conjunctive adverb, semicolon and dependent clauses and identify each type of the

Selain itu akibat hukum dari jual beli tanah tidak beserta dengan pohon kelapa di atasnya memiliki perbedaan dengan asas pemisahan horisontal yang dianut dalam

Beberapa isu yang muncul dalam Journal of Qur’anic Studies adalah komparasi translasi Qur’an ke dalam bahasa Inggris karya Yusuf Ali dan Muhammad Asad, studi translasi literal

Tujuan dari penelitian ini yaitu mengetahui kedalaman perairan kolam pelabuhan cargo dan jenis sedimen dasar perairan yang akan diolah menjadi peta batimetri dan

Dalam menyusun skripsi ini, digunakan metode penelitian hukum normatif yang bersifat deskriptif, dimana penelitian hukum normatif yaitu penelitian yang menganalisis