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 9am - 10am
Mr. Smith Room 1 Class A
Mr. Jhon Room2 Class B
10am - 11am 11am - 12 am COMPUTER Mr. Carlie Room 1 Class C
PHYSICS Mr. Donald Room 2 Class A
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).
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
∑t p =1
np
= l n , n = 1, …, N
(2.1)
np
≤ rp , p = 1, …, P
(2.2)
N
∑t n =1
N −1
N
P
∑ ∑ ∑t n =1
m = n +1 p =1
t c =0
np mp nm
(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 masingmasing 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.
Sistem lain yang berbasis komputer
Data: eksternal dan internal
Manajemen Data
Manajemen Model
Subsistem berbasis pengetahuan
Antarmuka pengguna
Pengguna
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
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 recordrecord, 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
Optimalisasi
Menemukan solusi terbaik dari
Teknik-Teknik Representatif Tabel keputusan, pohon
masalah dengan
sejumlah alternatif.
keputusan
Optimalisasi dengan
Menemukan solusi terbaik dari
Model pemrograman
algoritma
sejumlah besar alternatif dengan
matematika linier dan
Kategori
Proses dan Tujuan
sedikit alternative
menggunakan proses pendekatan lainnya, model jaringan langkah demi langkah. Optimalisasi dengan
Menemukan solusi terbaik
Beberapa model
rumusan analitik
dalam satu langkah dengan
inventori
menggunakan satu rumus. Simulasi
Menemukan satu solusi yang
Beberapa tipe simulasi
cukup baik atau yang terbaik di antara berbagai alternatif yang dipilih dengan menggunakan eksperimen. Heuristic
Menemukan satu solusi yang
Pemrograman heuristic,
cukup baik dengan
sistem pakar
Universitas Sumatera Utara
menggunakan aturan-aturan. Model-model
Memprediksi masa depan untuk
Model forecasting,
prediktif
skenario yang ditentukan.
analisis Markov
Model-model
Memecahkan kasus bagaimana-
Pemodelah keuangan,
lainnya
jika dengan menggunakan
waiting lines
sebuah rumus.
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-demilangkah (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 Melakukan pekerjaan yang pertama-tama mesin
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 Mempertimbangkan hanya proyek-proyek
teknologi tinggi
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 teknikteknik 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 mengembangkan 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 standalone 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