• Tidak ada hasil yang ditemukan

Aplikasi penjadwalan kegiatan akademik di Lembaga Kursus e-learning for kids

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi penjadwalan kegiatan akademik di Lembaga Kursus e-learning for kids"

Copied!
132
0
0

Teks penuh

(1)
(2)
(3)
(4)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

MOCHAMAD DERY SATRIO

10108717

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(5)

Nama lengkap : MOCHAMAD DERY SATRIO Tempat dan Tanggal Lahir :Bekasi, 02 Desember 1988

Jenis Kelamin :Laki - laki

Status : Belum Menikah

Kewarganegaraan : Indonesia

E-Mail : dery_satrio@yahoo.co.id

Alamat : Jl. Setia Darma 1 Rt 01 Rw 02 No 45

Tambun, Bekasi

Telepon : 08818058174

B. PENDIDIKAN FORMAL

2008 – Sekarang : Universitas Komputer Indonesia 2007 – 2008 : Universitas Muhamadiyah Jakarta

2004 – 2007 : SMA NEGERI 9 BEKASI

2001 – 2004 : SMP NEGERI 2 TAMBUN

(6)

iii

Assalamu’alaikum Warrahmatullahi Wabarakatuh.

Puji syukur penulis panjatkan kehadirat Allah S.W.T yang telah memberikan rahmat dan karunia-Nya, shalawat serta salam semoga tercurah kepada Rasulullah SAW, sehingga penulis dapat menyelesaikan skripsi dengan judul“APLIKASI PENJADWALAN KEGIATAN AKADEMIK DI LEMBAGA KURSUS E-LEARNING FOR KIDS”.

Adapun tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Penulis menyadari dengan keterbatasan literatur, pengalaman serta ilmu dan pengetahuan yang dimiliki, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:

1. ALLAH SWT, karena berkat izin dan ridho-Nya penulis dapat menyelesaikan pendidikan ini.

2. Kedua orangtua tercinta, yang senantiasa memberikan dukungan dan kasih sayang yang tidak pernah henti, do’a yang tiada terputus, pengorbanan baik moril dan materil.

3. Bapak Dr. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia..

4. Bapak Prof. Dr. Ir Denny Kurniadie, M.Sc, selaku Dekan Fakultas dan Ilmu Komputer.

(7)

iv

mendukung dalam penyelesaian penelitian.

8. Rekan-rekan Ninja Racing Club Bandung yang memberikan motivasi dalam penyelesaian penelitian.

9. Dosen-dosen Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia yang telah banyak memberikan ilmu-ilmu yang bermanfaat selama menempuh pendidikan jenjang strata satu (S1) di Universitas Komputer Indonesia.

10.Teman-teman Kost TTM 66. Terima kasih atas kebersamaan, canda tawa, doa dan dukungan yang telah diberikan kepada penulis.

11.Serta semua pihak yang telah turut membantu baik secara langsung maupun tidak langsung dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.

Didalam penulisan skripsi ini, penulis telah berusaha semaksimal mungkin, walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna. Oleh karena itu penulis akan selalu menerima segala masukkan yang tujuannya untuk menyempurnakan skripsi ini.

Akhir kata, semoga Allah SWT senantiasa melimpahkan karunia-Nya dan membalas segala amal budi serta kebaikan pihak-pihak yang telah membantu penulis dalam penyusunan laporan ini dan semoga tulisan ini dapat memberikan manfaat bagi pihak-pihak yang membutuhkan.

Wassalamu’alaikum Warrahmatullahi Wabarakatuh.

Bandung, Desember 2013

(8)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... xi

DAFTAR LAMPIRAN ... xiii

BAB I PENDAHULUAN ... 1

I.1 Latar Belakang Masalah ... 1

I.2 Rumusan Masalah ... 2

I.3 Maksud dan Tujuan ... 2

I.4 Batasan Masalah ... 2

I.5 Metodologi Peneltitian ... 3

I.6 Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA ... 7

II.1 Profil Perusahaan ... 7

II.1.1 Sejarah Perusahaan ... 7

II.1.2 Struktur Organisasi Perusahaan ... 7

II.1.3 Deskripsi Tugas... 8

II.2 Landasan Teori ... 9

II.2.1 Basis Data ... 9

II.2.2 Pengertian Algoritma Genetik ... 9

II.2.3 Prosedur Algoritma Genetik ... 10

II.2.3.1 Teknik Pengkodean ... 14

II.2.3.2 Evaluasi Fitness... 17

II.2.4 Operator Dalam Algoritma Genetik ... 18

(9)

vi

II.2.5.1 Probabilitas Mutasi ... 24

II.2.6 Algoritma Tabu Search... 24

II.2.6.1 Ide Dasar Tabu Search ... 26

II.2.7 Internet ... 27

II.2.7.1 Perkembangan Internet ... 27

II.2.8 Entity Relationship Diagram (ERD) ... 27

II.2.9 Diagram Konteks ... 30

II.2.10 Data Flow Diagram (DFD) ... 30

II.2.11 Kamus Data... 31

II.2.12 Tinjauan Perangkat Lunak ... 31

II.2.12.1 MYSQL ... 31

II.2.12.2 Adobe Dreamweaver ... 33

II.2.12.3 Personal Home Page... 34

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 35

III.1 Analisis Sistem ... 35

III.1.1 Analisis Prosedur Sistem Yang Berjalan ... 35

III.1.1.1 Aturan Penjadwalan ... 37

III.1.2 Analisis Algoritma Genetik dan Tabu Search ... 38

III.1.1.1 Data Penelitian ... 38

III.1.2.2 Penetapan Parameter ... 42

III.1.3 Analisis Kebutuhan Fungsional ... 61

III.1.3.1 Entity Relationship Diagram (ERD) ... 61

III.1.3.2 Struktur Entitas ... 62

III.1.3.3 Diagram Konteks ... 62

III.1.3.4 Data Flow Diagram (DFD) ... 63

III.1.3.5 Spesifikasi Proses ... 69

(10)

vii

III.2.2 Perancangan Antar Muka ... 86

III.2.3 Perancangan Pesan ... 94

III.2.4 Jaringan Semantik ... 95

III.2.5 Perancangan Prosedural... 96

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 101

IV.1 Implementasi Sistem ... 101

IV.1.1 Implementasi Perangkat Keras ... 101

IV.1.2 Implementasi Perangkat Lunak... 101

IV.1.3 Implementasi Database ... 102

IV.1.4 Implementasi Antarmuka ... 106

IV.2 Pengujian Sistem ... 107

IV.2.1 Rencana Pengujian Alpha ... 107

IV.2.2 Kasus dan Hasil Pengujian Alpha ... 108

IV.2.3 Kesimpulan Hasil Pengujian Alpha ... 118

IV.2.4 Rencana Pengujian Beta ... 119

IV.2.5 Kesimpulan Hasil Pengujian Beta ... 120

BAB V KESIMPULAN DAN SARAN... 121

V.1 Kesimpulan ... 121

V.2 Saran ... 121

(11)

122

DAFTAR PUSTAKA

[1]. Prahasta, Eddy (2001), Model Waterfall, Informatika, Bandung.

[2]. Fathansyah (2007), Buku Teks Komputer Basis Data, Informatika, Bandung. [3]. Faisal, A., Fadlisyah (2009), Algoritma Genetik, Graha Ilmu, Yogyakarta. [4]. Hanita, Mery, Penerapan Algoritma Genetika Pada Penjadwalan Mata

Kuliah, Tugas Akhir, Matematika, Universitas Bengkulu, 2011

[5]. Amico, M.D., Trubian M., “Applying Tabu Search to the jobshop

Schedulling Problem”, Annals of Operations Research, Vol.41, 231-253, 1993

[6]. Panggabean, P., Henry, Penjadwalan Job Shop Statik Dengan Algoritma Tabu Search, Tugas Akhir, Ilmu Komputer, Unpar Bandung, 2005

[7]. Jogiyanto, H.M. (1999), Pengenalan Komputer, Edisi Ketiga, Andi, Yogyakarta.

[8]. Sukmaaji, A., Rianto (2008), Jaringan Komputer, Andi, Yogyakarta.

[9]. Kristanto, A. (2008), Perancangan Sistem Informasi dan Aplikasinya, Gava Media, Yogyakarta.

