Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

BAB 2
LANDASAN TEORI

Bab ini akan membahas tentang teori dan konsep dasar yang mendukung
pembangunan dari system penjadwalan yang dibuat.

2.1 Penjadwalan
Pengertian jadwal menurut kamus besar bahasa Indonesia adalah pembagian
waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan
atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci,
sedangkan pengertian penjadwalan adalah proses, cara, perbuatan menjadwalkan
atau memasukkan dalam jadwal (Nadiya, 2015).
Penjadwalan pada prinsipnya terjadi baik untuk periode yang panjang
(misalnya tahunan) ataupun periode yang lebih pendek (misalnya harian atau
periode jam). Penjadwalan yang dimaksudkan di sini adalah penjadwalan jangka
pendek karena penjadwalan jangka panjang biasanya dibahas dengan pendekatan
lain seperti manajemen projek. Kalau pun penjadwalan jangka panjang tadi bukan
bersifat projek, yaitu seperti kegiatan rutin tahunan, maka pendekatan
penjadwalan jangka pendek ini pun dapat kita terapkan pada kasus tersebut
(Mursyid, 2010).


2.1.1 Tipe-Tipe Penjadwalan
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi
yang kompleks (Managemen Informatika, 2011) yaitu:
1.

Penjadwal jangka pendek (short-tem scheduller)
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara prosesproses

ready

di

memori

utama.

Sasaran

utama


penjadwal

ini

memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang

Universitas Sumatera Utara

diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk
memilih proses berikutnya yang harus dijalankan.
2.

Penjadwal jangka menengah (medium-term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena
membuat permintaan layanan masukan/keluaran atau memanggil suatu
system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan
selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.
Agar ruang memori dapat bermanfaat, maka proses dipindah dari
memori utama ke memori sekunder agar tersedia ruang untuk prosesproseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif.
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori

sekunder disebut swapping.
Penjadwal jangka menengah adalah menangani proses-proses
swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai
proses yang tertunda. Tetapi, begitu kondisi yang membuatnya terunda
hilang dan proses dimasukkan kembali ke memori utama dan ready.
Penjadwal jangka menengah mengendalikan transisi dari suspended-ready
(dari keadaan suspend ke ready) proses-proses swapping.

3.

Penjadwal jangka panjang (long-term scheduller)
Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses
dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori,
perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai
pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif
rendah.Sasaran utama penjadwal jangka pangjang adalah memberi
keseimbangan job-job campuran.

Universitas Sumatera Utara


2.1.2 Teknik-Teknik dalam Melakukan Penjadwalan
Ada dua jenis penjadwalan secara umum yaitu (Taufik, 2013):
1.

Penjadwalan Maju (Forward Scheduling)
pekerjaan dimulai sedini mungkin sehingga pekerjaaan selesai sebelum batas
waktu yang dijanjikan (due date). Konsekuensinya adalah terjadinya
akumulasi persediaaan sampai pekerjaan tersebut diperlukan pada pusat
kerja berikutnya.

2.

Penjadwalan Mundur (Backward Scheduling)
Kegiatan operasi yang terakhir dijadwalkan lebih dulu, yang selanjutnya
secara berturut-turut ditentukan jadwal untuk kegiatan sebelumnya satu per
satu secara mundur. Konsekuensi dapat meminimalkan persediaaan karena
baru selesai pada saat pekerjaan tersebut diperlukan pada stasiun kerja
berikutnya. Catatan: harus disertai dengan perencanaan dan estimasi waktu
tenggang yang akurat, tidak terjadi break down selama proses maupun

perubahan due date yang lebih cepat.

2.1.3 Hal-Hal yang Harus Diperhatikan dalam Melakukan Penjadwalan
Ada beberapa hal penting yang sifatnya strategis dapat kita raih jika melakukan
penjadwalan dengan baik (Mursyid, 2010):
1.

Penjadwalan yang baik membuat organisasi dapat menggunakan aset atau
sumber dayanya dengan lebih efisien dan berefek positif juga pada
pencapaian tujuannya.

2.

Kapasitas yang fleksibel dalam memenuhi kebutuhan pelanggan.

3.

Kepastian dalam melaksanakan penjadawalan yang akan dibuat.

2.1.4 Implikasi Strategi Penjadwalan

Ada 4 macam implikasi dalam strategi penjadwalan (Taufik, 2013), yaitu:
1. Dengan penjadwalan yang baik, penggunaan aset perusahaan menjadi lebih
efektif sehingga biaya menjadi rendah.

Universitas Sumatera Utara

2. Penggunaan kapasitas menjadi bertambah karena perputaran aktivas menjadi
lebih besar.
3. Pelayanan pelanggan (customer service) menjadi lebih baik.
4. Mendapatkan keunggulan kompetitif.

2.1.5 Keputusan-Keputusan dalam Penjadwalan
Setiap organisasi yang menjadi objek penelitian selalu memiliki keputusan dalam
penjadwalan. Ini berfungsi sebagai objek kajian dalam sistem pendukung
keputusan nantinya menentukan rancangan penelitian. Perhatikan tabel dibawah
ini, contoh-contoh organisasi beserta keputusannya.
Tabel 2.1.Keputusan dalam Penjadwalan
Organisasi

Keputusan Dalam Penjadwalan


Rumah Sakit

Ruang operasi, Perawat, Security, Pasien Rawat Jalan

Universitas

Ruang kelas, Alat Audiovisual, Penjadwalan Dosen dan
Mahasiswa, Jadwal Kursus

Pabrik

Produksi, Pembelian Bahan, Gaji

Café

Cheef, Bartender, Pelayan, Entertainer

Bandara Udara


Jadwal Penerbangan

2.1.6 Strategi Penjadwalan
Terdapat dua strategi penjadwalan, yaitu:
1.

Penjadwalan nonpreemptive (run – to – completion)
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat
diambil alih oleh proses lain sampai proses itu selesai.

2.

Penjadwalan preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih
proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan
menunggu jatah waktu pemroses tiba kembali pada proses itu.

Universitas Sumatera Utara

Penjadwalan preemptive berguna pada sistem dimana proses-proses

yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya:
a.

Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak
segera dilayani) dapat berakibat fatal.

