Sistem Informasi Penjadwalan Mata Pelajaran di SD 101882 Tanjung Morawa Menggunakan Metode Tabu Search

BAB 2
LANDASAN TEORI

2.1 Konsep Dasar Sistem Informasi
Sistem informasi adalah suatu sistem didalam suatu organisasi

yang

mempertamukan kebutuhan pengolahan transaksi harian, mendukung operasi
bersifat manajerial dan kegiatan strategi-strategi dari suatu organisasi dan
menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan.

Pengertian lain tentang sistem informasi juga didefinisikan sebagai
berikut : sistem informasi adalah sebuah rangkaian prosedur formal di mana data
dikelompokkan, diproses menjadi informasi dan didistribusikan kepada pemakai.

Suatu sistem informasi memiliki komponen-komponen yang disebut Blok
Bangunan (Building Block) yang terdiri dari : (Jogiyanto,2005)
1. Blok Masukan (In Block)
Input melalui data yang masuk ke dalam sistem. Input disini termasuk algoritmaalgoritma dan media untuk mendapatkan data berupa dokumen-dokumen dasar
yang masuk ke dalam suatu sistem informasi.

2. Blok Model (Model block)
Mencakup prosedur, logika dan model matematika yang akan memanipulasi data
untuk menghasilkan keluaran yang dibutuhkan.

Universitas Sumatera Utara

9

3. Blok Keluaran (Output Block)
Keluaran yang dihasilkan merupakan informasi yang berkualitas dan
dokumentasi yang berguna untuk pemakai sistem.
4. Blok Teknologi (Technology Block)
Teknologi digunakan untuk menerima input, menjalankan model, menyimpan
dan mengakses data, menghasilkan dan mengirimkan keluran dan membantu
pengendalian dari sistem secara keseluruhan. Teknologi meliputi tiga bagian
utama, yaitu sumber daya manusia sebagai brainware, perangkat lunak atau
software, dan perangkat keras atau hardware.
5. Blok Basis Data (Data Base Block)
Basis data merupakan kumpulan dari data yang saling berhubungan satu dengan
yang lainnya, tersimpan di dalam perangkat keras komputer dan untuk

memanipulasinya dibutuhkan dukungan dari perangkat lunak.
6. Blok Kendali (Control Block)
Pengendalian dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang
dapat merusak sistem seperti sabotase, kesalahan-kesalahan, faktor alam dan lain
sebagainya dapat dicegah ataupun bila terlanjur terjadi, kesalahan-kesalahan
tersebut dapat diatasi. (Jogiyanto, 2005)

Universitas Sumatera Utara

10

2.2. Sistem Informasi Penjadwalan
Sistem informasi penjadwalan merupakan proses yang dimulai dari pemilihan mata
pelajaran hingga pembuatan jadwal mata pelajaran yang dilakukan oleh pihak
sekolah, yang dilakukan secara terintegrasi kedalam suatu sistem yang utuh. Proses
manual dan belum terintegrasi ini menggunakan basis data yang berbeda meskipun
untuk data yang sama. (Kadir, 2003)

2.3. Kecerdasan Buatan
Artificial Intelligence (AI) atau kecerdasan buatan merupakan cabang dari ilmu

komputer yang konsern dengan pengautomatisasi tingkah laku cerdas. Pernyataan
tersebut juga dapat dijadikan definisi dari AI. Definisi ini menunjukkan bahwa AI
adalah bagian dari komputer sehingga harus didasarkan pada sound theoretical
(teori suara) dan prinsip-prinsip aplikasi dari bidangnya. Prinsip-prinsip ini meliputi
struktur data yang digunakan dalam representasi pengetahuan, algoritma yang
diperlukan untuk mengaplikasikan pengetahuan tersebut, serta bahasa dan teknik
pemrograman yang digunakan dalam mengimplementasikannya.

Namun, definisi di atas belum memadai karena pada kenyataannya istilah
kecerdasan itu sendiri tidak didefinisikan atau dipahami dengan sangat baik. Kerap
kali kita meyakini telah mengetahui tingkah laku cerdas saat melihatnya sendiri.
Akan tetapi, keraguan juga akan muncul ketika orang lain menyatakan kecerdasan
dalam cara khusus menurut cara mereka yang cukup membantu dalam evaluasi
kecerdasan program komputer. Dengan demikian, belum ada suatu definisi yang
cocok untuk AI itu sendiri.