[10]. Kadir, Abdul (2009), Membuat Aplikasi Web dengan PHP dan Database MySQL, Andi, Yogyakarta.

[11]. Basuki, A. (2003), Algoritma Genetika, PENS-ITS, Surabaya

(12)

1

Pembuatan jadwal kegiatan akademik adalah hal yang rumit, karena harus menghadapi permasalahan bagaimana menjadwalkan mata pelajaran dengan kendala waktu, pengajar yang tersedia, kapasitas ruangan yang terbatas, dan pengajar yang memiliki kegiatan diluar lembaga akademik. Begitu juga yang dialami oleh lembaga kursus E-Learning For Kids. Lembaga kursus E-Learning For Kids dalam pembuatan jadwal masih menggunakan cara manual yaitu dengan pencarian kolom-kolom mana saja yang masih kosong, kemudian menempatkan jadwal pada kolom tersebut. Cara ini kurang efektif karena membutuhkan waktu yang lama dan jadwal yang dihasilkan cenderung menumpuk pada hari-hari tertentu dan tingkat ke akuratannya tidak bisa dijamin.

Terdapat berbagai aspek yang mempengaruhi penjadwalan kegiatan akademik, yang diantaranya adalah permintaan pengajar yang bersangkutan tidak bisa mengajar pada waktu tertentu dan tidak boleh adanya jadwal kegiatan akademik yang bentrok antar pengajar, kelas, ruang ataupun waktu kursus. Maka dibutuhkan sebuah metode optimasi yang dapat menyelesaikan masalah multi kriteria dan multi objektif tersebut, salah satunya adalah dengan menggunakan algoritma genetik.

(13)

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.

Diharapkan dengan digunakannya kombinasi algoritma genetik dan tabu search akan diperoleh optimasi penjadwalan yang menghasilkan kombinasi terbaik untuk pasangan kelas dan pengajar secara keseluruhan, tidak ada permasalahan bentrokan jadwal pada sisi pengajar dan siswa, serta ketersediaan ruang yang cukup untuk seluruh kelas yang ada.

I.2 Rumusan Masalah

Berdasarkan latar belakang masalah, dapat dirumuskan bahwa masalah yang dihadapi adalah bagaimana menghasilkan kombinasi terbaik untuk pasangan pengajar dan level secara keseluruhan, serta ketersediaan ruangan belajar yang cukup dengan tidak melanggar ketentuan yang ada.

I.3 Maksud dan Tujuan

Berdasarkan rumusan masalah yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangun aplikasi penjadwalan untuk membuat jadwal kegiatan akademik di lembaga kursus E-Learning For Kids dengan menggunakan kombinasi algoritma genetik dan tabu search.

Sedangkan tujuan yang akan dicapai dari penelitian ini adalah :

1. Mempermudah dalam membuat jadwal kegiatan akademik di lembaga kursus E-Learning For Kids

2. Jadwal yang dihasilkan tidak mengalami bentrok dari sisi pengajar, siswa maupun ruangan

I.4 Batasan Masalah

Adapun batasan masalah dalam penelitian dan pembangunan aplikasi ini adalah sebagai berikut :

1. Metode penjadwalan yang diterapkan untuk aplikasi ini adalah kombinasi Algoritma Genetik dan Tabu Search

2. Aplikasi yang akan dibangun berbasis web secara online

(14)

EntityRelationship Diagram (ERD),sedangkan untuk menggambarkan

diagram proses menggunakan Data Flow Diagram (DFD).

4. Data yang akan diolah pada aplikasi ini adalah data pengajar, data ruangan kelas, data waktu pengajar dan data level

I.5 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini terdiri dari dua tahap yaitu tahap pengumpulan data dan tahap pembuatan perangkat lunak.

1. Tahap pengumpulan data

Pada tahap pengumpulan data, metode yang digunakan adalah sebagai berikut : a. Studi Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan aplikasi penjadwalan kegiatan akademik di lembaga kursus E-Learning For Kids.

b. Observasi

Penulis melakukan peninjauan langsung ke tempat lembaga kursus E-Learning For Kids. Tujuannya adalah untuk mengetahui proses kegiatan kursus agar penulis mendapatkan data yang diperlukan secara langsung. c. Interview

Teknik pengumpulan data dengan cara mewawancarai secara langsung pihak lembaga kursus E-Learning For Kids.

2. Tahap pembuatan perangkat lunak

(15)

Gambar I.1 Metode Waterfall [1] a. Observasi dan Interview

Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.

b. Analisis Sistem Berjalan

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

c. Perancangan Sistem

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.

d. Pembuatan Sistem

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang kedalam bahasa pemrograman tertentu.

e. Testing

Merupakan tahap pengujian terhadap perangkat lunak yang dibangun. f. Pemeliharaan

(16)

I.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Pada bab ini menjelaskan tentang tinjauan Instansi dan landasan teori yang menjelaskan tentang teori umum yang berkaitan dengan judul, teori program yang berhubungan dengan aplikasi yang dibangun, teori khusus yaitu berkaitan dengan istilah-istilah yang dipakai dalam pembuatan aplikasi penjadwalan.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelasakan analisis terhadap seluruh spesifikasi sistem yang mencakup analisis prosedur yang sedang berjalan, pengkodean, kebutuhan non fungsional dan analisis basis data. Selain analisis sistem, bab ini terdapat juga perancangan antar muka untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat. Tool untuk memodelkan sistem menggunakan Data Flow Diagram (DFD) dan EntityRelationship Diagram ( ERD ).

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi hasil implementasi dari hasil analisis dan perancangan yang telah dibuat disertai juga dengan hasil pengujian dari aplikasi penjadwalan kegiatan akademik di lembaga kursus E-Learning For Kids untuk mengetahui kesesuaian aplikasi yang dibangun berdasarkan tujuan yang ingin dicapai.

BAB V KESIMPULAN DAN SARAN

(17)
(18)

7 II.1.1 Sejarah Perusahaan

Anak adalah aset masa depan yang akan menggantikan generasi sekarang. Namun saat ini sulit mendapatkan lembaga yang menyelenggarakan kursus bahasa inggris yang berkualitas dan mudah dijangkau oleh seluruh lapisan masyarakat baik dari segi biaya maupun lokasi. Menghadapi hal tersebut muncul suatu gagasan untuk membuka suatu lembaga pendidikan yang berbasiskan pengajaran bahasa inggris. Sehingga pada tanggal 14 agustus 2011 terbentuklah Lembaga pendidikan tersebut yang diberi nama E-Learning For Kids.

E-learning For Kids adalah penggabungan huruf E yang diambil dari kata English yaitu bahasa Inggris, Learning yang artinya belajar dan For Kids artinya untuk anak-anak. Karena E-Learning For Kids mengusung program E-Learning For Kids (TK – Kelas 6 Sd). E-learning For Kids adalah sebuah lembaga kursus yang berbasiskan bahasa Inggris dalam proses pembelajarannya. Setiap satu unit E-Learning memiliki program pengajaran yang berbeda-beda karena pengelolaannya bersifat mandiri pada masing-masing unit E-Learning.

II.1.2 Struktur Organisasi Perusahaan

Organisasi adalah sekelompok orang yang bekerja sama untuk mencapai tujuan yang telah di rencanakan, dari pengertian tersebut organisasi dapat di simpulkan sebagai kumpulan orang-orang yang bekerja sama dengan dasar persamaan tujuan.

Organisasi perusahaan sangatlah penting didalam menjamin kelangsungan dan kelancaran mekanisme kerja perusahaan, adanya organisasi dapat menciptakan suatu sistem pembagian kerja atau tugas yang sesuai dengan kebutuhan perusahaan sehingga mempermudah kegiatan operasional perusahaan dalam mencapai tujuan.

(19)

Gambar II.1 Struktur Organisasi E-Learning for kids II.1.3 Deskripsi Tugas

Deskripsi tugas digunakan untuk mengetahui tugas, wewenang dan tanggung jawab dari masing-masing bagian. Adapun deskripsi tugas yang ada di E-Learning for kids adalah sebagai berikut :

1. Manager

Bertugas sebagai pengawas dan mengkoordinasikan semua pekerjaan yang dilaksanakan oleh para staf E-Learning For Kids. Yang bertujuan untuk menjaga konsistensi kerja dalam mencapai tujuan perusahaan secara efektif dan efisien.

2. Wakil Manager

