7 BAB II TINJAUAN PUSTAKA 2.1 Penjadwalan Pengertian jadwal menurut KBBI adalah pembagian waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan pengertian penjadwalan adalah proses, cara, perbuatan menjadwalkan atau memasukkan ke dalam jadwal. Penjadwalan adalah alokasi, tunduk pada batasan, sumber daya ke objek ditempatkan di ruang-waktu, sedemikian rupa untuk meminimalkan biaya total beberapa kumpulan sumber daya yang digunakan [5]. Terdapat dua batasan dalam penjadwalan mata kuliah yaitu batasan mutlak (hard constraints) merupakan batasan yang bersifat harus dipenuhi dan batasan lunak (soft constraints) merupakan batasan yang bersifat “preferensi” atau batasan yang boleh untuk tidak dipenuhi [6]. Menurut [6], batasan mutlak yang wajib dipenuhi, yaitu: 1. Seorang dosen tidak dapat mengajar lebih dari satu mata kuliah pada waktu yang sama 2. Mata kuliah mahasiswa dengan tingkatan/semester yang sama tidak dapat dijadwalkan dalam waktu yang sama. 3. Ruang kuliah pada periode waktu tertentu, hanya dapat diselenggarakan untuk satu mata kuliah saja. 4. Jumlah periode waktu perkuliahan harus sesuai dengan beban SKS setiap mata kuliah tersebut. 5. Kapasitas ruang perkuliahan yang tersedia harus mampu menampung sejumlah mahasiswa yang akan mengambil suatu mata kuliah. 6. Beberapa mata kuliah harus dijadwalkan pada ruang kuliah tertentu seperti laboratorium komputer.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
7
BAB II
TINJAUAN PUSTAKA
2.1 Penjadwalan
Pengertian jadwal menurut KBBI adalah pembagian waktu berdasarkan
rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau rencana kegiatan
dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan pengertian
penjadwalan adalah proses, cara, perbuatan menjadwalkan atau memasukkan ke
dalam jadwal. Penjadwalan adalah alokasi, tunduk pada batasan, sumber daya ke
objek ditempatkan di ruang-waktu, sedemikian rupa untuk meminimalkan biaya
total beberapa kumpulan sumber daya yang digunakan [5].
Terdapat dua batasan dalam penjadwalan mata kuliah yaitu batasan mutlak
(hard constraints) merupakan batasan yang bersifat harus dipenuhi dan batasan
lunak (soft constraints) merupakan batasan yang bersifat “preferensi” atau batasan
yang boleh untuk tidak dipenuhi [6].
Menurut [6], batasan mutlak yang wajib dipenuhi, yaitu:
1. Seorang dosen tidak dapat mengajar lebih dari satu mata kuliah pada waktu yang
sama
2. Mata kuliah mahasiswa dengan tingkatan/semester yang sama tidak dapat
dijadwalkan dalam waktu yang sama.
3. Ruang kuliah pada periode waktu tertentu, hanya dapat diselenggarakan untuk
satu mata kuliah saja.
4. Jumlah periode waktu perkuliahan harus sesuai dengan beban SKS setiap mata
kuliah tersebut.
5. Kapasitas ruang perkuliahan yang tersedia harus mampu menampung sejumlah
mahasiswa yang akan mengambil suatu mata kuliah.
6. Beberapa mata kuliah harus dijadwalkan pada ruang kuliah tertentu seperti
laboratorium komputer.
8
Sedangkan batasan lunak (soft constraints) yang bersifat “preferensi” atau
batasan yang tidak harus dipenuhi, yaitu:
1. Preferensi dosen pengajar mata kuliah dan preferensi mahasiswa seharusnya
dipertimbangkan.Preferensi ini dapat dinyatakan dengan bilangan numerik yang
merupakan tingkat ketidakpuasan mahasiswa atau dosen.
2. Mata kuliah yang memiliki beban 4 SKS sebaiknya dilaksanakan dalam satu
sesi atau dalam dua sesi untuk masing-masing 2 SKS, tergantung
preferensi/keinginan dosen.
3. Dosen sebaiknya memiliki hari libur mengajar.
Batasan lunak (soft constraints) adalah batasan yang diinginkan untuk
dipuaskan, tetapi tidak esensial. Dalam masalah penjadwalan di dunia nyata
biasanya tidak mungkin untuk memenuhi semua soft constraints. Kualitas jadwal
yang layak dapat dinilai berdasarkan seberapa baik soft constraints tersebut
dipenuhi. Namun, beberapa masalah sangat kompleks sehingga sulit untuk
menemukan solusi yang bahkan memungkinkan [7]
2.2 Program Linear
Program linear merupakan salah satu teknik optimisasi yang digunakan untuk
menyelesaikan masalah suatu model linear dengan menggunakan model
matematika untuk menggambarkan atau mediskripsikan masalah yang ingin
diselesaikan dari keterbatasan-keterbatasan yang dihadapi. Kata ‘program’ dalam
program linear merupakan sinonim dari perencanaan (planning) yang mana artinya
memuat suatu rencana kegiatan untuk menghasilkan hasil yang optimal [8].
Banyak masalah optimisasi yang dapat diselesaikan dengan program linear
seperti pada masalah optimisasi di dalam industri, perbankan, pendidikan dan
masalah-masalah lain yang dapat dinyatakan dalam bentuk linear. Formulasi
program linear secara umum terdiri dari satu fungsi tujuan (fungsi objektif) yang
digunakan untuk menentukan nilai optimum dari fungsi yang telah ditetapkan dan
satu atau beberapa fungsi kendala (constraints) yang merupakan keterbatasan
masalah yang dihadapi. Tujuan dari program linear adalah menentukan nilai
optimum (maksimal/minimal) dari fungsi yang telah ditetapkan, untuk
9
memecahkan permasalahannya yaitu dengan metode grafik, dan metode simpleks
[9].
2.2.1 Terminologi Program Linear
Menurut [8], suatu program linear terdiri dari tiga bagian:
1. Suatu fungsi linear yang merupakan fungsi tujuan (fungsi objektif) dari
variabel-variabel keputusan yang harus dioptimalkan (maksimum atau
minimum).
2. Suatu himpunan dari kendala (constraints), dengan kendala-kendala ini dapat
berupa persamaan ataupun pertidaksamaan linear yang memuat persyaratan-
persyaratan tertentu yang harus dipenuhi oleh variabel-variabel keputusan.
3. Persyaratan tanda dari peubah-peubah keputusan yang mensyaratkan apakah
suatu variabel keputusan bertanda non-negatif (≥ 0), atau non-positif (≤ 0),
ataupun tandanya bebas (positif,nol ataupun negatif).
2.2.2 Asumsi Program Linear
Dalam menggunakan model program linear, berdasarkan [10], diperlukan
asumsi-asumsi sebagai berikut:
1. Proportionality, asumsi ini berarti naik turunnya nilai Z (fungsi objektif) dan
penggunaan sumber atau fasilitas yang tersedia akan berubah secara sebanding
dengan perubahan tingkat kegiatan.
2. Additivity, berarti nilai tujuan tiap kegiatan tidak saling mempengaruhi, atau
dalam program linear dianggap bahwa kenaikan suatu kegiatan dapat
ditambahkan tanpa mempengaruhi bagian nilai fungsi objektif yang diperoleh
dari kegiatan lain.
3. Divisibility, asumsi ini berarti keluaran yang dihasilkan oleh setiap kegiatan
dapat berupa bilangan pecahan.
4. Deterministic (certainty), berarti bahwa semua paramater yang terdapat dalam
program linear dapat dipikirkan dengan pasti, meskipun dalam kenyataannya
tidak sama persis.
10
2.2.3 Model Program Linear
Secara umum bentuk standar dari program linear dapat dinyatakan sebagai
berikut:
dengan 𝑏𝑖 , 𝑐𝑖 dan 𝑎𝑖𝑗 adalah konsanta real dan 𝑥𝑖 adalah nilai yang akan
ditentukan. Dalam bentuk vektor, program linear di atas dapat dinyatakan sebagai
berikut :
2.2.4 Penyelesain Program Linear
Untuk menyelesaikan suatu masalah program linear dapat diselesaikan
dengan menggunakan metode grafik dan metode simpleks. Pada metode grafik
secara umum memang mudah dilakukan jika program linear yang ingin
diselesaikan merupakan program linear yang terdiri dari hanya dua peubah. Jika
program linear yang ingin diselesaikan tersebut terdiri dari tiga peubah, untuk
menggambarkannya cukup sulit, apalagi peubahnya lebih dari tiga,
menggambarkannya dalam bentuk grafik adalah suatu hal yang mustahil
dilakukan. Untuk itu, digunakan metode simpleks [8].
Dalam penyelesaian model program linear dengan metode simpleks
diperlukan untuk pengubahan model formulasi ke dalam bentuk kanonik. Bentuk
kanonik adalah bentuk sistem persamaan linear dan memuat variabel basis
(variabel yang memiliki koefisien 1). Untuk membentuk kendala menjadi bentuk
Obj. Min: 𝑐1𝑥1 + 𝑐2𝑥2 + … + 𝑐𝑛𝑥𝑛
Kendala : 𝑎11𝑥1 + 𝑎12𝑥2 + … + 𝑎1𝑛𝑥𝑛 = 𝑏1
𝑎21𝑥1 + 𝑎22𝑥2 + … + 𝑎2𝑛𝑥𝑛 = 𝑏2
. . . .
. . . .
. . . .
𝑎𝑚1𝑥1 + 𝑎𝑚2𝑥2 + … + 𝑎𝑚𝑛𝑥𝑛 = 𝑏m
dengan : 𝑥1 ≥ 0, 𝑥2 ≥ 0,…,𝑥𝑛 ≥ 0.
Obj. Min 𝒄𝑇𝒙
Kendala 𝑨𝒙 = 𝒃 dan 𝒙 ≥ 𝟎
Dengan 𝒄, 𝒙 ∈ 𝑹𝑛 , 𝒃 ∈ 𝑹𝑚 dan 𝑨 adalah matrik 𝑚 × 𝑛
11
kanonik diperlukan penambahan variabel baru. Variabel baru tersebut adalah
sebagai berikut: [9]
1. Variabel slack, yaitu variabel yang ditambahkan pada fungsi kendala yang
memuat hubungan kurang dari atau sama dengan (≤).
2. Variabel surplus, yaitu variabel yang ditambahkan pada fungsi kendala yang
memuat hubungan lebih dari atau sama dengan (≥).
3. Variabel artifisial, yaitu variabel yang ditambahkan pada fungsi kendala yang
belum memuat variabel basis pada poin kedua.
2.2.5 Solusi Program Linear
Solusi model program linear merupakan jawaban akhir dari suatu pemecah
masalah. Menurut [8], jika suatu model program linear diselesaikan, ada 4 kasus
yang mungkin terjadi:
1. Program linear mempunyai solusi optimal yang unik.
2. Program linear mempunyai solusi optimal lebih dari satu (ada solusi alternatif).
3. Program linear tidak mempunyai solusi yang layak. Ini berati bahwa daerah
yang layak tidak mempunyai titik-titik yang memenuhi persyaratan kendala-
kendala dan prasyarat peubah-peubah keputusan.
4. Program linear mempunyai nilai fungsi tujuan yang tidak terbatas
(unbounded).
2.3 Goal Programming
Istilah " goal programming " pertama kali muncul dalam sebuah artikel yang
ditulis oleh Charnes dan Cooper pada tahun 1961 untuk menangani masalah
program linear multi-objektif, yang mengasumsikan bahwa pengambil keputusan
dapat menentukan tujuan atau level yang diinginkan untuk fungsi tujuan. Kunci
dibalik goal programming adalah untuk meminimalkan penyimpangan dari tujuan
atau tingkat aspirasi yang ditetapkan oleh pengambil keputusan [11]. Dalam model
goal programming tersebut, Charnes dan Cooper memanipulasi dengan
menghadirkan sepasang variabel yaitu “variabel deviasional” yang berfungsi untuk
menampung penyimpangan-penyimpangan yang terjadi di atas target maupun di
12
bawah target. Model goal programming bertujuan untuk meminimalisasi variabel
deviasional diantara berbagai tujuan atau sasaran yang telah ditetapkan sebagai
targetnya, maksudnya nilai ruas kiri persamaan kendala sebisa mungkin mendekati
nilai ruas kanannya [9].
2.3.1 Terminologi Goal Programming
Berdasarkan [12], bahwa berikut ini merupakan istilah-istilah yang sering
digunakan dalam goal programming.
1. Pengambil Keputusan (decision maker) yaitu mengacu pada orang, organisasi,
atau pemangku kepentingan yang menjadi bagian dari masalah keputusan yang
sedang dipertimbangkan.
2. Variabel Keputusan (desicion variables) yaitu seperangkat variabel keputusan
didefinisikan sebagai faktor di mana pembuat keputusan memiliki kendali.
Variabel keputusan sepenuhnya ialah menggambarkan masalah dan
membentuk keputusan yang akan dibuat.
3. Objective yaitu sebagai kriteria dengan tambahan informasi arah
(maksimalkan atau minimalkan) di mana pengambil keputusan lebih suka pada
skala kriteria, misalnya meminimalkan biaya atau memaksimalkan kinerja
suatu sistem.
4. Tujuan (goal) yaitu mengacu pada kriteria dan level, yang dikenal sebagai level
target, yang ingin dicapai oleh pembuat keputusan pada kriteria tersebut.
5. Variabel deviasi (deviational variables) yaitu mengukur perbedaan antara level
target pada kriteria dan nilai yang dapat dicapai dalam solusi tertentu. Jika nilai
yang dicapai di atas level target maka selisihnya ditentukan oleh nilai variabel
deviasi positif. Jika nilai yang dicapai berada di bawah level target maka
selisihnya ditentukan oleh nilai variabel deviasi negatif.
6. Batasan (constraints) yaitu batasan pada variabel keputusan yang harus
dipenuhi agar solusi dapat diterapkan dalam praktik. Batasan biasanya
merupakan fungsi dari beberapa variabel keputusan dan dapat berupa
persamaan atau ketidaksamaan.
13
7. Tanda Pembatas (sign restriction) yaitu membatasi satu keputusan atau
variabel deviasi untuk hanya mengambil nilai tertentu dalam jangkauannya.
Pembatasan tanda yang paling umum adalah variabel menjadi non-negatif dan
kontinu.
8. Wilayah Layak (feasible region) yaitu himpunan solusi dalam ruang keputusan
yang memenuhi semua batasan dan tanda batasan dalam goal programming
dari wilayah yang memungkinkan.
9. Solusi Efisien Pareto (pareto-efficient solution) atau Pareto optimal/ dalam
ruang obyektif sebagai tidak didominasi, yaitu Solusi untuk masalah multi-
objektif adalah Pareto efisien jika tidak ada solusi lain yang layak yang
setidaknya sama baiknya dengan semua tujuan dan benar-benar lebih baik
sehubungan dengan setidaknya satu tujuan.
10. Solusi Pareto-Tidak Efisien (pareto-inefficient solution) atau dalam ruang
obyektif seperti didominasi, yaitu solusi untuk masalah multi-objektif adalah
Pareto tidak efisien jika ada solusi lain yang layak yang setidaknya sama
baiknya dengan semua tujuan dan benar-benar lebih baik sehubungan dengan
setidaknya satu tujuan.
11. Pareto Frontier yaitu himpunan dari semua solusi Pareto-efisien untuk
masalah keputusan. Pareto ini disebut juga Pareto front, Pareto set, dan dalam
ruang obyektif sebagai himpunan yang tidak didominasi.
Titik a dan b termasuk dalam Pareto front karena keduanya bukan nominasi
(tidak satupun lebih baik dari yang lain di kedua tujuan). Titik a lebih baik dari b
pada tujuan 1, tetapi a lebih buruk dari pada b pada tujuan 2 (untuk masalah
Gambar 2.1 Pareto front
14
minimisasi). Titik c lebih buruk dari titik a dan b pada tujuan 1 dan 2, sehingga
titik c didominasi oleh a dan b. Himpunan solusi nondominasi disebut pendekatan
himpunan Pareto, dalam ruang obyektif bahwa a dan b membentuk pendekatan
Pareto frontier [13].
2.3.2 Filosofi Goal Programming
Menurut [12], berikut filosofi yang mendasari goal programming:
1. Satisficing (memuaskan)
Semua model goal programming berisi sekumpulan nilai tujuan yang ingin
dicapai. Memenuhi tujuan ini sedekat mungkin adalah tujuan utama dari goal
programming. Dengan demikian, kepuasan dapat dengan tepat dianggap
sebagai filosofi utama yang mendasari goal programming.
2. Optimising (mengoptimalkan)
Arti mengoptimalkan dalam konteks pengambilan keputusan adalah
menemukan keputusan yang memberikan nilai terbaik dari beberapa ukuran
dari sekumpulan keputusan yang mungkin. Terdapat tiga situasi yang perlu
diperhatikan di mana filosofi pengoptimalan memiliki kepentingan khusus:
1) Jika level target tujuan ditetapkan dengan sangat optimis, sesuai dengan
nilai-nilai idealnya, maka filosofi yang mendasari dominan telah berubah
dari memuaskan menjadi optimal.
2) Jika deteksi dan pemulihan optimalitas Pareto berlangsung, maka goal
programming memiliki campuran filosofi yang memuaskan dan
mengoptimalkan.
3) Jika tujuan memiliki dua sisi (two-sided), yaitu nilai tertentu adalah optimal
daripada situasi 'lebih banyak lebih baik' atau 'kurang lebih baik’, maka
filosofi yang memuaskan dan mengoptimalkan dapat dianggap sesuai
dengan tujuan tersebut.
3. Ordering or Ranking (pengurutan atau pemeringkatan)
Falsafah dasar ini meminimalkan penyimpangan yang tidak diinginkan dari
tujuan berdasarkan menurut prioritas. Dalam goal programming, bahwa
15
penetapan gol-gol dalam urutan berdasarkan segi pentingnya setiap tujuan
yang telah diperkirakan oleh pembuat keputusan.
4. Balancing (menyeimbangkan)
Dalam masalah goal programming itu tidak cukup untuk mempertimbangkan
hanya tingkat rata-rata pencapaian tujuan, melainkan melihat keseimbangan
antara pencapaian tujuan.
2.3.3 Asumsi Goal Programming
Sebelum merumuskan model, perlu diperhatikan bahwa model goal
programming memerlukan sejumlah asumsi. Adapun menurut [12], berikut ini
asumsi-asumsi dalam model goal programming :
1. Proportionality
Aksioma ini mensyaratkan bahwa hukuman untuk penyimpangan yang tidak
diinginkan dari tingkat target berbanding lurus dengan jarak jauh dari tingkat
target yang ditetapkan.
2. Additivity
Aksioma ini mensyaratkan bahwa tingkat hukuman untuk penyimpangan yang
tidak diinginkan dari tingkat target tidak tergantung pada tingkat
penyimpangan yang tidak diinginkan dari tujuan lain.
3. Divisibility
Aksioma ini mensyaratkan bahwa semua variabel keputusan harus bebas untuk
mengambil nilai apa pun dalam rentang yang ditentukan (lebih besar atau sama
dengan nol secara default). Jadi variabel keputusan tidak dapat dipaksa untuk
mengambil bilangan bulat atau nilai diskrit.
4. Certainty
Aksioma ini mengharuskan semua koefisien data diketahui dengan pasti.
16
2.3.4 Bentuk Model Goal Programming
Bentuk model goal programming berikut diambil dari [11].
Seperti yang telah sudah dijelaskan sebelumnya, bahwa goal programming
merupakan salah satu metode yang dapat digunakan untuk menangani masalah
program linear multi-objektif. Program linear multi-objektif merupakan masalah
untuk mengoptimalkan beberapa fungsi tujuan linear yang saling bertentangan
secara bersamaan dibawah batasan linear yang diberikan.
Model multiobjective linear programming, dapat dibuat bentuk umumnya
sebagai berikut:
dengan
𝑐𝑖 = (𝑐𝑖1 , . . . , 𝑐𝑖𝑛), 𝑖 = 1,… , 𝑘.
𝑥 =
(
𝑥1𝑥2⋮𝑥𝑛)
, 𝐴 = [
𝑎11 𝑎12 ⋯ 𝑎1𝑛⋮ ⋮ ⋱ ⋮
𝑎𝑚1 𝑎𝑚1 ⋯ 𝑎𝑚𝑛
] , 𝑏 =
(
𝑏1𝑏2⋮𝑏𝑚)
Secara umum model multiobjective linear programming tersebut dapat
dirumuskan sebagai masalah minimisasi vektor berikut: