Aplikasi Penjadwalan Untuk Menentukan Bimbingan Kursus Dan Test Toefel Di Lembaga Pendidikan Bahasa Inggris Telstar Dengan Metode Algoritma Genetik

(1)

SKRIPSI

DiajukanUntukMenempuhUjianAkhirSarajana Program Strata SatuJurusanTeknikInformatika

FakultasTeknikdanIlmuKomputer UniversitasKomputerIndonesia

BARKAH NUGRAHA

10106078

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

PENDIDIKAN BAHASA INGGRIS TELSTAR DENGAN

ALGORITMA GENETIK

Oleh

BARKAH NUGRAHA

10106078

Telstar adalah sebuah lembaga pendidikan bahasa Inggris yang didirikan oleh Djoko Setiadi. Saat ini dalam pembuatan jadwal bimbingan belajar masih menggunakan Microsoft Office Excel. Menentukan jadwal kegiatan belajar mengajar adalah hal yang rumit. Sama seperti yang dialami sebuah lembaga pendidikan bahasa Inggris Telstar, yang memiliki masalah terutama dalam menentukan jadwal bimbingan dan Toefl Prediction Test yang sering crash.

Algoritma genetik merupakan pendekatan komputasional untuk menyelesaikan masalah yang dimodelkan dengan pendekatan proses biologi dari evolusi seperti warisan, mutasi, seleksi alam dan rekombinasi (atau crossover). Algoritma Genetik khususnya diterapkan sebagai simulasi komputer dimana sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon (disebut individual) pada sebuah masalah optimisasi akan berkembang menjadi solusi-solusi yang lebih baik. Data yang akan diolah dalam aplikasi ini adalah data tutor, data ruangan, data level, dan data hasil penjadwalan. Info yang diberikan aplikasi yaitu, data jadwal bimbingan, data ruangan, data tutor, dan data level.

Berdasarkan analisis dan pengujian yang telah dilakukan maka dapat disimpulkan bahwa aplikasi penjadwalan dengan metode algoritma genetik ini membantu dalam mengelola penjadwalan di Telstar yaitu mempercepat proses pembentukan jadwal, penambahan data, dan pembuatan laporan. Aplikasi yang telah dibangun ini agar dijadikan bahan untuk pengembangan sistem lebih lanjut Kata Kunci: Algoritma Genetika, Penjadwalan, Bimbingan Belajar, Kromosom,


(3)

EDUCATION WITH ENGLISH Telstar GENETIC ALGORITHM

by

BARKAH NUGRAHA 10106078

Telstar is an English language educational institution founded byDjoko Setiadi. Currently in the making tutoring schedule is still using Microsoft Office Excel. Determine the schedule of teaching and learning is a tricky thing. Just as experienced by an English language educational institution Telstar, who has a problem, especially in determining the schedule of guidance and Toefl Test Prediction frequent crashes.

Genetic algorithms are computational approaches to solving problems that are modeled with the approach of evolutionary biology such as inheritance, mutation, natural selection andrecombination (or crossover). Genetic algorithms applied especially as computer simulations where a population of abstract representations (called chromosomes) of candidate solutions(called individuals) in optimization problem will develop intosolutions that better. he data will be processed in this application is tutor , room, level, and scheduling results. This aplication will gives information about, namely, guidance of schedule , room, tutor , and levels. Based on the analysis and testing has been done it can be concluded that the application scheduling with genetic algorithm method is helpful in managing the scheduling of the Telstar is accelerating the process of establishing the schedule, the addition of data, and preparing reports. These applications have been built to be used as material for further system development


(4)

iii

Alhamdulillah puji syukur penulis panjatkan kehadirat Allah SWT atas berkah, rahmat, taufiq, dan hidayah-Nya, penulis dapat menyelesaikan laporan tugas akhir (sksipsi) ini dengan baik dan lancar. Sholawat serta salam semoga tetap tercurahkan kepada junjungan kita Nabi Muhammad SAW atas petunjuk dan arahannya kepada kita semua mengantarkan manusia dari jalan yang gelap gulita menuju jalan Addinul Islam.

Laporan tugas akhir ini penulis ajukan untuk memenuhi syarat mata kuliah tugas akhir/skripsi program strata satu, jurusan teknik informatika, fakultas teknik dan ilmu komputer, Universitas Komputer Indonesia.

Adapun dalam laporan tugas akhir ini penulis melakukan penelitian tentang penjadwalan bimbingan belajar dengan judul yang diambil adalah “APLIKASI PENJADWALAN UNTUK MENENTUKAN BIMBINGAN KURSUS DAN TEST TOEFL DI LEMBAGA PENDIDIKAN BAHASA INGGRIS TELSTAR DENGAN METODE ALGORITMA GENETIK”.

Laporan tugas akhir ini tidak akan berarti apa-apa tanpa bantuan dan dukungan semua pihak yang dengan segenap hati dan rasa tulus memberikan beberapa hal yang penulis butuhkan, untuk itu pada kesempatan ini penulis mengucapkan terima kasih kepada :

1. Allah SWT yang senantiasa melimpahkan rahmat dan karunia-Nya.

2. Ibu dan Bapak tercinta atas segala kasih dan sayangnya kepada penulis yang tak pernah lelah mendengarkan keluhan penulis, selalu memotivasi penulis dan memberikan apa yang penulis butuhkan baik itu secara materiil maupun spiritual.


(5)

iv

3. Ibu Mira Kania Sabariah, selaku ketua jurusan teknik informatika.

4. Bapak Riani Lubis, S.T., M.T. selaku pembimbing yang selalu memberikan bimbingan, pengarahan, dan masukannya yang bermanfaat bagi penulis.

5. Bapak Deni Hermawanto selaku pembimbing dalam metode algoritma genetik, yang telah mengajarkan dan membimbing saya dalam pemahaman algoritma genetik dari nol sampai mengerti.

6. Bapak Tedi Sopyan selaku pembimbing dalam pengerjaan coding algoritma genetik..

7. Bapak dan Ibu Dosen UNIKOM, atas ilmu yang diberikan kepada penulis. 8. Seluruh kawan – kawan mesjid al-kautsar yang telah memberikan

dorongan, masukan dan telah banyak berbagi dari suka maupun duka. 9. Seluruh teman-teman di UNIKOM terutama kelas IF-2 angkatan 2006

yang senantiasa memberikan dorongan, masukan, dan telah banyak berbagi kepada penulis selama kuliah, semoga silaturahmi tetap terjaga sampai kapanpun.

Dengan rasa syukur dan kerendahan hati, penulis memberikan rasa hormat yang tak terhingga dan mengucapkan terima kasih kepada orang-orang yang telah membantu terselesaikannya pembuatan hingga terciptanya laporan tugas akhir ini.

Akhir kata, semoga laporan tugas akhir ini dapat dijadikan sebagai sumber ilmu pengetahuan dan bermanfaat khusunya bagi penulis, dan pembaca pada umumnya. Penulis menyadari laporan tugas akhir ini masih kurang sempurna,


(6)

v

untuk perbaikan dan pengembangan kedepannya penulis harapkan saran dan kritik yang membangun pembaca demi kesempurnaan tugas akhir ini.

Wassalamu’alaikum Wr. Wb.

Bandung, 4 Juli 2011


(7)

1 1.1 Latar Belakang Masalah

Teknologi informasi sekarang ini, mulai sangat dibutuhkan oleh masyarakat luas. Perkembangan teknologi sudah merambah di perusahaan perkantoran sampai ke lembaga pendidikan. Teknologi sudah menjadi kebutuhan yang wajib dipenuhi. Seiring dengan perkembangan teknologi yang ada pada saat ini, sebuah lembaga pendidikan yang khusus mempelajari bahasa Inggris yaitu, TELSTAR pun membutuhkan suatu teknologi agar mendukung proses belajar mengajar.

Telstar adalah sebuah lembaga Pendidikan bahasa Inggris yang didirikan oleh Djoko Setiadi, setelah mengelola Pendidikan Bahasa Inggris terbesar di Indonesia yakni Oxford Course Indonesia lebih dari 28 Tahun. Djoko Setiadi ingin mengembangkan sebuah lembaga pendidikan dengan program yang lebih

specific dengan metode pengajaran Bahasa Inggris yang disesuaikan dengan

kebutuhan peserta .

Menentukan jadwal kegiatan belajar mengajar adalah hal yang rumit. Sama seperti yang dialami sebuah lembaga pendidikan bahasa Inggris Telstar, yang memiliki masalah terutama dalam menentukan jadwal bimbingan dan Toefl

Prediction Test yang sering crash. Terdapat berbagai aspek yang berkaitan dalam

penjadwalan yang harus dilibatkan antara lain jadwal-jadwal dimana tutor atau pembimbing yang bersangkutan tidak bisa mengajar. Tidak boleh adanya jadwal


(8)

bimbingan dan Toefl Predcition Test yang beririsan dengan jadwal bimbingan kelas atau level lain, sehingga peserta bimbingan bisa mendapatkan materi yang diberikan oleh tutor yang menjadi pengawas dalam Toefl Predcition Test. Distribusi jadwal bimbingan juga diharapkan dapat merata tiap harinya untuk setiap kelas. Pekerjaan penjadwalan bimbingan dan Toefl Predcition Test ini akan semakin berat ketika ruangan sudah penuh, sedangkan ada kelas lain yang harus

Toefl Predcition Test atau bimbingan belajar.

Selain dilihat dari sisi peserta, juga harus dilihat dari sisi tutor, yaitu kemungkinan-kemungkinan tutor akan mengampu lebih dari satu kelas atau level yang ada, sebab ada kemungkinan jumlah kelas atau level dan jumlah tutor tidak sebanding, sehingga harus dipikirkan juga solusi agar tutor tidak mengampu dua kelas atau level berbeda pada hari dan jam yang sama. Selain itu, harus dipertimbangkan juga ketersediaan kelas sehingga kegiatan belajar dapat dilaksanakan. Di samping aspek-aspek di atas, dalam penyusunan jadwal bimbingan dan Toefl Predcition Test ini pun terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk menemukan penjadwalan yang terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk mengerjakan penjadwalan bimbingan dan Toefl Predcition Test ini. Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah dengan menggunakan pendekatan algoritma genetik.

Algoritma genetik merupakan pendekatan komputasional untuk menyelesaikan masalah yang dimodelkan dengan pendekatan proses biologi dari evolusi seperti warisan, mutasi, seleksi alam dan rekombinasi (atau crossover).


(9)

Algoritma Genetik khususnya diterapkan sebagai simulasi komputer dimana sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon (disebut individual) pada sebuah masalah optimisasi akan berkembang menjadi solusi-solusi yang lebih baik. Secara tradisional, solusi-solusi dilambangkan dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan penyandian (encoding) yang berbeda. Evolusi dimulai dari sebuah populasi individual acak yang lengkap dan terjadi dalam generasi-generasi. Dalam tiap generasi, kemampuan keseluruhan populasi dievaluasi, kemudian multiple individuals dipilih dari populasi sekarang (current) tersebut secara stochastic