Bertugas membantu setiap pelaksaan dari kegiatan E-Learning For Kids. 3. Staf Keuangan

Bertugas mengkoordinasi serta mengawasi arus masuk dan arus keluar uang perusahaan.

4. Staf Administrasi

Bertugas mengurus setiap pemberkasan, pendaftaran dan administrasi E-Learning mulai dari pembayaran, promosi, pembukuan dan pembuatan jadwal kegiatan akademik.

5. Staf Pengajar

(20)

II.2 Landasan Teori II.2.1 Basis Data

Basis data terdiri dari dua kata, yaitu basis dan data. Basis dapat diartikan sebagai markas, gudang atau tempat penyimpanan. Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Basis data merupakan himpunan kelompok data yang saling berkaitan dan tempat untuk menampung dan mengorganisasikan seluruh data yang ada dalam sistem, sehingga dapat dieksplorasi untuk menyusun informasi–informasi dalam berbagai bentuk [2].

Dapat disimpulkan bahwa basis data adalah kumpulan data atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik dengan tujuan mempermudah pengambilan data dengan waktu yang cepat.

II.2.2 Pengertian Algoritma Genetik

Algoritma genetik merupakan teknik search stochastic yang berdasarkan mekanisme seleksi alam dan genetika natural [3]. Yang membedakan algoritma genetik dengan berbagai algoritma konvensional lainnya adalah bahwa algoritma genetik memulai dengan suatu himpunan penyelesaian acak awal yang disebut populasi. Masing-masing individu didalam populasi disebut kromosom, yang mempresentasikan suatu penyelesaian terhadap masalah yang ditangani. Sebuah kromosom terdiri dari sebuah string yang terdiri berbagai simbol, dan biasanya tidak mutlak, string tersebut berupa sederetan bit-bit biner 0 dan 1. Sebuah kromosom tumbuh dan berkembang biak melalui berbagai iterasi yang berulang-ulang yang disebut juga generasi. Pada masing-masing generasi, berbagai kromosom yang dihasilkan akan di evaluasi menggunakan suatu pengukuran fitness. Untuk menghasilkan suatu generasi yang baru, berbagai kromosom baru

yang disebut offspring dibentuk dengan salah satu cara berikut :

(21)

2. Memodifikasi sebuah kromosom menggunakan operator mutasi. Dan generasi yang baru dihasilkan dengan cara :

1. Penseleksian berdasarkan nilai fitness, berbagai parent dan offspring 2. Menolak yang lainnya untuk menjaga ukuran populasi agar tetap konstan

Berbagai kromosom yang memiliki probabilitas yang tinggi akan diseleksi. Setelah beberapa generasi, algoritma akan menemukan kromosom yang paling baik, yang diharapkan merepresentasikan solusi optimum dan suboptimal terhadap suatu permasalahan optimisasi suatu fungsi [3]. Algoritma ini didasarkan pada proses genetika yang ada dalam makhluk hidup, yaitu perkembangan populasi yang alami, secara lambat laun mengikuti proses seleksi alam atau dengan kata lain siapa yang kuat, dia yang bertahan. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam algoritma genetik ini, proses perkembangbiakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar berpikir bagaimana mendapatkan keturunan yang lebih baik atau bagaimana menghasilkan keturunan yang optimal

II.2.3 Prosedur Algoritma Genetik

Algoritma Genetika merepresentasikan individu sebagai sebuah kromosom, kromosom ini merupakan suatu solusi yang masih berbentuk simbol. Algoritma ini menyelesaikan permasalahan dalam pencarian kromosom yang terbaik. Kromosom-kromosom terbaik diperoleh dengan cara populasi awal yang dibangun secara acak dan populasi berikutnya yang merupakan hasil evolusi kromosom-kromosom melalui proses iterasi (seleksi, crossover dan mutasi) yang disebut dengan istilah generasi. Pada setiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas kromosom

(22)

Beberapa definisi penting dalam algoritma genetika adalah sebagai berikut:

a) Gen adalah sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini dapat berupa nilai biner, float, integer, kombinatorial maupun karakter.

b) Allel adalah nilai dari gen.

c) Kromosom adalah gabungan gen yang membentuk nilai tertentu.

d) Individu menyatakan suatu nilai atau menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat.

e) Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi

f) Generasi menyatakan hasil evolusi kromosom-kromosom melalui proses iterasi.

g) Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.

(23)

Gambar II.2 Flowchart Algoritma Genetik [4]

Dari gambar diatas, struktur umum dari suatu algoritma genetik dapat didefinisikan dengan langkah-langkah sebagai berikut :

1. Pengkodean

(24)

2. Prosedur Inisialisasi (membangkitkan populasi awal)

Prosedur inisialisasi (membangkitkan populasi awal) adalah membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

3. Evaluasi Fitness

Proses ini merupakan proses untuk mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya. Individu yang memiliki nilai fitness tinggi pada kromosomnya yang akan dipertahankan, sedangkan individu yang pada kromosomnya bernilai fitness rendah akan diganti

4. Seleksi

Proses seleksi merupakan proses untuk menentukan individu-individu mana saja yang akan dipilih untuk dilakukan crossover.

5. Crossover

Proses crossover ini merupakan proses untuk menambah keanekaragaman string dalam satu populasi.

6. Mutasi

Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom.

7. Fitness Terbaik

Fitness terbaik merupakan kriteria yang digunakan untuk menghentikan

proses algoritma genetik. Apabila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 4.

8. Hasil

(25)

II.2.3.1 Teknik Pengkodean

Pengkodean adalah cara untuk mempresentasikan masalah kedalam bentuk kromosom. Ada beberapa cara pengkodean dan pemilihannya tergantung dari masalah yang akan diselesaikan. Teknik pengkodean yang digunakan dalam penelitian tugas akhir ini adalah pengkodean nilai. Berikut ini adalah beberapa jenis pengkodean yang sering digunakan.

1. Pengkodean Biner

Pengkodean biner adalah pengkodean yang paling umum digunakan karena algoritma genetik awalnya menggunakan pengkodean ini. Pada pengkodean biner setiap kromosom merupakan barisan bit 0 atau 1. Pengkodean biner memberikan banyak kemungkinan kromosom meskipun hanya memiliki jumlah allele yang sedikit, 1 atau 0. Tetapi pengkodean ini sering tidak sesuai untuk beberapa masalah dan kadang harus dilakukan pengkoreksian setelah crossover dan mutasi [4].

Contoh masalah yang sesuai menggunakan pengkodean biner adalah masalah ransel (knapsack), dimana terdapat beberapa jenis benda dan ukuran yang berat yang berbeda dengan kapasitas ransel terbatas. Permasalahannya adalah memilih sejumlah barang untuk memaksimumkan nilai dari barang-barang tersebut didalam ransel, tetapi total ukuran barang-barang tersebut tidak boleh melebihi dari ukuran ransel itu sendiri. Masalah ransel ini dapat dienkodekan dengan barisan bit, dimana jumlah bit menyatakan jumlah barang yang ada, sehingga setiap bit berhubungan dengan setiap benda yang ada didalam ransel. Bit 1 berarti benda ada didalam ransel, sedangkan bit 0 berarti benda tidak berada didalam ransel. Contoh pengkodean biner dapat dilihat pada tabel II.1 berikut.

Tabel II.1 Contoh Pengkodean Biner

Kromosom A 1010101011

Kromosom B 1100110010

2. Pengkodean Nilai (value encoding)

(26)

masalah. Contohnya adalah pengkodean data yang menggunakan angka riil yang akan menjadi susah jika menggunakan pengkodean biner karena setiap angka riil tidak dapat dipresentasikan secara tepat hanya dalam bentuk bit 1 atau 0. Dalam pengkodean nilai, setiap kromosom merupakan barisan dari beberapa nilai. Nilai bisa berupa apa saja, seperti bilangan biasa, bilangan riil, kode, karakter sampai dengan obyek-obyek yang rumit. Pengkodean nilai sangat baik untuk beberapa masalah khusus, dilain sisi crossover dan mutasi diperlukan untuk pengkodean ini sering kali memerlukan pengembangan tersendiri yang lebih spesifik pada masalah.

Contoh masalah yang menggunakan pengkodean ini adalah masalah pencarian robot pada jaringan saraf (neural network). Terdapat sebuah jaringan saraf dengan arsiteknya. Permasalahannya adalah mencari bobot masukan dari neuron-neuron untuk melatih jaringan untuk memberikan keluaran yang

