SISTEM PENJADWALAN PERCETAKAN
MENGGUNAKAN ALGORITMA GENETIKA
(Studi kasus: PT DilaPrint)
Skripsi
Oleh:
Fahmi Syaputra
1113091000092
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIEF HIDAYATULLAH
JAKARTA
ii
SISTEM PENJADWALAN PERCETAKAN
MENGGUNAKAN ALGORITMA GENETIKA
(Studi kasus: PT DilaPrint)
Skripsi
Oleh:
Fahmi Syaputra
1113091000092
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIEF HIDAYATULLAH
JAKARTA
iii
HALAMAN PERSETUJUAN
SISTEM PENJADWALAN PERCETAKAN
MENGGUNAKAN ALGORITMA GENETIKA
(Studi kasus: PT DilaPrint)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh :
Fahmi Syaputra 1113091000092 Menyetujui,
Pembimbing I Pembimbing II
Siti Ummi Masruroh, M.Sc Luh Kusuma Wardhani, MT NIP. 19820823 201101 2 013 NIP.19780424 200801 2 022
Mengetahui,
Ketua Program Studi Teknik Informatika
Arini, MT
iv
PERNYATAAN ORISINALITAS
Dengan ini saya menyatakan bahwa:
1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan memperoleh gelar strata 1 di UIN Syarif Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta. 3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau
merupakan hasil jiplakan dari karya orang lain, maka saya bersedia menerima sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.
Jakarta, 25 Oktober 2017
v
KATA PENGANTAR
Assalamu’alaikum, Wr, Wb
Bismillahirrohmanirrohim
Alhamdulillahirobbil’alamiin, rasa syukur penulis panjatkan kepada Allah SWT atas limpahan kasih sayang serta karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan baik. Shalawat serta salam tak lupa penulis haturkan kepada baginda besar Nabi Muhammad SAW yang telah membawa umatnya dari zaman jahiliyah dan kebodohan menuju zaman islamiyah dan penuh ilmu pengetahuan seperti saat ini.
Dalam penyelesaian Tugas Akhir ini tidak terlepas dari bantuan, bimbingan serta doa dari berbagai pihak. Untuk itu penulis ingin mengucapkan terima kasih yang tak terhingga kepada :
1. Allah subhanahu wa ta’ala
2. Bapak Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi. 3. Ibu Arini, MT, selaku Ketua Program Studi Teknik Informatika.
4. Bapak Feri Fahrianto, M.Sc. selaku Sekretaris Program Studi Teknik Informatika.
5. Ibu Siti Ummi Masruroh M.Sc dan ibu Luh Kusuma Wardhani, MT selaku Dosen Pembimbing yang sanatiasa sabra dan luar biasa dalam membimbing, memberikan masukan, nasehat serta saran yang bermanfaat sehingga dapat menyelesaikan tugas akhir ini dengan baik.
6. Bapak Afriansyah Haris selaku pihak Dilla Print yang telah bersedia menjadi narasumber bagi penulis dalam melakukan penelitian dan memberikan arahan dalam aplikasi pada skripsi ini.
vi
8. Serta Lowike Olgdisha sebagai Pacar yang saya cintai, terima kasih telah menyemangati, menghibur, mendoakan, bertukar fikiran, dan memberikan saran.
9. Selurh jajaran dosen Fakultas Sains dan Teknologi UIN Syarief Hidayatullah Jakarta atas segala ilmu pengetahuan yang diberikan kepada penulis.
10. Kepada selurh temen-teman mahasiswa CCIT-FTUI angkatan 2012 yang telah membantu maupun mendoakan penulis untuk dapat menyelesaikan skripsi ini dengan baik.
Serta semua pihak tidak dapat disebutkan satu persatu sehingga terwujudnya penulisan ini. Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna, untuk itu penulis mohon atas saran yang bersifat membangun untuk penulis.
Akhir kata semoga laporan skripsi ini dapat berguna bagi penulis khususnya dan bagi para pembaca yang berniat pada umumnya.
Jakarta, 23 November 2017 Penulis
vii Penulis : Fahmi Syaputra Program Studi : Teknik Informatika
Judul : Sistem Penjadwalan Percetakan Menggunakan Algoritma Genetika
ABSTRAK
Sistem penjadwalan percetakan dengan menggunakan algoritma genetika dirancang oleh karena adanya masalah pada pengaturan jadwal pada percetakan Dilla Print. Menurut hasil wawancara dan observasi membuktikan bahwa jadwal yang sudah diatur masih kurang efisien dan masih bentrok, dan penulis menemukaan kurangnya sumber daya manusia dan sistem yang memadai membuat penjadwalan percetakan di Dilla Print. Sistem yang diusulkan memudahkan resepsionis dalam pembuatan jadwal percetakan menggunakan algoritma genetika, sehingga dapat mengatasi masalah bentrok antara jadwal. Sistem ini berbasis Web, menggunakan Bahasa pemograman PHP, dan menggunakan MySql sebagai berbasis data. Metode pengembangan sistem menggunakan Rapid Application Development. Hasil menunjukan sistem mampu membuat jadwal percetakan tanpa bentrok dengan jumlah populasi 50 dan penggunaan SMS Reminder memudahkan pegawai dalam memberitahu klien/pemesan bahwa pesanan yang telah siap untuk diambil dalam bentuk pesan berupa sms reminder dengan menerapkan sms Gateway.
viii
DAFTAR ISI
DAFTAR ISI ... ii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.3.1 Metodologi ... 3
1.3.2 Proses ... 3
1.3.3 Tools ... 3
1.4 Tujuan Penelitian ... 4
1.5 Manfaat Penelitian ... 4
1.6 Metodologi Penelitian ... 5
1.6.1 Metode Pengumpulan Data ... 5
1.6.2 Metode Pengembangan Sistem ... 5
1.7 Sistematika Penulisan ... 6
BAB II ... 8
LANDASAN TEORI ... 8
2.1 Tinjauan Pusaka ... 8
2.2 Landasan Teori ... 9
2.2.1 Sistem ... 9
2.2.2 Penjadwalan ... 11
2.2.3 Algoritma Genetika ... 12
ix
2.2.5 Metode Pengembangan Sistem ... 19
2.2.5 WEB ... 22
2.2.6 PHP (Hypertext Preprocecor) ... 22
2.2.7 Model View Controller ... 22
2.2.8 Framework ... 24
2.2.9 Database (Basis Data) ... 25
2.2.11 Gammu ... 29
2.2.12 SMS Gateway ... 30
2.2.13 Testing (Blackbox) ... 31
BAB III METODOLOGI PENELITIAN... 33
3.1 Metode Pengumpulan Data ... 33
3.1.1 Wawancara ... 33
3.1.2 Observasi ... 33
3.1.3 Studi Pustaka ... 34
3.2 Metode Pengembangan Sistem ... 35
3.3 Kerangka Berfikir ... 38
BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN PENGUJIAN ... 40
4.1 Fase Analisis Kebutuhan Perangkat Lunak ... 40
4.2 Fase Requirement Planning ... 40
4.2.1 Sejarah Singkat PT DilaPrint ... 40
4.2.2 Identifikasi Dan Masalah Sistem ... 41
4.3 Fase Workshop Design ... 46
4.3.1 Desain Algoritma Genetika ... 47
x
4.3.3 Pengkodean ... 90
4.4 Implementation ... 90
4.4.1 Perhitungan Penjadwalan Manual Menggunakan Algoritma Genetika 90 4.4.4 Implementasi Peralatan Penelitian ... 102
4.4.5 Pengujian Sistem (System Testing) ... 102
BAB V HASIL DAN PEMBAHASAN ... 105
5.1 Hasil dan Pembahasan ... 105
BAB VI PENUTUP ... 112
6.1 Kesimpulan ... 112
xi
DAFTAR TABEL
Tabel 3. 1 Tabel Studi Pustaka ... 34
Tabel 4. 1 Contoh Encoding Hari ... 47
Tabel 4. 2 Urutan Pembentukan Kromosom ... 48
Tabel 4. 3 Tabel Sebelum Menerapakan Algoritma Genetika ... 51
Tabel 4. 4 Pengkodean Pegawai... 52
Tabel 4. 5 Pengkodean Pemesan ... Error! Bookmark not defined. Tabel 4. 6 Pengkodean Pesanan ... 52
Tabel 4. 7 Requirepment, aktor, dan usecase ... 55
Tabel 4. 8 Usecase Login ... 58
Tabel 4. 9 Usecase input data pegawai ... 59
Tabel 4. 10 Usecase view data pegawai ... 60
Tabel 4. 11 Usecase edit data pegawai... 61
Tabel 4. 12 Usecase view data pemesan ... 61
Tabel 4. 13 Usecase view jadwal ... 62
Tabel 4. 14 Usecase input data pemesan ... 63
Tabel 4. 15 Usecasef view data pemesan ... 64
Tabel 4. 16 Usecase edit data pemesan ... 64
Tabel 4. 17 Usecase input jadwal ... 65
Tabel 4. 18 Usecase view data jadwal ... 66
Tabel 4. 19 Usecase edit data jadwal ... 67
Tabel 4. 20 Nilai acak/ fitness ... 92
Tabel 4. 21 Kromosom yang lolol perbandingan ... 93
Tabel 4. 22 Kromosom yang tidak lolos perbandingan ... 94
Tabel 4. 23 Jadwal sesudah menerapkan perhitungan algoritma genetika ... 98
Tabel 4. 24 Pengujian Blackbox ... 103
xii
DAFTAR GAMBAR
Gambar 2. 1 Komponen Sistem ... 11
Gambar 2. 2 Alur Kerja Algoritma Genetika ... 13
Gambar 2. 3 Diagram-diagram UML... 16
Gambar 2. 4 Metode RAD (Rapid Aplication Development)... 21
Gambar 2. 5 Ilustrasi Desain Patern MVC... 23
Gambar 2. 6 Aliran Data CodeIgnitire ... 25
Gambar 3. 1 Kerangka Berpikir ... Error! Bookmark not defined. Gambar 4. 1 Alr kerja Berjalan ... 42
Gambar 4. 2 Alur Sistem Usulan ... 43
Gambar 4. 3 Skema Sistem Proses penjadwalan yang diusulkan ... 44
Gambar 4. 4 Alur sistem smsgateway ... 45
Gambar 4. 5 Usecase Diagram Admin ... 56
Gambar 4. 6 Usecase Diagram Pegawai ... 57
Gambar 4. 7 Activity Diagram Login ... 68
Gambar 4. 8 Activity Diagram admin input data pegawai... 69
Gambar 4. 9 Activity Diagram admin edit data pegawai ... 70
Gambar 4. 10 Activity Diagram admin view data pegawai ... 71
Gambar 4. 11 Activity Digram admin view data pemesan ... 72
Gambar 4. 12 Activity Diagram admin melihat data jadwal ... 73
Gambar 4. 13 Activity Diagram pegawai input data pemesan... 74
Gambar 4. 14 Activity Diagram pegawai edit data pemesan ... 75
Gambar 4. 15 Activity Diagram input data jadwal ... 76
Gambar 4. 16 Activity Diagram pegawai edit data jadwal ... 77
xiii
Gambar 4. 18 Sequence Diagram admin tambah pegawai ... 79
Gambar 4. 19 Sequence Diagram Admin Edit Data Pegawai ... 79
Gambar 4. 20 Sequence Diagram Pegawai Add Jadwal ... 80
Gambar 4. 21 Sequence Pegawai edit jadwal ... 80
Gambar 4. 22 Sequence Pegawai view Jadwal ... 81
Gambar 4. 23 Sequence Pegawai Add Pemesan ... 81
Gambar 4. 24 Sequence Pegawai View Pemesan ... 82
Gambar 4. 25 Sequence Pegawai Edit Pemesan ... 82
Gambar 4. 26 Class Diagram Pegawai ... 83
Gambar 4. 27 Class Diagram Pemesan ... 83
Gambar 4. 28 Class Diagram Pesanan ... 84
Gambar 4. 29 Class Diagram Detail Pesanan ... 84
Gambar 4. 30 Class Diagram Data Jadwal... 84
Gambar 4. 31 Rancangan Tampilan Login ... 85
Gambar 4. 32 Rancangan Halaman Home ... 86
Gambar 4. 33 Form Add Pegawai ... 86
Gambar 4. 34 Halaman List Pegawai ... 87
Gambar 4. 35 Form Edit Data Pegawai ... 87
Gambar 4. 36 Form Add Pesanan ... 88
Gambar 4. 37 Form Add Pemesan ... 88
Gambar 4. 38 Hamalam List Pemesan ... 89
Gambar 4. 39 Halaman Generate Jadwal ... 89
Gambar 5. 1 Form Login ... 105
Gambar 5. 2 Halaman Awal ... 106
Gambar 5. 3 Form Tambah Pegawai... 106
Gambar 5. 4 List Pegawai ... 107
Gambar 5. 5 Form Tambah Pemesan ... 107
Gambar 5. 6 List Pemesan ... 108
Gambar 5. 7 Button Generate Jadwal ... 108
xiv
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penjadwalan adalah suatu proses, cara, perbuatan menjadwalkan atau memasukkan ke dalam jadwal (Kamus besar Bahas Indonesia). Penjadwalan diperlukan dalam berbagai kegiatan, karena dengan adanya penjadwalan yang baik akan meningkatkan produktifitas dan efesiensi sumber daya yang ada. Masalah penjadwalan dalam produksi percetakan membutuhkan komputasi yang cukup tinggi untuk pencarian solusi.
Percetakan (printing) adalah sebuah proses industry untuk memproduksi secara massal tulisan dan gambar, terutama dengan tinta diatas kertas menggunakan sebiha mesin cetak (Putri, 2013). Perkembangan sekarang media cetak didukung perkembangan teknologi yang semakin canggih. Sehingga membawa perubahan pada bagian bentuk, format, struktur, tekstur dan model tersebut, akan tetapi perkembangan teknologi tidak mempengaruhi atau mengubah isi dari suatu iklan yang muncul pada media. Pembuatan media cetak sekarang dengan teknologi yang canggih adalah dengan menggunakan computer atau mendesain iklan suatu produk dengan menggunakan grafis dan dicetak dengan printer.
PT. Dilla Print merupakan suatu perusahaan swasta yang bergerak dalam bisnis printing, design, dan finishing. Berawal pada tahun 2002 dengan memulai usaha percetakan, yang menerima pesanan dokumen, amplop, undangan, brosur, buku, kalender, dan masih banyak lainya. PT Dilla Print terus berkembang hingga saat ini.
adanya pengaturan atau penyusunan jadwal dengan sistem menyebabkan sulitnya penentuan jadwal percetakan yang ada.
Mengingat pentingnya pengaturan atau penyusan jadwal dalam sebuah percetakan agar tidak terjadi bentrok disaat proses mencetak, maka dibutuhkan sebuah sistem yang akan meng-generate pesanan menjadi sebuah jadwal cetak. Dan dibutuhkan reminder kepada klien bahwa cetakannya telah selesai.
Berdasarkan pembahasan tersebut, maka perlu dirancang sistem penjadwalan percetakan menggunakan SMS Gateway guna membantu Dilla Print dalam menyusun jadwal percetakan. Konsep perancangan sistem penjadwalan percetakan di Dilla Print menggunakan Algoritma Genetika ditambah reminder SMS Gateway. Algoritma genetikan tersebut diimplementasikan agar mempermudah menggenerate data ataupun pesanan menjadi jadwal cetak.
Sehubungan dengan pembahasan tersebut penulis bermaksud mengambil
tema dalam penelitian skripsi dengan judul “Sistem Penjadwalan Percetakan
Menggunakan Algoritma Genetika.”
1.2 Rumusan Masalah
Berdasarkan permasalahan yang terdapat pada latar belakang, penulis dapat membuat perumusan masalah yaitu: Bagaimana mengimplementasikan algoritma genetika dan optimasi dalam penyusunan penjadwalan pada studi kasus di percetakan Dilla Print.
1.3 Batasan Masalah
1.3.1 Metodologi
Metode pengumpulan data yang digunakan dalam penelitian ini adalah wawancara, observasi, dan studi pustaka. Sedangkan metode pengembangan sistem yang digunakan adalah Rapid Application Development (RAD).
1.3.2 Proses
Berikut ini adalah proses yang terdapat pada tulisan ini, yaitu:
1. Pembuatan aplikasi penjadwalan berbasis Web menggunakan Bahasa pemograman PHP dan database MySql.
2. Desain sistem yang digunakan dalam perancangan adalah UML (Unified Modelling Language), yaitu Use Case diagram, Activity diagram, Class diagram.
3. Metode pengembangan aplikasi menggunakan metode Rapid Application Development (RAD).
4. Perancangan sistem aplikasi penjadwalan percetakan menggunakan algoritma genetika.
5. Penjadwalan percetakan sebatas membahas cetakan mesin kertas. 6. Studi kasus penelitian di PT. Dila Print.
1.3.3 Tools
Berikut ini adalah tools yang penulis gunakan, yaitu : 1. Sublime text 3
2. XAMPP
1.4 Tujuan Penelitian
Sesuai dengan permasalahan yang ada maka tujuan pembuatan aplikasi penjadwalan ini mengimplementasikan algoritma genetika dan optimasi dalam penyusunan penjadwalan pada studi kasus di percetakan Dilla Print..
1.5 Manfaat Penelitian
Sesuai dengan rumusan masalah dan tujuan penulisan diatas, banyak manfaat yang dapat dipetik dalam skripsi ini, diantaranya:
1. Bagi Penulis
1) Menerapkan ilmu- ilmu yang sudah di dapat saat perkuliahan.
2) Membandingkan teori yang telah di dapat saat kuliah dengan masalah yang sebenarnya.
3) Mengamati teknik-teknik yang diterapkan dalam bidang Teknik Informatika.
4) Untuk memenuhi salah satu syarat kelulusan strata satu (S1), Teknik Infotmatika Fakultas Sains dan Teknologi UIN Syarief Hidayatullah Jakarta.
2. Bagi Universitas
1) Mengetahui kemampuan mahasiswa dalam menguasai materi pelajaran yang diperoleh dibangku kuliah.
2) Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya sebagai bahan evaluasi.
3) Mengetahui sejauh mana mahasiswa memahami pelajaran-pelajaran yang telah diberikan oleh tim pengajar.
3. Bagi User
1) Penyusunan jadwal lebih efisien dan terkomputerisasi. 2) Laporan percetakan semakin tersusun.
1.6 Metodologi Penelitian
1.6.1 Metode Pengumpulan Data
Teknik pengumpulan data yang dilakukan adalah: 1. Studi Lapangan
Penelitian ini dilakukan dengan mendatangi langsung lokasi penelitian (survei) untuk memeperoleh informasi serta data yang diperlukan.
Adapun teknik yang ditempuh adalah:
a. Observasi, merupakan teknik atau pendekatan untuk mendapatkan data primer dengan cara mendekati langsung dari objeknya.
b. Interview/wawancara, adalah komunikasi dua arah untuk mendapatkan informasi dan responden.
2. Studi Pustaka
Kepustakaan dilakukan dengan mempelajari teori-teori terkait dan hasil penelitian sebelumnya yang mendukung pemecahan masalah dalam penelitian skripsi ini. Dalam melakukan studi pustaka penulis melengkapki kekurangan data yang dieperoleh dari studi lapangan. Pengumpulan data dengan cara mengambil dari sumber-sumber media cetak maupun elektronik yang terkait. Melihat dan membandingkan beberapa penelitian sejenis dari penelitian sebelumnya telah dilakukan. Pengumpulan data dan informasi dengan cara membaca buku-buku, jurnal dan referensi dari internet yang dapat dijadiakan acuan pembahasan dalam penelitian.
1.6.2 Metode Pengembangan Sistem
lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik) (Rosa & Shalahudin, 2011).
Ada beberapa model SDLC yang dapat digunakan, salah satunya adalah RAD. Pada penelitian ini, model rapid applicatioan development (RAD) digunakan sebagai metode pengembangan sistem.
Pengemabangan aplikasi cepat (PAC) atau Rapid Application Development (RAD) yaitu suatu pedekatan berorientasi objek terhadap pengembangan sistem yang mencakupi suatu metode pengembangan serta perangkat lunak (Kendall, 2010).
Terdapat tiga fase dalam RAD yang melibatkan penganalisis dan pengguna dalam tahap penilaian, perancangan, dan penerapan. (Kendall, 2010).
1. Fase Perencanaan syarat (Requirement Planning). 2. Fase Workshop Design.
3. Fase Impelmentation.
1.7Sistematika Penulisan
Untuk mengetahui dan memahami gambaran secara umum mengenai dari isi dari skripsi ini, maka penulis skripsi ini dibagi dalam enam bab dengan sistematika penulisa sebagai berikut:
BAB I Pendahuluan
Berisikan tentang latar belakang masalah, tujuan penelitian, manfaat penelitian, pertanyaan penelitian, perumusan masalah, batasan masalah, metode penelitian, serta sistematika penulisan.
BAB II Tinjauan Pustakan dan Landasan Teori
masalah. Ini di dapat dari studi pustaska serta studi literatur menenai hal-hal yang berhubungan dengan skripsi ini.
BAB III Metode Pengembangan Sistem
Bab ini berisikan metode apa yang penulis gunakan untuk mebuat skripsi ini. Mencangkup pengumpulan data dan metode pengembangan sistem yang digunakan untuk mengembangkan aplikasi penjadwalan menggunakan sms gateway.
BAB IV Analisis, Perancangan Sistem, Implementasi, dan Pengujian Sistem
Berisikan tentang hasil analisa penjadwalan yang berjalan pada PT. DillaPrint dan menjelaskan pengimplementasian dari aplikasi. BAB V Hasil dan Pemabahasan
Bab ini berisikan tentang hasil dan penelitian skripsi dan pembahasan setelah dilakukan penelitian oleh penulis.
BAB VI Penutup
8
BAB II
LANDASAN TEORI
2.1 Tinjauan Pusaka
Dalam melakukan penelitian ini penulis mengambil referensi dari beberapa jurnal dan buku diantaranya sebagai berikut:
Berikut ini beberapa landasan teori yang digunakan dalam penelitian ini: 1. Implementasi Algoritma Genetika pada Sistem Penjadwalan Mata
Kuliah
Jurnal ISSN yang dibuat oleh Jasman Pardede dan Asep Nana Herman Jurusan Teknik Informatika dipublikasikan pada tahun 2014. Peneliti mengimplementasikan algoritma genetika pada penjadwalan mata kuliah, dengan menghasilkan jadwal tidak ada yang bentrok dengan nilai fitness 0, jika parameter genetika terhadap populasi yang sedikit lebih cenderung akan menghasilkan jadwal perkuliahan yang masih terdapat jadwal kuliah yang masih bentrok.
2. Optimalisai Penempatan Dosen Pembimbing dan Penjadwalan Seminar menggunakan Algoritma Genetika
Pada tugas ini ditulis oleh Nendi Purnawa, Esmeralada Djamal, Faiz Renaldi Jurusan Teknik Informatika dipubilikasikan pada thun2016 dengan menghasilkan kesimpulan bahwa konsep algoritma yang diterapkan dapat memberikan solusi yang optimal denfan keakuratan aplikasi sebesar 75%
3. Optimasi Penjadwalan Proyek Menggunakan Algoritma Genetika.
tahun 2014. Peneliti menggunakan optimasi untuk pnejadwalan proyek dengan metode algoritma dan menghasilkan penjadwalan proyek dengan durasi yang valid yaitu selama 38 minggu, dibuktikan dengan membandingakan dari metode PERT.
2.2 Landasan Teori 2.2.1 Sistem
Sistem berasal dari Bahasa Latin (systema) dan Bahasa Yunani (sustema) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu entitas yang berinterakasi.
Pengertian system menurut para ahli :
1. Pengertian sistem menurut Arifin Rahman adalah Webmaster New Collegiate Dictionary bahwa terdapat kata “syn” dan “Histanai” yang berasal dari
Bahasa Yunani berarti menempatkan bersama. Bahwa pengertian sistem adalah suatu kumpulan pendapat-pendapat, (collection of opinions), prinsip-prinsip (principle), dan lain-lain yang membentuk suatu kesatuan yang berhubung hubungan satu sama lain.
2. Pengertian sistem menurut Ludwig Von Bartallanffy adalah bahwa sistem adalah sekumpulan unsur-unsur yang berada dalam keadaan yang berinteraksi.
Sistem memiliki beberapa karekteristik/elemen yaitu : 1. Komponen
Suati sistem terdiri dari sejumlah komponen yan saling berinteraksi, bekerja sama membentuk satu kesatuan. Komponen-komponen sistem dapat berupa suatu subsitem atau bagian-bagian dari sistem. Setiap sistem tidak perduli batap kecilnya komponen tersebut, selalu mengandung komponen-komponen ayau subsistem-subsistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem dapat mempunyai suatu sistem yang lebih besar yang disebut supra sistem, misalnya suatu perusahaan dapat disebut dengan suatu sistem dan industry yang merupakan sistem ang lebih besar dapat disebut dengan supra sistem. Kalau dipandang industri sebagai suatu sistem, maka perusahaan dapat disebut sebagai subsistem. Demikian juga bila perusahaan dipandang sebagai suatu sistem, maka sistem akuntansi adalah subsistemnya.
2. Batasan sistem (boundary)
Batasan sistem merupakan daerah yang membatasi anatar suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batas suatu sistem menunjukan ruang lingkup (scope) dari sistem tersebut.
3. Lingkungan luar sistem (enviorement)
Adalah apapun di luar sistem yang mempengaruhi sistem operasi 4. Masukkan sistem (input)
5. Keluaran sistem (output)
Merupakan hasi dari energi yang diolah sistem. 6. Pengelolaan sistem (proses)
Merupakan bagian yang memproses masukkan untuk menjadi keluaran yang diinginkan.
7. Sasaran sistem
Kalua sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya.
Gambar 2. 1 Komponen Sistem
2.2.2 Penjadwalan
cetak. Adapun beberapa komponen utama dari percetakan adalah tersedianya operator mesin cetak, operator packaging, dan penanggung jawan terhadap cetakan, dan waktu cetakan. Maka dari itu dalam percetakan membutuhkan pengaturan komponen-komponen tersebut secara rinci yang disebut jadwal percetakan.
2.2.3 Algoritma Genetika
Algoritma genetika adalah suatu algoritma pencarian yang meniru mekanisme dari genetika alam. Algoritma genetika dikenal sejak 1960-an dan sudah sering digunakan pada aplikasi bisnis, teknik maupun pada bidang keilmuan. Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland dan dipopulerkan oleh salah satu muridnya, David Goldberg. Goldberg mendifinisikan algoritma genetika ini sebagai metode algoritma pencarian berdasarkan pada mekanisme evolusi alam (Adrian: 2015).
Sebelum algoritma dijalankan, masalah yang akan dioptimalkan itu harus dinyatakan dalam sebuah fungsi fitness. Pendeketan yang diambil oleh algoritma ini adalah menggabungkan secara acak bebagai pilihan solusi terbaik di dalam suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Jika nilai fitness semakin besar, maka sistem yang dihasilkan semakin baik. Pada awalnya semua nilai fitness kemungkinan sangat kecil karena algoritma ini menghasilkan secara acak, namun sebagian akan lebih tinggi dari yang lain. Kromosom dengan nilai fitness yang tinggi akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi selanjutnya. Untuk setiap generasi pada proses evolusi, fungsi fitness yang mensimulasikan seleksi alam, akan menekankan populasi kea rah fitness yang menigkat (Setyadi : 2015).
Didalam bukunya “Algoritma Genetika dan Penerapannya” (Lado:
2015). Beberapa definisi penting yang perlu diperhatikan untuk membangun penyelesaian permasalahan dengan algoritma genetika adalah sebagai berikut: a. Genotype (gen), sebuah nilai yang menyatakan satuan dasar yang
kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatural.
b. Allele, nilai dari gen
c. Kromosom, gabungan gen-gen yang membentuk nilai tetentu.
d. Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat.
e. Populasi, merupakan sekumpulan individu yang akan diproses Bersama dalam satu proses evolusi.
f. Generasi, menyatakan satu siklus proses atau satu iterasi di dalam algoritma genetika.
Untuk menggunakan algoritma genetika, solusi permasalahan direpresentasikan sebagai kromosom. Tiga aspek yang penting untuk penggunaan algoritma genetika.
1. Definisi fungsi fitness.
2. Definisi dan implementasi representasi genetika. 3. Definisi dan implementasi operasi genetika.
Gambar 2. 2 Alur Kerja Algoritma Genetika
a. Encoding
Tahapa awal dalam proses algoritma genetika adalah proses pengkodean gen dalam suatu kromosom. Jenis-jenis Encoding, yaitu binary Encoding, real number Encodin, Integer atau interal permutation Encoding, general data structure Encoding.
b. Pembangkitan Populasi Awal
Langkah berikutnya adalah membentuk sebuah populasi untuk sejumlah gen. Populasi adalah sekumpulan individu yang akan digunakan dalam setiap proses regenerasi dimana masing-masing individu terdiri dari beberapa gen. Untuk itu diperlukan suatu populasi awal yang digunakan untuk proses penentuan individu terbaik. Solusi atau individu terbaik daru populasu awal akan dipertahankan sedangkan individu-individu yang lain akan diubah menjadi variasi lainnya untuk memperoleh kemungkinan solusi yang lebih baik dari pada solusi sebelumnya.
c. Evaluasi Nilai Fitness
Pada setiap populasi baru yang terbentuk baik dari populasi awal maupun dari proses regenerasi akan dihitung nilai fitness cost dari setiap individu dalam populasi. Fitness cost merupakan nilai kualitas darisuatu individu. d. Seleksi
Seleksi dilakukan dalam rangka untuk medapatkan indu yang baik. Seleksi bertujuan untuk memberikan kesempatan reproduksi yang lebih besar anggota populasi yang lebih baik. Karena induk yang baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu individu makan akan semakin besar pula kemungkinannya untuk terpilih. Ada beberapa metode yang dapat digunakan untuk memilih kromosom antara lain, yaitu :
Istilah lainnya adalah stochastic sampling with replacement. Individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian hingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness nya. Sebuah bilangan acak dibangkitkan dan individu yang memiliki segmen dalam kawasan segmen dalam bilangan acak tersebut akan terseleksi. Proses ini berulang hingga didaptkan sejumlah individu yang diharapkan. • Tour Nament Selection
Ditetapkan suatu nilai tour untuk individu-individu yang dipilih secara acak dari suatu populasi. Individu-individu yang tebaik dalam kelompok ini akan diseleksi sebagai induk. Paremeter yang digunakan adalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu dalam populasi).
e. Persilangan (Crossover)
Crossover adalah operator dari algoritma genetika yang melibatkan dua induk yang membentuk individu baru. Operator Crossover ini bergantung pada representasi kromosom yang dilakukan. Berbagai model Crossover sesuai dengan representasi adalah crossover satu titil, dua titik, dan order crossover.
f. Mutasi
2.2.4 UML
UML atau Unified Modelling Languange adalah sebuah bahasa yang telah menjadi standart dalam industry untuk visualisasi, merancang dan mendokumentasikan system peranti lunak (Mujilan: 2013). UML mendifinisikan notasi dan syntax/semantic. Notasi yang lengkap untuk membuat visualisasi model suatu system. Sistem berisi informasi dan fungsi, tetapi secara normal digunakan untuk memodelkan sistem komputer.
Didalam pemodelan objek guna menyajikan system berorientasi pada objek orang lain, akan sangat sulit dilakukan jika pemodelan tersebut dilakukan dalam bentuk kode bahasa pemograman. Kesulitan yang muncul adalah timbulnya ketidak jelasan dan salah interpretasi di dalam pembacaan kode pemograman untuk pemodelan objek tersebut. UML menyediakan macam-macam diagram untuk memodelkan aplikasi berorientasi objek yaitu :
2.2.4.1 Activity Diagram
Diagram aktivitas atau Activity Diagram diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah system atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktifitas menggambarkan aktifitas system bukan apa yang dilakukan actor, jadi aktifitas yang dapat dilakukan oleh sistem. (Rosa A.S & M. Shalahuddin, 2011 : 134) berikut adalah symbol-simbol yang ada pada diagram aktifitas :
2.2.4.2 Class Diagram
Class Diagram adalah suatu gambar dengan simpul-simpul (nodes) yang menunjukan kelas-kelas gambaran asosiasi (asociations), perumuman (generelizations), atau ketergantungan (dependencies) (Mujilan: 2013). Berikut symbol-simbol dari class diagram, yaitu:
Table 2. 2 Simbol-simbol Class Diagram
2.2.4.3 Usecase Diagram
Table 2. 3 Simbol-simbol Usecase Diagram
2.2.5 Metode Pengembangan Sistem
Model pengembangan sistem atau SDLC (Software Development Life Cycle) adalah proses mengembangkan suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (Rosa A.S & M.Shalahuddin, 2011 : 24).
2.2.5.1 RAD (Rapid Application Development)
Rapid Aplication Development (RAD) adalah sebuah proses perkembangan perangkat lunak sekuensial linear yang menekankan siklus perkembagnan dalam waktu yang singkat. RAD menggunakan metode iterative(berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikontruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requrepment) pengguna dan selanjutnya disingkirkan. Dalam pengembangan sistem informasi normal, memerlukan waktu minimal 180 hari, namun dengan menggunakan RAD, sistem dapat diselesaikan dalam waktu 30-90 hari. Model RAD memliliki beberapa tahapan sebagai berikut:
1. Rencana Kebutuhan (requirepment planning): user dan analyst melakukan pertemuan untuk mengidentifikasi tujuan dari sistem dan kebutuhan informasi untuk mencapai tujuan. Pada tahap ini merupakan hal terpenting yaitu adanya keterlibatan dari kedua belah pihak.
2. Proses Desain sistem (Design System): pada tahap ini keaktifan user yang terlibat menetukan untuk mencapai tujuan karena pada proses ini melakukan proses desain dan melakukan perbaikan-perbaikan apabila masuh terdapat ketidaksesuaian desain antara user dan analyst. Seorang user dapat langsung memberikan komentar apabila terdapat ketidaksesuaian pada desain sisrem dengan mengacu pada dokumentasi kebutuhan user yang dibuat pada tahap sebelumnya. Keluaran dari tahapan ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data dan yang lain.
terhadap program tersebut apakah adal kesalahan atau tidak. Pada tahapan ini user biasa memberikan tanggapan akan sistem yang sudah dibuat serta mendapat persetujuan mengenai sistem tersebut.
Gambar 2. 4 Metode RAD (Rapid Aplication Development)
Beberapa keunggulan model RAD:
1. Setiap fungsi mayot dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegerasikan sehingga waktunya lebih efisien.
2. RAD mengikuti tahapan pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembangan tidak perlu membuat dari awal lagi dan waktu lebih singkat.
Beberapa kelemahan Model RAD:
1. Proyek yang besar dan berkala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
2.2.5 WEB
World Wide Web (WWW) atau Web, adalah suatu layanan di dalam jaringan internet yang berupa ruang informasi (Raharjo: 2011). Dengan adanya Web, memudahkan user dapat memperoleh atau menemukan informasi yang diinginkan dengan cara mengikuti link (hyperlink) yang telah disediakan dalam setiap dokumen yang tampil oleh web browser. Setiap dikumen electronik di web disebut webpage, yang dapat berisi teks, grafik, animasi, audio, dan video.
2.2.6 PHP (Hypertext Preprocecor)
PHP (Hypertext Preprocecor) adalah bahas server-side scripting yang menyatu dengan HTML (Hypertext Markup Languange) untuk membentuk halaman web yang dinamis. Karena PHP nmerupakan server-side scripting maka sintaks dan perintah-perintah PHP akan dieksekusi di server kemudian hasilnya dikirimkan ke browser dengan format HTML. Dengan demikian kode program yang ditulis dengan PHP tidak akan terlihat oleh user sehingga keamanan halaman web lebih terjamin. (M.R, Arief: 2011)
Salah satu keunggulan yang dimiliki PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data/Databases Management System(DBMS), sehingga dapat menciptakan suatu halaman web yang dinamis. ((M.R, Arief: 2011)
2.2.7 Model View Controller
2.2.7.1 Model
Model merupakan bagian yang di desain untuk bekerja dengan databases. Model bisa juga diartikan sebagain bagian yang digunakan untuk membuat semacam prototipe data. Bagian model ini biasanya berisi berbagai query yang dialamatkan pada sebuah databases. Berbagai query tersebut disesuaikan dengan kebutuhan data yang akan diolah melalui controller, sebelum akhirnya ditampilkan menggunakan view. (Riyanto: 2011)
2.2.7.2 View
View adalah bagian presentasi yang berfingsi sebagai antarmuka program aplikasi dengan pengguna. View akan menampilak data yang telah diolah sebelumnya melalu controller. Pengguna view tergantung pada controller, view, mana yang akan digunakan dan data apa saja yang akan ditampilkan. Pada bagian view biasanya tidak terdapat fungsi logika
sama sekali. Yang ada hanyalah kode-kode PHP yang digunakan untuk melakikan parsing data. (Riyanto: 2011)
2.2.7.3 Controller
Controller merupakan bagian yang diguakan untuk menempatkan fungsi-fungsi logika pengolah data yang telah diperoleh dari model (atau sumber lainnya), kemudian ditampilkan melalui (atau tanpa) view. (Riyanto, 2011)
2.2.8 Framework
2.2.8.1 Definisi Framework
Framework adalah kerangka kerja yang memudahkan programmer untuk membuat aplikasi sehinnga programmar akan lebih mudah melakukan perubahan (customize) terhadap aplikasinya dan dapat memakainya kembali untuk aplikasi lain yang sejenis. Apa yang disebut seabagai framework adalah biasanya sudah memiliki aplikasi implementasinya, maka beda antara pola desain dan framework adalah pola desain merupakan sebuah konsep sedangakan framework bisa merupakan aplikasi hasil implementasi dari pola desain atau palikasi kerangka kerja yang tidak berasal dari implementasi sebuah konsep (Rosa A.S & M. Shalahuddin, 2011).
2.2.8.2 CodeIgnitire
Keterangan gambar:
1. File index.php sebagai file yang bertindak control halaman depan. File ini menginiliasisai semua resources yang diperlukan untuk menjalankan CI atau halaman situs.
2. Routing memeriksa setiap request HTTP dan melakukan apa yang perlu dilakukan terhadap request tersebut, tergantung rule yang ada.
3. Apabila terapat Cache maka sistem akan mengirimkan cahce tersebut secara langsung ke browser tanpa harus melewati birokrasi sistem secara manual.
4. Sebelum membuka Application Controller, setiap request HTTP dan data yang dikirim oleh pengguna maka akan di-filter terlebih dahulu melalui sebuah sistem pengamanan.
5. Controller kemudian memuat seluruh resources, baik itu Model Library, maupun Helper yang digunakan untuk memproses request atau data yang dikirimkan.
2.2.9 Database (Basis Data)
Basis data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau Gudang, tempat bersarang/berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu
objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya (Fathansyah, 2012 : 2).
Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefiniskan dalam sejumlah sudut pandang seperti:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan dara yang saling berhubugnan yang disimpan secara Bersama sedemikian tupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagau kebutuhan .
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik (Fathansyah, 2012 : 3). Database didefiniskan sebagai kumpulan data yang terintegrasi dan diatur sdemikian rupa sehingga data tersebut dapat dimanipulasi, diambil, dan dicari secara cepat (Budi Raharjo, 2011).
2.2.9.1 MySQL
MySql merupakan DBMS (Database Mangement System) yang bersifat open sources. Maksudnya bahwa software ini dilengkapi dengan source code (kode yang dipakai untuk MySql), selain tentu saja bentuk kode yang dapat dijalankan secara langsung dalam sistem operasi (Kadir : 2008). Sehingga dapat ditarik kesimpulan bahwa MySql adalah suatu perangkat lunak atau program yang digunakan untuk membuat sebuah database yang bersifat open source.
rutin level rendah (ISAM) setelah beberapa pengujian ternyata mSQL tidak cukup cepat dan fleksibel untuk memenuhi kebutuhan, sehingga dihasilakn SQL baru pada database tetapi dengan API yang mirip dengan mSQL dengan MySQL. Menambahkan, mengakses, dan memproses data tersimpan di dalam operasi, hal ini yang membuat PHP dan MySQL menjadi alternative oleh para programmer WEB dalam membuat program database Web nya.
2.2.9.2 XAMPP
XAMPP (Xwindows Apache MySQL PHP dan Perl) merupakan [aker server web PHP dan database MySQL yang paling popiler dikalangan pengembang web dengan menggunakan PHP dan MySQL sebgai databasenya.
2.2.10 SMS (Short Message Service)
SMS (Short Message Service) adalah merupakan salah satu pesan teks yang dikembangakan dan distandarisasikan oleh suatu badan bernama ETSI (European Telecommunication Standards Institute) sebagai dari pengembangan GSM (Global System for Mobile Communication), yang terdapat pada dokumentasi GSM 03.40 dam GSM 03.38. fitur SMS ini memungkinkan perangkat Stasiun Seluler Digital (Digital Celuler Terminal, seperti Ponsel) untuk dapat mengirim dan menerima [esan-pesan teks dengan panjang sampai dengan 160 karekter melalui jaringan GSM.
SMS dapat dikirimkan ke perangkat stasiun seluler digital lainnya hanya dalam beberapa detik selama berada pada jangkauan pelayana GSM. Lebih dari sekedar pengiriman pesan biasa, layanan SMS memberikan garansi
SMS akan sampai pada tujuan meskipun perangkat yang dituju sedang tidak aktif yang dapat disebabkan karena sedang dalam kondisi mati atau berada diluar jangakauan layanan GSM. Dengan adanya fitur seperti ini makan layanan SMS juga cocok untuk dikembangkan sebgai aplikasi-aplikasi seperti pager, e-mail dan notifikasi voice mail, serta layanan pesan banyak pemakai (multiple user). Namun pengembangan aplikasi tersebut masih bergantung pada tingkat layanan yang disediakan oleh operator jaringan. Jenis-jenis aplikasi SMS memiliki tiga macam, yaitu :
1. SMS premium : jenis aplikasi SMS dua arah dengan menggunakan 4(empat) digit nomor unik seperti 9688. Contoh sms Quiz dan SMS Polling.
2. SMS Broadcast : jenis aplikasi satu arah berupa pengiriman pesan ke banyak nomor sekaligus. Contoh SMS promo dan SMS kampanye.
3. SMS Gtaeway : jenis aplikasi SMS dua arah, dengan keunikan bahwa semua tarif yang diberlakukan oleh operator. Kerena sifatnya yang dua arah, maka jenis SMS ini sangat coco dijadikan sebagai SMS center organisasi, perusahaan atau instasi.
2.2.11 Gammu
GAMMU (GNU All Mobile Management Utiletes) meruapakan software yang digunakan sebagai tools untuk mengembangkan aplikasi SMS Gateway, cukup mudah diimplementasikan, dan tidak berbayar. Gammu adalah semacam service yang disediakan untuk membangun apliasi yang berbasis sms Gateway.
merupakan codebase yang stabil dan sempurna serta mendukung banyak model yang tersedia di pasaran dan menyediakan fungsiyang tidak tersedia pada proyek lain yang serupa. Kelebihan Gammu dari tools SMS Gateway lainnya adalah:
1. Gammu dapat dijalankan di sistem operasi Linux maupun Windows.
2. Banyak device yang compatible di Gammu
3. Gammu menggunakan databse MySQL unutk menyimpan SMS yang ada pada kotak masuk (inbox) maupu untuk mengirim pesan, sehingga dapat dibuat interface yang berbasis Web maupun desktop. 4. Baik kabel data USB maupun serial, semuanya compatible di
Gammu.
Untuk melakukan konfigurasi Gammu diperlukan file gammu rc dam smsdrc. File gammurc digunakan untuk konfigurasi port yang digunakan media koneksi untuk trehubung ke computer. Selain itu, file gammurc juga digunakan untuk mendifinisikan tipe koneksi yang digunakan oleh media koneksi. File msdrc digunakan untuk kong=figurasu database yang digunakan oleh aplikasi Gammu.
2.2.12 SMS Gateway
SMS Gateway adalah sebuh perangkat yang menawarkan layanan transit SMS, mentrasmasikan pesan ke jaringan seluler dari media lain, atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS dengan atau tanpa menggunakan ponsel. Sebagaimana penjelasan diatas, SMS Gateway dapat terhubung ke media lain seperti perangkat SMSC dan server milik Content Provider melalui link IP untuk memproses suatu layanan SMS.
informasi terpenting yang diperlukan adalah no tujuan dan pesan, maka itulah yang sebenarnya diolah oleh SMS Gateway.
Sebuah sistem SMS Gateway. Umumnya terdidri komponen perangkat keras (server/computer yang dilengkapi dengan perangkat jaringan) dan perangkat lunak (Aplikasi yang digunakan untuk pengelohan pesan). Dan untuk sebuah sistem yang besar umumnya menggunakan database untuk penyimpanan data.
2.2.13 Testing (Blackbox)
Pengujian blackbox (blackbox testing) adalah salah satu metode pengujian perangkat lunak yang berfokus kepada sisi fusngsionalitas, khususnya pada input dan output aplikasi (apakah sudah sesuai dengan apa yag diharapkan atau belom). Tahap pengujian merupakan salah satu tahap yang harus ada dalam sebuah siklus pengembangan perangkat lunak. Ciri-ciri Blackbox Testing, diantaranya sebagai berikut:
1. Blackbox testing berfokus pada kebutuhan fungsionalitas pada softwarei, berdasarkan pada spesifikasi kebutuhan dari software. 2. Blackbox Testing bukan Teknik alternative dari pada white box
testing. Lebih dari pada itu, ia merupakan pendekatan pelengkapan dalam mencakup error dengan kelas yang berbeda dari metode white box testing.
3. Black box Testing melakukan penguian tanpa pengetahuan detail struktur internal dari sistem atau komponen yang dites. Juga disebut sebagai behavioural testing, specification-based testing, input/output testing atau functional testing.
33
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Penelitian ini menggunakan beberapa metode yang dapat mendukung penulis dalam penyusunan, baik dalam pengumpulan data maupun informasi yang diperlukan.
3.1.1 Wawancara
Wawancara dilakukan pada :
Hari/Tanggal : Selasa, 23 Mei 2017 Tempat : PT. Dila Print
Alamat : Jl. Baru No. 5A-5B Kebayoran Lama Narasumber : Bapak Afriansyah Haris
Hasil wawancara dapat dilihat pada halaman lampiran
3.1.2 Observasi
3.1.3 Studi Pustaka
Kepustakaan dilakukan dengan mempelajari teori-teori terkait dan hasil penelitian sebelumnya mendukung pemecahan masalah dalam penelitian skripsi ini. Dalam melakukan studi putaka penulis melengkapi keurangan-kekurangan data yang diperoleh dari studi lapangan. Pengumpulan data dengan cara mengambil data sumber-sumber media cetak maupun media yang terkait.
Tabel 3. 1 Tabel Studi Pustaka
NO Judul Kelebihan Kekurangan
1
Jadwal tidak ada yang bentrok dengan nilai fitnes 0, jika parameter
3.2Metode Pengembangan Sistem
Metode pengembangan sistem yang penulis gunakan untuk mengembangkan sistem ini yaitu metode pengembangan RAD (Rapid Application Development) mengggunakan teori Kendall. Sedangkan tools yang digunakan adalah notasi UML (Unified Modelling Languange) menggunakan teori Salahuddin. Metode RAD terdiri dari tiga fasepengembangan sistem:
1. Rencana Kebutuhan (Requirement Planning)
Tahap ini, user dan analyst (penulis) melakukan semacam pertemuan untuk melakukan identifikasi masalah dari dari kebutuhan aplikasi, dan melakukan identifikasi data dan informasi kebutuhan aplikasi. Pada tahap ini hal terpenting adalah keterlibatan kedua belah pihak dan keterlibatan beberapa tingkatan struktur pegawai dan penjadwalan PT. Dila Print sehingga data dan informasi untuk seetiap user dapat terpenuhi. Cara penulis gunakan pada tahap ini adalah wawancara dan observasi.
2. Proses Design (Design Workshop)
a. Usecase Diagram
Usecase Diagram menggambarkan interaksi antara user (pengguna) dengan sistem melalui sebuah cerita bagaimana sebuah sistem dapat diapakai.
b. Activity Diagram
Merupakan teknik mendeskripsian logika procedural, proses bisnis dan aliran kerja.
c. Claass Diagram
Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan interaksi antar muka.
Selanjutnya, tahap ini programmer (penulis) mengembagkan desain (design) menjadi suatu aplikasi. Software yang digunakan adalah XAMPP yang meliputi: Apache sebagai web server, PHP dan HTML sebagai Bahasa pemograman web dan MySql sebagai databasenya. Selain itu menggunakan Sublime Text senagai software editor.
3. Implementasi (Implementation)
Tahap implementasi sistem merupakan tahap meletakan sistem agar siap untuk dioperasikan, yaitu dengan menyediakan perangkat keras apa saja yang dibutuhkan dan install software apa saja yang dibutuhkan hingga aplikasi berjalan. Tahap ini juga terdapat pengujian sistem yang merupakan pengujian sistem yang bertujuan melihat apakah aplikasi berjalan dengan baik atau tidak.
3.2.1 Keuntungan dan Kerugian Rapid Application Development
kerugian. Berikut adalah keuntungan dan kerugian Rapid Application Development dalam pemanfataannya:
Keuntungan Kerugian
1. Sangat berguna untuk proyek dimana kebutuhan sistem yang akan dikembangkan belum sepenuhnya tepat atau tidak menetu.
2. Mendorong antusias end-user untuk berpartisipasi dalam proyek tersebut. 3. Proyek memiliki visibilitas
dan dukungan yang tinggi
yang dikarenakan
keterlibatan pengguna. 4. Solusi berbasis software
lebih cepat dibandingkan solusi berbasis bisnis model 5. Kesalahan dan kelalaian
dapat diketahui lebih cepat pada prototype, ini dibandingkan pada system model.
6. Uji coba adalah suatu kaharusan dari suatu produk yang mendasari dari pendekatan prototype.
7. Pendekatan secara iterative lebih wajar karena perubahan adalah factor yang
1. Beberapa isu mengatakan RAD lebih membutuhkan banyak tenaga, dukungan, dan pengembangan yang menyebabkan meningkatnya biaya yang diperlukan. 2. RAD dapat menyelesaikan
masalah yang keliru jika masalah tersebut diabaikan dan disingkat.
3. Prototype berbasis RAD dapat memungkinkan berkurangnya semangat dari analyst.
4. Terkadang pata stakeholder melihat prototype sebagai pembuangan tenaga dan waktu.
diharapkan dalam proses pengembangan.
3.3Kerangka Berfikir
Mulai
40
BAB IV
ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN
PENGUJIAN
4.1 Fase Analisis Kebutuhan Perangkat Lunak
Pada sitem penjadawalan percetakan ini akan memproses seluruh data penjadwalan pada percetakan pada PT Dila Print, jika penjadwalan dilakukan dengan cara manual maka akan membuat sulit bagian resepsionis dalam menyusun jadwal. Sehingga digunakan algoritma genetika untuk memecahkan masalah tersebut. Fungsi Algoritma Genetika sendiri bukan untuk meyelesaikan masalah melainkan untuk optimalisasi permasalahan penjadwalan di PT Dila Print.
4.2 Fase Requirement Planning
4.2.1 Sejarah Singkat PT DilaPrint
Perusahaan ini didirikan oleh seorang anak muda, setelah lulus dari ATGI (Akademi Teknologi Grafika Indonesia) tahun 1996. Sejak saat itu perusahaan ini terus berkembang. Saat ini perusahaan ini memiliki lebih dari 32 tenaga ahli yang bergabung, dan mereka bertanggung jawab dalam bidangnya masing-masing.
Setelah 15 Tahun berkecimpung, kami menyadari bahwa Perusahaan percetakan selalu dibutuhkan kapanpun, dimanapun, dan dimusim apapun. Tidak terpengaruh akan situasi ekonomi, masyarakat akan selalu membutuhkan jasa percetakan. Dengan bantuan dan dukungan anda, kami akan meningkatkan mutu pelayanan kami agar sesuai dengan kebutuhan dan keinginan para pemakai jasa.
mesin ini bisa melayani anda lebih cepat dan lebih berkualitas. Selain itu kami juga menawarkan layanan 24 jam bagi anda.
“Kami sangat menghargai kepercayaan yang anda berikan kepada kami untuk melayani anda dengan harga kami yang terjangkau dan tentu saja dengan kualitas yang baik. Jadi jangan ragu untuk menghubungi kami kapanpun. Dilaprint siap memberikan pelayanan”. (Afriansyah Haris A.md.Graf, President)
4.2.2 Identifikasi Dan Masalah Sistem 4.2.2.1Identifikasi Masalah
Pada sistem yang ada pada PT DilaPrint pada saat ini proses penjadwalan percetakan ditentukan dengan sebuah opsi dari resepsionis yang bertugas menerima pesanan dari pelanggan, ataupun ditentukan dengan banyaknya pesanan yang lagi berjalan. Penulisan jadwal cetak itupun masih diatas kertas yang rentan akan hilang atau rusak sebelum cetakan itu selesai.
Permasalahan juga akan terjadi ketika disaat adanya pesanan di hari yang sama tapi dalam waktu yang berbeda, resepsionis harus memilih secara manual mana yang harus dikerjakan pertama kali untuk dicetak pesanannya.
4.2.2.2Identifikasi Sistem Berjalan
Gambar 4. 1 Alur kerja Berjalan
Berikut penjelasan mengenai alur kerja yang berjalan pada PT Dila Print:
1. Klien datang dan menemuin resepsionis dan mengisi form untuk pemesan cetakan yaitu berupa data diri, alamat email, no telpon yang bisa dihubungi, dan pesana yang akan dicetak.
2. Resepsionis akan merekam ulang data klien/pemesan kedalam sebuah buku besar untuk sebagai laporan.
3. Dari data tersebut akan ditentukan oleh pegawai/resepsionis waktunya dan pegawai yang bertanggung jawan atas cetakan kien tersebut.
4. Setelah cetakan telah selesai dicetak maka pegawai yang bertanggung jawab akan melaporkan kepada pegawai/resepisonis bahwa cetakan klien telah selesai.
4.2.2.3Identifikasi Sistem Usulan
Sistem yang penulis ingin buat adalah sebuah sistem penjadwalan percetakan yang diharapkan dapat membantu menyelsaikan masalah pada PT Dila Print yang masih menggunakan penjadwalan manual.
Berikut penjelasan mengenai sistem usulan:
1. Klien/pemesan datang menemui respsionis dengan membawa apa yang dibutuhkan klien yang digunakan sebagai data.
2. Resepsionis/pegawai merekam/menginput data-data klien/pemesan kedalam sistem yang nantinya akan menjadi acuan dalam penyusunan jadwal cetak.
3. Resepsionis//pegawai akan memproses data klien apakah telah sesuai atau belom.
4. Jika telah telah sesuai semua data klien/pemesan maka selanjutnya resepsionis/pegawai akan menyusun jadwal menggunakan sistem yang
sudah menerapkan perhitungan algoritma genetika sampai terbentuk penjadwalan percetakan. Dan dengan merepakan perhitungan algoritma tidak akan menemukan waktu yang akan bentrok.
5. Setelah jadwal tersusun maka pegawai operator percetaka akan langsung mengerjakan cetakan yang telah ditentukan.
6. Setelah cetakan selesai, maka klien/pemesan akan mendapatkan notification/reminder dari sistem berupa sms bahwasanya pesanannya telah selesai dicetak.
Gambar 4. 3 Skema Sistem Proses penjadwalan yang diusulkan
Berikut penjelasana input-proses-output didalam sistem:
1. Disaat data yang dinput oleh pegawai/resepsionis data akan langsung degenerate oleh sistem.
2. Setelah data degenerate makan output dari generate algoritma tersebut berupa data jadwal yang sudah tidak ada bentrok.
Gambar 4. 4 Alur sistem smsgateway
Berikut penjelasan alur sistem SMSGataway:
1. Untuk mengirimkan pesan reminder (pengingat), maka seelumnya computer harus terhubung dengan modem, simcard yang sudah terisi pulsa. 2. Kemudian jadwal sudah tersusun dan tersimpan ke dalam database, akan diambil olesh sistem untuk nanatinya akan menjadi isi pesan yang akan dikirimkan.
3. Setelah data sudah ada, selanjutnya isi pesan akan dikirimkan dengan proses sms Gateway menggunakan Gammu.
4.2.2.4Identifikasi Syarat-Syarat Informasi
Pembuatan sistem penjadwalan percetakan pada PT Dila Print ini harus memenuhi syarat-syarat meliputi kelengkapan data, software, hardware. Kelengkapan data yang digunakan dalam pembutan sistem penjadwalan percetakan pada PT Dila Print ini adalah:
1. Data calon pemesan 2. Data pegawai
3. Data jadwal percetakan
Kebutuhan software yang digunakan untuk sistem penjadwalan percetakan pada PT Dilla Print ini adalah:
1. Windows 10 2. Sublimje Text 3. XAMPP
4. Google Chrome
Sedangkan kebutuhan hardware yang digunakan untuk pembuatan sistem penjadwalan percetakan pada PT Dilla Print ini adalah:
1. Laptop Asus A45S 2. RAM 8 GB
3. Intel core i3 2.2 GHz
4.3 Fase Workshop Design
4.3.1 Desain Algoritma Genetika
Proses atau metode algoritma genetika terdiri dari beberapa tahapan penting, yaitu: pengkodean (Encoding), nilai fitness, dan seleksi (selection), kawin silang (crossover), dan mutase (mutation).
1. Pengkodean (Encoding)
Encoding adalah suatu proses pengkodean gen dalam suatu kromosom, dimana jadwal yang akan dimasukkan kedalam model kromosom yang didalamnya terdiri dari beberapa gen. Jenis Encoding ang dipakai yaitu real-number Encoding. Penulis memilih jenis pengkodean ini karena didasarkan oleh jumlah kromosom yang sangat banyak, sehingga jenis ini dinilai cocok untuk pengkodean. Encoding dilakukan dengan memisahkan tiap-tiap tabel masukan (missal: tabel hari) sebagai sebuah gen yang unik, dan setiap tabel dikodekan dalam bentuk angka.
Tabel 4. 1 Contoh Encoding Hari
Tabel 4. 2 Urutan Pembentukan Kromosom
Gen Tugas
Pegawai
Pesanan Pemesan Durasi
3. Nilai Fitness dan Seleksi
Pada setiap populasi baru tebentuk baik dari populasi awal maupun dari proses regenerasi akan dihitung nilai fitness. Fitness merupakan nilai kualitas dari suatu kromosom. Seleksi nilai fitness merupakan solusi yang umum digunakan, rumus mencari nilai fitness yang digunakan pada aplikasi ini sebagai berikut:
Fitness= 1
1+(∑ 𝑃+ ∑ 𝐷)
Ket:
• P = Bentrok Pesanan sama dipegawai yang sama. • D = Durasi/jangka waktu sama pegawai yang sama.
Selection adalah salah satu proses untuk mendapatkan kromosom-kromosom berkualitas pada generasi berikutnya. Metode yang digunakan yaitu roulette whel selection. Pemilihan kromosom dalam selection dilakukan dengan memperhatikan Batasan-batasan (constraint) yang sudah ditetapkan sebelumnya. Setiap kromosom akan diperiksa satu per satu dan dibandingkan dengan kromosom lainnya sesuai dengan batasab-batasan.
masih memiliki nilai error makan selanjutnya akan dikawin silang langkah unutk melakukan proses seleksi kromosom yaitu:
1. Membandingkan antara kromosom 1 dengan kromosm 2 dengan memperthatikan Batasan-batasan (constraint) berikut:
• Pesanan tidak boleh dikerjakan oleh pegawai yang sama • Durasi yang sama tidak bisa dikerjakan oleh pegawai yang
sama.
2. Selanjutnya melakukan pemisahan kromosom yang tidak memiliki pelanggaran atau nilai error terhadap constraint, kemudian kromosom yang tidak terpilih akan disimpan sebagai kromsom yang berkualitas. Sedangkan kromosom yang masih memiliki nilai error selanjutnya akan dikawin silangkan (crossover) dan mutase.
4. Kawin Silang (Crossover)
Crossover yaitu mengawinkan atau menukarkan gen antara dua kromosom. Ada beberapa hal yang perlu diperhatikan dalam crossover:
a. Tentukan probabilitas persilangan (pc) yang diinginkan.
b. Bangkitkan bilangan acak ke-i antara 0-1 untuk setiap kromosom yang terdapat pelanggaran atau nilai error didalamnya.
c. Bandingkan bilangan acak ke-i pada setiap kromosom apakah ada yang memiliki nilai lebih besar dari (pc). Jika ya, maka pilih kromosom tersebut sebagai kromosom crossover.
d. Lakukan crossover pada semua pasangan gen antara dua kromosom secara berurutan, gen 1 pada kromosom 1 dikawin silangkan dengan gen 1 pada kromosm 2, gen 2 pada kromosom 1 dikawin silangkan dengan gen 2 pada kromosom 2, begirtu seterusnya.
Berikut adalah langkah-langkah Generate jadwal menggunakan algoritma genetika:
Diketahui:
• 20 Pegawai yang bekerja • Tanggal mulai
• Durasi • Pemesan
Tabel 4. 3 Tabel Sebelum Menerapakan Algoritma Genetika
Nama Pemesan Nama Pegawai Tgl mulai mengerjakan Durasi
Budi jable 2017-08-08 7
1. Encoding (Pengkodean Gen dalam suatu kromosom)
Tabel 4. 4 Pengkodean Pegawai
Tabel 4. 5 Pengkodean Pemesan
Tabel 4. 6 Pengkodean Pesanan
2. Pembangkitan Populasi Awal
Gen Tugas
Pegawai
Pesanan Pemesan Durasi
Kromosom 1 : Kromosom 2 :
3. Seleksi Nilai Fitness
Fitness= 1
1+(∑ 𝑃+ ∑ 𝐷)
Ket :
• P = Bentrok Pesanan yang sama
• D = Durasi/jangka waktu pesanan sama pegawai Misalnya ketika membandingkan gen 1 dan gen 2 :
Jika pesanan dan pegawai sama maka bentrok (ClashPesanan+1) Jika durasi dan pegawai yang mengerjakan sama makan bentrok (ClashPesanan+1)
Gen 1 dibandingkan dengan gen 2 Gen 1 dibandingkan dengan gen 2
Kromosom 1 : Kromosom 2 :
CROSSOVER
Kromosom 1 :
Kromosom 2 : Masih ada bentrok 5. Mutasi
Perubahan susunan gen di dalam kromosom, yang diubah hanya gen waktu saja.
Perancangan aplikasi ini peniliti melakukan perancangan dengan menggunakan UML yang terdiri dari Usecase diagram, Activity diagram, Sequence diagram dan Class diagram.
4.3.2.1Identifikasi Usecase dan Aktor
Usecase diagram dapat dibuat setelah peniliti melakaukan identifikasi actor dan identifikasi kebutuhan Usecase. Berdasarkan penjelesan pada bab sebelumnya Usecase mencakup aliran-aliran kerja (workflow) dalam sistem (bersifat internal) sedangkan actor-aktor mencakup segala sesuatu yang ada di luar sistem (bersifat eksternal). Pemodelan sistem dilakukan untuk mendiskripsikan Usecase apa saja dan aktor yang akan terlibat dalam analisis sistem usulan. Berukut ini informasi detail mengenai identifikasi aktor dan identifikasi kebutuhan Usecase:
Tabel 4. 7 Requirepment, aktor, dan usecase
NO Requerepment Aktor Usecase
1 Pemilik percetakan menginput data ke dalam sistem
Admin Menambah, melihat, mengubah, mencari data, dan mencetak data
2 Resepsionis menginput klien
Pegawai Menginput data klien dan menggenerate jadwal
4.3.2.2Usecase Diagram
Gambar 4.5 dan gambar 4.6 menjelaskan mengenai Usecase pada aplikasi penjadwalan, dimana admin dan pegawai sebagai aktor. Berikut skesnario narasi Usecase Diagram.
4.3.2.3Usecase Scenario
Usecase Scenario mendefinisikan apa yang dilakukan oleh sistem ketika aktor mengaktifkan Usecase. Struktur dari Usecase Scenario ini terdiri dari:
1. Nama Usecase, 2. Aktor yang terlibat
3. Pre-condition yang penting bagi Usecase untuk memulai. 4. Deskripsi rinci dari aliran kejadian yang terdiri dari:
• Main flow dari kejadian yang bisa dirinci lagi menjadi sub flow dari kejadian (sub flow bisa dibagi lagi lebih jauh menjadi sub flow yang lebih kecil agar dokumen lebih mudah dimengerti).
• Alternative flow untuk mendefinisikan situasi perkecualian.
• Post-condition yang menjelaskan state dari sistem setelah usecase berakhir.
Tabel 4. 8 Usecase Login
Usecase Name Login
Actor Admin, Pegawai
Description Usecase ini mengambarkan aktor dapat menambah data pegawai pada PT Dila Print Pre-condition Aktor harus memiliki Username dan password
yang telah terdaftar di dalam aplikasi. Typical course of
events
Actor Action System Response
1. Membuka aplikasi penjadwalan