• Tidak ada hasil yang ditemukan

IMPLEMENTASI METODE FUZZY RULE BASE PADA KASUS JOB-SHOP DENGAN PENJADWALAN ADAPTIF

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI METODE FUZZY RULE BASE PADA KASUS JOB-SHOP DENGAN PENJADWALAN ADAPTIF"

Copied!
8
0
0

Teks penuh

(1)

1

IMPLEMENTASI METODE FUZZY RULE BASE

PADA KASUS

JOB-SHOP

DENGAN PENJADWALAN ADAPTIF

Husnul Hakim—Ahmad Saikhu, S.Si, MT

Jurusan Teknik Informatika ITS, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh

Nopember, Surabaya

Email : [email protected]

ABSTRAK

Penjadwalan job-shop merupakan permasalahan yang kompleks untuk dipecahkan. Metode penjadwalan yang tepat untuk suatu job-shop akan meningkatkan kinerja atau performa job-shop tersebut. Ada banyak pendekatan yang bisa digunakan untuk menyelesaikan penjadwalan job-shop, mulai dari pendekatan analitis, heuristik, dan simulasi.

Dalam tugas akhir ini, akan diimplementasikan fuzzy rule base untuk menyelesaikan penjadwalan job-shop. Logika fuzzy

yang diimplementasikan, digunakan untuk memilih

control vector yang tepat dalam menjadwalkan job-shop. Control vector adalah vektor yang elemen-elemennya merupakan bobot dari kriteria penjadwalan (dispatching rules). Dispatching rules

yang digunakan dalam tugas akhir ini adalah

Normalized Urgency of Next Workstation (NUNQ)

dan Normalized Processing Time (NPT). Fuzzy rule base akan menentukan kombinasi antara NPT dan NUNQ dengan bobot yang tepat untuk dijadikan sebagai aturan penjadwalan pada job-shop, sesuai dengan keadaan atau state

(direpresentasikan dengan state vectors) pada job-shop. Dengan demikian, penjadwalan job-shop

menjadi adaptif, karena pemilihan control vector

tergantung pada state vectors.

Hasil dari Tugas Akhir ini adalah rule

berupa pemilihan control vector terbaik untuk setiap fuzzy subspace. Pada tiap fuzzy subspace

terdapat nilai fuzzy dari state vectors. Nilai fuzzy

yang dipilih dalam Tugas Akhir ini adalah K=3, yang berarti bahwa state vectors difuzzifikasi untuk tiga ukuran, yaitu kecil, sedang, dan besar. Rule

yang terbentuk menunjukkan bentuk penjadwalan adaptif berdasarkan nilai fuzzy dari 4 state vectors, apakah kecil, sedang, atau besar.

Kata Kunci : Job-shop problem , Penjadwalan Adaptif, Fuzzy Rule Base

1. Pendahuluan

Penjadwalan job-shop merupakan bagian penting dalam mencapai produktivitas yang baik.

Masalah penjadwalan job-shop dapat ditangani dengan berbagai macam pendekatan yaitu dengan pendekatan analisis, heuristik, dan simulasi.

Pendekatan analitis berfokus pada permodelan dan perumusan matematika untuk mengatur penjadwalan. Pendekatan secara analitis hanya terbatas untuk kasus atau permasalahan yang berukuran kecil, sehingga tidak dapat menyelesaikan kasus-kasus penjadwalan yang kompleks.

Pada pendekatan heuristik, permasalahan pada penjadwalan job-shop diselesaikan dengan berfokus kepada pemilihan job-job sesuai prioritas dengan menggunakan dispatching rules. Melalui pendekatan ini diperoleh hasil penjadwalan yang lebih baik apabila dibandingkan dengan pendekatan analitis. Akan tetapi, masih tetap sulit untuk membuktikan kegunaan umum dari suatu rule

disebabkan oleh karakteristik sistem yang berbeda-beda.

Pendekatan simulasi lebih digunakan dalam penentuan atau penilaian terhadap rule-rule. Melalui proses simulasi, setiap rule akan dinilai performanya pada suatu periode waktu tertentu. Setelah diperoleh performa dari masing-masing

rule, kemudian akan diambil keputusan untuk penjadwalan. Pendekatan simulasi memiliki kekurangan untuk pengambilan keputusan secara

real-time.

Selain melalui pendekatan-pendekatan di atas, penjadwalan job-shop juga dapat diselesaikan melalui logika fuzzy. Dengan menggunakan logika

fuzzy, diharapkan penjadwalan yang dilakukan dapat lebih bersifat adaptif. Penjadwalan dengan logika fuzzy yang digunakan dalam penyusunan tugas akhir ini digunakan untuk membangun rule

