BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI. Menurut Schroeder (2000) Penjadwalan dapat didefinisikan sebagai suatu

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

1. Pendahuluan Selama ini penjadwalan pelajaran hampir di semua sekolah yang meliputi jadwal mata pelajaran dan pembagian guru di setiap kelas yang

BAB II LANDASAN TEORI

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH

BAB II LANDASAN TEORI. terdapat dalam transportasi dan distribusi serta dalam industri. Sasaran utama proses penjadwalan:

PENJADWALAN KULIAH DENGAN MENGGUNAKAN METODE TABU SEARCH TUGAS AKHIR

BAB I PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI ALGORITMA TABU SEARCH UNTUK MENGOPTIMASI PENJADWALAN PREVENTIVE MAINTENANCE (STUDI KASUS PT XYZ)

BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

IMPLEMENTASI ALGORITMA TABU SEARCH UNTUK MENGOPTIMASI PENJADWALAN PREVENTIVE MAINTENANCE PT SOLUSI APLIKASI INTERAKTIF

PENYELESAIAN VEHICLE ROUTING PROBLEM WITH SIMULTANEOUS PICK-UP AND DELIVERY SERVICE MENGGUNAKAN ALGORITME TABU SEARCH SYUKRIO IDAMAN

Metode Pencarian & Pelacakan dengan Heuristik

BAB 2 LANDASAN TEORI

ANALISIS ALOKASI KANAL DINAMIK PADA KOMUNIKASI SELULER DENGAN ALGORITMA TABU SEARCH

BAB I PENDAHULUAN 1.1 Latar Belakang

KOMPARASI METODE ANT COLONY OPTIMIZATION DENGAN TABU SEARCH UNTUK PENJADWALAN PERKULIAHAN

Implementasi Algoritma Greedy pada Permainan Ludo

OPTIMASI PENJADWALAN MATA PELAJARAN MENGGUNAKAN METODE TABU SEARCH (STUDI KASUS: SMKN 2 SINGOSARI)

APLIKASI SIMULATED ANNEALING UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

Kata Kunci: Rute, Jadwal, Optimasi, Vehicle Roting Problem, Algoritma Tabu Search, Model

BAB 3 LINEAR PROGRAMMING

BAB I PENDAHULUAN 1.1. Latar Belakang

PEMBANGUNAN SISTEM PENJADWALAN KULIAH MENGGUNAKAN ALGORITMA PEWARNAAN GRAF

PENJADWALAN KULIAH DENGAN ALGORITMA MEMETIKA LISMANTO

Optimasi Penentuan Jumlah Tenaga Kerja disetiap Shift Kerja pada Line Maintenance Pesawat Terbang dengan Algoritma Tabu Search

UNNES Journal of Mathematics

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

BAB I PENDAHULUAN. yang dikerjakan pada beberapa buah mesin (Rosnani Ginting, 2009). Pekerjaan

PERENCANAAN PERJALANAN WISATA SINGAPURA DENGAN ALGORITMA TABU SEARCH

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

BAB II TINJAUAN PUSTAKA. Job shop scheduling problem (JSSP) adalah permasalahan optimasi

RANCANG BANGUN PERANGKAT LUNAK PENJADWALAN PERKULIAHAN MENGGUNAKAN METODE META- HEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH)

FUNGSI GRIEWANK DAN PENENTUAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Tri Nadiani Solihah

IMPLEMENTASI ALOKASI JADWAL MATA PELAJARAN SMU MENGGUNAKAN ALGORITMA KOLONI SEMUT (AKS)

BAB III PENJADWALAN KULIAH DI DEPARTEMEN MATEMATIKA DENGAN ALGORITMA MEMETIKA. Penjadwalan kuliah di departemen Matematika UI melibatkan

PENGEMBANGAN APLIKASI UNTUK MEMPERMUDAH PENCARIAN RUMAH SAKIT UMUM DENGAN ALGORITMA TABU SEARCH

Penggunaan Algoritma Greedy untuk Meminimalkan Belanja

BAB I PENDAHULUAN. 1.1 Latar Belakang dan Permasalahan