b.

Pada sistem interaktif/time-sharing, penjadwalan preemptive penting
agar dapat menjamin waktu tanggap yang memadai.
Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Peralihan

proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena
banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus
berada di memori utama sehingga proses-proses tersebut dapat segera
running begitu diperlukan. Menyimpan banyak proses tak running benarbenar di memori merupakan suatu overhead tersendiri.

2.1.7 Penjadwalan Berprioritas (Managemen Informatika, 2011)
Ide penjadwalan adalah tiap proses diberikan prioritas dan proses berprioritas
tinggi running (mendapat jatah waktu proses).

Prioritas dapat diberikan secara:
1. Prioritas Statis
Prioritas statis berarti prioritas tak berubah
Keunggulan:a. Mudah diimplementasikan
b. Mempunyai overhead relatif kecil
Kelemahan: Penjadwalan tak tanggap perubahan lingkungan yang mungkin
menghendaki penyesuaian prioritas.
2. Prioritas Dinamis
Prioritas dinamis merupakan mekanisme menanggapi perubahan lingkungan
system beroperasi. Prioritas awal diberikan ke proses mungkin hanya berumur
pendek setelah disesuaikan ke nilai yanglebih tepat sesuai lingkungan.
Keunggulan: waktu tanggap sistem yang baik.

Universitas Sumatera Utara

Kelemahan:

Implementasi mekanisme prioritas dinamis lebih kompeks dan
mempunyai overhead lebih besar. Overhead ini diimbangi dengan
peningkatan daya tanggap sistem.