yang tepat untuk menjadwalkan job-shop. Rule

yang dibangun menentukan control vector yang digunakan untuk menentukan prioritas job yang paling tepat untuk digunakan di dalam sistem. 2. Job-Shop Problem

Konsep penjadwalan job-shop adalah menentukan waktu suatu operasi mulai dikerjakan dan mengalokasikan resource untuk mengerjakan operasi tersebut. Pada saat menjadwalkan suatu operasi selain menentukan kapan operasi tersebut mulai dikerjakan juga ditentukan resource mana yang dipakai oleh operasi tersebut. Oleh karena itu,

(2)

2

pada saat menjadwalkan suatu operasi harus diperhatikan dua batasan (constraint) berikut ini. 1. Presedence Constraint.

Penjadwalan untuk setiap operasi dari job yang sama harus berurutan sesuai dengan

precedence constraint job tersebut. 2. Resource Constraint.

Penjadwalan setiap operasi membutuhkan sebuah resource untuk mengerjakan operasi tersebut. Pada saat operasi ini mulai diproses, resource tersebut harus sedang tidak dipakai oleh operasi ini. Resource ini juga menjadi tidak dapat dipakai oleh operasi lain sampai operasi tersebut selesai. Jika penjadwalan suatu operasi melanggar

constraint maka penjadwalan operasi tersebut harus dialihkan waktunya, dii mana pengalihan waktu ini menyebabkan penyelesaian job berlangsung lebih kama dan menyebabkan keterlambatan.

2.1. Konflik

Suatu operasi yang akan dijadwalkan pada waktu tertentu, harus memenuhi constraint yang telah disebutkan pada bagian sebelumnya. Jika penjadwalan melanggar salah satu constraint, maka akan terjadi konflik dan operasi tersebut harus dialihkan ke alokasi waktu yang lain.

2.2. Dispatching Rules

Dispatching rules merupakan algoritma-algoritma untuk menantukan urutan job yang akan dikerjakan terlebih dahulu dalam suatu kasus job-shop. Berikut ini adalah beberapa contoh dari

dispatching rules. a. FIFO

Merupakan kependekan dari First In First Out. Job yang mengantri terlebih dahulu, akan memiliki prioritas lebih tinggi untuk diproses. Dengan kata lain, pekerjaan diproses sesuai dengan urutan antrian.

b. SPT

Shortest Processing Time. Job yang akan diproses pada mesin akan diurutkan berdasarkan waktu prosesnya pada mesin tersebut. Job yang memiliki waktu proses paling singkat pada antrian, akann diproses lebih dahulu. Rule ini adalah salah satu yang paling banyak digunakan karena kesederhanaannya. SPT juga baik digunakan untuk meminimalisasi mean flow time.

c. LPT

LPT (Longest Processing Time) adalah kebalikan dari SPT. Job-job yang akan diproses akan diurutkan berdasarkan waktu prosesnya pada mesin tersebut. Job yang

memiliki waktu proses paling tinggi pada antrian akan diutamakan.

d. EDD

EDD atau Earliest Due Date merupakan

rule yang mendahulukan atau memprioritaskan lebih tinggi kepada job

yang memiliki due date paling dekat dengan saat ini. Rule ini efektif dalam meminimalisasi mean tardiness dari job.

e. S/OPN

S/OPN adalah slack per remaining operation. Job yang diproses lebih dahulu, adalah job dengan rasio slack paling rendah dari operasi yang selanjutnya akan dikerjakan. Rule ini efektif untuk mengontrol tardiness karena memprioritaskan job berdasarkan slack

terendah dan sisa operasi yang belum dikerjakan.

f. COVERT

COVERT (Cost Over Time). Pengurutan berbanding terbalik dengan rasio dari fungsi penalti sepanjang waktu proses. COVERT baik dalam pengoptimalan tardiness.

g. MWKR

MWKR merupakan kepanjangan dari Most Work Remaining. Pada rule ini, job dipilih berdasarkan sisa operasi yang belum dilakukan pada job tersebut.

h. FCFS

First Come First Serve (FCFS)

mengurutkan job berdasarkan urutan kedatangannya pada antrian workcenter. Job

yang lebih datang lebih awal akan diproses terlebih dahulu.

i. FAFS

Pada First Arrival First Serve (FAFS), job

yang dikerjakan lebih dahulu adalah job

yang lebih awal masuk ke dalam sistem.

j. RANDOM

Prioritas pekerjaan secara random. 3. Logika Fuzzy

