Contoh Skripsi Teknik Informatika


BAB I
PENDAHULUAN

1.1         Latar Belakang
Pengaturan waktu terhadap suatu kegiatan merupakan hal yang penting dilakukan agar kegiatan  tersebut  berlangsung  secara  lancar.  Pengaturan  waktu  tersebut biasa disebut penjadwalan. Penyusunan jadwal kegiatan berkaitan dengan berbagai batasan/kendala yang harus dipenuhi sehingga memerlukan banyak pertimbangan untuk mendukung kegiatan tersebut. Ada berbagai masalah  penjadwalan di dunia nyata seperti alokasi  kejadian,  kegiatan,  jumlah orang, kendaraan, dan lain-lain. Sebagian besar kasus penentuan jadwal yang bisa diterapkan sangat sulit dicapai karena sumber daya (waktu, tempat, orang, dan lain-lain) terbatas. Jadi penentuan sebuah jadwal  yang efisien menjadi masalah penting.
Masalah penjadwalan  dalam  dunia  pendidikan  dapat  dibagi  menjadi  dua kategori,  yaitu   penjadwalan  kuliah  dan  ujian. Umumnya setiap perguruan tinggi selalu menghadapi masalah pada awal  setiap  semester  akademik.  Hal  tersebut  dapat mencakup masalah alokasi suatu kejadian (sesi pengajaran, ujian, sesi lab, dan lain-lain) pada sejumlah kelas, ruang, dan dosen pada periode waktu yang telah ditentukan. Penyelesaian  masalah  penjadwalan  perkuliahan dalam jumlah yang sangat besar hingga saat ini masih menjadi permasalahan yang rumit untuk diselesaikan secara manual (Wiga dkk, 2013). Perguruan tinggi harus memberikan jadwal yang nantinya masuk ke dalam waktu tertentu dimana setiap perkuliahan tidak benturan. Penjadwalan pada  umumnya   diperlukan  untuk  mengantisipasi  adanya  benturan  jam  kuliah  dan  juga  waktu dosen dalam mengajar. Jadwal yang dihasilkan juga harus memenuhi batasan dan syarat yang bertujuan agar jadwal yang dihasilkan sesuai saat digunakan.
Persoalan khusus yang ditemukan pada masalah penjadwalan di perguruan tinggi adalah masalah optimasi. Masalah ini membutuhkan waktu komputasi yang cukup tinggi untuk pencarian solusinya, terlebih lagi jika ukuran permasalahan semakin besar dengan bertambahnya jumlah komponen dan tetapan atau syarat yang ditentukan oleh institusi tempat  jadwal tersebut digunakan (Uning, 2014). Selama proses, banyak aspek yang harus dipertimbangkan untuk memperoleh jadwal yang optimal, dan seringkali  tidak dapat memuaskan  karena tidak semua kebutuhan terpenuhi. Oleh karena itu perlu ditetapkan suatu batasan dalam penyusunan jadwal yang bersifat harus  dipenuhi (hard constraints) dan tidak harus dipenuhi (soft constraints), tetapi  tetap menjadi acuan dalam proses pembuatan jadwal (Mawaddah, 2006).
Persoalan optimasi (optimization problem) adalah persoalan yang menuntut pencarian solusi optimum (Marwana, 2012). Persoalan optimasi dibagi menjadi dua macam, yaitu maksimasi (maximization)  dan  minimasi  (minimization).  Ada  dua metode dalam penyelesaian masalah optimasi, yaitu (1) Metode  Konvensional  yang  diterapkan  dengan  menggunakan  perhitungan matematika murni atau secara biasa. Ada beberapa metode konvensional yang sering digunakan untuk menyelesaikan masalah optimasi, diantaranya: algoritma  Djikstra, algoritma Floyd-Warshall, dan algoritma Bellman-Ford. (2) Metode  Heuristik salah satu dari bidang kecerdasan buatan yang digunakan untuk  menyelesaikan masalah optimasi. Terdapat beberapa algoritma dari metode heuristik yang sering digunakan dalam permasalahan optimasi, diantaranya adalah algoritma  genetika,  algoritma  pencarian  tabu,  jaringan  saraf  tiruan,  algoritma  semut  dan  lain-lain.
Penelitian-penelitian terbaru menyarankan bahwa algoritma genetika  merupakan metode yang layak dan efektif dalam mengatasi masalah penjadwalan  (Teno dan Palgunadi, 2014). Algoritma genetika merupakan metode heuristik adaptif yang memiliki dasar pemikiran atau  gagasan  dari  proses  seleksi   alam  dan genetika berdasarkan penelitian Charles Darwin. Algoritma genetika cukup baik untuk digunakan dalam penjadwalan mata kuliah di sebuah perguruan tinggi.  Algoritma genetika merupakan salah satu jalan untuk memecahkan masalah yang  cukup besar dengan solusi yang cukup baik meskipun masalah tersebut membutuhkan waktu eksekusi yang lama bila dilakukan secara manual ( Jain, dkk, 2010).
Berdasarkan latar belakang di atas, maka penelitian mengusulkan bagaimana optimasi penjadwalan mata kuliah pada Fakultas Teknik Universitas Serambi Mekkah menggunakan algoritma genetika. Penelitian ini akan membangun aplikasi komputer dan melakukan uji coba optimasi masalah penjadwalan kuliah di Fakultas Teknik Universitas Serambi Mekkah menggunakan metode Meta-Heuristic, yaitu: Algoritma Genetika. Permasalahan yang ditangani pada penelitian ini adalah (1) pengelolaan komponen-komponen jadwal, seperti: data dosen, mahasiswa, ruangan, mata kuliah, dan waktu perkuliahan dan (2) pembuatan jadwal penggunaan ruang dan mata kuliah. Di harapkan dengan menggunakan algoritma ini akan dapat menyelesaikan masalah  penjadwalan ruang dan mata kuliah sehingga dapat mengoptimalkan kinerja staf akademik di Fakultas Teknik Universitas Serambi Mekkah Banda Aceh.

1.2         Batasan Masalah
Agar konsep penelitian ini lebih terarah, perlu ditentukan batasan permasalahan. Adapun batasan yang digunakan dalam penelitian ini, yaitu:
1.    Setiap dosen bersedia mengajar di ruang manapun yang tersedia dan pada waktunya yang ditentukan.
2.    Setiap mahasiswa bersedia menempati ruang dan waktu yang tersedia.
3.    Kapasitas ruangan pasti mencukupi sesuai dengan jumlah mahasiswa.
4.    Metode pemecahan masalah dengan Algoritma Genetika.
5.    Data lain untuk melengkapi algoritma dapat diasumsikan.

1.3         Rumusan Masalah
Berdasarkan latar belakang masalah di atas, maka rumusan masalah dalam penelitian ini antara lain :
1.    Bagaimana merancang aplikasi proses penjadwalan perkuliahan yang belum optimal pada Fakultas Teknik Universitas Serambi Mekkah (USM) Banda Aceh?.
2.    Bagaimana menyajikan metode optimasi algoritma genetika dalam mengatasi permasalahan penjadwalan mata kuliah yang saling berbenturan pada Fakultas Teknik Universitas Serambi Mekkah (USM) Banda Aceh?.

1.4         Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah:
1.    Dapat perancangan proses optimasi penjadwalan mata kuliah yang belum pada Fakultas Teknik Universitas Serambi Banda Aceh.
2.    Menerapkan metode optimasi dalam mengatasi permasalahan penjadwalan mata kuliah yang saling berberunturan pada Fakultas Teknik Universitas Serambi Mekkah Banda Aceh.

1.5         Manfaat Penelitian
Hasil penelitian ini diharapkan dapat memberikan manfaat yang berarti bagi civitas akademika Fakultas Teknik Universitas Serambi Mekkah Banda Aceh, bagi pembaca, masyarakat umumnya.
Bagi Civitas Akademika Fakultas Teknik Universitas Serambi Mekkah Banda Aceh diharapkan penelitian ini dapat menjadi referensi untuk menghasilkan jadwal yang optimal secara komputasi, menggunakan metode algoritma genetika
Bagi pembaca diharapkan penelitian ini bisa sebagai bahan referensi bagi penelitian selanjutnya terutama dalam pembahasan teori penjadwalan yang digunakan dalam penelitian.




BAB II
LANDASAN TEORI

2.1         Optimasi
Optimasi adalah salah satu disiplin ilmu dalam matematika yang fokus untuk mendapatkan nilai minimun atau maksimum secara sistematis dari suatu fungsi, peluang, maupun pencarian nilai lainnya dalam berbagai kasus. Optimasi sangat berguna di hampir segala bidang dalam rangka melakukan usaha secara efektif dan efisien untuk mencapai target hasil yang ingin dicapai.
Suatu permasalahan optimasi disebut nonlinear jika fungsi tujuan dan kendalanya mempunyai bentuk nonlinear pada salah satu atau keduanya. Optimasi merupakan masalah yang berhubungan dengan keputusan yang terbaik, maksimum, minimum dan memberikan cara penentuan solusi yang memuaskan (Rahman, 2008).
Persoalan optimasi (optimization problem) adalah persoalan yang menuntut pencarian solusi optimum (Marwana, 2012). Persoalan optimasi dibagi menjadi dua macam, yaitu maksimasi (maximization)  dan  minimasi  (minimization).  Ada  dua metode dalam penyelesaian masalah optimasi, yaitu (1) Metode Konvensional yang diterapkan dengan menggunakan perhitungan matematika murni atau secara biasa. Ada beberapa metode konvensional yang sering digunakan untuk  menyelesaikan masalah optimasi, diantaranya: algoritma Djikstra, algoritma FloydWarshall, dan algoritma Bellman-Ford. (2) Metode Heuristik salah satu dari bidang kecerdasan buatan yang digunakan untuk menyelesaikan masalah optimasi. Terdapat beberapa algoritma dari metode heuristik yang sering digunakan dalam permasalahan optimasi, diantaranya adalah algoritma  genetika,  algoritma pencarian tabu, jaringan saraf tiruan, algoritma semut dan lain-lain.

2.2         Penjadwalan Mata Kuliah
Penjadwalan merupakan suatu kegiatan alokasi sumber daya dengan memiliki kendala (batasan) yang diberikan kepada suatu objek seperti di ruang-waktu, sedemikian rupa untuk memenuhi sedekat mungkin set tujuan yang  diinginkan "(Wren,  1996). Definisi yang lebih umum adalah menugaskan satu set peristiwa (kuliah, kendaraan, acara-acara publik, dan lain-lain) dengan set terbatas  sumber dari waktu ke waktu sedemikian rupa untuk memenuhi kendala (batasan/constraint) yang telah ditetapkan. kendala ini dapat dikategorikan  sebagai hard constraint dan soft constraint, di mana hard constraint memiliki prioritas yang lebih tinggi dari pada soft constraint.
Terdapat dua batasan dalam penyusunan penjadwalan kuliah yang dikemukakan oleh (Burke dkk, 2002), yaitu : hard constraint  (harus terpenuhi) dan soft constraint (diupayakan untuk terpenuhi). Hard constraints merupakan batas-batas yang harus diterapkan pada penjadwalan mata kuliah dan harus dipenuhi. Sebuah solusi hanya dapat dikatakan sahih dan valid apabila dalam solusi tersebut sama sekali tidak ada hard constraint yang  terlanggar. Hard constraints yang umum dalam penjadwalan mata kuliah adalah sebagai berikut :
1.             Seorang dosen hanya dapat mengajarkan mata  kuliah  untuk  satu  lokasi  pada  waktu tertentu.
2.             Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada waktu tertentu.
3.             Sebuah lokasi (ruangan/lab. komputer) hanya dapat digunakan untuk satu mata kuliah pada waktu tertentu.
4.             Mata kuliah dengan bobot 3 SKS dijadwalkan dengan satu kali  pertemuan  dalam seminggu.
5.             Hari aktif untuk perkuliahan adalah hari Senin sampai dengan Sabtu.
Berbeda dengan hard constraint, soft constraint merupakan kendala yang tidak selalu dapat terpenuhi dalam proses pembentukan jadwal, akan tetapi meskipun tidak harus terpenuhi, jadwal yang dihasilkan harus semaksimal mungkin berusaha memenuhi ketentuan soft constraint.
Contoh soft constraints dalam penjadwalan mata kuliah antara lain :
1.             Dosen dapat meminta waktu mengajar tertentu yang diinginkan.
2.             Penempatan jadwal untuk waktu yang telah diminta dosen disesuaikan dengan prioritas dosen.
Berdasarkan Gambar 2.1 menunjukkan bahwa penjadwalan mata kuliah yang dipengaruhi oleh beberapa komponen yang terdiri atas, dosen, ruang kelas, mata kuliah, laboratorium dan waktu dengan sejumlah batasan batasan tertentu, dimana  batasan-batasan  tersebut  ada  yang  harus  dipenuhi  atau  tidak  boleh dilanggar. Batasan tersebut merupakan ukuran kualitas dari penjadwalan mata kuliah, sehingga suatu jadwal mata kuliah yang optimal dapat terbentuk.
Gambar 2.1. Faktor-faktor yang Mempengaruhi Penentuan Jadwal Kuliah
Sumber : Mary, 2011

2.3         Algoritma Genetika (GA)
2.3.1   Definisi Algoritma Genetika
Algoritma Genetika merupakan salah satu metode untuk menentukan  optimalisasi atas dasar Teori Darwin. Langkah prosedur algoritma ini diawali dengan menentukan suatu set solusi potensial dan melakukan perubahan dengan beberapa perulangan (iterasi) dengan algoritma genetika untuk menghasilkan  solusi terbaik. Set solusi potensial ini ditetapkan diawal dan disebut dengan  kromosom. Kromosom ini dibentuk secara random berupa susunan angka binary yang di-generate dan dipilih. Keseluruhan set dari kromosom yang diobservasi mewakili suatu populasi (Heli dkk, 2010). Kromosom-kromosom berevolusi beberapa kali tahapan iterasi yang disebut dengan generasi. Generasi baru (offsprings) dihasilkan dengan teknik kawin silang (crossover) dan mutasi (mutation). Crossover meliputi pemisahan atau pemecahan (splitting) dua  kromosom, kemudian mengkombinasikan setengah bagian dari masing-masing kromosom dengan pasangan-pasangan lainnya. Mutasi meliputi pertukaran (flipping) satu bit (bagian) dari kromosom dengan satu bagian lain dari kromosom  lain yang menjadi pasangannya. Kromosom-kromosom tersebut kemudian berevolusi dengan suatu  kriteria  kesesuaian  (fitness)  yang  telah  ditetapkan,  hasil  yang terbaik akan dipilih sedangkan yang lainnya diabaikan. Proses ini dilakukan secara berulang ulang sampai menemukan suatu kromosom yang memiliki kesesuaian terbaik (best fitness) untuk dijadikan sebagai solusi terbaik dari suatu masalah.

2.3.2   Struktur Umum Algoritma Genetika
Pada ilustrasi Gambar 2.2 diperlihatkan struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut (Mary, 2011):
1.             Menghasilkan atau membangkitkan populasi awal (generate).
Populasi awal di-generate secara random, dimana populasi tersebut terdiri dari beberapa kromosom yang telah didefinisikan sehingga dapat dijadikan solusi awal. Populasi tersebut terdiri dari beberapa kromosom yang mewakili solusi yang diinginkan.
2.             Membentuk generasi baru
Membuat generasi baru menggunakan tiga operator yaitu operator reproduksi/seleksi, crossover dan mutasi. Tahapan tersebit dilakukan secara berulang-ulang sehingga diperoleh sejumlah kromosom yang  cukup  untuk menghasilkan generasi baru dimana generasi  baru  tersebut  merupakan representasi dari solusi baru. Generasi baru ini dikenal denga  istilah anak (offspring).


3.             Evaluasi solusi
Pada tiap generasi, kromosom akan diukur dengan fungsi fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam  populasi tersebut. Proses ini akan mengevaluasi  setiap  populasi  dengan  menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Apabila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah b. Beberapa kriteria berhenti yang sering digunakan antara lain:
1)   Berhenti pada generasi tertentu.
2)   Berhenti  setelah  beberapa  generasi  berturut-turut  didapatkan  nilai fitness tertinggi.
3)   Berhenti pada n generasi dimana nilai fitness dari populasi tidak mengalami perubahan.

Gambar 2.2. Flowchart Operasi Algoritma Genetika

2.3.3   Komponen-komponen Utama Algoritma Genetika
Selain itu, berdasarkan penelitian Mary (2011) terdapat 6 komponen utama di dalam algoritma genetika.
1.             Teknik Pengkodean
Suatu  teknik  bagaimana  mengkodekan gen dari  kromosom.  Teknik  ini  merupakan teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok  masalah. Teknik pengkodean meliputi  pengkodean gen dan kromosom. Gen adalah bagian dari kromosom yang dapat direpresentasikan dalam bentuk string bit, tree, array bilangan real, daftar  aturan, elemen  permutasi, elemen program, atau representasi lain yang dapat diimplementasikan untuk operator genetika.
2.             Prosedur Inisialisasi (generate populasi awal)
Suatu proses yang menghasilkan sejumlah individu secara acak (random). Banyaknya populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan  diterapkan. Setelah  jumlah  populasi  ditentukan, selanjutnya dilakukan inisialisasi terhadap kromosom  yang  ada di dalam populasi tersebut. Inisialisasi  kromosom dilakukan secara acak, dengan tetap memperhatikan domain solusi dan kendala permasalahan yang ada.
Inisialisasi  kromosom direpresentasikan dalam bentuk larik dengan tipe  data record yang berisi data yang mendukung proses penjadwalan.  Panjang  dari  kromosom adalah sebanyak gen yang ada, dalam hal ini setiap gen mewakili mata kuliah yang diujikan.
Tabel 2.1. Inisialisasi Kromosom
Id_Dosen
1
1
2
3
3
4
Id_MK
1
2
3
4
5
6
Kromosom 1
1,2
2,4
3,5
4,4
2,1
3,1
Kromosom 2
2,2
1,4
3,3
1,1
5,4
4,2
………….
Kromosom n
1,5
4,5
3,4
2,2
4,5
1,1

Pada Tabel 2.1 merupakan ilustrasi dari inisialisasi kromosom. Pada  inisialisasi kromosom, mata kuliah diurutkan berdasarkan id_dosen, hal ini dilakukan untuk lebih memudahkan penghitungan nilai cost.  Setelah  terjadi  proses genetika dihasilkan kromosom-kromosom yang terdiri dari beberapa  gen (sesuai dengan jumlah mata kuliah) yang berisi slot waktu (hari dan jam) untuk setiap mata kuliah.
3.             Fungsi Evaluasi
Individu dievaluasi berdasarkan fungsi tertentu  sebagai  ukuran  kinerjanya.  Individu dengan nilai fitness tinggi pada kromosomnya yang akan dipertahankan, sedangkan individu yang pada kromosomnya bernilai fitness rendah akan diganti. Fungsi fitness tergantung pada permasalahan tertentu dari representasi yang digunakan. Rumus fitness yang digunakan, (Lee dkk, 2001) adalah sebagai berikut:
Fitness = . . . . . . . . . . . . . . . . . . (pers 2.1)
Keterangan :  Bn = Bobot pelanggaran
fn = Banyaknya pelanggaran
n = 1 . . . n
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  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)             Seleksi dan 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 men-generate 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.
Individu-individu dalam populasi telah terbentuk, maka langkah  selanjutnya adalah menghitung nilai fitness setiap individu. Pada tabel 2.2 diperlihatkan aturan dan nilai pinalti penghitungan  dilakukan  dengan  memberikan  pinalti  untuk  setiap  aturan yang  digunakan  dalam  penjadwalan.  Semakin  wajib  aturan  dilaksanakan,  maka  akan  semakin  besar nilai pinalti yang diberikan. Berikut aturan penghitungan fungsi fitness.
f(g) = 1 / (1 + ∑Pivi(g)); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . pers(2.2)

dimana  Pi adalah pinalti yang diberikan untuk aturan  i, dan  vi(g) = 1 jika jadwal  g  melanggar aturan i, bernilai 0 jika sebaliknya.
Tabel 2.2 Aturan dan Nilai Pinalti
Aturan
Nilai Pinalti
Kesediaan waktu dosen
1
Tabrakan mata kuliah wajib dan pilihan
2
Konflik waktu dosen
3
Tabrakan mata kuliah satu semester
3
Apabila penghitungan fitness setiap indivudu telah dilakukan, maka  langkah selanjutnya adalah seleksi induk. Seleksi yang digunakan adalah seleksi roda roulette. Pada seleksi roda roulette, semakin tinggi nilai fitness maka semakin besar kemungkinan untuk terpilih menjadi induk.
5.             Operator Genetika
Algoritma genetika merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritmagenetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan  adalah  menghindari  terjadinya  konvergensi  premature,  yaitu  mencapai  solusi optimum  yang belum  waktunya, dalam arti  bahwa  solusi  yang  diperoleh  adalah  hasil optimum lokal. Ada dua operator genetika yaitu:
a)             Crossover (Persilangan)
Crossover merupakan proses di dalam algoritma genetika yang bekerja untuk meng-gabungkan dua kromosom parent menjadi kromosom baru  (offspring)  pada suatu waktu. Sebuah kromosom yang mengarah pada solusi baik dapat diperoleh melalui proses crossover pada dua buah kromosom. Cara sederhana pada proses crossover yaitu dengan memilih satu titik yang dipisahkan secara acak dan kemudian membentuk offspring dengan mengkombinasikan segmen dari satu induk kesebelah kiri dari titik yang dipisahkan dengan segmen dari induk yang lain ke sebelah kanan dari titik yang dipisahkan. Perkawinan silang yang digunakan adalah perkawinan silang satu titik. Pada perkawinan ini dilakukan dengan cara menukar nilai gen pada posisi gen yang sama dari kedua induk. Penukaran gen tersebut juga  harus dilakukan  pengecekan apakah individu baru yang terbentuk sesuai dengan  aturan yang berlaku.
Pada Gambar 2.3 diperlihatkan bagaimana proses ilustrasi perkawinan silang.
Gambar 2.3. Ilustrasi Perkawinan Silang
Sumber : Mahmudy (2006)
b)             Mutation (Mutasi)
Proses  merupakan  untuk  mengubah  salah  satu  atau  lebih  beberapa  gen  dari suatu  kromosom. Proses ini berfungsi untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Mutasi dapat dilakukan dengan dua cara, yaitu cara random dan cara swap atau penukaran. Pada Gambar 2.4 dan 2.5 diperlihatkan ilustrasi mutasi cara Random dan Swap mutasi cara  Random  adalah  dengan  menentukan  dua gen yang akan dimutasi. Setelah itu nilai kedua gen tersebut dirandom ulang untuk mendapatkan nilai yang baru. Pada mutasi cara Swap dilakukan penukarang langsung nilai dari gen. Pemilihan cara mutasi dilakukan secara random.
Gambar 2.4 Ilustrasi Mutasi Cara Random
Gambar 2.5 Ilustrasi Mutasi Cara Swap
Sumber : Mahmudy (2006)
6.             Parameter Kontrol
Parameter kontrol genetika diperlukan untuk mengendalikan operator-operator seleksi. Pemilihan parameter genetika menentukan penampilan kinerja algoritma genetika dalam memecahkan masalah (Desiani dkk, 2006). Ada dua parameter dasar dari algoritma genetika, yaitu probabilitas crossover (Pc) dan probabilitas mutasi (Pm).
a)             Probabilitas Crossover (Pc)
Probabilitas crossover akan mengendalikan operator crossover dalam  setiap generasi dalam populasi yang mengalami crossover. Semakin besar nilai probabilitas crossover, akan semakin cepat struktur individu baru terbentuk ke dalam  populasi. Apabila  nilai  probabilitas  crossover  terlalu  besar, maka individu yang merupakan kandidat solusi terbaik mungkin  akan dapat hilang lebih cepat pada generasi selanjutnya. Nilai probabilitas crossover yang disarankan adalah berkisar antara 80 % - 95 %.
b)             Probabilitas mutasi (Pm)
Probabilitas mutasi akan mengendalikan operator mutasi pada setiap generasi dengan peluang mutasi yang digunakan lebih kecil daripada peluang crossover. Pada seleksi alam murni, mutasi jarang sekali  muncul, sehingga operator mutasi pada algoritma genetik tidak selalu terjadi. Nilai probabilitas mutasi yang disarankan kecil antara 0.5% - 1%.
Secara keseluruhan proses yang dilakukan seperti terlihat dalam proses optimasi algoritma genetka seperti yang diperlihatkan pada Gambar 2.6 sebagai berikut.

Gambar 2.6 Komponen-kompenen Algoritma Genetika
Sumber : Mary (2011)

2.4         Pengertian MySQL
MySQL merupakan aplikasi yang tergolong database server dan bersifat open source. Open source menyatakan bahwa aplikasi ini dilengkasi dengan source code atau kode yang dipakai untuk membuat MySQL, selain executable nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara mengunduh di internet secara gratis. Hal menarik lainnya adalah MySQL juga bersifat multiplatform. MySQL dapat dijalankan pada berbagai sistem operasi.

2.5         Pengertian Database
Database sering didefenisikan sebagai kumpulan data yang terkait. Secara teknis, yang berada dalam sebuah database adalah sekumpulan tabel atau objek lain. Tujuan utama pembuatan database adalah untuk memudahkan dalam mengakses data. Data dapat ditambahkan, diubah, dihapus atau dibaca dengan relatif mudah dan cepat. Sebuah tabel berisi sejumlah baris dan kolom. Perpotongan baris dan kolom menyatakan sebuah data.
Tabel adalah media untuk menyimpan data yang telah diolah dan mempunyai suatu tema tertentu, misalnya tabel yang digunakan untuk menyimpan data tentang mahasiswa berisikan nomor siswa, nama siswa, alamat mahasiswa, dan lain-lain yang disimpan dalam file-file tertentu.
Saat ini tersedia banyak perangkat lunak yang ditujukan untuk mengelola database. Perangkat lunak seperti itu biasa dinamakan dengan DBMS (database management system). MS. Access, MS SQL Server, dan MySQL merupakan contoh produk pengelola database.
Pengaksesan data dalam database dapat dilakukan dengan mudah melalui SQL (structured Query Language). Data dalam database bisa diakses melalui aplikasi non web contohnya visual basic maupun aplikasi web misalnya PHP.

2.6         Relasional Database
2.6.1   Basis Data (Database)
Istilah basis data (database) banyak menimbulkan interpretasi yang berbeda. Basis data (database) adalah suatu susunan/kumpulan data operasional lengkap dari suatu organisasi atau perusahaan yang diorganisir atau dikelola dan disimpan secara terintegritasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakainya. 

2.6.2   Relasional (Relationship)
Paryudi (2006), struktur yang mendasari suatu basis data adalah model data yang merupakan kumpulan alat-alat konseptual untuk mendeskripsikan data, relasi data, data semantic dan batasan konsistensi. Untuk mengilustrasikan konsep model data salah satunya menggunakan Entity Relationship Diagram (ERD).
ERD didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan hubungan antarobjek. Entitas adalah sesuatu atau objek dalam dunia nyata yang dapat dibedakan dari objek lain. Entitas digambarkan dalam basisdata dengan kumpulan atribut. Relasi adalah hubungan antara beberapa entitas.
Diagram keterhubungan entitas adalah suatu grafik yang menggambarkan hubungan antar entitas dalam suatu database. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Entitas adalah suatu objek (event) yang menggambarkan sesuatu hal dalam dunia nyata (real world). Setiap entitas memiliki atribut yang menjelaskan karakteristik dari entitas tersebut.

2.7         Pengertian ERD
ERD adalah model konseptual yang mendeskripsikan hubungan antara penyimpanan dalam DFD. ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian dari perangkat lunak CASE. Notasi yang digunakan dalam ERD dapat dilihat pada Tabel 2.4 :
Tabel 2.4 Notasi Pada ERD
No
Simbol
Nama
Keterangan
1.
Entitas
Entitas adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai.
2.
Relasi
Relasi menunjukkan adanya hubungan diantara entitas yang berbeda.
3.
Atribut
Atribut berfungsi mendeskripsikan karakter entitas (atribut yang berfungsi sebagai key diberi garis bawah).
4.
Garis
Sebagai penghubung antara relasi, entitas, dan atribut.
Sumber : Paryudi 2006
Dalam ERD hubungan (relasi) dapat terdiri dari sejumlah entitas yang disebut dengan derajat relasi. Derajat relasi maksimum disebut dengan kardinalitas sedangkan derajat minimum disebut dengan modalitas.Jadi kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain.

2.8         DFD (Data Flow Diagram)
DFD adalah salah satu alat dalam perancangan sistem yang menggunakan simbol-simbol untuk menggambarkan aliran data melalui serangkaian proses yang saling berhubungan. DFD merupakan alat yang cukup popular sekarang ini, karena dapat menggambarkan arus data didalam sistem dengan terstruktur dan jelas. Penggunaan DFD sebagai modeling tool dipopulerkan oleh Demacro dan Yordan (1979) dengan menggunakan pendekatan metode analisis sistem terstruktur. DFD menggambarkan arus data dari suatu sistem informasi, baik sistem lama maupun sistem baru secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut berada. DFD bukan flowchart. DFD menggambarkan aliran data dalam sebuah sistem. DFD juga menggambarkan semua proses, meskipun proses tersebut terjadi dalam waktu yang berbeda. Tidak ada perulangan ataupun cabang dalam DFD. Simbol-simbol yang digunakan pada DFD dapat dilihat pada Tabel 2.3 :

Tabel 2.3 Simbol-Simbol DFD
No
Simbol
Nama
1

Entitas
2

Proses
3

Aliran Data
4

Data Store
Sumber : Paryudi (2006)
Keterangan :
1)             Proses merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin komputer, dimana aliran data masuk, ditranformasikan ke aliran data keluar.
2)             Flow (Arus Data) disimbolkan dengan anak panah, dimana arus data mengalir diantara proses, simpangan data, kesatuan luar, kesatuan ruang. Arus data dapat berbentuk sebagai berikut :
a.    Formulir atau dokumen yang digunakan perusahaan
b.    Laporan tercetak yang dihasilkan sistem
c.    Output dilayar komputer
d.   Masukan untuk komputer
e.    Komunikasi ucapan
f.     Surat atau memo
g.    Data yang dibaca atau direkam di file
h.    Suatu isian yang dicatat pada buku agenda
i.      Transmisi data dari suatu komputer ke komputer lain
3)             Entity merupakan sumber atau tujuan dari arus data yang dapat digambarkan secara fisik, seseorang atau sekelompok orang atau sistem lain.
4)             Data Store komponen yang berfungsi untuk menyimpan data/file adalah fungsi yang mentransformasikan data secara umum.
Dari penjelasan diatas dapat diambil kesimpulan bahwa Data Flow Diagram (DFD) merupakan alat perancangan sistem yang berorientasi pada alur data yang dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.



Postingan terkait:

2 Tanggapan untuk "Contoh Skripsi Teknik Informatika"

Jangan Lupa Tinggalkan Kometar Sobat :):)