Post on 01-Jul-2019
BAB II
LANDASAN TEORI
2.1. Penjadwalan
2.1.1. Definisi Penjadwalan
Chambers (1999, hal: 22) menyatakan bahwa jadwal didefinisikan sebagai sesuatu
yang menjelaskan di mana dan kapan orang-orang dan sumber daya berada pada suatu
waktu. Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan pembagian
waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga didefinisikan sebagai
daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan
yang terperinci. Sedangkan penjadwalan merupakan proses, cara, perbuatan
menjadwalkan atau memasukkan dalam jadwal (Departemen Pendidikan dan
Kebudayaan, 1995).
Kebanyakan orang terbiasa dengan jadwal sekolah yang disajikan sebagai tabel
hari dalam seminggu dan slot waktu. Dapat dilihat bahwa setiap hari dibagi ke dalam
slot waktu. Setiap slot waktu memiliki daftar mata pelajaran yang sedang diajarkan,
oleh siapa dan di mana. Jadwal dapat dinyatakan dalam sejumlah cara yang berbeda,
masing-masing siswa harus memiliki jadwal sendiri tergantung pada mata pelajaran,
begitu juga masing-masing guru dan ruang, semua ini adalah perspektif yang berbeda
pada jadwal yang sama.
Universitas Sumatera Utara
Tabel 2.1 Contoh sebuah jadwal
Situasi lain di mana jadwal diperlukan (Chambers, 1999), yaitu:
1. Manufacturing - jalur produksi, perencanaan proyek.
2. Travel- kereta api, bus, dll.
3. Ujian universitas/sekolah.
4. Mata kuliah universitas.
5. Jadwal sekolah.
6. Jadwal televisi/radio/media.
7. Pertemuan/Rapat.
Situasi di atas membutuhkan jadwal dengan berbagai kerumitan tergantung
pada jumlah sumber daya yang dijadwalkan, jumlah slot waktu dan lokasi.
2.1.2. Penjadwalan Mata Kuliah
Penjadwalan mata kuliah adalah kegiatan administratif yang paling utama di
universitas. Dalam masalah penjadwalan mata kuliah, sejumlah mata kuliah yang
dialokasikan ke sejumlah ruang kelas yang tersedia dan sejumlah slot waktu disertai
dengan constraints. Constraints terbagi atas dua jenis, yaitu hard constraints dan soft
constraints (Petrovic dan Burke, 2004).
Mr. Smith Mr. Jhon Room 1 Room2 Class A Class B
COMPUTER Mr. Carlie Room 1 Class C
PHYSICS Mr. Donald Room 2 Class A
9am - 10am 10am - 11am 11am - 12 am
Universitas Sumatera Utara
Hard constraints merupakan batas-batas yang harus diterapkan pada
penjadwalan mata kuliah dan harus dipenuhi. Solusi yang tidak melanggar hard
constraints disebut solusi layak. Hard constraints yang umum dalam penjadwalan
mata kuliah adalah sebagai berikut:
a. Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada waktu
tertentu.
b. Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada
waktu tertentu.
c. Sebuah lokasi (ruangan) hanya dapat digunakan untuk satu mata kuliah pada
waktu tertentu.
d. Mahasiswa tidak dapat dialokasikan pada suatu lokasi yang menyebabkan
lokasi melebihi kapasitas maksimum.
Soft constraints didefinisikan sebagai batas-batas mengenai alokasi sumber
daya yang jika dilanggar masih dapat menghasilkan solusi yang layak tetapi sedapat
mungkin untuk dipenuhi. Dalam kenyataannya, masalah penjadwalan mata kuliah
biasanya tidak mungkin untuk memenuhi semua soft constraints. Kualitas jadwal yang
layak dapat dinilai berdasarkan seberapa baik soft constraints dapat dipenuhi. Namun,
beberapa masalah yang kompleks sulit menemukan solusi yang layak. Sebagai contoh,
soft constraints yang mungkin ingin dicapai dalam jadwal sehubungan dengan aspek
mata kuliah adalah meminimalkan terjadinya jadwal mata kuliah satu tingkat yang
beturut-turut.
Beberapa univeristas dengan jumlah mata kuliah yang akan dijadwalkan dan
berbagai constraints yang harus dipertimbangkan membuat penyusunan jadwal mata
kuliah menjadi sangat sulit (Petrovic dan Burke, 2004).
2.1.3. Masalah Jadwal Mata Kuliah
Selama pembuatan jadwal mata kuliah, dibutuhkan penerapan constraints yang
berbeda yang dilakukan secara bersamaan. Constraint ini mungkin saling
Universitas Sumatera Utara
bertentangan yang berarti bahwa dalam usaha untuk memenuhi salah satu constraint
dapat mengarah pada pelanggaran terhadap constraint yang lain. Pada situasi seperti
ini dapat dilihat bahwa kepuasan pada constraint yang pertama akan mungkin
mengarah pada pelanggaran constraint yang kedua.
Pengamatan tersebut didukung sebuah pernyataan multikriteria dari masalah
jadwal mata kuliah di mana kriteria mengukur pelanggaran dari constraints yang
sama. Sebuah universitas dapat menetapkan kualitas dari jadwal mata kuliah dari
sudut pandang yang berbeda (departemen, mahasiswa, pembuat jadwal). Universitas
sering memberikan kepentingan yang berbeda dengan constraints yang dikenakan
pada masalah jadwal mata kuliah.
Berikut notasi dalam masalah jadwal mata kuliah:
a. N adalah jumlah mata kuliah.
b. P adalah jumlah slot waktu.
c. ln adalah jumlah dosen yang mengajar mata kuliah n, n = 1, …, N, yang
sudah diletakkan pada slot waktu P.
d. rp adalah jumlah ruangan yang dapat dijadwalkan pada slot waktu p, p =1,
…, P.
e. C = [cnm]NxN adalah matriks simetris yang merepresentasikan konflik dari
mata kuliah
f. cnm adalah jumlah mahasiswa yang mengambil mata kuliah n dan m
dimana n, m = 1, …, N.
g. K adalah jumlah kriteria.
h. T = [tnp]NxP adalah matriks yang merepresentasikan penempatan mata
kuliah ke dalam slot waktu.
i. tnp = 1, jika mata kuliah n dijadwalkan pada slot waktu p, n = 1, …, N, p =
1, …, P dan 0 untuk yang lainnya.
j. fk(T) adalah nilai dari kriteria Ck, k = 1, …, K.
k. wk adalah bobot kriteria Ck, k = 1, …, K.
Universitas Sumatera Utara
Masalah multikriteria jadwal mata kuliah dapat dinyatakan dalam cara berikut.
Tentukan jumlah slot waktu P, jumlah mata kuliah N dengan jumlah dosen yang
dibutuhkan, tentukan jadwal dari T yang membuat semua komponen vektor WF =
(w1f1(T), …, wkfk(T), …, wKfK(T)) sekecil mungkin, berdasarkan:
∑=
=P
pnnp lt
1
, n = 1, …, N (2.1)
∑=
≤N
npnp rt
1, p = 1, …, P (2.2)
∑∑∑=+=
−
=
P
pnmmpnp
N
nm
N
nctt
11
1
1
= 0 (2.3)
Constraint (2.1) memastikan bahwa setiap mata kuliah memiliki jumlah dosen yang
dibutuhkan. Constraint (2.2) memastian bahwa dosen dapat ditampung di sejumlah
ruangan. Dan constraint (2.3) memastikan bahwa mata kuliah yang telah memiliki
mahasiswa yang sama tidak dijadwalkan pada slot waktu yang sama (Petrovic dan
Burke, 2004).
2.2. Sistem Pendukung Keputusan
Konsep Sistem Pendukung Keputusan (SPK) pertama kali diperkenalkan pada awal
tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision
System. Konsep SPK ditandai dengan sistem interaktif berbasis komputer yang
membantu pengambil keputusan memanfaatkan data dan model untuk menyelesaikan
masalah-masalah yang tidak terstruktur.
Pada dasarnya SPK merupakan pengembangan lebih lanjut dari Sistem
Informasi Manajemen terkomputerisasi (Computerized Management Information
System), yang dirancang sedemikian rupa sehingga bersifat interaktif dengan
pemakainya. Sifat interaktif ini dimaksudkan untuk memudahkan integrasi antara
berbagai komponen dalam proses pengambilan keputusan, seperti prosedur, kebijakan,
Universitas Sumatera Utara
teknis analisis, serta pengalaman dan wawasan manajerial guna membentuk suatu
kerangka keputusan yang bersifat fleksibel.
Dalam sudut pandang konotasional, SPK adalah kemajuan secara revolusioner
dari SIM (Sistem Informasi Manajemen) dan PDE (Pengolahan Data Elektronik).
Pernyataan ini, dapat dilihat pada gambar di bawah ini (Suryadi dan Ramdhani, 1998).
Gambar 2.1 SPK Dalam Sudut Pandang Konotasional
PDE diterapkan pada level operasional organisasi. Karakteristik PDE meliputi
aktivitas-aktivitas:
a. Menitikberatkan pada data, penyimpanan, pengolahan, dan aliran pada
level operasional.
b. Membantu pengolahan transaksi-transaksi secara lebih efisien.
c. Memungkinkan pengolahan komputer secara lebih terjadwal dan optimum.
d. Menyediakan pembukuan (file) terpadu untuk kegiatan yang saling
berkaitan.
e. Memberikan laporan umum atau ikhtisar kepada manajer.
Universitas Sumatera Utara
Dengan adanya peningkatan kemampuan dan kecepatan piranti keras, sistem
operasi on line, pilihan komunikasi data yang menarik dan kemampuan penuh dari
terminal, aktivitas pada level PDE ini menjadi lebih lancar dan lebih efisien dalam
penggunaan fasilitas dalam pengolahan data transaksi.
Secara umum SIM difokuskan pada tingkat yang lebih tinggi dalam organisasi.
SIM memiliki karakter sebagai berikut:
a. Menitikberatkan pada informasi bagi para manajer menengah.
b. Menangani aliran-aliran informasi yang terstruktur.
c. Memadukan PDE dari kegiatan-kegiatan berdasarkan fungsi usaha (SIM
Pemasaran, SIM Produksi, dan lain-lain).
d. Melayani kebutuhan informasi dan pembuatan laporan, umumnya melalui
suatu basis data.
Dari karakteristik di atas, terlihat bahwa Sistem Informasi Manajemen
berorientasi pada struktur aliran informasi dan operasional (rutinitas).
SPK, menurut tinjauan konotatif ini, merupakan sistem yang ditujukan kepada
tingkatan manajemen yang lebih tinggi lagi, dengan penekanan karakteristik sebagai
berikut.
a. Berfokus pada keputusan, ditujukan pada manajer puncak dan pengambil
keputusan.
b. Menekankan pada fleksibilitas, adaptabilitas, dan respon yang cepat.
c. Mampu mendukung berbagai gaya pengambilan keputusan dari masing-
masing pribadi manajer.
SPK dirancang untuk mendukung seluruh tahap pengambilan keputusan mulai
dari mengidentifikasi masalah, memilih data yang relevan, menentukan pendekatan
yang relevan, menentukan pendekatan yang digunakan dalam proses pengambilan
keputusan, sampai mengevaluasi pemilihan alternatif (Suryadi dan Ramdhani, 1998).
Universitas Sumatera Utara
2.2.1. Definisi SPK
Definisi awal SPK menunjukkan SPK sebagai sebuah sistem yang dimaksudkan untuk
mendukung para pengambil keputusan manajerial dalam situasi keputusan
semiterstruktur. SPK dimaksudkan untuk menjadi alat bantu bagi para pengambil
keputusan untuk memperluas kapabilitas mereka, namun tidak untuk menggantikan
penilaian mereka. SPK ditujukan untuk keputusan-keputusan yang memerlukan
penilaian atau pada keputusan-keputusan yang sama sekali tidak dapat didukung oleh
algoritma (Turban et al, 2005).
Little (1970) mendefinisikan SPK sebagai sekumpulan prosedur berbasis
model untuk data pemrosesan dan penilaian guna membantu para manajer mengambil
keputusan. Dia menyatakan bahwa untuk sukses, sistem tersebut haruslah sederhana,
cepat, mudah dikontrol, adaptif, lengkap dengan isu-isu penting, dan mudah
berkomunikasi. Bonczek, dkk., (1980) mendefinisikan SPK sebagai sistem berbasis
komputer yang terdiri dari tiga komponen yang saling berinteraksi: sistem bahasa
(mekanisme untuk memberikan komunikasi antara pengguna dan komponen DSS
lain), sistem pengetahuan (repositori pengetahuan domain masalah yang ada pada
SPK apakah sebagai data atau sebagai prosedur), dan sistem pemrosesan masalah
(hubungan antara dua komponen lainnya, terdiri dari satu atau lebih kapabilitas
manipulasi masalah umum yang diperlukan untuk pengambilan keputusan).
2.2.2. Konfigurasi SPK
Dukungan keputusan dapat diberikan dalam banyak konfigurasi yang berbeda-beda.
Konfigurasi tersebut tergantung pada sifat situasi keputusan manajemen dan teknologi
spesifik yang digunakan untuk dukungan. Teknologi ini dirakit dari empat komponen
dasar (masing-masing dengan beberapa variasi): data, model, antarmuka pengguna,
dan (opsional) pengetahuan. Masing-masing komponen dikelola dengan perangkat
lunak yang tersedia secara komersil atau harus diprogram untuk tugas spesifik. Cara
komponen tersebut dirakit menentukan kapabilitas utamanya dan sifat dukungan yang
disediakan.
Universitas Sumatera Utara
2.2.3. Karakteristik dan Kemampuan SPK
Berikut ini adalah karakteristik dan kemampuan ideal dari suatu sistem pendukung
keputusan (Turban et al, 2005).
1. Dukungan untuk pengambilan keputusan, terutama pada situasi semiterstruktur
dan tak terstruktur, dengan menyertakan penilaian manusia dan informasi
terkomputerisasi. Masalah-masalah tersebut tidak dapat dipecahkan (atau tidak
dapat dipecahkan dengan konvenien) oleh sistem komputer lain atau oleh
metode atau alat kuantitatif standar.
2. Dukungan untuk semua level manajerial, dari eksekutif puncak sampai
manajer lini
3. Dukungan untuk individu dan kelompok. Masalah yang kurang terstruktur
sering memerlukan keterlibatan individu dari departemen dan tingkat
organisasional yang berbeda atau bahkan dari organisasi lain.
4. Dukungan untuk keputusan independen dan atau sekuensial. Keputusan dapat
dibuat satu kali, beberapa kali, atau berulang (dalam interval yang sama).
5. Dukungan di semua fase proses pengambilan keputusan: inteligensi, desain,
pilihan, dan implementasi.
6. Dukungan di berbagai proses dan gaya pengambilan keputusan.
7. Adaptivitas sepanjang waktu. Pengambil keputusan seharusnya reaktif, dapat
menghadapi perubahan kondisi secara cepat, dan dapat mengadaptasikan SPK
untuk memenuhi perubahan tersebut.
8. Pengguna merasa seperti di rumah. User friendly, kapabilitas grafis yang
sangat kuat, dan antarmuka manusia-mesin interaktif dengan satu bahasa alami
dapat sangat meningkatkan keefektifan SPK.
9. Peningkatan terhadap keefektifan pengambilan keputusan (akurasi, timeliness,
kualitas) ketimbang pada efisiensinya (biaya pengambilan keputusan). Ketika
SPK disebarkan, pengambilan keputusan sering membutuhkan waktu yang
lebih lama, namun keputusannya lebih baik.
10. Kontrol penuh oleh pengambil keputusan terhadap semua langkah proses
pengambilan keputusan dalam memecahkan suatu masalah. SPK secara khusus
Universitas Sumatera Utara
menekankan untuk mendukung pengambil keputusan, bukannya
menggantikan.
11. Pengguna akhir dapat mengembangkan dan memodifikasikan sendiri sistem
sederhana. Sistem yang lebih besar dapat dibangun dengan bantuan ahli sistem
informasi.
12. Biasanya model-model digunakan untuk menganalisis situasi pengambilan
keputusan. Kemampuan pemodelan memungkinkan eksperimen dengan
berbagai strategi yang berbeda di bawah konfigurasi yang berbeda.
13. Akses disediakan untuk berbagai sumber data, format, dan tipe, mulai dari
sistem informasi geografis (GIS) sampai sistem berorientasi objek.
14. Dapat dilakukan sebagai alat standalone yang digunakan oleh seorang
pengambil keputusan pada satu lokasi atau didistribusikan di satu organisasi
keseluruhan dan di beberapa organisasi sepanjang rantai persediaan.
Karakteristik dan kemampuan dari SPK tersebut membolehkan para pengambil
keputusan untuk membuat keputusan yang lebih baik dan lebih konsisten pada satu
cara yang dibatasi waktu. Kemampuan tersebut disediakan oleh berbagai komponen
utama SPK.
2.2.4. Komponen-Komponen SPK
Aplikasi SPK dapat terdiri dari beberapa subsistem (Turban et al, 2005), yaitu:
a. Subsistem manajemen data.
b. Subsistem manajemen model.
c. Subsistem antarmuka pengguna.
d. Subsistem manajemen berbasis pengetahuan.
Universitas Sumatera Utara
Komponen-komponen SPK dapat ditunjukkan pada gambar di bawah ini.
Gambar 2.2 Skematik SPK
2.2.4.1. Subsistem Manajemen Data
Subsistem manajemen data memasukkan satu basis data yang berisi data yang relevan
untuk situasi dan dikelola oleh perangkat lunak yang disebut Database Management
System (DBMS).
Subsistem manajemen data terdiri dari elemen berikut ini:
a. Basis data SPK
Basis data adalah kumpulan data yang saling terkait yang diorganisasikan
untuk memenuhi kebutuhan dan struktur sebuah organisasi dan dapat
digunakan oleh lebih dari satu orang untuk lebih dari satu aplikasi. Data pada
basis data SPK diekstrak dari sumber data internal dan eksternal, juga dari data
Manajemen Data
Manajemen Model
Subsistem berbasis pengetahuan
Antarmuka pengguna
Pengguna
Sistem lain yang berbasis komputer Data: eksternal
dan internal
Universitas Sumatera Utara
personal milik satu atau lebih pengguna. Hasil ekstraksi ditempatkan pada
basis data aplikasi khusus.
b. Database Management System (DBMS)
Basis data dibuat, diakses, dan diperbarui oleh sebuah DBMS. SPK dibuat
dengan sebuah DBMS relasional komersial standar yang memberikan berbagai
kapabilitas. Sebuah basis data yang yang efektif dan manajemennya dapat
mendukung banyak kegiatan manajerial; navigasi umum di antara record-
record, mendukung pembuatan dan pemeliharaan sebuah kumpulan hubungan
data yang berbeda-beda, dan laporan merupakan hasil yang umum.
c. Direktori data
Direktori data merupakan sebuah katalog dari semua data di dalam basis data.
Ia berisi definisi data dan fungsi utamanya adalah untuk menjawab pertanyaan
mengenai ketersediaan data, sumbernya, dan makna eksak dari data. Direktori
ini terutama cocok untuk mendukung fase inteligensi dari proses pengambilan
keputusan karena membantu men-scan data dan mengidentifikasi area masalah
dan peluang-peluang. Direktori, seperti semua catalog lainnya, mendukung
penambahan entri baru, menghapus entri, dan mendapatkan kembali informasi
mengenai objek-objek khusus.
d. Query facility
Membangun dan menggunakan SPK sering memerlukan akses, manipulasi,
dan query data. Tugas-tugas tersebut dilakukan oleh query facility. Ia
menerima permintaan untuk data dari komponen SPK lain, menentukan
bagaimana permintaan dapat dipenuhi, memformulasi permintaan dengan
detail, dan mengembalikan hasilnya kepada pemberi permintaan. Query
facility memasukkan sebuah bahasa query khusus (misal SQL).
Universitas Sumatera Utara
2.2.4.2. Subsistem Manajemen Model
Subsistem manajemen model merupakan paket perangkat lunak yang memasukkan
model keuangan, statistik, ilmu manajemen, atau model kuantitatif lainnya yang
memberikan kapabilitas analitik dan manajemen perangkat lunak yang tepat.
Subsistem manajemen model dari SPK terdiri dari elemen-elemen berikut ini:
a. Basis model
Basis model berisi rutin dan statistik khusus, keuangan, forecasting, ilmu
manajemen, dan model kuantitatif lainnya yang memberikan kapabilitas
analisi pada sebuah SPK. Model dalam basis model dapat dibagi menjadi
empat kategori utama, yaitu strategis, taktis, operasional, dan analitik.
b. Sistem manajemen basis model
Fungsi perangkat lunak sistem manajemen basis model (MBMS) adalah untuk
membuat model dengan menggunakan bahasa pemrograman, alat SPK dan
atau subrutin, dan blok pembangunan lainnya.
c. Bahasa pemodelan
SPK berkaitan dengan masalah semiterstruktur dan tidak terstruktur, karena itu
sering perlu untuk mengustomasi model-model dengan menggunakan alat dan
bahasa pemrograman.
d. Direktori model
Direktori model adalah katalog dari semua model dan perangkat lunak lainnya
pada basis model. Direktori model berisi definisi model dan fungsi utamanya
adalah menjawab pertanyaan tentang ketersediaan dan kapabilitas model.
e. Eksekusi model, integrasi, dan prosesor perintah
Aktivitas-aktivitas ini dikontrol oleh manajemen model. Eksekusi model
adalah proses mengontrol jalannya model saat ini. Integrasi model mencakup
gabungan operasi dari beberapa model saat diperlukan, atau mengintegrasikan
Universitas Sumatera Utara
SPK dengan aplikasi lain. Sedangkan perintah dalam manajemen model
digunakan untuk menerima dan menginterpretasikan instruksi-instruksi
pemodelan dari komponen antarmuka pengguna dan merutekannya ke MBMS,
eksekusi model, atau fungsi-fungsi integrasi.
2.2.4.3. Subsistem Antarmuka Pengguna
Antarmuka pengguna merupakan sistem dari sisi pengguna karena antarmuka adalah
satu-satunya bagian dari sistem yang dilihat oleh pengguna. Antarmuka pengguna
mancakup semua aspek komunikasi antara satu pengguna dan SPK. Cakupannya tidak
hanya perangkat keras dan perangkat lunak, tetapi juga faktor-faktor yang diberikan
dengan kemudahan penggunaan, kemampuan untuk dapat diakses, dan interaksi
manusia dan mesin. Antarmuka yang sulit merupakan satu alasan utama mengapa para
manajer tidak menggunakan komputer dan analisis kuantitatif.
Subsistem antarmuka pengguna dikelola oleh perangkat lunak yang disebut
sistem manajemen antarmuka pengguna (UIMS).
2.2.4.4. Subsistem Manajemen Berbasis Pengetahuan
Banyak masalah tak terstruktur dan bahkan semi terstruktur yang sangat kompleks
sehingga solusinya memerlukan keahlian. Keahlian tersebut dapat diberikan oleh
suatu sistem pakar atau sistem cerdas lainnya. Komponen subsistem manajemen
berbasis pengetahuan menyediakan keahlian yang diperlukan untuk memecahkan
beberapa aspek masalah dan memberikan pengetahuan yang dapat meningkatkan
operasi SPK yang lain.
Komponen pengetahuan terdiri dari satu atau lebih sistem cerdas. Sama seperti
basis data dan perangkat lunak manajemen model, perangkat lunak manajemen
berbasis pengetahuan memberikan eksekusi dan integrasi penting dari sistem cerdas.
Universitas Sumatera Utara
Sistem pendukung keputusan yang memasukkan komponen seperti itu disebut SPK
cerdas.
2.2.5. Model
Karakteristik utama sebuah SPK adalah inklusif pada sedikitnya satu model. Model
merupakan representasi atau abstraksi sederhana dari realitas. Model biasanya
disederhanakan karena realitas terlalu kompleks untuk digambarkan secara tepat dan
karena banyak dari kompleksitas tersebut secara aktual tidak relevan untuk
memecahkan masalah khusus.
Model dapat merepresentasikan sistem atau masalah dengan berbagai tingkatan
abstraksi. Model diklasifikasikan berdasarkan tingkat abstraksi, seperti ikonik, analog,
atau matematika. Model ikonik adalah model dengan abstraksi paling rendah yang
merupakan replika fisik dari sebuah sistem, biasanya pada skala yang berbeda dari
aslinya. Model analog merupakan model yang bertindak seperti sistem riil, tetapi tidak
mirip. Model ini lebih abstrak dibandingkan model ikonik dan merupakan representasi
simbolis dari realitas. Sedangkan model matematika merupakan model yang lebih
abstrak daripada model analog dan ikonik (Turban et al, 2005).
2.2.5.1. Manfaat Model
SPK menggunakan model-model untuk alasan berikut ini (Turban et al, 2005).
a. Manipulasi model (mengubah variabel keputusan atau lingkungan) jauh lebih
mudah daripada memanipulasi sistem riil.
b. Model memungkinkan kompresi waktu.
c. Biaya analisis pemodelan jauh lebih rendah daripada biaya eksperimen yang
serupa yang dilakukan pada sebuah sistem riil.
d. Biaya pembuatan masalah selama eksperimen coba-salah jauh lebih rendah
ketika menggunakan model-model, dibanding menggunakan sistem riil.
Universitas Sumatera Utara
e. Lingkungan bisnis mencakup ketidakpastian yang dapat dipertimbangkan.
f. Model matematika memungkinkan analisis terhadap sejumlah solusi yang
mungkin yang sangat besar, dan kadang-kadang tak terbatas.
g. Model memperkuat pembelajaran dan pelatihan.
h. Metode model dan solusi tersedia di web.
2.2.5.2. Kategori Model
Model dalam SPK dikelompokkan menjadi tujuh kelompok dan mendaftarkan
beberapa teknik representatif untuk setiap kategori (Turban et al, 2005). Berikut tabel
ketujuh kategori model-model tersebut.
Tabel 2.2 Kategori-Kategori Model
Kategori Proses dan Tujuan Teknik-Teknik Representatif
Optimalisasi
masalah dengan
sedikit alternative
Menemukan solusi terbaik dari
sejumlah alternatif.
Tabel keputusan, pohon
keputusan
Optimalisasi dengan
algoritma
Menemukan solusi terbaik dari
sejumlah besar alternatif dengan
menggunakan proses pendekatan
langkah demi langkah.
Model pemrograman
matematika linier dan
lainnya, model jaringan
Optimalisasi dengan
rumusan analitik
Menemukan solusi terbaik
dalam satu langkah dengan
menggunakan satu rumus.
Beberapa model
inventori
Simulasi Menemukan satu solusi yang
cukup baik atau yang terbaik di
antara berbagai alternatif yang
dipilih dengan menggunakan
eksperimen.
Beberapa tipe simulasi
Heuristic Menemukan satu solusi yang
cukup baik dengan
Pemrograman heuristic,
sistem pakar
Universitas Sumatera Utara
menggunakan aturan-aturan.
Model-model
prediktif
Memprediksi masa depan untuk
skenario yang ditentukan.
Model forecasting,
analisis Markov
Model-model
lainnya
Memecahkan kasus bagaimana-
jika dengan menggunakan
sebuah rumus.
Pemodelah keuangan,
waiting lines
2.2.6. Pemrograman Heuristic
Heuristic (bahasa Yunani untuk kata discovery) adalah aturan keputusan yang
mengatur bagaimana sebuah masalah harus dipecahkan (Turban et al, 2005). Heuristic
juga didefinisikan sebagai kriteria, metode, atau prinsip untuk menemukan jalan dari
beberapa alternatif tindakan yang paling efektif untuk mencapai tujuan tertentu (Pearl,
1984). Sedangkan menurut George Polya, heuristic didefinisikan sebagai studi metode
dan aturan penemuan (Setiawan, 1993, hal: 80). Biasanya, heuristic dikembangkan
berdasarkan basis analisis yang solid terhadap masalah, kadang-kadang melibatkan
eksperimen yang didesain secara cermat. Sebaliknya, petunjuk biasanya
dikembangkan sebagai hasil dari pengalaman coba-salah. Beberapa heuristic diambil
dari petunjuk. Heuristic search (atau pemrograman) adalah prosedur langkah-demi-
langkah (seperti algoritma) yang diulang sampai ditemukan sebuah solusi yang
memuaskan. Contoh-contoh heuristic didaftarkan pada Tabel 2.3.
Tabel 2.3 Contoh-contoh heuristic
Pekerjaan berurutan melalui sebuah
mesin
Melakukan pekerjaan yang pertama-tama
memerlukan least time.
Pembelian saham Jika rasio harga dibanding pengeluaran
lebih dari 10, tidak membeli saham.
Travel Tidak menggunakan jalan bebas hambatan
antara jam 8 dan 9 pagi.
Universitas Sumatera Utara
Investasi kapital pada proyek
teknologi tinggi
Mempertimbangkan hanya proyek-proyek
dengan periode pengembalian terestimasi
kurang dari 2 tahun.
Pembelian sebuah rumah Membeli hanya di lingkungan yang bagus,
tetapi hanya membeli dalam rentang harga
yang lebih rendah.
Pengambil keputusan menggunakan heuristic atau aturan utama dengan
berbagai alasan, beberapa alasan lebih masuk akal daripada alasan yang lainnya.
Sebagai contoh, pengambil keputusan dapat menggunakan sebuah heuristic jika
mereka tidak tahu cara terbaik untuk memecahkan sebuah masalah atau jika teknik-
teknik optimalisasi belum dilakukan.
Proses heuristic dapat dijelaskan sebagai pengembangan berbagai aturan untuk
membantu memecahkan masalah-masalah rumit, menemukan cara-cara mendapatkan
dan menginterpretasikan informasi yang terus berubah, dan kemudian mengembang-
kan metode-metode yang memimpin kepada suatu algoritma komputasional atau
solusi umum.
Sekalipun heuristic dilakukan terutama untuk memecahkan masalah yang tidak
terstruktur, namun heuristic juga dapat digunakan untuk memberikan solusi yang
memuaskan untuk masalah tertentu yang kompleks namun terstruktur, dengan jauh
lebih cepat dan lebih murah ketimbang algoritma optimalisasi. Kesulitan utama
menggunakan heuristic adalah heuristic bukan satu algoritma umum. Dengan
demikian, heuristic dapat digunakan hanya untuk situasi spesifik.
Pemrograman heuristic merupakan pendekatan yang melibatkan cara heuristic
(role of thumb) yang dapat menghasilkan solusi yang layak dan cukup baik pada
pelbagai permasalahan yang kompleks. Cukup baik (good enough) biasanya dalam
jangkauan 90 sampai dengan 99,99 persen dari solusi optimal sebenarnya (Subakti,
2002).
Universitas Sumatera Utara
Pemikiran heuristic tidak perlu berjalan dalam cara yang langsung. Pemikiran
ini meliputi pencarian, pembelajaran, evaluasi, penilaian, dan kemudian pencarian
ulang, pembelajaran ulang, dan penilaian ulang saat terjadi eksplorasi dan
pembuktian. Pengetahuan yang didapatkan dari kesuksesan atau kegagalan pada saat
yang sama merupakan umpan balik dan memodifikasi proses pencarian. Biasanya
tujuan atau masalah atau pemecahan yang terkait atau masalah yang disederhanakan
perlu ditentukan kembali sebelum masalah utama dapat dipecahkan (Turban et al,
2005).
2.3. Algoritma A*
Secara umum, pencarian jalur terpendek dapat dibagi menjadi dua metode yaitu
metode algoritma konvensional dan algoritma heuristic. Metode algoritma
konvensional diterapkan dengan cara perhitungan matematis biasa, sedangkan metode
algoritma heuristic diterapkan dengan perhitungan kecerdasan buatan dengan
menentukan basis pengetahuan dan perhitungannya (Mutakhiroh et al, 2007).
Metode algoritma heuristic dapat menyelesaikan masalah pencarian jalur
terpendek dengan hasil yang lebih variatif dan dengan waktu perhitungan yang lebih
singkat. Pada metode algoritma konvensional, logika yang dipakai hanya dengan
membandingkan jarak masing-masing simpul dan kemudian mencari jarak yang
terpendek. Namun, kelemahan metode algoritma konvensional pada keakuratan hasil
yang didapatkan serta tingkat kesalahan yang dihasilkan pada perhitungan. Hal
tersebut tidak akan menjadi masalah jika data yang dibutuhkan hanya sedikit,
sebaliknya maka akan menyebabkan peningkatan tingkat kesalahan perhitungan dan
penurunan keakuratan. Secara konsep algoritma, metode algoritma konvensional lebih
mudah untuk dipahami, tetapi hasil yang diperoleh dari metode algoritma heuristic
lebih variatif.
Di dalam mempelajari tingkah laku suatu heuristic tidak hanya dibutuhkan
solusi, tetapi juga membutuhkan algoritma untuk mendapatkan jalur atau lintasan
Universitas Sumatera Utara
terpendek untuk mencapai data yang diinginkan (goal). Hal ini adalah penting jika
sebuah aplikasi mempunyai biaya tinggi untuk langkah-langkah solusi ekstranya,
seperti misalnya merencanakan sebuah jalur untuk sebuah robot autonomous pada
sebuah lingkungan yang berbahaya. Heuristic yang menemukan lintasan terpendek
kapan saja dan di mana berada disebut admissible. Suatu algoritma pencarian disebut
admissible jika algoritma tersebut terjamin dalam hal pencarian jalur yang minimal
pada suatu solusi di manapun jalur tersebut berada (Kristanto, 2004).
Salah satu metode algoritma heuristic yang digunakan untuk melakukan
pencarian jalur terpendek adalah algoritma A*. A* (admissible heuristic) adalah
strategi best first search yang menggunakan estimasi solusi biaya terkecil untuk
mencapai suatu tujuan dengan jarak tempuh terdekat dan memiliki nilai heuristic yang
digunakan sebagai dasar pertimbangan (Seminar Nasional Sains dan Teknologi-II,
2008). Algoritma A* menghasilkan jalur optimal mulai dari tempat awal kemudian
melalui simpul menuju tempat yang dituju.
Notasi yang dipakai oleh algoritma A* adalah:
f(n) = g(n) + h(n) (2.4)
Dalam notasi standar yang dipakai untuk algoritma A* di atas, digunakan g(n)
untuk mewakili biaya rute dari simpul awal ke simpul n. Lalu h(n) mewakili perkiraan
biaya dari simpul n ke simpul tujuan, yang dihitung dengan fungsi heuristic. A*
‘menyeimbangkan’ kedua nilai ini dalam mencari jalan dari simpul awal ke simpul
tujuan. Dalam menentukan simpul yang akan dikembangkan, algoritma ini akan
memilih simpul dengan nilai f(n) = g(n) + h(n) yang paling kecil (Adipranata et al,
2007).
Beberapa terminologi dasar yang terdapat pada algoritma A* (Viktor et al,
2010) adalah:
a. starting point merupakan terminologi untuk posisi awal sebuah benda.
Universitas Sumatera Utara
b. simpul (nodes) merupakan petak-petak kecil sebagai representasi dari
pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.
c. A merupakan simpul yang sedang dijalankan dalam algoritma pencarian jalan
terependek.
d. open list merupakan tempat menyimpan data simpul yang mungkin diakses
dari starting point maupun simpul yang sedang dijalankan.
e. closed list merupakan tempat menyimpan data simpul sebelum A yang juga
merupakan bagian dari jalur terpendek yang telah berhasil didapatkan.
f. harga (cost) merupakan nilai dari f(n).
g. halangan (unwalkable) merupakan sebuah atribut yang menyatakan bahwa
sebuah simpul tidak dapat dilalui oleh A.
Berikut ini adalah algoritma A* (Pearl, 1984):
1. Letakkan simpul awal s pada OPEN.
2. Jika OPEN kosong, pencarian berakhir.
3. Pindahkan simpul n yang memiliki nilai f minimum dari OPEN ke CLOSED.
4. Jika n adalah simpul tujuan, pencarian berhasil dan berakhir dengan
menelusuri kembali pointer dari n sampai s.
5. Ekspansikan n, bangkitkan semua successor dari simpul n, dan tambahkan ke
pointer tersebut kembali ke n. Untuk setiap successor n’ dari simpul n:
a. Jika n’ tidak ada pada OPEN atau CLOSED, estimasi h(n’) (sebuah
perkiraan dari biaya perjalanan terbaik dari n’ ke beberapa simpul tujuan),
dan hitung f(n’) = g(n’) + h(n’) dimana g(n’) = g(n) + c(n, n’) dan g(s) =
0.
b. Jika n’ sudah berada pada OPEN atau CLOSED, letakkan pointer
perjalanan pada hasil g(n’) yang terendah.
c. Jika n’ membutuhkan penyesuaian pointer dan ditemukan pada CLOSED,
buka kembali n’.
6. Kembali ke langkah 2.
Universitas Sumatera Utara
2.4. Delphi 7.0
Borland Delphi atau yang biasa disebut Delphi saja merupakan sarana pemrograman
aplikasi visual. Bahasa pemorgraman yang digunakan adalah bahasa pemrograman
Pascal atau yang kemudian juga disebut bahasa pemrograman Delphi. Delphi
merupakan generasi penerus dari Turbo Pascal. Turbo Pascal dirancang untuk
dijalankan pada sistem opersai DOS, sedangkan Delphi dirancang untuk beroperasi di
bawah sistem operasi Windows (Wahana Komputer, 2003).
Borland Delphi versi pertama dirilis pada tahun 1995, kemudian berlanjut
sampai Delphi 7.0 yang dirilis pada tahun 2002 dan kini versi terbarunya adalah
Delphi 8.0 dan 2005.
Keunggulan bahasa pemrograman Delphi terletak pada produktivitas, kualitas,
pengembangan perangkat lunak, kecepatan kompilasi, pola desain yang menarik serta
diperkuat dengan pemrogramannya yang terstruktur. Keunggulan lain dari Delphi
adalah dapat digunakan untuk merancang program aplikasi yang memiliki tampilan
seperti program aplikasi lain yang berbasis Windows (Madcoms, 2003).
Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai dari
sarana untuk pembuatan form, menu, toolbar, hingga kemampuan untuk menangani
pengelolaan basis data yang besar. Kelebihan-kelebihan yang dimiliki Delphi antara
lain karena pada Delphi, form dan komponen-komponennya dapat dipakai ulang dan
dikembangkan, tersedia template aplikasi dan form template, memiliki lingkungan
pengembangan visual yang dapat diatur sesuai kebutuhan, serta kemampuan
mangakses data dari bermacam-macam format.
2.5. MySQL
MySQL adalah database server relasional yang gratis di bawah lisensi GNU General
Public License. MySQL dikembangkan oleh MySQL AB, sebuah perusahaan
komersial yang membangun layanan bisnisnya melalui basis data MySQL. Awal mula
Universitas Sumatera Utara
pengembangan MySQL adalah pengguanaan mSQL untuk koneksi ke tabel
mempergunakan rutin level rendah (ISAM). Setelah beberapa pengujian diperoleh
kesimpulan mSQL tidak cukup cepat dan fleksibel untuk memenuhi kebutuhan.
Sehingga dihasilkan suatu antarmuka SQL baru pada basis data tetapi dengan
Application Programming Interface (API) yang mirip SQL. API ini dipilih
sedemikian sehingga memudahkan porting kode (Utdirartatmo, 2002).
MySQL juga disebut sebagai suatu sistem manajemen basis data. Suatu basis
data adalah sebuah kumpulan data yang terstruktur. Untuk menambahkan, mengakses,
dan memproses data yang tersimpan pada suatu basis data komputer diperlukan sistem
manajemen basis data seperti MySQL. MySQL mampu menangani basis data
berukuran besar yaitu bisa memuat 60 ribu tabel dan 50 juta record. Karena komputer
sangat unggul dalam menangani sejumlah besar data, sistem manajemen basis data
memainkan suatu peranan yang penting dalam komputasi, baik sebagai utility stand-
alone maupun bagian dari aplikasi lainnya.
Perintah-perintah dasar Structured Query Language (SQL) yang dipergunakan
pada MySQL adalah sebagai berikut (Utdirartatmo, 2002).
a. CREATE DATABASE
Perintah ini berfungsi untuk membuat database baru
b. DROP DATABASE
Berfungsi untuk menghapus database.
c. CREATE TABLE
Perintah ini berfungsi untuk membat table baru.
d. DESCRIBE
Perintah ini berguna untuk menampilkan deskripsi dari sebua tabel.
e. ALTER TABLE
Perintah ini berfungsi untuk melakukan modifikasi tabel.
f. DROP TABLE
Perintah ini digunakan untuk menghapus tabel.
g. DELETE
Perintah ini digunakan untuk menghapus record dari sebuah tabel.
Universitas Sumatera Utara
h. GRANT
Perintah ini berfungsi untuk memberikan privilege akses kepada pengguna
terhadap tabel dan dapat juga digunakan untuk membuat pengguna baru.
i. LOCK TABLES
Perintah ini berfungsi untuk menutup akses pengguna terhadap tabel.
j. UNLOCK TABLES
Perintah ini berfungsi untuk membuka akses yang sebelumnya dikunci.
k. INSERT INTO
Perintah ini berfungsi untuk memasukkan data ke dalam tabel.
l. LOAD DATA INFILE
Perintah ini gunakan untuk membaca data dari file teks.
m. SELECT
Perintah ini berfungsi untuk menampilkan record dari suatu tabel.
n. UPDATE
Perintah ini berfungsi untuk melakukan update data field dari sebuah tabel.
Universitas Sumatera Utara