Himpunan fuzzy lahir karena banyaknya fenomena yang bersifat samar atau serba tidak tepat ditinjau dari cara berpikir manusia. Pada kenyataannya, tidak ada suatu kondisi atau pernyataan yang tepat 100% benar atau 100% salah. Menurut Prof. Lotfi. A. Zadeh, true atau

false dalam logika boolean tidak dapat

(3)

3

di antara pernyataan true dan false seperti yang terjadi di dunia nyata.

Untuk mengatasi masalah di atas, maka lahirlah logika fuzzy. Logika fuzzy memberikan nilai spesifik pada setiap nilai di antara pernyataan

true atau false dengan menentukan fungsi keanggotaan (membership function) bagi tiap nilai input dari proses fuzzy dan derajat keanggotaaan (degree of membership). Input diberi milai derajat sesuai fungsi keanggotaan antara nilai 0 sampai 1, sehingga memungkinkan bagi suatu persamaan memiliki nilai true dan false secara bersamaan. 3.1. Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik-titk input data ke dalam nilai keanggotaannya (derajat keanggotaannya) yang memiliki interval antara 0 dan 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi.

Fungsi-fungsi keanggotaan yang dapat digunakan dalam merepresentasikan logika fuzzy antara lain :

a. Representasi Linear

b. Representasi Kurva Segitiga c. Representasi Kurva Trapesium d. Representasi Kurva Bentuk Bahu e. Representasi Kurva-S

3.2. Fuzzy Rule Base

Fuzzy rule base merupakan inti dari logika

fuzzy. Fuzzy rule base berisi pernyataan-pernyataan logika fuzzy yang berbentuk pernyataan-pernyataan

IF-THEN. Bentuk umum dari fuzzy rule base

adalah :

If 𝑥1 is𝐴11 and 𝑥2 is𝐴12. .. and... 𝐴1𝑛 then y is

B”

𝐴11 dan B adalah himpunan fuzzy, sedangkan 𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑛) adalah input dari variabel fuzzy.

Pad subbab 2.3.5 akan dijelaskan lebih lanjut mengenai fuzzy rule base, terutama implementasinya dalam menyelesaikan masalah penjadwalan pada job-shop.

4. Implementasi Fuzzy Rule Base Pada Penjadwalan Job-Shop

4.1. Deskripsi Sistem Job-Shop

Sistemjob-shop yang digunakan pada tugas akhir ini adalah sistem job-shop yang terdiri dari empat workcenter (pemotongan, pembengkokan, permesinan, dan pengelasan). Tiap workcenter

memiliki tiga mesin untuk memproses job. Tiap job

akan diproses melalui urutan yang telah ditentukan,

yaitu pemotongan, pembengkokan, permesinan dan pengelasan.

Tugas akhir ini akan menyelesaikan permasalahan job-shop dalam pengurutan job

ketika akan dikerjakan pada suatu workcenter

dengan mempertimbangkan waktu proses tiap job

di setiap workcenter yang dilalui. Selain itu juga dipertimbangkan jumlah antrian di tiap workcenter. Setelah diketahui keadaan sistem yaitu waktu proses di setiap workcenter dan jumlah antrian di setiap workcenter dapat ditentukan urutan pengerjaan dari tiap job di setiap workcenter

melalui penentuan prioritas. 4.2. Penjadwalan

Performa yang dinilai pada job-shop dalam tugas akhir ini adalah flow-time. Untuk itulah perlu ditentukan decision criteria yang tepat yang dapat mengoptimalkan nilai dari flow-time. Flow-time

adalah total waktu dari suatu job selama berada di dalam sistem. Flow-time dirumuskan dalam persamaan 1. 𝑓𝑙𝑜𝑤 − 𝑡𝑖𝑚𝑒 = 𝑡𝑜𝑡𝑎𝑙 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑖𝑛𝑔 𝑡𝑖𝑚𝑒 + 𝑤𝑎𝑖𝑡𝑖𝑛𝑔 𝑡𝑖𝑚𝑒 + 𝑡𝑜𝑡𝑎𝑙 𝑡𝑟𝑎𝑛𝑠𝑝𝑜𝑟𝑡𝑎𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 + 𝑠𝑒𝑡 − 𝑢𝑝 𝑎𝑛𝑑 𝑙𝑜𝑎𝑑/𝑢𝑛𝑙𝑜𝑎𝑑 𝑡𝑖𝑚𝑒. (1)

Waktu proses operasi dan waktu transportasi bersifat deterministik, sedangkan waktu set-up

diabaikan dalam sistem pada tugas akhir ini. Oleh karena itu, untuk meminimaliasi flow-time maka

waiting time dari job pada queue harus diminimaliasi . Untuk mencapai waiting time

minimal ini, digunakan dua macam kriteria penjadwalan, yaitu Normalized Urgency of Next Workcenter (NUNQ), dan Normalized Processing Time (NPT). Normalized berarti nilai dari kriteria ditransformasi ke suatu range dari 0 sampai 1. a. NUNQ merepresentasikan jumlah antrian

dari workcenter.

b. NPT merepresentasikan processing time dari

job pada setiap workcenter.

Untuk melakukan normalisasi pada jumlah antrian dan processing time, digunakan persamaan 2. 𝑁𝑒𝑤 𝑥𝑖 = 𝑂𝑙𝑑 𝑥𝑖−𝑀𝑖𝑛 (𝑋) 𝑀𝑎𝑥 𝑋 −𝑀𝑖𝑛 (𝑋) (2) Dengan :

𝑁𝑒𝑤 𝑥𝑖 : Nilai hasil normalisasi. 𝑂𝑙𝑑 𝑥𝑖 : Nilai yang akan dinormalisasi

(4)

4

𝑀𝑎𝑥 𝑋 : Nilai maksimum dari data.

𝑀𝑖𝑛(𝑋) : Nilai minimum dari data. Kriteria penjadwalan NUNQ dan NPT akan digunakan dalam menentukan prioritas dari job-shop dengan penggunaan control vector.

4.3. Priority Index

Bobot dari kriteria yang digunakan, ditentukan melalui sebuah control vector (w1,w2) yang menunjukkan bobot dari NUNQ dan NPT.

Control vector yang digunakan dalam tugas akhir ini ditunjukkan pada tabel 1.

Tabel 1 Control Vector

c c1 c2 c3 c4

w1 0 1 0 1

w2 -1 -1 1 1

Priority Index merupakan indeks yang menunjukkan nilai prioritas dari job untuk diproses pada suatu workcenter. Priority index suatu job k

pada workcenter s dirumuskan dengan persamaan 3.

𝑃𝑟𝑖𝑜𝑟𝑖𝑡𝑦 𝑘, 𝑠 = 𝑤𝑖 𝑠 𝑥𝐶𝑟𝑖𝑡𝑒𝑟𝑖𝑜𝑛𝑖(𝑘, 𝑠) 𝑖

(3)

Priority index menentukan urutan

pengerjaan job pada suatu workcenter. Job yang memiliki priority index lebih tinggi akan dikerjakan lebih dahulu, dan sebaliknya. Fuzzy rule yang akan dibangun pada tugas akhir ini adalah menentukan

control vector mana yang paling tepat untuk digunakan sesuai dengan keadaan dari sistem job-shop. Keadaan sistem ini direpresentasikan dalam sebuah state vector yang berisi nilai-nilai state variables.

4.4. Knowledge Acquisition Phase dan Decision Making Phase

Terdapat dua tahapan dalam penerapan logika fuzzy untuk penjadwalan job-shop yaitu :

Knowledge Acquisition Phase dan Decision Making Phase

1.) Knowledge Acquisition Phase

Tahap pengumpulan data dan tahap pembangunan rule pada knowledge acquisition phase terdiri dari 3 langkah, yaitu : 1) Memilih dan memfuzifikasi states variables. 2) mengumpulan data performa dari tiap state vector berdasarkan

rule dan control vector. 3) Membangun rule base

dengan menghitung ketepatan dari rule untuk setiap

state vectors.

a. Memilih dan memfuzifikasi states variables

Pada tahap ini, states variables yang menggambarkan karakteristik dari sistem (dalam hal ini job-shop). States variables yang dipilih dalam tugas akhir ini terdiri dari 4 variabel, yaitu :

𝑥1 : NPT maksimum dari antrian 𝑥2 : NUNQ maksimum dari antrian 𝑥3 : NPT minimum dari antrian

𝑥4 : panjang antrian yang dinormaliasasi. 𝑥1 merupakan representasi dari NPT maksimum

pada antrian job. Hal ini berarti dari p-replikasi yang dilakukan, masing-masing total waktu proses di tiap workcenter dinormalisasi. Setelah dilakukan normalisasi kemudian dipilih nilai NPT yang paling tinggi dari keempat workcenter sebagai 𝑥1. Hal ini

berlaku pula untuk menentukan 𝑥3, hanya saja pada 𝑥3, bukan nilai yang paling tinggi pada NPT tiap

workcenter yang dipilih, melainkan yang memiliki nilai paling rendah.

Variabel 𝑥2 menunjukkan keadaan

maksimum pada antrian di tiap workcenter. Jumlah antrian rata-rata dari tiap workcenter pada setiap replikasi terlebih dahulu dicatat. Setelah itu, lakukan normalisasi pada tiap workcenter. Dari asil normalisasi ini kemudian dipilih nilai yang paling maksimum sebagai x2 dari tiap replikasi.

