• Tidak ada hasil yang ditemukan

PERANGKAT LUNAK PENGAMBILAN KEPUTUSAN DALAM PENJADWALAN DENGAN METODE RECURSIVE LARGEST FIRST

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANGKAT LUNAK PENGAMBILAN KEPUTUSAN DALAM PENJADWALAN DENGAN METODE RECURSIVE LARGEST FIRST"

Copied!
5
0
0

Teks penuh

(1)

PERANGKAT LUNAK PENGAMBILAN KEPUTUSAN

DALAM PENJADWALAN DENGAN METODE

RECURSIVE LARGEST FIRST

Sadar Aman Gulo (0911040)

Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan

www.stmik-budidarma.ac.id //Email : [email protected] ABSTRAK

Pewarnaan simpul graph adalah memberi warna pada simpul-simpul di dalam graf sedemikian sehingga setiap dua simpul bertetangga mempunyai warna yang berbeda. Pewarnaan simpul graph ini dapat diterapkan untuk membantu pengambilan keputusan dalam penjadwalan. Dalam pembahasan kali ini, akan digunakan algoritma pewarnaan simpul graph Recursive Largest First.

Proses kerja dimulai dari pengisian data variabel, daftar nama variabel dan setting hubungan dari setiap variabel. Setelah itu, proses dilanjutkan dengan penggambaran graph berdasarkan data yang di-input. Simpul-simpul pada graph menyatakan variabel terikat. Sisi yang menghubungkan dua buah simpul menyatakan ada hubungan antara variabel tersebut dengan variabel terikat. Kemudian, proses dilanjutkan dengan pewarnaan simpul graph dan diakhiri dengan pengambilan keputusan berdasarkan warna dari simpul graph. Warna-warna yang sama pada simpul graph menunjukkan bahwa variabel terikat yang diwakili oleh simpul graph tersebut dapat dijadwalkan pada waktu yang sama.

Perangkat lunak pengambilan keputusan dalam penjadwalan dengan algoritma Recursive Largest First ini menyediakan antarmuka untuk mengisi data-data variabel, daftar nama variabel dan setting hubungan dari setiap variabel dari problema yang diinginkan. Perangkat lunak ini mampu menampilkan tahapan-tahapan proses pewarnaan simpul graph dengan menggunakan algoritma Recursive Largest First secara terperinci tahapan demi tahapan.

Kata Kunci : Pewarnaan simpul graph, pengambilan keputusan, Penjadwalan, algoritma Recursive Largest First

1. Pendahuluan

Mutual exclusion merupakan salah satu mekanisme yang dapat digunakan untuk Pewarnaan simpul graph adalah memberi warna pada simpul-simpul di dalam graph sedemikian sehingga setiap dua simpul bertetangga mempunyai warna yang berbeda. Banyak algoritma yang dapat digunakan untuk mewarnai simpul graph. Salah satu algoritma yang dapat digunakan untuk melakukan pewarnaan simpul graph adalah algoritma Recursive Largest First.

Algoritma pewarnaan simpul graph dapat diterapkan dalam persoalan penentuan jadwal, seperti penentuan jadwal ujian. Jadwal ujian harus disusun sedemikian rupa sehingga setiap mahasiswa dapat mengikuti ujian dari semua mata kuliah yang diambil. Di dalam persoalan ini, permasalahannya tidak hanya sekedar mewarnai simpul-simpul dengan warna berbeda dari warna simpul tetangganya saja, namun juga menginginkan jumlah macam warna yang digunakan sesedikit mungkin. Jumlah warna minimum yang dapat digunakan untuk mewarnai simpul disebut bilangan kromatik. Penyelesaian persoalan menentukan jadwal ujian sama dengan

menentukan bilangan kromatik graph yaitu dengan cara menggambarkan graph yang menyatakan penjadwalan ujian. Simpul-simpul pada graph menyatakan mata kuliah. Sisi yang menghubungkan dua buah simpul menyatakan ada mahasiswa yang memilih kedua mata kuliah itu. Berdasarkan graph tersebut dapat dikatakan bahwa apabila terdapat dua buah simpul yang dihubungkan oleh sisi, maka jadwal ujian untuk mata kuliah itu tidak dapat dibuat pada waktu yang sama. Warna-warna yang berbeda dapat diberikan pada simpul graph yang menunjukkan bahwa waktu ujian dari mata kuliahnya berbeda.

1.2. Rumusan Masalah

Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah bagaimana merancang perangkat lunak yang mampu untuk menerapkan algoritma Recursive Largest First dalam mengambil keputusan dalam penjadwalan.

(2)

Perangkat Lunak Pengambilan Keputusan Dalam Penjadwalan Dengan Metode 136 Karena keterbatasan waktu dan pengetahuan

penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini antara lain:

a. Perangkat lunak akan menampilkan proses kerja dari algoritma Recursive Largest First secara tahap demi tahap.