diinginkan. Masalah ini dapat dienkodekan menggunakan pengkodean nilai bilangan riil, dengan gen-gen dalam genome menyatakan korespondensi bobot-bobot pada masukan untuk jaringan saraf. Contoh pengkodean nilai dapat dilihat pada tabel II.2 berikut.

Tabel II.2 Contoh Pengkodean Nilai

Kromosom A 1.345, 4.534, 7.654, 8.789

Kromosom B ABC, ADC, BAC, CAD

Kromosom C 1, 2, 3, 4, 5

Kromosom D Forward, Backward, Right, Left

3. Pengkodean Permutasi

Pengkodean permutasi digunakan dalam masalah yang memerlukan pengurutan data (ordering problem), seperti masalah travelling salesman problem, atau masalah pengurutan tugas. Pada pengkodean ini setiap kromosom merupakan barisan angka yang mempresentasikan angka pada urutan.

(27)

pengkodean ini adalah masalah travelling salesman problem. Terdapat sejumlah kota dan jarak diantara semua kota tersebut, tapi sebisa mungkin dia tidak perlu melakukan terlalu banyak perjalanan, sehingga harus ditemukan urutan kota yang akan dikunjungi dengan jumlah total jarak yang minimal. Masalah ini dapat dienkodekan dengan pengkodean permutasi dimana setiap angka dalam kromosom mewakili setiap kota yang harus dikunjungi dalam urutan. Contoh pengkodean permutasi dapat dilihat pada tabel II.3 berikut.

Tabel II.3 Contoh Pengkodean Permutasi Kromosom A 2 6 7 5 1 3 4 9 8 10 Kromosom B 10 5 4 9 7 1 3 2 6 8

4. Pengkodean Pohon

Pengkodean pohon lebih banyak digunakan untuk menyusun program atau ekspresi bagi pemrograman genetika. Setiap kromosom merupakan pohon dari sejumlah objek, seperti fungsi atau perintah didalam bahasa pemrograman. Pengkodean pohon sangat baik bagi penyusunan program. Bahasa pemrograman LISP sering digunakan untuk melakukan pengkodean pohon, karena program

didalamnya dapat direpresentasikan kedalam bentuk ini dan dapat dengan mudah dilakukan parse menjadi sebuah pohon, sehingga perkawinan silang dan mutasi dapat dilakukan relatif lebih mudah.

(28)

gambar II.3 Contoh Pengkodean Pohon II.2.3.2 Evaluasi Fitness

Evaluasi fitness merupakan proses untuk mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom. Besar atau kecilnya nilai fitness dihasilkan dari nilai kromosom tersebut apakah melanggar coinstraint atau tidak, jika tidak maka menghasilkan nilai fitness yang tinggi. Individu yang memiliki nilai fitness tinggi pada kromosomnya yang akan dipertahankan, sedangkan individu yang nilai fitnessnya rendah akan diganti atau dibuang. Nilai fitness yang dihasilkan Fungsi yang digunakan untuk menghitung nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan fitness function. Nilai yang dihasilkan oleh fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar. Faktor-faktor yang dapat mempengaruhi evaluasi fitness terhadap alternatif solusi tersebut merupakan pelanggaran yang telah

(29)

=

1

1+( WD + BR )

(

II.1)

Keterangan :

WD : Banyaknya Waktu pengajar yang dilanggar BR : Banyaknya Bentrok Ruang yang digunakan II.2.4 Operator Dalam Algoritma Genetik

Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi prematur, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah solusi optimum lokal. Ada 3 operator genetik yaitu seleksi, crossover dan mutasi.

II.2.4.1Seleksi

Seleksi merupakan proses pemilihan individu/ kromosom dari generasi lama untuk dijadikan orangtua yang akan saling dikawin silang untuk membentuk individu baru di generasi baru. Yang menjadi permasalahan adalah bagaimana cara memilih kromosom untuk dijadikan orangtua. Berdasarkan teori evolusi Darwin, kromosom yang terbaik seharusnya dapat bertahan hidup dan membentuk keturunan baru. Ada beberapa jenis metode seleksi, berikut ini adalah beberapa metode seleksi yang sering digunakan. Seleksi yang digunakan dalam penelitian tugas akhir ini adalah seleksi roda roulette

1. Seleksi Roda Roulette

(30)

Gambar I.4 Seleksi Roda Roulette 2. Seleksi Rangking

Seleksi ini memperbaiki proses seleksi yang sebelumnya yaitu roulette wheel karena pada seleksi tersebut kemungkinan selain satu kromosom mempunyai nilai fitness yang mendominasi hingga 90% bisa terjadi, sehingga nilai fitness yang lain akan mempunyai kemungkinan yang sangat kecil untuk terpilih. Seleksi rangking dipakai untuk mengatasi masalah diatas, pertama populasi diurutkan lalu setiap kromosom mendapatkan kesesuaian dari rangking ini. Yang terburuk akan memiliki kesesuaian 1, terburuk kedua memiliki kesesuaian 2, dan seterusnya. Kromosom yang terbaik akan memiliki kesesuaian N (jumlah kromosom dalam populasi). Pada gambar II.5 dan gambar II.6 dapat terlihat bagaimana situasi berubah setelah mengganti kesesuaian dengan nomor urut. Setelah proses ini, semua kromosom memiliki kesempatan untuk terpilih, namun metode ini akan menuntun ke konvergensi yang lebih lambat, karena kromosom yang terbaik tidak jauh berbeda dengan yang lain. Seleksi rangking dapat dilihat pada gambar II.5 dan gambar II.6 berikut

(31)

Gambar II.6 Sesudah Rangking 3. Seleksi Steady State

Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa kromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring yang baru, sehingga pada generasi selanjutnya akan terdapat beberapa

populasi yang dipertahankan. II.2.4.2 Crossover

Crossover merupakan proses pada algoritma genetik yang bekerja untuk

menggabungkan dua kromosom orang tua (parent) menjadi kromosom baru (offspring) pada suatu waktu. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh melalui proses crossover pada dua buah kromosom. Tidak semua kromosom mengalami persilangan. Cara sederhana pada proses persilangan yaitu dengan memilih suatu titik yang dipisahkan secara random dan kemudian membentuk offspring dengan cara mengkombinasikan segmen dari satu induk ke sebelah kiri dari titik yang dipisahkan dengan segmen dari induk yang lain ke sebelah kanan dari titik yang dipisahkan. Ada beberapa jenis metode persilangan, berikut ini adalah beberapa metode persilangan yang sering digunakan.

1. Crossover Satu Titik

Proses crossover dilakukan dengan memisahkan suatu string menjadi dua bagian, kemudian salah satu bagian dipertukarkan dengan salah satu bagian

Kromosom 1 40%

Kromosom 2 25% Kromosom 3

18% Kromosom 4

(32)

dari string lain yang telah dipisahkan. Misalkan ada 2 kromosom dengan panjang 12 :

Induk 1 : 0 1 1 1 0 | 0 1 0 1 1 1 0 Induk 2 : 1 1 0 1 0 | 0 0 0 1 1 0 1 Kromosom yang dipilih : 5

Anak 1 : 0 1 1 1 0 | 0 0 0 1 1 0 1 Anak 2 : 1 1 0 1 0 | 0 1 0 1 1 1 0 2. Crossover Banyak Titik

Proses crossover ini dilakukan dengan memisahkan suatu string menjadi beberapa bagian dan selanjutnya dipertukarkan dengan bagian dari string yang lain yang telah dipisahkan. Misalkan ada 2 kromosom dengan panjang 12 :

Induk 1 : 0 1 | 1 1 0 0 | 1 0 1 1 | 1 0 Induk 2 : 0 1 | 0 1 0 0 | 0 0 1 1 | 0 1

Posisi yang dipilih : kromosom setelah 2, 6 dan 10 Kromosom baru yang terbetuk :

Anak 1 : 0 1 | 0 1 0 0 | 1 0 1 1 | 0 1 Anak 2 : 1 1 | 1 1 0 0 | 0 0 1 1 | 1 0 3. Crossover Aritmatika

Suatu operasi aritmatika digunakan untuk menghasilkan offspring yang baru. Kromosom baru dihasilkan dari operasi aritmatika yang dilakukan terhadap kedua orangtuanya.

Contoh :