Variabel terakhir dalam state variables

adalah x4 yang merupakan panjang antrian yang dinormalisasi. Panjang antrian diperoleh dengan menjumlahkan banyaknya antrian dari tiap

workcenter kemudian dinormalisasi.

States variables ini kemudian akan

difuzzifikasi berdasarkan fungsi keanggotaan yang dipilih. Nilai fuzifikasi dari state variables

direpresentasikan dengan bilangan fuzzy, 𝐴𝑖𝑘.

Fungsi keanggotaan yang digunakan adalah fungsi keanggotaan yang digunakan dalam implementasi tugas akhir ini adalah fungsi keanggotaan yang ditunjukkan pada gambar 1.

(5)

5

Dengan fungsi keanggotaan pada gambar 1, maka state variables dapat difuzifikasi ke dalam tiga kategori yaitu kecil, sedang dan besar.

b. Mengumpulkan data sampel

Data sampel berisi nilai states variables dan performa (dalam hal ini flow time) . State vectors

dinotasikan dengan xp = { x1p, x2p, . . . , xmp } ,

p=1,2,...,n. Dimana m adalah banyaknya state variables dan n adalah banyaknya data sampel. Nilai performa dari control vector c pada state xp , disimbolkan dengan 𝑃𝑉𝑐𝑋𝑝, c = 1, 2, ... , q, di mana q adalah jumlah dari kontrol vektor yang mungkin. Performa diperoleh dengan menghitung flow time

berdasarkan prioritas yang dihitung berdasarkan

control vector c.

c. Membangun Rule Base

Dari data sampel yang terdiri dari state vectrors (yang elemen-elemennya merupakan state variables) dan nilai performa, kemudian state vector xp difuzifikasi menjadi “ jika x1p= 𝐴𝐾𝑖, x2p =

𝐴𝑗𝐾,..., xmp= 𝐴𝑣𝐾 , maka xp dikatakan memiliki nilai

𝐴𝐾𝑖 𝑗 …𝑣 . Dengan demikian, rule base yang dibangun

akan berupa :

“Jika xp = 𝑨𝒊 𝒋…𝒗𝑲 maka gunakan control vector c

Prosedur pembangunan rule base terdiri dari 3 langkah sebagai berikut.

a. Step 1. Performa yang diukur adalah mean-flow time. Oleh karena itu, semakin kecil nilai performa menunjukkan performa itu semakin baik. Degree of Effectiveness𝐷𝐸𝑐

𝑥𝑝

untuk setiap control vector c pada state xp didefiniskan sebagai berikut :

𝐷𝐸𝑐𝑥𝑝 = 𝑃𝑉𝑤𝑜𝑟𝑠𝑡 𝑥 𝑝 −𝑃𝑉𝑐𝑥 𝑝 𝑃𝑉𝑤𝑜𝑟𝑠𝑡𝑥 𝑝 −𝑃𝑉𝑏𝑒𝑠𝑡𝑥𝑝 , untuk c=1,2,...q . (4) Dengan :

𝑃𝑉𝑤𝑜𝑟𝑠𝑡𝑥𝑝 = performa paling buruk di antara semua control vector pada state xp.

𝑃𝑉𝑏𝑒𝑠𝑡𝑥𝑝 = performa paling buruk di antara semua control vector pada state xp.

𝐷𝐸𝑐𝑥𝑝

memiliki nilai di antara 0 dan 1. Nilai 1 menunjukkan nilai efektivitas dari control vector paling baik sedangkan 0 paling buruk.

b. Step 2. Menghitung cumulative score yang merupakan nilai kumulatif dari semua

control vector c pada setiap fuzzy subspace

𝐴𝑖 𝑗 …𝑣𝐾 dengan : 𝛽 𝑐 𝐴𝐾𝑖 𝑗 …𝑣 = 𝜇𝑖𝐾 𝑥1𝑝 𝜇𝑗𝐾 𝑥2𝑝 … 𝜇𝑣𝐾(𝑥𝑚𝑝)𝐷𝐸𝑐 𝑥𝑝 𝑛 𝑝=1 (5) c=1, 2, ..., q;

c. Step 3. Menghitung DS (Degree of Suitability) untuk menila kekuatan relatif dari suatu control vector c dibandingkan dengan control vector lainnya pada state xp. Semakin besar nilai DS menggambarkan semakin cocok/tepatnya penggunaan control vector c untuk state xp.

𝐷𝑆 𝑐 𝐴𝐾𝑖 𝑗 …𝑣 = 𝛽 𝑐 𝐴𝑖 𝑗 …𝑣𝐾 −𝛽𝑖 𝑗 ..𝑣 𝑚𝑎𝑥𝑡{𝛽 𝑡 𝐴𝑖 𝑗 …𝑣𝐾 } (6) dengan : 𝛽 𝑖 𝑗 ..𝑣= 𝛽 𝑡 𝐴𝐾𝑖 𝑗 …𝑣 𝑞 𝑡=1 𝑞 (7)

2.) Decison Making Phase

Decision making phase adalah proses menilai rule untuk state vector yang diberikan dan menentukan rule mana yang paling tepat untuk

state tersebut. Prosedur dalam mengambil

keputusan pada tahap ini adalah sebagai berikut. a. Step 1. Menghitung nilai Degree of

Appropriateness (DA) yang

mengindikasikan kecocokan dan efektivitas dari control vecto c, c= 1,2,...,q pada current state x. 𝐷𝐴𝑐𝐾 = … 𝜇𝑖𝐾 𝑥1 𝜇𝑗𝐾 𝑥2 … 𝜇𝑣𝐾 𝑥𝑚 𝑣 𝐷𝑆(𝑐| 𝑗 𝑖 𝐴𝑖 𝑗 …𝑣𝐾 ) (8)

b. Step 2 menentukan control vector yang paling tepat untuk K.

𝑐∗ 𝐾 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑡{𝐷𝐴𝑡𝐾}

(9)

c. Step 3. Jika 𝐷𝐴𝑐𝐾 untuk 𝑐∗ yang dipilih

nilainya kurang dari threshold T, gunakan

(6)

6

dengan tahap knowledge-acquisition phase. Jika tidak, maka control vector c* adalah

control vector yang tepat untuk current state.

5. Desain dan Implementasi Sistem

Dataset yang akan diproses untuk membangun rule base diperoleh melalui proses perhitungan terhadap bilangan acak yang dibankitkan berdasarkan data rata-rata dari proses simulasi. Selanjutnya tiap job diurutkan dengan menerapkan prioritas untuk tiap job menggunakan

control vector sehingga diperoleh performa dari tiap control vector.

5.1. Pembangunan Rule

Ada tiga step dalam membangun rule yaitu penghitungan degree of effecitveness dari performa tiap control vector, perhitungan cumulative score

yang merupakan nilai dari tiap control vektor untuk tiap fuzzy subspace, dan menghitung degree of suitable untuk menentukan control vector yang tepat untuk suatu state dan kemudian merumuskannya dalam rule.

Mulai Input : Dataset performa control vector Hitung Degree of Effectiveness Pilih Performa Terbaik dan Performa Terburuk Output : Matriks deg_ef Selesai

Gambar 2. Diagram Alir Degree of Effectiveness Setelah menghitung degree of effectiveness, kemudian dihitung cumulative scores. Cumulative

scores diperoleh dengan mengalikan state variables

yang difuzifikasi, dengan nilai degree of effectiveness untuk setiap subspace. Diagram alir proses ini ditunjukkan pada gambar 3.

Mulai Input : Matriks deg_ef, statevect Hitung Cumulative Scores Fuzzifikasi State Vectors Selesai Output : Matriks CT

Gambar 3. Diagram Alir Cumulative Scores

Step terakhir dalam pembangunan rule adalah menghitung degree of suitability, dengan diagram alir seperti pada gambar 4.

Mulai Input : Cumulative Scores Hitung Bii Hitung Nilai MaksimalCumulati ve Score untuk suatu state di antara semua control vector Hitung Degree Of Suitable Konstruksi Rule Berdasarkan Degree Of Suitable Selesai Output : suit_score, rules

Gambar 4. Diagram Alir Perhitungan Degree of Suitability

(7)

7

5.2. Decision Making

Tahap decision making phase adalah tahap pengambilan keputusan untuk menentukan control vector apa yang paling tepat untuk suatu current state. Diagram alir tahapan ini ditunjukkan pada gambar 5. Mulai Input : Degree of Suitable, Current State Hitung Degree Of Appropriateness : ? Threshold DAK cGunakan control vector C* Selesai Tampilkan Pesan YA TIDAK Output Matriks DA, Decision

Gambar 5. Diagram Alir Decision Making Phase

6. Uji Coba dan Evaluasi

Uji coba dilakukan untuk menilai performa (flow-time) pada job-shop. Uji coba dilakukan pada

job-shop dengan distribusi waktu pengerjaan pada mesin sesuai distribusi pada mesin pemotong, pembengkok, permesinan, dan pengelasan yaitu dengan distribusi :

1. Skenario 1 dengan TRIANGULAR (0.9, 1, 1.1)