Contoh Penjadwalan Berprioritas
Proses-proses yang sangat banyak operasi I/O menghabiskan kebanyakan waktu
menunggu selesainya operasi I/O. Proses-proses ini diberi prioritas sangat tinggi
sehingga begitu proses memerlukan pemroses segera diberikan, proses akan
segera memulai permintaan I/O berikutnya hingga mengakibatkan proses blocked
menunggu selesainya operasi I/O. Dengan demikian pemroses dapat dipergunakan
proses-proses lain. Proses-proses I/O bound berjalan paralel bersama prosesproses lain yang benar-benar memerlukan pemroses, sementara proses-proses I/O
bound itu menunggu selesainya operasi DMA.
Proses-proses yang sangat banyak operasi I/O kalau harus menuggu lama
untuk memakai pemroses (karena prioritas rendah) hanya akan membebani meori
karena harus disimpan tanpa perlu prosesproses itu dimemori karena tidak selesaiselesai menunggu operasi I/O dan menunggu jatah pemroses.

2.1.8 Sasaran Utama Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan (Managemen
Informatika, 2011):
1. Adil (Fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapatkan jatah waktu
pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses
sehingga mengalami startvision. Sasaran pendjadwalan seharusnya menjamin tiap
proses mendapat pelayanan dari pemroses yang adil.

Universitas Sumatera Utara

2. Efesiensi
Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu
sibuk pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam
keadaan sibuk sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses
tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program
pemakai dan sistem operasi.
3. Waktu tanggap (response time)
Waktu tanggap berbeda untuk:
a. Waktu tanggap pada sistem interaktif (Interaktif)
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang
dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau
transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap
ini disebut terminal response time.
b. Waktu tanggap pada sistem waktu nyata (Real Time)
Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari
saat kejadian (internal atau eksernal) sampai instruksi pertama rutin
layanan yang dimaksud dieksekusi, disebut event response time. Sasaran
pendjadwalan adalah meminimalkan waktu tanggap.
4.

Turn Arround Time

Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai
masuk ke system sampai proses diselesaikan sistem. Waktu yang dimaksud adalah
waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu
eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu;
Turn Arround Time = waktu eksekusi + waktu tunggu

(1)

Sasaran penjadwalan adalah meminimalkan turn arround time.

Universitas Sumatera Utara

5. Throughtput
Throughtput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang
dapat dieksekusi dalam satu unit/interval waktu.
Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per
satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang
dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling
bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara
simultan.

2.2 Algoritma Genetika
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John
Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu
muridnya, David Goldberg. Algoritma genetik adalah algoritma yang berusaha
menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahanmasalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah
dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu
kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu
kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi
ini akan merepresentasikan perbaikanperbaikan pada populasi awalnya. Dengan
melakukan proses ini secara berulang, algoritma ini diharapkan dapat
mensimulasikan proses evolusioner (Nugraha, 2008). Algoritma genetika
merupakan algoritma pencarian yang menerapkan proses seleksi alam dan evolusi
yang dikemukakan oleh Charles Darwin. Algoritma genetika pertama kali
diperkenalkan oleh John Holland (1975) dari Universitas Michigan. John Holland
menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun
buatan) dapat diformulasikan kedalam terminologi genetika (Saraswat &
Prayanthi, 2012).

Universitas Sumatera Utara