(berdasarkan kemampuan mereka), lalu dimodifikasi (melalui mutasi atau rekombinasi) menjadi bentuk populasi baru yang menjadi populasi sekarang (current) pada iterasi berikutnya dari algoritma.

Diharapkan dengan digunakannya algoritma genetik akan diperoleh optimasi penjadwalan yaitu kondisi dimana terjadi kombinasi terbaik untuk pasangan kelas atau level dan tutor secara keseluruhan, tidak ada permasalahan bentrokan jadwal pada sisi peserta, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh kelas atau level yang ada.

Berdasarkan hal diatas akan dijelaskan bahwa dengan bantuan algoritma genetik penyusunan penjadwalan bimbingan dan tes toefl dapat dioptimalkan. Program dapat mencari solusi penjadwalan pada waktu yang dapatdigunakan baik oleh tutor, kelas atau level maupun ruangan yang terlibat dalam suatu bimbingan.


(10)

Aplikasi Penjadwalan untuk Menentukan Bimbingan Kursus dan Test Toefl di Lembaga Pendidikan Bahasa Inggris Telstar dengan Algoritma Genetik “. 1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, disusun perumusan permasalahan yaitu bagaimana membangun aplikasi penjadwalan untuk menentukan bimbingan kursus dan tes toefl di lembaga pendidikan bahasa Inggris Telstar dengan algoritma genetik sehingga diperoleh kombinasi terbaik untuk pasangan kelas atau level dan tutor secara keseluruhan, tidak ada permasalahan crash jadwal pada sisi tutor, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh bimbingan belajar yang ada.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangun aplikasi penjadwalan untuk menentukan jadwal bimbingan kursus dan test toefl di lembaga pendidikan bahasa Inggris Telstar dengan algoritma genetik.

Sedangkan tujuan yang akan dicapai dalam pembuatan perangkat lunak ini adalah :

1. Mempermudah penentuan jadwal bimbingan belajar dan tes toefl dengan menggunakan algoritma genetik.

2. Memudahkan tutor untuk mendapatkan informasi mengenai jadwal bimbingan dan test toefl.


(11)

1.4 Batasan Masalah

Dilihat dari latar belakang dapat dirumuskan beberapa batasan masalah pada proses penjadwalan bimbingan dan test toefl. Adapun batasan masalah tersebut adalah:

1. Pemodelan menggunakan Diagram Konteks, Skema Relasi, DFD, ERD.

2. Metode yang digunakan Algoritma Genetik.

3. Data yang akan diolah dalam aplikasi ini, yaitu data tutor, data ruangan, data level dan data hasil penjadwalan.

4. Proses yang terdapat dalam aplikasi ini adalah dan pengolahan data pengguna aplikasi yang berupa prosedur tambah, edit, hapus, dan pengolahan data jadwal bimbingan dan tes toefl.

5. Info yang diberikan aplikasi, yaitu : a) Data jadwal bimbingan dan tes toefl. b) Data ruangan, tutor, level.

6. Software yang dugunakan untuk aplikasi ini adalah bahasa

pemrograman Borland Delphi.

7. Sistem opresai yang digunakan adalah Windows XP SP2.

8. Kebutuhan Hardware minimum untuk aplikasi ini adalah Intel Pentium 4 2.4 Ghz Memory RAM 256 MB dan Harddisk 40 GB


(12)

1.5 Metodologi Penelitian

Metode yang digunakan pada penelitian ini adalah metode deskriptif yaitu dengan cara mengumpulkan data, menganalisa data, membuat suatu pemecahan masalah dan kemudian disusun untuk ditarik kesimpulan mengenai masalah tersebut. Ada dua teknik yang dilakukan di dalam metodologi penelitian yaitu teknik pengumpulan data dan teknik pengembangan perangkat lunak.

1.5.1 Teknik Pengumpulan Data

Teknik pengumpulan data dapat diperoleh secara langsung dari objek penelitian dan referensi-referensi yang telah diperoleh. Cara-cara yang mendukung untuk mendapatkan data adalah sebagai berikut:

1. Studi lapangan yang terdiri dari :

Studi lapangan adalah pengumpulan data yang dilakukan dengan cara mengadakan penelitian langsung ke lembaga pendidikan bahasa Inggris Telstar. Studi lapangan ini dilakukan dengan 2 cara, yaitu:

a Observasi, yaitu mengamati secara langsung proses kerja yang dilaksanakan di lembaga pendidikan bahasa Inggris Telstar untuk memperoleh gambaran yang jelas mengenai objek yang diteliti. Syarat melakukan observasi yaitu:

1) Pengamatan harus dilakukan secara sistematis,

2) Obyek yang diamati harus dalam keadaan wajar (keadaan sebenarnya), tidak dipengaruhi / diatur ataupun dimanipulasi,Obyek yang diamati harus representatif, valid, dan reliabel.


(13)

b Wawancara, yaitu melakukan tanya jawab secara langsung dengan pihak yang berwenang di lembaga pendidikan bahasa Inggris Telstar dalam memberikan keterangan terhadap data yang dibutuhkan.

2. Studi literatur yang dilakukan dengan mencari data atau teori yang berhubungan dengan permasalahan yang sedang dihadapi baik melalui buku-buku ataupun dari internet.

1.5.2 Tahap pembuatan perangkat lunak.

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:

Rekayasa dan Pemodelan

Analisis

Desain

Pembangkitan Kode

Pengujian

Pemeliharaan

Gambar 1.1 Waterfall

1. Rekayasa dan Permodelan

Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari


(14)

semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.

2. Analisis

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

3. Desain

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

4. Pembangkitan kode

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

5. pengujian

Tahap dimana perangkat lunak yang telah dibangun, diuji untuk mengetahui kekurangan atau ada kerusakan dalam aplikasinya.

6. pemeliharaan

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan user.

1.6 Sistematika Penulisan BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, merumuskan inti permasalahan yang dihadapi, menentukan maksud dan tujuan pembangunan


(15)

perangkat lunak, menjelaskan metodologi penyusunan laporan, pembatasan masalah, serta sistematika penulisan.

BAB II. TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik pembangunan perangkat lunak yang dilakukan dan hal-hal yang berguna dalam proses analisis dan perancangan.

BAB III. ANALISIS DAN PERANCANGAN

Menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak, serta merancang seluruh kebutuhan dalam pembangunan perangkat lunak.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi hasil implementasi dari hasil analisis dan perancangan yang telah dibuat disertai juga dengan hasil pengujian dari aplikasi ini yang dilakukan di Lembaga Pendidikan Bahasa Inggris Telstar.

BAB V. KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan tentang keseluruhan dari pembangunan aplikasi ini dan saran tentang aplikasi ini.


(16)

10 2.1 Profil Telstar Bandung

2.1.1 Sejarah singkat Telstar

Sekitar sembilan tahun yang lalu tepatnya tanggal 14 Agustus 2001 sebuah lembaga pendidikan Bahasa Inggris TELSTAR Lahir, Djoko Setiadi adalah pendiri lembaga tersebut. Setelah mengelola Pendidikan Bahasa Inggris terbesar di Indonesia yakni Oxford Course Indonesia lebih dari 28 Tahun. Djoko Setiadi ingin mengembangkan sebuah lembaga pendidikan dengan program yang lebih spesifik dengan metode pengajaran Bahasa Inggris yang disesuaikan dengan kebutuhan peserta.

Dengan didukung oleh beberapa rekan-rekan yang berpengalaman tentang pengajaran Bahasa Inggris dan Ahli di bidang pengembangan kurikulum dari dalam negeri dan luar negeri, maka tekat untuk mewujudkan lembaga tersebut lahirlah nama TELSTAR. Singkatan dari The English Language Skill Training

And Refreshing yang bermakna bahwa meningkatkan kemampuan berbahasa

Inggris dengan baik dan benar melalui Pelatihan / Training atau Refreshing. Untuk pertama kalinya Telstar berdiri Bulan Agustus 2001 Di Daerah Pinggiran kota, tepatnya di Jl. Soreang - Banjaran 364 Bandung. Kini TELSTAR mempunyai tiga cabang dengan kantor pusat di Jl. Natasari VI H. 71 Telp. 5400553, 76448449, 76441155. Email : telstar_course@yahoo.com.


(17)

2.1.2 Logo Telstar dan Struktur Organisasi

Serperti halnya lembaga lain, Telstar pun memiliki logo yang ditunjukan pada gambar 2.1 dan pada gambar 2.2 struktur organisasi di lembaga pendidikan bahasa inggris Telstar :

Gambar 2.1 Logo Telstar

Gambar 2.2 Struktur Organisasi

Manager Distrik Manager

Personalia

Manager

Peendidikan Manager Humas Bendahara

Pimpinan Cabang

Staf Administrasi

Staf Pengajar Direktur Utama


(18)

2.1.3 Job description

Adapun tugas dari setiap bagian di lembaga pendidikan Telstar adalah sebagai berikut :

1. Direktur Utama

Tugasnya adalah mengkoordinasikan serta mengawasi semua pekerjaan yang dilaksanakan oleh pafra manager yang dilaksanakan oleh Manager Distrik ( Kepala Wilayah ). Koordinasi dan pengawasan ini bertujuan untuk memonitor sejauh mana perkembangan dan kemajuan yang telah di capai dari program program yang telah dicanangkan sebelumnya. Selain itu Direktur Utama juga memimpin rapat tahunan ( annual meeting ) para manager distrik dan pimpinan cabang.

2. Direktur Keuangan

Bertugas mengkoordinasikan serta mengawasi arus masuk dan arus keluar uang perusahaan dan juga memonitor pendapatan dan pengeluaran setiap cabang berdasarkan laporan keuangan yang dikirimkan oleh para bendahara setiap bulan. Dalam pelaksanaan kerjanya Direktur keuangan dibantu oleh beberapa tenaga keuangan yang bekerja dengan system komputisasi.

3. Manager Personalia

Manager Personalia memiliki tugas dan weweang dalam penanganan masalah yang berkaitan dengan sumberdaya manusia ( human resources ) seperti kebutuhan terhadap tenaga pengajar / tenaga manajemen, peraturan


(19)

pegawai, standar gaji, penerimaan pegawai, serta pengadaan program latihan ( training programme ) bagi para pegawai baru.

4. Manajer Humas

Peran yang dimainkan oleh seorang kepala hubungan masyarakat dalam suatu perusahaan amat vital karena ia tidak hanya melakukan hubungan ke luar tetapi juga hubungan ke dalam perusahaan. Sama halnya dengan peran yang dimainkan oleh manajer hubungan masyarakat Telstar.

5. Manajer Pendidikan

Berwenang dalam penyusunan materi-materi pendidikan untuk membuat buku-buku panduan bagi para siswa. Selain itu juga berwenang dalam penyempurnaan kerikulum pendidikan dalam penyusunan materi-materi pendidikan tersebut. Beberapa staf khususnya para tenaga pengajar tetap Telstar membantu manajer pendidikan ini. Biasanya materi pendidikan yang telah disusun dievaluasi atau ditinjau kembali setiap setahun sekali agar seluruh materi tersebut tetap sesuai degan perkembangan zaman dan kebutuhan para peserta pendidikan Telstar.