2. Skenario 2 dengan distribusi NORMAL (1, 0.001).

Data hasil pembangkitan bilangan acak tersebut kemudian dinormalisasi, dan dihitung prioritas dari masing-masing job pada tiap

workcenter menggunakan control vector. Dataset yang diperoleh ditunjukkan pada Tabel 1.

Pada skenario 1 ini, dilakukan 10 kali replikasi (direpresentasikan dengan p). States variables yang menggambarkan keadaan waktu proses job di tiap mesin dan jumlah antrian direpresentasikan dalam variabel x1, x2, x3,dan x4. Dimana :

𝑥1 : NPT maksimum dari antrian 𝑥2 : NUNQ maksimum dari antrian 𝑥3 : NPT minimum dari antrian

𝑥4 : panjang antrian yang dinormaliasasi.

Tabel 1. Dataset Skenario 1

p x1 x2 x3 x4 PVC1 PVC2 PVC3 PVC4 1 0.00 0.00 0.26 0.00 38.38 38.68 39.80 39.76 2 0.55 0.59 1.00 0.70 42.85 43.20 44.78 44.48 3 0.14 0.45 0.44 0.28 39.91 40.22 41.22 41.50 4 0.19 0.41 0.58 0.43 40.90 41.23 42.82 42.52 5 0.00 0.00 0.26 0.06 39.14 38.92 39.44 40.03 6 0.42 0.55 0.67 0.55 41.37 41.68 43.43 43.11 7 0.01 0.18 0.33 0.21 39.68 40.03 41.51 41.24 8 0.08 0.09 0.14 0.09 38.78 39.07 40.52 40.22 9 0.00 1.00 1.00 1.00 44.89 45.20 46.81 46.45 10 0.27 0.41 0.54 0.53 41.30 41.61 43.21 42.90

Performa (flow-time) dari tiap control vector

disimpan dalam kolom-kolom PVC1,PVC2, PVC3 dan PVC4.

Dengan melakukan uji coba pada skenario 1diperoleh rule yang menunjukkan hasil yang sama untuk setiap subspace, yaitu bahwa untuk setiap

subspace, control vector yang digunakan adalah

control vector 1 (0,-1). Berikut ini rule yang dihasilkan pada skenario 1.

“Jika x1 kecil, x2 kecil, x3 sedang, x4 besar gunakan control vector ke-1 “

....

“Jika Jika x1 kecil, x2 kecil, x3 sedang, x4 besar gunakan control vector ke-1”

Untuk skenario uji coba kedua, distribusi yang digunakan adalah distribusi NORMAL (1,0.001). Tabel 2 merupakan dataset untuk input pada skenario uji coba 2.

Rule yang dihasilkan pada skenario uji coba kedua adalah sebagai berikut :

“Jika x1 sedang, x2 besar, x3 sedang, x4 besar gunakan control vector ke-2”

...

“Jika x1 besar, x2 besar, x3 besar, x4 besar gunakan control vector ke-1”

(8)

8

Tabel 2. Dataset Skenario 2

p x1 x2 x3 x4 PVC1 PVC2 PVC3 PVC4 1 0,24 1,00 1,00 0,37 44,80 44,81 44,85 44,84 2 0,08 0,40 0,45 0,17 41,22 41,23 41,26 41,26 3 0,25 1,00 1,00 1,00 55,67 55,68 55,73 55,72 4 0,11 0,31 0,31 0,29 43,43 43,44 43,48 43,48 5 0,35 0,60 0,58 0,53 47,63 47,64 47,68 47,64 6 0,37 0,80 0,93 0,77 51,94 51,94 52,00 51,99 7 0,04 0,40 0,38 0,15 37,25 37,25 37,29 37,28 8 0,00 0,00 0,00 0,00 38,29 38,29 38,33 38,32 9 0,23 1,00 0,89 0,85 56,25 56,24 56,29 56,28

Kemudian setelah terbentuk rule base

dilakukan perbandingan performa terhadap kedua skenario uji coba. Hasil performa flow-time untuk kedua skenario ditunjukkan pada gambar 6.

Gambar 6. Perbandingan Flow Time Gambar 5.3 menunjukkan perbedaan flow-time pada job-shop pada skenario 1 dan skenario 2. Garis berwarna biru menunjukkan flow-time pada skenario 1 sedangkan garis berwarna biru menunjukkan flow-time pada skenario 2. Flow-time

pada skenario 1 lebih rendah daripada skenario 2. Hal ini berarti, bahwa lamanya suatu job berada di dalam sistem, lebih sedikit atau lebih cepat jika dibandingkan dengan skenario 1. Atau dengan kata lain, implementasi fuzzy rule base untuk job-shop