PENYELESAIAN MASALAH TSP PADA RUTE KUNJUNGAN ATM DENGAN PENDEKATAN HEURISTIK (TABU SEARCH)

Algoritma Tabu Search dan Penggunaannya dalam Penyelesaian Job Shop Scheduling Problem

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Pendahuluan

Manual Penggunaan Algoritma Tabu Search untuk Mengoptimasikan Penjadwalan Job Shop

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

BAB I PENDAHULUAN 1.1 Latar Belakang

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

Penerapan Algoritma Greedy dalam Penyetokan Barang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1 BAB 2 LANDASAN TEORI

Perangkat Lunak Simulasi Periodic Vehicle Routing Problem (PVRP) dengan Tabu Search

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 3 LEXICOGRAPHIC GOAL PROGRAMMING 3.1 DESKRIPSI UMUM LEXICOGRAPHIC GOAL PROGRAMMING

BAB I PENDAHULUAN Latar Belakang. Laboratorium komputer (Labkom) adalah salah satu unit kerja di Stikom

USULAN RUTE DISTRIBUSI TABUNG GAS 12 KG MENGGUNAKAN ALGORITMA NEAREST NEIGHBOUR DAN ALGORITMATABU SEARCH DI PT. X BANDUNG *

FUNGSI ACKLEY DAN PENCARIAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Muhamad Fadilah Universitas Jenderal Soedirman

Metode Simpleks dalam Bentuk Tabel (Simplex Method in Tabular Form) Materi Bahasan

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 06

BAB I PENDAHULUAN. Gambar 1.1. Statistik data mahasiswa Pendidikan Dokter (DAA UGM, 2014)

Perancangan Sistem Penjadwalan Asisten Dosen Menggunakan Algoritma Genetika (Studi Kasus: STIKOM Bali)

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI. ke dalam kelas local search. Tabu search memperbaiki performansi local search

BAB III ALGORITMA GREEDY DAN PROGRAM DINAMIS

OPTIMASI (Pemrograman Non Linear)

PENYUSUNAN PENJADWALAN UJIAN MENGGUNAKAN ALGORITMA RANK BASED ANT SYSTEM INTISARI

I PENDAHULUAN II LANDASAN TEORI

BAB 1 PENDAHULUAN. dari ekonomi global yang melanda hampir negara-negara di Amerika dan Asia. Hal ini

PENERAPAN ALGORITMA TABU SEARCH UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM

PENENTUAN RUTE PENDISTRIBUSIAN SURAT KABAR DENGAN TIME WINDOW, APLIKASI ALGORITMA TABU SEARCH (STUDI KASUS : KORAN KOMPAS)

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB 4 HASIL DAN PEMBAHASAN

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

Optimasi Pengalokasian Produksi Barang Jadi dengan Menggunakan Solver Add-Ins. Ratna Puspita Indah STMIK Duta Bangsa Surakarta ABSTRAK

Gambar 1.1 Contoh Ilustrasi Kasus CVRP 13

What Is Greedy Technique

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

BAB III PEMODELAN MASALAH

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

Program Studi Sistem Informasi STMI - Kementerian Perindustrian Jakarta 2012

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

BAB II DASAR TEORI. Teknologi komunikasi selular sebenarnya sudah berkembang dan banyak

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

ANALISIS ALGORITMA ANT SYSTEM (AS) PADA KASUS TRAVELLING SALESMAN PROBLEM (TSP)

BAB I PENDAHULUAN 1.1 Latar Belakang

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

1 BAB I PENDAHULUAN. 1.1 Latar Belakang dan Permasalahan

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Algoritma Greedy untuk AI dalam Permainan DotA

Penerapan Algoritma Greedy untuk Permainan Halma

Transkripsi:

17 BAB 2 LANDASAN TEORI 2.1 Permasalahan Optimasi Optimasi adalah proses memaksimasi atau meminimasi suatu fungsi tujuan dengan tetap memperhatikan pembatas yang ada. Optimasi memegang peranan penting dalam mendesain suatu sistem. Dengan optimasi, suatu sistem dapat menghasilkan ongkos yang lebih murah atau profit yang lebih tinggi, menurunkan waktu proses dan sebagainya. Optimasi dalam waktu sekarang memerlukan bantuan software untuk menyelesaikan permasalahan yang ditemukan untuk mendapatkan solusi yang optimal dengan waktu komputasi yang lebih singkat. Teknik-teknik optimasi tidak banyak berubah dalam beberapa tahun belakangan ini. Tetapi aplikasi dari teknik optimasi telah menjamur di berbagai bidang secara cepat. Keberhasilan penerapan teknik optimasi paling tidak memerlukan tiga syarat, yaitu kemampuan membuat model matematika dari permasalahan yang dihadapi, pengetahuan akan program komputer dan pengetahuan akan teknik optimasi itu sendiri. Pemakaian software dalam menyelesaikan masalah optimasi sangatlah penting. Persoalan sederhana mungkin bisa diselesaikan dengan suatu algoritma yang hanya memerlukan satu atau dua iterasi, namun jika sudah menyangkut permasalahan dengan skala besar dan melibatkan banyak iterasi dalam menemukan solusi optimal dari permasalahan itu maka diperlukan pemakaian software untuk menyelesaikannya. Masalah optimasi dapat dikategorikan ke dalam dua kelas besar, yaitu optimasi tanpa pembatas (unconstrained optimization) dan optimasi dengan pembatas (constrained

18 optimization). Dari namanya kita bisa mengetahui bahwa optimasi tanpa pembatas hanya melibatkan fungsi tujuan, tidak ada pembatas (constraint), sedangkan optimasi dengan pembatas, selain fungsi tujuan kita juga mempunyai tambahan pembatas yang membuat permasalahan lebih rumit. Dalam constrained optimization, dengan adanya pembatas diperlukan algoritma yang berbeda untuk menyelesaikannya. Prosedur pemecahan masalah optimasi adalah memodelkan persoalannya ke dalam sebuah program matematis dan kemudian memecahkannya dengan menggunakan teknik-teknik atau metode optimasi seperti program linier, program nonlinier, program tujuan ganda, dan metode-metode lainnya yang sudah berkembang saat ini. Dalam penelitian ini akan menggunakan metode tabu search untuk menyelesaikan persoalan optimasi. 2.2 Permasalahan Penjadwalan Jadwal adalah daftar output (tabel kegiatan)/rencana kegiatan yang harus dihasilkan dalam jangka waktu tertentu, biasanya disusun menurut urutan prioritas dengan pembagian waktu pelaksanaan yang terperinci, sedangkan penjadwalan adalah proses pembuatan/cara menjadwalkan suatu data menjadi jadwal (Harding, 1984). Penjadwalan merupakan proses untuk menyusun suatu jadwal atau urutan proses yang diperlukan dalam sebuah permasalahan. Permasalahan penjadwalan biasanya berhubungan dengan penjadwalan kelas dalam sekolah atau perkuliahan dan juga dalam lingkup yang tidak jauh berbeda seperti penjadwalan pelajaran sekolah, penjadwalan ujian, atau bisa juga penjadwalan karyawan, baik dalam suatu perusahaan ataupun dalam rumah sakit. Dalam penjadwalan kuliah, akan dibahas tentang pembagian jadwal untuk tiap mahasiswa pada kuliah tertentu sekaligus dosen pengajarnya, dalam penjadwalan pelajaran sekolah akan dibahas tentang pembagian jadwal pelajaran untuk tiap-tiap kelas yang ada beserta guru pengajar pelajaran tersebut, dalam penjadwalan ujian akan dibahas pengaturan dosen yang menjaga ujian dan mahasiswa atau murid yang menempati ruang