Algoritma genetika bukanlah solusi terbaik untuk memecahkan segala
masalah. Sebagai contoh, metode tradisional telah diatur untuk untuk mencari
penyelesaian dari fungsi analitis convex yang “berperilaku baik” yang variabelnya
sedikit. Pada kasus-kasus ini, metode berbasis kalkulus lebih unggul dari
algoritma genetik karena metode ini dengan cepat menemukan solusi minimum
ketika algoritma genetik masih menganalisa bobot dari populasi awal. Untuk
problemproblem ini pengguna harus mengakui fakta dari pengalaman ini dan
memakai metode tradisional yang lebih cepat tersebut. Akan tetapi, banyak
persoalan realistis yang berada di luar golongan ini. Selain itu, untuk persoalan
yang tidak terlalu rumit, banyak cara yang lebih cepat dari algoritma genetik
(Nugraha, 2008).
Sifat algoritma genetika adalah mencari kemungkinan-kemungkinan dari
kandidat solusi untuk mendapatkan yang optimal untuk penyelesaian masalah.
Ruang cakupan dari semua solusi yang layak (feasible), yaitu objek-objek diantara
solusi yang sesuai, dinamakan ruang pencarian (search space). Tiap titik dalam
ruang pencarian mempresentasikan satu solusi yang layak. Tiap solusi yang layak
dapat ditandai dengan nilai fitness-nya bagi masalah. Algoritma genetika bekerja
dari populasi yang merupakan himpunan solusi yang dihasilkan secara acak.
Setiap anggota himpunan yang merepresentasikan satu solusi masalah. Suatu
solusi masalah berevolusi dalam iterasi yang dinamakan generasi, tiap solusi
masalah dievaluasi berdasarkan fungsi evaluasi (fitness function). Pada algoritma
genetika, fitness biasanya dapat berupa fungsi objektif dari masalah yang akan
dioptimalisasi (Saraswati& Prayanthi, 2012).
Tabel 2.2.Perbandingan Istilah pada Sistem Alamiah dengan Algoritma
Genetika
Sistem Alamiah
Kromosom
Gen
Allel
Locus
Genotip
Fenotip

Algoritma Genetika
String
Fitur, Karakter atau Detektor
Nilai Fitur
Posisi String
Struktur
Set Parameter, Solusi Alternatif, Struktur yang didecode

Universitas Sumatera Utara

Epitasis

Non Linieritas

2.2.1 Beberapa Definisi Penting Dalam Algoritma Genetik
a.

Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan
kromosom. Dalam Algoritma Genetik, gen ini bisa berupa nilai biner, float,
integer, maupun karakter.

b.

Allel adalah nilai dari gen.

c.

Kromosom adalah gabungan dari gen-gen yang membentuk nilai tertentu.

d.

Individu menyatakan satu nilai dari keadaan yang menyatakan salah satu
siklus proses evolusi.

e.

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

f.

Generasi menyatakan satuan siklus proses evolusi.

g.

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

.
.
.

Populasi

Universitas Sumatera Utara

Gambar 2.1 Ilustrasi representasi penyelesaian permasalahan dalam algoritma
genetika

Algoritma genetik secara umum dapat diilustrasikan dalam Flowchat yang dapat
dilihat padagambar berikut:

Mulai

Mutasi

Populasi Awal

Kreteria Berhenti
Terpenuhi?

Crossover

tidak

Seleksi

ya
Evaluasi Fitness

Hasil

Selesai

Gambar 2.2 Flowchat Algoritma Genetika

2.2.2 Proses Algoritma Genetika(Novandry Widyastuti, 2008)
1.

Start
Generate populasi pertama secara random sebanyak nindividu.

2.

Fitness
Evaluasi nilai fitness f(x) dari setiap individu x didalampopulasi.

3.

New Populasi
Bentuk populasi baru dengan melakukan pengulangan langkah-langkah
dibawah ini sehingga didapatkan populasi baru.

Universitas Sumatera Utara

a. Selection
Pilih 2 individu sebagai orangtua dari sebuah populasi sesuai dengan fitness
mereka (Semakin baik fitness, maka semakin besar peluang mereka untuk
dipilih).

b. Crossover
Lakukan persilangan antara kedua orangtua sesuai dengan probabilitas
crossover untuk membentuk keturunan yang baru. Jika tidak terjadi
persilangan maka keturunan yang dihasilkan akan sama persis dengan
orangtuanya.
c. Mutation
Mutasi setiap keturunan yang baru sesuaidengan probabilitas mutasi di
setiap gen.
d. Accepting
Tempatkan keturunan yang baru sebagaipopulasi yang baru.
4.

Replace
Gunakan populasi yang baru dibentuk untukmenjalankan algoritma.

5.