menghasilkan performa yang lebih baik pada distribusi TRIANGULAR(0.9,1,1.1) dibandingkan dengan pada distrubusi NORMAL (1,0.001). 7. Kesimpulan

Dari uji coba yang telah dilakukan dan setelah menganalisis hasil pengujian terhadap implementasi fuzzy rule base pada kasus job-shop

dengan penjadwalan adaptif, dapat diambil beberapa kesimpulan antara lain:

a. Fuzzy rule base dapat diimplementasikan untuk kasus job-shop.

b. Penggunaan distribusi yang berbeda, yaitu TRIANGULAR dan NORMAL untuk waktu proses suatu entitas pada workcenter

mempengaruhi flow-time dari job-shop. c. Pada saat dilakukan uji coba, rule yang

menunjuk control vector 1 yaitu (0,-1) sebagai

control vector untuk suatu subspace lebih dominan dibandingkan dengan control vector

lainnya. Ini menunjukkan bahwa untuk job-shop dengan karakteristik seperti yang diujicobakan, NPT lebih banyak digunakan dibandingkan dengan penggunaan kombinasi antara NUNQ-NPT yang diwakilkan oleh

control vector lainnya. 8. Saran

Saran untuk pengembangan lebih lanjut dari tugas akhir ini antara lain :

a. Penggunaan simulasi bu1.kan hanya untuk dasar dalam pembangkitan bilangan acak, tetapi benar-benar dilakukan untuk menilai performa dari control vector. Dengan demikian, penghitungan prioritas juga dapat langsung dilakukan dengan simulasi tanpa harus dihitung berdasarkan bilangan acak yang dibangkitkan.

b. Gunakan kombinasi control vector selain

control vector yang digunakan pada tugas akhir ini.

c. Untuk kriteria performa selain flow-time dapat digunakan dispatching rules yang lain selain NUNQ dan NPT.

9. Daftar Pustaka

[1] Key K. Lee. Agustus, 2008. Fuzzy Rule Generation for Adaptive Scheduling in a Dynamic Manufacturing Environment. [2] Gamma. Algoritma Penjadwalan Produksi

Pada Lingkungan Mesin Job Shop Dengan Minimalisasi Rataan Waktu Tunggu. [3] Eva Yustvita Rahmayani. 2008. Sistem

Inferensi Fuzzy Untuk Menentukan Tingkat Risiko Penyakit Geriatri.

[4] Institut Teknologi Bandung. 2008. Penjadwalan Produksi Flow-Shop dan Job-Shop.

[5] http://www.ai.indra-ehm.net/ . Diakses pada 22 Maret 2010 0,00 20,00 40,00 60,00 80,00 0 10 20 Fl o w Ti m e

State Vectors

Ke-Flow Time

Triangula r

Gambar

Tabel 1 Control Vector  c  c 1 c 2 c 3 c 4 w 1  0  1  0  1  w 2  -1  -1  1  1
Gambar 2. Diagram Alir Degree of Effectiveness
Tabel 2. Dataset Skenario 2

Referensi

Dokumen terkait

Kromosom dari populasi tersebut yang memiliki TC(w) tertinggi merupakan bobot-bobot fitur optimal yang selanjutnya digunakan dalam proses temu kembali citra..

Untuk kedua orangtuaku yang telah setia memberikan kasih sayang, doa, dan kesabarannya dalam mendidik penulis selama ini sehingga penulis dapat menyelesaikan studi dengan

Program ini bertujuan untuk: (1) meningkatkan kualitas sumber daya manusia perdesaan melalui peningkatan akses dan pemerataan pelayanan pendidikan dasar dan menengah yang bermutu dan

Masalah- masalah yang muncul juga tidak bisa lepas dari pilihan hidup Ibu GM yang memutuskan untuk hidup selibat awam atau hidup sendiri sehingga secara tidak langsung

Metode ekstraksi ciri Gabor Wavelet dan metode klasifikasi Support Vector Machine dapat digunakan untuk membentuk suatu sistem yang dapat mendeteksi bobot karkas

Bibit yang direndam dalam perlakuan tanpa perendaman setelah disimpan 0 dan 9 hari, air setelah disimpan 0, 6 dan 9 hari serta fungisida setelah disimpan 9 hari

Berdasarkan hasil wawancara pada senin 8 Oktober 2018 yang peneliti lakukan dengan guru Bimbingan dan Konseling yang bernama ibuk Nola yang berada di SMP Negeri 1

19 Kurang gizi dapat mengakibatkan balita mudah terserang penyakit sehingga mengganggu pertumbuhannya 20 Variasi menu makanan bukan merupakan hal yang harus. diperhatikan