6. Manajer Distrik

Bertugas memimpin, mengatur, serta mengawasi setiap kegiatan lembaga-lembaga yang berada di bawah yayasan pendidikan Telstar yang berada ditingkat provinsi. Bila di dalam suatu provinsi Tersebut hanya terdapat satu buah cabang maka disebut sebagai pemimpin cabang bukan kepala wilayah. Manajaer distrik atau kepala cabang dinentuk oleh seorang manajer pendidikan wilayah atau cabang serta beberapa tenaga pengajar


(20)

tetap dan seorang bendahara. Manajer distrik berwenang untuk menerima pegawai baru apabila memang diperlukan baik tenaga kependidikan maupun sebagai administrasi.

7. Bendahara

Tugasnya adalah wajib memberikan laporan keuangan harian kepada direktur keuangan untuk dibuat menjadi laporan keuangan mingguan dan bulanan.

8. Pimpinan cabang

Bertugas dalam membantu para tutor dalam melaksanakan kurikulum yang telah ditetapkan oleh Telstar pusat serta melakukan pemeriksaaan hasil ujian para peserta kursus yang diselenggarakan oleh Telstar.

2.2 Landasan Teori

2.2.1 Pengertian Algoritma Genetik

Algoritma genetika merupakan algoritma heuristik atau pendekatan yang menerapkan proses seleksi alam dan evolusi yang dikemukakan oleh Charles Darwin. Algoritma genetik pertama kali diperkenalkan oleh John Holland pada tahun 1960-an dan pengembangan lebih lanjut dilakukan oleh Holland bersama murid-murid dan rekan sekerjanya di Universitas Michigan pada tahun 1960-an dan 1970-an.

Sebagai ide dasar heuristik, algoritma genetika dimulai dengan sekumpulan solusi yang direpresentasikan dengan kromosom, disebut populasi. Semua solusi dari satu populasi diambil dan digunakan untuk membentuk populasi baru. Hal ini dimotivasi dengan harapan populasi baru akan lebih baik daripada populasi lama.


(21)

Solusi terpilih yang merupakan orangtua pembentuk keturunan (offspring), dipilih berdasarkan lingkungannya atau nilai fitness, semakin baik maka semakin besar kesempatan yang dimiliki untuk bertahan dan bereproduksi. Hal ini dilakukan berulang kali hingga memenuhi beberapa kondisi penghentian, misalnya jumlah generasi atau tercapainya hasil yang dicari.

2.2.2 Prosedur Algoritma Genetik

Sifat dari algoritma genetika adalah mencari kemungkinan-kemungkinan dari kandidat solusi untuk mendapatkan suatu solusi yang optimal bagi penyelesaian masalah. Ruang cakupan dari semua solusi yang layak (feasible) yaitu obyek-obyek diantara solusi yang sesuai dinamakan ruang pencarian (search space). Tiap titik dalam ruang pencarian merepresentasikan satu solusi yang layak yang dapat ditandai dengan nilai fitness yang sesuai dengan masalah. Solusi yang dicari dalam algoritma genetika adalah titik (1 atau lebih) di antara solusi yang layak dalam ruang pencarian. Sifat dari pencarian inilah yang menyebabkan algoritma genetika baik diterapkan untuk menyelesaikan masalah NP-complete.

Istilah fungsi evaluasi dan fungsi fitness sering saling dipertukarkan penggunaannya. Akan tetapi, adalah berguna untuk membedakan kedua fungsi tersebut dalam algoritma genetika. Fungsi evaluasi, atau fungsi obyektif, merupakan suatu pengukuran performansi terhadap sekumpulan parameter tertentu. Fungsi fitness mentransformasikan pengukuran performansi tersebut dalam suatu alokasi kesempatan bereproduksi. Evaluasi terhadap suatu barisan yang menyatakan sekumpulan parameter tertentu adalah independen dari evaluasi


(22)

terhadap barisan-barisan lain. Fitness suatu barisan selalu didefinisikan berdasarkan anggota-anggota lain dalam populasi. Secara umum fitness didefinisikan fi/f dengan fi adalah fungsi evaluasi dengan kromsom i dan f adalah evaluasi rata-rata dari semua kromosom dalam populasi.

Secara sederhana, algoritma umum dari algoritma genetik ini dapat dirumuskan menjadi beberapa langkah, yaitu:

1. [Mulai] Membangun populasi random sebanyak n kromosom (sesuai dengan masalahnya)

2. [Fitness] Evaluasi setiap fitness f(x) dari setiap kromosom x pada populasi 3. [Populasi baru] Membuat populasi baru dengan mengulang langkah-langkah

berikut sampai populasi lengkap.

1. [Seleksi] Pilih 2 kromosom orangtua dari populasi berdasarkan fitnessnya (semakin besar fitnessnya semakin besar kemungkinannya untuk terpilih)

2. [Perkawinan silang] Sesuai dengan besarnya kemungkinan perkawinan silang, orangtua terpilih disilangkan untuk membentuk anak. Jika tidak ada perkawinan silang, maka anak merupakan salinan dari orangtuanya.

3. [Mutasi] Sesuai dengan besarnya kemungkinan mutasi, anak dimutasi pada setiap lokus (posisi pada kromosom).

4. [Penerimaan] Tempatkan anak baru pada populasi baru.

4. [Ganti] Gunakan populasi yang baru dibentuk untuk proses algoritma selanjutnya.


(23)

5. [Tes] Jika kondisi akhir terpenuhi, berhenti, dan hasilnya adalah solusi terbaik dari populasi saat itu.

6. [Ulangi] Ke nomer 2.

2.2.2.1 Pengkodean

Pengkodean adalah cara untuk merepresentasikan masalah kedalam bentuk kromosom. Ada beberapa cara pengkodean dan pemilihannya tergantung dari masalah yang akan diselesaikan. Berikut ini adalah beberapa jenis pengkodean yang sering digunakan.

2.2.2.1.1 Pengkodean biner (binary encoding)

Pengkodean biner adalah pengkodean yang paling umum digunakan karena algoritma genetika awalnya menggunakan pengkodean ini. Pada pengkodean biner setiap kromosom merupakan barisan bit 0 atau 1, seperti dapat dilihat pada gambar berikut ini :

Tabel 2.1 contoh kromosom dengan pengkodean biner

Kromosom A 101100101100101011100101

Kromosom B 111111100000110000011111

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 perkawinan silang dan mutasi.


(24)

Contoh masalah yang sesuai menggunakan pengkodean biner adalah masalah ransel (knapsack), dimana terdapat beberapa jenis benda dengan ukuran dan berat yang berbeda sedangkan kapasitas ransel terbatas. Permasalahannya adalah memilih sejumlah barang untuk memaksimumkan nilai dari barang-barang tersebut di dalam ransel, tetapi total ukuran barang-barang tersebut tidak 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 di dalam ransel. Bit 1 berarti benda ada di dalam ransel sedangkan 0 berarti benda tidak berada di dalam ransel.

2.2.2.1.2 Pengkodean permutasi (permutation encoding)

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

Tabel 2.2 Contoh kromosom dengan pengkodean permutasi

Kromosom A 1 5 3 2 6 4 7 9 8

Kromosom B 8 5 6 7 2 3 1 4 9

Pengkodean permutasi hanya berguna pada masalah pengurutan. Perkawinan silang dan mutasi yang dilakukan pada pengkodean ini harus menghasilkan kromosom yang memiliki konsistensi urutan.


(25)

Contoh masalah yang dapat diselesaikan dengan pengkodean ini adalah masalah wiraniaga. Terdapat sejumlah kota dan jarak diantara semua kota itu. Seorang wiraniaga harus mengunjungi semua kota itu, tetapi 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.

2.2.2.1.3 Pengkodean nilai (value encoding)

Pengkodean nilai dapat digunakan pada masalah yang mempunyai nilai yang rumit, dimana nilai yang dienkodekan langsung merupakan representasi dari masalah. Contohnya adalah pengkodean data yang menggunakan angka riil yang akan menjadi susah jika menggunakan pengkodean biner karena setiap angka riil tidak dapat direpresentasikan secara tepat hanya dalam bentuk bit 1 atau 0.

Tabel 2.3 Contoh kromosom dengan pengkodean nilai Kromosom A 1.2324, 5.3243, 0.4556, 2.3293, 2.4545 Kromosom B A, B, D, J, E, I, F, J, D, H, D, I, E, R, J Kromosom C (back), (back), (right), (forward), (left)

Dalam pengkodean nilai, setiap kromosom merupakan barisan dari beberapa nilai. Nilai bisa berupa apa saja, seperti bilangan biasa, bilangan riil, karakter sampai dengan obyek-obyek yang rumit.

Pengkodean nilai sangat baik untuk beberapa masalah khusus, dilain sisi perkawinan silang dan mutasi yang diperlukan untuk pengkodean ini seringkali memerlukan pengembangan tersendiri yang lebih spesifik pada masalah.


(26)

Contoh masalah yang menggunakan pengkodean ini adalah masalah pencarian bobot pada jaringan saraf (neural network). Terdapat sebuah jaringan saraf dengan arsitekturnya. Permasalahnya adalah mencari bobot masukan dari neuron-neuron untuk melatih jaringan supaya 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.

2.2.2.1.4 Pengkodean pohon (tree encoding)

Pengkodean pohon lebih banyak digunakan untuk menyusun program atau ekspresi, bagi pemrograman genetika (genetic programming).

Dalam pengkodean pohon, setiap kromosom merupakan pohon dari sejumlah obyek, seperti fungsi atau perintah di dalam bahasa pemrograman. Pengkodean pohon sangat baik bagi penyusunan program. Bahasa pemrograman LISP sering digunakan untuk melakukan pengkodean pohon, karena program di dalamnya dapat direpresentasikan ke dalam bentuk ini dan dapat dengan mudah dilakukan parse menjadi sebuah pohon, sehingga perkawinan silang dan mutasi dapat dilakukan relatif lebih mudah.

Contoh masalah yang direpresentasikan dengan pengkodean pohon adalah masalah mencari fungsi berdasarkan nilai-nilai yang diberikan. Diberikan beberapa nilai masukan dan keluaran. Permasalahannya adalah mencari fungsi yang akan memberikan nilai keluaran terbaik (dekat dengan yang diinginkan)


(27)

untuk semua masukan. Masalah ini dapat dienkodekan ke dalam pengkodean pohon dengan kromosom merupakan fungsi-fungsi yang dinyatakan dalam pohon.

2.2.3 Operator dalam Algoritma Genetika

Operator-operator pada algoritma genetika yang sering digunakan adalah seleksi, perkawinan silang dan mutasi. Semua operator tersebut memegang peranan penting bagi keberhasilan algoritma genetika dalam menyelesaikan masalah.

Pemilihan jenis operator yang akan digunakan tergantung dari masalah yang akan diselesaikan. 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. Selain itu, untuk menjamin bahwa seluruh ruang pencarian dapat dijangkau oleh alogritma genetika, perbedaan (diversity) diantara kromosom dalam populasi merupakan hal yang penting.