Kromosom Parent 1 : 11001011 Kromosom Parent 2 : 11011111 Offspring : 11001001

4. Crossover Pengkodean Permutasi

(33)

kedua, jika belum ada pada kromosom keturunan, maka nilai tersebut ditambahkan.

Contoh :

Kromosom Parent 1 : 123456789 Kromosom Parent 2 : 453689721 Offspring : 12345689

II.2.4.3 Mutasi

Mutasi merupakan proses untuk mengubah salah satu atau lebih gen dari suatu kromosom. Proses ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Beberapa cara operasi mutasi yang diterapkan dalam algoritma genetika menurut jenis pengkodeannya, antara lain : 1. Mutasi Dalam Pengkodean Biner

Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan adalah menginversi nilai bit pada posisi tertentu yang dipilih secara acak (atau dengan menggunakan skema tertentu ) pada kromosom. Contoh mutasi pada pengkodean biner :

Kromosom sebelum mutasi : 1 0 0 1 0 1 1 1 Kromosom sesudah mutasi : 1 0 0 1 0 0 1 1 2. Mutasi Pada Pengkodean Nilai

(34)

itu cara mutasi lain yang relevan dapat digunakan. Contoh mutasi pada pengkodean nilai :

Kromosom sebelum mutasi : 1,45 2,67 1,87 2,56 Kromosom sesudah mutasi : 1,55 2,67 1,77 2,56 3. Mutasi Pada Pengkodean Pohon

Mutasi dapat dilakukan dengan mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu vertex pohon yang dipilih, atau juga dapat dilakukan pemilihan dua vertex dari pohon dan saling dipertukarkan operator atau nilainya. Contoh mutasi pada pengkodean nilai adapat dilihat pada tabel II.4 berikut.

Tabel II.4 Contoh Mutasi Pada Pengkodean Mutasi

4. Mutasi Pada Pengkodean Permutasi

Proses mutasi pada pengkodean biner tidak dapat digunakan pada pengkodean permutasi karena konsistensi urutan permutasi harus selalu diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi pada kromosom dan kemudian saling dipertukarkan. Contoh mutasi pada pengkodean permutasi :

(35)

II.2.5 Parameter Dalam Algoritma Genetik

Dua parameter dasar yang penting dari algoritma genetika adalah probabilitas crossover dan probabilitas mutasi.

II.2.5.1 Probabilitas Crossover

Probabilitas crossover akan mengendalikan operator crossover dalam setiap generasi dalam populasi yang mengalami crossover. Semakin besar nilai probabilitas crossover, akan semakin cepat struktur individu baru terbentuk ke dalam populasi. Sedangkan apabila nilai probabilitas crossover terlalu besar, individu yang merupakan kandidat solusi terbaik mungkin akan dapat hilang lebih cepat pada generasi selanjutnya. Disarankan nilai probabilitas crossover berkisar antara 80 % - 95 %.

II.2.5.2 Probabilitas Mutasi

Probabilitas mutasi akan mengendalikan operator mutasi pada setiap generasi dimana peluang mutasi yang digunakan biasanya lebih kecil daripada peluang crossover. Pada seleksi alam murni, mutasi jarang sekali muncul. Oleh karena itu, operator mutasi pada algoritma genetik juga tidak selalu terjadi. Untuk itulah nilai peluang mutasi dibuat lebih kecil untuk setiap generasi. Disarankan nilai probabilitas mutasi kecil berkisar antara 0.5 % - 1 %.

Parameter lain yang juga ikut menentukan efisiensi kinerja algoritma genetik adalah ukuran populasi, yaitu banyaknya kromosom dalam satu populasi. Tidak ada aturan yang pasti tentang berapa nilai ukuran populasi. Apabila ukuran populasi kecil berarti hanya tersedia sedikit pilihan untuk crossover dan sebagian kecil dari domain solusi saja yang dieksplorasi untuk setiap generasinya. Sedangkan apabila terlalu besar, kinerja algoritma genetik akan menurun. Penelitian menunjukan ukuran populasi besar tidak mempercepat pencarian solusi. Disarankan ukuran populasi berkisar antara 20–30.

II.2.6 Algoritma Tabu Search

Tabu Search adalah sebuah metode optimasi yang berbasis pada local

search. Proses pencarian bergerak dari satu solusi ke solusi berikutnya, dengan

(36)

mencegah proses pencarian dari local search agar tidak melakukan pencarian ulang pada ruang solusi yang sudah ditelusuri dengan memanfaatkan suatu struktur memori yang mencatat sebagian jejak proses pencarian yang telah dilakukan [5].

Struktur memori fundamental dalam tabu search dinamakan tabu list. Tabu list menyimpan atribut dari sebagian move (transisi solusi) yang telah

diterapkan pada iterasi-iterasi sebelumnya. Tabu search menggunakan tabu list untuk menolak solusi-solusi yang memenuhi atribut tertentu guna mencegah proses pencarian mengalami pengulangan 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 lokal dapat terjebak pada daerah solusi optimum lokal tersebut pada iterasi-iterasi berikutnya.

Perekaman solusi secara lengkap dalam sebuah forbidden list dan pengecekan apakah sebuah kandidat solusi tercatat dalam list tersebut merupakan cara yang mahal, 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 membalikkan solusi yang baru ke solusi

yang lama.

Pada tiap iterasi, dipilih solusi baru yang merupakan solusi terbaik dalam neighborhood 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 baik namun move tersebut berstatus tabu. Dalam hal ini, jika move tersebut memenuhi kriteria

(37)

II.2.6.1 Ide Dasar Tabu Search

Sebuah informasi akan digunakan sebagai petunjuk untuk bergerak dari I ke solusi selanjutnya dalam N(i). Penggunaan memori sebagai pembatas dalam pemilihan beberapa subnet dari N(i) dengan mencegah pergerakan kebeberapa solusi tetangga. Sebuah informasi akan digunakan sebagai petunjuk untuk bergerak dari i ke solusi selanjutnya dalam N(i). Metode tabu search akan menjadi sebuah algoritma yang menyediakan proses eksplorasi yang menjamin setelah sejumlah langkah-langkah solusi dapat dicapai.

Prinsip kerja tabu search dapat dilakukan dengan metode menurun klasik (classical decent method), yaitu :

1. Memilih sebuah langkah 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 kelangkah 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.

(38)

dapat mencoba untuk melakukan peningkatan algoritma menurun dalam beberapa hal untuk lebih mendekatkan metode ini ke prosedur dalam metode tabu search secara umum

II.2.7 Internet

Internet (interconnected Network) merupakan jaringan (network) komputer yang terdiri dari ribuan jaringan komputer independen yang dihubungkan satu dengan yang lainnya. Jaringan komputer ini dapat terdiri dari pendidikan, pemerintahan, militer, organisasi bisnis dan organisasi-organisasi lainnya [7].

II.2.7.1 Perkembangan Internet

Jumlah pengguna internet yang besar dan semakin berkembang, telah mewujudkan budaya internet. Internet juga mempunyai pengaruh yang besar atas ilmu, dan pandangan dunia. Dengan hanya menggunakan mesin pencari seperti Google, pengguna di seluruh dunia mempunyai akses yang mudah atas bermacam-macam informasi. Dibanding dengan buku dan perpustakaan, internet melambangkan penyebaran (decentralization) informasi dan data secara ekstrim.

Terkait dengan teknologi pembuatan website sebagai konten dari teknologi internet itu sendiri memicu perkembangan teknik pembuatan website yang semakin canggih dengan fitur-fitur yang sangat beragam tidak hanya terbatas pada teks dan gambar saja, akan tetapi sudah merambah kedalam dunia multimedia dan telekomunikasi visual. Bahkan dengan munculnya teknologi content manajemen sistem pengguna yang awam dengan kemampuan teknis yang sedikipun bisa membuat website sesuai dengan keinginannya tanpa harus berhubungan dengan webmaster dengan content yang dinamis dan selalu uptodate [8].

II.2.8 Entity Relationship Diagram (ERD)

Entity Relationship Diagram atau biasa dikenal dengan diagram E-R berisi

(39)

Elemen-elemen Entity Relationship Diagram adalah sebagai berikut [9]. 1. Entity (Entitas)

Pada diagram E-R, entitas digambarkan dengan sebuah persegi panjang. Entitas adalah individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu lainnya. Entitas diberi nama dengan kata benda dan dapat dikelompokan dalam empat jenis nama, yaitu: orang, benda, lokasi kejadian (terdapat unsur waktu didalamnya).

