BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Gambaran Umum Perusahaan 3.1.1 Sejarah Umum Perusahaan NIKO FURNITURE adalah perusahaan swasta, yang didirikan pada tahun 2000. Perusahaan ini bergerak dalam bidang industri furnitur. Sampai saat ini, perusahaan masih berfokus pada produk sofa, springbed, dan lemari, dimulai dari proses produksi hingga pengiriman produk ke distributor. Lokasi Niko Furniture terdapat di Jl. Sultan Agung Office Park No.11, Bandar Lampung, Propinsi Lampung. Pada awalnya, NIKO FURNITURE hanya bergerak dalam pembuatan sofa saja, dan hanya mendistribusikannya di wilayah Bandar Lampung. Tetapi, sejak tahun 2005, perusahaan ini mulai mengembangi bidang usahanya dengan pembuatan lemari, dan tahun 2006, perusahaan ini memulai mencoba usaha pembuatan springbed. Saat ini, NIKO FURNITURE sudah menjadi salah satu perusahaan yang cukup berkembang di Lampung. Hal ini ditunjukan dengan perusahaan ini sudah mendistribusikan produk ke lebih dari 100 toko furnitur di seluruh wilayah Lampung.
35 3.1.2 Visi dan Misi Perusahaan 1. Visi Memberikan pelayanan terbaik kepada konsumen, dengan membangun Sumber Daya Manusia yang berkualitas, dan menekankan unsur kekeluargaan dan keramahan untuk mewujudkan citra yang baik dan struktur usaha yang kokoh dan handal melalui kerjasama jaringan mitra usaha yang luas dan terpercaya. 2. Misi Membangun Sumber Daya Manusia yang berkualitas dan loyal terhadap perusahaan Menciptakan jaringan kerjasama dengan para mitra dagang Menciptakan keuntungan, baik bagi perusahaan maupun para mitra dagang 3.1.3 Struktur Organisasi Perusahaan Struktur Organisasi Niko Furniture dapat dilihat pada Gambar 3.1 berikut ini
36 Direktur Divisi Administrasi Divisi Penjualan Divisi Produksi Divisi HRD Bagian Pengihan Sales Subdivisi Subdivisi Kasir Pergudangan Produksi Bagian Pengawas Produk Bagian Pembelian Gambar 3.1 Struktur Organisasi NIKO FURNITURE 1. Direktur Direktur bertugas untuk memastikan seluruh system perusahaan berjalan dengan baik, dan sesuai dengan visi dan misi perusahaan. Direktur memimpin seluruh kegiatan di perusahaan, sehingga setiap divisi wajib melaporkan setiap permasalahan yang terjadi kepada Direktur. 2. Divisi Administrasi Divisi Administrasi bertugas untuk mengatur segala aliran dana, baik itu dalam kas kecil, kas besar, maupun aliran dana kepada Bank. Divisi
37 Administrasi juga bertugas untuk melakukan pendataan terhadap seluruh rekan kerja hingga pelanggan NIKO FURNITURE. Divisi Administrasi dibagi menjadi 2 subdivisi, yaitu Kasir, dan Bagian Penagihan. Kasir bertugas untuk mengatur seluruh pemasukan yang di peroleh oleh perusahaan, sedangkan bagian penagihan bertugas untuk mengkoordinasi tagihan dari setiap agen dari NIKO FURNITURE. 3. Divisi Penjualan Divisi Penjualan bertugas untuk mengatur segala transaksi yang terjadi. Selain itu, divisi penjualan juga bertanggung jawab atas pemasaran dari setiap produk yang didistribusikan oleh NIKO FURNITURE. Divisi Penjualan memiliki karyawan yang disebut Sales. Setiap sales memiliki wilayah penjualannya sendiri- sendiri, dan memiliki data dari setiap pelanggan, sehingga perusahaan dapat memiliki data sejauh mana produk perusahaan dapat didistribusikan. 4. Divisi Produksi Divisi Produksi dibagi menjadi dua subdivisi, yaitu subdivisi pergudangan dan subdivisi pembuatan barang. a. Subdivisi Pergudangan Subdivisi Pergudangan bertanggung jawab atas pendataan barangbarang yang terdapat pada gudang dari NIKO FURNITURE, baik itu
38 bahan baku yang dibutuhkan untuk membuat produk, maupun data-data produk yang ada di gudang. Subdivisi Pergudangan dibagi menjadi dua bagian, yaitu bagian pengawas produk, dan bagian pembelian. Bagian pengawas produk bertugas untuk mengawasi produk- produk yang ada di gudang. Bagian pembelian bertanggung jawab terhadap bahan baku yang dimiliki oleh perusahaan. b. Subdivisi Produksi Subdivisi Produksi bertanggung jawab atas produksi barang NIKO FURNITURE. Subdivisi ini adalah subdivisi yang cukup krusial karena subdivisi inilah yang memproduksi barang-barang yang akan dijual oleh NIKO FURNITURE 5. Divisi HRD Divisi ini bertugas untuk menangani pendataan karyawan, serta bertanggung jawab dalam penerimaan karyawan baru.
39 3.2 Analisis Masalah Yang Dihadapi Perusahaan. Permasalahan yang dihadapi NIKO FURNITURE adalah perusahaan ini masih memproduksi barangnya secara manual dan berdasarkan pengalaman saja, sehingga perusahaan sering sekali membutuhkan biaya produksi yang lebih besar dari yang seharusnya karena kurangnya pemahaman bahwa penggunaan bahan baku seperti upholstery dapat lebih di optimalkan. 3.3 Solusi Permasalahan Salah satu cara yang ditawarkan penulis kepada perusahaan NIKO FURNITURE untuk meminimalisasi permasalahan yang dihadapi tersebut adalah dengan menggunakan Algoritma Genetika yang berguna untuk menghasilkan susunan pola sofa yang paling optimal sehingga semakin sedikit upholstery yang terbuang sia-sia sehingga biaya produksi yang dibutuhkan dapat diperkecil. Setelah mengetahui dan mempelajari permasalahan yang dihadapi perusahaan, penulis merancang suatu program aplikasi yang menggunakan Algoritma Genetika untuk menyelesaikan masalah tersebut. Algoritma Genetika akan menentukan posisi terbaik untuk menempatkan pola-pola sofa di atas bidang upholstery. Berikut ini adalah flowchart algoritma genetika untuk penyelesaian masalah di atas:
40 Start Penentuan Nilai Awal Populasi Awal Reproduksi Seleksi Crossover Tidak Mutasi Optimal? End ya Gambar 3.2 Flow Chart Algoritma Genetika 3.4 Spesifikasi Rumusan Rancangan Program ini dirancang dengan mengikuti prinsip-prinsip dari Object Oriented Programming (OOP) di mana hal-hal yang digunakan selama proses adalah sebuah objek. Alasan dari program ini mengikuti prinsip dari OOP karena:
41 1. Cara kerja program ini adalah memproses data dari objek- objek yang ada di dunia nyata. Sebagai contoh, sebuah pola pada kain upholstery, akan diwakili dengan objek pola pada kain upholstery yang memiliki sifat yang sama seperti di dunia nyata, seperti dapat dirotasi, ditranslasi, dan sebagainya. 2. Object Oriented Programming (OOP) adalah teknik programming yang sedang berkembang saat ini. Banyak bahasa pemrograman yang menggunakan prinsip OOP, sehingga program pengoptimalisasian penggunaan upholstery pada sofa ini dapat dikembangkan lagi sesuai dengan kebutuhan user, dan dapat dengan mudah ditransfer dan dikembangkan dengan menggunakan bahasa pemrograman lain yang menggunakan prinsip OOP. Format gambar yang akan digunakan dalam program ini adalah format gambar windows bitmap(.bmp). Alasan menggunakan format ini adalah karena windows bitmap dalam penggambarannya menggunakan piksel yang dipetakan ke dalam koordinat (x,y) sehingga lebih mudah untuk dimanipulasi ke dalam bentuk matriks. Bitmap merupakan file yang tidak terkompresi yang berarti semua informasi gambar disimpan termasuk redudansi. Baik JPEG dan bitmap dapat berisi sebanyak 24-bit warna. Bedanya, JPEG adalah file terkompresi, sedangkan bitmap merupakan file tidak terkompresi. File bitmap cukup besar sehingga membuatnya sulit untuk dikirim melalui internet (mis: via email), sehingga file JPEG lebih disukai sebagai lampiran email. Namun, jika berulang kali menyimpan gambar sebagai JPEG, Anda akan melihat bahwa setelah beberapa
42 kali menyimpan, kualitas gambar akan berkurang. Hal ini terjadi karena setiap kali menyimpan file JPEG, gambar akan dikompresi sehingga kehilangan informasi warna. Sehingga penulis memilih menggunakan file Bitmap dibandingkan file JPEG. Rancangan program pengoptimalisasian penggunaan upholstery pada sofa ini, memiliki menu utama yaitu menu input, menu proses, menu output dan menu about. Langkah-langkah yang akan dilakukan dalam program pengoptimalisasian penggunaan upholstery pada sofa ini adalah sebagai berikut: 1. Masukkan yang digunakan adalah pola sofa dengan format bitmap. 2. Sebelum memulai proses, user harus memasukan ukuran bidang uphostery yang akan digunakan. 3. Setelah user menginput seluruh proses yang dibutuhkan, user dapat menekan tombol proses, untuk memproses data sesuai dengan algorima genetika. 4. Hasil proses optimalisasi dapat di simpan dalam bentuk jpg, untuk dilihat kembali kalau dibutuhkan. Gambar 3.3 adalah flow cart proses program pengoptimalisasian penggunaan upholstery pada sofa:
43 Start Klik Masukan pola Input bidang upholstery Input Pola Tambah Ya Tidak Buat gen 1 Buat gen 2 Seleksi Cross Over Ya Mutasi Tidak Nilai Fitness Optimal Output Ya Cari lagi? Selesai Tidak Gambar 3.3 Flow chart Program
44 3.4.1. Rancangan Layar Tampilan Awal Program Optimalisasi Penggunaan Upholstery Masukan pola Tentang Penulis Gambar 3.4 Rancangan Layar Tampilan Awal 3.4.2. Rancangan Layar Menu Masukan Pola Ketika user memasuki menu ini, user akan diminta untuk memasukkan inputan berupa gambar pola yang akan diinput, panjang upholstery, dan lebar upholstery untuk proses perhitungan. Gambar yang diinput sebaiknya memiliki format windows bitmap (.bmp). Gambar yang diinput dengan format windows bitmap akan dikonversi menjadi matriks dua dimensi. Contoh gambar yang akan diinput dapat dilihat pada Gambar 3.5
45 Gambar 3.5 Object Pola Untuk menginput object pola, user dapat menekan tombol browse, maka akan muncul sebuah window common dialog yang akan membantu untuk mencari dan memilih file gambar (dalam format window bitmap) yang akan dibuka. Setelah itu user harus memasukkan panjang upholstery, dan lebar upholstery yang diinginkan. Apabila user ingin menambahkan pola yang akan dimasukkan, maka user tinggal menekan tombol tambah. User dapat melihat pola-pola yang telah dimasukkan dengan mengisi inputan indeks ke, setelah itu menekan tombol lihat. Apabila ingin menghapus gambar pola yang telah dimasukkan, user dapat menekan tombol hapus. Ketika tombol proses di tekan, maka akan muncul menu dialog yang menanyakan apakah user sudah yakin atas inputan yang user berikan atau belum, apabila sudah maka program akan segera melakukan proses yang sesuai dengan aturan- aturan dari Algoritma Genetika. Sedangkan apabila belum, maka user akan kembali ke menu inputan.
46 Program Optimalisasi Penggunaan Upholstery Masukan pola Tentang Penulis 2/5 Pola Panjang : Piksel Lebar : Piksel Upholstery Panjang : Lebar : Skala 1 : Mundur Tambah Piksel Piksel Maju Hapus Proses Gambar 3.6 Rancangan Layar Menu Masukan Pola Proses yang terjadi pada saat tombol proses ditekan, akan melakukan proses-proses Algoritma Genetika. Representasi kromosom dilakukan dengan representasi biner dengan dua variabel, yaitu panjang (p) dan lebar (l). Karena terdapat dua variabel, maka 1 kromosom terdiri atas 2 gen. Gen 1 mewakili variabel panjang, dan Gen 2 mewakili variabel lebar. Gen gen yang telah terbentuk dimasukkan ke dalam kromosom sebanyak individu dalam populasi yang dibentuk oleh user. Proses penempatan gen berlangsung secara terus menerus setiap muncul
47 generasi baru sampai iterasi maksimum yang diinputkan oleh user. Pada generasi pertama proses penempatan gen dilakukan secara random. Setelah generasi pertama telah didapatkan, selanjutnya akan dibentuk generasi selanjutnya. Untuk membentuk generasi baru, digunakan operator seleksi, crossover, dan mutasi. Proses ini dilakukan secara berulang ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru di mana generasi baru ini merupakan representasi dari solusi baru. Setelah melakukan pembentukan generasi baru, maka akan dilakukan penyusunan pola dalam bidang. Hal pertama yang akan dilakukan adalah pengecekan luas bidang. Pengecekan ini berfungsi untuk mencegah penyusunan pola keluar melewati bidang upholstery. Setelah itu, akan dilakukan pencarian tempat yang kosong untuk meletakkan pola dan koordinat bidang yang telah terisi akan ditandai agar tidak diisi kembali oleh pola yang lain, serta tidak terjadi perpotongan antar pola. Pada setiap akhir dari proses penyusunan pola, akan dihitung nilai fitnessnya. Semakin sedikit bidang kosong yang tidak terisi oleh pola, semakin tinggi nilai fitnessnya. Untuk menghitung bidang kosong yang tersisa, dilakukan dengan rumus:
48 Di mana: Dan solusi yang diambil adalah susanan pola yang memiliki nilai fitness terbaik. 3.4.3. Menu output Pada menu output, user dapat melihat hasil dari proses Algoritma Genetika yang terakhir dilakukan. Sehingga user dapat melihat hasil optimalisasi penggunaan upholstery menurut Algoritma Genetika.
49 Program Optimalisasi Penggunaan Upholstery Layar Hasil Optimalisasi Gambar 3.7 Rancangan Layar Output 3.4.4. Menu About Menu ini menampilkan keterangan singkat dari program seperti judul, mahasiswa yang membuat, dosen yang membimbing, dan sebagainya.
50 Program Optimalisasi Penggunaan Upholstery PROGRAM APLIKASI OPTIMASI PENGGUN AAN UPHOLSTERY PADA SOFA DENGAN METODE ALGORITMA GENETIKA Versi 1.0 (2011) Bina Nusatara University, Jakarta Dibuat oleh: Rico Aditya Prakasa (1100002644) 081932019232 Dibimbing oleh: Bapak Wikaria Gazali S.Si, M.T Bapak Dr. Suryadiputra Liawatimena Ok Gambar 3.8 Rancangan Menu About
51 3.5 Use Case Diagram Gambar 3.9 adalah Use case Diagram dari perancangan program skripsi ini: Menjalankan Program Input data Memproses Data Keluar Program Output Gambar 3.9 Use Case Diagram Gambar 3.10 adalah Use case Diagram ketika user melakukan input: Masukan pola Masukan bidang upholstery Memproses Data Masukan skala Output Gambar 3.10 Use Case Diagram Input
52 Gambar 3.11 adalah Use Case diagram ketika program memproses data: Inisialisasi Gambar Input Data Bentuk gen Seleksi Bentuk Kromosom Pemeriksaan keoptimalan Crossover Output Mutasi Nilai Fitness Gambar 3.11 Use Case Diagram Proses