2.2.3.1 Seleksi

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


(28)

keturunan baru. Ada beberapa jenis metode seleksi, berikut ini adalah beberapa metode seleksi yang sering digunakan.

2.2.3.1.1 Seleksi roda roulette (roulette wheel selection)

Pada metode seleksi ini, orangtua dipilih berdasarkan nilai fitnessnya, semakin baik nilai fitnessnya maka semakin besar kemungkinannya untuk terpilih. Diandaikan semua kromosom diletakkan pada sebuah roda roulette, besarnya kemungkinan bagi setiap kromosom adalah tergantung dari nilai fitnessnya seperti pada contoh berikut :

Tabel 2.4 Contoh populasi dengan 5 kromosom beserta fitnessnya

Kromosom Fitness

A 15

B 5

C 10

D 5

E 5

Gambar 2.3 Probabilitas terpilihnya suatu kromosom dalam roda roulette

Probabilitas masing-masing individu merupakan hasil pembagian antara fitness masing-masing individu dengan total fitness dalam populasi. Dari contoh di atas,


(29)

kromosom A memiliki probabilitas 37,5% untuk terpilih sebagai orangtua pembentuk keturunan baru pada setiap pemilihan kromosom (setiap roda diputar).

Skema seleksi dengan roda roulette ini adalah berdasarkan skala fitness (fitness scale). Karena terpilihnya suatu kromosom dalam populasi untuk dapat berkembang biak adalah sebanding dengan fitnessnya, maka akan terjadi semacam tradeoff antara ekplorasi dan ekplotasi jika terdapat satu atau kelompok kecil kromosom yang mempunyai fitness yang baik yaitu antara mengeksplorasi bagian-bagian baru dalam ruang pencarian, atau terus mengeksplotasi informasi yang telah diperoleh. Kecenderungan kromosom yang baik untuk terpelihara terus dapat membawa ke hasil optimum lokal atau konvergensi dini (premature convergence) ke suatu hasil yang bukan optimum global. Sebaliknya jika semua kromosom dalam populasi mempunyai fitness yang hampir sama, maka seleksi ini akan menjadi seleksi yang bersifat acak.

2.2.3.1.2 Seleksi rangking (rank selection)

Metode seleksi roda roulette akan memiliki masalah ketika terdapat perbedaan fitness yang jauh. Sebagai contoh, jika fitness kromosom terbaik adalah 90 % dari semua roda roulette dapat menyebabkan kromosom yang lain memiliki kesempatan yang sangat kecil untuk dapat terpilih.

Seleksi ranking terlebih dahulu merangking atau mengurutkan kromosom di dalam populasi berdasarkan fitnessnya kemudian memberi nilai fitness baru berdasarkan urutannya. Kromosom dengan fitness terburuk akan memiliki fitness baru bernilai 1, terburuk kedua bernilai 2 dan seterusnya, sehingga kromosom


(30)

yang memiliki fitness terbaik akan memiliki nilai fitness N, dimana N adalah jumlah kromosom di dalam populasi.

Sebagai ilustrasi dapat dilihat pada gambar berikut yang juga merupakan contoh dari metode seleksi roda roulette tadi :

Tabel 2.5 Keadaan sebelum dirangking

Kromosom Fitness

A 15

B 5

C 10

D 5

E 5

Tabel 2.6 Keadaan setelah dirangking

Kromosom Fitness Fitness Baru

B 5 1

D 5 2

E 5 3

C 10 4

A 15 5

Setelah proses pengurutan dan pemberian nilai fitness baru, setiap kromosom akan memiliki kesempatan yang lebih adil untuk terpilih. Tetapi metode ini dapat menyebabkan konvergensi menjadi lambat, karena kromosom terbaik tidak terlalu berbeda dengan yang lainnya.

2.2.3.1.3 Seleksi turnamen (tournament selection)

Seleksi turnamen merupakan variasi antara seleksi roda roulette dan seleksi rangking. Sejumlah k kromosom tertentu dari populasi beranggota n kromosom (k ≤ n) dipilih secara acak dengan probabilitas yang sama. Dari k kromosom yang terpilih kemudian akan dipilih satu kromosom dengan fitness


(31)

terbaik, yang diperoleh dari hasil pengurutan rangking fitness semua kromosom terpilih. Perbedaannya dengan seleksi roda roulette adalah pemilihan kromosom yang akan digunakan untuk berkembang biak tidak berdasarkan skala fitness dari populasi.

Untuk k = 1, seleksi turnamen akan menjadi sama dengan seleksi secara acak karena hanya melibatkan satu kromosom. Untuk k = 2, maka akan dipilih dua kromosom dari populasi secara acak, kemudian akan dipilih salah satu berdasarkan nilai fitnessnya. Biasanya yang sering digunakan adalah k = 2, tergantung dari jumlah kromosom yang tedapat di dalam populasi.

2.2.3.2 Perkawinan silang

Operator perkawinan silang digunakan untuk membentuk keturunan baru berdasarkan orangtua terpilih. Operator ini paling dominan dalam algoritma genetika dibandingkan dengan operator mutasi. Jumlah kromosom yang terlibat adalah 2 kromosom.

Perkawinan silang dilakukan dengan harapan kromosom-kromosom baru akan mempunyai bagian baik dari kromosom-kromosom lama dan tidak menutup kemungkinan menjadi kromosom-kromosom yang lebih baik Berikut ini akan dibahas beberapa jenis variasi perkawinan silang dalam algoritma genetika sehubungan dengan jenis pengkodean kromosom yang digunakan.


(32)

2.2.3.2.1 Perkawinan silang untuk pengkodean biner

Pengkodean biner merupakan jenis pengkodean yang paling sederhana sehingga banyak variasi operasi perkawinan silang dapat dilakukan. Beberapa jenis perkawinan silang tersebut adalah :

2.2.3.2.1.1 Perkawinan silang 1-titik

Proses perkawinan silang 1-titik dimulai dengan pemilihan 1 titik pada barisan bit kromosom secara acak sebagai titik perkawinan silang. Kromosom baru akan dibentuk dengan cara menyalin barisan bit orangtua pertama dari bit pertama sampai titik perkawinan silang, sedangkan sisanya disalin dari orangtua kedua.

Tabel 2.7 Contoh perkawinan silang 1-titik pada pengkodean biner

Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111

Keturunan 11001111

2.2.3.2.1.2 Perkawinan silang 2-titik

Proses perkawinan silang 2-titik diawali dengan pemilihan 2 titik perkawinan silang dari barisan bit kromosom secara acak. Kromosom baru akan dibentuk dengan cara menyalin barisan bit kromosom orangtua pertama dari bit pertama sampai dengan titik perkawinan silang pertama dan dari titik perkawinan silang kedua sampai dengan bit terakhir, sedangkan sisanya, yaitu dari titik perkawinan silang pertama sampai titik perkawinan silang kedua disalin dari orangtua kedua.


(33)

Tabel 2.8 Contoh perkawinan silang 2-titik pada pengkodean biner Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111

Keturunan 11011111

2.2.3.2.1.3 Perkawinan silang seragam

Perkawinan silang seragam menghasilkan kromosom baru dengan cara menyalin bit-bit secara acak dari kedua orangtuanya.

Tabel 2.9 Contoh perkawinan silang seragam pada pengkodean biner Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111

Keturunan 11011111

2.2.3.2.1.4 Perkawinan silang aritmatik

Kromosom baru dihasilkan dari operasi aritmatika yang dilakukan terhadap kedua orangtuanya.

Tabel 2.10 Contoh perkawinan silang aritmatika pada pengkodean biner Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111 Keturunan (AND) 11001011

2.2.3.2.1.5 Perkawinan silang rekombinasi

Versi paling sederhana dari rekombinasi adalah memilih secara acak dari semua nilai gen yang terdapat pada kedua orangtua untuk setiap gen pada anak. Berikut adalah contoh dari perkawinan silang rekombinasi:

Tabel 2.11 Contoh perkawinan silang rekombinasi pada pengkodean biner Kromosom orangtua 1 15 9 12 14

Kromosom orangtua 2 13 4 16 2 Keturunan 1 15 4 16 14 Keturunan 2 14 9 12 1


(34)

2.2.3.2.2 Perkawinan silang untuk pengkodean permutasi

Pada pengkodean permutasi, jenis perkawinan silang yang sering dipergunakan adalah perkawinan silang 1-titik karena kesederhanaan prosesnya dapat menjaga konsistensi urutan nilai pada kromosom. Jenis perkawinan silang yang terdapat pada pengkodean biner tidak dapat dipergunakan pada pengkodean ini karena tidak dapat menjamin terjaganya konsistensi urutan nilai pada kromosom.

Proses perkawinan silang 1-titik dimulai dengan pemilihan satu titik perkawinan silang. Dari permutasi pertama sampai dengan titik perkawinan silang disalin dari orang tua pertama, sedangkan sisanya didapatkan dengan cara melihat satu persatu nilai pada orang tua kedua, jika belum ada pada kromosom keturunan, maka nilai tersebut ditambahkan.

Tabel 2.12 Contoh perkawinan silang 1-titik pada pengkodean permutasi Kromosom orangtua 1 1 2 3 4 5 6 7 8 9

Kromosom orangtua 2 4 5 3 6 8 9 7 2 1 Keturunan (AND) 1 2 3 4 5 6 8 7 9

2.2.3.2.3 Perkawinan silang untuk pengkodean nilai

Semua metode perkawinan silang yang terdapat pada pengkodean biner dapat diterapkan pada pengkodean nilai karena tidak perlu memperhatikan urutan seperti ada pengkodean permutasi. Berikut adalah contoh perkawinan silang pada pengkodean nilai:

Tabel 2.13 Contoh perkawinan silang 1-titik pada pengkodean nilai bilangan bulat Kromosom orangtua 1 10 39 45 12 89 34 1 3 90 48 23 72 25 37 Kromosom orangtua 2 43 13 2 66 49 56 10 89 53 20 75 99 4 8 Keturunan 10 39 45 12 89 34 10 89 53 20 75 99 4 8


(35)

Tabel 2.14 Contoh perkawinan silang 2-titik pada pengkodean nilai bilangan bulat Kromosom orangtua 1 10 39 45 12 89 34 1 3 90 48 23 72 25 37 Kromosom orangtua 2 43 13 2 66 49 56 10 89 53 20 75 99 4 8 Keturunan 10 39 45 66 49 56 10 89 90 48 23 72 25 37

2.2.3.2.4 Perkawinan silang untuk pengkodean pohon

Proses perkawinan silang pada pengkodean pohon dimulai dengan pemilihan satu titik perkawinan silang pada kedua orangtua, kemudian bagian dari orangtua yang berada di bawah titik perkawinan silang dipertukarkan untuk menghasilkan anak baru.


(36)

2.2.3.3 Mutasi

Mutasi merupakan proses mengubah nilai dari 1 atau beberapa gen dalam suatu kromosom. Tujuannya adalah untuk membantu mempercepat terjadinya perbedaan diantara semua kromosom dalam populasi sehingga pencarian dapat menjelajah keseluruh ruang pencarian, tetapi mutasi tidak boleh terlalu sering dilakukan karena akan membuat algoritma genetika berubah menjadi pencarian acak.