2. Relationship (Relasi)

Pada diagram E-R, relasi dapat digambarkan dengan sebuah belah ketupat. Relasimenunjukan adanya hubungan di antara satu entitas dengan entitas lainnya. Pada umumnya relasi diberi nama dengan kata kerja dasar, sehinga memudahkan untuk melakukan pembacaan relasinya.

3. Atribut

Pada diagram E-R atribut adalah segala sesuatu yang mendeskripsikan karakteristik dari entitas.

4. Kardinalitas/Derajat Relasi

Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas yang lainnya. Dari sejumlah kemungkinan banyaknya hubungan yang terjadi dari entitas, kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas yang lainnya dan begitu juga sebaliknya. Kardinalitas/ Derajat Relasi yang terjadi di antara dua entitas sebagai berikut:

a. One to one Relationship

(40)

A B

1 1

Gambar II.7 One to One Relationship b. One to many Relationship

Tingkat hubungan satu ke banyak adalah untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua.

A B

N 1

Gambar II.8 One to Many Relationship c. Many To One Relationship

Untuk banyak kejadian pada entitas yang pertama hanya dapat mempunyai satu hubungan dengan kejadian pada entitas yang kedua. Gambar II.9 berikut adalah ilustrasi dari Many To One Relationship.

A B

1 N

Gambar II.9 Many to One Relationship d. Many to many Relationship

Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya, baik dilihat dari sisi entitas yang pertama maupun dilihat dari sisi yang kedua. Gambar II.10 berikut adalah ilustrasi dari Many to many Relationship.

A B

N

N

Gambar II.10 Many to Many Relationship 5. Key (Kunci)

(41)

kegunaannya masing-masing, yaitu primary key (kunci utama), foreign key (kunci tamu).

II.2.9 Diagram Konteks

Diagram konteks adalah sebuah diagram sederhana yang menggambarkan hubungan antara entitas luar, masukan dan keluaran dari sistem [9]. Dalam penggambaran ini, sistem dianggap sebagai sebuah objek yang tidak dijelaskan secara rinci, karena yang ditekankan adalah interaksi sistem dengan lingkungan yang mengaksesnya.

Diagram konteks merupakan gambaran umum sistem yang akan dibangun. Dapat dikatakan bahwa diagram konteks itu berisi siapa saja yang memberikan data (input) ke sistem serta kepada siapa data informasi yang harus dihasilkan sistem. Gambar II.11 berikut adalah contoh gambar diagram konteks.

Gambar II.11 Contoh Diagram Konteks [9] II.2.10 Data Flow Diagram (DFD)

(42)

[9]. DFD adalah suatu grafik yang menjelaskan sebuah sistem dengan menggunakan bentuk-bentuk atau simbol untuk menggambarkan input, proses dan output yang terjadi dalam suatu sistem. DFD juga menggambarkan aliran data dalam sebuah sistem. Dalam mendokumentasikan sebuah sistem, DFD mempunyai level-level mulai dari yang terkecil, yaitu level 0 atau sering disebut diagram konteks. Diagram konteks merupakan gambaran paling umum dari sistem, yang hanya memiliki satu proses saja untuk mewakili seluruh sistem. II.2.11 Kamus Data

Kamus data adalah peralatan yang ikut berperan dalam perancangan dan membangun sistem informasi karena berfungsi untuk menjelaskan arti aliran data dan penyimpanan dalam penggambaran pada data flow diagram, mendeskripsikan komposisi paket data yang bergerak melalui aliran, dan menjelaskan spesifikasi nilai dan satuan yang relevan terhadap data yang mengalir dalam sistem tersebut [9].

II.2.12 Tinjauan Perangkat Lunak II.2.12.1 MYSQL

MySQL adalah database yang menghubungkan script PHP menggunakan perintah query dan escaps character yang sama dengan PHP. MySQL mempunyai tampilan client yang dapat mempermudah dalam mengakses database dengan kata sandi untuk mengijinkan proses yang boleh dilakukan [10].

(43)

oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user,

kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan limakali lebih cepat dibandingkan Interbase. Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain [10]:

1. Protability

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows,Linux, FreeBSD, Mac Os X Server, Solaris, Amigan, dan masih banyak lagi.

2. Open Source

MySQL didistribusikan secara gratis, dibawah lisensi GPL sehingga dapat digunakan secara percuma.

3. Multi-user

MySQL dapat digunakan oleh berberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. Performance tuning

MySQL memiliki kecepatan yang menakjubkan dalam mengenai query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Column type

MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsignedinteger, float, char, double, text, date, timestamp, dan

lain-lain.

6. Command and functions

MySQL memiliki operator fungsi secara penuh yang mendukung perintah select dan where dalam query.

7. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta

(44)

8. Scability dan limits

MySQL mampu menangani database dalam skala besar, dengan jumlah record lebih dari 50 juta 60 ribu tabel serta 5 milyar baris. Selain itu batas

indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

9. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

10. Localization

MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya.

11. Interface

MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi API (Application Programming Interface).

12. Client dan tools

MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.

II.2.13 Adobe Dreamweaver

(45)

Sejak awal keluar, dreamweaver menjadi web editor yang banyak digunakan oleh para web developer. Hal ini antara lain karena kemudahan dalam penggunaannya, fasilitas, dan kemampuan dreamweaver yang powerful dan menunjang peningkatan produktifitas dan efektifitas untuk mendesain atau membangun website. Dreamweaver juga dilengkapi dengan fasilitas untuk manajemen situs yang cukup lengkap kelengkapan fiturnya dan juga dukungannya terhadap teknologi terkini.

II.2.14 Personal Home Page (PHP)

PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.PHP dulunya merupakan proyek pribadi dari Rasmus Lerdorf (dengan dikeluarkannya php versi 1) yang digunakan untuk membuat homepage pribadinya. Versi pertama ini berupa kumpulan script PERL. Untuk versi keduanya, Rasmus menulis ulang script-script PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas untuk form html dan koneksi MYSQL. Adapun PHP didapat dari singkatan Personal Home Page.

Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. PHP/FI merupakan nama awal dari PHP. PHP/FI adalah Form Interface, dibuat pertama kali oleh Rasmus Lerdoff. PHP, awalnya merupakan program CGI yang dikhususkan untuk menerima input melalui form yang ditampilkan dalam web.

(46)

35 III.1 Analisis Sistem

Definisi analisis sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan [7].

Sistem yang berjalan di lembaga kursus E-Learning For Kids saat ini masih menggunakan cara manual, yaitu dengan melakukan pencarian kolom-kolom mana saja yang masih kosong kemudian menempatkan jadwal pada kolom-kolom tersebut. Cara ini kurang efektif karena membutuhkan waktu yang lama dan jadwal yang dihasilkan cenderung menghasilkan jadwal yang menumpuk pada hari-hari tertentu dan tingkat ke akuratannya tidak bisa dijamin. Oleh sebab itu, untuk menyelesaikan masalah tersebut dibutuhkan sebuah sistem baru dengan membangun aplikasi penjadwalan sehingga pembuatan jadwal di lembaga kursus E-Learning For Kids menjadi lebih cepat, tidak ada permasalahan bentrokan pada sisi ruangdan pengajar, serta jadwal yang dihasilkan tidak mengalami penumpukan pada hari-hari tententu.

III.1.1 Analisis Prosedur Sistem Yang Sedang Berjalan

Analisis sistem yang berjalan bertujuan untuk memberikan gambaran tentang proses yang selama ini dilakukan. Proses penjadwalan yang dilakukan selama ini yaitu masih dilakukan secara manual, yaitu dengan pencarian kolom-kolom mana saja yang masih kosong, kemudian menempatkan jadwal pada kolom-kolom tersebut.

(47)

waktu, dan data level. Analisis sistem yang sedang berjalan dapat digambarkan dengan flowmap. Lihat gambar III.1 berikut.

Penjadwalan

Bagian Administrasi Pengajar

Keterangan :

A : Arsip jadwal kegiatan akademik

Gambar III.1 Flowmap Penjadwalan Kegiatan Akademik

Keterangan Flowmap penjadwalan kegiatan akademik yang sedang berjalan di lembaga kursus E-Learning For Kids yaitu :