19 ujian yang ada, sedangkan pada penjadwalan karyawan, dilakukan pengaturan karyawan yang akan bekerja pada waktu tertentu di bagian tertentu. Proses tersebut tentu saja dibuat berdasarkan permasalahan yang ada. Beberapa proses umum yang perlu dilakukan untuk menyelesaikan suatu proses penjadwalan adalah: 1. Mendefinisikan atau membuat model dari permasalahan. Model yang dibuat mencakup proses apa saja yang akan dikerjakan dalam persoalan penjadwalan yang ada. Atau lebih jelasnya jadwal apa saja yang akan dibuat. 2. Mendesain metode penyelesaian untuk permasalahan penjadwalan tersebut. Dari model yang telah ada, ditentukan metode apa yang akan digunakan untuk menyelesaikan permasalahan penjadwalan tersebut. 3. Mencari bermacam-macam contoh permasalahan penjadwalan yang telah dibuat. Dalam proses ini dilakukan pencarian penyelesaian penjadwalan yang pernah digunakan agar dapat dipakai sebagai referensi dalam proses yang sedang dilakukan. Sedangkan pembahasan penjadwalan menurut Tomas Muller dan Roman Bartak sebagai berikut: 1. Aktivitas yang dilakukan Maksudnya adalah penentuan dari permasalahan penjadwalan yang dibahas. 2. Sumber-sumber yang dipakai Sumber-sumber yang dipakai berarti hal-hal yang dapat digunakan untuk menyelesaikan permasalahan penjadwalan (aktifitas) yang telah ditentukan atau bisa juga dikatakan sebagai data yang digunakan. Misalnya pada penjadwalan

20 kuliah diperlukan data mata kuliah, dosen, mahasiswa, kelas dan sumber-sumber lain yang diperlukan. 3. Syarat-syarat yang diperlukan Syarat disini adalah hal-hal yang perlu diperhatikan ketika menyusun suatu penjadwalan. 4. Hubungan Timbal Balik Yang dimaksud hubungan timbal balik disini adalah bagaimana jadwal yang telah dibuat tersebut dapat sesuai dengan yang diinginkan oleh user. Berikut contoh ilustrasi peranan penjadwalan dalam situasi kehidupan sehari hari: 1. Rencana produksi penggilingan kertas. Bahan-bahan dalam penggilingan kertas adalah serat kayu dan pulp, hasilnya adalah sejumlah gulungan kertas. Komponen utama dalam penggilingan kertas adalah mesin. Setiap mesin mengerjakan tugas yang berbeda-beda digolongkan berdasarkan berat kertas, kualitas dan warna. Penjadwalan mempertimbangkan perputaran waktu. Waktu penggunaan mesin bergantian satu sama lain berdasarkan kualitas kertas yang dihasilkan. Mesin tidak akan berhenti selama pertukaran tugas, karena selama pertukaran (transfer) produksi kertas tidak mengalami masalah yang spesifik pada sistem produksi. Objektif masalah penjadwalan dalam kasus ini adalah memaksimalkan hasil produksi dengan biaya minimum. Memaksimumkan produksi dalam arti sudah termasuk meminimumkan waktu pertukaran antar mesin. 2. Menyusun jadwal perawat di suatu rumah sakit. Setiap rumah sakit mempunyai susunan kepegawaian yang memerlukan pertukaran dari hari ke hari. Sebagai contoh sejumlah perawat menghendaki libur pada hari minggu, dan biasanya lebih banyak dari pada hari sabtu. Dan rumah sakit juga menghendaki shift malam lebih sedikit dibanding siang. Keadaan dan

21 pengaturan tersebut menghendaki adanya penjadwalan. Objektif dari permasalahan ini adalah menuntut pengaturan shift yang berbeda-beda, dengan biaya yang berbeda juga. 3. Contoh lain yang memerlukan penjadwalan adalah penjadwalan mata pelajaran di sekolah, penjadwalan mata kuliah di universitas, penjadwalan karyawan di suatu perusahaan, dan sebagainya. 2.3 Definisi Jadwal Kuliah Menurut situs Universitas Airlangga, jadwal kuliah adalah daftar mata kuliah beserta alokasi hari, waktu dan ruangan yang diprogramkan dalam satu semester oleh fakultas. Menurut rektor Universitas Indonesia, jadwal mata kuliah mencakup: 1. Nama kelas mata kuliah 2. Jenis kelas, untuk membedakan penyelenggaraan kelas mata kuliah 3. Koordinator kelas mata kuliah sebagai penanggung jawab kelas mata kuliah tersebut 4. Hari dan jam kuliah 5. Tempat / ruang mata kuliah 6. Dosen pengajar. Menurut situs Universitas Moestopo, jadwal mata kuliah adalah jadwal pengaturan dan pelaksanaan pendidikan dan pengajaran untuk jangka waktu satu semester. 2.4 Permasalahan penjadwalan kuliah