Test
Jika kondisi akhir dipenuhi maka berhenti dan tampilkansolusi dari populasi.

6.

Loop
Kembali ke nomor 2.

2.2.3 Struktur Umum Dari Suatu Algoritma Genetik Dapat Didefinisikan
Dengan Langkah-Langkah Sebagai Berikut (Suhartono, 2015)
1.

Membangkitkan populasi awal (generate)

Universitas Sumatera Utara

Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi
awal.

Populasi

itu

sendiri terdiri dari sejumlah kromosom yang

mempresentasikan solusi yang diinginkan.
2.

Membentuk generasi baru
Dalam membentuk generasi baru digunakan tiga operator yaitu operator
reproduksi/seleksi, crossover, dan mutasi. Proses ini dilakukan berulangulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk
generasi baru dimana generasi baru ini merupakan representasi dari solusi
baru.

3.

Evaluasi solusi
Proses ini mengevaluasi setiap populasi dengan menghitung nilai fitness
setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti.
Bila kriteria berhenti belum terpenuhi maka dibentuk lagi generasi baru
dengan mengulangi langkah 2.
Beberapa kriteria berhenti yang sering digunakan antara lain:
a. Berhenti pada generasi tertentu.
b. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai
fitness tertinggi tidak berubah.
c. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang
lebih tinggi.

2.2.4 Komponen-Komponen Utama Algoritma Genetika (Suhartono, 2012)
1.

Teknik pengkodean
Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai
calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci
pokok

persoalan

ketika

menggunakan

Algoritma

Genetik.

Teknik

pengkodean ini meliputi pengkodean gen dan kromosom. Gen merupakan
bagian dari kromosom. Satu gen biasanya akan mewakili satu variable. Gen
dapat direpresentasikan dalam bentuk string bit, pohon, array bilangan real,

Universitas Sumatera Utara

daftar aturan, elemen permutasi, elemen program, atau representasi lainnya
yang dapat diimplementasikan untuk operator genetik.
Oleh karena itu, kromosom dapat direpresentasikan sebagai:
1. String bit: 11001, 10111
a. One Point Crossover
Sebuah titik crossover dipilih, selanjutnya string biner mulai dari awal
kromosom sampai dengan titik tersebut disalin dari salah satu
orangtua ke keturunannya, kemudian sisa bit keturunan disalin dari
orangtua yang kedua.
Contoh: 11001011 + 11011111 = 11001111.
b. Two Point Crossover
Dua titik crossover dipilih, selanjutnya string biner mulai dari awal
kromosom sampai dengan titik crossover pertama disalin dari salah
satu orangtua ke keturunannya kemudian mulai dari titik crossover
pertama sampai dengan titik kedua disalin dari orangtua kedua.
Sisanya disalin dari orangtua pertama.
Contoh: 11001011 + 11011111 = 11011111
2. Array bilangan real: 7.9, 9.7, -70
3. Elemen permutasi: E5, E8, E11
4. Daftar aturan: R1, R2, R3
5. Elemen program: pemrograman genetika
2.

Prosedur inisialisasi
Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis
operator genetik 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.

Universitas Sumatera Utara

3.

Evaluasi fitness
Evaluasi fitness merupakan dasar untuk proses seleksi. Langkah-langkahnya
yaitu string dikonversi ke parameter fungsi, fungsi objektifnya dievaluasi,
kemudian mengubah fungsi objektif tersebut ke dalam fungsi fitness. Dimana
untuk maksimalisasi problem, fungsi fitness dipergunakan sebagai dasar
untuk menseleksi individu pada generasi berikutnya. Untuk permasalahan
minimalisasi, nilai fitness adalah inversi dari nilai minimal yang diharapkan.

Rumus fitness yang digunakan, (Suhartono, 2015) adalah sebagai berikut:
�������= 1 / 1+(�1�1+�2�2+⋯)

(2)

Keterangan:
Bn = Bobot pelanggaran

n = 1, 2 . . . n

Fn = Banyaknya pelanggaran
4.