Proses mutasi dalam biologi adalah mengubah isi allele gen pada suatu locus dengan nilai allele yang lain. Proses mutasi dilakukan secara acak, sehingga tidak selalu menjamin bahwa setelah proses mutasi akan diperoleh kromosom dengan fitness yang lebih baik dibandingkan dengan sebelum mutasi. Oleh karena itu terjadi kontraversi dalam penerapannya pada algoritma genetika. Mutasi seringkali tetap dipergunakan hanya saja dengan probabilitas mutasi yang kecil. Tentang probabilitas perkawinan silang dan mutasi akan dijelaskan pada bagian berikut pada bab ini.

Operator mutasi merupakan operasi pada suatu kromosom tertentu. Berikut adalah beberapa cara mutasi yang sering diterapkan dalam algoritma genetika menurut jenis pengkodean kromosomnya :


(37)

2.2.3.3.1 Mutasi pada pengkodean biner

Mutasi dalam pengkodean biner merupakan operasi yang sangat sederhana. Bit pada kromosom yang terpilih secara acak (atau menggunakan skema tertentu) diinversi nilainya, diubah nilainya menjadi lawannya.

Tabel 2.15 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.2.3.3.2 Mutasi pada pengkodean permutasi

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

Tabel 2.16 Contoh mutasi pada pengkodean permutasi Kromosom sebelum mutasi 1 2 3 4 5 6 8 9 7 Kromosom sesudah mutasi 1 8 3 4 5 6 2 9 7

2.2.3.3.3 Mutasi pada pengkodean nilai

Proses mutasi pada pengkodean biner dapat diterapkan pada pengkodean nilai karena tidak perlu menjaga konsistensi adanya urutan pada kromosom. Tetapi yang dilakukan bukanlah menginversi bit, melainkan tergantung dari jenis nilai yang dipergunakan. Misalnya nilai yang berupa bilangan riil dimutasi dengan cara saling menukar nilai dua gen yang terdapata pada kromosom, tetapi cara ini tidak memberikan manfaat untuk menjamin adanya perbedaan dalam populasi, semua kromosom dengan mudah memiliki nilai yang sama dan akhirnya terjadi konvergensi prematur. Cara lain yang lebih baik adalah dengan memilih


(38)

sembarang posisi gen pada kromosom, kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Cara ini juga berlaku pengkodean dengan bilangan bulat. Selain itu cara mutasi lain yang relevan dapat digunakan.

Tabel 2.17 Contoh mutasi pada pengkodean nilai riil dengan nilai yang ditambahkan atau dikurangkan dengan 0,10

Kromosom sebelum mutasi 1,43 1,09 4,51 9,11 6,94 Kromosom sesudah mutasi 1,43 1,19 4,51 9,01 6,94

2.2.3.3.4 Mutasi pada pengkodean pohon

Mutasi dapat dilakukan antara lain dengan mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu verteks pohon yang dipilih. Atau dapat juga dilakukan pemilihan dua verteks dari pohon dan saling mempertukarkan operator atau nilainya.

2.2.4 Update Generasi

Setelah proses seleksi, perkawinan silang dan mutasi yang dilakukan terhadap suatu populasi, proses berikutnya adalah pemilihan kromosom untuk membentuk generasi baru yang disebut update generasi. Dalam algoritma genetik Holland, proses update yang dilakukan adalah update secara generasi (generational update), yaitu menggantikan keseluruhan kromosom pada generasi sebelumnya dengan kromosom-kromosom yang didapat dari hasil seleksi, perkawinan silang dan mutasi. Penekanan selektif pada skema update ini seluruhnya berasal dari orangtua.


(39)

Selain itu terdapat skema update secra kontinu (continuous update) yang mengizinkan orangtua dan anak untuk bercampur dalam satu generasi. Mulanya dipilih k orangtua secara acak, kemudian dibuat anak sebanyak k dengan memilih orangtua tersebut secara seragam. Kromosom pada populasi baru merupakan pemilihan kromosom antara orangtua terpilih dan anak yang dihasilkan berdasarkan fitnessnya. Dengan cara ini penekanan selektif berasal seluruhnya dari pemilihan terhadap yang bertahan hidup (survivor).

Skema update lainnya adalah steady-state update, dimana dilakukan pemilihan dua orangtua dari populasi yang kemudian digunakan untuk membentuk 1 (atau 2) anak. Hasilnya digunakan untuk menggantikan :

1. Orangtuanya

2. Kromosom terjelek dalam populasi 3. Kromosom tertua dalam populasi

Suatu strategi bantuan yang baik untuk digunakan dengan skema continous update adalah elitism, yang berarti mempertahankan kromosom-kromosom baik dalam populasi lama dengan menyertakannya lagi pada populasi baru. Sejumlah kromosom terbaik pada populasi lama dapat hilang karena proses perkawinan silang dan mutasi. Secara teori, elitism dapat meningkatkan kemampuan dari algoritma genetika karena mempertahankan kromosom yang baik dari populasi lama, tetapi kadangkala hal itu justru dapat menyebabkan konvergensi prematur karena nilai fitness terjebak pada optimum lokal.


(40)

2.2.5 Parameter dalam Algoritma Genetika

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

Probabilitas perkawinan silang menyatakan seberapa sering proses perkawinan silang akan terjadi diantara 2 kromosom orangtua. Jika tidak terjadi perkawinan silang, keturunan merupakan salinan mutlak dari orangtuanya. Jika terjadi perkawinan silang, keturunan dibuat dari bagian-bagian kromosom orangtua. Jika probabilitas perkawinan silang 100%, maka keseluruhan keturunan dibuat dengan perkawinan silang. Jika probabilitas perkawinan silang 0%, maka seluruh generasi baru dibuat dari salinan kromosom-kromosom dari populasi lama, tetapi ini tidak berarti bahwa generasi baru sama dengan yang lama karena adanya penekanan selektif. Meskipun perkawinan silang bertujuan untuk mendapatkan kromosom yang memiliki bagian baik dari orangtuanya atau bahkan menjadi lebih baik dari orangtuanya, ada baiknya juga jika kita membiarkan beberapa bagian dari populasi untuk bertahan ke generasi berikutnya.

Dari hasil penelitian yang sudah dilakukan oleh praktisi algoritma genetika terbukti bahwa angka probabilitas perkawinan silang sebaiknya cukup tinggi, yaitu antara 80% sampai 95% untuk memberikan hasil yang baik. Untuk beberapa masalah tertentu probabilitas perkawinan silang 60% memeberikan hasil yang lebih baik (Obitko, 1998).

Probabilitas mutasi menyatakan seberapa sering bagian-bagian kromosom akan dimutasikan. Jika tidak ada mutasi, keturunan diambil/ disalin langsung setelah perkawinan silang tanpa perubahan. Jika mutasi dilakukan, bagian-bagian keromosom diubah. Jika probabilitas mutasi 100%, semua kromosom diubah. Jika


(41)

probabilitas mutasi 0%, tidak ada yang diubah. Probabilitas mutasi dalan algoritma genetika seharusnya diberi nilai yang kecil. Umumnya probabilitas mutasi diset untuk mendapatkan rata-rata satu mutasi per kromosom, yaitu angka/ allele = 1/ (panjang kromosom). Dari hasil yang sudah pernah dicoba ternyata angka probabilitas terbaik adalah antara 0,5% sampai 1%. Mutasi diperlukan untuk menjaga perbedaan kromosom dalam populasi, untuk menghindari terjadinya konvergensi prematur.

Parameter lain yang juga ikut menentukan efisiensi kinerja algoritma genetika adalah ukuran populasi yaitu banyakknya kromosom dalam satu populasi atau satu generasi. Jika terlalu sedikit kromosom dalam populasi, algoritma genetika mempunyai kemungkinan yang sedikit untuk melakukan perkawinan silang dan hanya sebagian kecil dari ruang pencarian yang dieksplorasi. Sebaliknya, jika terlalu banyak jumlah kromosom, algoritma genetika cenderung lambat dalam menemukan solusi. Ukuran populasi yang sering digunakan oleh peneliti yang sudah ada adalah antara 20 sampai 30, tetapi kadang ukuran 50 sampai 100 dilaporkan baik. Beberapa penelitian menujukkan bahwa menambah jumlah populasi tidak akan terlalu berguna karena tidak mempercepat penyelesaian masalah. Riset juga menunjukkan bahwa ukuran populasi yang terbaik ditentukan dari jenis pengkodean, artinya, jika terdapat ukuran kromosom 32 bit, ukuran populasi seharusnya juga 32, begitu pula jika ukuran kromosom 16


(42)

Penekanan selektif dilakukan dengan memilih jenis seleksi yang sesuai. Umumnya jenis seleksi roda roulette sering digunakan, tetapi kadang seleksi rangking dilaporkan lebih baik. Terdapat juga beberapa metode lebih lanjut yang dapat mengubah parameter seleksi yang digunakan selama ekseskusi algoritma genetika. Prinsip elitism disarankan untuk digunakan jika tidak digunakan metode lain untuk menyimpan solusi terbaik pada suatu populasi ke populasi berikutnya. Sebaikya juga dicoba seleksi steady state untuk proses update populasi.

Terakhir adalah jenis pengkodean, perkawinan silang dan mutasi. Jenis pengkodean dipilih berdasarkan pada masalah dan juga ukuran instance-nya. Begitu pula untuk pemilihan jenis operator perkawinan silang dan mutasi.


(43)

2.2.6 Pengenalan Delphi

Delphi merupaka salah satu bahasa pemrograman tingkat tinggi erbasis

Windows. Delphi digolongkan ke dalam bahasa pemrograman visual yang menitik

beratkan pada pemrograman berorientasi objek object oriented programming. Delphi dikembangkan menggunakan bahsa pascal. Aplikasi merupakan penerapan, pengimplementasian suatu permasalahan pekerjaan ke dalam suatu sarana atau media yang dapat digunakan untuk menerapkan permasalahan tersebut, sehingga menjadi suatu bentuk program tanpa menghilangkan nilai-nilai dasar dari permasalahan yang ada. Aplikasi dapat dibedakan menjadi dua yaitu Aplikasi Windows dan Aplikasi Konsol. Aplikasi Windows adalah aplikasi yang berjalan pada Windows. Aplikasi non-Windows contohnya yang berjalan pada DOS yang biasa disebut aplikasi Konsol.

Secara umum, sebuah aplikasi paling sedikit melibatkan sebuah form.

Namun biasabya sebuah aplikasi melibatkan banyak form. Sebuah form umumnya melibatkan komponen lain kotak Combo Box dan Tombol Radio Button

merupakan contoh komponen tersebut. Tetapi tidak semua komponen terlihat secara visual, komponen yang terlihat sevara visual biasa disebut dengan kontrol pada Delphi. Sebuah aplikasi akan diletakkan pada sebuah Project. Sebuah

project dapat membawahi beberapa form. Form merupakan inti dari sebuah


(44)

2.2.6.1 Keunggulan Delphi