22 Penyampaian informasi pada lembaga akademik merupakan hal yang sangat penting terutama informasi yang berkaitan dengan kegiatan perkuliahan. Salah satunya adalah informasi jadwal kuliah. Penjadwalan kuliah merupakan pekerjaan yang tidak mudah, dimana inti dari masalah ini adalah bagaimana menjadwalkan berbagai komponen yang terdiri dari mahasiswa, dosen, ruang, dan waktu dengan memperhatikan sejumlah batasan dan syarat tertentu. Syarat-syarat dalam penjadwalan kuliah terbagi dalam dua kelompok sesuai dengan tingkat kewajiban syarat tersebut terpenuhi, yaitu hard constraint (harus terpenuhi) dan soft constraint (diupayakan untuk terpenuhi). Sebuah solusi hanya dapat dikatakan sah dan valid apabila dalam solusi tersebut sama sekali tidak ada hard constraint yang terlanggar. Berbeda dengan hard constraint, kendala yang termasuk dalam soft constraint adalah kendala yang tidak selalu dapat terpenuhi dalam proses pembentukan jadwal, akan tetapi meskipun tidak harus terpenuhi, jadwal yang dihasilkan harus semaksimal mungkin berusaha memenuhi ketentuan soft constraint. Salah satu metode yang dapat digunakan untuk menyelesaikan masalah penjadwalan kuliah adalah metode tabu search. Tabu search adalah teknik local search yang memilih langkah berikutnya (neighbor solution) berdasarkan constraint dan penalti. Setiap constraint yang ada akan didefinisikan dengan sebuah nilai penalti yang akan dikenakan apabila constraint itu terlanggar (Glover, 1986). Dengan metode ini diharapkan akan diperoleh kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh mata kuliah yang ada dengan tidak melanggar ketentuan yang ada. 2.5 Algoritma Tabu Search Algoritma tabu search secara garis besar dapat ditulis sebagai berikut: Tetapkan: X = Matriks input berukuran n m. MaxItr = maksimum iterasi.