Seleksi
Proses seleksi bertujuan untuk memilih individu-individu yang akan dipilih
untuk proses persilangan dan mutasi, sehingga akan diperoleh calon induk
yang baik. Induk yang baik akan menghasilkan keturunan yang baik.
Langkah pertama dalam seleksi yaitu pencarian nilai fitness. Masing-masing
individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi
yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif dari
semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang
nantinya akan digunakan pada tahap seleksi berikutnya.

Ada beberapa metode untuk memilih kromosom yang digunakan antara lain:

a. Roulette wheel selection
Seleksi ini dilakukan dengan cara menyeleksi parent dengan tujuan untuk
mempertahankan nilai fitness-nya agar memiliki kesempatan untuk
diseleksi adalah kromoson yang baik. Proses ini diibaratkan seperti
permainan roda rolet (roullette wheel), di mana semua kromosom

Universitas Sumatera Utara

ditempatkan dalam populasi, setiap tempat besar sesuai dengan fungsi
fitness. Kromosom dipilih berdasarkan nilai fitness, semakin besar nilai
fitness maka kromosom tersebut mempunyai peluang untuk dipilih
beberapa kali. Metode seleksi roda rolet merupakan metode yang paling
sederhana, dan sering juga dikenal dengan nama stochastic sampling with
replacement.

b. Selekssi good fitness
Seleksi ini dilakukan dengan cara setengah dari jumlah populasi yang
memiliki nilai fitness yang paling rendah akan dihilangkan, sehingga
selalu hanya tersisa sekelompok solusi yang terbaik. Solusi yang tersisa
hasil dari seleksi tersebut disebut populasi induk. Karena jumlah populasi
harus tetap, maka perlu di-generate solusi baru sebanyak setengah dari
jumlah populasi yang ada. Ada 2 cara yang digunakan untuk mengenerate solusi baru, yaitu dengan cara reproduksi kromosom baru dan
mutasi dari solusi induk. Tujuan men-generate solusi baru ini adalah
untuk menemukan alternatif solusi yang lebih baik dari solusi-solusi yang
sudah dihasilkan.

2.2.5 Teknik-Teknik dalam Algortima Genetik
Ada 4 teknik yang dapat dilihat dalam Speech Recognition (Nugraha, 2008) yaitu:
1.

Fitness Function
Setiap individual dievaluasi dengan fitness function. Sebuah fitness function
mengembalikan nilai tertinggi untuk individual yang terbaik. Individu akan
diurutkan berdasarkan nilai atau disebut dengan selection.

2.

Crossover
Untuk setiap pasang induk, sebuah titik crossover akan dipilih secara random
dari posisi dalam string. Pada gambar titik crossover terletak pada indeks
ketiga dalam pasangan pertama dan setelah indeks kelima pada pasangan
kedua.

Universitas Sumatera Utara

3.

Mutasi
Pada mutasi, tiap lokasi menjadi sasaran mutasi acak, dengan probabilitas
independen yang kecil. Sebuah digit dimutasikan pada anak pertama, ketiga,
dan keempat. Algoritma genetika mengkombinasikan suatu kecenderungan
menaik dengan pengeksplorasian acak diantara thread pencarian paralel.
Keuntungan secara matematis dapat tunjukkan bahwa bila posisi dari kode
genetik di permutasikan di awal dengan urutan acak, crossover tidak
memberikan keunggulan. Secara intuisi, keuntungannya didapat dari
kemampuan crossover untuk menggabungkan blok-blok huruf berukuran
besar yang telah berevolusi secara independen untuk melakukan fungsi yang
bermanfaat sehingga dapat menaikkan tingkat granularity di mana pencarian
dilakukan.

4.