1. Bagian administrasi menyiapkan data level, data pengajar, data ruang dan data waktu untuk proses penjadwalan.

Data Level, pengajar, ruang, waktu

Pembentuk an Jadwal

Jadwal Sementara

Jadwal Sementara

Pengecek an Jadwal

Jadwal Bentrok Jadwal yang

sudah jadi

Ya

Tidak

(48)

2. Kemudian bagian administrasi melakukan proses penjadwalan dengan mencocokan antara level, pengajar, ruang dan waktu di kolom-kolom mana saja yang masih kosong.

3. Setelah jadwal terbentuk (masih bersifat sementara), bagian administrasi memberikan jadwal kepada setiap pengajar dan pengajar melakukan proses pengecekan apakah terjadi bentrokan pada jadwal yang sudah dibuat.

4. Bila masih terjadi bentrokan maka bagian administrasi kembali melakukan proses penjadwalan. Tapi jika tidak terjadi bentrok maka jadwal tersebut sudah dapat diarsipkan.

III.1.1.1 Aturan Penjadwalan

Permasalahan yang harus dihindari dalam penyusunan jadwal kegiatan akademik adalah ketika terjadi pelanggaran terhadap kendala yang termasuk kedalam hard constraint. Hard constraint adalah suatu syarat dimana tidak boleh terjadi pelanggaran terhadap kendala yang ditetapkan.

Aturan penjadwalan kegiatan akademik di E-Learning For Kids adalah : 1. Jadwal kegiatan akademik yang disusun hanya berlaku untuk 6 bulan.

2. Tidak ada pengajar yang mengajar didua kelas yang berbeda pada waktu yang sama

3. Satu level dapat diajar lebih dari 1 orang pengajar.

4. Jadwal yang dihasilkan disusun berdasarkan seluruh pengajar yang tersedia 5. Waktu kursus dalam sehari dimulai dari jam 07.00-16.00 WIB. Lama setiap

satuan waktu kursus adalah 60 menit, dalam jangka waktu 1 hari terdapat 9 slot waktu, maka dalam 5 hari (senin sampai dengan jumat) terdapat 45 slot waktu.

(49)

III.1.2 Analisis Algoritma Genetik dan Tabu Search III.1.2.1 Data Penelitian

Data yang digunakan untuk penyusunan jadwal kegiatan akademik adalah jadwal kegiatan akademik di E-Learning For Kids. Data tersebut berupa data pengajar, data kesediaan waktu pengajar, data level / jenjang pendidikan, data ruang, dan data waktu. Data yang nantinya akan diperlukan sebagai data masukan kemudian disusun kedalam tabel yang terdiri dari 6 buah tabel, yaitu tabel pengajar, tabel kesediaan waktu pengajar, tabel level, tabel ruang, tabel hari dan tabel jam.

1. Data Pengajar

Data pengajar yang ada di lembaga kursus E-Learning For Kids cabang kota bekasi. Lihat tabel III.1

Tabel III.1 Data Pengajar

2. Data Kesediaan Waktu Pengajar

Data kesediaan waktu pengajar di lembaga kursus E-Learning For Kids cabang kota bekasi selama 5 hari yaitu senin sampai dengan jumat. Seluruh pengajar dapat mengajar pada hari senin sampai dengan jumat, hanya jam kesediaan mengajarnya saja yang berbeda. Lihat tabel III.2 berikut

Tabel III.2 Kesedian Waktu Pengajar Mengajar Kode Pengajar Nama Pengajar

P01 Yuni

P02 Irnawati W. Putri

P03 Iis Sunarti

P04 Roida Purnama

P05 Susanti

Kode Waktu

Pengajar Waktu Hari Kode Pengajar

(50)

3. Data Level / Jenjang Pendidikan

Pembagian level atau jenjang pendidikan di lembaga kursus E-Learning For Kids terdiri dari 4 level yaitu Start Star, Smart Star 1, Smart Star 2, dan Smart star 3. Semua level terdapat dua kelas dan semua level dapat diajar oleh semua pengajar. Lihat tabel III.3

Tabel III.3 Data Level Bimbingan Kursus

4. Data Ruang

Sebagai tempat penyelenggaraan bimbingan kursus, Semua ruang bimbingan di Lembaga Kursus E-Learning For Kids dapat digunakan pada

WP03 09.00 - 10.00 Senin s/d Jumat P01, P05 WP04 10.00 - 11.00 Senin s/d Jumat P01, P02, P05 WP05 11.00 - 12.00 Senin s/d Jumat P01, P05

WP06 12.00 - 13.00 Senin s/d Jumat P01, P02, P03, P04, P05 WP07 13.00 - 14.00 Senin s/d Jumat P01, P02, P03, P04, P05 WP08 14.00 - 15.00 Senin s/d Jumat P01, P02, P03, P04 WP09 15.00 - 16.00 Senin s/d Jumat P01, P04, P02

Kode

Kelas Nama Kelas Nama Level

Banyak Pertemuan / Minggu

K1A 1A

Start Star 3

K1B 1B 3

K2A 2A

Smart Star 1 3

K2B 2B 3

K3A 3A

Smart Star 2 3

K3B 3B 3

K4A 4A

Smart Star 3 3

(51)

semua jam bimbingan yang ada. Kapasitas masing-masing ruangan sama yaitu dengan maksimal 10 siswa per kelas. Lihat tabel III.4

Tabel III.4 Data Ruang

5. Data Hari

Data hari di lembaga kursus E-Learning For Kids selama 5 hari yaitu senin sampai dengan jumat. Lihat tabel III.5

Tabel III.5 Data Hari Bimbingan Kursus

Kode Hari Nama Hari

H01 Senin

H02 Selasa

H03 Rabu

H04 Kamis

H05 Jumat

6. Data Jam

Data jam di lembaga kursus E-Learning For Kids terdiri dari 9 jam, mulai dari jam 07.00 sampai dengan jam 16.00 WIB. Lihat tabel III.6

Tabel III.6 Data Jam Bimbingan Kursus

Kode Jam Jam

J01 07.00 – 08.00

J02 08.00 – 09.00

J03 09.00 – 10.00

J04 10.00 – 11.00

Kode Ruangan Nama Ruangan

R01 1

R02 2

R03 3

(52)

J05 11.00 – 12.00

J06 12.00 – 13.00

J07 13.00 – 14.00

J08 14.00 – 15.00

J09 15.00 – 16.00

Berdasarkan data diatas, Dalam waktu satu hari yang digunakan untuk bimbingan kursus terdapat 9 jam , hari yang digunakan untuk bimbingan kursus adalah dari hari senin sampai dengan jumat, berarti ada 5 hari bimbingan belajar dalam satu minggu, sehingga total slot waktu yang disediakan dalam satu minggu adalah 9 x 5 = 45 slot waktu. Untuk lebih jelasnya lihat tabel III.7 berikut

Tabel III.7 Slot Waktu Bimbingan Kursus

Jam

Slot Waktu

Senin Selasa Rabu Kamis Jumat

07.00 – 08.00 1 10 19 28 37

08.00 – 09.00 2 11 20 29 38

09.00 – 10.00 3 12 21 30 39

10.00 – 11.00 4 13 22 31 40

11.00 – 12.00 5 14 23 32 41

12.00 – 13.00 6 15 24 33 42

13.00 – 14.00 7 16 25 34 43

14.00 – 15.00 8 17 26 35 44

15.00 – 16.00 9 18 27 36 45

(53)

tersebut dianggap sebagai alternatif solusi. Pada algoritma genetik, dibuat kumpulan dari alternatif solusi yang disebut sebagai populasi. Dengan adanya populasi ini, maka algoritma genetik melakukan proses pencarian dari titik uji sekaligus. Pemilihan nilai alternatif solusi ini dilakukan secara random. Sedangkan fungsi tabu search disini adalah untuk mencegah proses pencarian mengalami pengulangan pada daerah solusi yang sama, dan menuntun proses pencarian menelusuri daerah solusi yang belum dikunjungi.

III.1.2.2 Penetapan Parameter

Hal pertama yang dilakukan dalam pengujian terhadap kombinasi algoritma genetik dan tabu search adalah menentukan parameter, sehingga tujuan pembuatan jadwal kegiatan akademik dengan menggunakan kombinasi algoritma genetik dan tabu search dapat tercapai dengan maksimal. Beberapa parameter yang harus ditentukan adalah cara pengkodean, inisialisasi populasi (pembentukan populasi awal), evaluasi fitness, seleksi, crossover, tabu list, mutasi dan kondisi selesai. Berikut ini adalah parameter algoritma genetik dan tabu search :