b. Proses pemahaman dari perangkat lunak hanya mendukung maksimal 8 buah simpul saja. c. Data yang di-input untuk proses penjadwalan

berupa:

• Data input variabel, terdiri dari jumlah dan nama variabel.

• Data isian variabel.

• Data hubungan antar variabel.

d. Data input akan disimpan ke dalam database Microsoft Access 2003.

e. Perangkat lunak dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0. 2. Algoritma Recursive Largest First

Algoritma Recursive Largest First yang merupakan varian dari algoritma Welch-Powell ini ditemukan oleh Leighton. Algoritma ini merupakan salah satu algoritma yang paling sering digunakan untuk mewarnai sebuah graph G.

Algoritma Recursive Largest First ini dapat dinyatakan sebagai berikut :

colorCount = 1;

while uncolored vertices exist

make a list L of all uncolored vertices while L is not empty

find the vertex v in L with the largest number of

uncolored neighbors color[v] = colorCount

remove v from L and also remove v’s neighbors

colorCount ++

Output the number of colors needed and the color for each vertex

Flowchart proses kerja dari algoritma Recursive Largest First dapat dilihat pada gambar berikut:

Gambar 1. Flowchart dari Algoritma Recursive Largest First

3. Pembahasan 3.1. Algoritma

Algoritma yang digunakan untuk merancang perangkat lunak pengambilan keputusan dalam penjadwalan dengan algoritma Recursive Largest First (RLF) ini dapat dibagi menjadi 4 bagian besar yaitu:

1. Algoritma Passing Data

2. Algoritma Inti Recursive Largest First (RLF). 3. Algoritma Memilih Simpul.

4. Algoritma Membuat Daftar Simpul.

5.

Algoritma Membuang Simpul dari Daftar Simpul

.

3.2. Algoritma Passing Data

Algoritma ini digunakan untuk melakukan proses pembacaan data dari database dan pengisian data tersebut ke dalam variabel Node yang akan

(3)

digunakan untuk menggambarkan graph. Prosedur kerja dari algoritma passing data ini dapat dijabarkan sebagai berikut:

Buka recordset cSQL Buat List L

Baca semua isi Recordset sampai kosong

Isi setiap data dari Recordset ke masing – masing node ke dalam List L

Tutup Recordset

3.3. Algoritma Inti Recursive Largest First (RLF) Algoritma ini digunakan untuk melakukan proses pewarnaan simpul graph dengan menggunakan algoritma recursive largest first (RLF). Prosedur kerja dari algoritma inti RLF ini dapat dijabarkan sebagai berikut:

Selama Node masih ada yang belum diwarnai

Buat list yang berisi node yang belum diwarnai

Selama list tersebut tidak kosong

Cari node pada list yang berisi nilai node tertinggi

dengan fungsi GetMaxNode Warnai node

Buang node yang sudah diwarnai

3.4. Algoritma Memilih Simpul

Algoritma ini digunakan untuk memilih simpul yang memilih jumlah simpul tetangga terbanyak yang belum diwarnai. Algoritma ini berbentuk fungsi yang mengembalikan nilai indeks dari simpul (node) yang terpilih. Prosedur kerja dari algoritma memilih simpul ini dapat dirincikan sebagai berikut:

Buka List L

Baca jumlah tetangga tiap node sampai list kosong

Jika jumlah tetangga lebih besar dari MaxNode maka

MaxNode = jumlah tetangga dari node

3.5. Algoritma Membuat Daftar Simpul

Algoritma ini digunakan untuk membuat daftar (list) dari simpul yang belum diwarnai. Algoritma ini berbentuk prosedur yang tidak mengembalikan nilai. Prosedur kerja dari algoritma membuat daftar simpul ini dapat dirincikan sebagai berikut:

Buka List L Buat List Temp

Baca semua warna node dari List L Jika node belum diwarnai

Masukkan isi node ke dalam List Temp

3.6. Algoritma Membuang Simpul Dari Daftar Simpul

Algoritma ini digunakan untuk membuang simpul yang telah diwarnai dan semua simpul yang bertetangga dengan simpul yang telah diwarnai tersebut dari daftar (list) simpul yang belum diwarnai. Algoritma ini berbentuk prosedur yang tidak mengembalikan nilai. Prosedur kerja dari algoritma membuang simpul dari daftar simpul ini dapat dirincikan sebagai berikut:

Buka List L

Cari nilai node yang sudah diwarnai Cari node tetangga yang berhubungan dengan node yang sudah diwarnai Masukkan masing-masing node tetangga ke dalam List Temp

Hapus List L

Masukkan List Temp ke dalam List L Hapus List Temp

3.7. Hasil

Gambar 2. Rancangan Menu Perangkat Lunak 1. Tampilan form ‘Pemahaman’:

Form ini digunakan untuk menampilkan proses kerja dari algoritma Recursive Largest First dalam mewarnai simpul graph secara terperinci langkah demi langkah. Tampilan form ‘Pemahaman’ dapat dilihat pada gambar 3:

(4)