Universitas Sumatera Utara

11


Definisi AI ini menjadi masalah tersendiri yang harus dijawab: apakah hanya
sebuah nama untuk kumpulan perbedaan dan tidak ada hubungannya dengan
kemampuan? Apa perlunya mempelajari AI? Apakah ada hubungannya dengan
proses belajar dengan kreativitas dan intuisi? Dapatkah kecerdasan dapat
disimpulkan dari tingkah yang dapat diobservasi atau membutuhkan pembuktian
dari suatu mekanisme internal yang khusus? Semua pertanyaan tersebut merupakan
pertanyaan yang mungkin belum terjawab dan tentunya mungkin akan membantu
kita untuk terus berusaha menggeluti, mempelajari, dan mencari metode yang dapat
menjadi solusi bagi pertanyaan ini, dan nantinya akan membentuk suatu intisari AI
modern. AI menawarkan media dan uji teori dari kecerdasan. Teori-teori tersebut
dapat dinyatakan dalam bahasa program komputer, diuji dan dibuktikan melalui
eksekusi pada komputer. (Desiani, 2006)

2.4. Algoritma Tabu Search
Tabu Search merupakan suatu metode optimasi yang menggunakan short-term
memory untuk menjaga agar proses pencarian tidak terjebak pada nilai optimum
lokal. Metode ini menggunakan tabu list untuk menyimpan sekumpulan solusi yang
baru saja dievaluasi. Selama proses optimasi, pada setiap iterasi, solusi yang akan
dievaluasi akan dicocokkan terlebih dahulu dengan isi tabu list untuk melihat
apakah solusi tersebut sudah ada pada tabu list. Apabila solusi tersebut sudah ada

pada tabu list, maka solusi tersebut tidak akan dievaluasi lagi pada iterasi
berikutnya. Apabila sudah tidak ada lagi solusi yang tidak menjadi anggota tabu
list, maka nilai yang terbaik yang baru saja diperoleh merupakan solusi sebenarnya
(Kusumadewi, 2005). Prosedure dari metode Tabu Search adalah :

Universitas Sumatera Utara

12

1. Membangkitkan solusi awal urutan job yang digunakan sebagai pembanding
ketika proses tabu search dimulai.
2. Menentukan kriteria aspirasi, kriteria aspirasi dalam penelitian adalah
meminimisasi makespan.
3. Menentukan jumlah iterasi maksimum dan ukuran tabu list.
4. Melakukan move, move yang digunakan dalam penelitian ini adalah
neighbourhood search. Algoritma tabu search digunakan untuk mencari
solusi urutan produksi yang terbaik. Dimana input data yang diperlukan
untuk melakukan pengolahan pada algoritma ini yaitu waktu proses setiap
produk.


Untuk mendalami lagi prinsip kerja metode pencarian tabu, yang dapat
memformulakan metode menurun klasik (classical descent method) dalam
beberapa langkah, yaitu:
1. Memilih sebuah solusi awal i dalam S
2. Membangkitkan subset V* sebagai solusi dalam N(i)
3. Mencari j ‘terbaik’ dalam V* dan menetapkan i=j
4. Jika f(j)=f(i) maka berhenti, namun jika tidak kembali ke langkah ke-2

Dalam metode menurun secara umum akan dapat langsung ditetapkan bahwa V* =
N(i). Tetapi hal ini seringkali membutuhkan waktu yang lama. Untuk itulah cara
pemilihan V* yang tepat seringkali dijadikan sebagai peningkatan yang penting
dalam metode pencarian. Pada kasus yang berlawanan, akan ditetapkan |V*|=1. Hal
ini akan menurunkan fase pemilihan j ‘terbaik’. Solusi j akan diterima jika f(j)=f(i),
sebaliknya hal ini akan diterima dengan kemungkinan tertentu yang bergantung

Universitas Sumatera Utara

13