1. IDE (Integrated Development Environment) atau lingkungan

pengembangan aplikasi sendiri adalah satu dari beberapa keunggulan delphi, didalamnya terdapat menu – menu yang memudahkan kita untuk membuat suatu proyek program,

2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah.

3. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal, sehingga tidak diperlukan suatu penyesuain lagi.

4. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi

2.2.6.2 OOP (Object Oriented Programming)

OOP adalah metode pemograman dengan membentu sebuah aplikasi yang mendekati keadaan dunia yang sesungguhnya. Hal itu bisa dilakukan dengan cara mendisain object untuk menyelesaikan masalah.

2.2.6.2.1 Tiga unsure OOP

1. Encapsulation atau pemodelan

Encapsulation adalah konsep penggabungan data dengan operator. Dalam


(45)

Encapsulation juga disebut dengan penyembunyian informasi (information hiding) . Contoh = ketika kita menyalakan sebuah TV kita tidak tahu apa yang terjadi dengan proses dan percakapan antar alat yang berhubungan dengan TV tersebut sehingga mampu menampilkan sebuah gambar. Atau = ketika melakukan klik pada subuah object dalam suatu aplikasi program kita tidak tahu apa yang dilakukan program sehingga ditampilkan hasil yang sesuai. Catatan = dari dua contoh kasus tersebut terdapat kesamaan proses mengenai information hiding

yang tidak diketahui oleh user sampai hasil ditampilkan.

2. Inheritance atau penurunan

Inherintance adalah sebuah object yang dapat diturunkan menjadi object

yang baru dengan tidak menghilangkan sifat asli dari object tersebut. Contoh = TV merupakan salah satu media elektronik yang dgunakan untuk menampilkan gambar dengan tujuan untuk memberikan informasi kepada konsumen. Secara umum TV memunyai cara kerja yang sama dengan media elektronik yang lain dlam proses penyampaian informasi, tetapi mempunyai sifat yang unik yang dapat membedakan dengan media electronik yang ada. Atau = Dalam aplikasi program kita sering menggunakan command button, untuk beberapa perintah yang berbeda. 3. Polymorphism atau Polimorfisme

Polymorphism merupakan penggunaan berbagai macam object yang berbeda

tetapi secara fungsi bergantung pada satu object sebagai induk, dengan cara pelaksanaan yang berbeda – beda. Contoh = TV dan radio adalah media electronik yang mempunyai sistem yang sama tentang bagaimana meyebarkan suatu


(46)

informasi, tetapi cara kerja dari masing – masing system pasti berbeda. Atau Object Simpan dan Update adalah icon yang berasal dari induk yang sama yaitu , command button tetapi cara kerja tersebut berbeda – beda.

2.2.7 Pengertian Database

Database dalam pembuatan program dengan bahasa pemrograman berbasis visual, merupakan suatu hal yang sangat penting. Karena database sering digunakan untuk menampung keluar masuknya data dalam suatu program aplikasi. Terkadang database juga sering digunakan untuk membantu proses pengolahan data yang rumit.

Bahasa pemrograman Delphi dilengkapi dengan beberapa tool yang sangat membantu dalam proses pembuatan program. Di antaranya adalah tool dengan nama database desktop. Database yang bias digunakan untuk membuat program menggunakan Delphi ada berbagai macam jenis, di antaranya adalah database dengan tipe paradox, MS Acces, FoxPro, Dbase, Oracle, MS SQL Server dan Interbase.

2.2.8 Alat Pengembang Sistem 2.2.8.1 Diagram konteks

Diagram konteks menggambarkan aplikasi dalam satu lingkaran dan hubungan dengan entitas luar. Dimana lingkaran tersebut menggambarkan keseluruhan proses dalam aplikasi. Dalam penggambaran ini, sistem dianggap sebagai sebuah objek yang tidak dijelaskan secara rinci, karena yang ditekankan adalah interaksi sistem dengan lingkungan yang mengaksesnya.


(47)

2.2.8.2 DFD (Data Flow Diagram)

Data Flow Diagram adalah diagram sistem yang menggambarkan cara kerja aplikasi secara logic. Mulai dari tingkat paling tinggi sampai dengan tingkat paling rendah. Pada perancangan ini terdiri dari perancangan awal (preliminary

design) dan perancangan rinci (detailed design) sesuai dengan tahap-tahap

rekayasa perangkat lunak. Adapun penjelasan dari perancangan awal adalah perancangan sistem yang menggambarkan tentang hubungan antara sistem dengan lingkungan luar sistem.

Hubungan ini dapat digambarkan dengan menggunakan diagram konteks. Sedangkan perancangan rinci adalah perancangan sistem yang menggambarkan tentang proses yang terjadi pada sistem serta arus data yang mengalir antar proses. DFD merupakan alat yang digunakan pada metode pengembangan sistem yang terstruktur, DFD ini menggambarkan arus data di dalam sistem yang terstruktur dan jelas serta merupakan dokumentasi sistem yang baik.

2.2.8.3Entity Relationship Diagram (ERD)

Entity Relationship Diagram (ERD) adalah suatu model diagram yang

menyatakan keterhubungan suatu entity dengan entity yang lain. Atau juga dapat dikatakan sebagai sebuah teknik untuk menggambarkan informasi yang dibutuhkan dalam sistem dan hubungan antar data-data tersebut.

Secara terjemahan dalam bahasa Indonesia, Entity Relationship Diagram


(48)

Diagram akan didapatkan data-data yang dibutuhkan sistem. Dengan begitu maka akan didapatkan pula kejelasan aktivitas yang dilakukan dalam sistem.

Didalam Entity Relationship Diagram (ERD) dikenal beberapa komponen, yaitu sebagai berikut :

1. Entitas (Entity)

Adalah suatu objek yang memiliki hubungan dengan objek lain. Dalam ERD digambarkan dengan bentuk persegi panjang.

2. Hubungan (Relationship)

Dimana entitas dapat berhubungan dengan entitas lain, hubungan ini disebut dengan entity relationship yang digambarkan dengan garis. Berikut adalah beberapa jenis hubungan yang dapat terjadi dalam suatu basis data :

1) Relasi 1-1 (One to One) Hubungan antara file pertama dengan file

kedua adalah satu berbanding satu.

2) Relasi 1-N (One to Many) Hubungan antara file pertama dengan

file kedua adalah satu berbanding banyak, tetapi tidak sebaliknya,

dimana file kedua hanya berhubungan dengan satu entitas pada

file pertama.

3) Relasi N-1 (Many to One) Hubungan antara file pertama dengan


(49)

dimana file pertama hanya berhubungan dengan satu entitas pada

file kedua.

4) Relasi N-N (Many to Many) Hubungan antara file pertama dengan

file kedua adalah banyak berbanding banyak.

3. Atribut

Atribut adalah elemen dari entitas yang berfungsi sebagai deskripsi karakter entitas dan digambarkan dengan bentuk elips.

2.2.8.4 Kamus Data

Kamus data atau data directory adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan kamus data, analisis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap. Pada tahap perancangan sistem, kamus data dapat digunakan untuk merancang input, output, dan merancang database


(50)

44

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem dilakukan untuk memperoleh definisi permasalahan dan gambaran yang tepat dari apa yang akan dilakukan oleh sistem. Analisis sistem bertujuan untuk mengetahui bagaimana seluk beluk sistem yang akan diteliti.

3.1.1 Analisis 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 dengan menggunakan Microssoft Excel.

Penjadwalan bimbingan belajar yang selama ini dilakukan, dikerjakan oleh pegawai. Selama ini bimbingan belajar TELSTAR mengalami kendala terjadinya bentrokan untuk setiap jadwal bimbingan belajar dan tes toefl. Terdapat 4 jenis data yang akan dijadwalkan yaitu data tutor, data kelas, data level dan data ruangan. Analisis sistem yang sedang berjalan dapat digambarkan dengan flowchart. Adapun flowmap jadwal bimbingan belajar dan tes toefl yang selama ini berjalan yaitu :


(51)

Tutor Bagian Akademik

Data level, tutor, ruang, waktu

Pembentukan Jadwal

Input Data level, tutor, ruang, waktu

Jadwal. xls

Jadwal Bimbel & tes toefl untuk

semua Level

Jadwal Bimbel & tes toefl untuk

semua Level

Jadwal Bentrok?

Jadwal Bimbel & tes toefl untuk

semua Level tidak ya


(52)

berjalan, yaitu :

1. Bagian akademik menyiapkan data level, tutor, kelas, ruang dan waktu untuk proses penjadwalan.

2. Kemudian bagian akademik melakukan proses penjadwalan dengan mencocokan anatara level, tutor, ruang dan waktu.

3. Bagian Akademik input data ke komputer dengan menggunakan software

Microssoft Excel dan disimpan dalm bentuk file jadwal.xls masih bersifat

sementara.

4. Setelah jadwal terbentuk, bagian akademik memberikan jadwal kepada setiap tutor dan tutor melakukan proses pengecekan apakah terjadi bentrokan pada jadwal yang sudah dibuat.

5. Bila masih terjadi bentrokan maka panitia kembali melakukan proses penjadwalan. Tapi jika tidak terjadi bentrok maka jadwal tersebut sudah dapat ditampilkan.

3.1.2. Analisis Penjadwalan Manual 3.1.2.1. Karakteristik Komponen Utama

Untuk memahami aturan-aturan yang akan digunakan, pada bagian ini akan dijelaskan karakteristik dari masing-masing variabel yang merupakan komponen utama dari sistem penjadwalan yang digunakan di Lembaga Pendidikan Telstar dengan menggunakan contoh.

Komponen yang pertama adalah tutor dan waktu. Pemberian tugas kepada seorang tutor dilakukan di luar penjadwalan


(53)

Jam Bimbel

Waktu Hari Tutor

1 07.00-08.00 Senin – Sabtu 2 08.00-09.00 Senin – Sabtu 3 09.00-10.00 Senin – Sabtu 4 10.00-11.00 Senin – Sabtu 5 11.00-12.00 Senin – Sabtu 6 12.00-13.00 Senin – Sabtu 7 13.00-14.00 Senin – Sabtu 8 14.00-15.00 Senin – Sabtu 9 15.00-16.00 Senin – Sabtu 10 16.00-17.00 Senin – Sabtu

Komponen berikutnya adalah peserta, sebagai peserta bimbingan disarankan untuk mengambil level yang sudah di tentukan, apabila peserta ingin mengambil level yang tidak sesuai maka peserta akan di tes terlebih dahulu.

Komponen utama yang juga memiliki peranan penting adalah satuan bimbingan belajar, yaitu durasi waktu per jam bimbingan belajar. Satuan waktu yang digunakan di Lembaga Pendidikan Telstar adalah 60 menit per jam bimbingan.

Komponen terakhir adalah ruangan, sebagai tempat penyelenggaraan bimbingan belajar. Semua ruang bimbingan di Lembaga Pendidikan Telstar dapat


(54)

ruangan berbeda-beda tergantung dari besarnya ruangan.