Perangkat Lunak Pengambilan Keputusan Dalam Penjadwalan Dengan Metode 138 Gambar 3. Tampilan Form Pemahaman

2. Tampilan form ‘Hasil’:

Form ini digunakan untuk menampilkan hasil pengambilan keputusan dalam penjadwalan untuk problema yang dipilih dengan menggunakan algoritma Recursive Largest First. Tampilan form ‘Hasil’ dapat dilihat pada gambar 4:

Gambar 4. Tampilan Form Hasi 3.8. Pengujian Perangkat Lunak

Berikut diberikan sebuah contoh pengambilan keputusan dalam penjadwalan dengan menggunakan input berikut:

Nama Problema : Penjadwalan Mata Kuliah Jumlah Variabel : 2

Nama Variabel : Mata Kuliah dan Mahasiswa

Variabel Terikat : Mata Kuliah Rincian Data :

Tabel 1. Rincian Data Mata Kuliah

Nomor Isi 1 Agama 2 Digital 3 Fisika 4 Kriptografi 5 Kalkulus 6 Kimia

Tabel 2. Rincian Data Mahasiswa

Nomor Isi 1 Anto 2 Badu 3 Budi 4 Cindy 5 Dodi Hubungan antar variabel :

Hasil output perangkat lunak :

1. Tampilan form Pemahaman sebelum proses

pewarnaan simpul graph dilakukan:

Gambar 5 : Tampilan Form Pemahaman Sebelum Proses Pewarnaan Simpul Graph Dilakukan 2. Tampilan form Pemahaman setelah proses

pewarnaan simpul graph dilakukan:

Gambar 6 : Tampilan Form Pemahaman Setelah Proses Pewarnaan Simpul Graph Dilakukan

(5)

Hasil yang diperoleh:

Agama,Digital boleh dijadwalkan pada waktu yang sama

Kalkulus,Kimia boleh dijadwalkan pada waktu yang sama

Fisika,Kriptografi boleh dijadwalkan pada waktu yang sama

4. Kesimpulan dan saran 4.1. Kesimpulan

Setelah menyelesaikan tugas akhir ini, penulis menarik beberapa kesimpulan sebagai berikut :

1. Perangkat lunak dapat digunakan untuk membantu pengambilan keputusan dalam penjadwalan, karena mampu memberikan daftar simpul yang dapat diwarnai dengan warna yang sama.

2. Perangkat lunak mampu menampilkan proses kerja dari algoritma Recursive Largest First dalam melakukan pewarnaan simpul graph secara tahap demi tahap sehingga dapat digunakan untuk memahami proses kerja dari algoritma Recursive Largest First.

4.2. Saran

Penulis ingin memberikan beberapa saran yang mungkin berguna untuk pengembangan perangkat lunak lebih lanjut, yaitu :

1. Perangkat lunak dapat dikembangkan lebih lanjut dengan menerapkannya pada proses pembagian waktu dalam penjadwalan.

2. Perangkat lunak dapat dikembangkan dengan menambahkan kemampuan input yang dapat

mempermudah user dalam menentukan variabel dan hubungan antar variabel, misalnya user dapat menentukan hubungan antar variabel hanya dengan menarik garis antara node yang satu dengan yang lainnya.

DAFTAR PUSTAKA

1. Suryokusumo,Ario “Microsoft Visual Basic 6.0”Penerbit PT Elex Media Komputindo,2001 2. Promono,Djoko”Mudah Menguasai Visual

Basic 6.0” Penerbit PT Elex Media Komputindo, 2001

3. Munir,Ralph Rinaldi“Algoritma Dan Pemrograman”Edisi Kedua,2002

4. Munir,Rinaldi “Matematika Diskrit” PenerbitInformatika Bandung, 2005

5. http://springerlink.com/index/H8VH5L18474735 41.pdf

Gambar

Gambar 1.  Flowchart dari Algoritma Recursive  Largest First
Gambar 2. Rancangan Menu Perangkat Lunak
Gambar 4. Tampilan Form Hasi

Referensi

Dokumen terkait

Bagian ketiga berisi penjelasan lebih rinci tentang kebutuhan perangkat lunak SIPKBEGUR yang akan dikembangkan, mencakup tentang kebutuhan antarmuka eksternal, Diagram Alir

Pada gambar antarmuka diatas terlihat ada beberapa menu dan sub menu, antara lain menu kelola pengguna untuk mengelola data pengguna yang akan menjalankan sistem,

Hasil pengujian menggunakan data referensi [16] menunjukkan bahwa perangkat lunak yang dibangun memberikan ranking alternatif yang sama sehingga dengan adanya

Dari hasil analisis data dan pengujian hipotesis dengan menggunakan uji F diperoleh hasil secara bersama-sama variabel desentralisasi pengambilan keputusan dan

Hasil pengujian menggunakan data referensi [10] menunjukkan bahwa perangkat lunak yang dibangun memberikan ranking alternatif yang sama sehingga dengan adanya