pada nilai-nilai f pada i dan j serta pada sebuah parameter yang disebut temperatur.

Tidak ada temperatur dalam metode pencarian tabu, namun pemilihan V* akan
menjadi hal yang penting guna mendefinisikannya dalam setiap langkah di mana
akan terjadi penggunaan memori secara sistematis untuk memanfaatkan informasi
yang ada di luar fungsi f dan lingkungan N(i).

Sebagai pengecualian pada kasus-kasus istimewa, penggunaan prosedur
menurun (descent procedure) secara umum lebih rumit karena kita akan
terperangkap pada sebuah minimum lokal yang mungkin masih jauh dari minimum
global. Maka untuk proses iterasi dalam eksplorasi apapun sebaiknya dalam
beberapa hal juga menerima langkah-langkah yang tidak akan memberikan
perkembangan dari i ke j dalam V* (misal f(j)>f(i)). Metode pencarian tabu secara
berbeda memilih j ‘terbaik’ dalam V*. Selama pergerakan yang tidak memberi
perkembangan itu mungkin, resiko pengunjungan kembali sebuah solusi atau lebih
umumnya disebut sebagai siklus mungkin untuk terjadi. Dalam hal inilah
penggunaan memori sangat diperlukan untuk mencegah terjadinya pergerakan ke
solusi yang telah dikunjungi. Jika memori seperti itu diperkenalkan, maka kita dapat
menganggap struktur N(i) tergantung pada pengelilingan yang merupakan
pengulangan k. Jadi kita dapat merujuk ke N(i,k) daripada N(i).
Dengan perujukan ini kita dapat mencoba untuk melakukan peningkatan algoritma
menurun dalam beberapa hal untuk lebih mendekatkan metode ini ke prosedur

dalam metode pencarian tabu secara umum. Hal ini dapat didefinisikan dalam
beberapa langkah (catatan i* adalah solusi ‘terbaik’ yang ditemukan dan k adalah
penghitung dalam pengulangan) :
1. Memilih solusi awal I dalam S. Tetapkan i*=I dan k=0.

Universitas Sumatera Utara

14

2. Tetapkan nilai k=k+1 dan membagkitkan subset V* sebagai solusi dalam
N(i,k)
3. Pilih j ‘terbaik’ dalam V* dan tetapkan i=j.
4. Jika f(i) < f(i*) maka tetapkan i*=i.
5. Jika kondisi berhenti ditemukan, maka proses dihentikan, sedangkan jika
belum kembali ke langkah 2.

Amati bahwa langkah-langkah pada metode penurunan klasik termasuk dalam
formula ini (kondisi berhenti secara sederhana jika f(i)=f(i*) dan i* akan selalu
menjadi solusi akhir). Selain itu kita juga dapat mempertimbangkan penggunaan f
yang telah dimodifikasi daripada f yang dalam beberapa keadaan di deskripsikan

kemudian. Dalam metode pencarian tabu, kondisi berhenti dapat berupa:
1. N(i,k+1) = tidak terdefinisi
2. k lebih besar daripada bilangan maksimum pada pengulangan
3. Banyaknya pengulangan selama peningkatan terakhir i* lebih besar dari
bilangan tertentu.
4. Pembuktian dapat diberikan daripada solusi optimum yang telah didapatkan.

Universitas Sumatera Utara

15

Sekarang kita dapat mendefinisikan karakteristik dari prosedur pencarian tabu
dalam langkah-langkah berikut, antara lain:
1. Memilih solusi awal i dalam S. Tetapkan i*=I dan k=0.
2. Tetapkan k=k+1 dan bangkitkan sebuah subset V* dari solusi dalam N(I,k)
sehingga salah satu dari kondisi tabu tγ yang melanggar (γ=1,2,…,t) atau
setidaknya satu kondisi aspirasi aγ yang memiliki (γ=1,2,…,a).
3. Pilih j terbaik melalui j=im dalam V* dan tetapkan i=j.
4. Jika f(i), perbaharui kondisi tabu dan aspirasi.
5. Jika kondisi berhenti ditemukan, maka proses dihentikan. Jika tidak, kembali

ke langkah 2. (Kusumadewi,2013)