Kombinasi semua komponen utama membentuk penjadwalan bimbingan belajar. Penjadwalan bimbingan belajar dikatakan optimal jika semua aturan yang ditentukan dapat terpenuhi.

3.1.2.2. Data Masukan

Data input dari bimbingan belajar di lembaga pendidikan bahasa Inggris Telstar yang digunakan terdiri dari Data Level, Data Tutor, Data Waktu, Data Ruang, dan Data Penugasan. Sebagai berikut:

1. Data Level

Pembagian level atau tingkat di lembaga pendidikan bahasa Inggris Telstar ada 13 level yang dibagi menjadi 2 kategori. Semua level dapat di ampu oleh semua tutor.

Tabel 3.2 Data Level

No Kategori Nama Level Banyak Pertemuan(x) / Minggu

1

Junior Grade

Pre Beginner1 (SD Kelas 1-3) 3

2 Pre Beginner2 (SD Kelas 4-6) 3

3 Low Beginner (SMP Kelas 1) 3

4 Beginner (SMP Kelas 2) 3


(55)

Senior Grade

1)

7 Elementary (SMA Kelas 2 ) 3

8 Higher Elementary (SMA Kelas

3 )

3

9 Lower Intermediate 2

10 Intermediate 2

11 Higher Intermediate 2

12 Lower Advanced 2

13 Advanced 2

2. Data Tutor

Data tutor yang ada di lembaga pendidikan bahasa Inggris Telstar untuk cabang kopo

Tabel 3.3 Data Tutor

ID Tutor Nama Tutor

001 Joko Setiadi

002 Suryana, S.Pd

003 Drs. Hidayat

004 Dedi Erwin

005 Sri Mulyana

006 Purnomo

007 Suyanto


(56)

Data waktu dalam satu hari, selama 6 hari yaitu, Senin - Sabtu yang ada di lembaga pendidikan bahasa Inggris Telstar untuk cabang kopo.

Tabel 3.4 Data Waktu

Jam Bimbel Waktu Hari

1 08.00-09.00 Senin-Sabtu

2 09.00-10.00 Senin-Sabtu

3 10.00-11.00 Senin-Sabtu

4 11.00-12.00 Senin-Sabtu

5 12.00-13.00 Senin-Sabtu

6 13.00-14.00 Senin-Sabtu

7 14.00-15.00 Senin-Sabtu

8 15.00-16.00 Senin-Sabtu

9 16.00-17.00 Senin-Sabtu

10 17.00-18.00 Senin-Sabtu

4. Data Ruang

Tabel 3.5 Data Ruang Nama Ruangan Kapasitas

TLS01 10

TLS02 10

TLS03 10

TLS04 10


(57)

No Level Hari Jam Bimbel Ruang Tutor

1 Pre Beginner1 Kamis 1 TLS01

2 Pre Beginner1 Selasa 1 TLS01

3 Pre Beginner Sabtu 5 TLS03

4 Low Beginner Senin 7 TLS04

5 Beginner Jum’at 6 TLS05

6 Higher beginner Rabu 2 TLS02

7 Elementary Kamis 8 TLS04

8

Higher Elementary

Sabtu 9 TLS05

9 Elementary Jumat 7 TLS03

10

Lower Elementary

Selasa 6 TLS02

3.2 Deskripsi Masalah Penjadwalan Bimbingan Belajar

Permasalahan yang akan dibahas adalah penjadwalan bimbingan belajar dan Tes Toefl di Lembaga Pendidikan Bahasa Inggris Telstar. Penjadwalan bimbingan belajar merupakan pekerjaan yang tidak mudah, apalagi tempat bimbingan belajarnya mempunyai ruangan yang sedikt dibandingkan peserta bimbingan.

Parameter yang digunakan dalam penyusunan jadwal bimbingan belajar ini terdiri dari level, waktu, ruang, dan tutor, dimana waktu yang digunakan untuk kegiatan belajar mengajar adalah dari jam 07.00-17.00 dan pembagian waktu ini


(58)

perjam) 60 menit. Ruangan yang digunakan adalah ruangan TLS1-TLS5 dan staf tutor terdiri dari 8 orang.

Level yang akan dijadwalkan sebanyak 13 level, adapun proses penjadwalan bimbingan belajar ini, hari yang akan dijadwalkan adalah hari senin-sabtu. Penggunaan waktu setiap ruangan diharapkan dipergunakan seefisien mungkin, artinya tidak ada slot waktu kosong kecuali hari jum’at karena waktu tersebut dipergunakan untuk melaksanakan shalat jum’at dan diharapkan semua jadwal tersebut dapat terselesaikan sesuai dengan batas waktu yang telah ditentukan.

Permasalahan yang harus dihindari dalam penyusunan suatu jadwal bimbingan belajar didapatkan ketika terjadi pelanggaran terhadap kendala yang termasuk ke dalam hardconstraint.

Aturan umun penjadwalan adalah sebagai berikut :

1. Jadwal bimbingan yang dihasilkan hanya baik bagi periode waktu tertentu, dalam hal ini per 3 bulan, setelah itu komponen-komponen penyusunnya bisa mengalami perubahan sehingga jadwal yang lalu tidak dapat dipergunakan lagi.

2. Jadwal bimbingan merupakan kombinasi yang mungkin dari komponen-komponen utama, yaitu tutor, ruang, waktu, dan peserta pada suatu kelas level tertentu. Ketidaklengkapan dari komponen utama menyebabkan jadwal tidak dapat digunakan.

3. Dua kelas level yang berbeda tidak dapat berada pada ruang dan waktu yang sama.


(59)

waktu yang sama.

5. Tidak ada peserta yang menghadiri dua kelas level yang berbeda pada waktu yang sama.

6. Ada batasan yang pasti pada kesediaan ruangan dan waktu

Aturan khusus penjadwalan bimbingan belajar di Telstar :

1. Jadwal bimbingan yang disusun hanya berlaku untuk 3 bulan 2. Tutor ditempatkan pada kelas level yang diampunya sebelum

jadwal dibuat, suatu level ditawarkan hanya jika ada tutor yang bisa mengampunya.

3. Satu level dapat diampu lebih dari seorang tutor.

4. Waktu kuliah dalam sehari dimulai dari jam 07.00 sampai 17.00. Lama setiap satuan waktu kuliah adalah 60 menit, dalam jangka waktu 1 hari terdapat 10 slot waktu, maka dalam 6 hari (hari aktif dalam 1 minggu)terdapat 60 slot waktu.

Agar tercapai penjadwalan yang baik maka sejumlah batasan dan syarat diatas tidak boleh dilanggar. Penjadwalan yang baik adalah penjadwalan yang tidak mengandung bentrok antara komponen yang dijadwalakan, dalam hal ini berupa level, waktu, ruangan dan Tutor.


(60)

Algoritma Genetika

Masalah penjadwalan bimbingan belajar di Telstar akan menggunakan algoritma genetika untuk mengoptimasikan jadwal yang telah ada. Adapun beberapa hal yang harus diperhatikan pada penggunaan algoritma genetika dalam proses operasi penjadwalan yaitu :

3.2.1.1. Penetapan Parameter

Hal pertama yang dilakukan dalam pengujian terhadap algoritma genetika adalah menentukan parameter-parameter yang terbaik sehingga tujuan pembuatan algoritma tercapai dengan maksimal.

Beberapa parameter yang harus ditentukan adalah jumlah populasi dalam satu generasi, jumlah generasi maksimal sebagai urutan pemberhentian algoritma, jenis operator persilangan, peluang persilangan, jenis operator mutasi serta peluang mutasi yang akan digunakan, ukuran populasi terbentuk dari kumpulan kromosom dalam satu generasi. Ukuran populasi tersebut digunakan sebagai jarak pencarian untuk melakukan crossover.

Parameter yang digunakan dalam penyusunan jadwal bimbingan belajar dalam studi kasus ini semuanya dirubah menjadi bilangan berdasarkan no atau id, karena menggunakan pengkodean nilai. parameternya terdiri dari:


(61)

Level [13] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 2. Waktu, terdiri dari 10 slot waktu

Waktu [10] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 3. Ruang, terdiri dari 5 ruang

Ruang [5] = [1, 2, 3, 4, 5]

3.2.1.2. Inisialisasi Populasi

Pada inisialisasi ini akan dibuat sebuah populasi dari sekumpulan kromosom. Alternatif yang akan digunakan untuk menentukan populasi awal yaitu dengan menentukan secara acak. Satu kromosom merupakan ururan penjadwalan ruang, level, waktu dan tutor yang diwakili oleh nomor penugasan yang ditulis kedalam tabel-waktu (time-table) yang terdiri dari waktu yang dipergunakan (jam dan hari), kromosom tersebut menunjukan ruangan yang dipergunakan untuk bimbingan belajar, jadi sebagaimana telah disebutkan bahwa ruangan yang digunakan sebanyak 5 ruang kelas, 13 level, dan 10 waktu slot.

Kromosom acak yang digunakan untuk kasus ini ada 6 kromosom yang terdiri dari gen, allele didalamnya. Di dalam kromoson terdapat gen yang nilainya diambil acak dari parameter yang telah di tentukan.

Kromosom [1] = [level;pertemuan ke-;waktu;ruang] = [ 1, 1, 6, 1] Kromosom [2] = [level;pertemuan ke-;waktu;ruang] = [ 1, 2, 2, 3] Kromosom [3] = [level;pertemuan ke-;waktu;ruang] = [ 1, 3, 8, 5] Kromosom [4] = [level;pertemuan ke-;waktu;ruang] = [ 2, 1, 7, 4] Kromosom [5] = [level;pertemuan ke-;waktu;ruang] = [ 2, 2, 8, 1]


(62)

Kromosom [7] = [level;pertemuan ke-;waktu;ruang] = [ 3, 1, 5, 1] Kromosom [8] = [level;pertemuan ke-;waktu;ruang] = [ 3, 2, 5, 5] Kromosom [9] = [level;pertemuan ke-;waktu;ruang] = [ 3, 3, 5, 1] Kromosom [10] = [level;pertemuan ke-;waktu;ruang] = [ 4, 1, 2, 3] Kromosom [11] = [level;pertemuan ke-;waktu;ruang] = [ 4, 2, 5, 1] Kromosom [12] = [level;pertemuan ke-;waktu;ruang] = [ 4, 3, 9, 1] Kromosom [13] = [level;pertemuan ke-;waktu;ruang] = [ 5, 1, 5, 1] Kromosom [14] = [level;pertemuan ke-;waktu;ruang] = [ 5, 2, 6, 2] Kromosom [15] = [level;pertemuan ke-;waktu;ruang] = [ 5, 3, 5, 4] Kromosom [16] = [level;pertemuan ke-;waktu;ruang] = [ 6, 1, 9, 2] Kromosom [17] = [level;pertemuan ke-;waktu;ruang] = [ 6, 2, 4, 3] Kromosom [18] = [level;pertemuan ke-;waktu;ruang] = [ 6, 3, 3, 5] Kromosom [19] = [level;pertemuan ke-;waktu;ruang] = [ 7, 1, 7, 4] Kromosom [20] = [level;pertemuan ke-;waktu;ruang] = [ 7, 2, 5, 1] Kromosom [21] = [level;pertemuan ke-;waktu;ruang] = [ 7, 3, 2, 1] Kromosom [22] = [level;pertemuan ke-;waktu;ruang] = [ 8, 1, 3, 3] Kromosom [23] = [level;pertemuan ke-;waktu;ruang] = [ 8, 2, 8, 2] Kromosom [24] = [level;pertemuan ke-;waktu;ruang] = [ 8, 3, 4, 3] Kromosom [25] = [level;pertemuan ke-;waktu;ruang] = [ 9, 1, 8, 1] Kromosom [26] = [level;pertemuan ke-;waktu;ruang] = [ 9, 2, 5, 2] Kromosom [27] = [level;pertemuan ke-;waktu;ruang] = [ 10, 1, 10, 1] Kromosom [28] = [level;pertemuan ke-;waktu;ruang] = [ 10, 2, 10, 1] Kromosom [29] = [level;pertemuan ke-;waktu;ruang] = [ 11, 1, 4, 1] Kromosom [30] = [level;pertemuan ke-;waktu;ruang] = [ 11, 2, 5, 3]