1. Pengkodean

Parameter yang pertama kali ditentukan untuk melakukan proses algoritma genetik adalah teknik pengkodean. Pengkodean adalah cara untuk mempresentasikan masalah kedalam bentuk kromosom, pengkodean yang akan digunakan untuk aplikasi penjadwalan ini adalah pengkodean nilai. Setiap kromosom merupakan barisan dari beberapa nilai. Nilai bisa berupa apa saja, seperti bilangan biasa, bilangan riil dan karakter. Data yang akan dikodekan kedalam algoritma genetik ini adalah data pengajar, data hari, data jam, data kelas dan data ruang. Semuanya dirubah menjadi bilangan berdasarkan id atau kode.

1. Pengajar terdiri dari 5 orang pengajar Pengajar : P01, P02, P03, P04, P05 2. Hari terdiri dari 5 hari

Hari : H01, H02, H03, H04, H05 3. Jam terdiri dari 9 slot

Jam : J01, J02, J03, J04, J05, J06, J07, J08, J09

(54)

Kelas : 01A, 01B, 02A, 02B, 03A, 03B, 04A, 04B 5. Ruangan terdiri dari 4 ruang

Ruang : R01, R02, R03, R04

Berdasarkan proses pengkodean diatas, maka sebuah kromosom akan berbentuk :

Kromosom = P01 H01 J01 K01A R01

Urutan kode pada setiap gen mewakili kode pengajar (P01), kode hari (H01), kode jam (J01), kode kelas (K01A), dan kode ruang (R01). Penempatan urutan kode pada setiap gen dilakukan secara tetap berdasarkan suatu bilangan yang dibangkitkan secara acak (random). Pada bilangan tersebut merupakan jumlah dari seluruh level dan ruang yang tersedia.

Untuk lebih jelasnya lihat tabel III.1-III.6.

6. Inisialisasi Populasi (pembentukan populasi awal)

Prosedur inisialisasi (membangkitkan populasi awal) adalah membangkitkan sejumlah individu secara acak (random). Pencarian solusi dimulai dari suatu titik uji tertentu. Titik uji tersebut dianggap alternatif solusi yang disebut sebagai populasi. Ukuran populasi tergantung pada masalah yang akan diselesaikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal dengan cara melakukan inisialisasi solusi kedalam sejumlah kromosom. Panjang satu kromosom ditentukan berdasarkan permasalahan yang diteliti.

Parameter algoritma genetik yang ditetapkan adalah : Ukuran populasi (UkPop) = 12

Jumlah gen (N) = 5

Probabilitas crossover (Pc) = 0,8 Probabilitas mutasi (Pm) = 0,05 Generasi maksimum (MaxG) = 100

(55)

Kromosom 1= P02H01J04K01AR02 Kromosom 2= P03H01J01K01BR03 Kromosom 3= P01H02J08K02AR01 Kromosom 4= P04H05J02K02BR04 Kromosom 5= P05H03J03K03AR02 Kromosom 6= P04H04J04K03BR04 Kromosom 7= P02H03J09K04AR01 Kromosom 8= P01H01J06K04BR03 Kromosom 9= P02H02J02K01AR04 Kromosom 10= P03H03J03K01BR03 Kromosom 11= P03H01J05K02AR01 Kromosom 12= P04H05J02K03AR02

7. Evaluasi Fitness

Evaluasi fitness merupakan proses untuk mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom. individu yang memiliki nilai fitness tinggi pada kromosomnya yang akan dipertahankan, sedangkan individu yang nilai fitnessnya rendah akan diganti atau dibuang. Fungsi yang digunakan untuk menghitung nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan fitness function. Nilai yang dihasilkan oleh fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar. Faktor-faktor yang dapat mempengaruhi evaluasi fitness terhadap alternatif solusi tersebut merupakan pelanggaran yang telah ditentukan sebelumnya. Setiap pelanggaran yang terjadi akan diberikan nilai 1, agar tidak terjadi nilai fitness yang tak terhingga maka jumlah total semua pelanggaran ditambah 1. Semakin sedikit jumlah pelanggarannya maka jadwal yang dihasilkan akan semakin baik. Rumus menghitung nilai fitnes suatu kromosom dapat dilihat di Bab II halaman 22.

(56)

Fitness Kromosom 1 = 1

1 + ( 0 + 0 )

=

1

Fitness Kromosom 2 = 1

1 + ( 0 + 0 )

=

1

Fitness Kromosom 3 = 1

1 + ( 0 + 0 )

=

1

Fitness Kromosom 4 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 5 = 1

1 + ( 0 + 0 )

=

1

Fitness Kromosom 6 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 7 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 8 = 1

1 + ( 0 + 0 )

=

1

Fitness Kromosom 9 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 10 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 11 = 1

1 + ( 1 + 0 )

=

0,5

Fitness Kromosom 12 = 1

1 + ( 1 + 0 )

=

0,5

(57)

gen, satu persatu gen disesuaikan dengan data yang ada, perhitungan nilai fitness kromosom 4 adalah sebagai berikut :

Kromosom 4= P04H05J02K02BR04

Berdasarkan kromosom 4, kode yang digaris bawahi bertentangan dengan waktu kesediaan pengajar, karena pengajar dengan kode P04 tidak dapat mengajar pada waktu tersebut, sehingga diberikan nilai 1 untuk setiap pelanggaran yang terjadi.

Untuk lebih jelasnya lihat tabel III.2. 8. Seleksi

Pembentukan susunan kromosom pada suatu populasi baru dilakukan dengan menggunakan metode roulette wheel. Sesuai dengan namanya metode ini menirukan permainan roulette wheel dimana masing-masing kromosom menempati potongan lingkaran pada roulette wheel secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar akan menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah.

Langkah pertama metode ini adalah dengan menghitung total nilai fitness seluruh kromosom seperti tabel III.8 berikut.

Tabel III.8 Total Nilai Fitness Kromosom Nilai Fitness

1 1

2 1

3 1

4 0,5

5 1

6 0,5

7 0,5

8 1

9 0,5

Gambar

Tabel II.4 Contoh Mutasi Pada Pengkodean Mutasi
Gambar II.11 Contoh Diagram Konteks [9]
Gambar III.1 Flowmap Penjadwalan Kegiatan Akademik
Gambar III.3 ERD Aplikasi Penjadwalan
+7

Referensi

Dokumen terkait

Vaiko globos šeimoje ir įvaikinimo patirtis rodo, kaip šeima gali būti geriausia augimo ir ugdymo vieta ne tik savo šeimos vaikams, bet ir kitiems (Sanicola 2002).. Priėmimo vertė

i) PENGIKTIRAFAN JINM (60%) MARKAH MINIMUM 2 SUB WAJARAN 60% Nota: Wajib telah mengetuai sekurang- kurangnya 1 projek berimpak (Industri : 3-4 bintang / Masyarakat :

Melihat perspektif Teori Dependensi ini, bisa dilihat persamaan kondisi antara Okinawa dan Negara Dunia Ketiga, yaitu sebagai negara periferi yang didominasi oleh negara

lap oran akhir dengan mengambil judul “ ANALISIS BREAK EVEN POINT SEBAGAI ALAT PERENCANAAN LABA PADA TOKO KARYA IBU PALEMBANG (STUDI KASUS TOKO PAKAIAN SERAGAM)

Acara selanjutnya pengukuhan kepengurusan P-TALI daerah dengan penyerahan SK Kepengurusan dan pembagian Topi P- TALI oleh Pengawas dan Ketua Umum P-TALI Pusat. Penyampaian Materi

Penelitian ini merupakan penelitian kuantitatif yang melihat seberapa besar perubahan suhu udara ruang luar dengan suhu udara ruang dalam untuk bangunan Sekolah

Pelaksanaan Peningkatan Kemampuan Pengawak Simak BMN dan Penerapan Aplikasi Simak BMN Kemenkeu di Lingkungan Kemhan/TNI terdiri dari teori tentang penatausahaan

Menurut peneliti beban kerja yang ringan akan membuat perawat IGD RSUD Jombang merasa puas dengan pekerjaan yang dilakukannya, hal ini dipengaruhi oleh tingkat