ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem adalah tahapan mendapatkan gambaran yang menyeluruh tentang kebutuhan sistem serta gambaran tugas-tugas yang akan dikerjakan oleh sistem.
Dalam analisis dan perancangan sistem, dilakukan pemodelan rancang bangun sistem yang akan diimplementasikan dalam bentuk nyata.
3.1.1. Analisis Masalah
Dalam mengidentifikasi masalah pada sistem yang akan dirancang, dapat digunakan diagram Ishikawa (fishbone diagram). Dengan diagram ishikawa kita dapat mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab akibat dari masalah tersebut dalam bentuk grafis. Diagram ini disebut juga diagram sebab-akibat ataupun diagram tulang ikan. Identifikasi masalah pada sistem membantu dalam menganalisis persyaratan sistem yang akan dikembangkan sehingga tujuan dari sistem dapat dicapai.
Masalah utama dari penelitian ini adalah bagaimana agar sistem dapat menghasilkan penjadwalan karyawan sesuai dengan periode waktu dan nomor urut karyawan menggunakan algoritma genetika. Kemudian masalah ini diuraikan ke dalam 4 kategori yaitu : man (admin), method (optimasi), material (algoritma genetika), machine (program). Dapat diuraikan sebagai berikut :
1. Man (admin).
Dalam kategori man yaitu dalam hal ini adalah admin sebagai orang yang akan membuat jadwal kerja memiliki kendala karena banyaknya jumlah karyawan yang membuat penjadwalan sangat memakan waktu yang lama jika dilakukan manual.
2. Method (optimasi).
Secara optimasi, maka kendala utama yang akan dihadapi adalah ketepatan dan keakuratan hasil program jika hanya menggunakan satu kali iterasi saja.
3. Material (algoritma genetika).
Variabel pembentuk kromosom dari algoritma genetika pada sistem yang dibentuk hanya dari periode waktu saja.
4. Machine (program).
Jika hasil program akan memunculkan nama yang sama secara berulang, dengan kata lain penjadwalan yang dihasilkan tidak akurat.
Sehingga kesimpulan dari permasalahan yang sudah dijabarkan di atas, maka dapat digambarkan diagram ishikawa nya seperti pada Gambar 3.1 :
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
Masalah utama pada sistem ditunjukkan oleh kotak segi empat dibagian kanan diagram ishikawa (bagian kepala ikan), sementara kategori ditunjukkan oleh segi empat yang terhubung ke garis tulang utama, sedangkan sebab akibat ditunjukkan oleh tulang-tulang kecil yang diwakili oleh garis panah yang mengarah ke tulang-tulang kategori.
3.1.2 Analisis persyaratan (requirement analysis)
Analisis persyaratan sistem dikelompokkan ke dalam dua bagian, yaitu:
1) Analisis Persyaratan Fungsional
Persyaratan fungsional mencakup segala sesuatu yang harus dimiliki oleh sistem. Persyaratan fungsional dari sistem yang akan dirancang adalah sebagai berikut :
a) Sistem harus mengandung semua komponen utama algoritma genetika, yaitu : gen, kromosom, seleksi, crossover, dan mutasi.
b) Sistem harus dapat menampilkan hasil penjadwalan berdasarkan algoritma genetika yang digunakan.
2) Analisis Persyaratan Non-Fungsional
Analisis persyaratan non-fungsional mencakup persyaratan tambahan yang harus dilakukan sistem, biasanya berupa batasan-batasan sistem.
Persyaratan non-fungsional dari sistem yang akan dirancang adalah sebagai berikut :
a) Waktu eksekusi program tidak terlalu lama dan membuat gangguan fungsional dari sistem operasi.
b) Nilai fungsi index objektif yang dimasukkan sudah ditentukan dan tidak terlalu besar agar waktu komputasinya tidak terlalu lama.
c) Nilai acak gen yang dibentuk harus sesuai dengan batasan yang sudah ditentukan sebelumnya.
d) Tidak boleh ada satu ruang yang diisi dua kali oleh karyawan yang sama dalam satu waktu yang sama.
e) Karyawan harus dapat menempati Section sesuai dengan jadwal yang ditentukan pada tiap minggu.
f) Dalam satu hari, karyawan hanya menempati satu shift saja.
3.1.3 Analisis Penerapan Algoritma Genetika.
Untuk memahami aturan-aturan yang akan digunakan, pada bagian ini akan dijelaskan karakteristik dari masing-masing variabel yang merupakan komponen utama dari sistem penjadwalan. Komponen yang pertama adalah shift sebagai pembentuk gen.
Komponen berikutnya adalah nomor urut karyawan, hasil dari generasi yang
didapatkan dari proses genetika disesuaikan dengan nomor urut karyawan yang sudah ditentukan pada program.
3.1.3.1 Komponen Shift dan Section
Berdasarkan jumlah karyawan yang cukup banyak dengan jumlah 300 karyawan yang dibagi atas tiga shift kerja yaitu :
1. Shift 1 mulai jam 08.00 WIB selesai jam 16.00 WIB.
2. Shift 2 mulai jam 16.00 WIB selesai jam 00.00 WIB.
3. Shift 3 mulai jam 00.00 WIB selesai jam 08.00 WIB.
PT. Indah GloryMas Indonesia memberlakukan lima hari bekerja yaitu senin hingga jum’at.
Setiap Shift dibagi atas empat Section dengan kapasitas untuk satu Section 25 orang karyawan. Daftar Section yang ada pada PT. Indah GloryMas Indonesia dapat dilihat pada tabel 3.1 dan daftar shift dapat dilihat pada tabel 3.2.
Tabel 3.1 Daftar Section PT. Indah GloryMas Indonesia No Nama Section Jumlah Karyawan Per Section
1. Sorting 25 Orang
2. Assembling 25 Orang
3. Loading 25 Orang
4. Packing 25 Orang
Tabel 3.2 Daftar Shift Kerja PT. Indah GloryMas Indonesia Waktu Nama Shift
08.00-16.00 Shift 1 16.00-00.00 Shift 2 00.00-08.00 Shift 3
Dari tabel 3.1 Daftar Section dan Tabel 3.2 Daftar Shift pada PT. Indah GloryMas Indonesia diketahui setiap shift memiliki empat (4) Section yang mana satu Section berisi 25 orang karyawan.
3.1.3.2 Komponen Karyawan
Pembentukan komponen karyawan dalam sistem ini dilakukan manual oleh user yang menginput data karyawan beserta nomor urutnya sebanyak 300 orang ke dalam sistem pada menu Data Karyawan.
Nomor urut tersebutlah yang kemudian akan dipanggil pada hasil seleksi terakhir untuk mendapatkan individu hasil genetika yang diinginkan, seperti pada tabel 3.3 berikut.
Tabel 3.3 Data Karyawan
No Urut NIK Nama No urut NIK Nama
1 32124 Abdiansyah K 151 32219 Kiki Mariani Hasibuan
2 32247 Abdul Latif 152 32103 Kriswanti Aritonang
3 32015 Achmad Fauzi 153 32220 Laura Betharia Br Simanjuntak
4 32099 Adi Putra Manurun 154 32275 Lely Lusani Utari
19 32105 Alviano Lumban Gaol 169 32223 Mita Ramadhani Tarigan
20 32021 Andika 170 32280 Monang Parulian
21 32051 Andika Surya 171 32169 Monang Simanjuntak
22 32088 Andre Yoga 172 32281 Muhaimin Siregar
23 32149 Andri G. Boangmanalu 173 32282 Muhammad Effendi
24 32163 Andri Junaidi 174 32171 Muhammad Firman
25 32203 Anggi Wijaya 175 32283 Muhammad Ichsan Sholihin
26 32251 Anggiat C.P Siregar 176 32284 Muhammad Syahputra
27 32052 Anggiat Hendratno 177 32035 Muhammad Syaiful
28 32122 Anita Tarigan 178 32285 Muhammad Taufiq
29 32199 Aniwar 179 32224 Mukhlisin
30 32041 Anto Purwanto 180 32036 Muryani W Siregar
31 32252 Arfandi 181 32225 Mustika
32 32053 Ari Ginting 182 32286 Mustika Lumban Gaol
42 32151 Betharia Simanjuntak 192 32226 Nurcahaya Sinaga 43 32299 Bintang Parulian Nadapdap 193 32175 Nurhamidah W
44 32133 Budi Darma 194 32078 Nurhayati
45 32022 Budi Hardi 195 32176 Nuri Rahayu
46 32152 Budi Kurniawan 196 32288 Nurlela Hasibuan
47 32177 Budi Putra 197 32079 Nurlela M
48 32301 Budi Utomo 198 32289 Nurul Azmi
49 32204 Budiman 199 32060 Oktavia Tarigan
50 32153 Cahaya Manurung 200 32040 Oskar
51 32236 Charles Manik 201 32196 Pertiwi Damanik
52 32123 Cindy Tumangger 202 32167 Pilipus Sarumaha
53 32054 Citra Dewi 203 32227 Prapto Sinulingga
54 32148 Citra Sumbayak 204 32058 Prasetiyo Munas
55 32255 Dedy Haryanto 205 32211 Prasiska
56 32104 Dedy Kusuma 206 32025 Pratama
57 32055 Denita Donita 207 32090 Purnama Bahagia Sinaga
58 32155 Desi P Br Sitorus 208 32016 Purnama Sari
78 32082 Elfrida Reni Pasaribu 228 32084 Rinaldi Abdi Siregar
79 32061 Eli Syafitri 229 32233 Rindi Prastika
80 32107 Elida 230 32234 Rini Rafiana
81 32062 Elina Sinurat 231 32128 Ririn Afriani
82 32210 Elpianna Ketaren 232 32291 Riska Ichsan
83 32277 Engelina Sembiring 233 32292 Roberto Leonardo GInting
84 32261 Erfinawati Simamora 234 32085 Rosmawar Tampubolon
85 32108 Erikson 235 32130 Rospita Siregar
86 32027 Ernawati Simbolon 236 32086 Rudi Gunawan
87 32263 Erni Suryani Ritonga 237 32100 Rudi Hidayat
88 32262 Evi Agunanta Barus 238 32214 Rudi Putra Hasugian
89 32212 Evi Pebriani 239 32235 Rudy Setiawan
90 32190 Fauziah Hanim 240 32131 Ruliana Manurung
91 32184 Fitri Dwi Yani 241 32087 Saffitri
92 32264 Fitri Nanda Sari 242 32089 Sally
93 32213 Fitriyani Harahap 243 32132 Sari Anita Br. Ginting
94 32005 Frans Saragih 244 32009 Satria
100 32265 Haprizal Pahmi 250 32183 Siti Ramadhani
101 32242 Hartini 251 32156 Siti Sundari
102 32063 Hary Permata 252 32240 Sonya
103 32114 Hasbi Wijaya 253 32241 Sopian Simangunsong
104 32115 Heldi Adelina Pane 254 32017 Soraya
105 32064 Helentina Br. Siregar 255 32185 Sri Irmayanti
106 32116 Helmina R. Sipayung 256 32091 Sri Melati
107 32030 Hendra 257 32186 Sri Novita Sari
108 32215 Hendra Yadi Harahap 258 32092 Sri Rezeki R
109 32266 Hendrawan Pratama 259 32293 Sudarwoto
110 32110 Hendri K Napitupulu 260 32178 Sugiyanto
111 32267 Heni Indrayani 261 32138 Sunardi
118 32159 Herianto 268 32208 Syafitri Hasugian
119 32270 Herianto 269 32140 Syafronal
120 32300 Hermanto Batubara 270 32189 Syahrul Dani Sitorus
121 32271 Herwanti Nasution 271 32243 Syarifah Batubara
122 32111 Hotmaria Br Simanjuntak 272 32045 Syawal Makmur 123 32066 Hotmaria E Br. Sitanggang 273 32179 Sylvana Harahap
124 32117 Hottua Naibaho 274 32294 Tantri
125 32272 Immanuel J Ginting 275 32141 Tiarma Purba
126 32237 Indah Sari 276 32135 Tio Marni Sianturi
127 32157 Indah Wati 277 32244 Toni Aryanto
128 32216 Indra Setiawan Tarigan 278 32046 Tonni
129 32031 Irma Suriani 279 32142 Tria Indah Puspita
130 32032 Irna Novriani 280 32191 Triani
131 32007 Irwansyah 281 32137 Tuti Hastuty
132 32273 Ita Purnama Sari Batubara 282 32136 Utari T
133 32274 Jansen B Sitompul 283 32144 Wahyu Wandira
134 32119 Jefry 284 32074 Wahyudi Siregar
135 32120 Jimmy Sinulingga 285 32192 Wati Mandasari
136 32217 Joannes Panjaitan 286 32193 Wenni Silviana Sembiring
137 32004 Joko Muliadi 287 32126 Wiji Astuti
138 32218 Joko Saputra 288 32295 Wiliyanti Sari
139 32161 Joko Suprianto 289 32146 Winda Sari
140 32162 Juan Polo T Pasaribu 290 32097 Wiryo C Sanjaya
141 32069 Julia Sari 291 32296 Wiyandi Putra
142 32170 Juliana Rizky 292 32245 Wulandari Siregar
143 32188 Juliyanto 293 32147 Yose Rizal
144 32070 Junaidi 294 32194 Yudi Hidayat
145 32008 Junawati 295 32047 Yuliana
146 32164 Juniarsih 296 32195 Yuliana Batubara
147 32121 Juniati Sianturi 297 32197 Yurika Ananda Putri
148 32180 Khairani Siregar 298 32246 Yusdi Hariadi
149 32165 Khairul Anwar 299 32221 Zahrina
150 32166 Khoirul Anwar Pane 300 32057 Zulkarnaen Manurung
Karyawan
<<include>>
<<include>>
<<include>>
3.1.3.3 Pemodelan persyaratan sistem dengan use case
Untuk mendapatkan gambaran yang lebih jelas mengenai objek yang akan saling berinteraksi dengan sistem, maka akan dilakukan pemodelan sistem. Pemodelan yang akan dikembangkan adalah diagram use case, yang mana actor utamanya adalah admin dan karyawan.
Use case diagram dari sistem yang dirancang sesuai dengan analisis sistem ditunjukkan pada Gambar 3.2
Gambar 3.2 Use Case Diagram Aplikasi
Dari use case diagram di atas, tampak bahwa bagian personalia dalam hal ini bertindak sebagai user akan login terlebih dahulu ke dalam aplikasi. Kemudian memasukkan data karyawan dan data section berdasarkan data yang tersedia diperusahaan. Setelah selesai lalu jadwal dicetak dan diberikan kepada karyawan.
Use case pada menu data karyawan dan menu data section pada gambar 3.2 di atas dijelaskan dengan activity diagram pada gambar 3.3 dan dokumentasi naratif pada tabel 3.4 berikut.
Salah
Benar
Gambar 3.3 Activity Diagram Menu Data Karyawan dan Data Section Menu Data karyawan dan Data Section
User Sistem
Memasukkan user name
dan password Login
Menu Data Karyawan / Data Section Tambah, edit, dan
hapus data
Simpan data
Tabel 3.4 Dokumentasi Naratif Activity Diagram Menu Data Karyawan dan Data Section
Nama use case Menu Data karyawan dan Data Section
Aktor User
Deskripsi Use case mendeskripsikan bagaimana user login ke dalam sistem, melakukan input dan perbaikan data (edit, hapus dan tambah data) pada menu data karyawan dan data section
Pre-Condition User harus login terlebih dahulu untuk masuk ke dalam sistem
Skenario Aksi Aktor Respon Sistem
Langkah 1 : User masuk ke dalam sistem menggunakan username dan password.
Langkah 2 : User akan login ke dalam sistem.
Langkah 3 : Jika salah ulangi ke langkah 1.
Langkah 4 : Jika benar, maka user masuk ke dalam menu data karyawan/data section
Langkah 5 : User
menambah, edit dan hapus data pada menu yang ada.
Langkah 6 : Data disimpan pada Menu Data
Karyawan/Data Section.
Post-Condition Data telah disimpan pada Menu Data Karyawan/Data Section dan siap untuk dikelola.
Pada dokumentasi naratif di atas, bisa kita lihat bahwa hal pertama yang dilakukan user adalah login agar dapat masuk ke dalam sistem. Apabila username dan password yang dimasukkan salah, maka sistem akan kembali ke halaman login sampai username dan password yang dimasukkan benar.
Setelah masuk pada menu data karyawan atau menu data section, maka user akan melakukan pengolahan data, mulai dari memasukkan, edit, hapus dan menambahkan data yang dibutuhkan. setelah selesai maka data akan tersimpan.
Use case cetak jadwal kerja dijelaskan pada activity diagram gambar 3.4 berikut ini.
Cetak jadwal
User Sistem Karyawan
Gambar 3.4 Activity Diagram Cetak Jadwal Kerja
Tabel 3.5 Dokumentasi Naratif Activity Diagram Cetak Jadwal Kerja Nama use case Cetak jadwal kerja
Aktor User dan Karyawan
Deskripsi Use case menggambarkan hubungan antara karyawan dengan user di dalam sistem saat ingin melihat jadwal kerja
Pre-Condition Data karyawan dan section sudah tersimpan dalam sistem.
Input nilai gen
Menu Jadwal Kerja
Akses Tombol Proses
Cetak Hasil Jadwal
Kerja Lihat Jadwal
Logout
Skenario Aksi Aktor Reaksi Sistem Langkah 1 : User
menginput nilai gen
Langkah 2 : Nilai gen di input pada menu jadwal karyawan Langkah 3 : Mengakses
tombol proses
Langkah 4 : Mencetak hasil jadwal kerja
Langkah 5 : Aktor karyawan melihat jadwal yang sudah dicetak
Langkah 6 : User Logout dari sistem.
Post Condition Diperoleh hasil jadwal karyawan
Dari activity diagram dan deskripsi naratif di atas, dapat dilihat bahwa proses pertama yang dilakukan adalah menginputkan nilai gen pada menu jadwal kerja. Lalu aktor user mengakses tombol proses dan jadwal kerja akan tampil. Kemudian aktor karyawan melihat hasil jadwal kerja yang tampil pada sistem.
3.1.3.4 Flowchart algoritma genetika pada sistem.
Flowchart algoritma genetika yang dapat menggambarkan sistem yang dibangun ditunjukkan pada gambar berikut ini :
Gambar 3.5 Flowchart Algoritma Genetika pada Sistem.
Inisialisasi kromosom sebanyak 100
Hitung nilai fitness masing-masing kromosom
Seleksi kromosom dengan metode roulette wheel
Menentukan nilai pc sebesar 20% untuk mendapatkan induk yang akan mengalami
crossover
Menentukan nilai pm sebesar 5% dan mengganti gen terpilih dengan nilai random
yang dibangkitkan
Menentukan nilai pm sebesar 5% dan mengganti gen terpilih dengan nilai random
yang dibangkitkan Input nilai a, b dan c
Menghubungkan nilai gen pada kromosom akhir dengan nomor urut karyawan di
database
Menampilkan hasil penjadwalan
Stop
Start