3.3 Gambaran Umum Perusahaan
Pembahasan mengenai gambaran umum -perusahaan meliputi sejarah singkat perusahaan, struktur organisasi perusahaan, uraian tugas dan tanggung jawab yang akan dijelaskan pada sub-bab berikut.
3.1.1 Sejarah Perusahaan
CV. Surya Medika ialah perusahaan swasta yang terdiri dari 30 pegawai dan dipimpim oleh Bapak H. Muchtar Zainuddin. Berbekal pengalaman sebagai seksi
medical unit dan spesialis gases PT Aneka Gas, pada tahun 1998 Bapak H. Muchtar
Zainuddin memulai usaha dengan mendirikan perusahaan CV Surya Medika di bidang jasa instalasi gas medis atau udara pernapasaan, jasa perawatan alat-alat medis, alat-alat Anestesis, dan alat-alat pembantu pernapasan. CV Surya Medika
menempati dua lokasi, yaitu sebagai beikut.
a. Lokasi I: Jl. Wahyu Asri Selatan 1 No. 20, Semarang, Jawa Tengah. Lokasi ini merupakan lokasi yang diperuntukkan untuk kegiatan perkantoran, perbengkelan, dan penempatan gudang botol-botol bertekanan dari CV Surya Medika.
b. Lokasi II: Jl. Letkol Soeparno No. 7, Semarang, Jawa Tengah. Lokasi ini merupakan filing station yaitu pabrik pengisian botol gas oksigen dari CV
Surya Medika.
Seiring berkembangnya bisnis perusahaan, CV Surya Medika telah memiliki 5 kendaraan pengangkut tipe standar engkel dan satu tipe double yang kini telah
melayani pengantaran dalam dan luar kota Semarang. Apabila pada awalnya pendistribusian gas perusahaan CV Surya Medika semuanya memakai botol-botol baja bertekanan tinggi, sekarang telah disesuaikan dengan bentuk produk dan kebutuhannya sebagai berikut.
1. Compressed Gas (gas bertekanan)
Compressed Gas bertekanan tinggi dengan botol-botol baja, untuk
melayani langganan-langganan kecil atau untuk jenis produk yang hanya mungkin dilayani dengan Compressed Gas.
2. Bulk Liquid (gas cair)
Dengan portable liquid cylinder untuk melayani langgana-langganan
sedang; pelanggan hanya memesan gas oksigen tanpa botol-botol baja. Untuk menjaga kontinyuitas pelayanan terhadap pasar potensial di daerah-daerah yang letaknya jauh dari sumber suplai, CV Surya Medika bertekad untuk selalu memenuhi permintaan. Untuk itu, ditempatkanlah cabang CV Surya Medika di Solo sebagai depot untuk pengiriman yang lebih jauh lagi.
3.1.2 Struktur Organisasi Perusahaan
Gambar 3.1 Struktur Organisasi Perusahaan
(Sumber: CV. Surya Medika)
Uraian tugas dan tanggung jawab masing-masing bidang sebagai berikut.
Pimpinan
Mengkordinir, mengkontrol dan mengawasi kegiatan usaha perusahaan.
Penanggung jawab Filling Station
Mengkoordinasi dan mengawasi seluruh kegiatan yang berada Filling Station,
melaksanakan pengisian tabung-tabung oksigen yang kosong sesuai aturan teknis yang berlaku, dan membuat laporan pengisian.
PIMPINAN Penanggung Jawab Filing Station Administrasi Filing Station Satpam Pelaksana
Perbengkelan Ka. Administrasi / Keuangan
Administrasi Umum Pengemudi Umum Penjaga Malam Pengemudi Pembantu Pengemudi Kepala Teknisi Asisten Teknisi Pelaksana Teknisi Asisten Pelaksana Penanggung Jawab Depot Pengemudi
Satpam
Menjaga, mengawasi, mencatat keluar dan masuknya barang-barang perusahaan serta mengecek dan mencocokkan buku distribusi dengan surat jalan yang esoknya mesti diserahkan admistrasi distribusi.
Kepala adminstrasi/keuangan
Membuat dan mengkoordinasi kegiatan adminstrasi umum (adminstrasi botol, surat masuk dan surat keluar, adminstrasi penagihan), adminstrasi keuangan (gaji, biaya operasional, dan penagihan), dan adminstrasi gudang.
Admistrasi Distribusi botol
Merencanakan pendistribusian barang/gas ke palanggan serta menerima dan melaporkan permintaan dari pelanggan.
Pengemudi
Melaksanakan pengiriman barang/gas ke pelanggan.
Pembantu pengemudi
Membantu pengemudi dan adminstrasi ditribusi untuk kelancaran tugas pengemudi.
Pelaksana teknisi
Melaksanakan dan mengerjakan pemasangan servis instalasi gas medis
Kepala teknisi
Mengkordinir atas kegiatan perbengkelan, memantau dan melaksanakan permintaan langganan atas LOX (liquid oxygen) dan instalasi gas medis.
Pelaksana perbengkelan
Melaksanakan pengadaan bahan baku, membuat dan menyiapkan spare parts
untuk keperluan servis atau instalsi gas medis.
3.1.3 Prosedur Yang Sedang Berjalan
Perusahaan CV Surya Medika memiliki 88 relasi yang tersebar di dalam dan di luar kota Semarang (saat wawancara dengan pimpinan perusahaan). Perusahaan menggunakan sistem manual dalam mendistribusikan botol bertekanan ke tangan relasi. Adapun pengiriman keluar kota yaitu Purwodadi, Pati, Surakarta, Yogyakarta, Tegal, Solo, dan Purwokerto.
Gambar 3.2 Peta kota di Jawa Tengah dan Jawa timur
Distribusi yang selama ini dilakukan adalah sebagai berikut.
1. Melakukan penyesuaian rute, ketika ada kendaraan pengangkut yang terlalu penuh dan ada yang kosong, tetapi memiliki rute yang searah. Di usahakan
kendaraan pengangkut terisi minimal setengah, bahkan diharapkan dapat lebih dari itu, sehingga biaya perjalanan dapat ditekan lebih rendah.
2. Melakukan pengecekan sekali lagi, agar permintaan botol relasi tidak melebihi. Target waktu pengiriman adalah satu hari kerja. Dalam serah-terima botol, pengemudi menggunakan troli untuk mempermudah pengantaran botol. Di CV Surya Medika bila terdapat permintaan dicantumkan pada papan rencana pengiriman. Di mana pendistribusian botol ke relasi akan direncanakan oleh bagian administrasi distribusi botol. Dalam melakukan pendistribusian, pengemudi harus siap pada pukul 06.00 bahkan terkadang pengemudi harus siap pada pukul 04.00 jika pengiriman letaknya sangat jauh dari perusahaan misalnya di daerah Purwokerto. Karena perusahaan menentukan bahwa kendaraan pengangkut harus kembali sebelum pukul 17.00 untuk pengisian botol oksigen. Di mana daftar pengiriman telah disiapkan oleh kantor untuk melakukan pendistribusian sehari sebelum distribusi dilakukan. Dalam distribusi harus ada balance maksudnya botol
Gambar 3.3 Proses pengisian botol oksigen di filling station
(Sumber: CV Surya Medika)
Dalam proses pengisian tabung (sekitar pukul 17.00 sampai selesai) di filling station seperti yang tampak pada gambar 3.3 di mana waktu yang dibutuhkan untuk
pengisian 25 tabung sekitar 30 menit. Setelah selesai melakukan pengisian, nomor botol akan dicatat dan kemudian dimasukkan ke dalam truk pengangkut sebanyak separuh muatan truk pengangkut dan sisanya akan dimuat pada hari esoknya. Hasil pencatatan nomor botol-botol tersebut akan dicatat sebagai arsip kantor untuk memantau batas penggunaan botol oksigen.
3.1.4 Identifikasi Masalah
Kompleksnya membahas masalah distribusi CV Surya Medika, maka masalah itu akan disederhanakan sebagai berikut.
1. Relasi yang dikunjungi kebanyakan berada di daerah Jawa Tengah dan Jawa Timur.
2. Tujuan dari Vehicle Routing adalah untuk memperoleh rute yang minimal.
Permintaan bersifat pengantaran botol dari pabrik filling station ke relasi dan
pengambilan botol dari relasi ke pabrik.
3. Kendaraan hanya mengunjungi relasi satu kali untuk distribusi botol.
4. Kapasitas kendaraan hanya membatasi banyaknya botol bertekanan yang dapat dibawa.
5. Biaya solar kendaraan, biaya makan dan biaya inap pengemudi telah dihitung sendiri oleh petugas administrasi keuangan sehingga tidak diperlukan perhitungan biaya operasional di perjalanan.
6. Pengaturan posisi peletakan botol pada kendaraan tidak dianggap sebagai bagian dari kendala.
7. Node yang digunakan merepresentasikan kota-kota Pulau Jawa yang akan
dilalui oleh kendaraan di mana depot berada di Kota Semarang.
Jumlah botol yang mesti dikirim kadang-kadang mengalami perubahan karena situasi atau banyaknya pasien yang tidak pasti dan rumah sakit belum menghubungi perusahaan untuk memberikan informasi banyaknya botol yang masih tersedia. Perusahaan harus menghubungi rumah sakit untuk mengecek banyaknya stock botol
yang berada pada rumah sakit tersebut. Akibatnya, penjadwalan yang telah diatur sedemikian rupa harus melakukan perubahan.
Perusahaan tidak memiliki sistem informasi yang dapat mempermudah menentukan jalur pendistribusian ke relasi. Hal ini yang menyebabkan CV Surya
Medika membutuhkan program yang dapat menentukan jalur pendistribusian ke relasi sehingga dapat memaksimalkan kinerja pengiriman botol bertekanan tersebut.
3.2 Alternatif Pemecahan Masalah
Oleh sebab hal-hal yang telah disebutkan terdahulu, perlu dirancang program aplikasi yang dapat menentukan jalur untuk permintaan-permintaan relasi yang kebanyakan berada di daerah Jawa Tengah dan Jawa Timur. Program ini akan membantu menentukan rute yang minimum berdasarkan kapasitas kendaraan yang dapat diangkut sehingga memungkinkan pendistribusian botol seoptimal mungkin ke relasi dengan jumlah kendaraan pengangkut yang lebih sedikit. Program ini menggunakan algoritma Elitist Ant System yang diharapkan memperoleh hasil lebih
optimal.
3.3 Perancangan Sistem
3.3.1 Rancangan Struktur Menu
Agar sesuai dengan kebutuhan user, maka aplikasi CVRP dengan EAS
dirancang dengan satu menu utama. Pada menu utama ini akan ditampilkan dalam beberapa tab. Adapun tab-tab yang digunakan adalah sebagai berikut.
1. Tab-tab sewaktu aplikasi pertama kali dijalankan, terdiri dari dua tab yaitu tab
Daftar distribusi (untuk menampilkan daftar permintaan relasi) dan tab Routing (untuk menampilkan hasil penentuan rute dengan gambar dan detil
2. Tab Database, terdiri dari tiga tab yaitu tab daftar permintaan, tab data relasi,
dan tab produk dan posisi kota .
3. Tab Informasi, memberikan informasi mengenai pembuat program.
Gambar 3.4 Struktur menu 3.3.2 Perancangan Layar
A. Perancangan Struktur Menu
Komponen yang terdapat pada menu adalah fasilitas yang dapat dilakukan oleh aplikasi dalam mengakses basis data. Rancangan menu utama dapat dilihat pada gambar 3.5.
Menu Utama
Informasi
DataBase
Gambar 3.5 Rancangan struktur menu
B. Perancangan Layar Form Utama
Layar form utama merupakan layar utama aplikasi yang pertama kali muncul
sewaktu menjalankan aplikasi. Komponen yang terdapat pada form utama adalah
semua komponen yang mencakup fasilitas yang dapat dilakukan oleh aplikasi. Pada layar form utama ini, user dapat meng-input atau mengubah variabel-variabel
inisialisasi awal dari kondisi kendaraan dan parameter dari Elitist Ant System.
Rancangan layar utama dapat dilihat pada gambar 3.6.
DataBase Open Close
Menu
Gambar 3.6 Rancangan layar form utama tab daftar distribusi
Pada layar form utama terdapat satu tombol di kanan bawah apabila semua
parameter telah terisi. Jika tombol ditekan maka proses untuk menentukan jalur kendaraan akan ditampilkan dengan menggambarkan posisi node-node tersebut
dengan posisi x dan y yang dihubungkan dengan garis-garis yang saling berhubungan. Rancangan layar form utama untuk melihat hasil proses terdapat pada
gambar 3.7.
DataBase
Menu
Informasi
Panduan dalam menggunakan aplikasi Input variabel berupa alpha,
beta, e, rho, dan max. iterasi
Input variabel kendaraan berupa jumlah dan kapasitas
Tombol untuk mengeksekusi
aplikasi Tampilan
progress bar
Daftar Distribusi Routing
Tampilan detil data permintaan yang akan dipilih
user
Tombol resetlist
Tombol hapus list
Tombol addlist List permintaan
yang telah dipilih oleh user
Gambar 3.7 Rancangan layar form utama tabRouting
C. Perancangan Layar Database
Layar database berisi informasi-informasi tentang permintaan-permintaan
relasi dan tujuan pendistribusian yang akan dilayani. Layar database terbagi menjadi
tiga bagian berdasarkan tabel-tabel yang akan ditampilkan.
1. Daftar permintaan. Sesuai dengan namanya, berisi daftar recordset pada data
Permintaan. Rancangan untuk daftar permintaan dapat dilihat pada gambar 3.8.
DataBase Informasi
Panduan dalam menggunakan aplikasi Input variabel berupa alpha,
beta, e, rho, dan max. iterasi
Input variabel kendaraan berupa jumlah dan kapasitas
Tombol dalam mengeksekusi
aplikasi Tampilan
progress bar
Daftar Distribusi Routing
Tampilan detil rute yang dibuat Tampilan dari posisi dan rute
Gambar 3.8 Rancangan basis data pada tab daftar permintaan
2. Data relasi, berisi isi recordset pada data relasi. Rancangan untuk data relasi
dapat dilihat pada gambar 3.9.
DataBase Informasi
Panduan dalam menggunakan aplikasi Input variabel berupa alpha,
beta, e, rho, dan max. iterasi
Input variabel kendaraan berupa jumlah dan kapasitas
Tombol dalam mengeksekusi aplikasi Tampilan progress bar Daftar Distribusi Daftar Permintaan Routing
Data Relasi Produk dan Posisi
Input variabel ke Data permintaan
Gambar 3.9 Rancangan basis data pada tab data relasi
3. Produk dan posisi, berisi isi recordset pada data produk dan posisi kota relasi.
Rancangan untuk data produk dan kota dapat dilihat pada gambar 3.10.
DataBase Informasi
Panduan dalam menggunakan aplikasi Input variabel berupa alpha,
beta, e, rho, dan max. iterasi
Input variabel kendaraan berupa jumlah dan kapasitas
Tombol dalam mengeksekusi aplikasi Tampilan progress bar Daftar Distribusi Daftar Permintaan Routing
Data Relasi Produk dan Posisi Tampilan data relasi
Gambar 3.10 Rancangan basis data pada tab produk dan kota
D. Perancangan Layar Informasi
Gambar 3.11 Rancangan layar informasi DataBase
Menu
Informasi
Program Aplikasi Capacitated Vehicle Routing Problem dengan Elitist Ant System
(Studi kasus: CV Surya Medika) Bayu Arie Prabowo
0800768650
Copyright Bayu Arie Prabowo 2009
Version 1.0
DataBase Informasi
Panduan dalam menggunakan aplikasi Input variabel berupa alpha,
beta, e, rho, dan max. iterasi
Input variabel kendaraan berupa jumlah dan kapasitas
Tombol dalam mengeksekusi aplikasi Tampilan progress bar Daftar Distribusi Daftar Permintaan Routing
Data Relasi Produk dan Kota
3.3.3 Perancangan State Transition Diagram A. STD Form Utama
Tampilkan layar daftar distribusi Pilih tab “Daftar Distribusi” Tampilkan layar
informasi Pilih menu “Informasi” Tampilkan pilihan
database Pilih menu “Database”
Tampilkan Form Utama Run “CVRP_EAS”
Proses dengan perhitungan distribusi dengan EAS
Tekan “Hitung EAS” Menunggu pilihan Form utama Routing Menunggu inptut list distribusi Proses distribusi dengan metode EAS Tampilkan layar routing
Pilih tab “Routing” Lingkungan Windows Kembali ke lingkungan Windows Pilih “X” Menunggu pilihan menu informasi Menunggu pilihan menu Database
Gambar 3.12STD form utama B. STD Menu Database
Kembali ke layar utama Pilih “Close”
Tampilkan layar open Database Pilih “Open” Lingkungan Windows Menunggu pilihan form utama Menunggu pilihan menu Database Menunggu pilihan open Database Kembali ke lingkungan Windows Pilih “X”
Gambar 3.14STD menu open database
3.3.4 Rancangan Basis Data
Program aplikasi ini dirancang dengan menggunakan basis data untuk menyimpan posisi kota, keberadaan relasi disuatu kota, dan produk yang dihasilkan oleh perusahaan. Basis data yang digunakan adalah Microsoft Office Access 2003.
Disain dari tabel-tabel data pada basis data adalah sebagai berikut.
Tabel 3.1 Disain tabel SmKotaRelasi untuk basis data posisi kota Primary key: KotaId
Nama kolom Tipe data Allow nulls
KotaId Text (5) No
NmKota Text (15) Yes
XKota Number Yes
Tabel 3.2 Disain tabel DaftarPermintaan untuk basis data permintaan Primary key: PermintaanId
Nama kolom Tipe data Allow nulls
PermintaanId Text (5) No
RelasiId Text (5) Yes
ProdukId Text (5) Yes
TglPermintaan Date/Time Yes
Jumlah Number Yes
Tabel 3.3 Disain tabel SmRelasi untuk basis data relasi Primary key: RelasiId
Nama kolom Tipe data Allow nulls
RelasiId Text (5) No
KotaId Text (5) Yes
NmRelasi Text (30) Yes
AddRelasi Text (50) Yes
TelpRelasi Text (12) Yes
Tabel 3.4 Disain tabel SmProduk untuk basis data produk Primary key: ProdukId
Nama kolom Tipe data Allow nulls
ProdukId Text (5) No
NmProduk Text (30) Yes
HgProduk Number Yes
Gambar 3.15 Tabel relasional pada basis data SmKotaRelasi PK KotaId NmKota XKota YKota SmRelasi PK RelasiId KotaId NmRelasi AddRelasi TelpRelasi SmProduk PK ProdukId NmProduk HgProduk DaftarPermintaan PK PermintaanId RelasiId ProdukId TglPermintaan Jumlah
Tabel SmKotaRelasi dirancang untuk menyimpan koordinat-koordinat kota yang berada di Pulau Jawa sesuai dengan posisi kota pada tabel 3.1. Tabel SmRelasi dirancang untuk menyimpan data diri relasi yang dilayani oleh perusahaan. Tabel SmProduk dirancang untuk menyimpan produk-produk yang dihasilkan oleh perusahaan. Sedangkan tabel DaftarPermintaan ialah semacam list transaksi yang
mesti dilayani oleh perusahaan. Dalam alpikasi ini tidak terdapat status user sehingga
perbedaan status tidak akan mempengaruhi perbedaan hak guna user.
3.3.5 Perancangan Modul
A. Modul Algoritma Elitist Ant System
Modul ini merupakan modul yang dipergunakan untuk memperjelas algoritma pemecahan masalah. Modul ini akan digambarkan dalam bentuk flowchart pada
Gambar 3.16. Flowchart proses eksekusi program Iterasi < jumlah iterasi Mulai Inisialisasi Parameter Kosongkan tabu list Ya I Proses 2-Opt
Cek rute semut
k terminimum Update jejak feromon Tampilkan rute Selesai Tidak Hitung panjang dan
visibilitas antar kota
jumlah panjang rute kendaraan semut k
Gambar 3.17. FlowchartElitist Ant System untuk VRP Kapasitas kendaraan < permintaan pelanggan Semut k < banyak kota I
Isi tabu list
awal
Hitung probabilistik kota yang dikunjungi dan di
komulatifkan
Bandingkan hasil komulatif yang mendekati
dengan nilai acak
Kendaraan selanjutnya Rute masukkan ke
dalam tabu list
Selesai ( I ) Ya Ya Tidak Tidak Nilai acak Iterasi ganjil Kendaraan k = banyak kendaraan Ya Kendaraan pertama Ya Kendaraan pertama Tidak Tidak
B. Modul Inisialisasi
Modul ini merupakan modul yang dipergunakan untuk inisialisasi parameter-parameter yang nantinya akan dipergunakan untuk perhitungan. Parameter-parameter-parameter tersebut seperti nilai alpha, beta, rho, e, maksimum iterasi, jumlah kendaraan, dan
kapasitas kendaraan. Banyak kota akan ditentukan oleh banyaknya relasi yang mesti dilayani; tergantung kebijakan user. Modul ini akan digambarkan dalam bentuk flowchart yang tampak gambar 3.18.
Gambar 3.18. Flowchart modul inisialisasi parameter Cek inisialisasi parameter
yang kosong
Inisialisasi parameter alpha, beta, rho, e, max. iterasi, jumlah
kendaraan, kapasitas kendaraan, dan nilai feromon awal
Mulai
Tampilkan pesan peringatan
Edit list relasi
Tambah list relasi Reset list relasi Hapus list relasi N++ N=0 N-- Banyak relasi Banyak relasi = 0 Tampilkan pesan peringatan Tambahkan node untuk depot N++ selesai Ya Ya Tidak Tidak Tambah kendaraan
C. Modul Proses 2-Opt
Dengan adanya modul ini, urutan-urutan dari tiap jalur yang terpilih yang bersilangan akan diperbaiki sehingga mendapatkan urutan jalur yang baru. Modul ini akan diulangi beberapa kali sampai semua jalur yang dibentuk semut dicek. Modul ini digambarkan dalam bentuk flowchart pada gambar 3.19.
Gambar 3.19.Flowchart modul proses 2-Opt Cek node C atau D = Depot Panjang node (AC+BD) - (AB+CD) < 0 Kendaraan V > banyak kendaraan panjnag nodeA ke B
pada rute kendaraan V
Mulai
Kendaraan V
selanjutnya
Cek Tabukv
Selesai
Semut k untuk jalur
kendaraan V
Semut k <
banyak semut Tidak Ya
Panjang nodeC ke D
pada rute kendaraan V
Ganti node
selanjutnya
Tidak Tidak
Proses tukar node menjadi node
A ke C dan node B ke D
Ya
Ya Ya
3.3 Aturan Tambahan pada Algoritma EAS Dalam Perancangan Program
Aturan yang ditambahan dalam algoritma Elitist Ant System untuk
perancangan program ini, diperuntukkan untuk para relasi yang berada pada kota yang sama. Yang tujuannya ialah memaksimalkan proses pengambilan keputusan dalam menentukan jalur yang optimal dan menghilangkan error dalam eksekusi
program.
Aturan tambahan dalam algoritma Elitist Ant System dibuat karena mungkin
tujuan distribusi ke relasi, berada pada kota yang sama sehingga dalam mencari jarak antar relasi didapatkan nilai sama dengan 0. Jika komputer memperoleh nilai visibilitas antar kota (ηij) yang relasinya berada pada kota yang sama maka hasilnya
tidak akan terdefinisi, mengakitbatkan komputer mengalami error. Oleh karena itu,
aturan tambahan dalam algoritma Elitist Ant System yaitu sebagai berikut.
j i j i dij ij = ≠ ⎩ ⎨ ⎧ = , , 1 1 η ……….. (10)