(63)

Kromosom [32] = [level;pertemuan ke-;waktu;ruang] = [ 12, 2, 5, 1] Kromosom [33] = [level;pertemuan ke-;waktu;ruang] = [ 13, 1, 3, 1] Kromosom [34] = [level;pertemuan ke-;waktu;ruang] = [ 13, 2, 4, 2]

3.2.1.3. Fungsi Evaluasi

Ada dua hal yang harus dilakukan dalam melakukan evaluasi kromosom,

yaitu : menentukan nilai aturan dan nilai penalti untuk menentukan nilai fitness dari setiap kromosom.

Nilai Penalti

Hasilnya sebagai berikut : Kromosom [1] = (0)

Kromosom [2] = (3) Kromosom [3] = (0)

Kromosom [4] = (3) Kromosom [5] = (3) Kromosom [6] = (3) Kromosom [7] = (3) Kromosom [8] = (0) Kromosom [9] = (3) Kromosom [10] = (3) Kromosom [11] = (3) Kromosom [12] = (0) Kromosom [13] = (3)


(64)

Kromosom [15] = (3) Kromosom [16] = (0)

Kromosom [17] = (0) Kromosom [18] = (0) Kromosom [19] = (3) Kromosom [20] = (3) Kromosom [21] = (0) Kromosom [22] = (3) Kromosom [23] = (3) Kromosom [24] = (3) Kromosom [25] = (3) Kromosom [26] = (0) Kromosom [27] = (3) Kromosom [28] = (3)

Kromosom [29] = (0) Kromosom [30] = (3)

Kromosom [31] = (0) Kromosom [32] = (3) Kromosom [33] = (0) Kromosom [34] = (0)

Setelah menentukan nilai aturan dan nilai pinalti, tahap selanjutnya menghitung nilai fitness untuk setiap kromosom sebagai berikut :


(65)

Nilai fitness kromosom [1] : 0 Nilai fitness kromosom [2] : 3 Nilai fitness kromosom [3] : 0 Nilai fitness kromosom [4] : 3 Nilai fitness kromosom [5] : 3 Nilai fitness kromosom [6] : 3 Nilai fitness kromosom [7] : 3 Nilai fitness kromosom [8] : 0 Nilai fitness kromosom [9] : 3 Nilai fitness kromosom [10] : 3 Nilai fitness kromosom [11] : 3 Nilai fitness kromosom [12] : 0 Nilai fitness kromosom [13] : 3 Nilai fitness kromosom [14] : 0 Nilai fitness kromosom [15] : 3 Nilai fitness kromosom [16] : 0 Nilai fitness kromosom [17] : 0 Nilai fitness kromosom [18] : 0 Nilai fitness kromosom [19] : 3 Nilai fitness kromosom [20] : 3 Nilai fitness kromosom [21] : 0 Nilai fitness kromosom [22] : 3 Nilai fitness kromosom [23] : 3


(66)

Nilai fitness kromosom [25] : 3 Nilai fitness kromosom [26] : 0 Nilai fitness kromosom [27] : 3 Nilai fitness kromosom [28] : 3 Nilai fitness kromosom [29] : 0 Nilai fitness kromosom [30] : 3 Nilai fitness kromosom [31] : 0 Nilai fitness kromosom [32] : 3 Nilai fitness kromosom [33] : 0 Nilai fitness kromosom [34] : 0

Total nilai fitness : 0+3+0+3+3+3+3+0+3+3+3+0+3+0+3+0+ 0+ 0+ 3+ 3+ 0+ 3+ 3+ 3+ 3+ 0+ 3+ 3+ 0+ 3+ 0+ 3+ 0+0 = 60

3.2.1.4. Seleksi

Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Ada beberapa metode seleksi dari induk yang digunakan dalam algoritma genetik seperti yang telah dibahas pada bab sebelumnya, khususnya untuk kasus ini digunakan seleksi roulette wheel. Tapi sebelum melakukan proses genetik ini, ada beberapa syarat yang harus dilakaukan terlebih dahulu yaitu, mencari probabilitas dan nilai kumulatif probabilitas untuk bisa melakukan seleksi.

a) Mencari Probabilitas


(1)

141

4. Apakah aplikasi penjadwalan bimbingan belajar dan test toefl yang dibuat dapat membantu tutor dalam mendapatkan jadwal bimbingan ?

No Keterangan 1 Membantu 2 Biasa- biasa saja 3 Tidak membantu

Berdasarkan data hasil kuesioner, dapat dicari prosentase masing-masing jawaban dengan menggunakan rumus: Y = P/Q *100%

Keterangan: P = Banyaknya jawaban responden tiap soal

Q = Jumlah responden

Y = Nilai Prosentase

1. Apakah aplikasi penjadwalan bimbingan belajar dan test toefl yang dibuat mudah untuk dipelajari?

No Keterangan Responden Prosentase (%)

1 Setuju 3 100

2 Biasa- biasa saja 0 0


(2)

142

Berdasarkan hasil prosentase diatas maka dapat disimpulkan bahwa sebanyak 3 orang atau 100 % mengatakan bahwa sistem informasi yang dibuat mudah dipelajari

2. Apakah aplikasi penjadwalan bimbingan belajar dan test toefl yang dibuat mudah untuk digunakan?

No Keterangan Responden Prosentase (%)

1 Setuju 2 66.67

2 Biasa- biasa saja 1 33,33

3 Tidak Setuju 0 0

Berdasarkan hasil prosentase diatas maka dapat disimpulkan bahwa sebanyak 2 orang atau 66.67 % mengatakan bahwa sistem informasi yang dibuat mudah digunakan.

3. Apakah aplikasi penjadwalan bimbingan belajar dan test toefl yang dibuat membantu dalam proses penjadwalan?

No Keterangan Responden Prosentase (%)

1 Membantu 2 66.67

2 Biasa- biasa saja 1 33,33


(3)

143

Berdasarkan hasil prosentase diatas maka dapat disimpulkan bahwa sebanyak 2 orang atau 66.67 % mengatakan bahwa sistem informasi yang dibuat terlijat menarik.

4. Apakah aplikasi penjadwalan bimbingan belajar dan test toefl yang dibuat dapat membantu tutor dalam mendapatkan jadwal bimbingan ?

No Keterangan Responden Prosentase (%)

1 Membantu 2 66.67

2 Biasa- biasa saja 1 33.33

3 Tidak membantu 0 0

Berdasarkan hasil prosentase diatas maka dapat disimpulkan bahwa sebanyak 2 orang atau 66.67 % mengatakan bahwa sistem informasi yang dibuat membantu.

4.2.5Kesimpulan Hasil Pengujian Beta

Dari hasil pengujian beta yang telah dilakukan yaitu dengan pengujian perhitungan pilihan kategori jawaban dari kuesioner yang telah dibagikan di lapangan diperoleh kesimpulan bahwa sistem informasi ini dinilai dapat dipelajari, cukup mudah digunakan, mudah untuk dipelajari, tampilan antar muka yang menarik, cukup membantu dalam mengidentifikasi permasalahn mesin plastik dan menghasilkan informasi sesuai yang diinginkan.


(4)

144 BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil yang didapat dalam penelitian dan penyusunan skripsi ini serta disesuaikan dengan tujuannya, maka diperoleh kesimpulan sebagai berikut:

1) Algoritma genetika bisa diterapkan untuk menyelesaikan permasalahan yang biasanya terjadi pada saat penyusunan jadwal bimbingan belajar di lembaga pendidikan bahasa Inggris Telstar.

2) Melakukan perubahan parameter masukan,seperti parameter tambahan tutor maka akan memberikan hasil yang bervariasi.

3) Diperoleh jadwal secara keseluruhan dan tidak ada permasalahan bentrok jadwal bimbingan belajar.

4) Memudahkan tutor untuk mendapatkan informasi mengenai jadwal bimbingan dan test toefl.

5.2.Saran

Aplikasi yang dibuat ini penulis sadari masih banyak kekurangan. Oleh karena itu berdasarkan pengamatan yang dilakukan, agar penelitian yang akan dilakukan selanjutnya lebih baik lagi maka disarankan untuk melakukan analisis yang lebih baik dan lebih cermat lagi, terutama untuk mengatasi permasalahan yang terdapat pada batasan masalah tugas akhir ini, diantaranya dalam penjdawalan tutor yang tidak diikut sertakan dalam proses genetik.


(5)

DAFTAR PUSTAKA

1. Lesmana ,Dani, Optimasi Algoritma Genetika untuk permasalahan Tataletak Mesin, Tugas Akhir, Teknik Informaika, Unikom Bandung, 2004

2. Aria ,Muhammad, Aplikasi Algoritma Genetic Untuk Optimasi Penjadwalan Mata Kuliah, Majalah Ilmiah Unikom, Vol.6, hlm. 17-25

3. Pressman, Roger S, (2002), Rekayasa Perangkat Lunak, Andi Offset, Yogyakarta.

4. Nugraha ,Ivan. 2008. Aplikasi algoritma genetika untuk optimasi penjadwalan kegiatan belajar mengajar : .Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung.

5. Syamsudin, Aries, (22 Februari 2010), Pengenalan Algoritma Genetika,

http://www.ilmukomputer.com

6. Otbiko, M,. (8 Desember 2010), An Intoduction to Genetic Algorithm http://www.obitko.com/tutorials/genetic-algorithms/

7. Denny, Aries, (15 Juli 2010), Algoritma Genetik dan Contoh Aplikasinya,


(6)

BIODATA

NIM : 10106078

NAMA : BARKAH NUGRAHA

KELAS : IF-2/2006

JURUSAN : TEKNIK INFORMATIKA

FAKULTAS : TEKNIK DAN ILMU KOMPUTER

TEMPAT / TGL LAHIR : TASIKMALAYA / 07 SEPTEMBER 1989.

ALAMAT : JL. KOPO KOMP. NATA ENDAH H.95

DESA MARGAHAYU KEC. MARGAHAYU TENGAH KAB. BANDUNG 40225

NO TELEPON : 083820444655