Pseudo code dari langkah-langkah algoritma tabu search :
Step 1 k=1
Select an initial schedule S1 using some heuristic and set Sbest=S1
Step 2 Select Sc∈N(Sk)

If the move Sk ->Sc is prohibited by a move on the tabu list

Then go to Step 2
If the move Sk -> Sc is not prohibited by a move on the tabu-list Then Sk-1=Sc
Enter reverse move at the top of the tabu-list Push all other entries in the tabu-list
one position down delete the entry at the bottom of the tabu list If F(Sc)
Then Sk-1=Sc
Enter reverse move at the top of the tabu-list
Push all other entries in the tabu-list one position down
Delete the entry at the bottom of the tabu list If F(Sc)
Go to Step 3

Universitas Sumatera Utara


16

Step 3 k=k+1
If stopping condition=true then STOP Else
go to Step 2
(Pinedo dan Chao,2010).

2.5. PHP
PHP merupakan singkatan dari PHP Hypertext Preprocessor. Ia merupakan bahasa
berbentuk skrip yang ditempatkan dalam server dan diproses di server. Hasilnya
yang dikirimkan ke klien, tempat pemakai menggunakan browser.

Secara khusus, PHP dirancang untuk membentuk aplikasi web dinamis.
Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Skrip
PHP berkedudukan sebagai tag dalam bahasa HTML. Sebagaimana diketahui,
HTML (Hypertext Markup Language) adalah bahasa standar untuk membuat
halaman-halaman web. (Kadir, 2008)

2.6. MySQL
MySQL atau My Structure Query Language adalah salah satu jenis database server
yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL
sebagai bahasa dasar untuk mengakses database-nya. Selain itu, ia bersifat open
source pada pelbagai platform.

Universitas Sumatera Utara

17

MySQL termasuk jenis RDBMS (Relational Database Management System).
Itulah sebabnya, istilah seperti tabel, baris, dan kolom digunakan pada MySQL.
Pada MySQL, sebuah database mengandung satu atau sejumlah tabel. (Kadir, 2008)

2.7. HTML5 (Hypertext Markup Language Versi 5)
Hypertext Markup Language (HTML) adalah bahasa standard yang digunakan
untuk menampilkan halaman web (Hidayatullah dan Kawistara, 2014). Dengan kata
lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam
format ASCII normal sehingga menjadi halaman web dengan perintah-perintah
HTML. Penanda perintah di dalam HTML biasanya disebut TAG. TAG digunakan
untuk menentukan tampilan dari dokumen HTML. Yang dapat dilakukan dengan
HTML yaitu:
1. Mengatur tampilan dari halaman web dan isinya.
2. Membuat tabel dalam halaman web.
3. Mempublikasikan halaman web secara online.
4. Membuat form yang bisa digunakan untuk menangani registrasi dan transaksi
via web.
5. Menambahkan objek-objek seperti citra, audio, video, animasi, java applet
dalam halaman web.
6. Menampilkan area gambar (canvas) di browser.

HTML5 adalah standar baru dari HTML. Versi HTML sebelumnya yaitu HTML
4.01 muncul pada tahun 1999. Internet mengalami perubahan yang sangat
signifikan sejak saat itu sampai sekarang. HTML5 didesain untuk memenuhi

Universitas Sumatera Utara

18

hampir semua kebutuhan user tanpa plugin tambahan. Kebutuhan-kebutuhan
tersebut antara lain menampilkan animasi, menjalankan aplikasi, memutar musik
dan film. HTML5 juga cross-platform. Itu artinya kita dapat menjalankannya
diberbagai platform dan device seperti tablet, smartphone, netbook, laptop bahkan
Smart TV. Komponen utama yang membedakan HTML5 dengan HTML versi
sebelumnya adalah canvas. Dengan canvas kita bisa menggambar menggunakan
HTML dan JavaScript.

HTML5 adalah hasil kerja sama antara W3C (World Wide Web Consortium)
dan WHATWG (Web Hypertext Application Technology Working Group). Dimana
WHATWG sebelumnya bekerja dalam mengembangkan aplikasi web sedangkan
W3C bekerja dengan XHTML 2.0. Pada tahun 2006, kemudian mereka
memutuskan untuk bekerja sama dan membentuk versi baru dari HTML.