Schema
Teori dari algoritma genetik menjelaskan cara kerjanya menggunakan ide
dari suatu schema, suatu substring di mana beberapa posisi tidak disebutkan.
Dapat ditunjukkan bahwa, bila fitness rata-rata dari schema berada di bawah
mean maka jumlah instansiasi dari schema di dalam populasi akan bertambah
seiring bertambahnya waktu. Jelas sekali bahwa efek ini tidak akan signifikan
bila bit-bit yang bersebelahan sama sekali tidak berhubungan satu sama
sekali, karena akan ada beberapa blok kontigu yang memberikan keuntungan
yang konsisten. Algoritma genetik paling efektif dipakai bila schema-schema
berkorespondensi menjadi komponen berati dari sebuah solusi. Sebagai
contoh, bila string adalah representasi dari sebuah antena, maka schema
merepresentasikan komponen-komponen dari antena, seperti reflector dan
deflector. Sebuah komponen yang baik cenderung akan berkerja baik pada
rancangan yang berbeda.

2.2.6 Contoh-contoh Pengaplikasian Algoritma Genetik

Universitas Sumatera Utara

Menurut (Suyanto, 2005) algoritma genetika telah banyak diaplikasikan untuk
penyelesaian masalah dan pemodelan dalam bidang teknologi, bisnis dan
entertainment seperti:
a.

Optimasi
Algoritma genetika untuk optimasi numerik dan optimasi kombinatorial
seperti Traveling Salesman Problem (TSP), perancangan Integrated circuit
atau IC, optimasi video dan suara.

b.

Pemrograman Otomatis
Algoritma genetika telah digunakan untuk melakukan proses evolusi terhadap
program komputer untuk merancang struktur komputasiona, seperti cellular
automata dan sorting network.

c.

Machine Learning
Algoritma genetika telah berhasil diaplikasikan untuk memprediksi struktur
protein, dan berhasil diaplikasikan dalam perancangan neural networks
(jaringan syaraf tiruan) untuk melakukan proses evolusi terhadap aturanaturan pada learning classifier system atau symbolic production system, juga
digunakan untuk mengontrol robot.

d.

Model Ekonomi
Algoritma genetika telah digunakan untuk memodelkan proses-proses inovasi
dan pembangunan bidding strategies.

e.

Model Sistem Imunisasi
Algoritma genetika telah berhasil digunakan untuk memodelkan berbagai
aspek pada sistem imunisasi alamiah, termasuk somatic mutation selama
kehidupan individu dan menemukan keluarga dengan gen ganda (multi-gene
families) sepanjang waktu evolusi.

f.

Model Ekologis

Universitas Sumatera Utara

Algoritma genetika berhasil digunakan untuk memodelkan fenomena
ekologis seperti host-parasite co-evolutions, simbiosis, dan aliran sumber
daya dalam ekologi.
g.

Interaksi antara Evolusi dan Belajar
Algoritma genetika telah digunakan untuk mempelajari bagaimana proses
belajar suatu individu bisa mempengaruhi proses evolusi suatu species dan
sebaliknya.

2.2.7 Masalah-masalah yang Bisa Diselesaikan dengan Algoritma Genetik
Algoritma genetika sangat berguna dan efisien untuk masalah-masalah dengan
karakteristik sebagai berikut (Suyanto, 2005):
a.

Ruang masalah sangat besar, kompleks, dan sulit dipahami.

b.

Kurang atau bahkan tidak ada pengetahuan yang memadai untuk
merepresentasikan masalah ke dalam ruang pencarian yang lebih sempit.

c.

Tidak tersedianya analisis matematika yang memadai.

d.

Ketika metode-metode konvensional sudah tidak mampu meyelesaikan
masalah yang dihadapi.

e.

Solusi yang diharapkan tidak harus paling optimal, tetapi cukup bagus atau
bisa diterima.

f.

Terdapat batasan waktu, misalnya real time system atau sistem waktu nyata.

2.3Implimentasi Perancangan Perangkat Lunak (Software)

2.3.1HTML
HTML singkatan dari Hyper Text Markup Language, merupakan bahasa
komputer yang ditulis pada suatu halaman file untuk memberitahu browser anda
bagaimana sebuah halaman hendak ditampilkan. HTML adalah bahasa yang
digunakan untuk memberitahu browser bagaimana untuk menampilkan suatu