23 S = bangkitkan solusi secara random. GlobalMin = FCost(S). Best = S. TabuList = []. Kerjakan dari k=1 sampai MaxItr: BestSoFar = FCost(S). BestMove = S. Kerjakan dari i=1 sampai (n-1): Kerjakan dari j=i sampai (n-1): L = Tukar(S[i],S[j]. Cost = Fcost(L). Jika (L TabuList) atau (Cost<GlobalMin), kerjakan: Jika (Cost<BestSoFar), kerjakan: BestSoFar = Cost. BestMove = L. S = BestMove. Tambahkan S ke TabuList. Jika BestSo Far < GlobalMin, kerjakan: GlobalMin = BestSoFar. Best = BestMove Solusi akhir adalah Best, dengan cost sebesar GlobalMin. Menurut Glover dan Laguna kata tabu atau taboo berasal dari bahasa Tongan, suatu bahasa Polinesia yang digunakan oleh suku Aborigin pulau tonga untuk mengindikasikan suatu hal yang tidak boleh disentuh karena kesakralannya. Tabu menunjukkan tidak boleh/terlarang untuk dilakukan (penting) yang berkaitan erat dengan memori sosial dari suatu kelompok masyarakat. Menurut kasus Webster, tabu berarti larangan yang dipaksakan oleh kebudayaan sosial sebagai suatu tindakan pencegahan atau sesuatu yang dilarang karena berbahaya. Bahaya yang harus dihindari dalam tabu search adalah penjadwalan yang tidak layak, dan terjebak tanpa ada jalan keluar.

24 Tabu search pertama kali diperkenalkan oleh Glover sekitar tahun 1986. Glover menyatakan bahwa tabu search adalah salah satu prosedur metaheuristik tingkat tinggi untuk penyelesaian permasalahan optimisasi kombinatorial. Tabu search ini dirancang untuk mengarahkan metode-metode lain (atau komponen proses tabu search itu sendiri) untuk keluar atau menghindari dari masuk ke dalam solusi optimal yang bersifat lokal. Kemampuan tabu search dalam menghasilkan solusi yang mendekati optimal telah dimanfaatkan dalam beragam permasalahan di berbagai bidang mulai bidang penjadwalan hingga bidang telekomunikasi. Glover mengatakan bahwa prosedur tabu search ini dapat ditemukan dalam tiga pola (scheme) utama. Pola pertama adalah adanya penggunaan struktur memori berbasiskan atribut-atribut fleksibel yang dirancang untuk memperbolehkan sebuah kriteria evaluasi dan hasil pencarian di masa lalu dieksploitasi lebih mendalam. Pola ini menjadikan tabu search berbeda dengan aplikasi lain yang menggunakan struktur memori yang rigid (kaku) atau tanpa menggunakan struktur memori (seperti simulated annealing). Pola kedua adalah penggunaan mekanisme atau kondisi yang dapat membatasi atau membebaskan suatu proses pencarian yang sedang berlangsung. Pola kedua ini dikenal sebagai mekanisme tabu restriction dan aspiration criteria. Pola ketiga adalah pelibatan suatu fungsi memori dengan rentang waktu yang berbeda yakni berupa memori jangka pendek (short term memory) dan memori jangka panjang (long term memory) untuk menjalankan strategi intensifikasi dan diversifikasi dalam proses pencarian solusi. Strategi intensifikasi adalah strategi pencarian yang mengarahkan/mengfokuskan pencarian pada suatu area tertentu, sedangkan strategi diversifikasi adalah strategi pencarian yang mengarahkan pencarian pada area baru. Tabu search adalah sebuah metode optimasi yang berbasis pada local search. Proses pencarian bergerak dari satu solusi ke solusi berikutnya, dengan cara memilih solusi terbaik neighbourhood solusi sekarang (current) yang tidak tergolong ke dalam solusi terlarang (tabu). Ide dasar dari algoritma tabu search adalah mencegah proses pencarian dari local search agar tidak melakukan pencarian ulang pada ruang solusi yang sudah pernah ditelusuri, dengan memanfaatkan suatu struktur memori yang mencatat sebagian jejak proses pencarian yang telah dilakukan.

25 Struktur memori fundamental dalam tabu search dinamakan tabu list. Tabu list menyimpan atribut dari sebagian move (transisi solusi) yang telah diterapkan pada iterasiiterasi sebelumnya. Tabu search menggunakan tabu list untuk menolak solusi solusi yang memenuhi atribut tertentu guna mencegah proses pencarian mengalami cycling pada daerah solusi yang sama, dan menuntun proses pencarian menelusuri daerah solusi yang belum dikunjungi. Tanpa menggunakan strategi ini, local search yang sudah menemukan solusi optimum local dapat terjebak pada daerah solusi optimum local tersebut pada iterasi-iterasi berikutnya Struktur tabu search menggunakan empat dimensi, terdiri dari recency, frequency, quality, dan influence yang ditunjukkan oleh gambar berikut: Quality Influence Memory structures Recency Frequency Gambar 2.1 Dimensi Tabu Search Recency-based dan frequency-based memory saling melengkapi satu sama lain. Dimensi quality berhubungan dengan kemampuan membedakan manfaat solusi yang diperoleh selama proses pencarian. Memory dapat mengidentifikasi elemen yang umum pada solusi yang baik atau pada path yang mengarah pada solusi yang baik. Dimensi influence mempertimbangkan akibat pilihan yang dibuat selama proses pencarian tidak hanya terhadap kualitas maupun pada struktur. Perekaman solusi secara lengkap dalam sebuah forbidden list dan pengecekan apakah sebuah kandidat solusi tercatat dalam list tersebut merupakan cara yang mahal,

26 baik dari sisi kebutuhan memori maupun kebutuhan waktu komputasi. Jadi, tabu list hanya menyimpan langkah transisi (move) yang merupakan lawan atau kebalikan dari langkah yang telah digunakan dalam iterasi sebelumnya untuk bergerak dari satu solusi ke solusi berikutnya. Dengan kata lain tabu list berisi langkah-langkah yang mengembalikan solusi yang baru ke solusi yang lama. Pada tiap iterasi, dipilih solusi baru yang merupakan solusi terbaik dalam neighbourhood dan tidak tergolong sebagai tabu. Kualitas solusi baru ini tidak harus lebih baik dari kualitas solusi sekarang. Apabila solusi baru ini memiliki nilai fungsi objektif lebih baik dibandingkan solusi terbaik yang telah dicapai sebelumnya, maka solusi baru ini dicatat sebagai solusi terbaik yang baru. Sebagai tambahan dari tabu list, dikenal adanya kriteria aspirasi, yaitu suatu penanganan khusus terhadap move yang dinilai dapat menghasilkan solusi yang dinilai dapat menghasilkan solusi yang baik namun move tersebut berstatus tabu. Dalam hal ini, jika move tersebut memenuhi kriteria aspirasi yang telah ditetapkan sebelumnya, maka move tersebut dapat digunakan utnuk membentuk solusi berikutnya (status tabu-nya dibatalkan). Pemilihan kandidat terbaik didasarkan nilai fungsi tujuan. Pemeriksaan nilai fungsi tujuan lebih didahulukan sebelum pemeriksaan status tabu. Apabila nilai fungsi tujuan sebuah kandidat lebih baik dari yang lain, maka kandidat tersebut berpotensi untuk diterima sehingga perlu diperiksa status tabu-nya. Urutan pemeriksaan nilai fungsi tujuan kemudian status tabu memberikan kemungkinan proses penyelesaian program yang lebih cepat. Pemilihan kandidat solusi terbaik yang dilakukan oleh tabu search menggunakan prinsip global-best strategy bukan first-best strategy. global-best strategy adalah strategi dimana algoritma akan mengganti solusi terbaik saat ini dengan solusi terbaik yang ada pada neighborhood. Adapun first-best strategy adalah strategi dimana algoritma akan mengganti solusi terbaik saat ini secara langsung jika solusi yang lebih baik ditemukan. Algoritma tabu search memiliki kemampuan untuk keluar dari solusi optimum lokal, tetapi tabu search tidak dapat menentukan optimum global. Tabu search harus memiliki batasan maksimum jumlah iterasi dan ukuran tabu list yang ditentukan sendiri

27 oleh individu yang menggunakan metode ini/administrator sistem. Jumlah iterasi yaitu banyaknya iterasi yang akan dilakukan untuk mengeksplorasi berbagai space search area. Semakin besar jumlah maksimum iterasi, semakin besar pula peluang untuk menentukan solusi optimal secara global, namun memerlukan waktu perhitungan yang lama. Secara garis besar elemen-elemen utama pada tabu search adalah sebagai berikut: 1. Representasi solusi: setiap solusi feasible pada suatu permasalahan optimasi harus direpresentasikan secara unik. 2. Fungsi cost: setiap fungsi cost (fungsi tujuan) akan memetakan setiap solusi feasible ke nilai cost-nya. 3. Neighbourhood (tetangga): suatu fungsi cost akan memetakan setiap solusi feasible S ke solusi-solusi yang lainnya. 4. Tabu list: suatu list yang berisi T gerakan (move) terakhir. 5. Jumlah elemen yang harus ada pada suatu solusi. Hal-hal di atas dapat dikatakan sebagai bahan-bahan dasar dari metode tabu search yang nantinya akan digunakan untuk memecahkan masalah penjadwalan kuliah pada pembahasan selanjutnya.