Dari kerja sama itu, ada beberapa aturan yang coba diterapkan dalam versi
baru HTML ini:
1. Fitur baru harus berbasiskan pada HTML, CSS (Cascading Style Sheets),
DOM (Document Object Mode) dan JavaScript.
2. Mengurangi ketergantungan untuk plugin eksternal (seperti Flash).
3. Penanganan kesalahan yang lebih baik.
4. Lebih markup untuk menggantikan scripting.
5. HTML5 merupakan perangkat mandiri (device-dependent).
Fitur terbaru yang terdapat dalam HTML5 yaitu:
1. Unsur kanvas untuk menggambar 2D
2. Video dan elemen audio untuk media pemutaran

Universitas Sumatera Utara

19

3. Dukungan yang lebih untuk penyimpanan secara offline.
4. Elemen konten yang lebih spesifikasi, seperti artikel, footer, header, nav,
section.
5. Bentuk control form seperti kalender, tanggal, waktu, email, url, search.

2.8. CSS3 (Cascading Style Sheet Versi 3)
Cascading Style Sheet (CSS) merupakan aturan untuk mengendalikan beberapa
komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS
bukan merupakan bahasa pemograman. Pada umumnya CSS dipakai untuk
memformat tampilan halaman web yang dibuat dengan bahasa HTML dan
XHTML.

Menurut BPTIK (Badan Pengembangan Teknologi Informasi dan
Komunikasi) CSS adalah sebuah pemrogaman atau boleh dibilang script yang
mengendalikan beberapa komponen (tag html) dalam sebuah website sehingga
tampilan akan menjadi lebih terstruktur dan seragam. Cascading Style Sheet (CSS)
sudah didukung oleh hamper semua web browser karena CSS telah distandarkan
oleh World Wide Web Consortium (W3C).

Ada 4 cara memasang kode CSS ke dalam kode HTML/halaman web, yaitu:
1. Inline style sheet (Memasukkan kode CSS langsung pada tag HTML).
2. Internal style sheet (Embed atau memasang kode CSS ke dalam bagian
).
3. Me-link ke external CSS.

Universitas Sumatera Utara

20

4. Import CSS file.

Untuk saat ini terdapat 3 versi CSS, yaitu CSS1, CSS2, CSS3. CSS3 adalah versi
terbaru dari CSS yang mampu melakukan banyak hal dalam desain website. CSS3
juga dapat melakukan animasi pada halaman website, diantaranya animasi warna
hingga animasi 3D. Dengan CSS3 desainer lebih dimudahkan dalam hal
kompatibilitas website-nya pada smartphone dengan dukungan fitur baru yakni
media query. Selain itu, banyak fitur baru pada CSS3 seperti multiple background,
border-radius, drop-shadow, border-images, CSS Math, dan CSS Objek Model.

2.9. JavaScript
JavaScript adalah bahasa script yang berdasar pada objek yang memperbolehkan
pemakai untuk banyak aspek interaksi pada suatu dokumen HTML. Dimana objek
tersebut dapat berupa window, frame, URL, dokumen, form, button, atau item yang
lain, yang semuanya itu mempunyai property yang saling berhubungan dengannya
dan masing-masing memiliki nama, lokasi, warna dan atribut lain.

Untuk dapat mempelajari pemrograman JavaScript, ada 2 piranti yang
diperlukan yaitu browser dan teks editor. Teks editor adalah sebuah pengolah kata
(word processor) yang menghasilkan file dalam format ASCII murni. Bila
pengguna windows dapat menggunakan notepad, Wordpad, atau menggunakan
Ultraedit Text Editor.

Browser yang mendukung JavaScript yaitu Internet

Explorer, Opera, FireFox dan lain-lain. Kode dalam JavaScript dapat dituliskan
langsung pada file HTML dengan dengan menggunakan tag container .

Universitas Sumatera Utara

21

Dengan kata lain tidak perlu menuliskan program JavaScript dengan file terpisah.
Tag container adalah tag yang diawali dengan dan diakhiri
dengan . Contoh tag container:




Tag container mempunyai 2 atribut tetapi yang harus diisi hanya 1
atribut yaitu Language. Istilah atribut language dengan “JavaScript”. Hal ini
digunakan untuk memberitahukan pada browser bahwa yang akan ditulis adalah
JavaScript. Contoh penulisan:

//tulis program anda disini


2.10. Flowchart
Flowchart (diagram alir) adalah sebuah diagram yang merepresentasikan sebuah
algoritma

atau

memperlihatkan

proses

menggunakan

langkah-langkah

yang

beberapa bangun
dilakukan

oleh

geometri

untuk

program

dalam

menyelesaikan masalah. (Opim Salim Sitompul, 2014)
Berikut ini adalah simbol-simbol standar pada sebuah flowchart beserta fungsinya.

Universitas Sumatera Utara

22

Tabel 2.1. Simbol Flowchart
No

Nama

Simbol

Fungsi

Digunakan untuk mewakili
1

Terminator
simbol start atau end.

2

Arrow

3

Rectangle

Menunjukkan alur proses.

Menunjukkan langkah
pemrosesan.

4

Trapezium

5

Document

Simbol untuk input-output.

Digunakan untuk mewakili
output.

Simbol yang berfungsi
6

Decision

untuk menyatakan
keputusan.

Universitas Sumatera Utara

23

Simbol yang berfungsi
Preparation

7

untuk proses inisialisasi
atau pemberian harga awal.

Simbol untuk keluar-masuk
8

Connector

atau penyambungan proses
pada halaman yang
berbeda.

Simbol untuk pemasukkan
9

Manual Input

data secara manual melalui
keyboard.

Simbol yang menunjukkan
Manual
10

pengolahan yang tidak
Operation
dilakukan oleh komputer.

Universitas Sumatera Utara

24

Simbol untuk pelaksanaan
Predefine
11

suatu bagian (subProcess
prosedur)

Simbol yang menyatakan
peralatan output yang
12

Display

digunakan seperti layar,
printer, plotter, dan
sebagainya.

Simbol yang digunakan
13

Magnetic Disk

untuk penyimpanan data ke
database.

Simbol yang menyatakan
14

Storage Data

input yang berasal dari disk
atau disimpan ke disk.

Universitas Sumatera Utara

25

2.11. Data Flow Diagram
Data Flow Diagram adalah alat perancangan sistem yang berorientasi pada alur
data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran
analisa maupun perancangan sistem yang mudah dikomunikasikan ke pengguna
ataupun ke pembuat program. Didalam DFD terdapat tiga level, yaitu:
1. Diagram Konteks (DFD Level 0)
Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili
seluruh proses yang terdapat dalam suatu sistem. Diagram konteks merupakan
tingkatan tertinggi dalam Data Flow Diagram dan biasanya diberi penomoran
nol. Semua entitas eksternal ditunjukkan dalam diagram konteks beserta dengan
aliran-aliran data utama, baik dari dan menuju sistem.
2. Diagram Nol (DFD Level 1)
Diagram nol merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran
kecil yang ada pada diagram konteks. Dengan kata lain diagram nol merupakan
pemecahan dari diagram konteks.
3. Diagram Rinci
Lebih rinci lagi, diagram rinci adalah diagram yang menguraikan proses-proses
yang terdapat di dalam diagram nol.

Berikut merupakan simbol-simbol standar menurut Yourdan dan DeMarco yang
digunakan untuk membuat sebuah Data Flow Diagram.

Universitas Sumatera Utara

26

Tabel 2.2. Simbol Data Flow Diagram
No

Nama

Simbol

Fungsi
Sebagai kesatuan
(entitas) di lingkungan
luar sistem yang dapat

1

Kesatuan Luar

berupa orang,
organisasi, sumber asli
transaksi, atau penerima
akhir.
Berfungsi untuk
menghubungkan antara

2

Arus Data
proses, simpanan data,
dan kesatuan luar.
Berupa kegiatan atau

3

Proses

proses yang sedang
dilakukan.

Nama data store

4

Menunjukkan informasi

Simpanan Data
yang tersimpan.

Universitas Sumatera Utara