Universitas Sumatera Utara

halaman sesuai dengan yang kita inginkan, seperti posisi, ukuran, warna dan lainlain. Bahasa tersebut terdiri dari berbagai kode- kode yang masing- masing
memiliki fungsi dan tugasnya masing- masing. Ketika anda melihat sebuah
halaman di browser komputer anda, yang anda lihat sebenarnya adalah
penerjemahan perintah HTML yang dilakukan oleh browser anda dari sebuah
halaman.

2.3.2PHP
Kepanjangan dari PHP adalah "Hypertext Preprocessor" (ini merupakan singkatan
rekursif). Jadi, Apa itu PHP? PHP adalah bahasa scripting web HTML-embedded.
Ini berarti kode PHP dapat disisipkan ke dalam HTML halaman Web. Ketika
sebuah halaman PHP diakses, kode PHP dibaca atau "diurai" oleh server. Output
dari fungsi PHP pada halaman biasanya dikembalikan sebagai kode HTML, yang
dapat dibaca oleh browser. Karena kode PHP diubah menjadi HTML sebelum
halaman dibuka, pengguna tidak dapat melihat kode PHP pada halaman. Ini
membuat halaman PHP cukup aman untuk mengakses database dan informasi
aman lainnya.

2.3.3CSS
CSS adalah kependekan dari Cascading Style Sheet. CSS merupakan salah satu
kode pemrograman yang bertujuan untuk menghias dan mengatur gaya
tampilan/layout halaman web supaya lebih elegan dan menarik.CSS adalah
sebuah teknologi internet yang direkomendasikan oleh World Wide Web
Consortium atau W3C pada tahun 1996. Awalnya, CSS dikembangkan di SGML
pada tahun 1970, dan terus dikembangkan hingga saat ini. CSS telah mendukung
banyak bahasa markup seperti HTML, XHTML, XML, SVG (Scalable Vector
Graphics) dan Mozilla XUL (XML User Interface Language).

2.3.4 Database

Universitas Sumatera Utara

Database adalah kumpulan data yang tersusun secara sistematis sehingga akan
memudahkan pengguna untuk mengakses dan mengatur sehingga akan
menghasilkan sebuah informasi yang efektif dan efisien.
Database dapat berdiri-sendiri dan juga dapat digabung menjadi satu
kesatuan. Menggabung dua atau lebih jenis database disebut mengkorelasikan.
Sistem manajemen database merupakan software yang digunakan untuk
mengelola database Sampai pengaturan hak akses.

Basis Data: Himpunan kelompok data (arsip) yang saling berhubungan,
yang diorganisasi sedemikian rupa, sehingga kelak dapat dimanfaatkan kembali
dengan cepat.

2.3.5 Sublime text
Sublime Text itu adalah salah satu text editor yang biasa digunakan oleh para
programmer, khususnya Web Developer. Bisa diibaratkan sebagai senjata-nya
Web Developer. Setiap web developer wajib untuk menggunakan Sublime Text
sebagai ‘senjata harian’-nya.

2.3.6 XAMPP
XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi,
merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server
yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server,
MySQLdatabase,

dan penerjemah bahasa yang

ditulis

dengan

Bahasa

pemograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat
sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia
dalam GNU General Public License dan bebas, merupakan web server yang
mudah digunakan yang dapat melayani tampilan halaman web yang dinamis.

Universitas Sumatera Utara

Dokumen yang terkait

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

6 91 180

Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika (Studi Kasus: S-1 Ilmu Komputer Universitas Sumatera Utara)

7 85 140

Efektivitas dance/movement therapy Terhadap penurunan tingkat stres Mahasiswa matrikulasi penerimaan mahasiswa baru Fakultas kedokteran universitas sumatera utara 2012 Berdasarkan depression, anxiety and stress scale

14 116 72

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 11

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 2

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 6

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara) Chapter III V

0 0 29

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 2

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 3 44

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 0 17