• Tidak ada hasil yang ditemukan

Semua bab i ii penutup

N/A
N/A
Protected

Academic year: 2018

Membagikan "Semua bab i ii penutup"

Copied!
128
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

xiv

(15)

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.

(16)

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

(17)

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

(18)

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.

(19)

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

(20)

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

(21)

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

(22)

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.

(23)

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.

(24)

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)

(25)

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

(26)

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

(27)

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

(28)

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 :

(29)

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

(30)

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 :

(31)

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 :

(32)

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

(33)

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).

(34)

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.

(35)

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.

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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.

(41)

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.

(42)

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

(43)

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.

(44)

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.

(45)

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.

(46)
(47)

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

(48)

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

(49)

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)

(50)

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

(51)

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.

(52)

diharapkan dalam proses pengembangan.

3.3Kerangka Berfikir

(53)

Mulai

(54)

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.

(55)

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

(56)

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.

(57)

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

(58)

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.

(59)

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.

(60)

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

(61)

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

(62)

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.

(63)

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.

(64)

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.

(65)

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

(66)

Tabel 4. 5 Pengkodean Pemesan

Tabel 4. 6 Pengkodean Pesanan

2. Pembangkitan Populasi Awal

Gen Tugas

Pegawai

Pesanan Pemesan Durasi

(67)

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 :

(68)

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.

(69)

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

(70)
(71)

Gambar 4.5 dan gambar 4.6 menjelaskan mengenai Usecase pada aplikasi penjadwalan, dimana admin dan pegawai sebagai aktor. Berikut skesnario narasi Usecase Diagram.

(72)

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

Gambar

Gambar 2. 1 Komponen Sistem
Tabel 4. 3 Tabel Sebelum Menerapakan Algoritma Genetika
Tabel 4. 10 Usecase view data pegawai
Tabel dan Form data Pegawai telah ada dalam
+7

Referensi

Dokumen terkait

Berdasarkan latar belakang di atas, maka penelitian yang perlu dilakukan yaitu dengan judul “Pengaruh Jenis Tanaman Air dan Lama Perendaman terhadap Penyerapan

Menimbang, bahwa berdasarkan fakta-fakta tersebut dapat disimpulkan bahwa Pemohon I yang bernama PEMOHON I dan Pemohon II yang bernama PEMOHON II sebagaimana yang

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

[r]

Sekiranya Kementerian Kewangan Malaysia mendapati syarikat telah melanggar syarat-syarat yang ditentukan di atas, ataupun telah menyerahkan pengurusan syarikat dan kontrak

Isolasi senyawa alkaloid dilakukan pada ekstrak etil asetat sebanyak 4 g dikromatografi dengan kromatografi vakum cair (KVC) dengan fasa gerak kombinasi pelarut

Terdapat juga pelajar India yang berbahasa ibunda Tamil juga telah melalui pendidikan pada peringkat rendah, iaitu selama 6 tahun memiliki pengetahuan yang lemah dan sederhana

Seperti telah dijelaskan pada bagian loket penjualan karcis TONG STAND warna-warni ini merupakan ciri khas seluruh wahana hiburan DIANA RIA yang merupakan satu