RANCANG BANGUN MODEL PENDUKUNG KEPUTUSAN PENGEMBANGAN AGROINDUSTRI CRUDE PALM OIL BERBASIS SPASIAL
I KETUT GUNARTA
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
ii
PERNYATAAN MENGENAI DISERTASI DAN SUMBER INFORMASI
Dengan ini saya menyatakan bahwa Disertasi yang berjudul “Rancang Bangun Model Pendukung Keputusan Pengembangan Agroindustri Crude Palm Oil Berbasis Spasial” merupakan karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam daftar pustaka di bagian akhir dalam disertasi ini.
Bogor, Juli 2012
I Ketut Gunarta NRP: F361070111
iii
iv
ABSTRACT I KETUT GUNARTA. The Design of Spatial Based Decision Support Model in Crude Palm Oil Industry Development. Under supervision of ERIYATNO, ANAS M. FAUZI and B.S. KUSMULJONO. Industrial development should consider the location of spatial entities and their interactions. As with other Agro-Industries, the spatial interaction from oil palm plantations to palm oil mills is a complex problem. The complexity is caused by spread of the location of palm plantations and mills, current and potential transportation network, capacity constraint of each oil factory, perishable characteristics of the product, limited of port and port capacity and supply fluctuation from plantations to the factories due to the plant age as well. This research will give solution which has not yet discussed in the earlier publications by providing an alignment of strategic decision with operational decisions using GIS technology and spatial analysis that can represent the system associated with the space effectively. Decision support model was designed to integrate GIS, spatial multicriteria decision model, shortest path algorithm, transportation model, and financial model as well to determine the optimal configuration of spatial entities in CPO industry. IKG2012 model which has built have the capability to accomodate supply fluctuation from plants to factories due to their productivity and the quality requirement related to distribution time from plants to the factories. Loading and unloading capacity, Port’s tank capacity and barge type are considered as constraints in this system. The results of this study will be useful in developing the logistics infrastructure network for this commodity as well.. The selection of development strategy in CPO agroindustry and improvement of transportation infrastructures will improve the performance of National CPO industry significantly. Keywords: GIS, Spatial Decision Support System, Spatial Simulation, Industrial Development, CPO.
v
vi
RINGKASAN I KETUT GUNARTA. Rancang Bangun Sistem Pendukung Keputusan Pengembangan Agroindustri Crude Palm Oil Berbasis Spasial. Dibimbing oleh: ERIYATNO, ANAS M. FAUZI dan B.S. KUSMULJONO.
Pengembangan industri maupun lebih spesifik lagi untuk membutuhkan pertimbangan
agroindustri
faktor lokasi dan interaksi spasial yang terkait
dengan bahan baku maupun untuk produk yang dihasilkan. Salah satu interaksi spasial yang terkait dengan industri ini adalah distribusi dan transportasi. Interaksi spasial untuk produk agroindustri diketahui mengkonsumsi hingga 30% dari total biaya produk (Beenhakker, 2010). Keberhasilan pengembangan sebuah industri salah satunya akan ditentukan oleh keputusan yang diambil atas permasalahan lokasi dan interaksi spasial antar entitas yang terlibat. Lokasi dalam hal ini merujuk pada dimana aktivitas produksi tersebut berada di permukaan bumi atau letak geografisnya, sementara interaksi spasial merujuk pada seberapa baik industri tersebut dapat memenuhi permintaan yang ada dari posisinya tersebut. Seberapa baik industri dapat melayani permintaan yang ada sangat bergantung dengan jarak dan kondisi infrastruktur yang menghubungkan interaksi tersebut. Seberapa baik usaha dalam rantai nilai agro-industri minyak kelapa sawit ini dapat melayani permintaan yang ada, pada akhirnya akan menentukan seberapa besar value atau nilai yang diraih oleh entitas usaha agroindustri yang ada. Minyak kelapa sawit (CPO) merupakan salah satu sumber pendapatan yang penting bagi masyarakat Indonesia. Tanaman kelapa sawit yang merupakan salah satu dari tanaman palma penghasil minyak kelapa sawit ini sesuai dengan kondisi agroklimat di Indonesia sehingga dapat ditanam dan diusahakan oleh perorangan, kelompok maupun perusahaan dengan baik. Dengan masih luasnya lahan yang tersedia disertai dengan regulasi-regulasi
yang mendorong
berkembangnya industri berbasis kelapa sawit di Indonesia, menjadikan industri pengolahan baik untuk industri hulu maupun hilir kelapa sawit sangat potensial untuk dikembangkan. Namun, pengembangan perkebunan dan industri minyak kelapa sawit ini masih menghadapi kendala yang kritikal. Kendala utama adalah terkait dengan buruknya infrastruktur logistik untuk mendukung pemenuhan
vii
permintaan yang ada. Petani masih mengalami kesulitan membawa hasil panennya sehingga kuantitas maupun kualitas produksi menjadi tidak optimal, yang berakibat pada tingginya biaya produk. Perkembangan luas areal dari tahun ke tahun tampaknya juga tidak diikuti oleh sarana pengolahan yang memadai, sehingga tanaman kelapa sawit rakyat walaupun telah berproduksi masih kesulitan dalam proses pengolahan dan pemasaran. Masyarakat petani belum memperoleh peluang untuk memanfaatkan potensi ekonomi dalam kegiatan off-farm dan hanya terbatas pada on-farm. Bertitik tolak dari kekurangan dan permasalahan diatas, maka untuk meningkatkan nilai tambah pada kegiatan off-farm sekaligus untuk meningkatkan pendapatan petani, diperlukan upaya pengembangan agroindusri minyak kelapa sawit yang dapat memberikan nilai tambah yang optimal. Permasalahan pengembangan industri hilir kelapa sawit dan dimana lokasi pengembangan yang paling optimal merupakan permasalahan yang kompleks karena harus mempertimbangkan berbagai aspek yang saling berkaitan satu sama lain yang umumnya juga memiliki ketidakpastian. Pemecahan permasalahan ini harus mempertimbangkan berbagai faktor,
seperti: sebaran kebun dan
kapasitasnya, sebaran pabrik (PKS) dan kapasitasnya, variasi produktivitas tanaman kelapa sawit, jaringan transportasi dan kondisinya, pilihan alat transportasi
yang
tersedia,
persyaratan-persyaratan
teknis
untuk
lokasi
pengembangan dan juga rancangan infrastruktur utama di pelabuhan maupun di industri hilirnya. Kompleksitas dari permasalahan ini memerlukan sebuah model yang dapat membantu para pemangku kepentingan yang terkait untuk dapat mengambil keputusan strategis yang terbaik dalam rangka meningkatkan keunggulan bersaing dari agroindustri minyak kelapa sawit ini. Penelitian ini bertujuan untuk untuk membuat rancang bangun model pengembangan industri hilir kelapa sawit dengan mempertimbangkan atribut spasial mulai dari kebun kelapa sawit, pabrik minyak kelapa sawit, industri hilir sampai pada pelabuhan muat dan interaksi spasialnya. Model yang dibangun diimplementasikan pada area kajian di Kabupaten Kutei Timur, Propinsi Kalimantan Timur yang memiliki potensi pengembangan agroindustri minyak kelapa sawit yang cukup besar dan direncanakan akan menjadi pusat pengembangan industri berbasis kelapa sawit.
viii
Dalam perancangan model pengambilan keputusan pengembangan industri hilir minyak kelapa sawit ini, pertama-tama dibangun sebuah model GIS (Geographical Information System)
yang dapat digunakan untuk memetakan
seluruh entitas yang terlibat dalam sistem agroindustri kelapa sawit mulai dari kebun (KKS), Pabrik (PKS), Industri Hilir, sampai di pelabuhan muat. Data dasar yang digunakan dalam hal ini adalah peta wilayah, peta rupa bumi, peta bathymetri, peta jalan dan sungai serta peta yang diperoleh dari analisis citra satelit maupun yang berasal dari proses digitasi dan proses identifikasi menggunakan teknologi GPS. Seluruh entitias tersebut beserta dengan atributnya masing-masing dipetakan dalam layer-layer untuk memudahkan dalam analisis lebih lanjut. Kedua, dibangun model yang dapat membantu dalam melakukan analisis spasial terkait dengan surplus atau shortage kapasitas pengolahan (PKS) yang terdapat dalam area tertentu. Tahap ketiga dibangun model yang dapat mengidentifikasi dan sekaligus memetakan interaksi/arus supply yang optimal dari kebun ke pabrik kelapa sawit ke pabrik kelapa sawit yang optimal sebagai bahan pertimbangan dalam pengembangan industri hilir nantinya. Model yang dibangun pada tahap ini menggunakan model shortest path dengan algoritma Djikstra dan model alokasi. Model shortest path digunakan untuk menentukan biaya transportasi yang terendah pada jaringan transportasi yang ada sementara model alokasi spasial menggunakan pendekatan heuristik mengingat jumlah dan kompleksitas variabel yang cukup tinggi. Tahap keempat, untuk menentukan alternatif lokasi pengembangan industri hilir minyak kelapa sawit, dibangun model spatial multi criteria yang mempertimbangkan beberapa faktor antara lain faktor teknis, lingkungan dan ekonomi. Pada tahapan ini akan diperoleh lokasi yang sesuai untuk pengembangan industri sesuai dengan kriteria-kriteria dan bobot kriteria yang ditentukan. Tahap kelima, dibangun sebuah model yang dapat menentukan lokasi pengembangan industri hilir minyak kelapa sawit yang optimal atas dasar interaksi spasial antara alternatif lokasi pengembangan dengan pabrik minyak kelapa sawit (PKS). Pada tahapan ini sebagaimana dengan tahapan ketiga, digunakan model shortest path dan model alokasi. Optimalisasi interaksi antara industri hilir dengan pabrik minyak kelapa sawit juga ditentukan oleh fasilitas utama yang terdapat di lokasi pengembangan khususnya adalah tanki timbun dan
ix
loading dan unloading facility yang ada di lokasi tersebut. Untuk itu pada tahapan keenam, dibangun sebuah model spatial simulation yang dapat digunakan untuk menentukan kebutuhan fasilitas utama di lokasi pengembangan industri dan pelabuhan agar interaksi antara lokasi pengembangan industri hilir dan pabrik minyak kelapa sawit menjadi optimal. Pada tahap yang ke-tujuh dan yang terakhir, keseluruhan model yang dibangun dikemas dalam sebuah sistem pendukung keputusan terintegrasi yang dapat digunakan untuk membantu dalam pengambilan keputusan strategis pengembangan agroindustri minyak kelapa sawit. Implementasi model di Kabupaten Kutei Timur ditemukan bahwa, terdapat shortage kapasitas pabrik pengolahan CPO sebesar 1,9 juta ton pada tahun awal proyeksi sehingga petani-petani dan perkebunan yang ada harus mengolah tandan buah segar yang dihasilkan ke daerah lain. Diperlukan pengembangan atau penambahan kapasitas agar dapat mengurangi shortage untuk keberhasilan pengembangan klaster industri kelapa sawit ini. Hasil eksekusi model IKG2012 memperlihatkan bahwa pola interaksi yang optimal antara KKS dengan PKS bervariasi untuk setiap tahunnya yang diakibatkan oleh perbedaan umur tanaman dari masing-masing kebun. Model DSS yang dibangun mengidentifikasi tiga alternatif lahan yang sesuai dengan persyaratan industri hilir yang dikembangkan, yaitu di lokasi LKI001 pada koordinat (609851, 101634), LKI002 pada koordinat (621605, 251748) dan LKI003 pada koordinat (553998, 19197). Berdasarkan interaksi spasial antara lokasi pengembangan industri hilir
kelapa sawit model IKG2012 menghasilkan lokasi pengembangan industri hilir inti yang optimal adalah di lokasi LKI001 dengan sumber supplai dari PKS002, PKS007, PKS008, PKS009, PKS010, PKS011 dan PKS012. Panel monitor spatial simulation IKG2012 menunjukkan bahwa dengan adanya keterbatasan jaringan transportasi serta fasilitas yang ada, lokasi pengembangan industri hilir harus memiliki 2 buah tanki timbun dengan kapasitas minimal masing-masing adalah sebesar 5000 KL, sementara PKS yang memasok CPO ke lokasi tersebut pada industri hilir adalah harus memiliki kapasitas minimal masing-masing sebesar 1000 ton untuk PKS002, 800 ton untuk PKS007, 600 ton untuk PKS009 dan dibawah 400 ton untuk PKS lain yang mensuplai lokasi pengembangan industri
x
tersebut. Hasil studi ini dapat dimanfaatkan lebih lanjut untuk menentukan pengembangan infrastruktur yang efektif untuk mendukung komoditas kunci ini.
Kata Kunci: GIS, Spatial Decision Support System, Spatial Simulation, Industrial Development, CPO.
xi
xii
© Hak Cipta Milik IPB, Tahun 2012 Hak Cipta dilindungi Undang-Undang Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penulisan laporan, penulisan kritik, atau tinjauan suatu dan pengutipan itu tidak merugikan kepentingan yang wajar IPB. Dilarang mengumumkan kepada khalayak dan memperbanyak sebagian atau seluruh karya tulis dalam bentuk apapun tanpa izin IPB.
xiii
xiv
RANCANG BANGUN SISTEM PENDUKUNG KEPUTUSAN PENGEMBANGAN AGROINDUSTRI CRUDE PALM OIL BERBASIS SPASIAL
I KETUT GUNARTA
Disertasi Sebagai salah satu syarat untuk memperoleh gelar Doktor pada Program Studi Teknologi Industri Pertanian
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
xv
Penguji pada sidang tertutup:
1. Prof. Dr. Ir. E. Gumbira-Sa’id, M.A.Dev. 2. Dr. Ir. Gatot Ibunsantoso, DEA.
Penguji pada sidang terbuka:
1. Dr. Ir. Dedi Mulyadi, M.Si. 2. Ir. Tri Achmadi, Ph.D.
xvi
Judul Penelitian : Rancang Bangun Sistem Pendukung Keputusan Pengembangan Agroindustri Crude Palm Oil Berbasis Spasial Nama : I Ketut Gunarta Nomor Pokok : F 361070111
Menyetujui Komisi Pembimbing
Prof. Dr. Ir. Eriyatno, MSAE Ketua
Prof. Dr. Ir. Anas Miftah Fauzi, M.Eng. Anggota
Dr. Ir. B.S. Kusmuljono, MBA Anggota
Mengetahui
Ketua Program Studi Teknologi Industri Pertanian
Dekan Sekolah Pascasarjana IPB
Dr. Ir. Machfud, MS
Dr. Ir. Dahrul Syah, MSc.Agr
Tanggal Ujian: 19 Juli 2012
Tanggal Lulus:
xvii
xviii
PRAKATA
Puji syukur penulis sampaikan kepada Tuhan Yang Maha Pengasih, karena hanya dengan perkenanNyalah, maka Disertasi ini dapat diselesaikan. Disertasi ini disusun dalam rangka memenuhi salah satu syarat dalam menyelesaikan studi Doktor pada Program Studi Teknologi Industri Pertanian, Institut Pertanian Bogor. Beberapa bagian dari disertasi ini telah dikirimkan dan diterima untuk dimuat pada beberapa jurnal nasional, yaitu: Jurnal SOCA, Fakultas Pertanian Universitas Udayana; Jurnal INASEA, Universitas BINUS, Jakarta; dan Jurnal Bumi Lestari, Universitas Udayana, Bali (Terakreditasi). Penulis menyadari bahwa banyak pihak yang telah memberikan kontribusi atas terselesaikannya disertasi ini, karena itu penulis memberikan penghargaan dan terima kasih yang tulus kepada: 1. Bapak Prof. Dr. Ir. Eriyatno, MSAE selaku Ketua Komisi Pembimbing yang telah memberikan curahan waktu, bimbingan dan arahan yang intens, dukungan serta dorongan sehingga disertasi ini dapat terselesaikan. 2. Bapak Prof. Dr. Ir. Anas Miftah Fauzi, M.Eng. selaku anggota komisi pembimbing yang sangat membantu penulis dalam mempertajam dan memperkaya kerangka pemikiran penyelesaian disertasi ini serta memberikan masukan-masukan untuk kebaharuan dalam penelitian yang penulis lakukan. 3. Bapak Dr. Ir. B.S. Kusmuljono, MBA. yang telah menyediakan waktu beliau yang sangat berharga untuk memberikan bimbingan dan arahan serta masukan-masukan berdasarkan pengetahuan dan pengalaman beliau yang sangat luas di dunia akademis dan praktis. 4. Bapak Dr. Ir. Machfud, MS., Bapak Dr. Eng. Taufik Djatna, STP.,M.Si., Ibu Dr. Titi Candra Sunastri, STP.,M.Si., Bapak Prof. Dr. Ir. Irawadi Djamaran, dan Ibu Prof. Dr. Ir. Ani Suryani, DEA., selaku Ketua dan Sekretaris Program Studi Teknologi Industri Pertanian, SPs-IPB yang telah membantu penulis selama menimba pengetahuan dan menyelesaikan penelitian ini.
xix
5. Bapak Prof. Dr. Ir. E. Gumbira-Sa’id., MA.Dev., dan Bapak Dr. Ir. Gatot Ibnusantosa, DEA., sebagai penguji luar komisi yang telah memberikan masukan-masukan yang konstruktif untuk penyempurnaan Disertasi ini. 6. Bapak Dr. Ir. Dedi Mulyadi, M.Si. dan Ir. Tri Achmadi, Ph.D. sebagai penguji luar komisi pada sidang terbuka. 7. Seluruh staff pengajar pada Program Studi Teknologi Industri IPB yang telah memberikan bekal pengetahuan dan wawasan terkait dengan agroindustri dan Rekan-rekan mahasiswa, alumni TIP IPB, sahabat dan teman dekat, Ibu Suci Wulandari, Dr. Bambang Suhada, Ibu Vita, Pak Alfi, Dr Alexie, Dr. Wagiman, Dr. Sri Gunani serta rekan-rekan lainnya yang tidak dapat disebutkan satu persatu. 8. Ibu Nur dan Mas Candra staf karyawan Departemen Teknologi Industri Pertanian IPB yang telah banyak membantu penulis dalam menyelesaikan dokumen adminstrasi dalam proses studi dan penelitian ini. Akhir kata, semoga disertasi ini dapat memberikan manfaat bagi pengembangan agroindustri khususnya di tanah air Indonesia tercinta.
Bogor, Juli 2012
I Ketut Gunarta NRP: F361070111
xx
RIWAYAT HIDUP
Penulis dilahirkan di Denpasar Bali pada tanggal 18 Pebruari 1968. Menyelesaikan pendidikan sekolah dasar di SDN 18 Denpasar Bali, Sekolah Menengah Pertama di SMPN 1 Denpasar Bali, dan Sekolah Menengah Atas di SMAN 3 Denpasar Bali. Seusai menyelesaikan pendidikan SMA, penulis sempat menempuh pendidikan di jurusan Teknik Sipil selama setahun kemudian melanjutkan pendidikan pada program S1 di Jurusan Teknik Industri ITS dan S2 di Jurusan Teknik Mesin, Fakultas Teknik, Universitas Indonesia. Pada saat akhir-akhir masa kuliah di program S1 Teknik Industri, Penulis bekerja paruh waktu sebagai programmer dan system analyst di salah satu kantor akuntan publik dan dan kemudian bergabung dengan salah satu perusahaan swasta nasional yang bergerak dalam bidang pengembangan dan layanan sistem informasi. Menyelesaikan pendidikan S1 Teknik Industri pada tahun 1992 dan langsung diterima sebagai staff pengajar di Jurusan Akuntansi, Fakultas Ekonomi Universitas Airlangga. Namun akhirnya pada tahun 1994 penulis memutuskan untuk bergabung menjadi staff pengajar di almamaternya di Jurusan Teknik Industri ITS. Penulis sempat mengikuti course di bidang computer integrated manufacturing di Denford UK dan bidang Accounting, Finance & Information System di Christchurch New Zealand. Disamping menjalankan aktivitas mengajar di Jurusan Teknik Industri ITS, Program Magister Manajemen Teknologi ITS dan Program Magister Manajemen Universitas Airlangga, penulis juga aktif memberikan jasa konsultasi untuk bidang keahlian yang ditekuni di beberapa perusahaan BUMN dan Swasta Nasional yang bergerak dalam bidang industri semen, industri pertambangan dan energi, industri perkapalan, properti serta agroindustri.
xxi
xxii
DAFTAR ISI
ABSTRACT ..................................................................................................................... v RINGKASAN ................................................................................................................ vii PRAKATA .................................................................................................................... xix RIWAYAT HIDUP ...................................................................................................... xxi DAFTAR ISI ............................................................................................................... xxiii DAFTAR TABEL ..................................................................................................... xxvii DAFTAR GAMBAR .................................................................................................. xxxi DAFTAR LAMPIRAN ............................................................................................. xxxv 1
2
PENDAHULUAN .................................................................................................... 1 1.1
Latar Belakang.................................................................................................. 1
1.2
Tujuan ............................................................................................................... 5
1.3
Ruang Lingkup Penelitian ................................................................................ 5
1.4
Manfaat Penelitian ............................................................................................ 5
1.5
Kebaharuan Penelitan ....................................................................................... 6
TINJAUAN PUSTAKA ........................................................................................... 9 2.1
Industri dan Agroindustri ................................................................................. 9 2.1.1 Peran Penting Agroindustri dalam Perekonomian Nasional .............. 11 2.1.2 Permasalahan dan Kendala Pengembangan Agroindustri .................. 13 2.1.3 Pendekatan Sistem dalam Analisis Agroindustri ................................ 14
2.2
Agroindustri Minyak Kelapa Sawit dan Potensi Pengembangannya ............. 16 2.2.1 Agroindustri Minyak Kelapa Sawit .................................................... 16 2.2.2 Peran Penting Agroindustri Minyak Kelapa Sawit ............................. 18 2.2.3 Produksi dan Permintaan Minyak Kelapa Sawit ................................ 19 2.2.4 Proses Produksi CPO dan Keterlibatan Sistem Transportasi ............. 20 2.2.5 Potensi Pengembangan ....................................................................... 25 2.2.6 Strategi Pengembangan Industri Hilir CPO ........................................ 26
2.3
Pengembangan Industri dan Distribusi ........................................................... 28 2.3.1 Lokasi Industri .................................................................................... 28 2.3.2 Distribusi Fisik.................................................................................... 29 2.3.3 Sistem Logistik Nasional dan Industri Kelapa Sawit ......................... 30
2.4
Analisis Spasial dalam Pengembangan Industri ............................................. 31 2.4.1 Konsep Spasial.................................................................................... 31
xxiii
2.4.2 Data dan Sistem Informasi Geografis ................................................. 33 2.4.3 Teori Lokasi dan Analisa Spasial ........................................................ 37 2.4.4 Teknologi GIS dan GPS dan Pemanfaatannya dalam Pengembangan Industri ....................................................................... 46 2.4.5 Spatial Multi Criteria Decision Analysis ............................................ 53 2.4.6 Model Lintasan Terpendek (Shortest Path)......................................... 70 2.4.7 Model Lokasi-Alokasi Berbasis Spasial ............................................. 76 2.4.8 Simulasi Berbasis Spasial ................................................................... 83 2.5
Rancang Bangun Sistem Pendukung Keputusan Berbasis Spasial ................. 93
2.6
Penilaian Rencana Pengembangan Agroindustri ............................................ 94 2.6.1 Penilaian Usaha dengan Menggunakan Pendekatan Income .............. 97 2.6.2 Perhitungan Biaya Modal Tertimbang (WACC) ................................ 98
3
4
2.7
Analisa Resiko Menggunakan Model Simulasi ............................................ 101
2.8
Penelitian Terkait .......................................................................................... 104
METODOLOGI PENELITIAN ......................................................................... 111 3.1
Tahapan Penelitian ........................................................................................ 111
3.2
Kerangka Pemikiran ...................................................................................... 112
3.3
Tata Laksana ................................................................................................. 119
HASIL DAN PEMBAHASAN ............................................................................ 121 4.1
RANCANG BANGUN MODEL ................................................................. 121 4.1.1 Konfigurasi Sistem Industri CPO...................................................... 121 4.1.2 Analisis Kebutuhan ........................................................................... 123 4.1.3 Penyusunan Konseptual Sistem ........................................................ 124 4.1.4 Diagram Input-Output ....................................................................... 128 4.1.5 Rancangan Basis Data ....................................................................... 130 4.1.6 Rancangan Peta Tematik pada GIS ................................................... 131 4.1.7 Rancang Bangun Sub Sistem Model ................................................. 137 4.1.8 Rancang Bangun User Interface ........................................................ 139
4.2
APLIKASI MODEL DAN VERIFIKASI .................................................... 140 4.2.1 Lokasi Pengujian Model ................................................................... 140 4.2.2 Potensi dan Luas Lahan Perkebunan ................................................. 141 4.2.3 Identifikasi Sumber Bahan Baku dengan GIS .................................. 143 4.2.4 Perhitungan Luasan Kebun Menggunakan Analisis Spasial ............. 144 4.2.5 Potensi Supplai Bahan Baku TBS ..................................................... 145 4.2.6 Identifikasi Agroindustri CPO dengan GPS ..................................... 146 4.2.7 Kapasitas Pabrik dan Kebutuhan Bahan Baku .................................. 147
xxiv
4.2.8 Analisis Shortage/Surplus ................................................................. 148 4.2.9 Identifikasi Alternatif Lokasi Pengembangan Industri ..................... 150 4.2.10 Jaringan Transportasi, Aksebilitas dan Kondisinya.......................... 153 4.2.11 Shortest Path ..................................................................................... 155 4.2.12 Profil Interaksi Spasial Jarak, Waktu dan Biaya antara Pabrik Pengolahan Minyak Kelapa Sawit PKS dengan Kebun Kelapa Sawit (KKS)...................................................................................... 156 4.2.13 Profil Interaksi Spasial Jarak, Waktu dan Biaya Alternatif Lokasi Pengembangan Industri........................................................ 160 4.2.14 Pemilihan Alternatif Pengembangan Industri Atas Dasar Interaksi Spasial ................................................................................ 166 4.2.15 Pemilihan Alternatif Pengembangan Industri dengan Pertimbangan Interaksi Spasial antara PKS dengan KKS ................ 167 4.2.16 Simulasi Unjuk Kerja Sistem dan Penentuan Kebutuhan Fasilitas Tanki Timbun ..................................................................... 171 4.2.17 Profil Risiko atas Parameter Penting Pengembangan Agroindustri Hilir ............................................................................. 176 5
IMPLIKASI MANAJERIAL .............................................................................. 177
6
SIMPULAN DAN SARAN .................................................................................. 179 6.1
SIMPULAN .................................................................................................. 179
6.2
SARAN......................................................................................................... 181
DAFTAR PUSTAKA .................................................................................................. 183 LAMPIRAN ................................................................................................................. 195
xxv
xxvi
DAFTAR TABEL
Tabel 2-1 Pengelompokan Agroindustri Berdasarkan Proses Transformasi .................. 10 Tabel 2-2 Pangsa Produksi Minyak Sawit Dunia Tahun 2010 ....................................... 20 Tabel 2-3 Jenis Industri, Perkiraan Nilai Investasi dan Nilai Tambah Industri Berbasis Minyak Sawit................................................................................. 26 Tabel 2-4 Matriks Struktural ........................................................................................... 34 Tabel 2-5 Matriks Interaksi ............................................................................................. 34 Tabel 2-6 Contoh Prosedur Straight Rank Weighting ..................................................... 64 Tabel 2-7 Penilaian Bobot dengan Menggunakan Prosedur Estimasi Rasio .................. 65 Tabel 2-8 Ilustrasi Metode Pembandingan Berpasangan ................................................ 67 Tabel 2-9 Jenis Risiko pada Agroindustri CPO ............................................................ 104 Tabel 4-1 Kebutuhan-Kebutuhan Para Pihak-Pihak yang Berkepentingan pada Agroindustri CPO....................................................................................... 124 Tabel 4-2 Konsesi Lahan Perkebunan Sawit di Kutei Timur ....................................... 144 Tabel 4-3 Kapasitas Supplai Tandan Buah Segar di Kabupaten Kutei Timur .............. 146 Tabel 4-4 Daftar Pabrik Minyak Kelapa Sawit di Kutei Timur dan Koordinat Lokasinya ................................................................................................... 147 Tabel 4-5 Kapasitas Pabrik dan Perkiraan Kebutuhan Bahan Baku Tandan Buah Segar pada tahun 2012 ............................................................................... 148 Tabel 4-6 Persyaratan Lahan untuk Lokasi Pengembangan Industri Hilir Minyak Kelapa Sawit .............................................................................................. 150 Tabel 4-7 Daftar Alternatif Lokasi Pengembangan Industri ......................................... 152 Tabel 4-8 Kondisi Ruas Jalan pada Lokasi Kajian ....................................................... 154 Tabel 4-9 Interaksi Spasial Jarak Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 .............................................................................. 158 Tabel 4-10 Interaksi Spasial Waktu Tempuh Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 ......................................................... 159 Tabel 4-11Interaksi Spasial Biaya Transportasi Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 ......................................................... 160 Tabel 4-12 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 ........................................ 161
xxvii
Tabel 4-13 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 ..................... 162 Tabel 4-14 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 ..................... 162 Tabel 4-15 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 ........................................ 163 Tabel 4-16 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 ..................... 164 Tabel 4-17 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 ..................... 164 Tabel 4-18 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 ........................................ 165 Tabel 4-19 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 ..................... 165 Tabel 4-20 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 ..................... 166 Tabel 4-21 Profil Interaksi Spasial Alternatif Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit ........................................................................... 166 Tabel 4-22 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 ............................................................................................ 167 Tabel 4-23 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 ........................................................................... 167 Tabel 4-24 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 .......................................................... 168 Tabel 4-25 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002 ............................................................................................ 168 Tabel 4-26 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002 ........................................................................... 168 Tabel 4-27 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002 .......................................................... 168 Tabel 4-28 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 ............................................................................................ 169 Tabel 4-29 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 ........................................................................... 169 Tabel 4-30 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 .......................................................... 169 Tabel 4-31 Profil Interaksi Spasial Alternatif Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit Mempertimbangkan Interaksi Spasial PKS dan KKS...................................................................................................... 170 Tabel 4-32 Parameter-parameter Simulasi .................................................................... 172
xxviii
Tabel 4-33 Analisis Sensitivitas Kapasitas Produksi dan Tarif Layanan Kawasan ...... 176
xxix
xxx
DAFTAR GAMBAR
Gambar 1-1 Interdependensi Moda Darat dan Laut pada Transportasi Agroindustri CPO ................................................................................................................ 4 Gambar 2-1 Sumbangan Cabang-cabang Industri Terhadap PDB Sektor Industri Non Migas Tahun 2010 ................................................................................ 12 Gambar 2-2 Aktivitas-aktivitas pada Sistem Agroindustri ............................................. 15 Gambar 2-3 Potensi Produksi Minyak Sawit di Wilayah Indonesia ............................... 17 Gambar 2-4 Area Perkebunan Kelapa Sawit di Indonesia Tahun 2009 .......................... 18 Gambar 2-5 Produksi CPO dan Harga per Ton dari Tahun 2000 sampai 2010 .............. 19 Gambar 2-6 Proses Produksi CPO dan Keterlibatan Transportasi.................................. 22 Gambar 2-7 Titik Serah Barang dalam Perdagangan Internasional ................................ 24 Gambar 2-8 Pohon Industri Kelapa Sawit ...................................................................... 25 Gambar 2-9 Strategi Pengembangan Industri Hilir Minyak Kelapa Sawit (IHKS) ........ 27 Gambar 2-10 Konversi Data Geografis kedalam Informasi Geografis ........................... 36 Gambar 2-11 Contoh Data dan Informasi untuk Jumlah Interaksi Antar Entitas ........... 36 Gambar 2-12 Kurva Perbedaan Sewa Tanah sesuai dengan Perbedaan Jarak ke Pasar ............................................................................................................. 41 Gambar 2-13 Diagram Cincin Von Thunen .................................................................... 42 Gambar 2-14 Segitiga Pembobotan Weber ..................................................................... 43 Gambar 2-15 Konsep Jarak dan Biaya Transportasi Material dan Output (Distribusi) dari Weber................................................................................. 44 Gambar 2-16 Lokasi yang Memberikan Keuntungan Maksimal .................................... 45 Gambar 2-17 Arsitektur Multi Layer dari Sistem Informasi Geografis .......................... 48 Gambar 2-18 Node dan Arc dari Network ...................................................................... 49 Gambar 2-19 Lintasan Diperlihatkan dalam Struktur Tree............................................ 49 Gambar 2-20 Representasi Vektor dan Raster untuk Titik, Garis dan Poligon .............. 50 Gambar 2-21 Contoh Representasi Titik, Garis dan Poligon dalam Bentuk Vektor dan Raster serta Atributnya .......................................................................... 51 Gambar 2-22 Keterkaitan Spasial ................................................................................... 51 Gambar 2-23 Analisis Spatial Shortest Facilities ........................................................... 53 Gambar 2-24 Analisis Lokasi-Alokasi Berbasis Spasial ................................................ 53 Gambar 2-25 Kerangka Analisis Keputusan Multi Kriteria ........................................... 54
xxxi
Gambar 2-26 Model Umum Spatial MCDM................................................................... 56 Gambar 2-27 Perspektif Input-Output dalam Analisis Keputusan Kriteria Majemuk Spasial .......................................................................................... 59 Gambar 2-28 Analisis Spasial Multi Kriteria dalam GIS ................................................ 60 Gambar 2-29 Prosedur Rentang Skor Nilai dalam GIS ................................................... 63 Gambar 2-30 Struktur Umum Super Matrix.................................................................... 68 Gambar 2-31 Metode Additive Weighting Sederhana pada Data Raster ........................ 69 Gambar 2-32 Contoh Keterhubungan Sekumpulan Node dalam Sebuah Graf ...............71 Gambar 2-33 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 1) ................. 72 Gambar 2-34 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 2) ................. 73 Gambar 2-35 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 3) ................. 74 Gambar 2-36 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 4) ................. 74 Gambar 2-37 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 5) ................. 75 Gambar 2-38 Model Alokasi p-median yang Meminimumkan Impedansi ..................... 77 Gambar 2-39 Model Spasial Maksimasi Cakupan dengan Sebanyak Mungkin Demand Dilayani oleh Fasilitas .................................................................... 79 Gambar 2-40 Hasil Pemetaan Maksimasi Cakupan ........................................................ 79 Gambar 2-41 Model Maksimasi Kunjungan ................................................................... 80 Gambar 2-42 Model Spasial Minimasi Fasilitas yang Terlibat dalam Sistem ................ 81 Gambar 2-43 Contoh Hasil Pemetaan untuk Model Minimasi Fasilitas yang Terlibat dalam Sistem ................................................................................... 81 Gambar 2-44 Model Spasial Maksimasi Pangsa Pasar ................................................... 82 Gambar 2-45 Model Spasial dengan Target Pangsa Pasar Tertentu ............................... 83 Gambar 2-46 Kinerja Steady-state pada Simulasi Analitis ............................................. 84 Gambar 2-47 Simulasi Kontinyu ..................................................................................... 85 Gambar 2-48 Simulasi Discrete Event Berbasis Spasial ................................................. 86 Gambar 2-49 Konsep Dasar Simulasi Discrete Event ..................................................... 86 Gambar 2-50 Langkah-langkah dalam Studi Simulasi .................................................... 92 Gambar 2-51 Kerangka Perhitungan Biaya Modal ....................................................... 100 Gambar 2-52 Logika Simulasi Monte Carlo .................................................................103 Gambar 3-1 Tahapan Umum Proses Rancang Bangun ................................................. 112 Gambar 3-2 Langkah-langkah Penelitian ...................................................................... 113 Gambar 3-3 Diagram Alir Model Shortest Path dengan Algoritma Djikstra ................ 116 Gambar 3-4 Diagram Alir Penentuan Volume Interaksi Spasial Multi Periode ........... 117
xxxii
Gambar 3-5 Penentuan Alternatif Lokasi Pengembangan Industri dengan Spatial MCDM ....................................................................................................... 118 Gambar 3-6 Teknik Pengumpulan Data dengan Teknologi GPS ................................. 119 Gambar 4-1 Pemetaan Elem-elemen Rantai Usaha Agroindustri CPO ........................ 122 Gambar 4-2 Causal Loop Sistem Usaha Agroindustri CPO ......................................... 125 Gambar 4-3 Siklus Usaha Industri CPO ....................................................................... 126 Gambar 4-4 Diagram Input-Output Model Pendukung Keputusan Pengembangan Agroindustri CPO....................................................................................... 128 Gambar 4-5 Keterkaitan antar Entitas Pembangun Basis Data Sistem Pendukung Keputusan Spasial Pengembangan Industri Hilir CPO .............................. 131 Gambar 4-6 Theme-theme dalam Sistem Informasi Geografis yang Dibangun ........... 132 Gambar 4-7 Peta Propinsi di Indonesia ......................................................................... 133 Gambar 4-8 Peta Kabupaten di Indonesia ..................................................................... 133 Gambar 4-9 Peta Wilayah Kalimantan Timur .............................................................. 134 Gambar 4-10 Peta Kebun Kelapa Sawit di Kutei Timur............................................... 135 Gambar 4-11 Peta Centroid Point Kebun Kelapa Sawit di Kutei Timur ...................... 136 Gambar 4-12 Peta Pabrik Minyak Kelapa Sawit di Kutei Timur ................................. 136 Gambar 4-13 Peta Jalan di Kutei Timur dan Kabupaten Terdekat ............................... 137 Gambar 4-14 Menu Utama SDSS ................................................................................. 139 Gambar 4-15 Peta Wilayah Kabupaten Kutei Timur .................................................... 141 Gambar 4-16 Kebun Kelapa Sawit di Kabupaten Kutei Timur .................................... 143 Gambar 4-17 Sebaran Kebun Kelapa Sawit Berdasarkan Kepemilikan ....................... 144 Gambar 4-18 Histogram Jumlah Kebun Kelapa Sawit di Kutei Timur Berdasarkan Umur Tanaman ........................................................................................... 145 Gambar 4-19 Produksi Tandan Buah Segar di Kutei Timur ......................................... 146 Gambar 4-20 Titik-titik Pabrik Minyak Kelapa Sawit di Kutei Timur ......................... 147 Gambar 4-21 Analisis Surplus/Shortage Kapasitas Pabrik ........................................... 149 Gambar 4-22 Model Penentuan Lokasi Pengembangan Industri Hilir CPO dengan Spatial Decision Support IKG2012 ............................................................ 151 Gambar 4-23 Alternatif Lokasi Pengembangan Industri Hilir Inti Kelapa Sawit ......... 152 Gambar 4-24 Jaringan Jalan dan Aksebilitas terhadap Fasilitas Perkebunan dan Pabrik Pengolahan ...................................................................................... 154 Gambar 4-25 Shortest Path dari Kebun Kelapa Sawit menuju Pabrik CPO (Contoh) ..................................................................................................... 155 Gambar 4-26 Analisis Shortest Path dari Pabrik menuju Pelabuhan Muat dengan Menggunakan Algoritma Djikstra .............................................................. 156
xxxiii
Gambar 4-27 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Jarak sebagai Cost....................................................................................... 157 Gambar 4-28 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Waktu sebagai Cost .................................................................................... 159 Gambar 4-29 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Biaya Transportasi sebagai Cost................................................................. 160 Gambar 4-30 Hasil Eksekusi Model Interaksi Spasial Pabrik Pengolahan CPO dengan Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit ... 161 Gambar 4-31 Proses Pengiriman Minyak Kelapa Sawit dari Pabrik Menuju ke Lokasi Pengembangan Industri/Dermaga ................................................... 172 Gambar 4-32 Animasi Peta dengan 7 Lokasi PKS ........................................................ 173 Gambar 4-33 Animasi Unloading Trucks di Tangki Timbun dan Loading Kapal di Industri Hilir (Dermaga) ............................................................................. 174 Gambar 4-48 Dash Board Monitor Industri Hilir .......................................................... 174 Gambar 4-46 Panel Monitor Level Tangki PKS ........................................................... 175 Gambar 4-47 Panel Monitor Level Tangki Timbun Bersama di Industri Hilir .............175
xxxiv
DAFTAR LAMPIRAN
Lampiran 1 Daftar Kebun Kelapa Sawit di Kabupaten Kutei Timur............................ 196 Lampiran 2 Konversi Satuan ......................................................................................... 200 Lampiran 3 Asumsi Produktivitas Berdasarkan Umur Tanaman (Pahan, 2010) .......... 201 Lampiran 4 Harga Tandan Buah Segar Tahun 2012 ..................................................... 201 Lampiran 5 Harga Tandan Buah Segar per Kg Tahun 2011 ......................................... 203 Lampiran 6 Hasil Interaksi Spasial dari Kebun Kelapa Sawit Menuju Ke Pabrik Minyak Kelapa Sawit ................................................................................. 204 Lampiran 7 Kapasitas Pabrik Pengolahan TBS ............................................................ 213 Lampiran 8 Listing Program ......................................................................................... 214 Lampiran 9 Blok Modul Simulasi ................................................................................. 329
xxxv
xxxvi
1 PENDAHULUAN
1.1
Latar Belakang
Perkembangan industri minyak kelapa sawit (crude palm oil – CPO) di Indonesia dan Malaysia telah mampu merubah peta perminyakan nabati dunia dalam waktu singkat. Pada tahun 1985, produksi minyak sawit Indonesia baru mencapai 1.3 juta ton. Namun, pada tahun 2006 telah melonjak mencapai 14.7 juta ton CPO, dan pada tahun 2007 produksi CPO Indonesia telah berhasil melampaui total produksi CPO Malaysia (Edser, 2010; Syaukat, 2010). Menurut data dari Kementrian Perdagangan RI (2011) Hasil produksi CPO Indonesia pada tahun 2011 yang baru saja berlalu sebesar 23 juta ton. Dari angka tersebut, 17,5 juta ton diekspor ke berbagai negara dengan China sebagai pembeli utama. Dengan harga per ton pada akhir tahun tersebut mencapai lebih dari USD 1,000 (Kurniawan, 2011) maka nilai pendapatan dari sektor CPO mendekati Rp. 150 triliun. Saat ini Indonesia dan Malaysia menghasilkan 83% dari total produksi minyak kelapa sawit dunia dan menguasai 89% ekspor global (Edser, 2010). Meskipun Industri kelapa sawit saat ini telah menjadi salah satu sumber pendapatan penting bagi Indonesia dan masyarakatnya, namun masih cukup banyak tantangan yang belum berhasil diatasi dengan baik terkait dengan industri ini. Tantangan tersebut datang baik dari dalam maupun luar Indonesia. Dari dalam negeri sendiri, tantangan paling utama yaitu dari ketersediaan infrastruktur pelabuhan dan transportasi untuk kemudahan pengapalan hasil produksi (Supriyadi, 2010; GAPKI, 2011). Petani masih mengalami kesulitan membawa hasil panennya sehingga kuantitas maupun kualitas produksi menjadi tidak optimal. Di negara tetangga misalnya Malaysia, ketersediaan sarana infrastruktur yang baik memberi kemudahan bagi para petani mengangkut hasil panennya untuk dijual kembali (Kardiman, 2011). Tantangan kedua yang masih terkait dengan yang pertama adalah masih dominannya ekspor komoditas minyak kelapa sawit mentah yang belum diolah dengan nilai tambah yang tidak terlalu besar. Saat ini minyak kelapa sawit yang dihasilkan oleh Indonesia 55% diolah di dalam negeri dan sisanya diekspor. Minyak kelapa sawit yang diolah di dalam negeri
2
sebagian besar digunakan untuk menghasilkan produk-produk turunan seperti minyak goreng, margarin, olein, stearin, asam lemak, fatty alcohol, biodiesel dan soapchips (Indagro, 2010) sementara produk-produk turunan yang lainnya masih terbatas. Selain faktor infrastruktur yang belum memadai untuk mendukung pengembangan industri hilir ini, faktor penyebab lainnya adalah belum terintegrasinya industri pemasok CPO/PKO dengan industri inti, industri terkait dan industri pendukung. Sementara tantangan yang berasal dari luar Indonesia lebih kepada isu lingkungan melalui kampanye negatif oleh negara tertentu. Pada tahun 2010, telah ditandatangani letter of intent (LOI) antara pemerintah Indonesia dengan pemerintah Norwegia, di mana disebutkan bahwa izin baru konversi hutan alam dan gambut dihentikan selama dua tahun dimulai pada Januari 2011 (Gingold, McLeish et al., 2011). Artinya, dengan pembatasan lahan baru bisa menghambat ekspansi produksi kebun sawit (Wilkinson dan Rocha, 2008). Perkembangan luas areal perkebunan kelapa sawit dari tahun ke tahun khususnya di kabupaten Kutei Timur, Propinsi Kalimantan Timur tampaknya juga tidak diikuti oleh sarana pengolahan, sehingga tanaman kelapa sawit terutama yang diusahakan oleh rakyat maupun koperasi walaupun telah berproduksi masih kesulitan dalam proses pengolahan dan pemasaran. Masyarakat petani juga belum memperoleh peluang yang cukup untuk memanfaatkan potensi ekonomi dalam kegiatan off-farm dan hanya terbatas pada on farm (Susila, 2010). Pengembangan industri maupun lebih spesifik lagi untuk agroindustri minyak kelapa sawit, bagaimanapun akan terkait dengan masalah lokasi dari entitas industri tersebut dan interaksi spasialnya. Lokasi dalam hal ini merujuk pada dimana aktivitas produksi tersebut berada di permukaan bumi atau letak geografisnya (Chapman, 2009). Sementara interaksi spasial merujuk pada seberapa baik industri tersebut dapat memenuhi permintaan yang ada dari posisinya tersebut (Sommer dan Wade, 2006). Seberapa baik industri dapat melayani permintaan yang ada tentu saja sangat bergantung dengan kondisi jaringan transportasi yang berkorelasi terhadap waktu dan biaya transportasi. Biaya transportasi sendiri memiliki kontribusi terhadap total biaya produk yang cukup besar. Hampir 30 persen dari total harga pokok produk CPO maupun
3
produk-produk agroindustri lainnya merupakan biaya distribusi dan transportasi (Beenhakker, 2010). Keputusan pengembangan industri maupun klaster industri yang terkait dengan lokasi merupakan keputusan strategis yang memiliki konsekuensi biaya tetap dan biaya variabel yang signifikan bagi industri sekaligus juga memiliki unsur strategis yang dapat memperkuat posisi untuk bersaing terutama dalam rangka penguasaan wilayah pemasaran (Heizer dan Render, 2010). Fasilitas produksi yang terpasang pada lokasi terpilih membutuhkan sejumlah besar kapital yang diinvestasikan dalam jangka panjang dengan kondisi yang penuh risiko. Apabila keputusan lokasi dianulir saat industri telah didirikan tentu saja akan memberikan konsekuensi biaya yang tinggi (Wignjosoebroto, 2003). Salah satu faktor yang memegang peranan utama dalam penetapan lokasi pengembangan industri atau kegiatan ekonomi lainnya adalah besarnya biaya transportasi (Drezner dan Hamacher, 2004). Hal tersebut disebabkan biaya transportasi merupakan salah satu komponen biaya produksi (Arcelus, 1989). Apabila biaya transportasi lebih murah, akan mengakibatkan biaya produksi lebih rendah dan harga produk juga bisa lebih rendah sehingga menambah daya saing produk dan memperluas daerah pemasaran. Hubungan antara biaya produksi di dalam negeri dengan harga penawaran ke luar negeri ditambah dengan biaya transportasi, akan menentukan apakah suatu barang akan diekspor, diimpor atau dipasarkan di dalam negeri sendiri (Nasution, 2008). Ketersediaan infrastruktur transportasi juga akan mendorong adanya spesialisasi dan pembagian kerja antar daerah. Transportasi komoditas khususnya di negara kepulauan pada umumnya akan melibatkan dua atau lebih moda transportasi (Xie, 2009). Sebagaimana yang digambarkan pada Gambar 1-1, terdapat interdependensi antar fasilitas dan moda transportasi untuk memenuhi permintaan terhadap komoditas agroindustri CPO.
4
Permintaan Komoditas Industri Hilir Kapasitas dan Produksi CPO
Fasilitas di Pelabuhan Penerimaan
Skema dan Ukuran Pengiriman via Laut
Kapasitas Jaringan Jalan Darat
Kapasitas & Produksi (Hilir)
Fasilitas pada Pelabuhan Pengiriman
Gambar 1-1 Interdependensi Moda Darat dan Laut pada Transportasi Agroindustri CPO
Permasalahan pengembangan industri hilir kelapa sawit dan dimana lokasi pengembangan yang paling optimal merupakan permasalahan yang kompleks karena harus mempertimbangkan berbagai aspek yang saling berkaitan satu sama lain yang umumnya juga memiliki ketidakpastian. Pemecahan permasalahan ini harus mempertimbangkan berbagai faktor, seperti: sebaran kebun dan kapasitasnya, sebaran pabrik (PKS) dan kapasitasnya, variasi produktivitas tanaman kelapa sawit, jaringan transportasi dan kondisinya, pilihan alat transportasi
yang
tersedia,
persyaratan-persyaratan
teknis
untuk
lokasi
pengembangan dan juga rancangan infrastruktur utama di pelabuhan maupun di industri hilirnya. Kompleksitas dari permasalahan ini memerlukan sebuah model yang dapat membantu para pemangku kepentingan yang terkait untuk dapat mengambil keputusan strategis yang terbaik dalam rangka meningkatkan keunggulan bersaing dari agroindustri minyak kelapa sawit ini.
5
1.2
Tujuan
Tujuan dari penelitian ini adalah: 1. Menghasilkan rancang bangun prototipe sistem pendukung keputusan
berbasis spasial (spatial decision support system/SDSS). Prototipe yang dikembangkan dapat digunakan sebagai alat untuk menentukan lokasi pengembangan industri hilir inti minyak kelapa sawit dan fasilitas tanki timbun CPO yang optimal dengan mempertimbangkan atribut spasial dan non spasial dari kebun kelapa sawit (KKS), pabrik minyak kelapa sawit (PKS), industri hilir, jaringan jalan, dan lahan serta interaksi spasial dari masing-masing entitas yang terlibat. 2. Implementasi dan pengujian sistem pada pengembangan industri minyak
kelapa sawit di wilayah Kabupaten Kutei Timur, Propinsi Kalimantan Timur. 1.3
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini adalah sebagai berikut: a. Agroindustri sebagai sistem yang diteliti untuk dikembangkan dalam hal ini adalah agroindustri minyak kelapa sawit dan beberapa produk turunannya yang telah ditentukan. b. Jaringan dan fasilitas distribusi dan transportasi yang terlibat dalam penelitian ini adalah jaringan transportasi dan fasilitas distribusi eksisting. c. Moda transportasi yang dipertimbangkan dalam penelitian ini meliputi moda transportasi darat, sungai dan laut. 1.4
Manfaat Penelitian
Penelitian ini diharapkan dapat: a. Memberikan solusi dalam mengevaluasi rencana strategis pengembangan agroindustri dan sistem logistik terkait dengan data-data spasial dan atributnya. Hasil penelitian ini dapat dimanfaatkan atau dikembangkan lebih lanjut oleh para peneliti dan Perguruan Tinggi, Pemerintah Daerah, serta agroindustri minyak kelapa sawit.
6
b. Dengan melakukan penyesuaian terhadap model yang dibangun, diharapkan tidak hanya komoditas agroindustri minyak kelapa sawit yang dapat merasakan manfaatnya, tapi juga komoditas agroindusti lainnya. c. Memberikan kontribusi pendekatan baru dalam metode pengembangan industri, perencanaan dan perancangan fasilitas industri dan transportasi. 1.5
Kebaharuan Penelitan
Dalam “Cetak Biru Penataan Dan Pengembangan Sektor Logistik Indonesia” (Tamboen, Dewandhono et al., 2008), kelapa sawit merupakan komoditas penentu (key commodities) yang menjadi prioritas untuk dikelola karena merupakan salah satu comparative advantage yang dimiliki oleh Indonesia dan sangat potensial untuk dikembangkan. Penelitian-penelitian yang telah dilakukan selama ini yang terkait dengan pengembangan komoditas dan industri kelapa sawit nasional sebagian besar masih terfokus pada kebijakan dan keputusan-keputusan strategis dengan menggunakan model-model yang relevan. Keberhasilan pengembangan sebuah industri dan sistem logistiknya bagaimanapun akan ditentukan oleh aspek teknis dan operasional yang terkait. Karakteristik komoditas dari kelapa sawit yang bersifat perishable dan membutuhkan waktu yang cepat menuju ke fasilitas pengolahan dengan realitas kondisi infrastruktur dan jaringan transportasi yang ada, belum dipertimbangkan dalam penelitian-penelitian yang telah dilakukan sebelumnya. Kinerja dari agroindustri khususnya agroindustri kelapa sawit sangat ditentukan oleh kemampuan dalam mengelola permasalahan kritikal ini. Asumsi linier baik yang terkait dengan produk maupun jaringan transportasi yang dilakukan dalam memodelkan permasalahan ini potensial akan menghasilkan keputusan yang salah. Penelitian ini memberikan kontribusi dengan menyediakan sebuah model berbasis spasial dan multi periode yang mempertimbangkan atribut spasial dan non spasial dari Kebun Kelapa Sawit (KKS), Pabrik Minyak Kelapa Sawit (PKS), Industri Hilir, jaringan jalan, dan lahan serta interaksi spasial dari masing-masing entitas yang terlibat. Karakteristik dari bahan baku maupun produk agroindustri yang bersifat perishable dan realitas tidak seragamnya kondisi jaringan transportasi yang ada juga diakomodasi pada model yang dikembangkan. Penggunaan model yang dibangun penulis ini secara efektif, akan dapat meningkatkan kinerja usaha dari agroindustri kelapa sawit.
7
Dalam pengembangan industri dan logistik, termasuk dalam hal ini penentuan jenis dan letak geografis dari fasilitas, jaringan infrastruktur pendukung kegiatan (pelabuhan, jalan raya, dan lain-lain), kebijakan-kebijakan yang ada harus dapat dioperasionalkan lagi dengan menentukan interaksi spasial antar entitas yang terlibat berupa volume dan arus barang yang terkait dengan komoditas penentu dan potensial tersebut. Karena unsur penentu suatu rancangan rantai suplai dan jaringan logistik adalah “volume” atau berat dari komoditas yang dipindahkan. Untuk itu, adalah suatu tantangan bagi pemerintah maupun peneliti untuk menentukan lokasi dan interaksi spasial atas komoditas penentu ini sehingga sistem logistik nasional dapat dikembangkan sesuai dengan kebutuhan yang benar. Komoditas penentu (key commodities) dari seluruh kegiatan logistik di Indonesia utamanya ditentukan berdasarkan volume atau berat dari komoditas tersebut, bukan nilai/harganya (Tamboen, Dewandhono et al., 2008). Komoditas atau industri penentu tersebut merupakan indikator kunci dalam menilai kinerja sektor logistik (WorldBank, 2012). Penelitian ini melakukan penyelarasan (alignment) keputusan-keputusan strategis dengan keputusan-keputusan yang bersifat operasional dengan bantuan teknologi GIS dan analisis spasial yang dikembangkan dalam sebuah sistem pendukung keputusan spasial (spatial decision support system).
8
2
2.1
TINJAUAN PUSTAKA
Industri dan Agroindustri
Secara definitif, industri dapat diartikan sebagai suatu lokasi dimana aktivitas produksi diselenggarakan (Wignjosoebroto, 2003). Aktivitas produksi sendiri merupakan sekumpulan aktivitas yang diperlukan untuk mengubah satu kumpulan masukan seperti bahan baku, sumber daya manusia, energi, informasi, dan lainlain menjadi produk keluaran (finished products atau services) yang memiliki nilai tambah (Heizer dan Render, 2010). Di dalam proses produksi akan terjadi suatu proses perubahan bentuk (transformasi) dari input yang dimasukkan baik secara physik maupun non physik. Disini akan terjadi apa yang disebut dengan pemberian nilai tambah (value added) dari input material yang diolah. Penambahan nilai tersebut bisa ditinjau dari penambahan nilai fungsional maupun ekonomisnya (Wignjosoebroto, 2003). Agroindustri sendiri menurut Austin (1992) merupakan perusahaan yang memproses bahan baku yang lebih khusus lagi yaitu bahan baku yang berasal dari produk-produk pertanian baik tanaman maupun hewan. Pemrosesan disini meliputi transformasi dan pengawetan melalui perubahan physik atau kimia, penyimpanan, pengepakan dan distribusi. Produk yang dihasilkan oleh agroindustri dapat merupakan produk akhir siap dikonsumsi atau digunakan oleh manusia atau pun sebagai produk yang merupakan bahan baku untuk industri lain. Semua aktivitas agroindustri terdiri dari 3 sub sistem dasar, yaitu pemasaran, pengolahan dan supplai bahan baku (Brown dan Touche, 1994). Beberapa pakar telah memperkenalkan istilah agroindustri sebelum Austin memperkenalkannya secara eksplisit. Salah satu diantaranya adalah Dr. Ray Golberg dari Harvard Business School. Dr. Ray Golberg mendefinisikan bahwa agroindustri merupakan bagian dari kompleks industri-pertanian sejak produksi bahan pertanian primer, industri pengolahan atau transformasi sampai penggunaannya oleh konsumen. Terdapat kebergantungan antara pertanian, industri hulu, industri pengolahan pangan dan hasil pertanian, serta distribusi beserta peningkatan nilai tambah (Golberg, Ray et al., 1974).
10
Selanjutnya Austin (1992) menyebutkan bahwa tingkat pemrosessan tersebut dapat bervariasi mulai dari aktivitas pembersihan dan pemilahan, pengolahan sederhana hingga modifikasi kimiawi untuk mendapatkan produk yang diinginkan. Variasi dari aktivitas pengolahan tersebut beserta contoh produknya diperlihatkan pada Tabel 2-1. Dalam industri pangan, transformasi tersebut bertujuan antara lain untuk mendapatkan produk yang dapat dimakan atau digunakan,
meningkatkan
daya
simpan,
mempermudah
transportasi,
meningkatkan nilai gizi serta nilai cernanya. Kompleksitas teknologi, kebutuhan investasi serta aktivitas manajerial dalam agroindustri sangat tergantung pada tingkat transformasi tersebut (Austin, 1992). Tabel 2-1 Pengelompokan Agroindustri Berdasarkan Proses Transformasi Aktivitas Pengolahan Pembersihan Pemilahan Ginning Pemotongan Pencampuran Pemasakan Pasteurisasi Pengalengan Dehidrasi Pembekuan Pemintalan Ekstraksi Assembly Modifikasi kimia Teksturisasi
Contoh Produk Buah-buahan segar Sayuran Telur Biji-bijian (serelia) Jute Daging Kapas Rempah-rempah Kayu Pakan ternak Karet Produk-produk susu Buah-buahan dan sayur olahan Daging Sauces Tekstil dan garmen Minyak Furnitur Gula Minuman Makanan instan Textured vegetable products Ban
Berdasarkan standar yang diterbitkan oleh International Standard Industrial Classification (UNSD, 2004; UNIDO, 2008), agroindustri terdiri dari industri-industri antara lain: i) industri makanan dan minuman; ii) produk-produk tembakau; iii) kertas dan produk-produk dari kayu; iv) tekstil, alas kaki dan pakaian; v) produk kulit; dan vi) produk-produk dari karet. Fungsi-fungsi pengelolaan kebijakan oleh Pemerintah yang dilakukan oleh Departemen
11
Perindustrian dalam hal ini juga mengacu pada pengelompokan (ISIC) oleh UNIDO tersebut (Indagro, 2010). Meskipun baru dipopulerkan di Indonesia pada tahun 1980-an (Djamaran, 2007), agroindustri sebenarnya telah diperkenalkan di Indonesia sejak abad ke-16 melalui penerapan sistem tanam paksa (Siahaan, 2000; Mangunwidjaya dan Sailah, 2009). Saat itu, Pemerintah Belanda menyadari betul bahwa Indonesia secara geografis sangat cocok untuk usaha budidaya tanaman tropis dengan nilai ekonomi yang tinggi. Dimulai dari tanam paksa, berkembanglah perkebunan kopi, gula, nilam, tembakau, teh, kina, karet serta rempah-rempah di beberapa pulau di Indonesia (Mangunwidjaya dan Sailah, 2009). 2.1.1 Peran Penting Agroindustri dalam Perekonomian Nasional Agroindustri merupakan sektor yang sangat penting di berbagai negara, khususnya Negara berkembang. Brown dan Deloitte & Touche (1994) menyebutkan bahwa lebih dari separuh aktivitas manufaktur di berbagai negara berkembang di dunia terdiri dari agroindustri yang meliputi penanganan dan pengolahan bahan baku yang bersumber dari pertanian. Aktivitas ini merupakan langkah awal untuk menuju pada industrialisasi dan mendorong munculnya industri yang lain (Soekartiwi, 2000). Pembangunan agroindustri merupakan kelanjutan dari pembangunan pertanian (Soekartiwi, 2000). Hal ini merupakan konsekuensi logis karena sebagian besar input atau bahan baku dari agroindustri berasal dari produk pertanian
(agriculture).
pembangunan
agroindustri
Bila pun
pembangunan berhasil.
pertanian
Begitu
pula
berhasil, sebaliknya,
maka bila
pembangunan pertanian gagal, maka pembangunan agroindustri pun sulit untuk berkembang. Menurut UNIDO (2008), pertumbuhan dan pengembangan agroindustri dalam suatu Negara dapat berperan dalam perekonomian antara lain dalam hal: (a) Penyerapan tenaga kerja dan peningkatan pendapatan; (b) Memberikan kontribusi terhadap GDP dan sektor manufaktur; (c) Mengembangkan kondisi sosial dan ekonomi masyarakat; (d) Memberikan pemerataan ekonomi daerah pedesaan dan perkotaan; dan (e) Integrasi ke pasar global dan pendapatan devisi bagi Negara.
12
Sebagaimana yang digambarkan pada Gambar 2-1, kontribusi agroindustri Indonesia terhadap PDB sektor non-migas cukup besar, yaitu 44,2%, yang merupakan kontribusi terbesar bila dibandingkan dengan sektor industri lainnya seperti industri alat angkut, mesin dan peralatan sebesar 28,1%, industri pupuk, kimia dan barang dari karet sebesar 12,7%, industri tekstil, barang kulit dan alas kaki sebesar 9%, industri semen dan barang galian bukan logam sebesar 3,3%, industri logam dasar, besi dan baja sebesar 1,9% dan industri barang lainnya sebesar 0,8%. Sedangkan kontribusi cabang industri agro terhadap industri pengolahan tahun 2010 terbesar diberikan oleh cabang industri makanan, minuman dan tembakau yaitu sebesar 33,6% yang diikuti oleh industri barang kayu dan hasil hutan lainnya sebesar 5,8%, industri kertas dan percetakan sebesar 4,8%.
Sumber: Indagro (2010) Gambar 2-1 Sumbangan Cabang-cabang Industri Terhadap PDB Sektor Industri Non Migas Tahun 2010
Pertumbuhan industri pengolahan non-migas dari tahun 2006-2009 mengalami penurunan, hal tersebut dapat dilihat pada pertumbuhan tahun 2006 sebesar 5,27%, tahun 2007 turun menjadi 5,15%, tahun 2008 turun menjadi 4,05%, pada tahun 2009 turun menjadi 2,52%, dan pada tahun 2010 mengalami kenaikan menjadi 5,13%. Walaupun pertumbuhan industri non-migas mengalami penurunan, namun kontribusi sektor agroindustri pada pertumbuhan industri nonmigas cukup signifikan. Pada tahun 2006 pertumbuhan agroindustri sebesar
13
5,51%, tahun 2007 turun menjadi 4,38%, dan pada tahun 2008 turun menjadi 1,92%, namun pada tahun 2009 mengalami peningkatan menjadi 9,21%. Data kontribusi sub sektor agroindustri terhadap PDB menunjukkan bahwa output sub sektor ini memberikan kontribusi yang selalu lebih besar dari pada sub sektor pengolahan non agroindustri. Rata-rata kontribusi sub sektor agroindustri selama 2004-2009 mencapai 15,47 persen dari total PDB nasional. Sementara sub sektor non agroindustri (non migas) memberikan kontribusi dengan ratarata mencapai 9,41 persen (Rachbini, Arifin et al., 2011). Di saat krisis ekonomi yang pernah memporak-porandakan ekonomi Indonesia pada 1997-1998, agroindustri ternyata dapat bertahan menjadi sebuah aktivitas ekonomi yang mampu berkontribusi secara positif terhadap pertumbuhan ekonomi. Selama masa krisis, walaupun sektor lain mengalami kemunduran atau bahkan pertumbuhan negatif, agroindustri mampu bertahan dalam jumlah unit usaha yang beroperasi (Rachbini, Arifin et al., 2011). Penyebab utama yang membuat kelompok agroindustri maupun pertanian dapat bertahan dalam situasi krisis karena ketidakbergantungannya pada bahan baku dan bahan tambahan impor serta peluang pasar ekspor yang besar. Melemahnya nilai tukar rupiah terhadap mata uang utama Dunia justru memberikan tambahan keuntungan yang signifikan terhadap industri ini. 2.1.2 Permasalahan dan Kendala Pengembangan Agroindustri Namun, walaupun kontribusi sektor agroindustri dalam perekonomian nasional cukup signifikan, pengembangan industri ini di Indonesia masih mengalami beberapa permasalahan dan kendala. Beberapa permasalahan umum dalam pengembangan agroindustri yang teridentifikasi oleh Rachman dan Sumedi (2002) adalah: (a) Sifat produk pertanian yang mudah rusak dan bulky sehingga diperlukan teknologi pengemasan dan sarana transportasi yang mampu mengatasi masalah tersebut; (b) Sebagian besar produk pertanian bersifat musiman dan sangat dipengaruhi oleh iklim sehingga aspek kontinyuitas produk agroindustri sangat tidak terjamin; (c) Kualitas produk pertanian dan produk industri yang dihasilkan pada umumnya masih rendah sehingga mengalami kesulitan dalam
14
persaingan pasar baik di dalam negeri maupun di pasar Internasional; dan (d) Sebagian besar industri berskala kecil dengan teknologi rendah. Sementara itu kendala-kendala yang dihadapi dalam pengembangan agroindustri menurut Supriyati, Suryani et al. (2006) adalah: (1) Bahan baku berupa komoditi pertanian belum dapat mencukupi kebutuhan industri pengolahan secara berkesinambungan; (2) kemampuan sumber daya manusia yang terbatas dalam penguasaan manajemen dan teknologi menyebabkan rendahnya efisiensi dan daya saing produk agroindustri; (3) investasi di bidang agroindustri kurang berkembang, antara lain karena masih adanya ketidakpastian iklim usaha dan kebijakan yang tidak konsisten; (4) Lembaga keuangan masih menerapkan preferensi suku bunga yang sama antara sektor pertanian, kehutanan, industri dan jasa sehingga kurang atraktif bagi investor untuk berusaha di bidang agroindustri; (5) Informasi peluang usaha dan pemasaran belum memadai dengan keterpaduan jaringan bisnis yang baik; (6) Masih adanya kesenjangan pengembangan wilayah; (7) Homogenitas kebijakan pembangunan yang tidak memperhatikan kebutuhan wilayah setempat; (8) Belum terciptanya sinergi kebijakan yang mendukung iklim usaha; (9) Kurangnya sarana dan prasarana transportasi; (10) Kemitraaan usaha dan keterkaitan produk antara hulu dan hilir belum berjalan lancar; (11) Masih kurangnya
penelitian
dan
pengembangan
teknologi
proses;
dan
(12)
Ketergantungan pada lisensi produk dan teknologi yang bersumber dari luar negeri. 2.1.3 Pendekatan Sistem dalam Analisis Agroindustri Agroindustri merupakan sebuah sistem yang kompleks yang memiliki karakteristik yang khusus dimana terdapat sekumpulan keterkaitan aktivitas yang saling
terhubung
antara
aktivitas
produksi,
pengolahan,
pengangkutan,
penyimpanan, pendanaan, pemasaran, dan distribusi produk pertanian. Dari sudut pandang para pakar sosial ekonomi, agroindustri, (pengolahan hasil pertanian) merupakan bagian dari lima sub-sistem agribisnis yang disepakati pada Simposium Nasional Agroindustri I (Anonim, 1983), yaitu sub-sistem penyediaan sarana produksi dan peralatan, usaha tani, pengolahan hasil pertanian, pemasaran, sarana dan pembinaan (Mangunwidjaya dan Sailah, 2009).
15
Menurut Austin (1992), agroindustri sebagai sebuah sistem memiliki empat tipe keterkaitan sistemik, keempat tipe keterkaitan sistemik tersebut adalah: (a) Keterkaitan rantai produksi; (b) Keterkaitan kebijakan makro dan mikro; (c) Keterkaitan institusional; (d) Keterkaitan internasional/global. Masing-masing keterkaitan ini memiliki dimensi yang bebeda-beda pada sistem agroindustri, namun semuanya saling berhubungan. Pemahaman terhadap sistem dan elemenelemen dalam agroindustri ini serta keterkaitannya satu sama lain, akan sangat diperlukan dalam melakukan usaha perancangan maupun perbaikan sistem. Gambar 2-2 berikut ini memperlihatkan aktivitas-aktivitas pada sistem agroindustri secara umum. Breedstocks
Bibit
Peralatan
Agrochemicals
Bahan-bahan lainnya
Transport Transport Tanah dan irigasi Penggunaan on-farm
Input
Pertanian Pertanian
Penyimpanan Penyimpanan
Produksi Bahan baku Transport Transport Agroindustri Agroindustri
Penyimpanan Penyimpanan
Produk Barang jadi Transport Transport
Penyimpanan Penyimpanan
Penyimpanan Penyimpanan
Penyimpanan Penyimpanan
Eksporter Eksporter
Distributor Distributor
Produk
Produk
Transport Transport
Transport Transport
Importer Importer
Retailer Retailer
Produk
Produk
Transport Transport
Konsumen Konsumen
Penyimpanan Penyimpanan
Penyimpanan Penyimpanan
Retailer Retailer Produk Konsumen Konsumen
Gambar 2-2 Aktivitas-aktivitas pada Sistem Agroindustri
16
2.2
Agroindustri Minyak Kelapa Sawit dan Potensi Pengembangannya
2.2.1 Agroindustri Minyak Kelapa Sawit Agroindustri minyak kelapa sawit merupakan industri yang mengolah bahan baku yang berasal dari tandan buah segar (TBS) yang dihasilkan oleh tanaman kelapa sawit yang umumnya ditanam pada perkebunan (KKS) milik masyarakat, swasta maupun Pemerintah. Bagian yang paling utama untuk diolah dari kelapa sawit adalah buahnya. Bagian daging buah menghasilkan minyak kelapa sawit mentah yang diolah menjadi bahan baku minyak goreng. Produk yang dihasilkan dari industri hulu menghasilkan produk primer berupa minyak kelapa sawit (MKS) dan minyak inti kelapa sawit (MIKS). Dari produk primer berupa MKS dan MIKS ini dapat dikembangkan menjadi bermacam-macam produk yang dihasilkan oleh industri hilir (Goenadi, 2005). MKS dan MIKS sendiri merupakan ester asam lemak dan gliserol yang disebut trigliserida. Trigliserida MKS kaya akan asam palmiat, linoleat, stearat dan gliserol. Sedangkan trigliserida MIKS mengandung asam laurat, miristat, stearat, gliserol dan sedikit palmitat (Pahan, 2010). MKS dan MIKS merupakan sumber energi pangan, seperti minyak goreng, maragarine, shortenings dan vanaspati serta sumber karbon untuk industri oleokimia. Kelebihan minyak nabati dari sawit adalah harga yang murah, rendah kolesterol, dan memiliki kandungan karoten tinggi (Deperin, 2007). Sementara senyawa karbon asal minyak nabati dikenal lebih mudah terurai di alam dibandingkan dengan senyawa turunan dari minyak bumi (Pahan, 2010). Dengan kandungan nutrisi produk pangan yang dihasilkan dan potensi pengembangan pada produk industri hilir yang bernilai tinggi, menjadikan produk agroindustri minyak kelapa sawit ini sebagai komoditas yang bernilai tinggi dalam perdagangan domestik maupun internasional saat ini maupun di masa yang akan datang. Cerahnya prospek komoditi minyak kelapa sawit dalam perdagangan minyak nabati dunia telah mendorong pemerintah Indonesia untuk memacu pengembangan areal perkebunan kelapa sawit (Deperin, 2007). Tanaman kelapa sawit sebagai penghasil MKS dan MIKS ini berasal dari Afrika (Elaeis guineensis) dan telah lama dikenal di negara asalnya (Afrika Barat) untuk digunakan minyak goreng (Lubis dan Widanarko, 2011). Tanaman kelapa sawit tumbuh dengan baik pada dataran rendah di daerah tropis yang beriklim
17
basah, yaitu sepanjang garis khatulistiwa antara 23.5o lintang utara sampai 23.5o lintang selatan. Persyaratan untuk tumbuh tanaman kelapa sawit menurut Pahan (2010): (a) curah hujan ≥ 2.000 mm/tahun dan merata sepanjang tahun dengan periode bulan kering tidak lebih dari 3 bulan; (b) Temperatur siang hari rata-rata 29-33o C dan malam hari 22-24o C; (c) Ketinggian tempat dari permukaan laut 500 m; dan (d) matahari bersinar sepanjang tahun, minimal 5 jam per hari. Dengan ketersediaan lahan, kesesuaian iklim dan kesuburan tanah yang dimiliki, Indonesia memiliki keunggulan komparatif sebagai Negara penghasil minyak kelapa sawit maupun turunannya. Atas dasar persyaratan tumbuh, kesesuaian iklim dan potensi lahan yang ada, potensi pengembangan agroindustri minyak sawit di Indonesia dapat dilihat pada Gambar 2-3.
N a n g g ro e A c e h D a ru s s a la m
S u la w e s i U t a r a
K e p u la u a n R ia u
S u m a te r a U ta r a K a li m a n t a n T im u r G o r o n ta l o
R ia u
M a lu k u U ta r a
K a li m a n t a n B a r a t
S u m a te r a B a r a t K a li m a n t a n T e n g a h
Jam bi B a n g k a B e l i tu n g S u m a te r a S e l a ta n B e n g k u lu
S u la w e s i T e n g a h
S u la w e s i B a r a t K a li m a n t a n S e l a ta n S u la w e s i S e la t a n S u la w e s i T e n g g a r a
Ir i a n J a y a B a r a t M a lu k u
La m pu n g BD ak ni tJeank a r ta J a w a B a ra t D a eJ raawh a I sTt ei mn eg wa ha JYaowgay aT ki ma r ut ar P ro in s i In d o n e s ia K u r a n g P o te n s i a l P o te n s i R e n d a h P o te n s i S e d a n g P o t e n s i T in g g i
B a li N u s a T e n g g a r a B a r a t N u s a T e n g g a ra T im u r
N
W
P a pu a
E S
Sumber: UNEP (2006), diolah kembali
Gambar 2-3 Potensi Produksi Minyak Sawit di Wilayah Indonesia
Menurut data dari Dirjen Perkebunan (2010), pada tahun 2005, luas areal Perkebunan Rakyat (PR) sekitar 2.202 ribu ha (40,44%), Perkebunan Negara (PBN) 630 ribu ha (11,58%) dan Perkebunan Besar Swasta (PBS) 2.613 ribu ha (47,98%). Sumatera mendominasi ketiga jenis pengusahaan, sedangkan Kalimantan dan Sulawesi menjadi lokasi pengembangan perkebunan swasta dan perkebunan rakyat. Pada tahun 2010 luas areal Perkebunan Rakyat (PR) sekitar 3.314 ribu ha (42,36%), Perkebunan Negara (PBN) 616 ribu ha (7,87%) dan Perkebunan Besar Swasta (PBS) 3.893 ribu ha (49,75%). Dalam kurun 5 tahun, terdapat peningkatan luas lahan perkebunan kelapa sawit kurang lebih 43%. Luas
18
areal perkebunan kelapa sawit di beberapa wilayah potensial di Indonesia pada tahun 2009 ditampilkan pada Gambar 2-4 (TimP3EI, 2011). Pada gambar tersebut dapat dilihat bahwa pulau Sumatera masih memiliki lahan yang terluas yaitu sekitar 70% berada di daerah tersebut.
Gambar 2-4 Area Perkebunan Kelapa Sawit di Indonesia Tahun 2009
2.2.2 Peran Penting Agroindustri Minyak Kelapa Sawit Komoditi kelapa sawit merupakan salah satu andalan komoditi pertanian Indonesia yang pertumbuhannya sangat cepat dan mempunyai peran strategis dalam perekonomian nasional (Indagro, 2009). Salah satu hasil olahan kelapa sawit adalah minyak sawit mentah atau Crude Palm Oil (CPO). Hasil olahan ini merupakan bahan penting yang digunakan untuk menghasilkan produk-produk pangan maupun non pangan yang dibutuhkan oleh masyarakat dan memiliki nilai yang tinggi. Produk-produk katagori pangan yang dapat dihasilkan dari CPO antara lain: minyak goreng, minyak salad, shortening, margarine, cocoa butter substitute, vanaspati, vegetable ghee, food emulsifier, fat powder dan es krim. Sementara produk-produk non pangan yang dapat dihasilkan antara lain: surfaktan, biodiesel, dan oleokimia turunan lainnya (Susila, 2011). Komoditas
kelapa
sawit
memiliki
peran
yang
strategis
dalam
perekonomian nasional antara lain disebabkan oleh: Pertama, komoditas ini sebagai bahan utama minyak goreng yang dikonsumsi oleh masyarakat, CPO memainkan peran penting dalam menentukan tingkat inflasi (BPS, 2012). Kedua, dari sisi penyerapan tenaga kerja, sektor industri ini mampu menyerap lebih dari 5 juta tenaga kerja (Suryana, Goenadi et al., 2007). Kegiatan ekonomi utama kelapa
19
sawit di Sumatera dengan luasan 70% dari luasan lahan kelapa sawit di Indonesia telah memberikan kontribusi ekonomi yang besar dengan membuka lapangan pekerjaan yang luas. Sekitar 42 persen lahan kelapa sawit dimiliki oleh petani kecil (TimP3EI, 2011). Ketiga, industri ini menghasilkan pendapatan devisa yang besar. Pada tahun 2010 pendapatan ekspor dari komoditas ini senilai USD 9,7 milyar hanya dari CPO (Indagro, 2010) dan belum termasuk produk turunannya. 2.2.3
Produksi dan Permintaan Minyak Kelapa Sawit
Produksi minyak sawit Indonesia berdasarkan data dari Direktorat Jenderal Perkebunan, Departemen Pertanian (2010) mengalami pertumbuhan yang cukup signifikan dengan rata-rata 13,4 persen sejak tahun 2000 sampai tahun 2010 sebagaimana yang terlihat pada Gambar 2-5. Pertumbuhan produksi ini ditunjang oleh pertumbuhan lahan perkebunan dengan rata-rata sebesar 6,7 persen per tahun. Pangsa produksi minyak sawit (CPO) Indonesia di pasar internasional juga menunjukkan tren peningkatan. Total produksi Minyak Sawit (CPO dan CPKO) dunia pada 2010 sebesar 53,2 juta ton, di mana Indonesia dan Malaysia menguasai 80 persen produksi minyak sawit dunia (Rachbini, Arifin et al., 2011). Pangsa CPO Indonesia sebesar 43,6 persen sedangkan Malaysia sebesar 36,2 persen, sisanya sebesar 20,2 persen merupakan share sejumlah negara-negara lain. Indonesia adalah produsen minyak kelapa sawit terbesar di dunia sejak 2007 (TimP3EI, 2011), menyusul Malaysia yang sebelumnya adalah produsen minyak kelapa sawit terbesar di dunia.
Gambar 2-5 Produksi CPO dan Harga per Ton dari Tahun 2000 sampai 2010
20
Tabel 2-2 Pangsa Produksi Minyak Sawit Dunia Tahun 2010 No
Negara
Produksi
1 Indonesia 2 Malaysia 3 Negara Lainnya Jumlah
23.2 19.3 10.7 53.2
Pangsa Produksi 43.61% 36.28% 20.11% 100%
Dari sisi pertumbuhan produksi, Indonesia masih lebih baik dibandingkan dengan Malaysia dengan pertumbuhan sebesar 7,8 persen per tahun dan Malaysia yang sebesar 4,2 persen per tahun (TimP3EI, 2011). Permintaan minyak kelapa sawit dunia di lain sisi juga terus mengalami peningkatan dengan pertumbuhan rata-rata sebesar 5 persen per tahun (TimP3EI, 2011). Pemenuhan permintaan kelapa sawit dunia didominasi oleh produksi Indonesia. Indonesia memproduksi sekitar 43 persen (Tabel 2-2) dari total produksi minyak mentah sawit (Crude Palm Oil/CPO) di dunia. Negara-negara tujuan ekspor produk CPO Indonesia yang terbesar pada tahun 2010 adalah India dengan perolehan pendapatan sekitar USD 3,7 milyar, diikuti oleh negara tujuan Malaysia dengan pendapatan sebesar USD 1,6 milyar dan kemudian negara tujuan Belanda sebesar USD 1 milyar (Indagro, 2010). Negara-negara tujuan ekspor produk CPO lainnya adalah Bangladesh, Italia, Singapura, RRC dan Negaranegara lainnya. Disamping sebagai eksportir produk minyak mentah terbesar di Dunia, Indonesia juga sudah mengekspor produk turunan dari CPO, antara lain minyak goreng sawit, olein/fatty acids, margarine, stearic acid, sabun mandi, dan glyserol. Minyak goreng mayoritas diekspor ke negara China dengan pendapatan pada tahun 2010 sekitar USD 1,7 milyar dan total sekitar USD 5,32 milyar. Namun untuk produk-produk turunan lainnya ekspor Indonesia belum signifikan dibandingkan dengan Malaysia. 2.2.4 Proses Produksi CPO dan Keterlibatan Sistem Transportasi 2.2.4.1 Proses Produksi Pengolahan kelapa sawit merupakan proses untuk memperoleh minyak dan kernel dari buah kelapa sawit melalui proses perebusan, pemipilan,
21
pelumatan, pengempaan, pemisahan, pengeringan dan penimbunan. Pengolahan kelapa sawit yang dilakukan secara mekanis dan fisika dapat berperan dengan baik jika tersedia bahan baku yang sesuai dan kinerja pabrik yang baik (Pardamean, 2008). Proses produksi CPO dan keterkaitannya dengan transportasi digambarkan secara umum pada Gambar 2-6. Tandan buah segar (TBS) yang berasal dan diangkut dari kebun menggunakan truck pertama kali diterima di stasiun penerimaan buah untuk ditimbang di jembatan timbang dan ditampung sementara di penampungan buah (loading ramp). Loading ramp dilengkapi dengan pintu hidrolis sehingga memudahkan pengisian TBS ke lori untuk proses berikutnya. Lori-lori yang telah berisi TBS dikirim ke stasiun perebusan (sterilizer) dengan cara ditarik menggunakan capstand yang digerakkan oleh motor listrik hingga memasuki sterilizer. Tujuan dari perebusan TBS
yaitu untuk
menghentikan perkembangan asam lemak bebas (ALB) atau free fatty acid (FFA), memudahkan pemipilan, pengurangan kadar air dan penyempurnaan dalam proses pengolahan inti sawit. TBS berikut lori yang telah direbus dikirim ke bagian pemipilan dan dituangkan ke alat pemipil (thresher) dengan bantuan hosting crane. Proses pemipilan terjadi akibat tromol berputar pada sumbu yang mendatar yang membawa TBS ikut berputar sehingga membanting-banting TBS tersebut dan menyebabkan brondolan lepas dari dari tandannya. Brondolan yang keluar dari bagian bawah pemipil ditampung oleh sebuah screw conveyor untuk dikirim ke bagian digesting dan pressing. Sementara tandan kosong yang keluar dari bagian belakang pemipil ditampung oleh elevator dan yang kemudian dikirim ke hopper untuk dijadikan pupuk. Brondolan yang telah terpipil dari stasiun pemipilan diangkut ke bagian pengadukan/pencacahan (digester). Tujuan utama dari proses digesting yaitu mempersiapkan daging buah untuk proses pressing/pengempaan. Sehingga minyak dengan mudah dapat dipisahkan dari daging buah dengan kerugian yang sekecil-kecilnya. Hasil cacahan langsung masuk ke alat pengempaan yang berada persis di bagian bawah digester.
22
Minyak kasar yang dihasilkan dari proses press harus dibersihkan dari kotoran, baik yang berupa padat (solid), lumpur (sludge), maupun air. Tujuan dari proses pemurnian agar diperoleh minyak dengan kualitas sebaik mungkin dan dapat dipasarkan dengan harga yang layak. Selanjutnya CPO yang dihasilkan dikirimkan ke tanki penyimpanan.
Gambar 2-6 Proses Produksi CPO dan Keterlibatan Transportasi
2.2.4.2 Sistem Transportasi Produk Produk CPO setelah berada dalam tanki penyimpanan, siap didistribusikan kepada konsumen. Dalam pendistribusiannya, sebelum produk sampai ke tangan konsumen harus melalui tahap pengiriman, penimbunan dan pengapalan. Pengiriman yang dimaksudkan disini adalah membawa atau mengeluarkan produk minyak kelapa sawit dari pabrik ke unit berikutnya. Unit ini dapat berupa stasiun penimbunan atau langsung pengapalan. Untuk keperluan pengiriman produk, dilakukan pembongkaran dan pemuatan ke alat/kendaraan pengangkut. Penimbunan dilakukan untuk menunggu saat produk minyak kelapa sawit dikapalkan atau digunakan oleh industri lainnya. Penimbunan dilakukan di bulking station. Setelah produk berada dalam tanki timbun pada bulking station,
23
penjagaan dan pengawasan dilakukan oleh pihak bulking station. Untuk menjaga dan menjamin kualitas dari produk yang disimpan, pihak bulking station harus melakukan tindakan-tindakan yang perlu dan sesuai. Menurut Pahan (2010) ada beberapa hal yang harus diperhatikan pada pengapalan komoditas CPO ini, antara lain, bentuk perdagangan (commercial term) yang digunakan, pelaku dalam sistem pengapalan dan kapal pengangkut. a. Bentuk Perdagangan Bentuk perdagangan yang umum digunakan pada perdagangan CPO di Indonesia yaitu free on board (FOB) dan Cost Insurance and Freight (CIF) (Pahan, 2010). Pada FOB, kewajiban penjual dalam jenis transaksi ini yaitu menyediakan dan memasukkan barang ke kapal dalam kuantitas, kualitas dan tempat yang disepakati. Namun, penjual harus menyiapkan segala sesuatu yang diperlukan untuk kelancaran proses transaksi, termasuk dokumen ekspor. Kewajiban pembeli dalam hal ini yaitu mencari kapal, menyediakan ruangan dalam kapal, menetapkan pelabuhan, menginformasikan waktu sandar, serta menanggung semua biaya dan risiko terhadap barang sejak melewati bibir tanki termasuk pembongkarannya. Bentuk-bentuk perdagangan yang lainnya, dapat dilihat pada Gambar 2-7 yang dikutip dari International Chamber of Commerce (ICC). Pada CIF, kewajiban penjual menyediakan seluruh fasilitas agar barang yang diperdagangkan sampai di pelabuhan tujuan yang dijanjikan. Namun, risiko (bukan biaya) selama pengangkutan menjadi tanggung jawab pembeli yang dilimpahkan ke asuransi atas biaya penjual. Kewajiban pembeli yaitu melakukan pembongkaran serta pengurusan seluruh dokumen yang diperlukan. b. Pelaku dalam Sub-Sistem Pengapalan Pengapalan merupakan titik peralihan pemilikan, tanggung jawab, biaya dan lainlain dari pihak penjual ke pihak pembeli. Dalam unsur ini, banyak yang terlibat seperti pihak pengapal (shippers), pemilik kapal (ship owner), perantara (broker), agen pengapalan, surveyor, dan pembeli yang saling terkait. Ketimpangan pada salah satu mata rantai ini akan menyebabkan kericuhan dalam seluruh sistem.
24
Gambar 2-7 Titik Serah Barang dalam Perdagangan Internasional
c. Kapal Pengangkut Ada beberapa hal yang perlu diperhatikan terhadap kapal yang akan disewa, antara lain: 1) Kesesuaian kapal untuk perdagangan minyak sawit, termasuk negara pemilik (nationality), bendera tempat kapal terdaftar (flag), umur kapal, jenis tanki dan pelapisannya, serta ukuran tanki dan pompa; 2) Pemilik kapal terbiasa dengan terminologi kebersihan sawit. Awak kapal secara kesatuan menyadari fungsi mereka sebagai pembawa dan pemelihara barang yang dibawa. Disamping itu, pemilik kapal juga paham tentang lay days (kelambatan) penundaan dan praktik sesuai dengan kontrak perdagangan minyak sawit. Dalam hal ini berlaku ketentuan the last three cargo yang berarti dipersyaratkan kapal tersebut hanya mengangkut MKS pada 3 pelayaran sebelumnya; 3) Kapal harus terklasifikasi, disertifikasi, dan diasuransikan dengan baik dan 4) Produk dalam kapal harus dihindari dari kontaminasi logam berat . Meskipun penjualan minyak sawit Indonesia umumnya dilakukan secara FOB, tidak berarti bahwa penjual dapat sesukanya memuat barang ke dalam tanki yang sudah ditunjuk oleh penjual. Penjual tetap memiliki kewajiban untuk memeriksa kesiapan dan kebersihan kapal untuk memuat minyak yang diperdagangkan. Jika ditemukan tanki kapal yang tidak layak digunakan untuk memuat minyak sawit, penjual wajib memberitahukan kepada pembeli. Keputusan pemuatan ada di tangan pembeli dengan risiko pada pembeli pula.
25
2.2.5
Potensi Pengembangan Dalam konsep pertanian yang holistik, dianut pandangan bahwa setiap
bagian tanaman sejak panen dapat dijadikan bahan dasar industri secara berantai (Pahan, 2010). Paham ini melahirkan efek berganda (multiplier effects) yang disebut pohon industri pertanian. Pohon industri kelapa bisnis kelapa sawit secara umum digambarkan pada Gambar 2-8 (Deperin, 2011). TANDAN BUAH SEGAR
Proses di PMKS Sisa-sisa TBS
Inti Sawit
Crushing extractin Bungkil inti sawit
Pupuk arang aktif Minyak inti sawit
Fractionation and refining
Refining
Technical uses soaps dll
Blending Fractionation and Refining Pakan Ternak
Fuel
Minyak kelapa sawit
Splitting
RBD PO
Refining
Stearin
Olein
Hydrogenation
Confectionery fats
Margarines
H.P.K.O. H.K.O. olein
Confectioneries Coffee whitener Filled milk Coating fats
Margarines Confectioneries Filled milk Ice cream Biscuit creams
Margarines Shortenings Vanaspati Fryng fats Ice cream
RBD olein
RBD stearin
Frying cooking Shortenings Margrines
Shortenings margarines
Splitting
Fatty acids Soaps Palm midraction
Fatty acids
Glycerol
Fatty Alcohols Amines Amides
Emulsifiers Humectants explosives
Soaps Food emulsifiers dll
Blending
Cocoa butter equivalent
Biodiesel
Gambar 2-8 Pohon Industri Kelapa Sawit
Menurut data dari Departemen Perindustrian RI, hingga tahun 2009 baru diproduksi sekitar 23 jenis produk turunan CPO di Indonesia (Indagro, 2009). Mengingat potensi minyak sawit Indonesia saat ini dan ditambah realisasi produksi CPO tahun 2011 yang telah mencapai 23 juta ton dan bahkan target 50 juta ton pada tahun 2020, maka sudah selayaknya diversifikasi produk turunan CPO ditingkatkan. Dengan pengolahan CPO ini menjadi berbagai produk turunan, maka akan memberikan nilai tambah lebih besar lagi bagi negara karena harga relatif mahal dan stabil. Penggunaan CPO untuk industri hilirnya di Indonesia saat ini masih relatif rendah yaitu baru sekitar 35% dari total produksi (Indagro, 2010). Nilai tambah ekonomi (baik nilai tambah bisnis maupun nilai tambah teknis) produk turunan CPO sangat bervariasi, tergantung dari harga bahan baku, tingkat kesulitan dalam ekstraksi produk, dan harga produk turunan di pasar.
26
Namun, yang pasti, semakin dapat dimanfaatkan/dibutuhkan produk turunan tersebut, nilai tambahnya akan semakin tinggi. CPO yang diolah menjadi sabun mandi menghasilkan nilai tambah sebesar 300 persen, apalagi kalau diproses untuk menghasilkan kosmetik, nilai tambahnya akan meningkat mencapai 600 persen (Tabel 2-3) Nilai tambah CPO jika diolah menjadi minyak goreng sawit sebesar 60 persen, sedangkan jika menjadi margarin mencapai 180 persen (Kemenperin, 2011). Oleh karena itu, pemerintah terus berusaha mendorong pengembangan produk turunan CPO, baik untuk keperluan bahan baku industri pangan maupun non pangan. Produk pangan yang dapat dihasilkan dari CPO dan PKO, seperti emulsifier, margarine, minyak goreng, shortening, susu full krim, konfeksioneri, yogurt, dan lain-lain. Sedangkan produk non pangan yang dihasilkan dari CPO dan PKO, seperti epoxy compound, ester compound, lilin, kosmetik, pelumas, fatty alcohol, biodiesel, aviation biofuels (Venkataramani, 2011) dan lain-lain. Tabel 2-3 Jenis Industri, Perkiraan Nilai Investasi dan Nilai Tambah Industri Berbasis Minyak Sawit No
Produk
1 Olein & stearin
CPO
TingkatTtekn ologi Menengah
2 Fatty acids
CPO, PKO, katalis
Tinggi
200 - 700 miliar
50%
3 Ester
Palmitat, miristat
Tinggi
100 - 500 miliar
150%
4 Surfactant / emulsifier
Stearat, oleat, sorbitol, gliserol Tinggi
200 - 700 miliar
200%
5 Sabun mandi
CPO, PKO, NaOH, pewarna, parfum Stearat
Sederhana
Mulai kurang dari 1 milar
300%
Sederhana
Mulai kurang dari 1 milar
300%
Surfaktan, ester, amida
Sederhana
1 - 200 miliar
600%
6 Lilin 7 Kosmetik (lotion, cream) bedak, shampoo
Bahan Baku
Perkiraan Investasi
Pertambahan Nilai 20%
Sumber ; Badan Penelitian dan Pengembangan Pertanian, Kementerian Pertanian, 2007
2.2.6 Strategi Pengembangan Industri Hilir CPO Departemen perindustrian (2009) telah membuat road map pengembangan industri CPO Nasional. Strategi pengembangan industri CPO yang telah dirumuskan berfokus pada produk IHKS yang bernilai tambah tinggi melalui pengembangan klaster industri kelapa sawit. Adanya klaster industri berbasis sawit ini diharapkan dapat memperkuat keterkaitan pada semua tingkatan rantai
27
nilai (value chain) dari industri hulunya dan mampu meningkatkan nilai tambah sepanjang rantai nilai dengan membangun visi dan misi yang selaras. Terdapat empat kelompok industri yang harus dikembangkan untuk mengoptimalkan nilai tambah yang diperoleh dari kelapa sawit (Indagro, 2009) sebagaimana yang tergambar pada Gambar 2-9. Yang pertama adalah industri pemasok yang menghasilkan bahan baku industri yaitu CPO dan PKO. Yang kedua merupakan kelompok industri inti yang berada pada tahap kedua dari klaster ini yaitu antara lain industri Fatty Acid, Fatty Alcohol dan Biodiesel. Ketiga adalah industri-industri dalam kelompok industri terkait seperti industri minyak goreng, shortenings, surfaktan, dan lain sebagainya. Yang terakhir adalah industri yang berada dalam kelompok industri pendukung seperti industri kemasan, metanol, hidrogen, katalis dan bahan kimia lainnya. Dengan berkembangnya keempat kelompok industri ini dan dibarengi dengan peningkatan infrastruktur pelabuhan, jalan dan utilitas serta insentif dan regulasi yang tepat, diharapkan dapat mendukung industri kelapa sawit nasional yang berkelanjutan. Pasar Domestik & Ekspor (Oleofood, Oleochemical & Bioenergi) Peningkatan Perolehan Devisa Peningkatan Daya Saing IHKS
IHKS Nasional Berkelanjutan
Peningkatan Ketahanan Pangan dan Energi Nasional
Insentif dan Regulasi (Pusat, Daerah)
Industri Pemasok (CPO & PKO)
Peningkatan Nilai Tambah Penciptaan Lapangan Kerja
Industri Inti (Refinery, Fraksinasi, Fatty Acid, Fatty Alcohol, Biodiesel
Industri Terkait (Minyak Goreng, Margarine, Shortening, Surfaktan/Emulsifier, Shoapchip, Sabun/ Ditergen, dll
Industri Pendukung (Industri Kemasan, Industri Metanol. Hidrogen, Katalis & Bahan Kimia Lainnya
Infrastruktur (Pelabuhan, Jalan) & Utilitas
PENGEMBANGAN IHKS
Institusi Pendukung (Lembaga Pendidikan, Lembaga Penelitian, Perbankan)
Grand Strategi Pengembangan IHKS Pengembangan IHKS melalui pendekatan klaster untuk meningkatkan nilai tambah kelapa sawit dan mendorong produk hilir kelapa sawit Indonesia menjadi beragam produk unggulan Dunia
Fokus Pengembangan · · ·
Fokus pada produk IHKS yang memiliki nilai tambah tinggi Fokus pada pengembangan klaster IHKS di Sumut, Riau dan Kaltim Perbaikan infrastruktur
Insentif · ·
Subsidi bunga untuk pengembangan IHKS baru Keringanan perpajakan dan insentif lainnya untuk pengembangan IHKS
Pengembangan Pasar
Pengembangan R & D · · ·
Penyiapan SDM Fokus pada produk IHKS yang bernilai tambah tinggi Kolaborasi riset antara perguruan tinggi, Lemlitbang dan Industri
· · ·
Pengembangan pasar domestik dan luar negeri Pembangunan citra produk IHKS Indonesia Promosi dan kampanye produk IHKS Indonesia
Kebijakan Pengembangan IHKS yang Fokus dan Konsisten pada ProdukIHKS yang Bernilai Tambah Tinggi
Gambar 2-9 Strategi Pengembangan Industri Hilir Minyak Kelapa Sawit (IHKS)
28
2.3
Pengembangan Industri dan Distribusi
2.3.1 Lokasi Industri Apabila pada suatu daerah tidak ada jaringan transportasi atau biaya transportasinya sangat tinggi, daerah tersebut terpaksa menggantungkan dirinya pada hasil-hasil produksi dari sumber alamnya sendiri. Akan tetapi, bila transportasi tersedia atau transportasi relatif murah, maka akan memungkinkan adanya spesialisasi dan pembagian kerja antar daerah. Dengan adanya pembagian kerja antar daerah, suatu negara atau suatu daerah akan dapat menspesialisasikan pada satu atau produk tertentu sesuai dengan keadaan tanah, iklim, ketrampilan tenaga kerja, sumber-sumber alam atau bahan mentah, dan sebagainya. Hal itu merupakan cara yang paling tepat dan paling menguntungkan serta menimbulkan keunggulan kompetitif. Biaya transportasi yang relatif murah akan mendorong produksi berskala besar yang relatif murah juga, serta akan mendorong produksi berskala besar (economies of scale) pada suatu daerah tertentu sehingga barang dapat dihasilkan secara lebih ekonomis (Nasution, 2008). Sampai seberapa spesialisasi atas pembagian kerja pada suatu daerah/lokasi tertentu akan sangat bergantung pada sampai dimana keuntungan ekonomis dapat diperoleh, yang melebihi biaya transportasi barang sampai di pasar. Dengan demikian kuantitas dan kualitas jaringan dan infrastruktur transportasi yang memunuhi kebutuhan akan menentukan keberhasilan pengembangan industri maupun kawasan industri yang dikembangkan pada daerah tertentu. Sebagaimana yang telah dijelaskan diatas, salah satu faktor yang memegang peranan utama dalam penetapan lokasi industri atau kegiatan ekonomi lainnya adalah besarnya biaya transportasi. Hal tersebut disebabkan biaya transportasi merupakan salah satu komponen biaya produksi (Arcelus, 1989; Artikis, 1993). Apabila biaya transportasi lebih murah, akan mengakibatkan biaya produksi lebih rendah dan harga produk juga bisa lebih rendah sehingga menambah daya saing produk dan memperluas lokasi daerah pemasaran. Hubungan antara biaya produksi di dalam negeri dengan harga penawaran ke luar
29
negeri ditambah dengan biaya transportasi, akan menentukan apakah suatu barang akan diekspor, diimpor atau dipasarkan di dalam negeri sendiri (Nasution, 2008). Besar kecilnya biaya transportasi yang merupakan salah satu faktor yang dipertimbangkan dalam penentuan lokasi pengembangan suatu industri akan sangat bergantung pada berat barang yang diangkut. Bila bahan baku lebih berat dibandingkan dengan barang jadi, maka sebaiknya dipilih lokasi dekat dengan bahan baku (zone material oriented). Sebaliknya, bila berat bahan baku lebih ringan dibandingkan dengan barang jadi, pilihan lokasi cenderung dekat pasar (market oriented), sedangkan bila bahan baku dan barang jadi relatif sama berat, maka lokasi industri yang dipertimbangkan sebaiknya berada di lokasi bahan baku dan pasar (intermediate oriented) (Reid, 1966; Schiele, 2008; Chapman, 2009). Sehubungan dengan pengaruh biaya transportasi untuk pemilihan lokasi industri, Von Theunen merupakan orang yang pertama kali mengembangkan model analitis dasar yang menghubungkan antara pasar, produksi dan jarak (Rodrigue, 2011). Untuk tujuan tersebut, Von Theunen mengkaji kasus pada bidang pertanian. Menurut Theunen, biaya transportasi relatif untuk komoditas pertanian yang berbeda-beda menuju ke pusat pasar ditentukan oleh penggunaan lahan di sekitar pasar. Aktivitas yang paling produktif akan dikuasai oleh lahanlahan yang memiliki jarak yang paling dekat ke pasar sementara aktivitas yang tidak produktif berlokasi jauh dari daerah pasar. 2.3.2
Distribusi Fisik
Dalam sistem distribusi menunjukkan adanya kaitan antar kegiatan dimana kegiatan transportasi berperan sebagai mata rantainya. Transportasi berfungsi sebagai jembatan yang menghubungkan produsen dengan konsumen, meniadakan jarak diantara keduanya (Khisty dan Lall, 2002). Jarak tersebut bisa dinyatakan sebagai jarak waktu maupun jarak geographis. Jarak waktu timbul karena barang yang dihasilkan hari ini mungkin belum digunakan sampai besok, atau bulan depan, atau tahun depan. Jarak atau keseimbangan ini dijembatani melalui pergudangan dengan teknik tertentu untuk mencegah kerusakan barang yang bersangkutan (Koo dan Larson, 1985).
30
Transportasi erat kaitannya dengan pergudangan dan penyimpanan (Crainic dan Laporte, 1997) karena keduanya meningkatkan manfaat barang. Angkutan menyebabkan barang dapat dipindahkan dari satu tempat ke tempat yang lain sehingga dapat diperoleh di tempat yang tidak memiliki barang tersebut, dengan demikian dapat menciptakan manfaat tempat (place utility). Penyimpanan atau pergudangan juga memungkinkan barang disimpan sampai dengan waktu dibutuhkan , dan ini berarti memberikan manfaat waktu (time utility). 2.3.3 Sistem Logistik Nasional dan Industri Kelapa Sawit Dalam kebijakan perdagangan pemerintah saat ini, telah telah ditentukan 10 (sepuluh) ”Produk Utama”, terkait dengan perdagangan internasional (ekspor), yaitu: Tekstil, Elektronika, Karet dan Produk Karet, Kelapa Sawit dan Produk Kelapa Sawit, Produk Hasil Hutan, Alas Kaki, Otomotip, Udang dan Kakap dan juga terdapat 10 (sepuluh) “Produk Potensial”, yaitu Makanan Olahan, Perhiasan, Kerajinan, Ikan dan Produk Perikanan, Rempah-rempah, Kulit dan Produk Kulit, Peralatan Medis, Peralatan Kantor, Minyak Atsiri, dan Tanaman Obat (Tamboen, Dewandhono et al., 2008). Dalam mengembangkan sistem logistik nasional termasuk penentuan jenis dan letak geografis dari jaringan infrastruktur pendukung kegiatan logistik, misalnya
pelabuhan,
jalan
raya,
dan
lain-lain,
kebijakan
ini
harus
dioperasionalkan lagi dengan menentukan volume dan arus barang yang terkait dengan produk-produk utama dan potensial tersebut karena unsur penentu suatu rancangan rantai suplai dan jaringan logistik adalah “volume” atau berat dari komoditas yang “dibawa”-nya. Untuk itu, adalah suatu tantangan bagi pemerintah untuk menentukan volume dari komoditas penentu ini sehingga sistem logistik nasional dapat dikembangkan sesuai dengan kebutuhan yang benar. Komoditas penentu (key commodities) dari seluruh kegiatan logistik di Indonesia utamanya ditentukan berdasarkan volume atau berat dari komoditas tersebut, bukan nilai/harganya (Tamboen, Dewandhono et al., 2008). Komoditas atau industri penentu tersebut merupakan indikator kunci dalam menilai kinerja sektor logistik (WorldBank, 2012).
31
Dalam menyusun kebijakan logistik nasional dibedakan 2 (dua) kepentingan logistik. Pertama adalah strategi logisitik untuk komoditi ekspor dan kedua, strategi logistik untuk komoditas domestik. Untuk komoditas ekspor, sesuai acuan yang dipakai oleh Departemen Perdagangan, yaitu “10 produk Utama dan “10 Produk Potensial”. Dari sisi logistik khususnya terkait dengan metoda pengangkutan, produk-produk tersebut dapat di kelompokkan menjadi: Bahan Baku BBM dan Gas, Minyak Kelapa Sawit (CPO), Batu Bara, Hasil Industri Dalam Kontainer, Komoditas Dalam Kontainer, dan Hasil Laut. Minyak Kelapa Sawit dalam bentuknya yang cair akan melibatkan tangkitangki penimbunan dan alat angkut yang tidak dapat dicampur untuk penggunaan cairan lain (Pahan, 2010). Mengingat luasnya lahan Kelapa Sawit dan pusat-pusat proses pengolahan minyak Kelapa Sawit tersebar dibeberapa tempat yang berjauhan, maka solusi logistiknya akan mencakup pengangkutan intermodal (menggunakan beberapa modal transportasi), dengan melibatkan pipanisasi, truk pengangkut (truk tangki), kemudian kapal tangki pengangkut atau containerized tanks dengan kapal container biasa. 2.4 2.4.1
Analisis Spasial dalam Pengembangan Industri Konsep Spasial
Proses perencanaan pengembangan industri mau tidak mau harus berurusan dengan bagian-bagian perencanaan yang memiliki sifat “keruangan” (spasial). Industri atau sekumpulan industri akan berada pada sebuah ruang di permukaan Bumi. Oleh karenanya dalam analisis perencanaan pengembangan industri, analisis yang menyangkut objek-objek dan sistem keruangan atau analisis spasial menjadi sangat penting. Industri harus ditempatkan pada ruang yang optimal sesuai dengan daya dukung lahan yang ditempati dan mempertimbangkan aspek efisiensi dan efektivitas berdasarkan analisis teknis, ekonomis dan sosial wilayah. Menurut Rustiadi, Saefulhakim et al. (2011) Istilah “ruang” lebih dilihat sebagai tempat kehidupan, dengan demikian pengertian ruang merupakan biosphere yang terdiri atas sebagian dari geosphere (permukaan kulit bumi hingga kedalaman kira-kira 3 meter dalam tanah dan 200 meter di bawah permukaan laut) dan sebagian dari atmosphere (hingga kira-kira 30 m diatas permukaan tanah)
32
(Rustiadi, Saefulhakim et al., 2011). Konsep ruang kehidupan (biosphere) ini belakangan diubah (disesuaikan) batasnya menjadi ruang yang didasarkan pada kemampuan teknologi manusia dalam mengakses dan memanfaatkan sumber daya yang ada di alam, sehingga menjangkau ruang yang jauh melebihi batasan-batasan sebelumnya. Dari sudut pandang geografi, spasial atau ruang merupakan segala hal yang menyangkut lokasi atau tempat. Definisi suatu “tempat” atau lokasi secara geografi sangat jelas, tegas dan terukur karena setiap lokasi di atas permukaan Bumi dapat diukur secara kuantitatif melalui sistem koordinat geografis (Church, 2002). Ruang lingkup kajian dari ilmu geografi lebih banyak menekankan pada bagaimana mendeskripsikan fenomena spasial, oleh karena itu ilustrasi-ilustrasi spasial dengan peta yang memiliki informasi spasial yang akurat di dalamnya menjadi sangat penting (Longley, Goodchild et al., 2010). Sementara dari perspektif ilmu sosial-ekonomi, aspek spasial hanya memiliki makna jika ada kejelasan masalah didalamnya. Segala aspek spasial yang dijelaskan dalam ilmu geografi hanya akan memiliki arti spasial dalam kacamata ilmu sosial-ekonomi jika ada masalah dan ada pemahaman sosial-ekonomi didalamnya (Rustiadi, Saefulhakim et al., 2011). Diperkirakan bahwa kurang lebih 80% dari data yang digunakan oleh para manajer dan pengambil keputusan terkait dengan elemen geografis (Worrall, 1991), demikian juga dapat dirasakan bahwa dimensi spasial mewarnai hampir semua aspek kehidupan manusia di Dunia. Hukum Geografi Pertama dari “Tobler” mengatakan bahwa “setiap hal memiliki keterkaitan dengan hal lainnya, namun yang lebih berdekatan memiliki keterkaitan lebih dari yang lainnya” (Tobler, 1970). Lebih lanjut Rajabidfard, Abbas et al. (2000) menekankan kembali pentingnya peranan posisi lokasi geografis sebagaimana yang dinyatakan oleh hukum geografi pertama dari Tobler yaitu, (a) pengetahuan dan pemahaman yang baik mengenai lokasi dari suatu aktifitas, akan memungkinkan untuk mengidentifikasi hubungannya dengan aktifitas yang lain atau elemen yang lain dalam daerah yang sama atau lokasi yang berdekatan; dan (2) Keberadaan sesuatu dalam ruang (lokasi) memungkinkan diperhitungkannya jarak, pembuatan peta, dan pengambilan keputusan spasial yang bersifat kompleks. Penggunaan analisis
33
numerik dan statistik dalam memahami pola spasial dari fenomena alam dan buatan manusia untuk tujuan tertentu atau untuk pengambilan keputusan tertentu adalah merupakan domain dari analisis spasial (Goodchild, 1987). 2.4.2
Data dan Sistem Informasi Geografis
2.4.2.1 Data Geografis Data dan Sistem informasi yang berbasiskan keruangan pada saat ini merupakan salah satu elemen yang penting, karena berfungsi sebagai pondasi dalam melaksanakan dan mendukung berbagai macam kegunaan. Sebagai contoh, dalam bidang lingkungan hidup, perencanaan pembangunan, tata ruang, manajemen logistik dan transportasi, pengairan, sumber daya mineral, sosial dan ekonomi, maupun untuk pengembangan industri. Sebagai objek analisis, data dan informasi spasial memiliki karakteristik tertentu dan memerlukan pendekatan khusus dalam analisisnya dibandingkan dengan data dan informasi non-spasial (Rustiadi, Saefulhakim et al., 2011). Data geografis merupakan salah satu bentuk dari data spasial (Aronoff, 1989). Data spasial yang merujuk pada lokasi di atas permukaan bumi dikenal sebagai data geografis atau data georeferensi. Terminologi data spasial dan data geografis seringkali dipertukarkan. Data yang melekat dengan posisi di permukaan bumi (data spasial atau geo-refferenced data) memiliki karakteristik khusus karena sifat alamiahnya yang memiliki korelasi spasial (spatial intercorrelation). Objek-objek atau kejadian-kejadian yang terdistribusi di dalam ruang cenderung tidak saling bebas, namun saat diterjemahkan dalam analisis statistika cenderung diasumsikan bersifat independen (saling bebas) untuk tujuan penyederhanaan. Data geografis dapat disusun dalam bentuk dua tabel, yaitu tabel matriks data struktural dan matriks data interaksi [Berry (1964) dan Wilson (1974) dalam Malczewski (1999)]. Kedua bentuk matriks tersebut juga dirujuk sebagai matriks data geografis dan matriks data perilaku spasial secara berturut-turut. Tabel 2-4 menampilkan matriks data struktural. Baris dari matriks memperlihatkan entitas geografis atau unit observasi dimana data diperlukan. Tabel 2-5 memperlihatkan matriks interaksi. Baris dan kolom sama-sama merepresentasikan entitas geografis. Xmk dalam hal ini merepresentasikan hubungan atau keterkaitan entitas
34
m dan entitas k. Keterkaitan ini bisa diukur atau dinilai interaksinya antara 2 entitas yang dapat diekspresikan dalam bentuk jarak, waktu dan biaya. Tabel 2-4 Matriks Struktural
Attribut1
Attribut2
...
Entity1
...
Entity2
...
...
...
...
...
Attributn
...
...
Entitym Tabel 2-5 Matriks Interaksi
Entity1
Entity2
...
Entity1
...
Entity2
...
...
...
...
Entitym
...
Entityk
...
...
Matriks geografis adalah teknik yang paling fundamental dalam mengorganisasikan data yang digunakan dalam analisis keputusan spasial. Sebagai contoh adalah analisis pemilihan lokasi, kesesuaian lahan, dan penggunaan lahan dapat diorganisasikan dalam sebuah matrik, dimana baris merepresentasikan alternatif keputusan (misal tempat, bidang tanah) dan kolom merupakan kriteria evaluasi atau atribut-atribut sebagai dasar untuk mengevaluasi alternatif. Serupa dengan matriks geografis, matrik interaksi menyediakan dasar untuk mengorganisasikan data untuk permasalahan lokasi dan alokasi, permasalahan jalur terpendek, permasalahan rute, permasalahan transportasi, analisa alokasi sumber daya dan lain sebagainya. Paling tidak ada 2 unsur dalam data spasial (Maguire, Goodchild et al., 2005), antara lain: (1) Data yang mendeskripsikan secara spesifik lokasi objek dalam ruang beserta topologinya, disebut sebagai data posisi dan topologis (positional and topological data), dan (2) Data-data yang mendeskripsikan
35
atribut-atribut non spasial dari objek yang dimaksudkan, selanjutnya disebut sebagai data atribut atau data tematik. Data posisional atau data referensi geografis dapat diekspresikan dalam berbagai bentuk, elemen-elemen yang paling primitif dari data spasial biasanya secara geometris berupa objek-objek titik, garis, dan area (Goodchild, 1987). 2.4.2.2 Pengukuran Secara teknis, pengukuran yang dimaksudkan disini adalah proses untuk menentukan simbol-simbol pada atribut-atribut dari objek-objek maupun kejadian. Simbol-simbol tersebut merupakan angka atau memiliki implikasi kuantitatif. Pemodelan dalam analisis spasial tidak selalu merupakan model kuantitatif. Model kuantitatif akan membutuhkan data kuantitatif, sementara model kualitatif akan menggunakan data kualitatif. Stevens (1964) dalam Malczewski (1999) mengklasifikan pengukuran ini menjadi bebrapa skala kualitatif maupun kuantitatif, antara lain: (a) Skala kualitatif (non metrik), yang terbagi atas skala ordinal dan skala nominal; dan (b) Skala kuantitatif, yang terbagi atas skala interval dan skala rasio. 2.4.2.3 Informasi Geografis Agar data spasial memiliki manfaat, data tersebut harus ditransformasikan ke dalam bentuk informasi. Ketika data telah dapat diorganisasikan dengan baik, dipresentasikan, dianalisa dan diinterpretasikan dan dipertimbangkan dalam pengambilan keputusan, maka data tersebut telah menjadi sebuah informasi. Dua contoh
berikut
Gambar
2-10
dan
Gambar
2-11
(Malczewski,
1999)
menggambarkan informasi yang terkait dengan entitas geograpfis dan interaksi antar entitas secara berturut-turut.
36
SAMPLE SITES
PENGUKURAN (%)
Gambar 2-10 Konversi Data Geografis kedalam Informasi Geografis Asal (i)
1 1 1 1 1 1
Tujuan (l) Populasi Populasi Jarak i ke j pada i pada j (dil) (Pi) (Pl) 2 31,000 34,000 20 3 31,000 57,500 122 4 31,000 33,500 25 5 31,000 27,000 30 6 31,000 31,000 47 7 31,000 102,000 83
Jumlah Interaksi (Iil) 589,204 10,843 332,320 69,794 63,457 50,381
700,000 600,000
Interaksi
500,000 400,000
300,000 200,000 100,000 0
20
40
60
80
100
120
140
Jarak
Gambar 2-11 Contoh Data dan Informasi untuk Jumlah Interaksi Antar Entitas
2.4.2.4 Informasi dan Pengambilan Keputusan Spasial Proses mengkonversi data menjadi informasi akan menambahkan nilai ekstra terhadap data aslinya (Cassettari, 1993). Pada proses pengambilan keputusan, data asli akan diolah sedemikian rupa dan diinterpretasikan serta dianalisa untuk mengmbil keputusan. Situasi pengambilan keputusan akan menentukan kebutuhan dan karakteritik informasi yang dibutuhkan. Informasi yang dibutuhkan dapat berupa “hard information” maupun “soft information” atau seringkali dirujuk sebagai informasi obyektif dan informasi subyektif secara berturut-turut
37
(Malczewski, 1999). Informasi obyektif (hard information) ini dapat berupa fakta, estimasi kuantitatif, data pengindeeraan jarak jauh (remote sensing), survey meteorologi. Sementara informasi subyektif (soft information) merepresentasikan opini dari pengambil keputusan atas dasar intuisi, survey ad hoc, kuisioner, komentar-komentar, dan sumber-sumber yang serupa. Tipe informasi ini digunakan oleh pengambil keputusan karena pertimbangan-pertimbangan nilai sosial dan politik juga memasuki perhitungan dari pengambil keputusan (Eriyatno, 2012). Inti dari proses pengambilan keputusan yang terkait dengan permasalahan spasial dalam hal ini adalah menentukan tipe informasi yang mana yang dibutuhkan dalam pengambilan keputusan dan mencari kombinasi yang tepat dari sekumpulan informasi hard dan soft yang digunakan dalam proses pengambilan keputusan (Boroushaki dan Malczewski, 2008). Adalah penting bahwa data dan informasi spasial baik yang bersifat soft maupun hard mungkin memiliki ketidakpastian. Kenyataannya memang pengambilan keputusan spasial dikelilingi oleh ketidakpastian. Keberadaan informasi akan mengurangi ketidakpastian, oleh karena itu informasi menjadi bernilai (Malczewski, 1999). Selanjutnya keputusan-keputusan yang bersifat tidak pasti ini dapat dikelompokkan menjadi 2 atas dasar informasi yang digunakan yaitu, keputusan yang melibatkan informasi stokastik dan keputusan yang melibatkan informasi yang imprecise. Dengan demikian ada 3 (tiga) katagori besar dalam permasalahan keputusan spasial, yaitu: deterministik, stokastik dan fuzzy (Leung, 1988; Munda, 1995). 2.4.3
Teori Lokasi dan Analisa Spasial
Teori lokasi merupakan teori dasar yang sangat penting dalam analisa spasial dimana tata ruang dari lokasi kegiatan ekonomi merupakan unsur utama. Teori lokasi memberikan kerangka analisa yang baik dan sistematis mengenai pemilihan lokasi kegiatan ekonomi dan sosial, serta analisa interaksi antar wilayah (Sjafrizal, 2008). Analisis-analisis yang dikembangkan oleh Von Thunen, Weber, Losch, dan Christaller di abad ke-19 dan awal abad ke-20 pada dasarnya berupaya mencari jawaban tentang “dimana” dan “mengapa” aktivitas ekonomi memilih lokasi (Rustiadi, Saefulhakim et al., 2011). Teori lokasi itu menjadi penting dalam
38
permasalahan bisnis dan industri karena pemilihan lokasi yang baik akan memberikan penghematan yang besar pada biaya transportasi sehingga mendorong terjadinya efisiensi baik dalam produksi maupun pemasaran (Church dan Murray, 2008). Sedangkan interaksi antar wilayah akan dapat mempengaruhi perkembangan bisnis yang pada gilirannya dapat pula mendorong pertumbuhan ekonomi wilayah (Sjafrizal, 2008). Hingga tahun 1950-an, teori lokasi lebih banyak didominasi oleh pendekatan-pendekatan lokasi geografis dan oleh karya-karya teori lokasi klasik antara lain dari: von Thunen, Weber, Palander, Hotelling, Predohl, Losch, dan lain-lain (Murray, 2009). Sejak tahun 1950-an teori lokasi berkembang dan diperkaya oleh analisis-analisis kuantitatif khususnya ekonometrika (Aguilar, 2009; LeSage dan Pace, 2009), model-model optimasi, dan model dinamis (Owen dan Daskin, 1998; ReVelle dan Eiselt, 2005). Pencetus teori lokasi pada umumnya berasal dari German, dimulai dari Von Thunen (1851) yang sering disebut sebagai Bapak Transportasi yang membahas tentang analisa lokasi kegiatan pertanian berdasarkan fakta-fakta yang terdapat di Eropa (Fujita, 2012). Teori ini dikembangkan lebih lanjut oleh para pakar-pakar di beberapa bagian dunia, salah satunya adalah William Alonso (Tabuchi, 1984) sebagai landasan teori penggunaan lahan (land-use) di daerah perkotaan. Kemudian, pada saat revolusi industri di Jerman mulai berkembang, muncul Alfred Weber (1929) yang menulis buku tentang lokasi industri dengan mengambil contoh pada kasus pemilihan lokasi pabrik besi baja untuk memenuhi permintaan industri kereta api (Chapman, 2009). Teori ini lebih lanjut dikembangkan oleh Edgar Hoover (1948) dan Leon Moses (1958). August Losch (1954) melakukan analisa lokasi perusahaan berdasarkan konsentrasi permintaan dan persaingan antar wilayah (spatial competition). Teori ini selanjutnya dikembangkan oleh Greenhut dan Ohta (Greenhut, Mai et al., 1986) ke dalam kerangka analisa yang lebih luas tentang teori harga spasial dan areal pasar. Dengan berkembangnya teori lokasi, aspek tata ruang dan lokasi kegiatan ekonomi dapat dimasukkan ke dalam analisa ekonomi secara lebih kongkrit. Hal ini
telah
mendorong
banyak
ahli
pada
tahun
limapuluhan
untuk
39
mengkombinasikan Teori Lokasi dengan Teori Ekonomi, baik Mikro maupun Makro. Perkembangan ini selanjutnya mendorong timbulnya analisa ekonomi spasial yang kemudian menjadi dasar utama bagi munculnya Ilmu Ekonomi Regional yang menekankan analisanya pada pengaruh aspek lokasi dan ruang terhadap pengambilan keputusan sosial, ekonomi dan bisnis. Upaya ini dilakukan dalam rangka mewujudkan analisa ekonomi yang lebih kongkret dan realistis sesuai kondisi geografi pada wilayah yang bersangkutan (Sjafrizal, 2008). 2.4.3.1 Faktor Penentu Pemilihan Lokasi Kegiatan Ekonomi/Industri Formulasi teori lokasi dan analisa spasial dilakukan dengan memperhatikan faktor-faktor utama yang menentukan pemilihan lokasi kegiatan ekonomi, baik pertanian, industri dan jasa. Disamping itu, pada umumnya faktor yang dijadikan dasar perumusan teori adalah yang dapat diukur agar menjadi lebih konkret dan operasional. Namun demikian, tidak dapat disangkal bahwa dalam kenyataannya pemilihan lokasi tersebut tidak hanya ditentukan oleh faktor ekonomi saja, tetapi juga oleh faktor budaya maupun kebijakan Pemerintah. Proses produksi yang berbeda membutuhkan kombinasi input yang berbeda juga (Chapman, 2009). Pabrik besi dan baja, misalnya, adalah pengguna utama energi, sedangkan tenaga kerja jauh lebih penting dalam struktur biaya pabrik Garmen sehingga kriteria dan penilaian untuk industri yang berbeda juga memiliki perbedaaan. Menurut Chapman (2009) faktor-faktor yang mempengaruhi pemilihan lokasi dibagi menjadi 3 kelompok, yaitu kelompok pendapatan, kelompok biaya dan irisan dari kelompok pendapatan dan biaya yang berarti faktor tersebut dapat memiliki baik implikasi pendapatan maupun biaya. Faktor-faktor yang termasuk dalam kelompok biaya (cost) adalah bahan baku, energi, lahan/tapak, tenaga kerja, dan kapital. Faktor-faktor yang termasuk dalam kelompok pendapatan adalah pasar dan kompetisi. Sementara yang dapat dikatagorikan sebagai faktor dalam kelompok biaya maupun pendapatan adalah ongkos angkut, infrastruktur, aglomerasi dan kebijakan publik. Sjafrizal (2008) mengidentifikasi secara umum terdapat 6 (enam) faktor ekonomi utama yang mempengaruhi pemilihan lokasi kegiatan ekonomi. Faktorfaktor tersebut antara lain ongkos angkut, perbedaan upah antar wilayah,
40
keuntungan aglomerasi, konsentrasi permintaan, kompetisi antar wilayah, serta harga dan sewa tanah. Ongkos angkut atau biaya transportasi merupakan faktor atau variabel utama yang sangat penting dalam pemilihan lokasi dari suatu kegiatan ekonomi. Biaya transportasi sendiri memiliki kontribusi terhadap total biaya produk yang cukup besar. Hampir 30 persen dari total harga pokok produk agroindustri merupakan biaya distribusi dan transportasi (Beenhakker, 2010). Hal ini terutama sangat dirasakan pada kegiatan agroindustri maupun pertambangan yang umumnya baik bahan baku maupun hasil produksinya cukup berat sehingga pengangkutannya memerlukan biaya yang cukup besar. Sebagaimana yang diidentifikasi oleh Chapman (2009), Resmini (2003), Singhal dan Kapur (2002), Karaev, Koh et al. (2007), Dhingra, Singh et al. (2009), Schiele (2008) maupun Sjafrizal (2008), faktor penting lainnya yang mempengaruhi pemilihan lokasi kegiatan ekonomi adalah besar kecilnya keuntungan Aglomerasi (Agglomeration Economics) yang dapat diperoleh pada lokasi tertentu. Keuntungan Aglomerasi diperoleh apabila terdapat kegiatan ekonomi yang saling terkait satu sama lainnya yang terkonsentrasi pada suatu tempat tertentu. Keterkaitan ini dapat berbentuk kaitan karena bahan baku (backward linkages) dan kaitan dengan pasar (forward lingkages). Bila keuntungan tersebut cukup besar, maka perusahaan akan cenderung memilih lokasi kegiatan ekonomi terkonsentrasi dengan kegiatan lainnya yang saling terkait. Pemilihan lokasi akan cenderung tersebar bila keuntungan aglomerasi tersebut nilainya relatif kecil (Head, Ries et al., 1994). Menurut Sjafrizal (2008), keuntungan aglomerasi dapat muncul dalam 3 (tiga) bentuk. Pertama adalah keuntungaan skala ekonomi (economics of scale) yang terjadi karena baik bahan baku maupun pasar sebagian telah tersedia pada perusahaan terkait yang ada pada loksasi tersebut. Biasanya keuntungan diukur dalam bentuk penurunan biaya produksi rata-rata bila bila berlokasi pada suatu konsentrasi
industri.
Kedua,
adalah
keuntungan
lokalisasi
(localization
economies) yang diperoleh dalam bentuk penurunan (penghematan) ongkos angkut baik pada bahan baku maupun hasil produksi bila memilih lokasi pada
41
konsentrasi tertentu. Ketiga, adalah keuntungan karena penggunaan fasilitas secara bersama (urbanization economies) seperti listrik, gudang, armada angkutan, air dan lainnya. Biasanya keuntungan ini diukur dalam bentuk penurunan biaya yang dikeluarkan untuk penggunaan fasilitas itu secara bersama. 2.4.3.2 Teori Lokasi Von Thunen Jika ekonomi modern dimulai oleh Adam Smith, ekonomi lokasi modern dimulai oleh Von Thünen (1826). Dia adalah orang pertama yang mengembangkan model analitis dasar yang mengkaitkan antara pasar, produksi, dan jarak. Untuk tujuan ini ia mengkaji komoditas pertanian (Rodrigue, 2011). Kegiatan pertanian yang paling produktif ternyata berada paling dekat dengan pasar dan kegiatan tidak cukup produktif berjarak lebih jauh. Dalam modelnya, Von Thunen membuat asumsi sebagai berikut (Peet, 1970): (a) Wilayah analisis bersifat terisolir (isolated state) sehingga tidak terdapat pengaruh pasar dari kota/daerah lain; (b) Tipe pemukiman padat di pusat wilayah (pusat pasar) dan makin kurang padat apabila menjauh dari pusat wilayah; (c) Seluruh wilayah model memiliki iklim, tanah dan topografi yang sama; (d) Fasilitas pengangkutan sesuai dengan jamannya dan seragam. Ongkos ditentukan oleh berat barang yang dibawa; (e) Kecuali perbedaan jarak ke pusat pasar, semua faktor alamiah yang mempengaruhi penggunaan lahan adalah seragam dan konstan. Berdasarkan
asumsi
diatas,
selanjutnya
Von
Thunen
mencoba
menggambarkan keterkaitan antara jarak ke pusat pasar (wilayah) dengan sewa
Sewa tanah (C)
tanah (Jäger, 2009) seperti pada Gambar 2-12.
Biaya sewa dari hasil negoisasi
0
Jarak dari pasar (D)
Gambar 2-12 Kurva Perbedaan Sewa Tanah sesuai dengan Perbedaan Jarak ke Pasar
42
Berdasarkan teori tersebut, diyakini bahwa semakin menguntungkan sebuah kegiatan, maka kegiatan tersebut akan semakin mendekati pusat pasar (wilayah) sebagaimana yang digambarkan dalam diagram yang disebut diagram cincin Von Thunen (Peet, 1970) pada Gambar 2-13.
6
5
4
3
2
1
KETERANGAN P = Pasar Cincin 1 = Pusat industri Cincin 2 = Pertanian intensif Cincin 3 = Wilayah hutan Cincin 4 = Pertanian ekstensif Cincin 5 = Peternakan Cincin 6 = Pembuangan sampah
P
Gambar 2-13 Diagram Cincin Von Thunen
Penggunaan lahan pada saat ini mungkin tidak sepenuhnya mengikuti atau berkelompok persis sama dengan cincin yang digambarkan oleh Von Thunen (Shieh, 1992). Namun demikian, konsep Von Thunen bahwa sewa tanah sangat mempengaruhi jenis kegiatan yang mengambil tempat pada lokasi tertentu masih berlaku dan hal ini mendorong terjadinya konsentrasi kegiatan tertentu pada lokasi tertentu (Fujita, 2012). 2.4.3.3 Teori Lokasi Weber Alfred Weber adalah seorang ahli ekonomi Jerman yang pertama kali menganalisis lokasi yang terkait dengan industri (Gorter dan Nijkamp, 2001). Kalau Von Thunen memilih objek pada pertanian, Weber mengkaji industri Baja pada saat dimulainya revolusi industri di Jerman. Weber mendasarkan teorinya bahwa pemilihan lokasi industri didasarkan atas prinsip minimisasi biaya (Louveaux, Thisse et al., 1982). Weber mengatakan bahwa lokasi setiap industri tergantung pada total biaya transportasi dan tenaga kerja dimana penjumlahan
43
keduanya harus minimum. Tempat dimana total biaya transportasi dan tenaga kerja yang minimum adalah identik dengan tingkat keuntungan yang maksimum.
Gambar 2-14 Segitiga Pembobotan Weber
Minimumkan Z = w1d1 + w2d2 + w3d3; dimana d1, d2, d3 = jarak ke input S1, input S2 dan Pasar M.
(
)
( (
) )
Jika, IM > 1, lokasi industri berorientasi pada bahan baku IM <1, lokasi industri berorientasi pada hasil akhir Dalam kasus industri primer, hubungan antara kehilangan bobot bahan baku yang tinggi dan lokasi industri sangat kuat terutama pada tahap awal proses manufakturing. Klaim Weber bahwa industri dengan IM>1 akan cenderung mendekati lokasi bahan baku adalah valid. Permasalahan dari IM adalah bahwa dengan standarisasi rasio input/output akan menghilangkan kekuatan yang mencirikan kuantitas bahan baku yang dipindahkan. Untuk itu disepakati untuk industri yang berindeks IM tinggi valid, tetapi untuk industri menengah dengan indeks relatif rendah, kurang valid.
44
CT
𝑗
Bahan baku (S)
di
𝑗
𝑗
Manufaktur (I)
dj
Pasar (M)
Gambar 2-15 Konsep Jarak dan Biaya Transportasi Material dan Output (Distribusi) dari Weber
∑
Dimana, CT = Cs =
∑
Total biaya transportasi (Rp.) Biaya transportasi material (dari lokasi material S ke lokasi pengolahan/industri) I (Rp.) biaya transportasi distribusi output ke pasar M (Rp.) jarak lokasi pasar ke-i dari lokasi pengolahan (km) jarak lokasi bahan baku ke-j ke lokasi pengolahan (km) Biaya transportasi bahan baku ke-j (Rp./km/unit) Biaya transportasi produk ke-i (Rp./km/unit bobot) Bobot per unit input ke-j Bobot/unit output ke-i
Cm dmi dsj Csi Cmi Wsj Wmi
= = = = = = =
Jika Jika Jika
Cs < Cm, lokasi industri sebaiknya mendekati pasar Cs > Cm, lokasi industri sebaiknya mendekatai ke lokasi bahan baku Cs = Cm, footloose industry.
2.4.3.4 Teori Lokasi Pendekatan Pasar August Losch (1944) memelopori Teori Lokasi Market Area yang mendasarkan pada analisa pemilihan lokasi optimal pada luas pasar yang dapat dikuasai dan kompetisi antar tempat (Krumme, 2002). Walaupun tidak menyatakan secara
45
tegas, Weber membuat asumsi bahwa semua barang yang diproduksi akan laku terjual. Sementara Losch berpendapat bahwa lokasi penjual sangat berpengaruh terhadap jumlah barang yang dapat dijual (Murray, 2009). Makin jauh dari pasar, konsumen semakin enggan untuk membeli karena biaya transportasi untuk mendatangi tempat penjualan (pasar) semakin mahal. Produsen harus memilih lokasi yang menghasilkan penjualan terbesar yang identik dengan penerimaan terbesar. Dalam model yang dibangun oleh Losch ini, reaksi dari pesaing terhadap pemilihan lokasi yang dilakukan dapat dilakukan melalui pemetaan spasial. Atas dasar pandangan ini, Losch cenderung menyarankan agar lokasi produksi berada di dekat pasar. 2.4.3.5 Teori Lokasi Memaksimumkan Laba Sudut pandang Teori Weber lebih banyak pada sisi produksi, sedangkan Losch melihat dari sisi permintaan. Kedua teori ini hanya melihat dari satu sisi. Sisi produksi hanya melihat lokasi yang memberikan ongkos terkecil, sedangkan sisi permintaan melihat pada penjualan maksimal yang bisa diperoleh. Kedua pandangan ini perlu digabung, yaitu dengan mencari lokasi yang memberikan keuntungan maksimal setelah memperhatikan lokasi yang menghasilkan ongkos terkecil dan lokasi yang menghasilkan penerimaan terbesar. Untuk itu, D.M. Smith mengintrodusir konsep biaya rata-rata dan pendapatan rata-rata yang terkait dengan lokasi (Krumme, 2012).
Rp.
Total Cost
Revenue
0
A
O
B
Lokasi
Gambar 2-16 Lokasi yang Memberikan Keuntungan Maksimal
46
McGrone (1969) dalam Tarigan (2010) berpendapat bahwa teori lokasi dengan tujuan memaksimumkan keuntungan sulit untuk diperoleh untuk kondisi usaha seperti saat ini dalam kondisi ketidakpastian yang tinggi dan yang dinamis. Ketidaksempurnaan pengetahuan terhadap situasi dan kondisi yang ada serta ketidakpastian biaya dan pendapatan di masa depan pada tiap lokasi, biaya relokasi yang tinggi, preferensi personal, dan pertimbangan lain membuat model maksimasi keuntungan lokasi sulit untuk dioperasionalkan. Selain itu, pengusaha mungkin saja menitikberatkan pada maksimasi keuntungan untuk pertumbuhan jangka panjang dibandingkan dengan
pertumbuhan jangka pendek dan ini
potensial akan menghasilkan keputusan yang berbeda jika dibandingkan dengan menggunakan asumsi-asumsi yang konstan. Pengusaha mungkin saja memilih lokasi yang diperkirakan akan menghasilkan keuntungan yang maksimal dalam jangka panjang walaupun dengan biaya rutin yang sedikit lebih mahal. Menurut Isard (1975) ada kesalahan asumsi konstan yang banyak digunakan dalam analisis lokasi pada teori-teori yang ada sebelumnya. Menurut Isard, masalah lokasi merupakan penyeimbangan antara biaya dengan pendapatan yang dihadapkan pada suatu situasi yang dinamis dan memiliki ketidakpastian yang berbeda-beda. Keuntungan relatif dari lokasi bisa saja berubah-rubah sepanjang waktu yang dipengaruhi oleh faktor dasar: (a) Biaya input; (b) Biaya transportasi; dan (c) Keuntungan aglomerasi. Diantara berbagai biaya tersebut, jarak dan aksesbilitas merupakan pilihan terpenting dalam konteks tata ruang. Walaupun mayoritas biaya dipengaruhi waktu dan tempat, namun biaya transportasi merupakan fungsi dari jarak. Isard menekankan pada faktor-faktor jarak, aksebilitas dan keuntungan aglomerasi sebagai hal utama dalam pengambilan keputusan lokasi. 2.4.4 Teknologi GIS dan GPS dan Pemanfaatannya dalam Pengembangan Industri Dalam beberapa tahun belakangan ini, para ilmuwan dan praktisi menunjukkan perhatian yang sangat besar terhadap penerapan teknologi sistem informasi geografis (SIG) dan analisis spasial sebagai pendukung keputusan di berbagai level yang terkait dengan bisnis dan industri. Hal ini tidak mengherankan karena kurang lebih 80% dari data bisnis memiliki elemen geografis (Sarkar, 2007). Oleh
47
karena itu, sistem informasi geografis dan analisis spasial atau spatial decision support system akan memainkan peranan yang semakin penting dalam dunia bisnis saat ini maupun di masa mendatang. Mennecke (1997) sejak dua puluh tahun yang lalu telah mengidentifikasi beberapa fungsi dan aplikasi potensial dari teknologi GIS dalam bidang bisnis. Sampai dengan saat ini, setelah dua puluh tahun berlalu, lebih dari 3000 artikel terpublikasi membahas tentang topik ini (Sciencedirect, 2012). Dari sisi teknologi, sejauh ini terdapat beberapa penyempurnaan pada teknologi pendukung GIS seperti teknologi input, pemrosessan dan visualisasinya sebagaimana yang dilakukan oleh Derekenaris (2001) dan lain-lainnya. 2.4.4.1 Definisi GIS Sebagaimana yang telah diuraikan oleh Maguire (1991) ada beragam definisi terkait dengan GIS. Aronoff (1989) mendefinisikan sistem informasi geografis sebagai sistem komputer yang memiliki kemampuan untuk menyimpan, memanipulasi, merakit, menganalisa dan menampilkan informasi referensi geografis. Informasi geografis itu didefinisikan lebih spesifik oleh Goodchild (2009) sebagai informasi yang terkait dengan lokasi diatas permukaaan bumi atau dekat dengan permukaan bumi yang merupakan properti dari lokasi tersebut. Li et al (2003) bahkan menambahkan bahwa GIS tidak hanya mengelola data spasial saja, namun juga data-data yang bersifat non spasial agar lebih bermanfaat. Disertasi ini sendiri lebih mengacu pada definisi yang telah diutarakan oleh Cowen (1988) yang menyatakan bahwa GIS adalah sebuah alat manajemen (management tool) dan pendukung keputusan (decision support) yang saat ini sering disebut sebagai spatial decision support system sebagaimana yang digunakan oleh Ruiz et al (2012) pada tahun ini. 2.4.4.2 Fungsi GIS Jantung dari GIS adalah kemampuan analitis dari sistem. Apa yang membedakan antara GIS dan sistem informasi lainnya adalah berkaitan dengan fungsi analisis spasial yang dimilikinya. Fungsi analisis menggunakan atribut spasial maupun non spasial dalam basis data yang ada untuk menjawab pertanyaan yang terkait dengan dunia nyata. Analisis geografis memfasilitasi studi
48
proses yang sebenarnya terjadi dengan mengembangkan dan menerapkan modelmodel. Tujuan dari analisis adalah mentransformasikan data menjadi informasi yang bermanfaat bagi pengambil keputusan pada semua level. Penggunaan penting dari analisis ini adalah memungkinkan untuk memprediksi kejadian di lokasi yang lainnya atau pada waktu yang lain. Ruang lingkup analisis yang dapat dilakukan oleh GIS dapat dikagorikan antara lain: (a) query basis data, (b) overlay, (c) proximity analysis, (d) network analysis, (e) digital terrain model, dan (f) analisis statistikal. Gambar 2-17 berikut ini memperlihatkan arsitektur multi layer dari GIS yang diadaptasi dari Li et al(2003). Masing-masing layer merepresentasikan tema tunggal dalam region tertentu seperti kebun, jalan, pabrik, pelabuhan, dan lain sebagainya. Secara khusus GIS mengadopsi sistem manajemen basis data dimana querry (command) dapat digunakan untuk pengambilan data-data yang tersimpan. Data disimpan dalam perangkat penyimpanan dan dikelola dengan menggunakan urutan numerik maupun alphabet. Sebagai contoh, sistem ini dapat membantu untuk menemukan pabrik minyak kelapa sawit yang memiliki jarak 20 km dari kebun kelapa sawit tertentu di muka bumi ini. Masing-masing layer yang berisi informasi tertentu dihubungkan dengan sistem koordinat agar supaya data dari layer yang berbeda-beda dapat dikombinasikan dalam bentuk informasi sesuai dengan query untuk mendapatkan solusi yang optimal.
Layer l (x,y)
Layer k (x,y) Layer j (x,y)
Layer i (x,y)
Gambar 2-17 Arsitektur Multi Layer dari Sistem Informasi Geografis
Arsitektur GIS dikembangkan atas dasar konsep jaringan kerja (network). Sebuah network didefiniskan sebagai sekumpulan titik (node) dan sekumpulan
49
anak panah dimana masing-masing cabang terkait pada sebuah node. Gambar 2-18 dan Gambar 2-19 memperlihatkan konsep jaringan yang diadaptasi dari Li et al (2003). Gambar 2-18 memperlihatkan sebuah network sederhana dari jarak perjalanan yang meliputi 6 node dan 9 anak panah. Jaringan pada network terhubung secara sekuensial dengan catatan tidak ada node yang berulang. Pada Gambar 2-19 jaringan digambarkan dalam bentuk struktur pohon yang terdiri dari 5 lintasan. GIS dalam hal ini akan membantu kita untuk menentukan lintasan terpendek (shortest path) dari A ke F dengan cara: (1) meletakkan node dalam peta, (2) mengukur jarak masing-masing anak panah, (3) mengukur jarak masing-masing lintasan dengan mengkombinasikan jarak dari anak
panah
yang
terhubung
pada
masing-masing
lintasan,
dan
(4)
membandingkan masing-masing lintasan untuk menemukan lintasan terpendek. B
A
D
F
E
C
Gambar 2-18 Node dan Arc dari Network
A AB BF
AD BE
EF
DE
AC DC
EF
CF CF
Gambar 2-19 Lintasan Diperlihatkan dalam Struktur Tree
GIS saat ini telah digunakan secara luas di dunia bisnis, pemerintahan, dan penelitian-penelitian dengan lingkup yang luas termasuk dalam hal in adalah
50
untuk keperluan perencanaan industri, analisis sumber daya lingkungan, perencanaan penggunaan lahan, analisis lokasi, penilaian pajak, perencanaan infrastruktur dan utilitas, analisis kawasan perumahan, analisa demografi dan pemasaran, studi habitat dan juga analisis di bidang arkeologi. Sistem ini menggunakan teknologi pemetaan digital untuk memberikan pilihan-pilihan pengambilan keputusan. Tidak seperti sistem informasi pada umumnya, GIS dapat menangani tidak hanya data-data spasial namun juga data-data yang bersifat non spasial melalui fasilitas analisis dan query data serta visualisasinya (Li, Kong et al., 2003). 2.4.4.3 Pengelolaan Data Spasial Data spasial direpresentasikan pada tingkat fisik dalam satu atau dua cara pada GIS, yaitu Raster dan Vektor. Data dalam format raster disimpan dalam matrik dua dimensi (grid cells). Titik (point) adalah cell tunggal, yang berarti bahwa semua area yang direpresentasikan oleh sel tersebut menjadi tertutup buat entitas yang lainnya. Semua objek spasial memiliki informasi lokasi dimana mereka ditempatkan dalam cell grid. Peta menunjukkan hanya satu nilai (penggunaan lahan, elevasi, kondisi politik, dll) untuk masing-masing sel. Ukuran dari grid bisa bervariasi, oleh karena itu resolusi spasial dari data yang ada ditentukan oleh ukuran dari grid. Semakin tinggi resolusinya, semakin detail kita bisa membedakan gambar-gambar yang ada. Area dibuat pada pixel-pixel yang berdekatan dengan nilai yang sama sementara garis (line) dibuat dengan menghubungkan antara satu pixel dengan pixel yang lainnya. Representasi dari data titik, garis dan area tersebut diperlihatkan pada Gambar 2-20. Contoh representasi dan keterkaitan spasial diperlihatkan pada Gambar 2-21 dan Gambar 2-22. STRUKTUR DATA SPASIAL Vektor Raster Titik Garis Poligon
Gambar 2-20 Representasi Vektor dan Raster untuk Titik, Garis dan Poligon
51
Jenis
Contoh Representasi
Titik
ID 1 2 3 4 5
4
3
1
Contoh Atribut
5 2
ID 1 2 3
3
Garis 1
Poligon
2
1
ID 1 2 3 4
3 2
4
Nama KKS001 KKS002 KKS003 KKS004 KKS005
Lokasi Kec. A Kec. A Kec. A Kec. B Kec. B
Status Jalan Jalan Nasional Jalan Provinsi Jalan Kabupaten
Guna Lahan Sawah Permukiman Kebun Hutan
Kondisi Baik Sedang Rusak
Luas (Ha) 20 30 45 40
Gambar 2-21 Contoh Representasi Titik, Garis dan Poligon dalam Bentuk Vektor dan Raster serta Atributnya KETERKAITAN SPASIAL
A
B
Konektivitas (Connectivity)
N
C
Kedekatan (Adjacency) A
Kandungan (Containment)
B
A B
R
C
Node N menghubungkan rantai A, B dan C
Poligon A berdekatan dengan poligon B
Poligon R berisi atau mengandung titik A, B, C dan D
D
Gambar 2-22 Keterkaitan Spasial
52
2.4.4.4 GIS dan Pendukung Keputusan Saat ini, teknologi GIS sebagai sebuah alat visualisasi interaktif dan pendukung keputusan telah memainkan peranan penting dalam manajemen rantai pasok industri (Kumar dan Agrawal, 2011). Dalam bidang agroindustri sendiri tercatat beberapa publikasi yang terkait dengan penenerapan teknologi GIS ini. Beberapa diantaranya adalah Sante Crecente et al (2004) dan Hadi (2011). Pustaka-pustaka dalam bidang sistem informasi sudah sangat banyak sekali membahas berbagai teknologi pendukung keputusan yang dapat diterapkan pada sistem informasi geograpfis ini, mulai dari Sprague (1980) sampai dengan Turban (2011). Sistem pendukung keputusan berbasis spasial adalah sistem pendukung keputusan dimana properti spasial dari data yang akan dianalisa memainkan peranan yang utama dalam pengambilan keputusan. Bisasanya properti ini merujuk pada okasi diatas permukaan bumi (Seffino, Medeiros et al., 1999). Konsep Spatial Decision Support System (SDSS) ini sendiri berkembang secara bersamaan dengan DSS. Dengan perkembangan teknologi yang ada saat ini, pengelolaan data tidak hanya bersandarkan pada peta manual berbasis kertas tapi juga sudah menggunakan teknologi-teknologi seperti penginderaan jarak jauh melalui satelit, GPS maupun Mobile Telephone (Derekenaris, Garofalakis et al., 2001; Abidin, 2007; Liu, Mason et al., 2012; Xu dan Coors, 2012). Sebagaimana yang telah diketahui bahwa SIG adalah sistem yang berkemampuan dalam menjawab baik pertanyaan spasial maupun non spasial beserta kombinasinya (queries) dalam rangka memberikan solusi-solusi atas permasalahan keruangan. Artinya sistem ini memang sengaja dirancang untuk mendukung berbagai analisis terhadap informasi geographis. Secara singkat, analisis spasial dalam hal merupakan teknik-teknik yang digunakan untuk meneliti
dan
mengeksplorasi
data
dari
perspektif
keruangan,
untuk
mengembangkan, menguji model-model, dan menyajikan datanya sedemikian rupa hingga meningkatkan pemahaman dan wawasan. Teknik-teknik ini berada di dalam sebuah payung umum yang bernama “analisis spasial”. Inilah yang membedakan SIG dengan tipe sistem informasi yang lain. Di dalam SIG segala
53
pendekatan perhitungan matematis yang terkait dengan data atau layer (tematik) keruangan dilakukan di dalam fungsi analisis yang satu ini. Analisis spasial adalah suatu teknik atau proses yang melibatkan sejumlah hitungan dan evaluasi logika (matematis) yang dilakukan dalam rangka mencari atau menemukan (potensi) hubungan (relationships) atau pola-pola yang (mungkin) terdapat diantara unsur-unsur geographis yang terkandung di dalam data-data digital dengan batas-batas wilayah studi tertentu. Dengan memanfaatkan model matematis, network yang digambarkan pada Gambar 2-23 dan Gambar 2-24 selanjutnya dapat menghasilkan beberapa keputusan sebagaimana yang digambarkan pada Gambar 2-23 dan Gambar 2-24.
Gambar 2-23 Analisis Spatial Shortest Facilities
2.4.5
Gambar 2-24 Analisis Lokasi-Alokasi Berbasis Spasial
Spatial Multi Criteria Decision Analysis
2.4.5.1 Elemen-elemen Analisis Keputusan Multikriteria Sejumlah pendekatan untuk men-strukturisasi permasalahan MCDM telah disarankan oleh beberapa literatur yang telah dipublikasikan (Keeney dan Raiffa (1976); Chankong dan Haimes (1983); Kleindorfer, Kunreuther et al. (1993); Saaty (1980); Saaty (1983)). Pada umumnya permasalahan MCDM meliputi enam komponen (Malczewski, 1999), yaitu: (a) Tujuan atau seperangkat tujuan yang harus diraih oleh pengambil keputusan; (b) Pengambil keputusan atau kelompok pengambil keputusan yang terlibat dalam proses pengambilan keputusan sekaligus preferensinya terhadap kriteria evaluasi; (c) Sekumpulan kriteria evaluasi (sasaran dan/atau atribut) sebagai dasar dimana pengambil keputusan mengevaluasi
54
alternatif-alternatif yang ada; (d) Sekumpulan alternatif keputusan yang mana sebagai keputusan atau variable aksi; (e) Sekumpulan variabel-variabel yang tidak dapat dikendalikan atau lingkungan keputusan; dan (f) Sekumpulan outcome atau konsekuensi yang berhubungan dengan masing-masing alternatif – pasangan atribut (Keeney dan Raiffa, 1976). Hubungan antara elemen-elemen tersebut dalam analisis pengambilan keputusan multi kriteria ditampilkan dalam bentuk gambar sebagaimana yang diperlihatkan pada Gambar 2-25.
Goal
Decision maker 2
Decision maker 1
Objective 1
Attribut1
Objective 2
Attribut2
Objective 3
...
Alternatif1
...
Alternatif2
...
... Alternatifm
...
...
...
Attributn
...
... Gambar 2-25 Kerangka Analisis Keputusan Multi Kriteria
2.4.5.2 Kerangka Analisa Keputusan Multikriteria Spasial Pengambilan keputusan multi kriteria/multi criteria decision making (MCDM) merupakan terminologi yang meliputi multiple attribute decision making (MADM) dan multiple objective decision making (MODM). MADM digunakan ketika harus memilih sejumlah tindakan-tindakan diskret yang harus dilakukan. Pada MODM diasumsikan bahwa solusi terbaik dapat ditemukan dimanapun dalam ruang alternatif yang layak dan oleh karena itu sering dilihat sebagai permasalahan keputusan kontinyu. MADM sering dirujuk sebagai analisis multi kriteria (MCA) atau evaluasi multi kriteria (MCE). Sebaliknya, MODM lebih
55
dekat ke pencarian Pareto optimal dengan menggunakan teknik programma matematis (Jankowski, 1995; Malczewski, 1999). Tujuan utama dari MCDM adalah membantu pengambil keputusan untuk memilih alternatif yang terbaik dari sejumlah alternatif yang layak dengan menggunakan kriteria keputusan majemuk dan prioritas dari masing-masing kriteria yang berbeda. Setiap teknik MCDM memiliki prosedur yang umum, yang sering disebut sebagai model umum MCDM (Jankowski, 1995). Prosedur tersebut memiliki beberapa langkah sebagaimana yang digambarkan pada Gambar 2-26. Adapun langkah-langkah dari model umum tersebut adalah: 1. Merumuskan alternatif; 2. Merumuskan sekumpulan kriteria-kriteria keputusan; 3. Mengidentifikasi dampak dari masing-masing alternatif terhadap masingmasing kriteria untuk mendapatkan nilai (score); 4. Membuat tabel keputusan yang berisi alternatif-alternatif diskrit, kriteria dan skor kriteria; 5. Menentukan preferensi dari pengambil keputusan dalam bentuk bobot kriteria. 6. Mengagregsikan data dari tabel keputusan mengurutkan alternatif-alternatif yang ada.
dalam
upaya
untuk
7. Melakukan analisa sensitivitas untuk melihat dampak dari ketidakpastian, ketidaktepatan dan ketidakakuratan terhadap hasil. 8. Membuat rekomendasi final dalam bentuk alternatif yang terbaik atau mengurutkan dari yang terbaik sampai yang terburuk. Semua model perhitungan atau teknik-teknik MCDM mendasarkan pada model umum yang digambarkan tersebut. Model perhitungan dipilih berdasarkan beberapa pertimbangan, antara lain jumlah level hirarki kriteria, keseragaman penilaian alternatif pada setiap kriteria, dan skala penilaian (Marimin dan Maghfiroh, 2010). Namun, metode-metode yang ada dapat dibagi menjadi dua kelompok besar, yaitu metode compensatory dan non compensatory. Metode compensatory selanjutnya dapat dibagi menjadi 2 teknik, yaitu additive dan ideal point. Teknik-teknik seperti penjumlahan tertimbang, analisa concordace dan Analytical Hierarchy Process (AHP), Technique for Order Preference by Similarity to Ideal Point (TOPSIS), Aspiration-level Interactive Method (AIM) dan Multi Dimensional Scaling (MDS), merupakan teknik yang dapat
56
dikelompokkan dalam metode compensatory. Sementara teknik-teknik noncompensatory antara lain teknik dominance, conjunctive dan lexicographic.
Alternatif
Kriteria
Skor Kriteria
Tabel Keputusan Preferensi Pengambil Keputusan Fungsi Agregasi
Analisa Sensitivitas
Rekomendasi Akhir
Sumber: Jankowski (1995) Gambar 2-26 Model Umum Spatial MCDM
Semua
metode
additive
mendasarkan
pada
skor
kriteria
yang
terstandarisasi yang mana kemudian dapat dilakukan pembandingan dengan lebih baik. Standarisasi memungkinkan pembandingan skor kriteria pada satu alternatif dengan rentang penilaian yang sama. Dengan demikian kinerja yang kurang baik pada satu kriteria pada alterntif tertentu mungkin dapat dikompensasikan dengan kinerja yang baik pada kriteria yang lainnya. Teknik penjumlahan terbobot, menjadi bentuk dasar dari metode additive yang dapat ditulis dalam bentuk matrik aljabar sebagai berikut:
[ ]
[
]
[
]
57
Dimana, S adalah total skor untuk alternatif ke-i Cji adalah skor kriteria untuk alternatif i dan kriteria j Wj adalah bobot dari kriteria Penjumlahan
terbobot
memungkinkan
untuk
mengevaluasi
dan
mengurutkan alternatif atas dasar preferensi kriteria dari pengambil keputusan. 2.4.5.3 Pengambilan Keputusan Multi Kriteria dan GIS Sistem Informasi Geografis (SIG/GIS) memiliki kemampuan untuk menangani permasalahan spasial dan sering digunakan untuk mendukung keputusan yang terkait dengan permasalahan spasial/keruangan. Memecahkan permasalahan multi kriteria spasial tanpa alat analitis dan visual akan sangat menyulitkan dalam komputasinya dan bahkan menjadi tidak mungkin (Malczewski, 1999). Teknik-teknik multi kriteria sebagai sebuah alat yang berdiri sendiri telah dikomputerisasi dan saat ini telah banyak dihasilkan perangkat lunak yang dapat digunakan khusus untuk keperluan ini. Namun, perangkat lunak-perangkat lunak yang tersedia tersebut tidak umum untuk digunakan memecahkan permasalahan spasial dalam bentuk peta. Menurut Jankowski (1995), ada dua strategi yang dapat ditempuh dalam menangani permasalahan MCDM dan GIS ini, yaitu strategi Loose dan Strategi Tight (Jankowski, 1995). Strategi Loose dilakukan dengan cara menyediakan mekanisme pertukaran file antara dua perangkat lunak tersebut. Tugas yang berbeda dilakukan oleh masing-masing perangkat lunak. GIS digunakan untuk melakukan analisis kesesuaian lahan, memilih sekumpulan kriteria dan melakukan penilaian untuk di ekspor ke tabel dalam program MCDM. Program MCDM selanjutnya digunakan untuk mengeksekusi kriteria evaluasi dan hasilnya ditransfer kembali ke GIS untuk ditampilkan. Sebaliknya strategi tight coupling direalisasikan oleh interface dan basis data yang umum dan terbuka untuk GIS dan MCDM. Dengan kata lain fungsi-fungsi multi kriteria dilekatkan pada perangkat lunak GIS. Keunggulan cara ini adalah bahwa semua fungsifungsi yang diperlukan ada dalam satu tempat dan kemungkinan kesalahankesalahan dalam pertukaran data dapat dihindari. Namun tidak semua perangkat lunak aplikasi GIS yang telah dikembangkan memiliki fasilitas tersebut.
58
Penggunaan GIS untuk melakukan evaluasi multi kriteria dapat dilakukan dalam dua tahap (1) Survey dan (2) Identifikasi lokasi lahan awal. Pada langkah pertama, area disaring untuk mendapatkan alternatif-alternatif yang layak dengan menggunakan kriteria keputusan deterministik. Seluruh lahan diseleksi secara simultan. Yang tidak memenuhi kendala (constraints) diidentifikasi dan dikeluarkan dari analisis. Tahap ini sering disebut sebagai tahap analisis kesesuaian yang secara tradisional dilakukan menggunakan overlay peta manual namun dalam hal ini menggunakan GIS sebagai alat bantu. Langkah kedua yang disebut sebagai identifikasi lokasi awal dilakukan dengan menggunakan teknik-teknik MCE. Pertama, seluruh faktor-faktor yang ada dielaborasi dan kemudian dilakukan pembobotan
menurut tingkat
kepentingannya. Tahap kedua memungkinkan untuk menangani permasalahan multi objective. Ovelay multi kriteria diusulkan oleh McHarg (1969) dalam Aminu (2007) yang menyarankan menyarankan untuk mengidentifikasi kriteria fisik, ekonomis dan lingkungan dalam rangka memastikan kelayakan sosial dan ekonomis dari proyek. Kompleksitas permasalahan keputusan akan menentukan apakah teknik overlay nilai biner atau jamak yang harus digunakan. Dalam analisis geograpis, sebagian besar operasi umum yang digunakan adalah AND dan OR (Boolean), yang mana akan berkoresponden dengan “intersection” dan “union”. Jika faktor-faktor keputusan memiliki perbedaan tingkat kepentingan, overlay terbobot seharusnya digunakan. Namun, prosedur agregasi skor yang spesifik diperlukan untuk menghasilkan keputusan yang bernilai (Store dan Kangas, 2000). Ilustrasi dari analisis keputusan kriteria majemuk spasial dalam perspektif input-output diperlihatkan pada Gambar 2-27.
59
INPUT (Data Geografis) OUTPUT (Keputusan) GIS / MCDM
Gambar 2-27 Perspektif Input-Output dalam Analisis Keputusan Kriteria Majemuk Spasial
2.4.5.3.1 Kriteria Evaluasi Kriteria
evaluasi
merupakan
terminologi
yang
digunakan
baik
untuk
permasalahan keputusan kriteria majemuk untuk multi tujuan maupun multi atribut (Malczewski, 1999). Atribut-atribut berisi ukuran-ukuran yang digunakan untuk menilai tingkat pemenuhan kriteria untuk masing-masing alternatif. Kriteria evaluasi dipresentasikan dalam GIS sebagai peta tematik atau layer-layer data. Atribut-atribut keputusan ini harus memenuhi beberapa persyaratan. Pertama, atribut-atribut tersebut harus terukur dan mudah untuk dimasukkan nilai-nilai numerik sehingga mudah untuk menentukan tinggat pencapaian tujuannya. Kedua, sebuah atribut seharusnya secara jelas mengindikasikan tingkat pemenuhan tujuan, yang tidak ambigu dan mudah dipahami oleh pengambil keputusan. Hal ini disebut comprehensiveness dari atribut. Ketiga, atribut seharusnya dapat dioperasionalkan. Jika atribut yang ada dipahami dengan baik oleh pengambil keputusan, mereka akan dapat menjelaskan dengan benar hubungan antara atribut dan tingkat pemenuhan tujuan yang dapat digunakan dalam proses pengambilan keputusan. Keempat, kumpulan atribut seharusnya lengkap, yang berarti bahwa semua aspek pengambilan keputusan diakomodasi. Kelima, atribut-atribut yang teridentifikasi sebaiknya seminimal mungkin dan tidak ada yang redundan. Yang terakhir, atribut-atribut yang ada sebaiknya dapat dipecah-pecah (decomposable). Biasanya kriteria evaluasi dapat dibuat dalam bentuk struktur hierarkies (Malczewski, 1999).
60
Memilih rangkaian kriteria evaluasi yang tepat dapat dilakukan melalui studi literatur, studi analitis atau survey opini. Sekumpulan tujuan dan atribut yang digunakan dalam untuk pengambilan keputusan tertentu dipengaruhi oleh ketersediaan data. Demikian juga pemilihan atribut juga dibatasi oleh waktu dan biaya (Malczewski, 1999). Rumusan Permasalahan
Kriteria Evaluasi
Kendala
Alternatif Peta Kriteria
Kendala/peta alternatif yang layak
Bobot Kriteria
Matriks keputusan (Decision matrix)
Decision rule Preferensi pengambil keputusan
Pengurutan alternatif
Analisa sensitivitas
Rekomendasi Final
Gambar 2-28 Analisis Spasial Multi Kriteria dalam GIS
2.4.5.3.2 Peta Kriteria Peta kriteria merupakan output dari tahap identifikasi kriteria evalusi. Peta ini dihasilkan setelah input data ke GIS (akuisisi, reformatting, georeferensi, compiling dan dokumentasi data-data yang relevan) disimpan dalam bentuk
61
tabular dan grafis, dimanipulasi dan dianalisa untuk mendapatkan informasi yang diinginkan. Dengan bantuan berbagai teknik di GIS peta dasar pada area studi dapat dibuat dan digunakan untuk memproduksi beberapa peta kriteria. Masingmasing kriteria dipresentasikan pada peta sebagai sebuah layer dalam GIS. Setiap peta merepresentasikan satu kriteria dan disebut sebagai layer tematik atau data layer.
Peta-peta
tersebut
merepresentasikan
seperti
apa
atribut-atribut
didistribusikan dalam ruang dan bagaimana entitas tersebut meraih tujuannya. Dengan kata lain, sebuah layer peta merepresentasikan sekumpulan alternatif lokasi untuk pengambilan keputusan. Masing-masing alternatif dibagi menjadi beberapa klas atau diberikan nilai untuk merepresentasikan tingkat preferensi dari alternatif berdasarkan kriteria yang diberikan. Atribut-atribut harus terukur dalam ukuran tertentu yang merefeksikan variabilitasnya. Skala diklasifikasikan sebagai skala kualatatif maupun skala kuantitatif. Sebagai contoh kondisi sosial dan politik sebuah wilayah dapat direpresentasikan dengan menggunakan skala kualitatif, namun untuk jumlah penduduk, jarak, kapasitas produksi menggunakan skala kuantitatif. 2.4.5.3.3 Standarisasi Kriteria Untuk memungkinkan pembandingan antara masing-masing alternatif, skala pengukuran kriteria yang berbeda-beda harus disamakan terlebih dahulu. Hal ini sangaat penting dalam evaluasi kriteria jamak. Peta kriteria harus distandarisasi terlebih dahulu (Malczewski, 1999). Menurut Malczewski (1999) prosedur linier dan non linier dapat digunakan untuk keperluan ini. Terkait dengan metode linier terdapat dua prosedur yang dapat dipertimbangkan penggunaannya, yaitu prosedur skor maksimum dan prosedur rentang nilai. Metode standarisasi yang lain seperti hubungan probabilistik dan fuzzy dijelaskan oleh Malczewski (1999). Prosedur maksimum skor adalah salah satu metode transformasi skala linier. Prosedur ini menggunakan formula yang sederhana yang membagi masingmasing skor (baris) dengan nilai maksimum dari kriteria yang bersangkutan (Malczewski, 1999):
62
Dimana
adalah skor yang telah distandarisasi untuk objek ke i (alternatif
yang layak/lokasi) dan atribut ke j,
adalah skor dari objek dan
adalah
skor maksimum dari atribut ke-j. Skore yang telah terstandarisasi nilainya berkisar antara 0 sampai 1. Kriteria benefit adalah kriteria yang seharusnya dimaksimumkan. Sebagai contoh, semakin tinggi skor yang diberikan semakin baik kinerjanya. Namun, jika kriteria yang ada harus diminimalkan, atau semakin kecil semakin baik, maka formula yang digunakan adalah sebagai berikut:
Kriteria seperti ini sering dirujuk sebagai kriteria cost. Kelebihan dari transformasi langsung ini adalah bahwa urutan besaran proporsional maupun relatif adalah sama. Kekurangan dari metode ini adalah jika skor lebih beasar dari 0, standarisasi skor minimal tidak akan sama dengan 0. Hal ini membuat interpretasi alternatif yang paling tidak atraktif menjadi sulit (Malczewski, 1999). Alternatif yang terbaik akan bernilai 1. Metode alternatif yang lain adalah prosedur rentang nilai yang dihitung dengan formula sebagai berikut:
Untuk kriteria benefit, dan
Untuk kriteria cost. Faktor xj min adalah skor minimum dari atribut ke-j, xj max adalah skor maksimum untuk atribut ke-j, dan
adalah rentang nilai dari
kriteria. Rentang nilai adalah dari 0 sampai dengan 1, skor terburuk yang telah distandarisasi adalah 0 dan yang terbaik adalah 1. Tidak seperti prosedur skor maksimum, prosedur rentang nilai tidak menjaga perubahan proporsional dalam hasil. Transformasi skala linier dapat digunakan salah satunya untuk menstandarisasi peta proximity (Malczewski, 1999). Prosedur standarisasi yang telah dirumuskan diatas dapat dengan mudah kemudian ditransformasikan untuk
63
keperluan standarisasi model data GIS berbasis raster seperti yang ditunjukkan pada Gambar 2-29. Peta kriteria
70 18 18 95 30 30 33 33 52
𝑗
Peta nilai minimum 𝑗
𝑗
( -)
𝑗
52 0 0 77 12 12 15 15 34
𝑗
18 18 18 18 18 18 18 18 18
(/) 𝑗
Peta nilai maksimum 𝑗
Peta kriteria yang telah distandarisasi
( -)
𝑗
/
𝑗
𝑗
0,675 0,000 0,000 1,000 0,156 0,156
𝑗
0,195 0,195 0,442
77 77 77 77 77 77 77 77 77
𝑗
95 95 95 95 95 95 95 95 95
Gambar 2-29 Prosedur Rentang Skor Nilai dalam GIS
2.4.5.3.4 Penentuan Bobot Bobot untuk kriteria biasanya ditentukan melalui proses konsultasi dengan pengambil keputusan (decision makers) yang kemudian akan menghasilkan nilai rasio yang dimasukkan kedalam masing-masing peta kriteria (criterion map). Bobot tersebut merefleksikan preferensi relatif dari satu kriteria dengan kriteria yang lain. Dalam hal ini bobot dapat diekspresikan dalam sebuah vektor kardinal atas preferensi kriteria ternormalisasi sebagai berikut: (
)
Normalisasi dimaksudkan untuk memperoleh total bobot sama dengan 1 atau 100, tergantung apakah akan dipresentasikan dalam prosentase atau rasio. Cara lain untuk mengekspresikan preferensi adalah mengkaitkan dengan skor kriteria. Dengan demikian akan dapat ditentukan batas nilai minimum maupun maksimumnya atau tingkat aspirasi yang diinginkan (Jankowski, 1995). Pendekatan yang kedua ini lebih cocok untuk diterapkan pada kendala-kendala lokasi (Aminu, 2007).
64
Penentuan bobot atau tingkat kepentingan masing-masing faktor biasanya dilakukan diluar perangkat lunak GIS meskipun ada beberapa perangkat lunak GIS yang telah memiliki fasilitas tersebut dalam salah satu modulnya (Jankowski, 1995). Ada beberapa teknik untuk menentukan bobot kriteria. Beberapa yang paling populer adalah: metode ranking, metode rating, dan metode perbandingan berpasangan. Karakteristik umum dari metode-metode tersebut adalah bahwa semuanya melibatkan pertimbangan subyektif dari pengambil keputusan terkait dengan kepentingan relatif dari faktor-faktor keputusan. Ide dasar dari metode rating adalah mengatur kriteria dalam urutan menurut kepentingan relatifnya. Kriteria diurutkan mulai dari yang paling penting sampai yang kurang penting. Setelah ranking disusun, beberapa prosedur untuk menghitung bobot numerik dapat digunakan. Salah satu metode yang paling sederhana adalah mengurutkan jumlahnya sebagaimana ditunjukkan dalam formula berikut ini: ( ∑ Dimana
) adalah bobot yang telah dinormalisasi untuk faktor ke-j, n adalah
jumlah faktor yang dipertimbangkan dan
adalah posisi urutan dari faktor.
Contoh dari perhitungan nilai ranking diperlihatkan pada Tabel 2-6. Tabel 2-6 Contoh Prosedur Straight Rank Weighting
Ranking
Bobot ∑
1 2 3 4 5 Jumlah
5 4 3 2 1 15
Bobot setelah dinormalisasi 0.333 0.267 0.200 0.133 0.067 1
Sumber: Rapaport dan Snickars (1998); Jankowski (1995) Metode rangking adalah metode pembobotan kriteria yang paling sederhana. Hal ini kemudian mendatangkan kritik dari banyak pakar keputusan karena ketiadaan dasar teori untuk mengintepretasikan tingkat kepentingan dari kriteria (Malczewski, 1999). Kelompok kedua metode pembobotan adalah metode
65
rating. Ada dua pendekatan yang umum digunakan: prosedur point allocation dan prosedur ratio estimation. Karakteristik umumnya adalah bahwa pengambil keputusan
memiliki
didistribusikan
total
diantara
poin,
kriteria
biasanya
100
keputusan
yang diinginkan
bergantung
dengan
untuk tingkat
kepentingannya. Faktor yang lebih penting akan mendapatkan skor yang lebih tinggi dan faktor yang tidak memiliki kepentingan terhadap keputusan akan diberikan nilai 0. Metode ini mirip dengan alokasi budget pada sebuah perusahaan. Pada pendekatan alokasi poin disini digunakan skala 0 sampai 100 atau 0 sampai 10. Poin-poin ini kemudian ditransformasikan kedalam bobot yang berjumlah 1. Prosedur estimasi rasio sebagimana yang ditunjukkan pada Tabel 2-7 merupakan modifikasi dari metode alokasi poin. Kriteria yang paling penting diberikan nilai 100 dan atribut-atribut yang lainnya diberikan nilai yang lebih kecil proporsional dengan tingkat kepentingannya. Rasio yang terkecil digunakan sebagai dasar untuk menghitung rasio. Setiap nilai kriteria dibagi oleh nilai yang terendah dan kemudian bobot di-normalisasi dengan membagi masing-masing bobot dengan total bobotnya. Mirip dengan metode rangking, metode rating tidak memiliki dasar teoritis dan formal karena makna dari bobot sulit untuk dijustifikasi (Malczewski, 1999). Tabel 2-7 Penilaian Bobot dengan Menggunakan Prosedur Estimasi Rasio
Ranking 1 2 3 4 5 Jumlah
Skala estimasi ratio 100 75 70 40 15 15
Bobot asli 6.667 5.000 4.667 2.667 1.000 20
Bobot setelah dinormalisasi 0.333 0.250 0.233 0.133 0.050 1.000
Metode berikutnya adalah Analytical Hierarchy Process (AHP) yang diusulkan oleh Saaty (1980) yang menggunakan metode perbandingan berpasangan untuk pembobotan kriteria. Metode ini memiliki tiga langkah penting. Pertama, dilakukan perbandingan berpasangan untuk kriteria dan hasilnya dimasukkan kedalam sebuah matrik perbandingan. Nilai sel matrik bernilai 1 sampai dengan 9 dan fraksi dari 1/9 sampai ½ yang merepresentasikan
66
tingkat kepentingan satu faktor dengan faktor yang lain secara berpasangan. Nilai dari matrik harus konsisten, yang mana berarti jika a dibandingkan dengan b mendapatkan skor 5 (kepentingan kuat), b dibandingkan dengan a seharusnya memiliki skor 1/5 (sedikit tidak penting). Kriteria yang dibandingkan dengan dirinya sendiri mendapatkan nilai 1 (sama penting). Langkah berikutnya adalah menghitung bobot kriteria. Pertama-tama nilai dari masing-masing kolom dijumlahkan dan setiap elemen dalam matrik dibagi dengan jumlah kolom dari masing-masing kolom. Matrik yang baru kemudian disebut sebagai matrik perbandingan berpasangan yang telah dinormalisasi. Yang terakhir, rata-rata elemen pada masing-masing baris matrik yang telah dinormalisasi dikalkulasi. Selanjutnya rasio konsistensi dihitung dalam upaya untuk memastikan apakah perbandingan kriteria yang dibuat oleh pengambil keputusan sudah konsisten atau belum. Bobot yang diperoleh berdasarkan metode ini diinterpretasikan sebagai rata-rata semua bobot yang mungkin. Metode perbandingan berpasangan tersebut diilustrasikan pada Tabel 2-8. Metode AHP ini lebih canggih dibandingkan dengan yang sebelumnya. Namun metode ini masih tetap mendatangkan kritik terkait dengan cara untuk memperoleh
rasio
tingkat
kepentingan.
Kuisioner
menanyakan
tentang
kepentingan relatif dari kriteria tanpa melihat skala pengukurannya. Kritik yang lain adalah terkait dengan semakin hanyak kriteria yang digunakan semakin sulit untuk memperoleh konsistensi yang yang memenuhi syarat. Namun kelebihannya adalah bahwa metode ini hanya membutuhkan 2 kriteria untuk dibandingkan pada saat yang sama (Malczewski, 1999). Pada
saat
memilih
metode
tertentu,
sebaiknya
dipertimbangkan
pemahaman pengambil keputusan terhadap permasalahan dan kemampuan dalam bidangnya. Akurasi yang diinginkan dan hasil hasil versus kesederhanaan metode adlah juga faktor yang patut untuk dipertimbangkan dalam pemilihan metode. Malczewski (1999) menyatakan bahwa metode perbandingan berpasangan adalah lebih tepat digunakan jika akurasi dan dasar teoritis menjadi titik perhatian. Metode rangking dan rating digunakan ketika kemudahan penggunaan, waktu dan biaya merupakan pertimbangan yang utama. Yang perlu diperhatikan juga adalah
67
semakin canggih sebuah metode yang digunakan, semakin kurang transparan proses yang dilakukan untuk publik (Malczewski, 1999). Tabel 2-8 Ilustrasi Metode Pembandingan Berpasangan
a b c Jumlah
Langkah I a b c 1 4 8 0.25 1 5 0.13 0.2 1 1.380 5.200 14.000
a 0.725 0.181 0.094 1.000
Langkah II b 0.769 0.192 0.038 1.000
c 0.571 0.357 0.071 1.000
Langkah III Bobot 0.688 0.244 0.068 1.000
Sumber: Saaty (1980) Teori keputusan yang lain yang mirip dengan AHP adalah Analytical Network Process (ANP). Thomas Saaty yang telah mengenalkan AHP mengembangkan kerangka yang lebih maju untuk menentukan prioritas yang dikenal sebagai Analytical Network Process (ANP). ANP memiliki perbedaan dengan AHP dalam hal proses perbandingan berpasangan yang dilakukan agar supaya model keputusan yang dibuat dapat dibangun sebagai jaringan kerja yang melibatkan decision objective, kriteria, pihak-pihak yang berkepentingan, alternatif, skenario dan faktor-faktor lingkungan yang lain yang mempengaruhi satu prioritas dengan prioritas yang lainnya. Konsep kunci dari ANP adalah bahwa pengaruh tidak selalu harus mengalir ke bawah sebagaimana yang dilakukan dalam AHP. Pengaruh dapat mengalir diantara faktor-faktor dalam jaringan yang menyebabkan hasil prioritas yang non linier dari pilihan alternatif. Sebagai contoh, ketika pengambil keputusan meningkatkan bobot kriteria, alternatif mulai mendapatkan prioritas yang lebih tinggi, namun apabila bobot kriteria tersebut semakin tinggi, efek umpan balik dari dari jaringan kenyataannya menyebabkan alternatif mulai mendapatkan prioritas yang semakin rendah. Kedua metode, baik AHP maupun ANP menggunakan skala prioritas untuk elemen-elemen maupun kelompok elemen dengan membuat perbandingan berpasangan dari elemen-elemen tersebut. Meskipun banyak permasalahan keputusan paling baik untuk dikaji dengan menggunakan ANP, namun tetap harus dibandingkan antara hasil yang diperoleh dengan menggunakan AHP atau
68
pendekatan keputusan yang lain dengan mempertimbangkan hasil, usaha yang dilakukan serta akurasi dan relevansi dari hasil. ANP sangat berguna dalam pemodelan prediktif dimana pengaruh sistem yang lebih luas dapat difaktorkan dalam keputusan. Aplikasi terbaik dari ANP adalah pada keputusan-keputusan dimana risiko dan ancaman merupakan faktor utama dalam proses pengambilan keputusan, dan keberhasilan organisasi sangat tergantung pada pemahaman yang menyeluruh tentang keseluruhan sistem dan bukan hanya tujuan dan sasaran bisnis semata (Aminu, 2007). Bentuk umum dari analytical network process (ANP) super matrix dapat dijelaskan pada Gambar 2-30.
Gambar 2-30 Struktur Umum Super Matrix
Dimana CN menunjukkan klaster ke-N, eNn menunjukkan elemen ke n dalam klaster ke-N, dan blok matriks Wij terdiri dari kumpulan vektor bobot prioritas (w) yang mempengaruhi elemen-elemen dalam klaster ke i . Jika klaster ke-i tidak memiliki pengaruh pada klaster ke-j, maka Wij = 0. Matrik yang diperoleh pada langkah ini disebut sebagai super matriks awal. 2.4.5.3.5 Decision Rules Langkah berikutnya adalah menyusun semua alternatif yang diperoleh dalam tabel keputusan menurut kinerjanya. Metode untuk mengagregasi skor alternatif disebut
69
sebagai decision rule. Tabel keputusan disusun dari kriteria evaluasi dan atributnya untuk setiap alternatif yang layak. Tabel keputusan dapat ditulis dalam sebuah matriks seperti berikut: [
]
Dimana, i = alternatif j = kriteria Matriks tersebut selanjutnya dikalikan dengan vektor bobot untuk mendapatkan nilai dari masing-masing alternatif. Cara paling mudah adalah dengan menggunakan metode simple additive weighting (SAW) dengan menjumlah hasil perkalian tersebut untuk setiap alternatif. SAW meranking alternatif dari yang terbesar sampai yang terkecil demikian juga sebaliknya dilakukan inverse additive weighting jika yang terbaik adalah yang memiliki nilai yang terkecil.
PETA SKOR KRITERIA
70 95 33
18 30 33
18 30 52
PETA KRITERIA TERBOBOT
PETA KRITERIA TERSTANDARISASI
0.675 1.000 0.195
0.000 0.156 0.195
0.000 0.156 0.442
0.75
0.506 0.750 0.146
0.000 0.117 0.146
PETA SKOR KESELURUHAN
0.000 0.117 0.331
0.506 0.750 0.376
25 25 2
25 2 2
4 4 3
0.000 0.000 0.920
0.000 0.920 0.920
0.840 0.840 0.840
0.25
0.000 0.000 0.230
0.000 0.230 0.230
PETA RANKING
0.000 0.347 0.376
0.210 0.327 0.541
0.210 0.210 0.210
Gambar 2-31 Metode Additive Weighting Sederhana pada Data Raster
7 8 5
1 4 5
2 3 6
70
2.4.6 Model Lintasan Terpendek (Shortest Path) Saat ini cukup banyak algoritma-algoritma yang dapat digunakan untuk menyelesaikan persoalan penentuan lintasan terpendek (shortest path problem) dari suatu graf. Solusi yang didapat dari penelusuran algoritma tersebut dapat diberi nama Pathing Algorithm. Ada dua algortima yang cukup terkenal yang bisa digunakaan untuk menyelesaikan persoalan lintasan terpendek, yaitu: Algoritma Dijkstra (Dijkstra, 1959) dan Algoritma Bellman-Ford (Bang-Jensen dan Gutin, 2000). Algoritma Dijkstra sebagai salah satu algoritma yang populer untuk menangani permasalahan lintasan terpendek (shortest path problem) dalam sebuah jaringan adalah sebuah algoritma yang ditemukan oleh seorang ilmuwan komputer
asal
Belanda
Edsger
Dijkstra
pada
tahun
1956.
Djikstra
mempublikasikan temuannya pada tahun 1959 dengan judul "A Note on Two Problems in Connexion with Graphs" (Dijkstra, 1959). Algoritma ini selanjutnya dikenal dengan nama algoritma Djikstra sesuai dengan nama penemunya. Algoritma Djikstra sebagaimana yang telah dijelaskan diatas merupakan algoritma yang bersifat greedy dan bertujuan untuk menemukan jalur terpendek untuk sebuah graf berarah (directed graph) berdasarkan bobot terkecil dari satu titik (node) ke titik (node) lainnya yang bernilai non negatif. Sebuah titik dapat menggambarkan sebuah entitas spasial seperti kebun, pabrik maupun pelabuhan. Misalkan titik mengambarkan pabrik dan garis menggambarkan jalan, maka algoritma Dijkstra dapat melakukan perhitungan terhadap semua kemungkinan bobot terkecil dari setiap titik. Contoh keterhubungan antar sekumpulan node diperlihatkan pada Gambar 2-32 berikut ini:
71
b
∞ 5
10
∞ 6
7 3
15 10
0
∞ 3 ∞ 16
1 a
∞ 4
12
8
11
∞ 2
Gambar 2-32 Contoh Keterhubungan Sekumpulan Node dalam Sebuah Graf
Untuk
menyelesaikan
permasalahan
diatas
dengan
menggunakan
algoritma Djikstra, pertama-tama harus ditentukan node awal atau titik keberangkatan terlebih dahulu. Dalam contoh diatas node awal nya adalah titik a dan node akhirnya adalah titik b. Berikutnya berikan bobot dari node pertama ke node yang terdekat secara bertahap. Algoritma Djikstra akan mencari solusi dari satu node ke node yang lainnya tahap demi tahap dengan logika sebagai berikut: a. Tentukan nilai bobot untuk setiap titik ke titik lainnya, dan tentukan nilai 0 pada node awal dan nilai tak hingga pada node yang belum terisi. Nilai bobot dapat berupa jarak, waktu tempuh maupun biaya. b. Tentukan semua node sebagai node yang “belum dihitung” dan tentukan node awal sebagai “node origin”. c. Dari node origin, pertimbangkan node tetangga yang belum dihitung dan hitung bobotnya dari titik origin. Sebagai contoh, jika titik origin A ke destinasi B memiliki bobot 8 dan dari B ke node C memiliki bobot 2, maka bobot ke C melewati B menjadi 8 + 2 = 10. Jika bobot ini lebih kecil dari bobot sebelumnya yang telah tersimpan, hapus data yang lama, simpan ulang bobot yang baru menggantikan bobot yang lama.
72
d. Setelah setiap bobot terhadap node tetangga selesai dipertimbangkan, tandai node yang telah dihitung sebagai “node terhitung”. Node terhitung tidak akan pernah dianalisa kembali, bobot yang disimpan adalah bobot yang terakhir dan yang paling minimal bobotnya. e. Tentukan “node belum terhitung” dengan bobot terkecil dari node origin sebagai “node keberangkatan” selanjutnya dan lanjutkan dengan kembali ke langkah c. Berikut ini adalah langkah demi langkah penerapan algoritma Djikstra untuk menemukan lintasan yang terpendek dari graf yang telah ditunjukkan diatas. Langkah pertama: Pastikan semua node telah terhubung satu sama lain sesuai dengan sistem amatan sebagaimana yang ditunjukkan pada Gambar 2-33. Dalam contoh yang dibahas disini node awal adalah 1 dan node tujuan adalah 5. Setiap jalur yang menghubungkan antar node telah diberi nilai bobotnya. b 5
10 6
7 3
15
12 3
10
16
1 a
4
8
11
2
Gambar 2-33 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 1)
73
Langkah kedua: Algoritma Dijkstra melakukan perhitungan terhadap node tetangga yang terhubung langsung dengan node keberangkatan (node 1), dan hasil yang didapat adalah node 2 karena bobot nilai node 2 paling kecil dibandingkan nilai pada node lain, nilai = 8 (0+8) sebagaimana ditunjukkan pada Gambar 2-34.
6
15 3
10 1 a
8 8
2
Gambar 2-34 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 2)
Langkah ketiga: Node 2 ditentukan menjadi node keberangkatan dan ditandai sebagi node yang telah terhitung (lihat Gambar 2-35). Dijkstra melakukan kalkulasi kembali terhadap node-node tetangga yang terhubung langsung dengan node yang telah terhitung. Dan kalkulasi dijkstra menunjukan bahwa node 3 yang menjadi node keberangkatan selanjutnya karena bobotnya yang paling kecil dari hasil kalkulasi terakhir, nilai 10 (0 + 10).
74
6
10
15
4 3
10
16
1 a
11
8
24
2
Gambar 2-35 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 3)
Langkah keempat: Perhitungan berlanjut dengan node 3 ditandai menjadi node yang telah terhitung (lihat Gambar 2-36). Dari semua node tetangga belum terhitung yang terhubung langsung dengan node terhitung, node selanjutnya yang ditandai menjadi node terhitung adalah node 6 karena nilai bobot yang terkecil, nilai 13 (10 + 3).
13
6 3 15
12 3
10
16
1 a
4
8
11
22
2
Gambar 2-36 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 4)
75
Langkah Kelima: Node 6 menjadi node terhitung, Dijkstra melakukan kalkulasi kembali, dan menemukan bahwa node 5 yang merupakan node destinasi telah tercapai lewat node 6. Jalur terpendek akhirnya dapat diidentifikasi yaitu jalur yang melalui node 1-3-6-5, dan nilai bobot yang diperoleh adalah sebesar 23 (13 + 10). Karena node destinasi telah diperoleh, maka algoritma dijkstra telah selesai menjalankan tugasnya. Lintasan terpendek dapat dilihat pada Gambar 2-37.
23 29
b 5
10 6
7 3
15
12 3
10
16
1 a
4
8
11
2
Gambar 2-37 Contoh Penyelesaian dengan Algoritma Djikstra (Langkah 5)
Dalam mencari lintasan terpendek, algoritma yang paling banyak digunakan saat ini adalah algoritma Dijkstra, karena kerjanya paling efisien dan tidak membutuhkan waktu yang banyak.
76
2.4.7 Model Lokasi-Alokasi Berbasis Spasial Model lokasi-alokasi berbasis spasial adalah sebuah model matematis yang dimasukkan
ke
dalam
sistem
informasi
geografis
untuk
memecahkan
permasalahan pasokan yang sesuai dengan kebutuhan dengan menggunakan sekumpulan tujuan dan kendala (Church dan ReVelle, 1974). Pada dasarnya model lokasi-alokasi bertujuan untuk menentukan lokasi yang optimal dari sebuah layanan dalam rangka untuk melayani populasi dengan cara yang paling efisien. Model lokasi-alokasi cukup banyak digunakan oleh sektor organisasi dan perusahaan untuk mencari lokasi gudang, toko, dan fasilitas swasta lainnya dengan cara yang paling optimal. Lokasi-alokasi juga digunakan dalam sektor publik untuk menentukan layanan darurat rumah sakit, sekolah, perpustakaan, depot, gudang dan fasilitas umum lainnya secara optimal. Sebagai contoh, Armstrong dan Densham (1991) serta Armstrong, Rushton et al. (1991) menggunakan model lokasi-alokasi untuk mengoptimalkan relokasi pusat layanan sekolah umum di seluruh negara bagian Iowa. Ada beberapa jenis model lokasi-alokasi. Yang paling umum digunakan model lokasi-alokasi
yang meminimumkan jarak
dan memaksimumkan
cakupan/coverage (Ghosh, McLafferty et al., 1995). Model lokasi-alokasi yang meminimumkan jarak atau bobot (jarak, waktu dan biaya) paling sering digunakan dalam berbagai publikasi yang ada adalah model lokasi-alokasi dengan jarak minimum atau biaya minimum. Model ini juga dikenal sebagai model pMedian yang berusaha untuk meminimalkan total jarak maupun bobot yang ditempuh dari titik permintaan ke pusat pasokan terdekat mereka (Hakimi, 1964). Formula umum untuk model P-Median adalah sebagai berikut: Minimumkan fungsi obyektif z, dimana ∑
;
. Dimana
∑
∑
dengan kendala ∑
;
menunjukkan jumlah alokasi dari sumber i ke
tujuan j, m adalah jumlah fasilitas yang ada, n adalah jumlah permintaan yang dilayani,
adalah kapasitas fasilitas i,
adalah demand node j dan
adalah
biaya transportasi/bobot dari sumber i ke tujuan j (Church dan ReVelle, 1974). Model ini digambarkan pada Gambar 2-38 berikut.
77
Gambar 2-38 Model Alokasi p-median yang Meminimumkan Impedansi
Sejarah lokasi-alokasi sendiri dimulai oleh Hakimi (1964) yang melakukan penelitian di Northwestern University untuk menemukan lokasi yang optimal pusat switching untuk jaringan telepon, yang secara konseptual diterjemahkan untuk menemukan pusat mutlak dan median dari sebuah graf. Hakimi mengamati bahwa ketika berusaha menemukan pusat switching pada jaringan komunikasi, pusat tersebut cenderung menempati simpul jaringan (Hakimi, 1964). Namun, pada saat mencari sebuah layanan publik/swasta, lokasi yang paling optimal bisa jadi bukan di persimpangan simpul. Hakimi menemukan bahwa jaringan komputer nasional di Amerika akan mendapat manfaat dari pusat komunikasi yang ditempatkan pada atau dekat pusat negara, sebagaimana halnya dengan Kansas City, Missouri di AS dimana Pemerintah memiliki salah satu pusat komputer untuk beberapa instansi pemerintah yang berbeda. Kansas City terletak di tengah wilayah Amerika Serikat yang secara optimal akan mengurangi waktu transit data dari pantai barat ke pantai timur. Jika salah satu pusat ditempatkan di Miami, Florida maka akan memakan waktu lebih lama bagi data yang akan dikirim dari Los Angeles, California ke Portland, Maine (keduanya di pantai barat) karena harus transit melalui pusat pantai timur. Variasi dari model minimasi jarak adalah dengan memasukkan penambahan kendala jarak ke model LA tradisional. Salah satu alasan dibalik penambahan kendala jarak adalah berkaitan dengan isu permasalahan nyata seperti kemacetan lalu lintas (Marianov dan Serra, 1998).
78
Penggunaan lain untuk model kendala minimasi jarak adalah untuk menentukan lokasi layanan darurat. Layanan darurat hampir selalu memiliki beberapa jenis kendala jarak atau waktu terkait dengan seberapa cepat mereka harus dapat memenuhi panggilan layanan (Figueroa dan Kartusch, 2000; Fitch, 2005). Jika pemadam kebakaran pemerintah daerah menyatakan bahwa diperlukan waktu respon 5 menit, dan kondisi jalan hanya memungkinkan pada kecepatan 30 mil per jam, maka kendala jarak untuk mencari stasiun akan lebih dari 2,5 mile dari titik permintaan. Varian ketiga dari
model
LA adalah permasalahan maksimum
coverage/cakupan (MCLP). Model ini berusaha memaksimasi layanan terhadap populasi yang dapat dilayani pada jarak layanan yang ditentukan atau waktu yang terbatas pada sejumlah fasilitas (Church dan ReVelle, 1974). Formula untuk permasalahan ini dapat dinyatakan sebagai berikut: Maksimumkan
Kendala
∑ ∑
∑ ( (
) )
𝑗
Dimana,
dij = Jarak terpendek dari node i ke node j xj = { {𝑗 }
}
Salah satu tujuan dari MCLP yang dikembangkan lebih lanjut adalah meminimumkan jumlah orang yang tidak dilibatkan dalam jarak layanan S maksimum yang diinginkan (Church dan Meadows, 1979). Jika terdapat sejumlah
79
besar permintaan yang diluar lingkup, salah satu cara yang lebih baik adalah melayani permintaan-permintaan dengan model alokasi kendala jarak minimum. Gambar 2-39 dan Gambar 2-40 berikut ini memperlihatkan model MCLP yang memaksimumkan cakupan dari layanan yang diberikan oleh fasilitas yang ada.
Gambar 2-39 Model Spasial Maksimasi Cakupan dengan Sebanyak Mungkin Demand Dilayani oleh Fasilitas
Gambar 2-40 Hasil Pemetaan Maksimasi Cakupan
Jenis model lokasi-alokasi berbasis spasial yang lainnya adalah model maksimasi kunjungan. Model ini menentukan lokasi fasilitas dengan cara meminimumkan jarak dari pusat fasilitas untuk sebagian besar populasi (Holmes, Williams et al., 1972; Daskin, 2008). Model ini sangat berguna untuk menentukan alokasi untuk unit gawat darurat (UGD), layanan sosial, pusat perbelanjaan, dan
80
fasilitas-fasilitas lainnya dimana ada sejumlah besar orang yang akan berkunjung. Representasi umum dalam peta ditunjukkan pada gambar berikut ini.
Gambar 2-41 Model Maksimasi Kunjungan
Model lokasi-alokasi dapat menjadi sangat spesifik dan kompleks apabila ingin menyesuaikan dengan kebutuhan masyarakat. Sebagai contoh Branas, MacKenzie et al. (2000) membangun model respon unit gawat darurat yang mana mempertimbangkan waktu perjalanan dari lokasi kejadian ke lokasi UGD dan kemudian waktu perjalanan dari UGD ke rumah sakit utama yang terdekat yang mana mengasumsikan bahwa lokasi UGD memiliki jarak ke rumah sakit utama. Jenis model LA lainnya adalah model-model yang memiliki tujuan untuk meminimalkan fasilitas yang terlibat dalam sistem. Fasilitas diletakkan sedemikian rupa sehingga sebanyak mungkin titik permintaan yang dapat dialokasikan ke fasilitas solusi dalam cutoff impedansi, selain itu, jumlah fasilitas yang diperlukan untuk menutupi poin permintaan diminimalkan (Schietzelt dan Densham, 2003). Contoh pemetaan untuk model tersebut diperlihatkan pada Gambar 2-42 dan Gambar 2-43 berikut ini.
81
Gambar 2-42 Model Spasial Minimasi Fasilitas yang Terlibat dalam Sistem
Gambar 2-43 Contoh Hasil Pemetaan untuk Model Minimasi Fasilitas yang Terlibat dalam Sistem
Meminimalkan Fasilitas hampir sama dengan memaksimalkan cakupan tetapi dengan pengecualian dari jumlah fasilitas yang teralokasi. Beberapa hal berikut ini adalah poin-poin penting bagaimana model minimasi fasilitas dapat memenuhi permintaan: a. Setiap
titik
permintaan
diluar
semua
impedansi
fasilitas,
tidak
dialokasikan. b. Titik-titik permintaan dalam area cakupan impedansi fasilitas memiliki bobot permintaan yang sama untuk dialokasikan dari fasilitas tersebut.
82
c. Sebuah titik permintaan dalam cutoff impedansi dari dua atau lebih fasilitas memiliki bobot permintaan yang dialokasikan ke fasilitas terdekat saja. Seringkali diperlukan untuk mengalokasikan produk/jasa dalam upaya untuk memaksimumkan pangsa pasar dari perusahaan/organisasi. Sejumlah fasilitas dipilih sedemikian rupa sehingga permintaan dialokasikan semaksimum mungkin untuk menghadapi pesaing. Tujuannya adalah untuk menangkap sebanyak mungkin pangsa pasar melalui fasilitas yang ada yang telah di tentukan. Total pangsa pasar adalah jumlah dari seluruh bobot permintaan untuk titik-titik permintaan yang valid. Permasalahan memaksimumkan pangsa pasar merupakan jenis masalah yang memerlukan paling banyak data karena disamping harus diketahui fasilitas yang dimiliki sendiri kita juga perlu tahu fasilitas dari pesaing. Permasalahan yang mirip dengan model ini adalah permasalahan memaksimalkan kehadiran yang mempertimbangkan pangsa pasar. Untuk permasalahan ini, harus dimiliki informasi yang komprehensif terkait dengan data pesaing. Toko diskon besar biasanya menggunakan model maksimasi pangsa pasar untuk mencari sekumpulan toko baru yang terbatas. Permasalahan maksimasi pangsa pasar ini umumnya menggunakan model Huff, yang juga dikenal sebagai model gravitasi (Dramowicz, 2005). Gambaran spasial dari model maksimasi pangsa pasar ini ditunjukkan pada Gambar 2-44 berikut ini.
Gambar 2-44 Model Spasial Maksimasi Pangsa Pasar
83
Terkadang kita juga menginginkan untuk menentukan target pangsa pasar tertentu yang dapat diraih dari sejumlah permintaan yang ada dengan mempertimbangkan pesaing. Gambaran model spasial untuk permasalahan ini ditunjukkan pada gambar berikut ini.
Gambar 2-45 Model Spasial dengan Target Pangsa Pasar Tertentu
Toko diskon besar biasanya menggunakan model target pangsa pasar ketika mereka ingin tahu ekspansi yang diperlukan untuk mencapai tingkat tertentu dari pangsa pasar atau untuk melihat strategi apa yang diperlukan untuk mempertahankan pangsa pasar mereka saat ini dengan adanya fasilitas dari pesaing. Dalam kasus lain di mana terdapat keterbatasan anggaran, maka keputusan yang harus diambil adalah menangkap sebanyak mungkin pangsa pasar dengan sejumlah batasan fasilitas. 2.4.8 Simulasi Berbasis Spasial Untuk mendapatkan pemahaman terhadap perilaku sistem dan kinerjanya, melakukan eksperimen pada sistem yang nyata akan memiliki konsekuensi biaya dan risiko yang tinggi. Salah satu cara untuk mengevaluasi sebuah rancangan sistem adalah dengan melakukan simulasi sistem. Simulasi akan meniru perilaku sistem
dan
rancangan
sistem
dan
selanjutnya
dapat
memberikan
gambaranterhadap kinerja sistem yang sebenarnya tanpa harus mengganggu sistem physiknya. Dengan menggunakan simulasi, dapat dibuat skenario-skenario perbaikan sistem dan melakukan evaluasi terhadap inisiatif-inisiatif tersebut.
84
Ada beberapa tipe pemodelan simulasi yang dikenal (Harrington dan Tumay, 2000), yaitu: a. Metode pemodelan simulasi analitis b. Metode pemodelan simulasi kontinyu c. Metode pemodelan simulasi discrete event, dan d. Metode pemodelan simulasi berorientasi object. Metode pemodelan simulasi analitis menitikberatkan pada beberapa aspek kompleksitas dinamik seperti sejumlah pelanggan yang berkompetisi untuk memperebutkan sumberdaya yang sama dan beberapa variabilitas yang berhubungan dengan proses kedatangan dan pelayanan. Model analitis menyediakan estimasi kinerja steady-state agregat yang jauh lebih akurat dibandingkan dengan menggunakan analisis pada spreadsheet. Gambar 2-46 mengilustrasikan konsep kinerja steady-state. Keunggulan dari simulasi analitis adalah pemodelan dan proses eksekusi simulasi yang lebih cepat. Utilisasi Server
Steady-state
80%
Waktu
Gambar 2-46 Kinerja Steady-state pada Simulasi Analitis
Pemodelan simulasi kontinyu dapat menangkap proses dinamis dengan menggunakan persamaan diferensial dan dapat mengandung perilaku random. Model kontinyu memiliki kemampuan baik untuk phenomena steady-state maupun phenomena transien (Harrington dan Tumay, 2000). Animasi dan model
85
kontinyu lebih bernilai dibandingkan dengan model analitis karena bottleneck dan flow dapat divisualisasikan dengan gauges dan dials. Pemodelan tipe ini lebih tepat untuk memodelkan volume yang besar dan proses produksi kontinyu. Gambar 2-47 berikut ini memperlihatkan model simulasi kontinyu.
Kapasitas Alat Angkut PKS01
Kapasitas Tanki Timbun PO-01
Stock PKS01 Produksi PKS01
Kapasitas PKS01
Pengiriman CPO PKS01
Shortage Surplus Loading Rate PO-01
Jumlah Alat Angkut PKS01 Kapasitas Alat Angkut PKS02 Tanki Timbun PO-01 Loading PO-01
Kapasitas PKS02
Stock PKS02 Produksi PKS02
Jumlah Alat Angkut PKS02 Pengiriman CPO PKS02
Barge Arrival to PO01
Gambar 2-47 Simulasi Kontinyu
Pemodelan discrete event memungkinkan untuk merumuskan perilaku acak dengan distribusi dan ekspresi kemungkinan. Model discrete event menghasilkan output yang acak dan oleh karena itu hanya merupakan estimasi dari perilaku yang sesungguhnya dari sebuah sistem. Replikasi harus dibuat dan rata-rata harus diperoleh untuk mendapatkan estimasi dari ukuran-ukuran kinerja yang diharapkan. Pada proses simulasi discrete event, entitas merepresentasikan produk atau jasa yang memperebutkan sumber daya untuk melakukan aktivitasnya. Oleh karena itu simulasi discrete event adalah teknik simulasi yang paling natural untuk pemodelan dan analisis proses. Animasi dari model discrete event dapat sangat impresif dan berguna untuk kepentingan validasi dan presentasi. Animasi dari discrete event juga bisa dilakukan dalam peta dan tergambar secara spasial merepresentasikan sistem nyata dengan lebih baik (O'Sullivan dan Perry, 2011). Salah satu contoh nyata representasi animasi dari discrete event simulation dapat dilihat pada Gambar 2-48 berikut ini.
86
Gambar 2-48 Simulasi Discrete Event Berbasis Spasial
Salah satu kelemahan dari simulasi discrete-event ini adalah biasanya membutuhkan waktu yang lebih lama untuk proses running dibandingkan dengan model simulasi analitis dan kontinyu. Tantangan pemodelan simulasi discreteevent ini adalah keahlian yang dibutuhkan untuk membangun model yang valid. Contoh logika proses simulasi discrete-event ini ditunjukkan pada Gambar 2-49.
t Generate Arrival Entity
Wait for Resource
Advance Time
Free Resource
Dispose Entity
Gambar 2-49 Konsep Dasar Simulasi Discrete Event
Banks, II et al. (2010) dalam bukunya yang berjudul Discrete-event System Simulation memberikan gambaran langkah-langkah utama dalam melakukan studi simulasi sebagaimana yang digambarkan pada Gambar 2-50.
87
Adapun langkah-langkah untuk melakukan simulasi komputer adalah sebagai berikut: 1. Perumusan masalah Setiap studi harus didahului dengan pendefinisian permasalahan. Jika definisi permasalahan diberikan oleh pembuat kebijakan, atau pemilik masalah, maka peneliti harus memastikan bahwa permasalahan tersebut telah jelas dapat dipahami. Jika perumusan masalah dilakukan oleh peneliti, maka harus dipastikan juga pembuat kebijakan memahami dan menyetujui perumusan masalah tersebut. Meskipun tidak ditunjukkan pada gambar, harus dipahami bahwa perumusan masalah dapat dilakukan berulang seiring dengan berkembangnya penelitian/studi. Pada umumnya, pembuat kebijakan dan peneliti menyadari bahwa permasalahan telah terjadi lama sebelum karakteristik permasalahan diketahui. 2. Penentuan tujuan dan perencanaan proyek penelitian Tujuan menunjukkan pertanyaan yang harus dijawab oleh simulasi. Pada titik ini, harus sudah ditetapkan apakah simulasi merupakan metode yang tepat untuk penyelesaian masalah seperti yang telah dirumuskan dan tujuan yang telah ditetapkan. Dengan mengasumsikan bahwa simulasi adalah metode yang tepat, dalam perencanaan proyek juga harus menyertakan sistem alternatif yang dapat digunakan dan metode evaluasi efektivitas dari alternatif-alternatif tersebut. Dalam rencana proyek penelitian juga perlu menyertakan kebutuhan tenaga SDM, biaya penelitian, waktu yang dibutuhkan untuk menyelesaikan setiap tahapan, dan hasill yang diharapkan pada akhir setiap tahapannya. 3. Konsep pemodelan Pembangunan sebuah model dari sebuah sistem cenderung lebih ke arah seni daripada sains/ilmu pengetahuan. Pritsker (1998) membahas panjang lebar tentang tahapan ini. “Meskipun tidak memungkinkan untuk memberikan instruksi detil yang dapat menuntun pembangunan model yang sesuai pada setiap kasus, namun ada beberapa pedoman umum yang dapat diikuti” (Morris, 1967). Seni memodelkan akan semakin baik dengan kemampuan mengintisarikan kunci permasalahan yang diteliti, memilih dan memodifiksi
88
asumsi-asumsi dasar yang menggambarkan karakteristik sistem, dan memperkaya serta mengembangkan model sampai didapatkan hasil yang diinginkan. Oleh karena itu, sebaiknya kita memulai dengan model sederhana dan membangunnya perlahan. Akan tetapi, perlu dicatat bahwa model yang dibangun tidak perlu melebihi tingkat yang dibutuhkan untuk mencapai tujuan penelitian. Jika model dibangun melebihi tingkat yang dibutuhkan maka hal tersebut hanya akan menambah biaya pembangunan model. Pendekatan sangat detil dari sistem nyata ke model (one-to-one mapping) tidak diperlukan, cukup sampai dengan intisari dari sistem nyata yang dibutuhkan. Disarankan untuk melibatkan pengguna model dalam pembuatan konsep model. Melibatkan pengguna model akan memperbaiki kualitas model yang dihasilkan dan juga menambah kepercayaan diri pengguna model dalam aplikasinya. 4. Pengumpulan data Ada hubungan saling mempengaruhi antara pembangunan model dan kumpulan data input (Shannon, 1975). Ketika model berubah, maka elemen data yang dibutuhkan juga akan berubah. Yang perlu diperhatikan adalah karena pengumpulan data merupakan tahapan yang paling besar porsinya dalam melakukan simulasi, maka akan sangat penting untuk memulai pengumpulan data pada awal penelitian, umumnya bersamaan dengan tahapan awal pembangunan model. Tujuan penelitian sangat menentukan jenis data yang harus diperoleh. Contohnya pada studi antrian di bank, maka data-data yang dibutuhkan adalah distribusi antar kedatangan nasabah (pada waktu yang berbeda tiap harinya), distribusi pelayanan kasir bank, dan data historis distribusi antrian dalam beragam situasi. 5. Penerjemahan model Sebagian besar sistem real ketika dimodelkan memerlukan penyimpanan informasi dan komputasi yang cukup kompleks, maka model harus dibuat dalam format yang dapat dikenal komputer (computer-recognizable).
89
Modeller harus menentukan akan menggunakan software yang dapat digunakan simulasi untuk tujuan penelitiannya. 6. Verifikasi Langkah verifikasi ini dimaksudkan untuk menguji apakah program/perangkat lunak yang digunakan telah berjalan dengan baik. Pada model yang rumit, sangat sulit, jika tidak bisa dibilang tidak mungkin, untuk menterjemahkan model pada perangkat lunak tanpa proses debugging yang dilakukan berulangulang; jika parameter input dan struktur logika dari model telah mampu direpresentasikan dengan baik pada perangkat lunak, maka proses verifikasi telah selesai. 7. Validasi Validasi umumnya dilakukan dengan melakukan kalibarasi model, proses iterasi dengan membandingkan model dengan perilaku sistem aktual dan menggunakan perbedaan antara keduanya , dan kesimpulan yang didapatkan, untuk melakukan perbaikan terhadap model. Proses ini dilakukan berulangulang sampai didapatkan model dengan tingkat akurasi yang dapat diterima. 8. Desain eksperimen Alternatif yang akan disimulasikan harus ditentukan terlebih dahulu. Seringkali, keputusan mengenai alternatif yang disimulasikan adalah fungsi dari hasil yang telah selesai dianalisa. Perlu ada keputusan terlebih dahulu untuk setiap desain sistem yang akan disimulasikan, mengenai periode simulasi, periode awal, dan jumlah replikasi. 9. Simulasi dan analisis Simulasi dan analisis yang mengikutinya digunakan untuk mengestimasi kinerja dari desain sistem yang sedang disimulasikan. 10. Simulasi lanjutan Setelah analisis selesai dilakukan, peneliti perlu menentukan apakah diperlukan simulasi lebih lanjut.
90
11. Dokumentasi dan pelaporan Ada dua jenis pendokumentasian: program dan progress. Dokumentasi program (perangkat lunak) diperlukan beragam alasan. Jika program tersebut akan digunakan lagi oleh peneliti yang sama maupun yang berbeda, akan sangat penting untuk memahami bagaimana program tersebut bekerja. Hal tersebut juga akan memberikan kepercayaan pada program yang digunakan, sehingga pengguna model dan pembuat kebijakan dapat membuat keputusan berdasarkan
analisis
dari
model
tersebut.
Alasan
lain
untuk
mendokumentasikan program adalah untuk keperluan modifikasi program, dan jika pengguna akan melakukan perubahan pada parameter input dan menganalisis pengaruhnya terhadap keluaran yang dihasilkan. Musselman
(1998)
membahas
tentang
progress
report
yang
menyediakan sejarah/tahapan tertulis dan penting dalam sebuah proyek simulasi. Progress report akan menunjukkan kronologi pembangunan model dan keputusan-keputusan yang dibuat dalam prosesnya. Hal ini dapat digunakan sebagai alat untuk menjaga proyek tetap dalam jalur sesuai rencana. Musselman menyarankan laporan rutin (minimal bulanan) sehingga pihak yang tidak terlibat langsung dalam aktivitas proyek harian pun dapat memahami proyek dengan baik. Dari sisi pelaporan, Musselman menyarankan deliverables rutin, dimana Musselman menyatakan “it is better to work with many intermediate milestones than with absolute deadline.” Hasil dari seluruh analisis harus dilaporkan dengan jelas dan singkat pada laporan final. Hal tersebut akan memudahkan pengambil keputusan untuk melakukan review terhadap perumusan final, sistem alternatif yang diajukan, kriteria yang digunakan untuk membandingkan setiap alternatif, hasil eksperimen, dan rekomendasi solusi untuk permasalahan.
12. Implementasi Keberhasilan tahapan implementasi sangat bergantung pada sebelas tahapan yang mendahuluinya. Hal yang juga penting adalah seberapa dalam analis
91
melibatkan pengguna model selama proses simulasi. Jika pengguna model telah dilibatkan selama proses pembangunan model dan pengguna model juga mengerti
karakteristik
model
dan
output-outputnya,
implementasi akan berhasil akan semakin baik
kecenderungan
(Kelton, Sadowski et al.,
2003). Demikian juga sebaliknya, jika model dan asumsi-asumsi yang mendasarinya tidak dikomunikasikan dengan baik, maka proses implementasi tidak akan berjalan dengan baik, terlepas dari validitas model yang dibangun. Pembangunan model simulasi seperti yang ditunjukkan pada diagram dapat dibagi kedalam empat Fase. Fase pertama, terdiri dari langkah 1 (Perumusan masalah) dan 2 (Penentuan tujuan dan desain keseluruhan). Fase kedua berhubungan dengan pembangunan model dan pengumpulan data dan melibatkan langkah ke-3 (Konsep pemodelan), 4 (Pengumpulan data), 5 (Penerjemahan model), 6 (Verifikasi), dan 7 (Validasi). Jika pengguna model tidak dilibatkan dalam fase ini akan mengakibatkan masalah pada saat implementasi. Fase ketiga berkaitan dengan running mode. Langkah ke-8 (Desain eksperimen), 9 (Simulasi dan analisis), dan 10 (Simulasi lanjutan) ada pada fase ketiga ini. Fase ini memerlukan perencanaan komprehensif terkait dengan eksperimen dengan model simulasi. Simulasi discrete-event stochastic sebenarnya adalah eksperimen statistik. Variabel output yang dihasilkan mengandung error acak, dan karena itu memerlukan analisis statistik yang baik. Fase keempat, melibatkan langkah ke-11 (Dokumentasi dan pelaporan), 12 (Implementasi). Keberhasilan implementasi bergantung pada keterlibatan kontinu dari pengguna model dan keberhasilan penyelesaian proses pada setiap tahapan. Mungkin, hal yang paling krusial dari keseluruhan proses adalah langkah ke-7 (Validasi), karena model yang tidak valid akan menghasilkan analisis yang salah, yang jika diimplementasikan akan berbahaya dan menimbulkan biaya besar, atau bahkan keduanya.
92
1 Formulasi permasalahan
2
Penentuan tujuan dan keseluruhan rencana proyek
3
4 Konseptualisasi model
Pengumpulan data
5 Penterjemahan model Tidak 6 Verified? Tidak
Tidak
Ya 7 Validated?
8
Ya Rancangan eksperimental
9 Run dan analisis
Ya
Ya 10 Perlu run lagi?
Tidak 11 Dokumentasi dan pelaporan
12 Implementasi
Gambar 2-50 Langkah-langkah dalam Studi Simulasi
93
2.5
Rancang Bangun Sistem Pendukung Keputusan Berbasis Spasial
Perancangan merupakan langkah pertama dalam fase pengembangan rekayasa suatu produk atau sistem. Menurut Pressman (1997), perancangan merupakan suatu proses penggunaan berbagai prinsip dan teknik untuk tujuan-tujuan pendefinisian suatu perangkat, proses atau sistem hingga ke tingkat kerincian tertentu yang diinginkan. Model pengembangan sistem di tataran awal yang umumnya digunakan adalah model prototyping. Prototyping sendiri merupakan model pengembangan sistem yang melibatkan proses pembentukan model (versi) sistem secara iteratif untuk menghasilkan sistem yang sesuai dengan kebutuhan pengguna. Pendekatan seperti ini merupakan implementasi dari konsep “think small strategize big” dari Turban et al.(2011) dimana pengguna maupun pengembang pertama-tama fokus pada penyelesaian permasalahan kunci untuk meraih keberhasilan-keberhasilan kecil secara bertahap. Pendekatan ini dipandang lebih efektif dan efisien dalam pengembangan sistem pendukung keputusan (Turban, Sharda et al., 2011). Model ini sendiri memiliki tiga bentuk: a. Prototype diatas kertas atau berbasiskan sistem komputer yang menggambarkan (diagram) interaksi-interaksi yang mungkin terjadi. b. Working
type
yang
mengimplementasikan
sebagian
fungsi
yang
ditawarkan oleh sistem yang dikembangkan. c. Program jadi yang mampu melakukan sebagian atau bahkan keseluruhan fungsi yang ditawarkan meskipun masih terdapat beberapa feature yang dikembangkan lebih lanjut. Adapun proses pengembangan sistem pendukung keputusan yang menggunakan proses prototyping ini melibatkan aktivitas-aktivitas sebagai berikut: a. Pengumpulan secara cepat kebutuhan terhadap sistem oleh pihak pengguna dan pengembang. Aktivitas ini mirip dengan fase analisis yang terdapat dalam model pengembangan proses waterfall.
94
b. Perancangan cepat (quick design) prototipe aplikasi sistem pendukung keputusan yang dilakukan oleh pengembang. Aktivitas ini sama dengan fase perancangan pada model proses waterfall. c. Pembentukan prototipe aplikasi sistem pendukung keputusan yang dilakukan oleh pengembang. Aktivitas ini sama dengan fase implementasi pada model proses waterfall. d. Evaluasi prototipe sistem pendukng keputusan yang dilakukan baik oleh pengguna (umum) atau pengembang lebih detail. Aktivitas ini ekivalen dengan fase pengujian (testing) pada model proses waterfall. e. Perbaikan prototipe sistem pendukung keputusan dilakukan oleh pengembang. Aktivitas ini merupakan pengulangan (iterasi perbaikan) ke proses berikutnya (mulai dari perancangan cepat, pembentukan prototipe, dan evaluasi) untuk mencapai produk yang sesuai dengan kebutuhan pengguna (produk akhir/rekayasa plus dokumentasinya). Pada model ini, satu siklus pengembangan (setiap iterasi) akan menghasilkan sebuah versi sistem. Dengan demikian pada saat hasil akhirnya diterima oleh pengguna, bisa jadi terdapat beberapa versi sistem pendukung keputusan. 2.6
Penilaian Rencana Pengembangan Agroindustri
Menurut Hitchner (2006), ada beberapa pendekatan dalam menilai sebuah usaha atau business interest. Pendekatan tersebut adalah sebagai berikut: 1. Pendekatan pendapatan (income approach) 2. Pendekatan pasar (market approach) 3. Pendekatan asset (asset approach) Pendekatan pendapatan umumnya yang paling banyak digunakan dalam penilaian rencana pengembangan industri karena asumsi yang digunakan dalam hal ini adalah bahwa industri selalu berusaha untuk mendayagunakan aktiva produktifnya untuk menghasilkan keuntungan saat ini maupun di masa depan. Pendekatan pendapatan dalam melakukan penilaian dilakukan berdasarkan prinsip antisipasi dengan konsep dasarnya adalah penilaian finansial, dimana nilai sebuah business interest diartikan sebagai suatu jumlah dari manfaat ekonomi (pendapatan) yang dihasilkan oleh business interest tersebut di masa yang akan
95
datang. Hal tersebut dikemukakan oleh James R. Hitchner (2006)
yang
menyatakan bahwa “the real value of any going business is its future earning power.” Hal yang sama juga dikemukan oleh Brealey dan Meyers (2002)yang mengatakan bahwa “value today always equals future cash flow discounted at the opportunity cost of capital.” Proses
penilaian
dengan
menggunakan
pendekatan
pendapatan
memerlukan estimasi berkenaan dengan arus tingkat pendapatan yang diharapkan dan tingkat pengembalian investasi yang dipersyaaratkan. Nilai dari investasi atau business interest (korporat atau ekuitas) adalah nilai kini (present value) dari jumlah pendapatan mendatang yang dihasilkan oleh investasi tersebut. Nilai korporat atau ekuitas diestimasi dengan cara: ·
Mengkuantifikasi stream of income yang dihasilkan oleh investasi yang dinilai dan variabel pendapatan ini akan menjadi numerator (pembilang dalam analisis.
·
Menjumlah stream of income tersebut menjadi nilai kini dengan opportunity cost of capital yang digunakan untuk menghasilkan income tersebut. Variabel biaya kapital ini selanjutnya akan menjadi denominator (penyebut) dalam analisis. Pendekatan pendapatan dibedakan ke dalam 2 metode, yaitu metode
diskonto (discounted cash flow method) dan metode kapitalisasi langsung (direct capitalization method). Dalam metode diskonto, dilakukan proyeksi terhadap semua manfaat ekonomis yang diharapkan di masa mendatang seperti arus kas bersih atau variabel pendapatan lain dan mendiskonto setiap manfaat yang diharapkan tersebut ke dalam nilai sekarang dengan suatu tingkat diskonto dan mengalikannya dengan discount factor yang mencerminkan biaya kapital jenis investasi tersebut. Estimasi ini adalah jumlah keseluruhan dari nilai sekarang tersebut. Sedang dalam metode kapitalisasi langsung maka kita membagi satu manfaat ekonomis tunggal baik historis maupun proyeksi seperti arus kas bersih atau variabel pendapatan lain yang mencerminkan kemampuan investasi dalam menghasilkan pendapatan di masa mendatang dengan suatu tingkat kapitalisasi
96
yang mencerminkan tingkat diskonto variabel tersebut dikurangi dengan tingkat pertumbuhan jangka panjang variabel tersebut bila masih ada pertumbuhan. Dalam hal seseorang membeli suatu perusahaan apakah yang berbentuk badan hukum ataupun yang bukan badan hukum, maka yang dibeli bukanlah produk, manajemen, pasar ataupun teknologinya, melainkan kita membeli prospek arus pendapatan ekonomis yang dimiliki oleh perusahaan tersebut (Pratt, Reilly et al., 2000). Pendapatan ekonomis suatu entitas usaha bisa berupa pendapatan bruto, laba kotor, pendapatan sebelum pajak, pendapatan bersih, arus kas bersih dan sebagainya. Semua jenis pendapatan ekonomis itu, kemudian dapat dikonversi menjadi nilai dengan menggunakan tingkat diskonto ataupun tingkat kapitalisasi yang memadai sesuai dengan jenis pendapatan ekonomis yang digunakan. Dari kacamata teori, nilai suatu bisnis atau suatu kepentingan pada bisnis tergantung pada pertumbuhan manfaat yang akan diterima di masa yang akan datang, dengan nilai manfaat ekonomis mendatang itu didiskontokan kembali kedalam nilai sekarang pada tingkat diskonto yang memadai. Dengan kata lain, konsep dasar dari pendekatan pendapatan adalah memproyeksikan pendapatan ekonomis pada masa mendatang dihubungkan dengan investasinya dan mendiskontokan proyeksi arus pendapatan ke dalam nilai sekarang pada tingkat diskonto yang memadai sesuai dengan risiko yang diharapkan dari prospek arus pendapatan ekonomis. Sebagaimana dikemukakan pada bagian awal bahwa pendekatan pendapatan berdasarkan kepada prinsip antisipasi dalam ekonomi. Dalam pendekatan itu maka nilai dari suatu investasi adalah nilai sekarang (present value) dari ekspektasi pendapatan ekoonomis yang dihasilkan oleh investasi tersebut di masa yang akan datang. Dengan demikian, suatu investasi baru akan mempunyai nilai apabila investasi tersebut dapat memberikan pengembalian yang lebih besar dibandingkan dengan biaya yang harus dikeluarkan untuk memperoleh pendanaan dalam pembiyaan investasi tersebut. Untuk keperluan penilaian, maka ukuran untuk menentukan pendapatan ekonomis yang dianalisis dapat ditentukan dengan berbagai cara, namun yang lazim adalah: pengeluaran/pembayaran seperti dalam bentuk dividen, bunga, arus
97
kas, pendapatan bersih atau pendapatan bersih dari operasi. Dalam kaitan dengan itu maka arus pendapatan ekonomis mana yang dimaksudkan harus didefinisikan secara tegas demikian juga tingkat diskonto (WACC)yang digunakan dalam analisis. 2.6.1
Penilaian Usaha dengan Menggunakan Pendekatan Income
Metode yang dipergunakan untuk melakukan penilaian investasi dengan menggunakan pendekatan income yang umum digunakan adalah: a. Net Present Value (NPV) Metode Nilai Sekarang Bersih (Net Present Value / NPV) adalah metode penilaian kelayakan investasi yang menyelaraskan nilai akan datang arus kas menjadi nilai sekarang dengan melalui pemotongan arus kas dengan memakai faktor pengurang pada tingkat biaya modal tertentu.Metode NPV digunakan untuk menentukan apakah nilai suatu investasi ini menguntungkan atau tidak, dapat didefinisikan sebagai berikut: · · ·
NPV > 0, investasi diterima NPV < 0, investasi di tolak NPV = 0, investasi bersifat marginal
Formula untuk menghitung nilai NPV adalah sebagai berikut: n
NPV t 0
n (C )t (Co)t t (1 i) t 0 (1 i)t
Dimana, (C)t (Co)t n i t
= Arus kas masuk pada tahun ke-t. = Arus kas keluar pada tahun ke-t. = Umur unit usaha hasil investasi. = Arus pengembalian (rate of return) = Waktu
b. Internal Rate of Return (IRR) Metode tingkat balikan internal atau internal rate of return (IRR) adalah metode evaluasi kelayakan investasi menggunakan rasio laba dari penanaman modal (return on investment) dalam jumlah dan waktu dimana nilai sekarang (present value) dari arus kas masuk adalah sama dengan nilai sekarang (present value) dari
98
pengeluaran investasi awal. Secara umum IRR digunakan untuk menjelaskan apakah rencana proyek cukup menarik bila dilihat dari segi tingkat pengembalian yang telah ditentukan, prosedur yang lazim digunakan adalah mengkaji tingkat pengembalian yang menghasilkan NPV arus kas masuk sama dengan NPV arus kas keluar. Rumusannya adalah sebagai berikut: n
n (C )t (Co)t t t t 0 (1 i ) t 0 (1 i )
Dimana, (C)t (Co)t n i t
= Arus kas masuk pada tahun ke-t. = Arus kas keluar pada tahun ke-t. = Umur unit usaha hasil investasi. = Arus pengembalian (rate of return) = Waktu
Metode IRR digunakan untuk menentukan apakah nilai suatu investasi ini menguntungkan atau tidak, dapat didefinisikan sebagai berikut: · · ·
IRR >WACC, investasi diterima IRR < WACC, investasi di tolak IRR = WACC, investasi bersifat marginal
c. PaybackPeriod
Metode Pemulihan Investasi (Payback Period) adalah metode analisa kelayakan investasi yang berusaha untuk menilai persoalan kelayakan investasi menurut jangka waktu pemulihan modal yang diinvestasikan, biasanya dinyatakan dalam hitungan tahun. 2.6.2 Perhitungan Biaya Modal Tertimbang (WACC) Komponen biaya modal disini adalah tingkat pendapatan yang diharapkan oleh pasar untuk mendapatkan keuntungan dari suatu investasi(Brealey dan Myers, 2002). Setiap komponen dalam struktur pembiayaan sebuah perusahaan memiliki biaya tertentu, dan komponen biaya tersebut membemtuk Biaya Modal Rata-rata Tertimbang atau Weighted Average Cost of Capital (WACC).
99
Dalam menghitung WACC langkah-langkah yang harus dilakukan adalah sebagai berikut(Hitchner, 2006): a) Menentukan bobot masing-masing komponen dalam struktur modal berdasarkan nilai pasar masing-masing komponen b) Estimasi biaya utang c) Estimasi biaya ekuitas Dalam menentukan struktur modal ada beberapa hal yang perlu diperhatikan, yaitu: a. b. c.
Analisis struktur modal historis dari perusahaan yang dinilai Analisis struktur modal perusahaan pembanding Analisis rencana dan pandangan manajemen Dalam mendefinisikan struktur kapital, maka apabila kita mengartikan
sebagai nilai dari perusahaan sebagai lawan dari nilai ekuitas, maka selalu diartikan sebagai nilai susunan kapital. Namun masih sering ada keraguan tentang apa yang termasuk ke dalam pengertian kapital. Yang sering dipertanyakan adalah apakah utang jangka panjang dan utang tidak berbunga juga masuk? Pada umumnya dianut pendapat bahwa pengertian susunan kapital adalah mencakup semua ekuitas dan semua utang jangka panjang baik yang sudah maupun belum jatuh tempo (Pratt, Reilly et al., 2000). Namun untuk menilai kapital menggunakan DCF, sangat perlu untuk memasukkan bunga dari pinjaman jangka panjang dalam pendapatan yang didiskonto dan memperlukakukan bunga yang lain sebagai expenses. Adapun formula perhitungan WACC adalah sebagai berikut:
Dimana: • • • •
Kd adalah Komponen Biaya Hutang D/A adalah proporsi hutang terhadap total modal Ke adalah Komponen Biaya Modal Sendiri E/A adalah proporsi modal sendiri terhadap total modal
100
Gambar 2-51 Kerangka Perhitungan Biaya Modal
Komponen biaya modal sendiri (cost of equity) terdiri atas : (1)
tingkat bunga bebas risiko (risk free rate) yaitu pendapatan yang dianggap dapat diperoleh dari instrumen investasi yang secara umum dianggap sebagai investasi bebas risiko oleh pelaku pasar. Instrumen yang dianggap mewakili di Indonesia adalah Sertifikat Bank Indonesia atau tingkat bunga obligasi pemerintah.
(2)
Risiko premium, yaitu tingkat pendapatan (return) yang diharapkan investor/pemilik modal sendiri saat melakukan investasi yang berisiko dengan tingkat pendapatan yang diharapkan saat melakukan investasi yang tidak berisiko. Adapun perumusan dari komponen biaya ekuitas ini adalah: [
(
)]
Dimana: · Rf adalah prosentase/rate return yang diharapkan dari investasi yang bebas resiko. ·
Beta adalah ukuran reaksi harga saham perusahaan terhadap perubahan harga pada pasar saham.
·
Erm adalah return yang diharapkan dari pasar yang dihitung sebagai fluktuasi dari Indeks Harga Saham Gabungan (IHSG) atau Jakarta Composite Index (JCI).
101
Beta ini berfungsi mengukur sensitivitas dari tingkat pendapatan (return) dari saham Perusahaan terhadap pergerakan tingkat pendapatan pasar secara keseluruhan. Beta ini dihitung sebagai covariance saham Perusahaan terhadap variance IHSG. Nilai Beta dari saham Perusahaan dihitung dari pergerakan harga saham Perusahaan terhadap pergerakan IHSG.. Komponen biaya hutang (Cost of Borrowings) yang diperhitungkan dalam struktur modal pada umumnya adalah hutang jangka panjang atau hutang investasi, yang pada umumnya sama dengan tingkat bunga hutang yang harus dibayar oleh perusahaan. Komponen biaya hutang ini harus memperhitungkan faktor tax shield yang dinikmati oleh perusahaan. Dengan demikian maka komponen biaya hutang dihitung sebagai tingkat bunga pinjaman setelah dikurangi tingkat pajak yang berlaku. 2.7
Analisa Resiko Menggunakan Model Simulasi
Salah satu teknik analisis resiko yang umum digunakan adalah simulasi Monte Carlo. Teknik analisis resiko Monte Carlo ini dikembangkan pada awal tahun 1960 an. Salah satu pendukung penggunaan teknik ini adalah Hertz(1964), yang dalam makalahnya di Havard Business Review telah berjasa menyebarluaskan teknik ini ke masyarakat luas. Pada dasarnya, simulasi Monte Carlo melibatkan penggunaan distribusi peluang dan bilangan random dalam perhitungannya. Dengan bantuan komputer, distribusi peluang nilai Net Present Value, IRR, maupun indikator-indikator lainnya akan dapat diperoleh (Abor, 2005; Evans dan Olson, 2005). Simulasi Monte Carlo akan mengganti nilai total aliran kas bersih tiap tahun dengan distribusi peluang tiap faktor yang mempengaruhi total aliran kas bersih (contoh: pendapatan atau komponen-komponen sumberdaya). Distribusi peluang faktor-faktor penting yang disimulasikan mengambarkan unsur ketidakpastian dari faktor-faktor penting tersebut (Smith, 1994). Dengan memanfaatkan komputer, simulasi dapat melakukan observasi acak dari tiap distribusi peluang untuk digunakan dalam perhitungan net cash flow tiap tahun sepanjang umur investasi proyek. Selanjutnya aliran kas yang diperoleh dari hasil simulasi ini digunakan untuk menghitung indikator-indikator kinerja
102
investasi proyek maupun indikator-indikator keuangan perusahaan lainnya. Keseluruhan proses kemudian akan diulang kembali dalam jumlah yang besar, untuk medapatkan distribusi peluang kinerja yang diinginkan (bukan nilai tunggal). Penyebaran distribusi peluang tersebut akan menggambarkan tingkat ketidakpastian disekitar aliran kas proyek. Proses simulasi Monte Carlo ini merupakan siklus pengulangan. Apabila distribusi yang dihasilkan dari proses pengulangan ini digambarkan dalam bentuk grafik sebagai distibusi frekuensi, maka gambaran yang didapatkan akan dapat dijadikan sebagai bahan pertimbangan keputusan manajerial. Pengambil keputusan akan sangat terbantu dengan gambaran resiko yang ada dibandingkan dengan hanya menggunakan model pembangunan aliran kas yang konvensional. Meskipun penggunaan Simulasi Monte Carlo banyak digunakan pada analisa resiko penilaian investasi, namun lebih dari itu, sebenarnya konsep dan teknik
tersebut
dapat
digunakan
dalam
konteks
keseharian
proses
manajerial(Abor, 2005). Beberapa perangkat lunak simulasi berbasis komputer sudah tersedia di pasar saat ini namun masih terbatas digunakan oleh beberapa kalangan saja. Sebagian besar pengguna model ini menggunakan perangkat lunak Add ins yang terintegrasi dengan perangkat lunak spreadsheet seperti @risk dan Crystall Ball. Namun, dengan perkembangan paket-paket perangkat lunak spreadsheet yang telah memasukkan banyak fasilitas-fasilitas perhitungan statistik, Macro dan VBA, ketergantungan terhadap software Add Ins menjadi semakin berkurang (Gunarta, 2006). Secara umum proses simulasi Monte Carlo yang akan digunakan untuk mengevaluasi resiko nilai tukar digambarkan berupa diagram alir pada Gambar 2-52. Risiko pada umumnya merupakan faktor yang dapat dikelola dengan cara mengalihkan (transfer), menghindarkan (avoidance), mengurangi atau mencegah (reduction/mitigation) dan dengan menerima (acceptance). Mengurangi atau mencegah merupakan pendekatan yang paling memungkinkan dalam pengelolaan risiko bagi perusahaan perkebunan kelapa sawit dengan memaksimalkan tata kelola perusahaan (Pardamean, 2011). Menurut Pardamean (2011), jenis-jenis
103
risiko pada agroindustri CPO antara lain sebagaimana yang terlihat padaTabel 2-9. . Mulai
N = Jumlah Iterasi TH= Umur Proyek
For i = 1 To N
For j = 1 To TH
Sample Distribusi Probabilitas untuk Tahun ke j
Eksekusi Model Proyeksi Keuangan
j
Hitung dan Record Indikator Kinerja Finansial Proyek dan Perusahaan
i
Ringkas Hasil dan Gambarkan dalam Bentuk Distribusi Frekuensi untuk Setiap Indikator Finansial
Gambar 2-52 Logika Simulasi Monte Carlo
104
Tabel 2-9 Jenis Risiko pada Agroindustri CPO No 1
Jenis Risiko Risiko produk (TBS)
2 3
Risiko pasar Risiko proses
3
Risiko sistem
4
Risiko hukum
5
Risiko lingkungan
6
Risiko asset
2.8
Bentuk Risiko Tidak tercapainya target produksi TBS yang tidak tahan lama Penerimaan TBS yang tidak sesuai dengan standar (TBS mentah, tangkai panjang, dll) TBS telah berbentuk brondolan TBS busuk Persaingan dari produk lain Turunnya harga CPO Bibit yang tidak layak Pemeliharaan pembibitan Pembukaan lahan dan pemeliharaan tanaman kelapa sawit yang tidak sesuai dengan standar Kehilangan bahan/material Penggunaan bahan yang tidak efektif Hari kerja fiktif Penggunaan dana tidak efisien Ketidakpastian aturan Kesalahan atau ketidakmapuan Melanggar kontrak atau perjanjian Korupsi Pengelolaan kebun yang tidak ramah lingkungan Penerapan CSR yang tidak tepat Kebakaran Keamanan IT
Penelitian Terkait
Permasalahan pengembangan industri merupakan permasalahan yang kompleks. Kompleksitas tersebut disebabkan oleh banyaknya elemen-elemen yang mempengaruhi dan saling mempengaruhi dalam menentukan keberhasilan dari industri yang dikembangkan, bersifat dinamis dan memiliki ketidakpastian atas parameter-parameter penentunya. Cukup sulit dan memakan waktu untuk melakukan analisis dan sintesa terhadap keseluruhan dari sistem yang ada secara holistik. Penelitian-penelitian yang sebelumnya telah mengambil beberapa sudut pandang, pendekatan dan metode-metode dalam rangka memberikan solusi maupun rancangan untuk keberhasilan industri yang dikembangkan. Cukup banyak model-model yang telah dikembangkan, diimplementasikan dan dievaluasi atas dasar penelitian-penelitian yang telah dilakukan.
105
Terkait dengan pengembangan industri kelapa sawit di Indonesia, Hambali (2005) telah mengkaji pengembangan klaster industri turunan minyak kelapa sawit dengan memberikan masukan-masukan terkait permasalahan dan aktivitasaktivitas yang harus dilakukan dalam pengembangan klaster industri minyak kelapa sawit sementara Pahan, Gumbira-Sa’id et al. (2011) fokus mengkaji kinerja klaster industri kelapa sawit di Riau melalui strategi integrasi rantai pasok, infrastruktur penunjang dan pembenahan lingkungan ekonomi dan usaha dengan menggunakan model multi criteria decision making. Penelitian tersebut mengindikasikan bahwa strategi pembenahan infrastruktur penunjang akan dapat meningkatkan kinerja industri kelapa sawit dengan signifikan. Jatmika (2007) meneliti tentang pengembangan agroindustri kelapa sawit dengan strategi pemberdayaan dan Basdabella (2001) meneliti tentang pengembangan Sistem Agroindustri Kelapa Sawit dengan Pola Perusahaan Industri Rakyat. Penelitian yang terkait dengan dukungan infrastruktur pelabuhan dan transportasi untuk industri minyak kelapa sawit di Indonesia telah dilakukan oleh Aryawan dan Setijoprajudo (2010), Ufron dan Setijoprajudo (2010), Ristianto (2003). Sementara pengembangan model-model untuk penentuan lokasi pelabuhan secara umum sebagai infrastruktur utama untuk industri dilakukan oleh Malchow (2001), Bruce A.Blonigen (2006), Prakash Gaur (2005) serta Mtthew Brian Malchow dan Kanafani (2001). Pengembangan industri kelapa sawit juga menjadi topik yang penting di Mozambique. Capitine (2010) meneliti tentang pengembangan klaster industri minyak kelapa sawit di negaranya dan menyimpulkan bahwa pengembangan industri minyak yang berasal dari kelapa sawit lebih menguntungkan dibandingkan dengan yang berasal dari sumber lainnya. Berdasarkan benchmark yang dilakukan oleh Capitine, pengembangan industri ini pada lokasi geographis yang berdekatan akan dapat meningkatkan keunggulan bersaing dari industri ini. Penggunaan model spasial dalam menentukan lokasi pengembangan industri telah banyak dipublikasikan di jurnal-jurnal internasional. Model-model spasial yang digunakan pada umumnya mengkombinasikan antara sistem
106
informasi geografis dengan model-model matematis maupun model-model multi kriteria. Penggunaan model-model multi criteria decision support system untuk pengembangan industri dilakukan oleh
Ruiz, Romero et al. (2012) yang
mengkombinasikan fuzzy AHP dengan GIS, Hagadone dan Grala (2012) menggunakan neighboring spatial analysis untuk membangun industri berbasis kehutanan di Missisipi. Ocalir, Ercoskun et al. (2010) mengkombinasikan model fuzzy logic dengan GIS untuk menentukan lokasi pangkalan taxi, Radiarta, Saitoh et al. (2008) menggunakan model multi kriteria berbasis GIS untuk mengidentifikasi lokasi pengembangan aquaculture di Jepang dan Hossain, Chowdhury et al. (2009) di Bangladesh. Disamping penggunaan model-model spatial multi criteria decision making, beberapa peneliti juga menggunakan model-model matematis dalam melakukan analisis spasial untuk tujuan penelitiannya. Terkait dengan permasalahan penentuan lokasi pengembangan energi biomassa, Zhang, Johnson et al. (2011). Penelitian Zhang ini mempertimbangkan biaya transportasi dalam pengumpulan sumber-sumber bahan energi biomas yang tersebar secara geographis. Eddie, Cheng et al. (2007) memasukkan model gravitasi dalam sistem GIS untuk menentukan lokasi pusat perbelanjaan sementara Benoit dan Clarke (1997) menggunakan teknologi GIS, GPS dan model multi objective untuk menentukan lokasi retail. Model-model analisis spasial yang dikembangkan untuk permasalahan lokasi dan alokasi dilakukan oleh Gar-On, Yeh et al. (1996) yang mengintegrasikan antara model lokasi-alokasi dengan GIS untuk menentukan perencanaan lokasi fasilitas publik demikian juga halnya dengan yang dilakukan oleh London (1990) dengan kasus penentuan lokasi sekolah di negara-negara berkembang. Berman dan Mandowsky (1996) mengembangkan model lokasi alokasi untuk permasalah jaringan transportasi yang padat. Permasalahan lokasi alokasi multi periode seperti yang dilakukan pada penelitian ini juga telah dilakukan oleh Sha dan Huang (2012). Model Lokasi dan Alokasi
107
Model lokasi-alokasi merujuk pada algoritma yang digunakan dalam sistem informasi geografis untuk menentukan lokasi yang optimal dari satu atau lebih fasilitas yang akan melayani perimintaan dari sekumpulan titik tertentu. Algoritma yang dapat digunakan untuk melihat kemampuan dari fasilitas-fasilitas tersebut dalam melayani permintaan yang ada bergantung dari beberapa faktor seperti ketersediaan fasilitas, biaya, dan kondisi infrastruktur dari fasilitas menuju titik permintaan tersebut (Sommer dan Wade, 2006). Ketika terdapat beberapa titik-titik sumber daya dan sejumlah titik permintaan, maka akan muncul kebutuhan terhadap
optimalisasi rute untuk
mengakses sumber daya tersebut. Ini merupakan permasalahan yang sering dihadapi oleh sejumlah institusi bisnis dan pemerintahan. Subyek ini mendapatkan perhatian yang cukup besar di negara-negara yang sedang berkembang karena terdapat sejumlah besar permintaan terhadap pengembangan infrastruktur, fasilitas air minum, fasilitas pendidikan, sistem distribusi, energy, fasilitas medis untuk publik, transportasi, pusat-pusat rekreasi dan wisata yang mana merupakan perhatian utama dari negara-negara yang sedang berkembang. Keputusan pendirian dan pengembangan suatu fasilitas produksi atau gudang penyimpanan sering kali harus dilakukan secara simultan dengan keputusan lain, antara lain yang menyangkut alokasi produksi dan pengiriman. Permasalahan ini akan lebih lebih kompleks lagi apabila kita mempertimbangkan batasan kapasitas dari masing-masing fasilitas yang ada (Pujawan, 2010). Sejumlah penelitian-penelitian telah dipresentasikan dalam publikasi ilmiah untuk memecahkan permasalahan lokasi-alokasi ini (Lashine, Fattouh et al., 2006). Pendekatan yang umum digunakan adalah formulasi mixed integer linier programming. Teknik-teknik optimasi digunakan untuk memecahkan sebagian besar permasalahan-permasalahan dengan kompleksitas rendah sampai sedang. Untuk permasalahan skala besar umumnya penggunaan metode heuristik lebih dominan. Pada minimasi
banyak
biaya
permasalahan-permasalahan
bukan
merupakan
faktor
yang
lokasi-alokasi paling
terkadang
penting
untuk
dipertimbangkan. Proses untuk mendayagunakan tujuan dengan multi kriteria
108
secara luas dibahas lama oleh Geofrion (1978). Banyak peneliti yang menyarankan sejumlah pertimbangan atau faktor-faktor sebagai kriteria yang penting untuk permasalahan lokasi-alokasi ini. Faktor-faktor tersebut antara lain ketersediaan alat transportasi, ketersediaan tenaga kerja, biaya hidup, ketersediaan dan keterdekatan terhadap bahan baku, jarak ke pasar, posisi kompetitif, antisipasi terhadap pertumbuhan pasar, tren populasi dan pendapatan, ketersediaan dan biaya lahan, keterdekatan dengan industri-industri yang lain, ketersediaan dan biaya utilitas, sikap pemerintah, struktur pajak, faktor-faktor yang terkait dengan masyarakat, pertimbangan terhadap lingkungan, penilaian risiko dan tingkat pengembalian asset (Badri, 1999). Faktor kualitatif adalah sangat penting, namun seringkali tidak praktis dan biasanya diberlakukan sebagai bagian dari tanggung-jawab manajemen untuk melakukan analisa lebih lanjut tidak seperti penggunaan model-model kuantitatif yang memasukkan model permasalahan lokasi-alokasi yang sepenuhnya dapat diserahkan pada model untuk memecahkannya. Pendekatan kuantitatif pada umumnya mendasarkan pada model-model transportasi/penugasan, dan formulasi programma linier. Formulasi integer dan mixed integer programming telah digunakan oleh banyak peneliti seperti Wei-hua et al (2011), Bhatnagar dan Teo (2009), Vos dan Akkermans (1996) yang mengakomodasi perilaku dinamis dari sistem dan lain-lain. Permasalahan lokasi/alokasi sebagai sebuah permasalahan kombinatorial yang diselesaikan dengan menggunakan metode heuristik dipresentasikan oleh Zhou et al(2002). Zhou dan kawan-kawan menggunakan algoritma genetika untuk memecahkan permasalahan kombinatorial tersebut(Abidin, 2007). Permasalahan optimalisasi transportasi CPO ini membutuhkan evaluasi jaringan supply chain komoditas CPO secara total. Dalam hal ini, keputusan tentang sumber pasokan kelapa sawit, lokasi pabrik kelapa sawit serta lokasi pelabuhan muat dan pelabuhan tujuan harus ditentukan secara simultan. Untuk perusahaan yang beroperasi secara global maupun nasional, mereka mungkin akan membuka sejumlah perkebunan, pabrik kelapa sawit dan menggunakan beberapa jalur transportasi. Tiap-tiap sumber bahan baku maupun pabrik bisa dibuka atau
109
ditutup dan masing-masing memiliki biaya-biaya tetap maupun biaya variabel. Tiap pabrik juga punya keterbatasan kapasitas. Demikian pula, tiap alternatif pelabuhan bisa diputuskan untuk dibuka atau tidak dan masing-masing punya kapasitas dan biaya-biaya tetap. Untuk permasalahan yang seperti ini, di samping jawaban terhadap dibuka tidaknya suatu pabrik atau pelabuhan, perlu juga dijawab dari pelabuhan mana tiap wilayah pasar akan dipasok dan dari pabrik mana tiap pelabuhan asal akan dipasok. Walaupun permasalahan jaringan supply chain yang dikaji imi merupakan permasalahan strategis dan keputusan seperti ini hanya dibuat sekali dalam jangka panjang, namun harus disadari bahwa perubahan iklim bisnis yang semakin dinamis membuat keputusan-keputusan seperti di atas perlu ditinjau lebih sering (Fine, Vardan et al. (2002) dalam Pujawan (2010)). Lebih lanjut Pujawan (2010) menyatakan bahwa walaupun hubungan antar perusahaan pada supply chain diharapkan berlangsung jangka panjang, namun perubahan situasi makro dan mikro tiap perusahaan memaksa mereka untuk sering mengubah di mana mereka akan membeli bahan baku, di mana mereka akan memusatkan kegiatan produksi, di mana mereka akan menyimpan produk dan sebagainya. Dengan kata lain, jaringan supply chain perlu dirancang ulang setiap kali ada perubahan situasi yang cukup dramatis, seperti resesi di suatu wilayah pemasaran, peningkatan ongkos infrastruktur di tempat produksi, ketidakstabilan negara tempat gudang berada, dan sebagainya (Pujawan, 2010).
110
3 METODOLOGI PENELITIAN
3.1
Tahapan Penelitian
Penelitian ini menggunakan pendekatan sistem yang melibatkan parameterparameter penting yang diperlukan dalam pengambilan keputusan pengembangan agroindustri CPO berbasis spasial secara holistik. Pendekatan
holistik
yang
dimaksudkan
disini
pendekatan
yang
menyeluruh (Eriyatno, 2012) tidak hanya fokus pada pengembangan industri itu sendiri, namun akan dimulai dari hal-hal yang menjadi driver adanya kebutuhan pengembangan industri. Sebaran spasial dari kebun kelapa sawit, luasan kebun, umur tanaman, produktivitas tanaman, kapasitas pabrik eksisting, jalur transportasi dan kondisi infrastruktur pelabuhan menjadi pertimbangan penting pada sistem pendukung keputusan berbasis spasial yang dikembangkan ini. Pendekatan sistem digunakan dalam kajian ini karena kompleksitas dari permasalahan yang ada serta adanya unsur ketidakpastian yang bagaimanapun harus dipertimbangkan agar keputusan yang dibuat memiliki dasar yang kuat. Sebagaimana yang dinyatakan oleh Marimin dan Maghfiroh (2010), pendekatan sistem diperlukan karena semakin lama semakin dirasakan interdependensi dari berbagai bagian dalam mencapai tujuan sistem. Masalah-masalah yang dihadapi pada saat ini tidak lagi sederhana dan dapat menggunakan peralatan yang menyangkut satu disiplin saja, tetapi memerlukan peralatan yang lebih komprehensif, yang dapat mengidentifikasi dan memahami berbagai aspek dari suatu permasalahan dan dapat mengarahkan pemecahan secara menyeluruh. Proses rancang bangun model pendukung keputusan pengembangan agroindustri CPO berbasis spasial melalui tahapan-tahapan umum pengembangan prototipe sistem seperti yang dipresentasikan pada Gambar 3-1 berikut ini.
112
Identifikasi Kebutuhan
Perancangan Prototype
Pembentukan Prototype
Tidak => Perbaikan
Produk Rekayasa
Ya
Sesuai Kebutuhan?
Evaluasi Prototype
Gambar 3-1 Tahapan Umum Proses Rancang Bangun
Metode pengembangan prototipe dipilih dengan alasan untuk mengatasi sistem yang kompleks. Dengan metode prototyping akan memungkinkan proses pembentukan model (versi) sistem secara iteratif sampai menghasilkan sistem yang sesuai dengan kebutuhan pengguna. Pendekatan seperti ini merupakan implementasi dari konsep “think small strategize big” dari Turban et al.(2011) dimana pengembang pertama-tama fokus pada penyelesaian permasalahan kunci untuk meraih keberhasilan-keberhasilan kecil secara bertahap. Pendekatan ini dipandang lebih efektif dan efisien dalam pengembangan sistem pendukung keputusan (Turban, Sharda et al., 2011). 3.2
Kerangka Pemikiran
Kerangka berpikir yang melandasi sistem pendukung keputusan berbasis spasial untuk penentuan lokasi pengembangan industri ini terbagi menjadi beberapa tahapan utama. Tahap pertama adalah merumuskan tujuan sistem dengan jelas yang dalam hal ini adalah untuk menentukan lokasi pengembangan industri hilir minyak kelapa sawit yang terbaik. Tahap kedua dilakukan pengumpulan data-data entitas spasial yang terlibat dalam proses pengambilan keputusan beserta dengan atribut-atribut yang diperlukan. Entitas-entitas yang terlibat dalam hal ini adalah Kebun Kelapa Sawit (KKS), Pabrik Minyak Kelapa Sawit (PKS), Jaringan Jalan, dan Wilayah.
113
MULAI
Peta Lokasi KKS
Peta Lokasi Pabrik CPO
Peta Lokasi Pelabuhan
Peta Jalur Transportasi Eksisting
Basic Digital Map Wilayah
Peta Tematik Lainnya
Layering Data Overlay
Data Tabular
Shortest Path (Algoritma Dijkstra)
Relation
Viewing
Shape File
Analisis Spasial
Kesesuaian Lahan
View Informasi
View Teranalisis Analisis Interaksi Spasial
Simulasi Sistem
Valuasi
SELESAI
Gambar 3-2 Langkah-langkah Penelitian
114
Tahap ketiga, entitas-entitas yang teridentifikasi tersebut selanjutnya dipetakan lokasi geografisnya dalam sistem informasi geografis yang dibangun dalam penelitian ini dalam bentuk layer-layer data. Untuk data berupa image manual, dilakukan scanning untuk mendapatkan data digital. Proses layering disini merupakan proses untuk memisahkan kategori-kategori layer yang ada dalam data digital. Hasil dari layering ini adalah data vektor yang sudah terbagai menjadi beberapa data layer sesuai dengan coveragenya masing-masing. Masingmasing layer akan mendapatkan informasi dari data tabular pada proses relation. Output dari proses ini adalah sebuah shape file (file yang berextensi.shp), dimana file inilah yang sudah siap digunakan untuk menampilkan informasi yang berbasis geografis. Tahap keempat, dilakukan pengukuran dan standarisasi ukuran atas atribut-atribut yang diperlukan dalam pengambilan keputusan yang terkait dengan lokasi masing-masing entitas baik yang terkait dengan kebun, pabrik, jalan maupun wilayah. Beberapa overlay yang diperlukan dalam analisis, dilakukan pada tahapan ini. Tahap kelima, diidentifikasi dan dirumuskan kriteria-kriteria dan batasan/persyaratan-persyaratan untuk menentukan lokasi awal pengembangan industri hilir minyak kelapa sawit. Kriteria-kriteria ini diakuisisi dari pengetahuan dan pengalaman ahli dalam bidang pengembangan infrastruktur industri dan agroindustri minyak kelapa sawit. Adapun kriteria-kriteria tersebut adalah terkait dengan kesesuaian lahan untuk pengembangan industri, antara lain aspek pisik, lingkungan serta ekonomi, sosial dan politik. Kriteria-kriteria untuk aspek pisik adalah: (a) Luas area yang tersedia; (b) Kedekatan dengan perairan/kemudahan pengapalan; (c) Ketersediaan Utilitas & infrastruktur; (d) Akses (jarak) pada sumber air bersih; (e) Kondisi tanah; (f) Jarak ke jaringan jalan; (g) Kedalaman perairan. Kriteria-kriteria untuk aspek lingkungan adalah: (a) Angin; (b) Cuaca; (c) Tinggi gelombang; (d) Kecepatan arus; (e) Pasang surut; (f) Angin; (g) Sedimentasi; (h) Alur laut. Sementara untuk aspek ekonomi, sosial dan politik yang dipertimbangkan dalam hal ini adalah: (a) Biaya investasi infrastruktur industri; (b) Biaya operasional pengelolaan kawasan; (c) Kemudahan perizinan;
115
(d) Pajak dan pungutan-pungutan lain; (e) Dukungan masyarakat; dan (f) Ketersediaan tenaga kerja. Tahap keenam dilakukan evaluasi atas kriteria dan batasan yang ada untuk menentukan kesesuaian lahan untuk pengembangan industri hilir inti minyak kelapa sawit. Output dari analisis ini adalah alternatif-alternatif lokasi pengembangan industri yang memungkinkan di wilayah kajian. Atas dasar alternatif-alternatif yang teridentifikasi, selanjutnya pada tahapan ketujuh, dilakukan analisis interaksi spasial yang terkait dengan jarak, waktu tempuh dan biaya transportasi yang dalam hal ini direpresentasikan dalam bahasa umum analisis jaringan spasial sebagai cost. Analisis interaksi spasial ini dilakukan dengan menggunakan algoritma Djikstra yang digambarkan prosesnya dalam bentuk diagram pada Gambar 3-3. Interaksi spasial ini dilakukan baik antara PKS dengan KKS maupun antara PKS dengan alternatif lokasi pengembangan industri hilir. Output dari tahap ketujuh berupa matrik interaksi jarak, waktu tempuh dan biaya selanjutnya digunakan pada tahap kedelapan untuk menentukan volume interaksi antar enttitas tersebut diatas yang diakibatkan oleh kepentingan pasokan bahan baku. Proses penentuan ini dilakukan menggunakan model transportasi dengan fungsi tujuan meminimalkan biaya dan dengan kendala-kendala yang terkait dengan batasan suplai, permintaan dari masing-masing entitas dan waktu tempuh maksimum agar kualitas TBS masih memenuhi persyaratan pengolahan di pabrik pengolahan minyak kelapa sawit. Proses ini dilakukan dalam multi periode (tahunan) untuk mengakomodasi produktivitas dari tanaman kelapa sawit yang berakibat pada kemampuan suplainya. Diagram alir proses ini ditunjukkan pada Gambar 3-4. Atas dasar kesesuaian lahan dan interaksi spasial yang telah dianalisa pada tahap-tahap sebelumnya, tahap kesembilan ini merupakan tahapan pengambilan keputusan alternatif lokasi pengembangan industri yang terbaik. Tahapan ini dilakukan dengan menggunakan spatial multi criteria decision tool IKG2012 yang dibangun dalam penelitian ini. Diagram alir yang menggambarkan proses pengambilan keputusan ini diperlihatkan pada Gambar 3-5.
116
START
+ Tetapkan node dan bobot untuk setiap lintasan + Tentukan node AWAL (I) dan TUJUAN (j)
+ Tandai semua node selain node AWAL sebagai UNVISITED + Bentuk himpunan node yang telah dikunjungi, sebut sebagai himpunan VISITED + Masukkan node AWAL ke dalam himpunan VISITED + Set CURRENT = node AWAL
+ Tentukan tetangga-tetangga dari CURRENT yang termasuk dalam himpunan UNVISITED + Ambil bobot yang paling kecil sebagai node SELANJUTNYA
Bila ditemukan lintasan dari node X ke node SELANJUTNYA yang jumlah bobotnya ternyata LEBIH BESAR dari lintasan CURRENT ke node SELANJUTNYA, maka hapus X dari himpunan VISITED
Tidak Masukkan node SELANJUTNYA ke dalam himpunan VISITED
Set CURRENT = node SELANJUTNYA
Apakah CURRENT = node TUJUAN?
Ya
C(i,j)
END
Gambar 3-3 Diagram Alir Model Shortest Path dengan Algoritma Djikstra
117
MULAI
For Tahun (t) = 1 to Batas Proyeksi (p)
Umur Tanaman, Luas Kebun, Demand PKS D( j)
Hitung Kapasitas Produksi KKS S(i)
Model Shortest Path dengan Algoritma Djikstra
Dapatkan Cost c(i,j) dari berkas Shortest Path
Hitung Volume Interaksi Spasial x(i,j)
X(i,j)
t
Volume Interaksi (Ton) SELESAI
Gambar 3-4 Diagram Alir Penentuan Volume Interaksi Spasial Multi Periode
118
Penentuan Lokasi Pengembangan Industri Hilir Minyak Kelapa Sawit
Kendala/ Persyaratan Lokasi
Kriteria Evaluasi
Alternatif Lokasi yang Sesuai
Peta Kriteria
Kendala/peta alternatif yang layak
Bobot Kriteria
Matriks keputusan (Decision matrix)
Decision rule Preferensi pengambil keputusan
Pengurutan alternatif
Analisa sensitivitas
Rekomendasi Final
Gambar 3-5 Penentuan Alternatif Lokasi Pengembangan Industri dengan Spatial MCDM
Keseluruhan tahapan proses yang dijelaskan diatas, diterjemahkan dalam sebuah sistem pendukung keputusan spasial yang dapat digunakan sebagai alat bantu pengambilan keputusan lokasi pengembangan industri hilir minyak kelapa sawit maupun untuk keperluan industri lainnya yang mirip.
119
3.3
Tata Laksana
Tahapan umum yang dilakukan pada penelitian terdiri ini dari pengumpulan data, pengembangan sistem, validasi dan verifikasi. Pengumpulan data spasial terkait dengan beberapa node kebun dan pabrik CPO eksisting dilakukan dengan menggunakan teknologi GPS seperti yang terlihat pada Gambar 3-6 berikut ini. Sementara untuk peta wilayah, peta rupa bumi, peta jalan, peta topografi, peta bathymetri, peta sungai, alur pelayaran diolah dari peta yang diperoleh dari Bakosutranal dan Pemerintah Daerah. Arus, gelombang, dan angin diperoleh dari BMKG.
SATELIT GPS
ANTENNE GPS
DATA FORMAT CONVERSION
MODUL PENGENDALI GPS
GIS DATA STORAGE WAYPOINT UNTUK KEBUN, PABRIK, PELABUHAN DAN PELANGGAN
Gambar 3-6 Teknik Pengumpulan Data dengan Teknologi GPS
Setelah tahapan pengumpulan data, kemudian dilakukan pengembangan sistem melalui pengembangan basis data, model dan interface. Tahap akhir dilakukan verifikasi dan validasi. Teknik validasi yang digunakan dalam penelitian ini adalah face validity (Eriyatno, 2012).
Face validity dilakukan
dengan cara menjaring pengetahuan pakar dalam hal pengembangan dan pengelolaan agroindustri minyak kelapa sawit (CPO). Face validity ini berkaitan dengan kesesuaian dan perilaku model, serta kemampuan model dalam mencapai tujuan yang diharapkan.
120
4 HASIL DAN PEMBAHASAN
4.1
RANCANG BANGUN MODEL
4.1.1
Konfigurasi Sistem Industri CPO
Sistem industri CPO memiliki elemen-elemen yang banyak, begitu pula dengan rantai pasoknya. Elemen-elemen penyusun sistem industri CPO berdasarkan urutan entitas yang terlibat mulai dari hulu ke hilir adalah sebagai berikut: a. Kebun kelapa sawit; b. Pabrik minyak kelapa sawit; c. Industri hilir pengguna CPO; d. Pelanggan akhir. Dalam penelitian ini, elemen-elemen yang dipertimbangkan dibatasi pada kebun kelapa sawit (KKS), pabrik kelapa sawit (PKS) dan industri hilir inti minyak kelapa sawit. Dimana penghubung antar elemen-elemen tersebut adalah jaringan dan infrastruktur transportasi. Kebun kelapa sawit yang merupakan suplier bahan baku terdiri dari perkebunan sawit milik rakyat, perkebunan sawit milik negara (BUMN) dan perkebunan sawit milik swasta. Produsen CPO atau pabrik minyak kelapa sawit merupakan pengolah bahan baku tandan buah segar (TBS) yang dihasilkan oleh kebun kelapa sawit menjadi CPO. Produsen CPO di Indonesia mayoritas milik Negara dan Swasta. Konsumen industri luar negeri minyak sawit meningkat secara signifikan baik dalam volume maupun nilai ekspornya. Peningkatan tersebut dapat dilihat dari data Badan Pusat Statistik (BPS, 2005). Pada tahun 2000 volume ekspor CPO baru mencapai 4.110.027 ton dengan nilai US$ 1.087.278 tetapi kemudian meningkat menjadi 10.375.792 ton dengan nilai US$ 3.756.557 pada tahun 2005. Menurut data dari Kementrian Perdagangan RI (2011) Hasil produksi CPO Indonesia pada tahun 2011 yang baru saja berlalu sebesar 23 juta ton. Dari angka tersebut, 17,5 juta ton diekspor ke berbagai negara dengan China sebagai pembeli utama.
122
Hasil identifikasi sistem dengan batasan-batasan entitas sebagaimana yang telah dijelaskan dan dipaparkan sebelumnya, dapat digambarkan secara lengkap sebagai sebuah sistem rantai usaha agroindustri crude palm oil (CPO) sebagaimana yang digambarkan secara secara sedehana pada gambar Gambar 4-1.
Perkebunan Kelapa Sawit
i = Indeks Kebun Kelapa Sawit j = Indeks Pabrik CPO
Pabrik Kelapa Sawit
Industri Inti
Pasar Industri
In = indeks untuk Industri Inti m = indeks untuk pasar
Gambar 4-1 Pemetaan Elem-elemen Rantai Usaha Agroindustri CPO
Kebun kelapa sawit (KKS) menghasilkan tandan buah segar sebagai bahan baku pabrik minyak kelapa sawit (MKS). Tandan buah segar yang dihasilkan, sangat bergantung dengan umur dari tanaman tersebut. 3 tahun setelah penanaman, KKS dapat menghasilkan sekitar 7 ton per ha nya dan naik terus sampai tahun ke 12 sekitar 28 ton per ha. Selanjutnya produktivitas tanaman kelapa sawit akan menurun secara gradual sampai tahun ke 25 hanya menghasilkan sebesar 17 ton per ha nya. Setelah umur 25 tahun, tanaman kelapa sawit sudah tidak dimungkinkan untuk dipanen karena terlalu tinggi. Setiap ton produk minyak kelapa sawit secara normal membutuhkan kurang lebih 5 ton tandan buah segar (TBS) dengan kualitas yang sesuai dengan persyaratan (Pahan, 2010).
123
Minyak kelapa sawit yang dihasilkan oleh PKS selanjutnya dikirimkan ke pelanggan untuk diproses lebih lanjut melalui pelabuhan-pelabuhan pemuatan yang terdekat dengan lokasi pabrik. Lokasi pelabuhan muat yang ada di Indonesia secara geographis pada umumnya berjarak cukup jauh dari PKS dan memiliki infrastruktur transportasi yang pada umumnya juga belum memadai dibandingkan dengan konstribusi dari komoditas ini terhadap pendapatan Negara. Di pelabuhan muat, sebelum MKS tersebut dikapalkan, kadangkala harus disimpan terlebih dahulu dalam tanki-tanki menunggu kedatangan kapal yang akan memuat ke pelabuhan tujuan. Keterbatasan tanki dan keterbatasan pelabuhan sangat mempengaruhi proses pengiriman dari produk minyak kelapa sawit ini. Selanjutnya MKS ini dikirimkan ke pelabuhan-pelabuhan tujuan yang membutuhkan komoditas tersebut. Kondisi pelabuhan muat dan pelabuhan tujuan akan mempengaruhi tipe alat transportasi laut yang digunakan. Semakin kecil volume komoditas yang diangkut tentu saja akan meningkatkan biaya transportasi dari komoditas MKS. Penjualan komoditas MKS sebagian besar ditujukan untuk pasar ekspor dibandingkan dengan pasar domestik. 4.1.2
Analisis Kebutuhan
Pelaku-pelaku utama atau pihak-pihak yang berkepentingan yang terlibat atau yang harus dipertimbangkan dalam pengambilan keputusan terkait dengan rantai pasok Agroindustri CPO adalah: 1. Pelaku Agroindustri CPO 2. Penyedia bahan baku TBS 3. Pembeli CPO (Konsumen) 4. Pemerintah 5. Lembaga Keuangan Adapun
kebutuhan-kebutuhan
dari
masing-masing
pelaku
yang
teridentifikasi dalam hal ini adalah seperti yang terlihat pada Tabel 4-1 berikut ini.
124
Tabel 4-1 Kebutuhan-Kebutuhan Para Pihak-Pihak yang Berkepentingan pada Agroindustri CPO
NO 1
STAKEHOLDER Pelaku Agroindustri CPO
2
Penyedia TBS
3
Pembeli (Konsumen)
4
Pemerintah
5
Lembaga Keuangan
Bahan
Baku
CPO
KEBUTUHAN STAKEHOLDER a. Mendapatkan pasokan bahan baku (TBS) yang berkualitas dengan harga yang pantas dan dalam jumlah yang cukup. b. Kontinyuitas supplai bahan baku. c. Kemudahan mendistribusikan produk ke pelanggan. d. Biaya distribusi produk yang minimal. e. Harga jual yang bersaing. f. Terpenuhinya permintaan pelanggan. g. Keuntungan yang layak dari industrinya. h. Pengembangan usaha a. Kemudahan dalam mendapatkan pembeli komoditasnya b. Waktu tempuh menuju pembeli CPO (PKS) kurang dari 8 jam. c. Biaya transportasi yang serendahrendahnya. d. Harga jual komoditas yang sesuai dan bersaing e. Memperoleh keuntungan yang layak a. Kemudahan mendapatkan produk CPO b. Harga beli yang sesuai dan bersaing c. Kualitas CPO yang sesuai. d. Kontinyuitas pasokan. a. Peningkatan pendapatan daerah b. Peningkatan pajak c. Mendukung pertumbuhan ekonomi yang tinggi melalui proyek investasi infrastruktur yang cerdas. a. Penyaluran dana yang optimal b. Kelancaran pengembalian kredit
4.1.3 Penyusunan Konseptual Sistem Konseptual sistem sudah tergambarkan pada identifikasi sistem yang telah dilakukan di awal. Dari identifikasi sistem tersebut diketahui struktur sistem yang sedang dianalisis. Untuk memperkuat konseptual sistem, dibuat diagram sebab akibat (causal loop diagram). Diagram sebab akibat digunakan untuk menggambarkan keterkaitan antar elemen yang menunjukkan kedinamisan dari
125
sistem. Causal loop yang menggambarkan kondisi industri CPO Indonesia adalah seperti yang ditunjukkan pada Gambar 4-2.
Gambar 4-2 Causal Loop Sistem Usaha Agroindustri CPO
Gambar 4-2 merupakan gambar causal loop yang terdiri dari elemenelemen sistem penyusun rantai usaha CPO yang memiliki hubungan timbal balik antar anggota elemen. Hubungan timbal balik antar elemen dalam causal loop dapat berupa hubungan positif atau negatif. Hubungan positif terjadi jika nilai suatu elemen mengalami peningkatan maka menyebabkan peningkatan pada nilai elemen yang lainnya, atau jika nilai suatu elemen mengalami penurunan maka akan menyebabkan nilai elemen yang lain menjadi turun. Sebaliknya causal negatif antara satu elemen dengan elemen yang lain terjadi apabila peningkatan nilai suatu elemen tertentu akan menyebabkan nilai elemen yang lain turun atau sebaliknya. Investasi pada sebuah usaha tidak terkecuali pada agroindustri CPO bagaimanpun akan memiliki tujuan utama yaitu untuk memperoleh keuntungan (Pearce dan Robinson, 2011). Investasi ini dapat memiliki sumber pendanaan dari Investor/Pengusaha, Perbankan, Lembaga Keuangan Lainnya, Masyarakat (untuk
126
perusahaan publik), maupun Pemerintah. Aktiva produktif yang berasal dari investasi ini selanjutnya dioperasikan sedemikian hingga untuk memperoleh keuntungan. Sebagaimana yang terlihat pada Gambar 4-3, keuntungan yang diperoleh akan kembali ke pemilik modal baik itu pengusahanya sendiri, perbankan, lembaga keuangan lainnya maupun masyarakat (pada perusahaan publik). Sebuah usaha yang memiliki keuntungan, harus menyetorkan sebagian dari keuntungannya juga sesuai dengan aturan yang ada ke Pemerintah berupa pajak.
Investor/Pengusaha Pendapatan Penjualan CPO Perbankan Agroindustri CPO, Industri Hilir CPO, Infrastruktur Transportasi, Utilitas, dll
-
Keuntungan Industri CPO
Lembaga Keuangan Lainnya
Investasi
Masyarakat Biaya Produk CPO Pemerintah
Gambar 4-3 Siklus Usaha Industri CPO
Keuntungan yang diperoleh industri CPO bersumber dari pendapatan penjualan dari produk CPO yang dihasilkan dikurangi oleh biaya-biaya untuk menghasilkan produk CPO. Besar kecilnya keuntungan yang diperoleh, sangat bergantung dengan selisih antara pendapatan dan biaya yang dihasilkan (Gambar 4-3). Pendapatan penjualan CPO dipengaruhi oleh kuantitas penjualan dan harga jual dari komoditas CPO. Kuantitas penjualan ditentukan oleh permintaan dari industri hilir yang menggunakan bahan baku CPO seperti industri minyak goreng, oleochemical, sabun, margarin dan lain sebagainya, persediaan CPO yang dihasilkan oleh pabrik minyak kelapa sawit dan ketersediaan infrastruktur transportasi yang menghubungkan antara pabrik dengan pelanggan. Produksi CPO akan berjalan dengan lancar sesuai dengan kapasitas produksi yang ditentukan jika tersedia bahan baku tandan buah segar (TBS) yang cukup untuk memenuhi produksi yang ada. Ketersediaan tandan buah segar ini
127
sangat bergantung dengan produksi dari kebun kelapa sawit dan infrastruktur transportasi yang menghubungkan antara kebun kelapa sawit dengan pabrik minyak kelapa sawit. Produksi tandan buah segar dari kebun kelapa sawit dipengaruhi oleh luasan lahan yang dipergunakan untuk perkebunan dan produktivitas yang juga memiliki hubungan yang erat dengan umur tanaman kelapa sawit. Permintaan CPO dari industri hilir bergantung dengan jumlah dan konsumsi industri hilir yang membutuhkan bahan baku CPO. Jumlah dan konsumsi dari industri hilir terhadap produk CPO dipengaruhi oleh investasi pada industri hilir yang dilakukan oleh perusahaan-perusahaan swasta maupun milik Negara. Sebagaimana yang telah dipaparkan sebelumnya, keuntungan juga dipengaruhi oleh biaya yang terjadi atas aktivitas usaha yang dilakukan. Biaya produk dari CPO terdiri dari harga pokok produksi yang dihasilkan atas produksi CPO dan beban-beban yang harus ditanggung oleh industri tersebut termasuk dalam hal ini adalah beban transportasi atau distribusi produk menuju ke arah pelanggan. Beban transportasi tersebut bisa saja ditanggung oleh pelanggan sendiri (free on Board atau free on truck) ataupun ditanggung oleh industri CPO (cost, insurance and freight). Namun, bagaimanapun pada dasarnya tetap akan mempengaruhi keuntungan yang diperoleh atas penjualan produk CPO. Ketersediaan infrastruktur transportasi yang merupakan elemen yang sangat kritikal agar industri CPO ini dapat berjalan secara berkesinambungan sangat bergantung pada investasi yang dilakukan oleh pihak swasta maupun Pemerintah. Sumber dana dari pihak swasta bisa bersumber dari modal sendiri. pinjaman atau dana masyarakat. Sementara investasi untuk infrastruktur transportasi yang dilakukan oleh Pemerintah dapat bersumber dari pajak yang diperoleh maupun dari sumber-sumber lainnya. Sebagaimana yang telah tergambarkan diatas, bagaimanapun ketersediaan dan kualitas dari infrastruktur transportasi akan sangat menentukan berjalannya aliran yang berkesinambungan dari komoditas produk CPO ini. Karena potensi industri ini di Indonesia
128
khususnya di kalimantan yang besar, sudah seharusnya Pemerintah memberikan prioritas yang tinggi untuk dapat menyediakan infrastruktur ini dengan baik. 4.1.4 Diagram Input-Output Hal penting berikutnya yang harus dilakukan adalah melanjutkan interpretasi diagram lingkar sebab akibat ke dalam konsep kotak gelap (black-box diagram). Diagram input-output untuk model pendukung keputusan pengembangan agroindustri CPO disajikan pada Gambar 4-4.
INPUT TAK TERKENDALI § § § § § §
Permintaan pasar Kondisi alam Tingkat suku bunga Harga bahan bakar Harga pasar CPO Pesaing (produksi dan harga jualnya)
INPUT LINGKUNGAN § §
Kebijakan pemerintah Kondisi sosial, ekonomi dan lingkungan
OUTPUT DIKEHENDAKI §
§ § § §
Pasokan bahan baku (TBS) yang berkualitas, harga yang pantas dan dalam jumlah yang cukup. Kontinyuitas supplai bahan baku. Pemenuhan permintaan pasar/ pelanggan. Biaya distribusi yang rendah. Harga jual yang bersaing.
MODEL PENDUKUNG KEPUTUSAN PENGEMBANGAN AGROINDUSTRI CPO
OUTPUT TAK DIKEHENDAKI
INPUT TERKENDALI § § § § §
§ § §
Volume produksi Penyediaan lahan Investasi untuk fasilitas pada node transportasi Investasi pada fasilitas link transportasi. Kapasitas pada node jaringan transportasi
Fluktuasi biaya dan harga Supplai terhambat Keuntungan tidak layak.
MANAJEMEN TRANSPORTASI
Gambar 4-4 Diagram Input-Output Model Pendukung Keputusan Pengembangan Agroindustri CPO
4.1.4.1 Ouput Dikehendaki Sebagaimana yang telah teridentifikasi pada analisa kebutuhan dari pihak-pihak yang berkepentingan dalam industri CPO, ada beberapa output yang harus harus dihasilkan dan menjadi tugas dari model yang dibangun. Beberapa output yang menjadi fokus dalam penelitian ini adalah sebagai berikut: a. Mendapatkan pasokan bahan baku (TBS) dalam jumlah yang sesuai dengan kebutuhan. b. Mendapatkan pasokan bahan baku TBS yang berkualitas. Kualitas bahan baku tandan buah segar (TBS) sangat bergantung dengan kecepatan supply dari kebun kelapa sawit menuju ke pabrik minyak kelapa sawit sejak penebangan sampai di proses di pabrik minyak kelapa sawit.
129
Kualitas minyak kelapa sawit yang dihasilkan merupakan fungsi waktu dari sejak penebangan sampai diproses. c. Mendapatkan pasokan bahan baku dengan harga yang pantas. d. Kontinyuitas supplai bahan baku. e. Kemudahan mendistribusikan produk ke pelanggan. f. Biaya distribusi produk yang minimal. g. Terpenuhinya permintaan pelanggan. h. Keuntungan yang layak dari industrinya. 4.1.4.2 Output Tidak Dikehendaki Merupakan hasil sampingan yang tidak dapat dihindarkan dari sistem yang berfungsi dalam menghasilkan keluaran yang dikehendaki.Beberapa pengaruh negatif yang potensial dapat dihasilkan oleh sistem adalah sebagai berikut: a. Fluktuasi harga dan biaya b. Supplai terhambat c. Keuntungan tidak layak 4.1.4.3 Input Terkendali Input terkendali disini merupakan peubah yang sangat perlu bagi sistem untuk melaksanakan fungsi yang dikehendaki dan sebagai peubah untuk mengubah kinerja sistem dalam pengoperasiannya. Beberapa input terkendali dalam sistem pengembangan industri ini adalah sebagai berikut: a. Volume produksi industri CPO b. Luasan lahan perkebunan sawit c. Produktivitas tanaman d. Investasi jaringan transportasi e. Investasi pelabuhan dan infrastruktur industri hilir inti f. Jumlah alat angkut g. Jenis alat angkut h. Modal i. Jumlah dan Kapasitas tanki timbun di pelabuhan 4.1.4.4 Input Tak Terkendali Input tak terkendali merupakan input yang tidak cukup penting peranannya dalam mengubah sistem namun diperlukan agar sistem dapat berfungsi. Input tak terkendali dalam sistem yang dibangun ini antara lain:
130
a. Permintaan pasar b. Kondisi alam c. Tingkat suku bunga d. Harga bahan bakar e. Harga komoditas CPO f. Produksi pesaing dan harga jualnya. g. Nilai tukar 4.1.4.5 Input Lingkungan Input lingkungan yang mempengaruhi keputusan pengembangan industri hilir inti minyak kelapa sawit antara lain terkait dengan (a) Kebijakan pemerintah; (b) Kondisi sosial; (c) Kondisi ekonomi; dan (d) Kondisi lingkungan. 4.1.5 Rancangan Basis Data 4.1.5.1 Proses Digitasi dan Konversi Data Data-data spasial yang terkait dengan agroindustri CPO sebagian diidentifikasi melalui survey langsung dengan menggunakan perangkat Global Positioning System (GPS). Sementara beberapa data spasial yang telah tersedia dengan baik, dalam format hard copy maupun digital, dilakukan proses digitasi untuk memudahkan pengolahan. Pendigitasian dilakukan pada peta kabupaten Kutei Timur dengan cara manual menggunakan perangkat lunak Autocad. Selanjutnya data yang telah didigitasi tersebut dikonversi kedalam format SHP file dari ESRI. 4.1.5.2 Data Entitas, Atribut dan Relasinya Sebagaimana yang terlah teridentifikasi pada konfigurasi sistem industri CPO yang telah digambarkan sebelumnya, ada beberapa entitas spasial yang terlibat dalam proses pengambilan keputusan pengembangan indutri hilir inti minyak kelapa sawit ini. Entitas-entitas tersebut antara lain adalah kebun kelapa sawit, pabrik minyak kelapa sawit, jaringan jalan, industri hilir serta lahan yang tersedia. Atribut-atribut dari entitas ini baik yang bersifat spasial maupun non spasial diidentifikasi dan disesuaikan dengan tujuan dari sistem pendukung keputusan yang dikembangkan.
131
Entitas-entitas yang telah teridentifikasi diatas selanjutnya diterjemahkan dalam bentuk basis data. Entitas, atribut-atribut yang penting dan keterkaitan antar entitas yang yang menjadi bangunan dari sistem basis data pendukung keputusan pengembangan industri ini digambarkan pada Gambar 4-5 berikut ini.
Jalan Kabupaten Propinsi PK
PK,FK1,FK2,FK3 ID_Kabupaten
ID_Propinsi FK5
ID_Jalur
FK2
ID_Kabupaten Nama_Jalur Longitude Lattitude Length Kondisi Biaya KecMax Max Berat
ID_Propinsi ID_KKS ID_PKS ID_Jalan ID_Jalur
Nama_Propinsi
FK4
KKS
Produktivitas_KKS
PK
ID_KKS
FK5
ID_Kabupaten Nama_KKS Longitude Lattitude Luas_Areal Tahun_Tanam
PK
Alat_Angkut
ID_Umur
PK PK
ID_PKS
FK2
ID_Kabupaten Nama_PKS Longitude Lattitude Kapasitas_Produksi
Kapasitas Kecepatan_Max Biaya
Pelabuhan
ID_Tahun Tahun
ID_Alat_Angkut
PKS
Produktivitas
Supply KKS
Tahun PK
PK
FK2 FK3 FK4
PK
ID_KKS ID_Tahun ID_Umur SP KKS-PKS SP PKS-PORT FK1 FK2 FK4 FK3
ID_KKS ID_PKS ID_AlatAngkut ID_Jalur Cost ID_Alat_Angkut
FK2 FK1 FK4 FK3
ID_Pelabuhan Nama_Pelabuhan Lattitude Longitude Kedalaman Loading Rate Unloading Rate Kapasitas Tanki
ID_PKS ID_Pelabuhan ID_AlatAngkut ID_Jalur Cost ID_Alat_Angkut
Gambar 4-5 Keterkaitan antar Entitas Pembangun Basis Data Sistem Pendukung Keputusan Spasial Pengembangan Industri Hilir CPO
4.1.6
Rancangan Peta Tematik pada GIS
Atas dasar konfigurasi sistem dan entitas yang terlibat dalam sistem agroindustri minyak kelapa sawit ini, selanjutnya dapat dirancang model sistem informasi geografis yang terbagi menjadi beberapa peta tematik seperti yang tergambar pada Gambar 4-6 berikut ini.
132
Jalan (x,y)
Pelabuhan (x,y) Pabrik CPO (x,y)
KKS (x,y)
Kabupaten (Poligon)
Propinsi (Poligon)
Gambar 4-6 Theme-theme dalam Sistem Informasi Geografis yang Dibangun
Secara lebih rinci, peta-peta tematik yang menyimpan data-data spasial maupun non spasial pada sistem pendukung keputusan ini ditampilkan dalam bentuk visual masing-masing sebagai berikut: 1. Peta Propinsi di Indonesia Peta ini berfungsi untuk menyimpan informasi mengenai wilayah Propinsi yang ada di Indonesia. File data shapefile peta Propinsi di Indonesia tersebut ditunjukkan pada Gambar 4-7.
133
Gambar 4-7 Peta Propinsi di Indonesia
2. Peta Kabupaten di Indonesia Peta ini berfungsi untuk menyimpan informasi mengenai wilayah Propinsi yang ada di Indonesia. Terdapat 440 record kabupaten yang ada di Indonesia. File data shapefile peta Propinsi di Indonesia tersebut ditunjukkan pada Gambar 4-8.
Gambar 4-8 Peta Kabupaten di Indonesia
134
3. Peta Propinsi Kalimantan Timur Peta ini berfungsi untuk menyimpan informasi mengenai wilayah Propinsi Kalimantan Timur. Terdapat 13 record kabupaten yang ada di Propinsi Kalimantan Timur. File data shapefile peta Kabupaten di Propinsi Kalimantan Timur tersebut ditunjukkan pada Gambar 4-9.
Gambar 4-9 Peta Wilayah Kalimantan Timur
4. Peta Area Kebun Kelapa Sawit (Poligon) Peta ini berfungsi untuk menyimpan informasi mengenai area kebun kelapa sawit yang berada di Kabupaten Kutei Timur dan beberapa kebun kelapa sawit terdekat.
135
Shapefile peta dari area kebun kelapa sawit yang berada di kabupaten Kutei Timur yang didigitasi dari peta yang tersedia dapat dilihat pada Gambar 4-10 berikut ini.
KK S K a b u p a te n In d o n e s i a K ab . B erau K a b . B u lu n g a n K a b . K u ta i K a b . K u ta i B a ra t K a b . K u t a i T im u r K a b . M a lin a u Kab. Nunuka n K a b . P a s ir K a b . P e n a ja m P a s e r U t a r a K o t a B a lik p a p a n K o ta B o n ta n g K o ta S a m a ri n d a K o ta T a ra k a n
SL C
PB P
N
SK P
PS U SS
AS M K P1 R
KP R BH ST SY B
AJ M
SK L
PM M
KA J
W
SP M JM S LS I LS I1 TS S KL J
PB J
E
KL H
S 100
0
100
200
M i le s
Gambar 4-10 Peta Kebun Kelapa Sawit di Kutei Timur
5. Peta Kebun Kelapa Sawit di Kutei Timur (Centroid Point) Peta ini berfungsi untuk menyimpan informasi mengenai titik-titik kebun kelapa sawit yang berada di Kabupaten Kutei Timur dan pemiliknya. Shapefile peta dari titik-titik centroid kebun kelapa sawit yang berada di kabupaten Kutei Timur dapat dilihat pada Gambar 4-11 berikut ini.
136
#Y #Y #Y #Y #Y #Y#Y #Y #Y ##YY #Y #Y#Y#Y#Y#Y#Y#Y#Y#Y Y # #Y Y # #Y #Y #Y#Y Y##Y #Y#Y #Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y #Y#Y #Y Y # Y # Y # #Y#Y #Y#Y#Y #Y #Y #Y#Y#Y#Y #Y #Y#Y #Y #Y #Y #Y #Y#Y #Y #Y #Y#Y#Y#Y#Y #Y #Y Y # Y # Y # Y # Y # #Y#Y #Y#Y #Y#Y#Y#Y#Y#Y#Y#Y #Y #Y #Y Y# #Y #Y #Y #Y #Y #Y#Y #Y#Y#Y Y# #Y#Y #Y#Y #Y #Y#Y#Y #Y#Y #Y Y # #Y #Y#Y#Y #Y#YY# #Y #Y #Y#Y Y # #Y#Y#Y #Y #Y #Y #Y #Y #Y#Y #Y #Y #Y 100
0
100
KKS NODE K a b u p a te n I n d o n e s i a N
#Y
W
E S
2 0 0 K ilo m e te r s
Gambar 4-11 Peta Centroid Point Kebun Kelapa Sawit di Kutei Timur
6. Peta Pabrik Minyak Kelapa Sawit di Kutei Timur Peta ini berfungsi untuk menyimpan informasi mengenai titik-titik pabrik minyak kelapa sawit (PKS) yang berada di Kabupaten Kutei Timur. Shapefile peta dari titik-titik pabrik minyak kelapa sawit yang berada di kabupaten Kutei Timur atas dasar survey yang dilakukan dapat dilihat pada Gambar 4-12 berikut ini.
Gambar 4-12 Peta Pabrik Minyak Kelapa Sawit di Kutei Timur
137
8. Peta Jaringan Jalan di Kutei Timur Jaringan jalan di kabupaten Kutei Timur diperoleh dari hasil survey langsung pada jalan-jalan utama dan digitasi dari peta jalan yang diperoleh dari Bakosutranal tahun 2011. Adapun peta jaringan jalan di kabupaten Kutei Timur dan kabupatenkabupaten terdekat di Kalimantan Timur dapat dilihat pada Gambar 4-13.
N W
E S
3 0 0
0
3 0 0
6 0 0
Gambar 4-13 Peta Jalan di Kutei Timur dan Kabupaten Terdekat
4.1.7
Rancang Bangun Sub Sistem Model
Untuk memenuhi kebutuhan-kebutuhan yang ada, sistem pendukung keputusan pengembangan industri berbasis spasial ini melibatkan beberapa model dengan fungsi-fungsi yang berbeda antara lain: a. Model GIS Model sistem informasi geographis digunakan untuk menyimpan data-data spasial dan non spasial yang siap untuk diolah. Model ini digunakan untuk meningkatkan akurasi dari atribut-atribut yang diolah dari elemen-elemen spasial yang ada. Dengan menggunakan teknologi GPS dan digitasi,
K ilo m e te r s
138
lokasi-lokasi yang berada di permukaan Bumi akan teridentifikasi dengan tingkat kesalahan yang lebih rendah dibandingkan dengan menggunakan asumsi-asumsi tertentu. Model GIS ini sudah didiskusikan pada sub bab sebelumnya. b. Model Analisis Spasial Model analisis spasial digunakan untuk mengolah data spasial yang melibatkan sejumlah hitungan dan evaluasi logika (matematis) yang dilakukan dalam rangka mencari atau menemukan (potensi) hubungan (relationships) atau pola-pola yang (mungkin) terdapat diantara unsurunsur geographis yang terkandung di dalam data-data digital dengan batasbatas wilayah studi tertentu. c. Model optimasi shortest path Model ini merupakan bagian dari analisis spasial untuk menentukan jalur yang terbaik atas dasar cost yang terendah. Algoritma Djikstra berfungsi untuk mendapatkan jalur/lintasan yang terbaik untuk membawa bahan baku tandan buah segar dari beberapa kebun kelapa sawit yang potensial menuju ke pabrik minyak kelapa sawit. Demikian juga untuk menemukan jalur yang terbaik dari pabrik minyak kelapa sawit menuju ke pelabuhan muat. d. Model Interaksi Spasial Penentuan Volume Interaksi Model ini menggunakan model matematis programma linier digunakan untuk mendapatkan alokasi supplai bahan baku yang terbaik dari kebun kelapa sawit yang potensial menuju ke pabrik kelapa sawit demikian juga dari pabrik kelapa sawit menuju ke alternatif pengembangan industri. e. Model Simulasi Discrete Event Simulation Model simulasi digunakan untuk mengevaluasi konfigurasi interaksi spasial yang terbangun serta untuk menentukan kebutuhan fasilitas tanki timbun dan volumenya pada pelabuhan dalam memenuhi permintaan atau volume angkutan dari pabrik minyak kelapa sawit yang membutuhkan.
139
g. Model Valuasi Usaha Model valuasi usaha ini digunakan untuk menilai investasi infrastruktur untuk pengembangan industri hilir inti minyak kelapa sawit. Model ini akan melihat value (nilai) dari kawasan industri yang dibangun dengan mempertimbangkan hasil dari analisis yang sebelumnya. Model keuangan yang dibangun disamping untuk melakukan valuasi usaha sekaligus akan digunakan untuk melihat profil risiko atas parameter-parameter utama yang menentukan nilai dari usaha investasi pengembangan kawasan industri hilir minyak kelapa sawit yang direncanakan. 4.1.8
Rancang Bangun User Interface
Perangkat lunak SDSS yang dibangun mengintegrasikan model-model yang dikembangkan dengan fasilitas spreadsheet untuk memudahkan perhitungan proyeksi yang dikendalikan oleh model matematis yang diotomatisasikan dengan menggunakan VBA. Perangkat lunak tersebut diintegrasikan dengan perangkat lunak GIS untuk melakukan analisis spasial yang dibutuhkan dan visualisasi tampilan input maupun output. Gambaran dari rancangan antar muka perangkat SDSS yang dibangun dapat dilihat pada Gambar 4-14.
Gambar 4-14 Menu Utama SDSS
140
4.2
APLIKASI MODEL DAN VERIFIKASI
4.2.1 Lokasi Pengujian Model Model diaplikasikan pada wilayah Kabupaten Kutei Timur yang memiliki potensi pengembangan agroindustri berbasis kelapa sawit sebagaimana yang dicanangkan oleh Pemerintah Daerah Propinsi Kalimantan Timur maupun Pemerintah Pusat (MenkoEkuin, 2011). Pemerintah Propinsi Kalimantan Timur telah menetapkan batasan wilayah
Agropolitan
Sangsaka1, dimana Maloy sebagai
pusat
Agroindustri dan pusat pertumbuhan(Nugroho, 2008). Kabupaten Kutai Timur sendiri merupakan salah satu wilayah hasil pemekaran dari Kabupaten Kutai dibentuk berdasarkan UU No. 47 Tahun 1999 tentang pemekaran wilayah propinsi dan kabupaten. Secara geografis,wilayah Kabupaten Kutai Timur berada pada posisi 115°56'26'' BT - 118°58'19'' BB dan 1°17'1'' LS - 1°52'39''. Menurut data dari Badan Perencanaan Pembangunan Daerah Kutei Timur (BapedaKutim, 2011), wilayah Kutei Timur memiliki luas 35.747,50 Km2 atau 17% dari luas Propinsi Kalimantan Timur.Sebagaimana yang tergambar pada Gambar 4-15, batas utara wilayah ini berbatasan dengan Kabupaten Bulungan, sebelah timur dengan Selat Makassar, sebelah selatan dengan Kabupaten Kutai Kartanegara dan sebelah barat dengan Kabupaten Kutai Kartanegara. Kabupaten Kutai Timur memiliki 18 wilayah kecamatan(BPS, 2011), yakni
Kecamatan
Sangatta
(Ibukota
Kabupaten/Ibukota
Kecamatan
Sangkulirang), Kec. Muara Bengkal, Kec. Muara Ancalong, dan Kec. Muara Wahau,Telen, Sandaran, Busang, Kaliorang, Kongbeng, Bengalon, Rantau Pulung, Sangatta Selatan, Teluk Pandan, Karangan, Kaubun, Batu Ampar dan Long Masengat. Total ada sejumlah 135 desa yang tersebar di kecamatankecamatan yang ada di Kutei Timur(BPS, 2011). Peta wilayah Kabupaten Kutei Timur diperlihatkan pada Gambar 4-15.
1
Singkatan dari Sangkulirang, Sangata dan Kaliurang, nama wilayah di kabupaten Kutei Timur
141
Gambar 4-15 Peta Wilayah Kabupaten Kutei Timur
4.2.2
Potensi dan Luas Lahan Perkebunan
Kelapa sawit adalah salah satu dari beberapa tanaman palma penghasil minyak. Berdasarkan data agroklimat, tanaman kelapa sawit sangat cocok ditanam dan diusahakan baik oleh perorangan, kelompok maupun perusahaan. Kesesuaian agroklimat dan ketersediaan lahan disertai dengan kemudahan-kemudahan regulasi yang ditawarkan oleh Pemerintah Daerah, tampaknya berhasil mengundang minat investor untuk berusaha di bidang kelapa sawit di Kabupaten Kutei Timur. Kehadiran investor berusaha pada komoditi kelapa sawit akan memberikan pengaruh signifikan, hal ini ditandai dengan tingginya animo masyarakat untuk berusaha di bidang kelapa sawit di Kabupaten Kutei Timur. Pengembangan pertanian khususnya komoditas kelapa sawit merupakan program strategis yang menjadi prioritas pembangunan ekonomi bagi Pemerintah Daerah Kutei Timur dan didukung oleh Pemerintah Pusat melalui Program Percepatan
Ekonomi
(MenkoEkuin,
2011)
dan
Sistem
Logistik
Nasional(Tamboen, Dewandhono et al., 2008), yang dikenal dengan “Sejuta Hektar Kelapa Sawit” di Kabupaten Kutei Timur. Sejak dicanangkan tahun 2005 hingga 2010, luas tanaman kelapa sawit sudah mencapai 181.282,97 ha (BPS,
142
2011) dengan produksi (TBS) sebanyak 1.005.079,71 ton. Sentra tanaman kelapa sawit di Kutei Timur berada di Kecamatan Wahau dengan luas 8.538,85 ha, Kecamatan Kaubun 6.185 ha dan Kecamatan Bengalon 5.020,39 ha. Mata pencaharian penduduk di Kabupaten Kutei Timur berdasarkan data BPS (2011) sebagian besar bekerja di bidang Pertanian 54,1%, sisanya bekerja di sektor lain yaitu Pertambangan 12,8%, Industri 2,4%, Listrik dan Air Minum 1,0%, Konstruksi 2%, Perdagangan, Hotel dan Restoran, 12,3%, Angkutan dan Komunikasi 2,3%, Keuangan 1,4% dan Jasa 11,7%. Sesuai dengan kondisi wilayah, agroklimat serta budaya masyarakat di Kabupaten Kutei Timur, pengembangan komoditi perkebunan kelapa sawit dari hulu sampai hilir sangat menjanjikan, terlebih lagi adanya dukungan dari Pemerintah, Swasta dan Perbankan. Perkembangan luas areal dari tahun ke tahun tampaknya tidak diikuti oleh sarana pengolahan, sehingga tanaman kelapa sawit rakyat walaupun telah berproduksi masih kesulitan dalam proses pengolahan dan pemasaran. Masyarakat petani belum memperoleh peluang untuk memanfaatkan potensi ekonomi dalam kegiatan off-farm dan hanya terbatas pada on-farm. Demikian juga pesatnya pertumbuhan perkebunan kelapa sawit belum ditunjang oleh infrastruktur pelabuhan yang memadai untuk saat ini sehingga pabrik-pabrik minyak kelapa sawit yang ada banyak yang harus membawa hasil produksinya ke pelabuhan di luar kabupaten Kutei Timur yang berjarak jauh dari lokasi pabrik dengan konsekuensi biaya produk menjadi lebih tinggi akibat biaya transportasi. Bertitik tolak dari kekurangan dan permasalahan diatas, maka untuk meningkatkan nilai tambah pada kegiatan off-farm sekaligus meningkatkan pendapatan petani, langkah implementasi yang dilakukan adalah mendirikan atau mengembangkan pabrik pengolahan minyak kelapa sawit. Pabrik pengolahan kelapa sawit yang didirikan dalam rangka mendukung dan memberikan nilai tambah pada usaha perkebunan kelapa sawit rakyat atau kelompok tani akan dapat mengisi pasar domestik, sedangkan CPO yang dihasilkan oleh Perkebunan Besar Swasta untuk tujuan ekspor.
143
4.2.3
Identifikasi Sumber Bahan Baku dengan GIS
Bahan baku agroindustri minyak kelapa sawit berasal dari perkebunan kelapa sawit yang tersebar hampir merata di seluruh wilayah Kabupaten Kutei Timur. Sebaran dari perkebunan kelapa sawit di Kutei Timur diperlihatkan pada output dari sistem informasi geografis yang dibangun dalam penelitian ini sebagaimana terlihat pada Gambar 4-16. Terdapat 160 Kebun yang teridentifikasi di Kabupaten Kutei Timur. Secara lengkap daftar kebun kelapa sawit yang ada di Kabupaten Kutei Timur dilampirkan pada Lampiran 1.
Gambar 4-16 Kebun Kelapa Sawit di Kabupaten Kutei Timur
Dari 160 kebun kelapa sawit yang tersebar di kabupaten Kutei Timur, sebagian besar (68,8%) dimiliki oleh perusahaan swasta (110 areal kebun), sebagian lagi sebesar 0,6% dimiliki oleh Badan Usaha Milik Negara (1 areal kebun) dan sisanya sebanyak 30,6% dimiliki oleh Koperasi Masyarakat (49 areal kebun). Secara spasial atas dasar kepemilikan areal kebun kelapa sawit, diperlihatkan pada peta di Gambar 4-17.
144
N K K S PO LIG O N BUM N W K op e ras i Sw as ta S K ab u pa te n Ind on e sia
90
0
90
E
180 Kilometer s
Gambar 4-17 Sebaran Kebun Kelapa Sawit Berdasarkan Kepemilikan
4.2.4 Perhitungan Luasan Kebun Menggunakan Analisis Spasial Dengan menggunakan analisis spasial luasan pada poligon-poligon konsesi kebun kelapa sawit yang terdapat di Kabupaten Kutei Timur, diperoleh perkebunan kelapa sawit di Kutei Timur adalah seluas 7.215.481.135 m2 atau seluas 7.215,48 km2. Kalau dikonversi ke ha, maka diperoleh luasan kebun kelapa sawit di Kabupaten Kutei Timur seluas 721.548 ha. Tabel 4-2 berikut ini memperlihatkan jumlah dan luasan kebun kelapa sawit
berdasarkan
kepemilikannya
hasil
dari
pengolahan
data
dengan
menggunakan GIS. Tabel 4-2 Konsesi Lahan Perkebunan Sawit di Kutei Timur
No 1 2 3
Pemilik BUMN Koperasi Swasta Jumlah
Jumlah
Luas (ha)
1 49 110
15.960 49.941 655.647 721.548
Dari luasan tersebut, yang telah ditanami lebih kurang 408.881 ha. BUMN 75%, Koperasi dan Masyarakat 100% dan Swasta 52,9%.
145
4.2.5
Potensi Supplai Bahan Baku TBS
Produktivitas tanaman kelapa sawit bergantung dari umur tanamannya (Pahan, 2010). Atas dasar data-data yang tersedia, diperoleh gambaran jumlah kebun kelapa sawit berdasarkan estimasi umurnya sebagaimana yang diperlihatkan pada histrogram pada Gambar 4-18. 25
Jumlah Kebun
20
15
10
5
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Umur Tanaman Kelapa Sawit
Gambar 4-18 Histogram Jumlah Kebun Kelapa Sawit di Kutei Timur Berdasarkan Umur Tanaman
Berdasarkan atas estimasi produktivitas dari masing-masing kebun kelapa sawit di Kabupaten Kutei Timur, dapat diperkirakan jumlah produksi atau kapasitas supplai tandan buah segar dari perkebunan-perkebunan yang ada. Dengan menggunakan data yang ada, estimasi kapasitas atau kemampuan supplai bahan baku berupa tandan buah segar dari perkebunan kelapa sawit di kabupaten Kutei Timur pada tahun 2012 adalah sebesar 4.993.099 ton. Produksi tandan buah segar dari masing-masing kelompok pemilik kebun diperlihatkan padaTabel 4-3 dan Gambar 4-19
146
Tabel 4-3 Kapasitas Supplai Tandan Buah Segar di Kabupaten Kutei Timur
No
Pemilik 1 BUMN 2 Koperasi 3 Swasta Jumlah
Jumlah
Produksi (Ton) 1 311.220 49 631.704 110 4.050.175 4.993.099
Estimasi Produksi TBS (Ton) 6%
13% BUMN Koperasi
81%
Swasta
Gambar 4-19 Produksi Tandan Buah Segar di Kutei Timur
4.2.6 Identifikasi Agroindustri CPO dengan GPS Pabrik minyak kelapa sawit umumnya berada di dekat perkebunan kelapa sawit karena alasan teknis yang terkait dengan kualitas. Teknologi GPS dalam hal ini digunakan untuk mengidentifikasi lokasi-lokasi pabrik minyak kelapa sawit di Kabupaten Kutei Timur. Perangkat GPS yang digunakan adalah GPS Garmin tipe 60CSX dengan tingkat ketelitian sampai 4m. Dengan menggunakan perangkat GPS tersebut diperoleh titik-titik pabrik minyak kelapa sawit di Kutei Timur seperti yang digambarkan pada Gambar 4-20.
147
Gambar 4-20 Titik-titik Pabrik Minyak Kelapa Sawit di Kutei Timur
Terdapat 12 titik pabrik minyak kelapa sawit yang teridentifikasi yang kesemuanya dimiliki oleh perusahaan swasta nasional sebagaimana yang diperlihatkan pada Tabel 4-4. Tabel 4-4 Daftar Pabrik Minyak Kelapa Sawit di Kutei Timur dan Koordinat Lokasinya NO 1 2 3 4 5 6 7 8 9 10 11 12
KODE PKS001 PKS002 PKS003 PKS004 PKS005 PKS006 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012
LONGITUDE LATTITUDE 476879.556336 55721.943393 494671.535207 109349.140899 484406.311217 114442.881480 472429.940240 112745.619270 483979.286921 128874.661294 504722.911819 123356.515504 626846.557856 111707.207726 616364.792927 113613.998922 598393.546786 128466.496051 590480.246941 128251.775707 576789.771227 139284.905707 516289.519266 145001.404311
Catatan: Proyeksi yang digunakan adalah UTM WGS 1984 Zone 50N 4.2.7
Kapasitas Pabrik dan Kebutuhan Bahan Baku
Kapasitas pabrik minyak kelapa sawit untuk masing-masing pabrik yang teridentifikasi sebelumnya diperoleh dari Dinas Perkebunan Kabupaten Kutei Timur. Dengan menggunakan asumsi rata-rata jam operasi pabrik adalah 20 jam
148
sehari dan pabrik beroperasi selama 300 hari per tahunnya, serta rata-rata rendemen 20% sebagaimana yang dilaporkan oleh Dinas Perkebunan Propinsi Kalimantan Timur, diperoleh kebutuhan baku sebagaimana yang diperlihatkan pada Tabel 4-5. Tabel 4-5 Kapasitas Pabrik dan Perkiraan Kebutuhan Bahan Baku Tandan Buah Segar pada tahun 2012 NO
1 2 3 4 5 6 7 8 9 10 11 12
KODE
PKS001 PKS002 PKS003 PKS004 PKS005 PKS006 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012
NO KODE PERUSAHAAN
1 PKS001 Telen Prima Sentosa Pt. Tapian Nadenggan Pt.2 PKS002 PKS003 Kresna Duta Agroindo3Pt. 4 PKS004 Swakarsa Sinar Sentosa Pt. PKS005 Karya Nusa Eka Daya5Pt. PKS006 Kresna Duta Agroindo6Pt. PKS007 Etam Bersama Lestari7Pt. 8 PKS008 Sumber Kharisma Persada Pt. 9 PKS009 Multi Pasifik Internasional Pt. 10 Pt. PKS010 Sawit Prima Nusantara 11 PKS011 Gunta Samba Pt. 12 PKS012 Gunta Samba Pt. JUMLAH
PERUSAHAAN KAPASITAS JAM HARI KEBUTUHAN KAPASITAS JAM HARI KEBUTUHAN OPERASI/ OPERASI/ TBS/TAHUN (TON OPERASI/ OPERASI/(TON TBS/TAHUN TBS/JAM) HARI TAHUN TBS/JAM) HARI TAHUN Telen Prima Sentosa Pt. 45270.000 20 300 270.000 45 20 300 Tapian Nadenggan 40240.000 20 300 240.000 40 Pt. 20 300 Kresna Duta Agroindo Pt. 20 30180.000 20 300 180.000 30 300 Swakarsa Sinar90Sentosa Pt. 20 90540.000 20 300 540.000 300 Karya Nusa Eka 45270.000 20 300 270.000 45 Daya Pt. 20 300 Kresna Duta Agroindo Pt. 20 15 90.000 20 300 90.000 15 300 Etam Bersama30 Lestari Pt. 20 30180.000 20 300 180.000 300 Sumber Kharisma 45270.000 20 300 270.000 45 Persada Pt. 20 300 Multi Pasifik Internasional Pt.20 45270.000 20 300 270.000 45 300 Sawit Prima Nusantara Pt. 20 45270.000 20 300 270.000 45 300 Gunta Samba Pt. 45270.000 20 300 270.000 45 20 300 Gunta Samba Pt. 30180.000 20 300 180.000 30 20 300 JUMLAH 505 3.030.000 505 3.030.000
Total kapasitas terpasang per tahun pabrik minyak kelapa sawit di kabupaten Kutei Timur adalah sebesar 505 ton per jam. Perkiraan kebutuhan bahan baku tandan buah segar yang dihasilkan oleh kebun kelapa sawit sebesar adalah sebanyak 3.030.000 ton pada tahun 2012. 4.2.8 Analisis Shortage/Surplus Secara agregat, berdasarkan analisis dan perhitungan yang telah dilakukan sebelumnya, dapat diperkirakan kondisi demand dan supplai tandan buah segar yang ada di daerah Kabupaten Kutei Timur. Grafik pada Gambar 4-21 menunjukkan proyeksi kapasitas pabrik pengolahan minyak kelapa sawit di kabupaten Kutei Timur dan proyeksi kebutuhan bahan bakunya. Berdasarkan gambaran pada
Gambar 4-21, apat dilihat bahwa di
Kabupaten Kutei Timur terdapat kekurangan kapasitas pabrik pengolahan minyak kelapa sawit pada tahun 2012 dan sesudahnya. Apabila tidak ada penambahan kapasitas pabrik ke depannya, maka cukup banyak pekebun yang tidak dapat memasarkan produk hasil pertanyaannya di daerah Kutei Timur. Petani mungkin harus membawa hasil pertaniannya ke luar daerah Kutei Timur atau mungkin
149
harus menutup perkebunannya atau menggantikannya dengan komoditas yang lainnya. Sebagaimana kondisi yang ada di lapangan, cukup banyak hasil produksi kebun kelapa sawit yang diproses di daerah lain karena keterbatasan kapasitas yang ada. Dengan demikian dapat disimpulkan bahwa dibutuhkan peningkatan kapasitas pabrik minyak kelapa sawit di Kutei Timur agar rencana Pemerintah untuk menjadikan daerah ini sebagai pusat klaster industri minyak kelapa sawit dan turunannya dapat terlaksana dengan baik. Kondisi shortage yang setelah tahun 2012 berangsur-angsur menurun jika tidak ada penambahan kapasitas pabrik baru dan juga tidak perubahan volume produksi dari perkebunan yang ada. Penurunan shortage ini terjadi karena umur tanaman kelapa sawit yang semakin tua dan semakin menurun produktivitasnya. Namun, dalam 10 tahun ke depan apabila tidak terjadi perubahan kapasitas pada perkebunan dan industri pengolahan minyak kelapa sawit, maka kondisi shortage ini akan terjadi sampai 10 tahun ke depan dan beberapa tahun berikutnya. Analisis Shortage/Surplus Kapasitas Pabrik Pengolahan MKS 12,000,000
(1,000,000)
10,000,000 (2,000,000) 8,000,000
(3,000,000) (4,000,000)
6,000,000 (5,000,000) 4,000,000
(6,000,000) (7,000,000)
2,000,000
(8,000,000) -
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Kebutuhan KKS
3,030,
3,030,
3,030,
Supply KKS
4,993,
7,237,
8,710,
3,030,
3,030,
3,030,
3,030,
3,030,
3,030,
3,030,
3,030,
3,030,
3,030,
9,845,
10,701 11,196 11,283 11,166 11,081 10,952 10,780 10,277
Surplus/Shortage (1,963
(4,207
(5,680
9,878,
(6,815
(7,671
(6,848
Kebutuhan KKS
(8,166
(8,253
Supply KKS
(8,136
(8,051
(7,922
(7,750
(7,247
Surplus/Shortage
Gambar 4-21 Analisis Surplus/Shortage Kapasitas Pabrik
(9,000,000)
150
4.2.9 Identifikasi Alternatif Lokasi Pengembangan Industri Melihat kondisi jenis entitas industri yang saat ini ada di wilayah kajian dimana industri hilir minyak kelapa sawit belum berkembang terutama industri hilir inti yang berbahan baku CPO, mau tidak mau agar industri hilir berkembang lebih lanjut maka harus dikembangkan terlebih dahulu industri inti nya. Industri inti ini antara lain adalah industri Fatty acid, Glycerin, Biodiesel, dan Fatty Alcohol. Kapasitas produksi yang ekonomis untuk industri yang akan dikembangkan ini berurut-turut adalah 150.000 ton, 100.000 ton, 75.000 ton, dan 150.000 ton. CPO consumption figure untuk masing-masing industri tersebut masing-masing adalah 94,8%, 10,1%, 98% dan 54,8% (Hambali, 2005). Total kebutuhan CPO per tahun untuk pengembangan industri tersebut adalah sebesar 1.498.914 ton. Sebagaimana yang telah dibahas pada bagian sebelumnya, penentuan lokasi pengembangan industri merupakan permasalahan yang kompleks karena banyak aspek yang harus dipertimbangkan. Dari sudut pandang spasial, aspek yang harus dipertimbangkan dalam hal ini adalah terkait dengan kesesuaian lahan berdasarkan
persyaratan-persyaratan
tertentu
dari
industri
yang
akan
dikembangkan (Malczewski, 1999; Sharifi, Boerboom et al., 2006) dan aspekaspek yang terkait dengan interaksi spasial dengan entitas spasial yang lainnya (Malczewski, 1999). Aspek-aspek yang dipertimbangkan tersebut ada bersifat kuantitatif (bisa dihitung) sebagaimana halnya dengan biaya transportasi dan ada aspek-aspek yang bersifat kualiatif. 4.2.9.1 Persyaratan Kesesuaian Lahan Untuk mengidentifikasi alternatif lokasi awal pengembangan industri hilir minyak kelapa sawit ini, digunakan model analisis spasial yang dikembangkan dalam penelitian ini. Persyaratan-persyaratan yang diidentifikasi dari pakar dalam bidang infrastruktur industri dan pelabuhan ditunjukkan pada Tabel 4-6. Tabel 4-6 Persyaratan Lahan untuk Lokasi Pengembangan Industri Hilir Minyak Kelapa Sawit Aspek Fisik
Aspek Lingkungan
Luas area yang tersedia
Angin
Ketersediaan Utilitas &
Cuaca
Aspek Ekonomi, Sosial Dan Politik Biaya investasi infrastruktur industri Biaya operasional
151
Aspek Fisik infrastruktur Akses (jarak) pada sumber air bersih Kondisi tanah Jarak ke jaringan jalan Kedalaman perairan Alur laut
Aspek Lingkungan
Tinggi gelombang Kecepatan arus Pasang surut Sedimentasi
Aspek Ekonomi, Sosial Dan Politik pengelolaan kawasan Kemudahan perizinan Pajak dan pungutan-pungutan lain Dukungan masyarakat Ketersediaan tenaga kerja
Berdasarkan atas kriteria-kriteria yang ada, selanjutnya ditentukan preferensi atas kriteria yang ada oleh pakar-pakar yang memahami secara teknis persyaratanpersyaratan lokasi dari industri hilir CPO. Model AHP digunakan dalam hal ini untuk menentukan bobot preferensi dari masing-masing kriteria yang selanjutnya bobot tersebut dimasukkan dalam sistem pendukung keputusan yang dibangun pada penelitian ini sebagaimana yang dapat dilihat pada Gambar 4-22.
Gambar 4-22 Model Penentuan Lokasi Pengembangan Industri Hilir CPO dengan Spatial Decision Support IKG2012
4.2.9.2 Alternatif Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit Atas dasar persyaratan-persyaratan yang
dibutuhkan untuk pengembangan
industri hilir inti, Eksekusi model yang dibangun menghasilkan 3 alternatif lokasi lahan dan pelabuhan potensial yang dapat digunakan untuk mengirimkan hasil produksi dari pabrik kelapa sawit yang ada. Lokasi tersebut tidak semuanya
152
berada di Kabupaten Kutei Timur namun masih terjangkau oleh pabrik-pabrik minyak kelapa sawit yang ada di Kutei Timur. Lokasi tersebut adalah di LKI001, LKI002 dan LKI003. Koordinat lokasi masing-masing alternatif lokasi tersebut ditunjukkan pada Tabel 4-7. Tabel 4-7 Daftar Alternatif Lokasi Pengembangan Industri ID KODE 1 LKI001 2 LKI002 3 LKI003
X 609851.000000 621605.000000 553998.000000
Y 101634.000000 251748.000000 19197.000000
Gambar 4-23 Alternatif Lokasi Pengembangan Industri Hilir Inti Kelapa Sawit
153
a. Alternatif Lokasi LKI001 Kawasan LKI001 memiliki letak geografis yang yang sangat strategis, berada di lintasan alur laut kepulauan indonesia II (alki II) yang merupakan lintasan laut perdagangan internasional & berada di kawasan pusat ekonomi dunia masa depan (pacific rim). Kawasan LKI001 sesuai dengan RTRW berada dalam Kawasan Andalan Sasamawa (Sangatta, Sangkulirang dan Muara Wahau). Ke depannya kawasan ini akan dipersiapkan sebagai kawasan pengembangan klaster industri berbasis kelapa sawit. Saat ini pada koordinat UTM 621605, 101634 telah terbangun pelabuhan yang hanya dapat disandari oleh transportasi laut maksimum 5000 ton karena kedalamannya tidak memenuhi syarat untuk berlabuhnya kapalkapal besar. Ke depan, di sekitar lokasi ini akan didirikan pelabuhan yang dapat disandari oleh kapal 100 ribu ton. b. Alternatif Lokasi LKI002 Letak pelabuhan eksisting LKI002 berada pada posisi 02o10’00 w/ 117o-29’00” bt. Panjang alur + 60 mil dengan lebar dari muara sungai ke kiani ± 100 m’ dan dari kiani ke tg.redeb ± 50 m. Kolam pelabuhan yang dimiliki dengan kedalaman 5m’-7m’. Luas kolam = 35.000 m2 dengan panjang dermaga 181.5 m’. Lapangan penumpukan petikemas = 2.262 m² dengan fasilitas pengiriman CPO. Alternatif lokasi yang dipertimbangkan terletak di dekat pelabuhan eksisting yang ada saat ini. c. Alternatif Lokasi LKI003 Diantara alternatif Pelabuhan yang ada, Pelabuhan ini memiliki infrastruktur yang paling mendukung untuk kegiatan pengiriman CPO keluar dari Kutei Timur. Disamping itu, di lokasi dermaga terdapat beberapa industri yang mendukung pengembangan industri hilir minyak kelapa sawit khususnya untuk produksi biodiesel. 4.2.10 Jaringan Transportasi, Aksebilitas dan Kondisinya Panjang jalan di Kabupaten Kutei Timur pada tahun 2010 menurut Badan Pusat Statistik Daerah Kutei Timur (2011) adalah sepanjang 1620 km. Jalan Negara 21%, Jalan Provinsi 18%, Jalan Kabupaten 62%, dan Jalan Usaha tani 0%. Tidak
154
ada penambahan jaringan jalan selama tahun 2010 dan 2011. Jaringan transportasi jalan dibagi menjadi beberapa ruas atas dasar kesamaan kesamaan atribut yang dimiliki terkait dengan kondisi jalan yang dimiliki. Atas dasar kesamaan atribut tersebut terdapat 118 ruas jalan dengan kondisi sebagaimana yang tertera pada tabel berikut ini. Tabel 4-8 Kondisi Ruas Jalan pada Lokasi Kajian KONDISI RUAS JALAN Sangat Baik Baik Rusak TOTAL
JUMLAH 18 52 48 118
KECEPATAN >70 50 - 70 <50
Aksebilitas jaringan jalan terhadap fasilitas-fasilitas yang terkait dengan agroindustri kelapa sawit ini seperti perkebunan dan pabrik pengolahan kelapa sawit secara umum untuk kondisi saat ini, berdasarkan analisis spasial yang dilakukan, masih dalam kondisi yang cukup baik sebagaimana yang tergambar pada Gambar 4-24. Namun kondisi jalan sebagian besar dalam keadaan tidak memadai dengan kecepatan kendaraan hanya dibawah 50 Km per jam.
Gambar 4-24 Jaringan Jalan dan Aksebilitas terhadap Fasilitas Perkebunan dan Pabrik Pengolahan
155
4.2.11 Shortest Path Dengan menggunakan model Algoritma Djikstra, diperoleh jalur-jalur terbaik dari kebun menuju ke pabrik maupun dari pabrik menuju ke pelabuhan muat atau lokasi pengembangan industri. Jalur terbaik dalam hal ini dapat merupakan jalur terpendek, jalur tercepat maupun jalur termurah. Hasil penggunaan model shortest path dari kebun ke pabrik secara visual diperlihatkan pada Gambar 4-25. Sementara dari pabrik menuju ke lokasi pengembangan dapat dilihat pada Gambar 4-26.
Gambar 4-25 Shortest Path dari Kebun Kelapa Sawit menuju Pabrik CPO (Contoh)
156
Gambar 4-26 Analisis Shortest Path dari Pabrik menuju Pelabuhan Muat dengan Menggunakan Algoritma Djikstra
Hasil analisis jalur terbaik dengan menggunakan algoritma Djikstra ditunjukkan pada Gambar 4-26. Atas dasar hasil yang ada, ternyata jalur yang terpendek tidak selalu sama dengan jalur tercepat dan termurah yang disebabkan oleh kondisi jalan yang ada. Oleh karena itu, berdasarkan gambaran yang diperoleh, sebaiknya Pemerintah dapat melakukan pengembangan infrastruktur secara tepat sehingga kinerja industri CPO di daerah kajian menjadi lebih optimal. 4.2.12 Profil Interaksi Spasial Jarak, Waktu dan Biaya antara Pabrik Pengolahan Minyak Kelapa Sawit PKS dengan Kebun Kelapa Sawit (KKS) Interaksi spasial antara entitas kebun kelapa sawit (KKS) dengan pabrik pengolahan minyak kelapa sawit (PKS) terjadi karena ada kebutuhan bahan baku berupa tandan buah segar dari entitas pabrik pengolahan. Interaksi spasial yang dapat menghasilkan cost yang terendah diperoleh dengan menggunakan kombinasi algoritma Djikstra dan model transportasi. Algoritma Djikstra dalam hal ini digunakan untuk mendapatkan cost yang terendah pada jaringan yang terdiri dari ruas-ruas jalan yang menguhubungkan antara entitas KKS dengan PKS. Model transportasi yang bertujuan meminimalkan cost dalam hal ini digunakan untuk memperoleh kuantitas (tonase) yang optimal dengan adanya interaksi dari KKS dan PKS sebagai akibat dari kebutuhan bahan baku tandan
157
buah segar dari entitas pabrik minyak kelapa sawit (PKS) yang dihasilkan oleh entitas kebun kelapa sawit (KKS). Pola interaksi spasial yang optimal dari kebun kelapa sawit dengan pabrik minyak kelapa sawit dalam hal ini mempertimbangkan atribut spasial yang terkait dengan produktivitas tanaman kelapa sawit sesuai dengan umur tanamannya dan atribut non spasial dari entitas pabrik pengolahan tandan buah segar berupa kapasitas produksinya. Disamping itu, pola interaksi spasial yang optimal dari KKS dan PKS ini juga mempertimbangkan kondisi jaringan jalan yang menghubungkan antara entitas KKS dan PKS dimana ruas-ruas yang terlibat dalam jaringan memiliki karakteristik yang berbeda-beda terkait dengan kualitas infrastruktur yang ada saat ini. Interaksi spasial yang dihasilkan dari perangkat lunak IKG2012 yang terkait dengan jarak sebagai cost antara entitas kebun kelapa sawit dengan pabrik pengolahan minyak kelapa sawit (CPO) diperlihatkan pada peta tabel hasil eksekusi model yang dibangun berikut ini:
Gambar 4-27 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Jarak sebagai Cost
158
Tabel 4-9 Interaksi Spasial Jarak Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 PKS PKS001 PKS002 PKS003 PKS004 PKS005 PKS006 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Jarak) Jumlah KKS Cost (Jarak) Suplai Suplai 6 4.763.709.799 4 2.918.491.751 7 3.188.585.960 7 3.190.073.468 3 3.666.678.138 3 3.669.887.331 16 20.967.403.484 15 16.573.935.151 7 6.932.387.580 4 3.969.781.297 1 324.163.710 1 324.163.710 10 11.358.239.900 6 4.806.515.185 12 10.444.155.838 9 5.993.528.253 9 7.840.367.246 6 5.671.456.172 12 9.437.411.273 9 3.601.341.021 15 6.441.973.094 15 3.260.768.075 12 2.950.240.523 11 2.442.780.393 110 88.315.316.544 90 56.422.721.807
2014 Jumlah KKS Suplai 4 8 4 13 3 1 6 8 7 8 14 11 87
Cost (Jarak) 2523683806 3188320196 3655079168 14829504798 3600569539 324163710 4066941568 4448071901 4748900876 2644536478 2173590970 2180774257 48.384.137.265
Berdasarkan hasil eksekusi perangkat lunak IKG2012 yang dikembangkan terlihat bahwa proyeksi jumlah pemasok tandan yang terlibat untuk mensuplai pabrik pengolahan bervariasi dari tahun ke tahun mulai tahun 2012 sampai dengan 2014. Jumlah pemasok yang memasok ke masing-masing pabrik pengolahan berbeda-beda tiap tahunnya dan total jumlah pemasok dari tahun ke tahun mengalami penurunan. Variasi ini disebabkan oleh fluktuasi produksi dari masing-masing kebun kelapa sawit yang diakibatkan oleh umur tanaman. Ketika jumlah produksi dari kebun yang terdekat ke pabrik mengalami peningkatan, maka pabrik akan cenderung memilih pasokan dari kebun yang terdekat untuk meminimalkan total cost pengadaannya. Interaksi spasial yang dihasilkan dari perangkat lunak IKG2012 dengan waktu tempuh sebagai cost antara entitas kebun kelapa sawit dengan pabrik pengolahan minyak kelapa sawit (CPO) diperlihatkan pada gambar dan tabel berikut ini:
159
Gambar 4-28 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Waktu sebagai Cost Tabel 4-10 Interaksi Spasial Waktu Tempuh Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 PKS PKS001 PKS002 PKS003 PKS004 PKS005 PKS006 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Waktu Jumlah KKS Cost (Waktu Suplai Tempuh) Suplai Tempuh) 6 176.537 4 105.284 7 73.026 7 73.065 4 84.373 5 67.586 13 556.505 12 471.957 8 134.709 5 55.698 1 10.710 1 10.710 10 209.665 6 77.660 12 164.310 9 101.203 9 186.349 6 140.307 12 233.149 9 91.855 15 91.144 15 45.599 12 49.816 11 41.025 109 1.970.294 90 1.281.948
2014 Jumlah KKS Suplai 4 8 7 11 3 1 5 8 6 8 14 11 86
Cost (Waktu Tempuh) 88.166 72.964 54.742 431.069 51.189 10.710 65.778 79.056 125.644 68.515 32.450 36.462 1.116.744
Interaksi spasial yang dihasilkan dari perangkat lunak IKG2012 dengan biaya transportasi sebagai cost antara entitas kebun kelapa sawit dengan pabrik pengolahan minyak kelapa sawit (CPO) diperlihatkan pada gambar dan tabel berikut ini:
160
Gambar 4-29 Hasil Eksekusi Model Interaksi Spasial PKS dengan KKS dengan Biaya Transportasi sebagai Cost Tabel 4-11Interaksi Spasial Biaya Transportasi Sebagai Cost antara Entitas Kebun Kelapa Sawit dengan Pabrik Pengolahan Kelapa Sawit di Kabupaten Kutei Timur dari Tahun 2012 - 2014 PKS PKS001 PKS002 PKS003 PKS004 PKS005 PKS006 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Biaya Jumlah KKS Cost (Biaya Suplai Transport) Suplai Transport) 6 6.055.529.562 5 3.485.491.557 7 2.591.428.806 7 2.592.757.845 5 2.704.166.149 5 2.233.915.639 14 19.188.554.111 13 16.013.178.081 6 5.107.540.488 4 2.385.187.210 1 324.163.710 1 324.163.710 10 7.990.992.979 6 3.011.459.848 12 6.628.227.788 9 3.968.934.042 9 6.619.358.754 6 4.892.547.279 12 8.348.724.997 9 3.248.506.203 15 3.564.002.548 15 1.790.163.497 12 1.895.749.540 11 1.561.043.456 109 71.018.439.434 91 45.507.348.368
2014 Jumlah KKS Suplai 4 8 6 12 3 1 5 8 7 8 14 11 87
Cost (Biaya Transport) 2.822.599.649 2.588.959.519 1.972.576.542 14.954.059.581 2.163.351.465 324.163.710 2.625.773.378 3.040.387.043 4.310.402.760 2.389.322.561 1.260.112.848 1.387.482.524 39.839.191.579
4.2.13 Profil Interaksi Spasial Jarak, Waktu dan Biaya Alternatif Lokasi Pengembangan Industri Interaksi spasial yang dihasilkan dari perangkat lunak IKG2012 dengan beberapa kriteria cost antara lain jarak, waktu tempuh dan biaya transportasi antara entitas pabrik pengolahan minyak kelapa sawit (CPO) dengan alternatif pengembangan industri diperlihatkan pada peta hasil eksekusi model pendukung keputusan spasial berikut ini:
161
Gambar 4-30 Hasil Eksekusi Model Interaksi Spasial Pabrik Pengolahan CPO dengan Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit
Hasil eksekusi model menunjukkan bahwa interaksi spasial antara pabrik pengolahan minyak kelapa sawit dengan industri hilir minyak kelapa sawit yang dikembangkan, dengan berbagai kriteria baik jarak, waktu maupun biaya transportasi, memiliki pola interaksi entitas yang terhubung adalah sama. 4.2.13.1 Alternatif Lokasi Industri LKI001 Berdasarkan analisis interaksi spasial jarak sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI001 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-12 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 Dari
Tujuan
Cost/Ton (Km/Ton)
1
2
3
PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012
LKI001 LKI001 LKI001 LKI001 LKI001 LKI001 LKI001
225.177 91.590 76.290 46.436 54.853 79.255 178.235 Total
2012 Alokasi 4 58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
Alokasi (Ton) dan Jarak (Km) Sebagai Cost 2013 2014 Cost Alokasi Cost Alokasi Cost 5 6 7 8 9
13.266.052.916 16.486.155.000 20.598.183.900 12.537.824.490 14.810.410.170 21.398.753.070 32.082.269.040 131.179.648.586
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
13.266.052.916 16.486.155.000 20.598.183.900 12.537.824.490 14.810.410.170 21.398.753.070 32.082.269.040 131.179.648.586
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
13.266.052.916 16.486.155.000 20.598.183.900 12.537.824.490 14.810.410.170 21.398.753.070 32.082.269.040 131.179.648.586
Untuk alternatif lokasi LKI001, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS007, PKS008, PKS009, PKS010,
162
PKS011 dan PKS012 dengan total cost keseluruhan volume adalah sebesar 131.179.648.586 dengan total yang sama dari tahun 2012 sampai dengan 2014. Interaksi spasial yang terkait dengan waktu tempuh sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI001 dari tahun 2012-2014, menghasilkan alokasi optimal dan cost sebagai berikut: Tabel 4-13 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 Dari
Tujuan
Cost/Ton (Jam/Ton)
2
3
1 PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012
LKI001 LKI001 LKI001 LKI001 LKI001 LKI001 LKI001
5,2400 2,4070 2,1000 1,1700 1,4200 1,8800 4,5000 Total
Alokasi (Ton) dan dan Waktu Tempuh (Jam) Sebagai 2012 2013 2014 Alokasi Cost Alokasi Cost Alokasi Cost 4 5 6 7 8 9 58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
308.709 433.260 567.000 315.900 383.400 507.600 810.000 3.325.869
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
308.709 433.260 567.000 315.900 383.400 507.600 810.000 3.325.869
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
308.709 433.260 567.000 315.900 383.400 507.600 810.000 3.325.869
Untuk alternatif lokasi LKI001, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS007, PKS008, PKS009, PKS010, PKS011 dan PKS012 dengan total cost untuk keseluruhan volume pasokan adalah sejumlah 3.325.869 dengan total yang sama dari tahun 2012 sampai dengan 2014.. Sementara untuk analisis interaksi spasial yang terkait dengan biaya transportasi sebagai cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI001 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-14 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI001 Dari 1 PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012
Tujuan
Cost/Ton (Rp/Ton)
2
3
LKI001 LKI001 LKI001 LKI001 LKI001 LKI001 LKI001
182.616 81.583 70.108 41.408 49.420 67.111 160.463 Total
Alokasi (Ton) dan Biaya Transportasi sebagai Cost (Rp.) 2012 2013 2014 Alokasi Cost Alokasi Cost Alokasi Cost 4 5 6 7 8 9 58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
10.758.646.388 14.684.952.600 18.929.143.260 11.180.047.140 13.343.310.360 18.120.054.510 28.883.264.040 115.899.418.298
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
10.758.646.388 14.684.952.600 18.929.143.260 11.180.047.140 13.343.310.360 18.120.054.510 28.883.264.040 115.899.418.298
58.914 180.000 270.000 270.000 270.000 270.000 180.000 1.498.914
10.758.646.388 14.684.952.600 18.929.143.260 11.180.047.140 13.343.310.360 18.120.054.510 28.883.264.040 115.899.418.298
163
Untuk alternatif lokasi LKI001, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS007, PKS008, PKS009, PKS010, PKS011 dan PKS012 dengan total biaya transportasi sebagai cost untuk keseluruhan volume pasokan sebesar Rp. 115.899.418.298. 4.2.13.2 Alternatif Lokasi Industri LKI002 Berdasarkan analisis interaksi spasial jarak sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI002 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-15 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 Dari 1 PKS002 PKS003 PKS004 PKS005 PKS006 PKS012
Tujuan
Cost/Ton (Km/Ton)
2
3
LKI002 LKI002 LKI002 LKI002 LKI002 LKI002
346.150 330.583 346.950 342.381 323.117 274.584 Total
Alokasi (Ton) dan Jarak Tempuh sebagai Cost (Km) 2012 2013 2014 Alokasi Biaya Alokasi Biaya Alokasi Biaya 4 5 6 7 8 9 240.000 180.000 538.914 270.000 90.000 180.000 1.498.914
83.076.075.120 59.504.917.500 186.976.010.207 92.442.827.880 29.080.541.250 49.425.170.580 500.505.542.537
240.000 180.000 538.914 270.000 90.000 180.000 1.498.914
83.076.075.120 59.504.917.500 186.976.010.207 92.442.827.880 29.080.541.250 49.425.170.580 500.505.542.537
240.000 180.000 538.914 270.000 90.000 180.000 1.498.914
83.076.075.120 59.504.917.500 186.976.010.207 92.442.827.880 29.080.541.250 49.425.170.580 500.505.542.537
Untuk alternatif lokasi LKI002, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS003, PKS004, PKS005, PKS006, dan
PKS012
dengan
total
cost
keseluruhan
volume
adalah
sebesar
500.505.542.537 dengan total yang sama dari tahun 2012 sampai dengan 2014. Interaksi spasial yang terkait dengan waktu tempuh sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI002 dari tahun 2012-2014, menghasilkan alokasi optimal dan cost sebagai berikut:
164
Tabel 4-16 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 Dari
Tujuan
Cost/Ton (Jam/Ton)
2
3
1 PKS002 PKS003 PKS004 PKS005 PKS006 PKS012
LKI002 LKI002 LKI002 LKI002 LKI002 LKI002
Alokasi (Ton) dan Waktu Tempuh sebagai Cost (Km.) 2012 2013 2014 Alokasi Cost Alokasi Cost Alokasi Cost
8,3900 8,0700 8,3800 8,2400 7,8800 6,5800 Total
4
5
6
7
8
9
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
2.004.488 1.452.600 4.525.200 2.224.800 709.200 1.184.400 12.100.688
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
2.004.488 1.452.600 4.525.200 2.224.800 709.200 1.184.400 12.100.688
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
2.004.488 1.452.600 4.525.200 2.224.800 709.200 1.184.400 12.100.688
Untuk alternatif lokasi LKI002, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS003, PKS004, PKS005, PKS006, dan PKS012 dengan total cost untuk keseluruhan volume pasokan adalah sejumlah 12.100.688 dengan total yang sama dari tahun 2012 sampai dengan 2014.. Sementara untuk analisis interaksi spasial yang terkait dengan biaya transportasi sebagai cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI002 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-17 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI002 Dari
1 PKS002 PKS003 PKS004 PKS005 PKS006 PKS012
Tujuan
Cost/Ton (Rp./Ton)
2
3
LKI002 LKI002 LKI002 LKI002 LKI002 LKI002
292.453 279.908 290.689 287.630 273.954 228.879 Total
Alokasi (Ton) dan Biaya Transportasi sebagai Cost (Rp.) 2012 2013 2014 Alokasi Cost Alokasi Cost Alokasi Cost
4
5
6
7
8
9
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
69.871.228.093 50.383.445.580 156.972.262.500 77.660.024.130 24.655.885.290 41.198.141.340 420.740.986.933
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
69.871.228.093 50.383.445.580 156.972.262.500 77.660.024.130 24.655.885.290 41.198.141.340 420.740.986.933
238.914 180.000 540.000 270.000 90.000 180.000 1.498.914
69.871.228.093 50.383.445.580 156.972.262.500 77.660.024.130 24.655.885.290 41.198.141.340 420.740.986.933
Untuk alternatif lokasi LKI002, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS003, PKS004, PKS005, PKS006, dan PKS012 dengan total biaya transportasi sebagai cost untuk keseluruhan volume pasokan sebesar Rp. 420.740.986.933. Interaksi spasial antara entitas pabrik pengolahan minyak kelapa sawit dengan entitas lokasi pengembangan industri pada LKI002 diperlihatkan dalam bentuk peta alokasi sebagaimana yang tergambar berikut ini:
165
4.2.13.3 Alternatif Lokasi Industri LKI003 Berdasarkan analisis interaksi spasial jarak sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI003 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-18 Interaksi Spasial Jarak Sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 Dari
Tujuan
Cost/Ton (Km/Ton)
1
2
3
PKS001 PKS002 PKS003 PKS004 PKS005
LKI003 LKI003 LKI003 LKI003 LKI003
2012 Alokasi
269.835 268.156 290.901 291.852 305.765 Total
Alokasi (Ton) dan Jarak sebagai Cost (Km) 2013 2014 Cost Alokasi Cost Alokasi Cost
4
5
6
7
8
9
270.000 240.000 180.000 540.000 268.914 1.498.914
72.855.467.010 64.357.342.560 52.362.247.500 157.600.249.020 82.224.539.766 429.399.845.856
270.000 240.000 180.000 540.000 268.914 1.498.914
72.855.467.010 64.357.342.560 52.362.247.500 157.600.249.020 82.224.539.766 429.399.845.856
270.000 240.000 180.000 540.000 268.914 1.498.914
72.855.467.010 64.357.342.560 52.362.247.500 157.600.249.020 82.224.539.766 429.399.845.856
Untuk alternatif lokasi LKI003, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS001, PKS002, PKS003, PKS004, dan PKS005 dengan total cost keseluruhan volume adalah sebesar 429.399.845.856 dengan total yang sama dari tahun 2012 sampai dengan 2014. Interaksi spasial yang terkait dengan waktu tempuh sebagai indikator cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI003 dari tahun 2012-2014, menghasilkan alokasi optimal dan cost sebagai berikut: Tabel 4-19 Interaksi Spasial Waktu Tempuh sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 Dari
1 PKS001 PKS002 PKS003 PKS004 PKS005
Tujuan
Cost/Ton (Jam/Ton)
2
3
LKI003 LKI003 LKI003 LKI003 LKI003
6,3180 6,0300 6,5100 6,8200 6,7400 Total
2012 Alokasi Cost
Alokasi dan Biaya 2013 Alokasi Cost
2014 Alokasi Cost
4
5
6
7
8
9
270.000 240.000 180.000 538.914 270.000 1.498.914
1.705.860 1.447.200 1.171.800 3.675.393 1.819.800 9.820.053
270.000 240.000 180.000 538.914 270.000 1.498.914
1.705.860 1.447.200 1.171.800 3.675.393 1.819.800 9.820.053
270.000 240.000 180.000 538.914 270.000 1.498.914
1.705.860 1.447.200 1.171.800 3.675.393 1.819.800 9.820.053
Untuk alternatif lokasi LKI003, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS001, PKS002, PKS003, PKS004, dan PKS005 dengan total cost untuk keseluruhan volume pasokan adalah sejumlah 9.820.053 dengan total yang sama dari tahun 2012 sampai dengan 2014..
166
Sementara untuk analisis interaksi spasial yang terkait dengan biaya transportasi sebagai cost antara entitas pabrik pengolahan kelapa sawit dengan alternatif lokasi pengembangan industri di LKI003 dari tahun 2012-2014, diperoleh hasil sebagai berikut: Tabel 4-20 Interaksi Spasial Biaya Transportasi sebagai Cost antara Entitas Pabrik Pengolahan dengan Lokasi Pengembangan Industri LKI003 Dari
1 PKS001 PKS002 PKS003 PKS004 PKS005
Tujuan
Cost/Ton (Rp./Ton)
2
3
LKI003 LKI003 LKI003 LKI003 LKI003
219.556 212.947 230.922 241.703 240.556 Total
Alokasi (Ton) dan Biaya Transportasi sebagai Cost (Rp.) 2012 2013 2014 Alokasi Biaya Alokasi Biaya Alokasi Biaya
4
5
6
7
8
9
270.000 240.000 180.000 538.914 270.000 1.498.914
59.280.229.620 51.107.340.000 41.565.974.040 130.257.383.293 64.950.195.870 347.161.122.823
270.000 240.000 180.000 538.914 270.000 1.498.914
59.280.229.620 51.107.340.000 41.565.974.040 130.257.383.293 64.950.195.870 347.161.122.823
270.000 240.000 180.000 538.914 270.000 1.498.914
59.280.229.620 51.107.340.000 41.565.974.040 130.257.383.293 64.950.195.870 347.161.122.823
Untuk alternatif lokasi LKI003, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS001, PKS002, PKS003, PKS004, dan PKS005 dengan total biaya transportasi sebagai cost untuk keseluruhan volume pasokan sebesar Rp. 347.161.122.823. 4.2.14 Pemilihan Alternatif Pengembangan Industri Atas Dasar Interaksi Spasial Penggunaan kombinasi algoritma Djikstra dan model transportasi untuk melihat profil interaksi spasial antara pabrik pengolahan kelapa sawit (CPO) dengan lokasi pengembangan industri hilir inti minyak kelapa sawit, menghasilkan profil interaksi spasial sebagaimana yang digambarkan pada tabel berikut ini: Tabel 4-21 Profil Interaksi Spasial Alternatif Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit Indikator Cost Jarak Waktu Biaya Transportasi
Alternatif Lokasi Cost LKI001 LKI002 LKI003 Minimum 131.179.648.586 500.505.542.537 429.399.845.856 131.179.648.586 3.325.869 12.100.688 9.820.053 3.325.869 115.899.418.298 420.740.986.933 347.161.122.823 115.899.418.298
Lokasi Terbaik LKI001 LKI001 LKI001
Berdasarkan atas kriteria Jarak sebagai cost dari sumber pasokan minyak kelapa sawit (CPO) ke alternatif lokasi pengembangan industri hilir inti minyak kelapa sawit, diperoleh hasil nilai yang paling minimal adalah sebesar 131.179.648.586. Total cost yang terendah adalah pada lokasi LKI001. Dengan menggunakan kriteria waktu sebagai cost, diperoleh hasil yang paling minimal sebesar 3.325.869, dimana lokasi yang terbaik adalah berada pada lokasi LKI001.
167
Sementara dengan menggunakan kriteria biaya transportasi, lokasi yang terbaik masih tetap berada pada lokasi LKI001 dengan nilai sebesar 115.899.418.298. Dengan demikian, berdasarkan atas interaksi spasial alternatif lokasi pengembangan industri hilir Inti minyak kelapa sawit di wilayah Kutei Timur, untuk ketiga kriteria cost yang terkait dengan jarak, waktu dan biaya transportasi, lokasi yang terbaik adalah berada pada lokasi LKI001. 4.2.15 Pemilihan Alternatif Pengembangan Industri dengan Pertimbangan Interaksi Spasial antara PKS dengan KKS Jika dipertimbangkan total cost hasil interaksi spasial antara pabrik pengolahan tandan buah segar dengan kebun kelapa sawit, sebagaimana yang telah teridentifikasi sebelumnya, untuk alternatif lokasi LKI001, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS007, PKS008, PKS009, PKS010, PKS011 dan PKS012. Total cost interaksi spasial pabrik-pabrik CPO dengan kebun kelapa sawit yang memasok alternatif lokasi LKI001 untuk kriteria jarak, waktu tempuh dan biaya transportasi, masing-masing ditunjukkan pada tabel berikut ini: Tabel 4-22 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 PKS PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Jarak) Jumlah KKS Cost (Jarak) Suplai Suplai 7 3.188.585.960 7 3.190.073.468 10 11.358.239.900 6 4.806.515.185 12 10.444.155.838 9 5.993.528.253 9 7.840.367.246 6 5.671.456.172 12 9.437.411.273 9 3.601.341.021 15 6.441.973.094 15 3.260.768.075 12 2.950.240.523 11 2.442.780.393 77 51.660.973.833 63 28.966.462.568
2014 Jumlah KKS Suplai
Cost (Jarak)
8 6 8 7 8 14 11 62
3188320196 4066941568 4448071901 4748900876 2644536478 2173590970 2180774257 23.451.136.245
Tabel 4-23 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 PKS PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Waktu Jumlah KKS Cost (Waktu Suplai Tempuh) Suplai Tempuh) 7 73.026 7 73.065 10 209.665 6 77.660 12 164.310 9 101.203 9 186.349 6 140.307 12 233.149 9 91.855 15 91.144 15 45.599 12 49.816 11 41.025 77 1.007.461 63 570.713
2014 Jumlah KKS Suplai 8 5 8 6 8 14 11 60
Cost (Waktu Tempuh) 72.964 65.778 79.056 125.644 68.515 32.450 36.462 480.868
168
Tabel 4-24 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI001 PKS PKS002 PKS007 PKS008 PKS009 PKS010 PKS011 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Biaya Jumlah KKS Cost (Biaya Suplai Transport) Suplai Transport) 7 2.591.428.806 7 2.592.757.845 10 7.990.992.979 6 3.011.459.848 12 6.628.227.788 9 3.968.934.042 9 6.619.358.754 6 4.892.547.279 12 8.348.724.997 9 3.248.506.203 15 3.564.002.548 15 1.790.163.497 12 1.895.749.540 11 1.561.043.456 77 37.638.485.413 63 21.065.412.170
2014 Jumlah KKS Suplai 8 5 8 7 8 14 11 61
Cost (Biaya Transport) 2.588.959.519 2.625.773.378 3.040.387.043 4.310.402.760 2.389.322.561 1.260.112.848 1.387.482.524 17.602.440.633
Untuk alternatif lokasi LKI002, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS002, PKS003, PKS004, PKS005, PKS006, dan PKS012. Total cost interaksi spasial pabrik-pabrik CPO dengan kebun kelapa sawit yang memasok alternatif lokasi pengembangan industri LKI002 untuk kriteria jarak, waktu tempuh dan biaya transportasi, masing-masing ditunjukkan pada tabel berikut ini: Tabel 4-25 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002 PKS PKS002 PKS003 PKS004 PKS005 PKS006 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Jarak) Jumlah KKS Cost (Jarak) Suplai Suplai 7 3.188.585.960 7 3.190.073.468 3 3.666.678.138 3 3.669.887.331 16 20.967.403.484 15 16.573.935.151 7 6.932.387.580 4 3.969.781.297 1 324.163.710 1 324.163.710 12 2.950.240.523 11 2.442.780.393 46 38.029.459.395 41 30.170.621.350
2014 Jumlah KKS Suplai
Cost (Jarak)
8 4 13 3 1 11 40
3188320196 3655079168 14829504798 3600569539 324163710 2180774257 27.778.411.667
Tabel 4-26 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002 PKS PKS002 PKS003 PKS004 PKS005 PKS006 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Waktu Jumlah KKS Cost (Waktu Suplai Tempuh) Suplai Tempuh) 7 73.026 7 73.065 4 84.373 5 67.586 13 556.505 12 471.957 8 134.709 5 55.698 1 10.710 1 10.710 12 49.816 11 41.025 45 909.140 41 720.041
2014 Jumlah KKS Suplai 8 7 11 3 1 11 41
Cost (Waktu Tempuh) 72.964 54.742 431.069 51.189 10.710 36.462 657.136
Tabel 4-27 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI002
169
PKS PKS002 PKS003 PKS004 PKS005 PKS006 PKS012 TOTAL
2012 2013 Jumlah KKS Cost (Biaya Jumlah KKS Cost (Biaya Suplai Transport) Suplai Transport) 7 2.591.428.806 7 2.592.757.845 5 2.704.166.149 5 2.233.915.639 14 19.188.554.111 13 16.013.178.081 6 5.107.540.488 4 2.385.187.210 1 324.163.710 1 324.163.710 12 1.895.749.540 11 1.561.043.456 45 31.811.602.804 41 25.110.245.943
2014 Jumlah KKS Suplai 8 6 12 3 1 11 41
Cost (Biaya Transport) 2.588.959.519 1.972.576.542 14.954.059.581 2.163.351.465 324.163.710 1.387.482.524 23.390.593.341
Untuk alternatif lokasi LKI003, sumber pasokan yang optimal berasal dari pabrik pengolahan kelapa sawit PKS001, PKS002, PKS003, PKS004, dan PKS005. Total cost interaksi spasial pabrik-pabrik CPO dengan kebun kelapa sawit yang memasok alternatif lokasi pengembangan industri LKI003 untuk kriteria jarak, waktu tempuh dan biaya transportasi, masing-masing ditunjukkan pada tabel berikut ini: Tabel 4-28 Total Cost (Jarak sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 PKS PKS001 PKS002 PKS003 PKS004 PKS005 TOTAL
2012 2013 Jumlah KKS Cost (Jarak) Jumlah KKS Cost (Jarak) Suplai Suplai 6 4.763.709.799 4 2.918.491.751 7 3.188.585.960 7 3.190.073.468 3 3.666.678.138 3 3.669.887.331 16 20.967.403.484 15 16.573.935.151 7 6.932.387.580 4 3.969.781.297 39 39.518.764.961 33 30.322.168.998
2014 Jumlah KKS Suplai
Cost (Jarak)
4 8 4 13 3 32
2523683806 3188320196 3655079168 14829504798 3600569539 27.797.157.506
Tabel 4-29 Total Cost (Waktu Tempuh sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 PKS PKS001 PKS002 PKS003 PKS004 PKS005 TOTAL
2012 2013 Jumlah KKS Cost (Waktu Jumlah KKS Cost (Waktu Suplai Tempuh) Suplai Tempuh) 6 176.537 4 105.284 7 73.026 7 73.065 4 84.373 5 67.586 13 556.505 12 471.957 8 134.709 5 55.698 38 1.025.150 33 773.591
2014 Jumlah KKS Suplai
Cost (Waktu Tempuh) 88.166 72.964 54.742 431.069 51.189 698.130
4 8 7 11 3 33
Tabel 4-30 Total Cost (Biaya Transportasi sebagai Cost) Entitas PKS yang Memasok Alternatif Lokasi LKI003 PKS PKS001 PKS002 PKS003 PKS004 PKS005 TOTAL
2012 2013 Jumlah KKS Cost (Biaya Jumlah KKS Cost (Biaya Suplai Transport) Suplai Transport) 6 6.055.529.562 5 3.485.491.557 7 2.591.428.806 7 2.592.757.845 5 2.704.166.149 5 2.233.915.639 14 19.188.554.111 13 16.013.178.081 6 5.107.540.488 4 2.385.187.210 38 35.647.219.117 34 26.710.530.333
2014 Jumlah KKS Suplai 4 8 6 12 3 33
Cost (Biaya Transport) 2.822.599.649 2.588.959.519 1.972.576.542 14.954.059.581 2.163.351.465 24.501.546.755
170
Dengan
demikian,
profil
Interaksi
Spasial
Alternatif
Lokasi
Pengembangan Industri Hilir Inti Minyak Kelapa Sawit yang mempertimbangkan total cost dari entitas PKS yang terkait interaksinya dengan entitas KKS, dapat diringkas sebagai berikut: Tabel 4-31 Profil Interaksi Spasial Alternatif Lokasi Pengembangan Industri Hilir Inti Minyak Kelapa Sawit Mempertimbangkan Interaksi Spasial PKS dan KKS Indikator Cost per Tahun Jarak Tahun ke 1 Tahun ke 2 Tahun ke 3 Waktu Tempuh Tahun ke 1 Tahun ke 2 Tahun ke 3 Biaya Transportasi Tahun ke 1 Tahun ke 2 Tahun ke 3
LKI001
Alternatif Lokasi LKI002
LKI003
Cost Minimum
Lokasi Terbaik
182.840.622.419 160.146.111.154 154.630.784.831
538.535.001.932 530.676.163.887 523.956.678.782
468.918.610.817 459.722.014.854 457.197.003.362
182.840.622.419 160.146.111.154 154.630.784.831
LKI001 LKI001 LKI001
4.333.330 3.896.582 3.806.737
13.009.828 12.820.729 12.757.824
10.845.203 10.593.644 10.518.183
4.333.330 3.896.582 3.806.737
LKI001 LKI001 LKI001
153.537.903.711 136.964.830.468 133.501.858.931
452.552.589.737 445.851.232.876 444.131.580.274
382.808.341.940 373.871.653.156 371.662.669.578
153.537.903.711 136.964.830.468 133.501.858.931
LKI001 LKI001 LKI001
Dengan demikian, berdasarkan atas interaksi spasial alternatif lokasi pengembangan industri hilir Inti minyak kelapa sawit di wilayah pengujian model dengan mempertimbangkan interaksi spasial antara PKS dengan KKS, untuk ketiga kriteria cost yang terkait dengan jarak, waktu dan biaya transportasi, lokasi yang terbaik adalah tetap berada pada lokasi LKI001 sebagaimana yang diperlihatkan pada hasil eksekusi model pada Tabel 4-31. Dengan mempertimbangkan total jarak tempuh, total waktu tempuh dan biaya transportasi dari pabrik pengolahan menuju ke lokasi pengembangan, alternatif lokasi di LKI001 adalah yang terbaik. Namun, alternatif lokasi di LKI001 sampai dengan saat ini belum memiliki infrastruktur transportasi yang memadai sehingga dengan memperhatikan kebutuhan yang mendesak perusahaan (investor) dapat memilih alternatif lokasi di LKI003 yang memiliki kondisi infrastruktur yang lebih baik dibandingkan dengan alternatif lainnya. Lokasi ini juga memiliki luasan areal yang memadai untuk pembangunan pabrik yang dibutuhkan dan memiliki biaya transportasi yang terendah untuk saat ini. Dengan penambahan kapasitas pabrik pengolahan TBS di kecamatan Bengalon, Rantau
171
Pulung dan Muara Bengkal, alternatif lokasi ini juga akan dapat memberikan total jarak, waktu dan biaya yang rendah. 4.2.16 Simulasi Unjuk Kerja Sistem dan Penentuan Kebutuhan Fasilitas Tanki Timbun Interaksi spasial yang optimal dari pabrik kelapa sawit menuju ke lokasi pengembangan industri/pelabuhan belum tentu menghasilkan biaya transportasi yang termurah. Kinerja transportasi masih dipengaruhi oleh fasilitas loading dan unloading kecepatan loading dan unloading, kapasitas tanki timbun, dan kedatangan kapal di pelabuhan untuk mengangkut produk ke tujuannya. Disamping itu, dalam upaya untuk melakukan validasi atas model interaksi spasial yang telah dilakukan sebelumnya, diperlukan sebuah cara untuk melihat unjuk kerja dari model yang telah dibangun sebelumnya. Uji coba langsung di lapangan akan sangat berisiko dan memiliki konsekuensi biaya yang besar. Simulasi dengan menggunakan bantuan komputer akan sangat membantu untuk melihat unjuk kerja dari model. Beberapa batasan yang sulit diakomodasi dalam model optimasi dapat diakomodasi dengan baik dengan menggunakan model simulasi komputer seperti keterbatasan fasilitas loading dan unloading, kapasitas tanki timbun, maupun kedatangan kapal pengangkut. Sebagaimana yang diutarakan oleh Harrington dan Tumay (2000), simulasi merupakan teknik yang dapat membantu organisasi untuk memprediksi, membandingkan, atau mengoptimalkan kinerja dari proses tanpa menimbulkan biaya dan risiko yang signifikan karena mengganggu operasi eksisting atau implementasi dari sistem yang baru. Lebih lanjut lagi diutarakan bahwa simulasi proses merupakan teknik yang memungkinkan representasi dari proses, sumber daya, produk dan jasa dalam sebuah model komputasi yang dinamis. Sebuah model, ketika disimulasikan, akan menirukan operasi dari perusahaan atau prosesproses yang ada sebagaimana yang terdapat dalam sistem nyatanya. Pada tahapan ini akan diimplementasikan model discrete event simulation untuk melihat kinerja suplai minyak kelapa sawit dari pabrik kelapa sawit menuju ke pelabuhan muat sebagaimana proses yang digambarkan pada Gambar 4-31.
172
1. Loading ke Truck
2. Transport ke Pelabuhan
Pabrik
4. Penggunaan CPO 3. Unloading ke Tanki Timbun
5. Penyimpanan di Tanki Timbun 4. Loading ke Kapal
Gambar 4-31 Proses Pengiriman Minyak Kelapa Sawit dari Pabrik Menuju ke Lokasi Pengembangan Industri/Dermaga
4.2.16.1 Parameter-parameter Sistem Berdasarkan konfigurasi pasokan dari pabrik menuju ke pelabuhan muat yang telah dilakukan sebelumnya, analisis simulasi dilakukan atas supplai minyak kelapa sawit dari beberapa pabrik minyak kelapa sawit yang ada di kutei timur menuju ke lokasi terpilih. Untuk pengiriman CPO menuju ke lokasi terpilih, berdasarkan perhitungan sebelumnya ada 7 pabrik CPO yang optimal mengirim produknya melalui pelabuhan tersebut. Parameter-parameter simulasi yang digunakan dan diujicobakan dalam hal ini dapat ditunjukkan pada Tabel 4-32. Tabel 4-32 Parameter-parameter Simulasi No. 3 4 5 9 10 11 12
Jenis Kategori Loading rate ke truck Jumlah fasilitas loading di pabrik Kapasitas truk Unloading rate ke tangki timbun Jumlah unloading facility ke tanki timbun Loading rate di lokasi pengembangan Kapasitas tanki timbun
Nilai 20 1 10 60 3
Satuan Ton/jam Buah Ton Ton/jam Buah
1000 10000
Ton/jam Ton
173
4.2.16.2 Model Simulasi Simulasi sistem dijalankan pada model spasial IKG2012 yang diintegrasikan dengan perangkat lunak Arena 14. Tampilan model animasi simulasi spasial dan kondisi tanki timbun pada PKS dan Industri Hilir ditunjukkan pada Gambar 4-32 dan Gambar 4-33. Animasi yang simulasi yang ditunjukkan merupakan sebagian dari model simulasi yang digunakan untuk keperluan evaluasi konfigurasi interaksi spasial dan penentuan kapasitas tanki timbun di lokasi pengembangan industri. Melalui model simulasi yang dibangun ini, user dapat melihat unjuk kerja sistem secara keseluruhan mulai dari pabrik minyak kelapa sawit sampai di lokasi pengembangan industri dan pada akhirnya produk dikapalkan. Kondisi tanki timbun di PKS dan tanki timbun bersama dapat dilihat fluktuasinya akibat dari kondisi jaringan yang menghubungkan entitas tersebut. Unjuk kerja dari sistem dapat dimonitor dari panel yang dibangun pada sistem pendukung keputusan sebagaimana yang terlihat pada Gambar 4-34.
Gambar 4-32 Animasi Peta dengan 7 Lokasi PKS
174
Gambar 4-33 Animasi Unloading Trucks di Tangki Timbun dan Loading Kapal di Industri Hilir (Dermaga)
Gambar 4-34 Dash Board Monitor Industri Hilir
4.2.16.3 Hasil Simulasi Dengan menggunakan simulasi yang dijalankan pada sistem pendukung keputusan IKG2012 pada peta wilayah kajian yang memiliki beberapa keterbatasan pada jaringan maupun fasilitas untuk mendukung industri hilir, diperoleh hasil bahwa kebutuhan minimal tanki timbun di pelabuhan adalah
175
sebesar 5000 KL dengan jumlah fasilitas pompa untuk unloading sebanyak 2 buah. Sementara PKS yang memasok CPO ke lokasi tersebut pada industri hilir harus memiliki kapasitas minimal masing-masing sebesar 1000 ton untuk PKS002, 800 ton untuk PKS007, 600 ton untuk PKS009 dan dibawah 400 ton untuk PKS lain yang mensuplai lokasi pengembangan industri tersebut. Panel monitor untuk tanki timbun di PKS dan di Industri Hilir yang menggunakan tanki bersama diperlihatkan pada Gambar 4-35 dan Gambar 4-36. Atas dasar kapasitas produksi industri hilir dan loading rate ke kapal, dengan simulasi diperoleh volume maksimum tanki produk industri hilir adalah 1000 ton (lihat lampiran).
Level Tangki PKS 1200
1000
Level (Kilo Liter)
800
600
400
200
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
0
PKS009
PKS010
PKS008
PKS011
PKS007
PKS012
PKS002
Gambar 4-35 Panel Monitor Level Tangki PKS Level Tangki Timbun Bersama 6.000,00
5.000,00
4.000,00
3.000,00
2.000,00
1.000,00
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
0,00
Tangki 1
Tangki 2
Death Stock Tangki 1
Death Stock Tangki 2
Gambar 4-36 Panel Monitor Level Tangki Timbun Bersama di Industri Hilir
176
4.2.17 Profil Risiko atas Parameter Penting Pengembangan Agroindustri Hilir Dari sisi pengembang kawasan industri berbasis CPO, jumlah kargo yang dikelola sensitif terhadap kelayakan dari investasi. Jumlah kargo yang dikelola ditentukan oleh kapasitas produksi dari industri yang direncanakan. Analisis sensitivitas yang dilakukan menunjukkan bahwa, dengan cost of capital sebesar 12%, jumlah kargo yang dikelola oleh kawasan minimal sejumlah 2.698.044 ton sebagaimana ditunjukkan pada Tabel 4-33. Tabel 4-33 Analisis Sensitivitas Kapasitas Produksi dan Tarif Layanan Kawasan KAPASITAS PRODUKSI
HARGA LAYANAN
IRR 8% 20% 30% 40% 50% 20% #NUM! #NUM! #NUM! #NUM! 30% -12.6% -8.6% -6.6% -5.2% 40% -5.5% -4.2% -3.3% -2.5% 50% -2.9% -2.1% -1.4% -0.7% 60% -1.3% -0.6% 0.1% 0.8% 70% 0.0% 0.7% 1.4% 2.0% 80% 1.2% 1.8% 2.5% 3.1% 90% 2.2% 2.8% 3.5% 4.1% 100% 3.1% 3.7% 4.3% 4.9% 110% 3.9% 4.6% 5.2% 5.8% 120% 4.7% 5.3% 5.9% 6.5% 130% 5.4% 6.0% 6.6% 7.2% 140% 6.1% 6.7% 7.3% 7.9% 150% 6.8% 7.4% 8.0% 8.6% 160% 7.4% 8.0% 8.6% 9.2% 170% 8.1% 8.7% 9.3% 9.9% 180% 8.7% 9.3% 9.9% 10.5% 190% 9.2% 9.8% 10.4% 11.0%
60% -10.0% -4.2% -1.7% 0.0% 1.4% 2.6% 3.7% 4.7% 5.5% 6.3% 7.1% 7.8% 8.5% 9.2% 9.8% 10.5% 11.0% 11.6%
70% -7.7% -3.3% -1.0% 0.7% 2.1% 3.3% 4.3% 5.3% 6.1% 6.9% 7.7% 8.4% 9.1% 9.8% 10.4% 11.0% 11.6% 12.2%
80% -6.1% -2.5% -0.3% 1.3% 2.7% 3.9% 4.9% 5.8% 6.7% 7.5% 8.3% 9.0% 9.7% 10.4% 11.0% 11.6% 12.2% 12.8%
90% -5.0% -1.8% 0.3% 1.9% 3.3% 4.5% 5.5% 6.4% 7.3% 8.1% 8.8% 9.6% 10.3% 10.9% 11.6% 12.2% 12.8% 13.4%
100% -4.1% -1.1% 1.0% 2.5% 3.9% 5.0% 6.1% 7.0% 7.9% 8.7% 9.4% 10.2% 10.8% 11.5% 12.2% 12.8% 13.4% 14.0%
110% -3.2% -0.4% 1.6% 3.1% 4.5% 5.6% 6.6% 7.6% 8.4% 9.2% 10.0% 10.7% 11.4% 12.1% 12.7% 13.4% 14.0% 14.6%
120% -2.5% 0.2% 2.2% 3.7% 5.0% 6.2% 7.2% 8.1% 9.0% 9.8% 10.6% 11.3% 12.0% 12.7% 13.3% 14.0% 14.6% 15.2%
130% -1.8% 0.9% 2.8% 4.3% 5.6% 6.8% 7.8% 8.7% 9.6% 10.4% 11.1% 11.9% 12.6% 13.3% 13.9% 14.5% 15.1% 15.7%
140% -1.1% 1.5% 3.4% 4.9% 6.2% 7.3% 8.3% 9.3% 10.1% 10.9% 11.7% 12.4% 13.1% 13.8% 14.5% 15.1% 15.7% 16.3%
150% -0.4% 2.1% 3.9% 5.5% 6.7% 7.9% 8.9% 9.8% 10.7% 11.5% 12.3% 13.0% 13.7% 14.4% 15.1% 15.7% 16.3% 16.9%
160% 0.2% 2.7% 4.5% 6.0% 7.3% 8.4% 9.4% 10.4% 11.2% 12.1% 12.8% 13.6% 14.3% 15.0% 15.6% 16.3% 16.9% 17.5%
170% 0.8% 3.2% 5.1% 6.6% 7.8% 9.0% 10.0% 10.9% 11.8% 12.6% 13.4% 14.1% 14.9% 15.6% 16.2% 16.9% 17.5% 18.1%
180% 1.4% 3.8% 5.6% 7.1% 8.4% 9.5% 10.5% 11.5% 12.4% 13.2% 14.0% 14.7% 15.4% 16.1% 16.8% 17.4% 18.0% 18.7%
Apabila pengembangan industri yang dilakukan hanya menggantungkan pada pasokan bahan baku dari daerah Kutei Timur, dengan jumlah fasilitas produksi pengolahan tandan buah segar yang masih terbatas, ide pengembangan industri tersebut masih berisiko tinggi karena masih ada sejumlah besar crude palm oil yang diekspor. Masih diperlukan pasokan dari daerah lain atau penambahan kapasitas produksi terutama kapasitas produksi pengolahan tandan buah segar sebagaimana yang ditunjukkan pada analisis shortage yang telah dilakukan.
190% 2.0% 4.4% 6.2% 7.7% 8.9% 10.1% 11.1% 12.0% 12.9% 13.7% 14.5% 15.3% 16.0% 16.7% 17.4% 18.0% 18.6% 19.2%
5 IMPLIKASI MANAJERIAL
Berdasarkan analisis yang dilakukan terhadap sub sistem-sub sistem yang terkait dengan pengembangan agroindustri CPO ini, baik terhadap kebun, pabrik minyak kelapa sawit maupun kondisi lingkungan usaha yang ada, terdapat beberapa implikasi yang menjadi konsekuensi maupun persyaratan-persyaratan yang harus dilakukan agar pengembangan industri ini dapat dioperasionalkan dengan optimal. A. Dari sisi Pengelola Kebun 1. Pengelola kebun perlu memperhatikan profil permintaan dari masing-
masing pabrik pengolahan, jarak menuju ke pabrik pengolahan, keterbatasan alat angkut yang dapat digunakan, waktu tempuh dan biaya transportasi menuju ke masing-masing fasilitas pengolahan. 2. Pengelola kebun mengikuti kebijakan supplai yang ditentukan oleh pabrik
pengolahan sehingga total profit yang diperoleh oleh semua pelaku dapat diraih. 3. Pengelola kebun perlu untuk menginformasikan dengan benar terkait
dengan kondisi kebun yang dimilikinya kepada pihak-pihak yang terkait. B. Dari sisi Pengelola Pabrik 1. Pengelola pabrik perlu memperhatikan kondisi supplai masing-masing
kebun yang berlokasi dalam radius optimal service area, bekerjasama dengan Pemerintah maupun asosiasi untuk menentukan sumber pasokan yang optimal. 2. Pengelola pabrik mengikuti dan membuat kontrak kerjasama pasokan
tahunan dengan kebun-kebun yang secara optimal dapat memasok masingmasing pabrik pengolahan. 3. Pengelola pabrik menginformasikan dengan benar terkait dengan kapasitas
terpasang, utilisasi maupun jadwal produksinya kepada asosiasi maupun Pemerintah agar dapat digunakan dalam merumuskan strategi rantai pasok yang optimal. C. Dari sisi Pengelola Industri Hilir Inti
178
1. Pengelola industri inti kelapa sawit perlu memperhatikan kondisi supplai
masing-masing pabrik pengolahan yang berlokasi dalam radius service area optimal, bekerjasama dengan Pemerintah maupun asosiasi untuk menentukan sumber pasokan yang optimal. 2. Pengelola industri inti mengikuti dan membuat kontrak kerjasama pasokan
tahunan dengan pabrik pengolahan CPO berdasarkan alokasi optimal yang dihasilkan oleh sistem. D. Dari sisi Pemerintah & Asosiasi 1. Pemerintah perlu memfasilitasi keberadaa sistem yang dapat membantu
kinerja para pelaku dalam bidang agroindustri kelapa sawit ini seperti sistem yang dibangun pada penelitian ini dan menginformasikan secara akurat kepada para pelaku agar mereka dapat memanfaatkan data dan informasi tersebut untuk keunggulan bersaingnya. 2. Update data dan informasi secara reguler terkait dengan kondisi masing-
masing ruas jalan termasuk dalam hal ini adalah kecepatan maksimal pada masing-masing ruas jalan dan menginformasikannya secara terbuka agar bisa diakses oleh para pelaku usaha dan industri harus dilakukan dengan cermat oleh Pemerintah. 3. Aparat BPN perlu dengan lebih akurat menginformasikan batas-batas
kepemilikan lahan sehingga analisis terhadap kemampuan pasokan dari masing-masing kebun dapat dihitung dengan lebih akurat. 4. Dinas perkebunan lebih proaktif dalam mengumpukan data dan informasi
dari masing-masing perkebunan, pabrik maupun kondisi jaringan dan infrastruktur pendukung. Dinas perkebunan sebaiknya memanfaatkan GIS dengan lebih efektif lagi sehingga dapat menghasilkan analisis-analisis penting yang dibutuhkan oleh para pelaku dalam agroindustri kelapa sawit. 5. Pemerintah daerah dapat memfasilitasi keberadaaan sebuah online GIS
dengan analisis spasialnya agar dapat dimanfaatkan oleh para pelaku dalam meningkatkan keunggulan bersaingnya. 6. Pemberian izin lokasi kepada pelaku-pelaku dalam rantai agroindustri
kelapa sawit ini harus mendasarkan pada model interaksi spasial yang optimal sehingga dapat memberikan manfaat yang sebesar-besarnya kepada para pelaku
6 SIMPULAN DAN SARAN
6.1
SIMPULAN 1. Indonesia merupakan negara penghasil CPO terbesar di Dunia (23 juta ton
di tahun 2011), namun, pengembangan industri ini masih menghadapi kendala yang kritikal. Kendala utama adalah terkait dengan buruknya kualitas infrastruktur transportasi yang ada untuk mendukung sistem logistik bahan baku dan produk yang dihasilkan. Kondisi ini berakibat pada tingginya biaya transportasi dan biaya antrian yang tidak bernilai tambah. 2. Agroindustri berbasis kelapa sawit menghadapi permasalahan logistik
yang kompleks karena karakteristik bahan baku yang bersifat perishable, bergantung dengan umur tanaman dan bersifat musiman. Kompleksitas tersebut belum dipertimbangkan dalam sistem pendukung keputusan untuk pengembangan industri CPO yang ada saat ini. 3. Penelitian ini menghasilkan model pendukung keputusan berbasis spasial
IKG2012
yang
pengembangan
dapat industri
menentukan hilir
lokasi
minyak
yang
terbaik
kelapa
sawit
untuk dengan
mempertimbangkan entitas spasial yang terlibat beserta dengan atributnya serta
interaksi
antar
entitas
tersbut.
Model
yang
dibangun
mengintegrasikan antara GIS, model pengambilan keputusan multi kriteria dan model matematis yang memiliki kemampuan dalam mengakomodasi fluktuasi pasokan dari Kebun Kelapa Sawit (KKS) ke Pabrik Kelapa Sawit(PKS), persyaratan kualitas yang terkait dengan waktu sejak penebangan TBS hingga sampai di pabrik serta tidak seragamnya kondisi jaringan transportasi yang ada. 4. Aplikasi model di Kabupaten Kutei Timur berdasarkan pada kriteria
kesesuaian lahan dan interaksi spasial antar entitas yang terlibat, menghasilkan keputusan pengembangan industri hilir inti minyak kelapa sawit pada lokasi LKI001 pada koordinat 609851,101634.
180
5. Panel monitor spatial simulation IKG2012 menunjukkan bahwa dengan
adanya keterbatasan jaringan transportasi serta fasilitas yang ada, lokasi pengembangan industri hilir harus memiliki 2 buah tanki timbun dengan kapasitas minimal masing-masing adalah sebesar 5000KL dan unloading rate 1000 ton/jam, sementara PKS yang memasok CPO ke lokasi tersebut pada industri hilir adalah harus memiliki kapasitas minimal masingmasing sebesar 1000 ton untuk PKS002, 800 ton untuk PKS007, 600 ton untuk PKS009 dan dibawah 400 ton untuk PKS lain yang mensuplai lokasi pengembangan industri tersebut. 6. Berdasarkan analisis sensitivitas yang dilakukan dari sisi pengembang
industri atas pengembangan industri yang dilakukan, jumlah kargo minimal yang harus dikelola oleh kawasan industri CPO ini adalah 180% dari yang ditentukan saat ini atau total sebesar 2.698.044 ton. Pengembangan industri hilir yang hanya mengandalkan pasokan bahan baku dari daerah Kutei Timur masih berisiko karena pasokan CPO dari industri pengolahan yang ada masih belum mencukupi.
181
6.2
SARAN 1. Kebijakan
konfigurasi
pembangunan infrastruktur transportasi di daerah dan konektivitas
sistem
logistik
regional
sebaiknya
mempertimbangkan arus barang secara spasial dengan menggunakan teknik optimasi dan simulasi dalam analisisnya. 2. Desain
model
dapat
diperkaya
dengan
knowledge
based
dan
mengakomodasi unsur stochatic dalam parameter-parameter yang terlibat dalam model seperti kedatangan kapal, loading dan unoading rate, kecepatan kendaraan, production rate dan produktivitas tanaman. 3. Penggunaan teknologi penginderaan jarak jauh untuk mengidentifikasi
estimasi produksi pada lahan kebun kelapa sawit akan sangat membantu dalam pengembangan model ini berikutnya. 4. Pengembangan infrastruktur logistik nasional diharapkan mengacu pada
rancangan lintas distribusi optimal yang mempertimbangkan rencana pengembangan industri nasional dan klaster-klaster nya. Rancangan tersebut menentukan jenis dan lokasi infrastruktur yang diperlukan, sehingga pengambil kebijakan dapat memfokuskan sumber dayanya yang terbatas untuk meningkatkan infrastruktur yang prioritas dibutuhkan saja. 5. Diperlukan analisis dampak ekonomi lanjutan atas pengembangan
agroindustri hilir ini termasuk infrastrukturnya karena dengan hanya mengandalkan pada potret bisnis kawasan industri, berpotensi akan kehilangan keunggulan kompetitif di masa depan. Bagaimanapun inisiasi dari pengembangan industri hilir kelapa sawit harus segera dimulai sebagai penarik sektor pertanian yang menjadi keunggulan komparatif Indonesia.
182
DAFTAR PUSTAKA
Abidin, H. Z. (2007). Integrasi GPS dan SIG, Kelompok Keilmuan Geodesi, Institut Teknologi Bandung. Abor, J. (2005). "Managing foreign exchange risk among Ghanaian firms." The Journal of Risk Finance 6(4): 306-318. Aguilar, F. X. (2009). "Spatial econometric analysis of location drivers in a renewable resource-based industry: The U.S. South Lumber Industry." Forest Policy and Economics 11: 184–193. Aminu, M. (2007). A Geographic Information System (GIS) And Multi-Criteria Analysis For Sustainable Tourism Planning. Faculty of Built Environment. Malaysia, Universiti Teknologi Malaysia. Master. Anonim (1983). Simposium Nasional Agroindustri I. Fateta, IPB, Bogor. Anonim (2011). Statistik Perdagangan Indonesia. D. P. RI. Jakarta, Kementrian Perdagangan RI. Arcelus, F. J. (1989). "On The Selection Of Industry Location Alternatives." Engineering Costs and Production Economics, 16: 213-219. Armstrong, M. P. and P. J. Densham (1991). "Database organization strategies for spatial decision support systems." International Journal of Geographical Information Systems 4: 3-20. Armstrong, M. P., G. Rushton, et al. (1991). "Decision support for regionalization: A spatial decision support system for regionalizing service delivery systems." Computers, Environment and Urban Systems 15(1): 3753. Aronoff, S. (1989). Geographic Information System, A Management Perspective. Ottawa, Canada, WDL Publication. Artikis, G. P. (1993). "Financial Factors in Plant Location Decisions: A Case Study in the Greek Metal Industry." International Journal of Operations & Production Management 13(8): 58 - 71. Aryawan, W. and Setijoprajudo (2010). Model Pengangkutan Crude Palm Oil untuk Domestik. Jurusan Teknik Perkapalan. Surabaya, Institut Teknologi Sepuluh Nopember Surabaya (ITS). S2. Austin, J. E. (1992). Agroindustrial Project Analysis, Critical Design Factors. Baltimore, The John Hopkins University Press. Badri, M. A. (1999). "Combining the analytic hierarchy process and goal programming for global facility location-allocation problem." Production Economics 62: 237-248.
184
Bang-Jensen, J. and G. Gutin (2000). The Bellman-Ford-Moore algorithm. Digraphs: Theory, Algorithms and Applications. London, Springer-Verlag. Banks, J., J. S. C. II, et al. (2010). Discrete -Event System Simulation, Pearson Education. BapedaKutim (2011). Kutei Timur dalam Angka. Kutei Timur, Badan Perencanaan Pembangunan Daerah dan Badan Pusat Statistik Kutei Timur. Basdabella, S. (2001). Pengembangan Sistem Agroindustri Kelapa Sawit dengan Pola Perusahaan Industri Rakyat. Teknologi Industri Pertanian. Bogor, IPB. S3. Beenhakker, H. L. (2010). Issues in Agricultural Marketing Strategy. Transportation Issues Series No. TRP7. New York, World Bank. Benoit, D. and G. P. Clarke (1997). "Assessing GIS for retail location planning." Journal of Retailing and Consumer Services 4(4): 239-258. Berman, O. and R. R. Mandowsky (1996). "Location-allocation on congested networks." European Journal of Operational Research 26(2): 238-250. Berry, B. J. L. (1964). "Approaches to Regional Analysis: A Synthesis." Annals of the Association of American Geographers 54(1): 2-11. Bhatnagar, R. and C.-C. Teo (2009). "Role of logistics in enhancing competitive advantage A value chain framework for global supply chains." International Journal of Physical Distribution & Logistics Management 39(3): 202-226. Boroushaki, S. and J. Malczewski (2008). "Implementing an extension of the analytical hierarchy process using ordered weighted averaging operators with fuzzy quantifiers in ArcGIS." Computers & Geosciences 34: 399410. BPS (2005). Volume dan Nilai Ekspor Indonesia Komoditi Crude Palm Oil (CPO) tahun 1980-2005., Badan Pusat Statistik. BPS (2011). Panjang Jalan Menurut Kondisi Jalan, Badan Pusat Statistik Kabupaten Kutei Timur. BPS (2011). Statistik Daerah Kabupaten Kutei Timur 2011, Badan Pusat Statistik Daerah Kutei Timur. BPS (2012). Sumbangan Beberapa Komoditas yang Dominan Terhadap Inflasi Nasional Selama Tahun 2010 dan 2011. Berita Resmi Statistik, Badan Pusat Statistik. 1: 13. Branas, C. C., E. J. MacKenzie, et al. (2000). "A trauma resource allocation model for ambulances and hospitals." International Journal of Geographical Information Systems 4: 3-20. Brealey, R. A. and S. C. Myers (2002). Principles of Corporate Finance, Mcgraw Hill Higher Education. Brown, J. G. and D. Touche (1994). Agroindustrial Investment and Operations. Washington, D.C., The World Bank.
185
Bruce A.Blonigen, W. W. W. (2006). "International Trade, transportation networks and Port Choice." University of Oregon and Institute for Water Resource, Department of Economics, University of Oregon, Eugene. Capitine, B. L. (2010). Development of Clusters and the Supply Chain Management of Palm Oil Industry in Mozambique. Investment Promotion & Economic Development. UK, Edinburg Napier University. Master. Cassettari, S. (1993). Introduction to integrated geo-information management, Springer. Chankong, V. and Y. Y. Haimes (1983). Multiobjective Decision Making Theory and Methodology. New York, North-Holland. Chapman, K. (2009). Industrial Location, Elsevier. Church, R. L. (2002). "Geographical Information System and Location Science." Computers & Operations Research 29: 541-562. Church, R. L. and M. E. Meadows (1979). "Location Modeling Utilizing Maximum Service Distance Criteria." Geographical Analysis 11: 358-373. Church, R. L. and A. T. Murray (2008). Business Site Selection, Location Analysis and GIS. New York, John Wiley. Church, R. L. and C. ReVelle (1974). The Maximal Covering Location Problem. Conference on Regional Science Association. Cowen, D. J. (1988). "GIS versus CAD versus DBMS: What are the Difference." Photogrammetric Engineering and Remote Sensing 54: 151-154. Crainic, T. G. and G. Laporte (1997). "Planning Models for Freight Transportation." European Journal of Operational Research: 409-438. Daskin, M. S. (2008). "What You Should Know About Location Modeling." Naval Research Logistics 55: 283–294. Deperin (2007). Gambaran sekilas industri minyak kelapa sawit. Jakarta, Departemen Perindustrian RI. Deperin (2011). "Pohon Industri Sawit." Retrieved 12 Desember 2011, from http://agro.kemenperin.go.id/406-POHON-INDUSTRI-KELAP-ASAWIT. Derekenaris, G., J. Garofalakis, et al. (2001). "Integrating GIS, GPS and GSM technologies for the effective management of ambulances." Computers, Environment and Urban Systems(25): 267-278. Dhingra, T., T. Singh, et al. (2009). "Location strategy for competitiveness of special economic zones." Competitiveness Review: An International Business Journal 19(4): 272-289. Dijkstra, E. W. (1959). "A Note on Two Problems in Connexion with Graphs." Numerische Mathematik 1: 269 - 271. Ditjenbun (2010). Luas Areal Dan Produksi Perkebunan Seluruh Indonesia Menurut Pengusahaan, Direktorat Jenderal Perkebunan, Departemen Pertanian RI.
186
Djamaran, I. (2007). Pengembangan Agroindustri, TIP IPB. Dramowicz, E. (2005). "Retail Trade Area Analysis Using the Huff Model." from http://www.directionsmag.com/articles/retail-trade-area-analysis-usingthe-huff-model/123411. Drezner, Z. and H. W. Hamacher (2004). Facility Location: Applications and Theory, Springer. Eddie, W. L., Cheng, et al. (2007). "A GIS approach to shopping mall location selection." Building and Environment 42(2). Edser, C. (2010). "Growth in Malaysian & Indonesian palm oil production." Focus on Surfactants 2010(4): 2. Eriyatno (2012). Ilmu Sistem: Meningkatkan Mutu dan Efektivitas Manajemen. Surabaya, Guna Widya. Evans, J. R. and D. L. Olson (2005). Introduction to Simulation and Risk Analysis. New York, Pearson. Figueroa, R. and M. Kartusch (2000). "laming to the scene: Routing and Locating to get there faster." Geospatial Today 10: 32-37. Fine, C. H., R. Vardan, et al. (2002). "Rapid-Response Capability in Value-Chain Design." Sloan Management Review 43(2): 69-75. Fitch, J. (2005). "Response Times: Myths, Measurement and Management." Journal of Emergency Medical Services http://www.jems.com/jems/239/13246/. Fujita, M. (2012). "Thünen and the New Economic Geography." Regional Science and Urban Economics: 1-6. GAPKI (2011). "7 Hambatan Industri Sawit." Info Sawit 5(2): 36. Gar-On, A., Yeh, et al. (1996). "An Integrated GIS and Location-Allocation Approach to Public Facilities Planning - An Example of Open Space Planning." Computer, Environment and Urban Systems 20(4/5): 339-350. Geofrion, A. (1978). "A guide to computer assisted methods for distribution system planning." Sloan Management Review 24(5): 535-544. Ghosh, A., S. McLafferty, et al. (1995). Multifacility Retail Networks. Facility Location: A Survey of Applications and Methods. Z. Drezner. New York, Springer. Gingold, B., M. McLeish, et al. (2011). Moratorium Indonesia: Kesempatan bagi Hutan dan Industri, World Resources Institute. Goenadi, D. H. (2005). Prospek Dan Arah Pengembangan Agribisnis Kelapa Sawit Di Indonesia, Badan Penelitian Dan Pengembangan Pertanian, Departemen Pertanian. Golberg, R., A. Ray, et al. (1974). Agribusiness Management for Developing Countries--Latin America. Cambridge, Mass, Ballinger Publishing Company.
187
Goodchild, M. F. (1987). "A spatial analytical perspective on geographical information systems." International Journal of Geographical Information Systems 1: 327–344. Goodchild, M. F. (2009). "Geographic information systems and science: today and tomorrow." Procedia Earth and Planetary Science 1: 1037–1043. Gorter, C. and P. Nijkamp (2001). "Location Theory." International Encyclopedia of the Social & Behavioral Sciences: 9013-9019. Greenhut, M. L., C.-C. Mai, et al. (1986). "Impacts on optimum location of different pricing strategies, market structures and customer distributions over space." Regional Science and Urban Economics 16(3). Gunarta, I. K. (2006). Analisis Risiko Fluktuasi Pertumbuhan Demand pada Investasi Penambahan Kapasitas Pabrik Semen dengan Menggunakan Simulasi. Seminar Techno SIM 2006, Yogyakarta, Fakultas Teknik Universitas Gajah Mada. Hadi, S. (2011). Pembuatan Aplikasi Web Gis Untuk Informasi Pangsa Pasar Agrobisnis Dengan Alovmap Studi Kasus: Di Kabupaten Nganjuk, Provinsi Jawa Timur. Jurusan Sistem Informasi, FTIF. Surabaya, ITS. Hagadone, T. A. and R. K. Grala (2012). "Business Clusters in Mississipi's Forest Products Industry." Forest Policy and Economics 20: 16--24. Hakimi, S. L. (1964). "Optimum Locations of Switching Centers and the Absolute Centers and Medians of a Graph." Operations Research 12: 450-459. Hambali, E. (2005). Pengembangan Klaster Industrl Turunan Minyak Kelapa Sawit. Seminar Nasionat Pemanfaatan Oleokirrria BerbasIs Minyak Sawlt pada Berbagai lndustri. Bogor. Harrington, J. and K. Tumay (2000). Simulation Modelling Methods to Reduce Risks and Increase Performance. New York, Mc Graw Hill. Head, K., J. Ries, et al. (1994). "Agglomeration Benefits And Location Choice: Evidence From Japanese Manujfacturing Investment In The United States." National Bureau Of Economic Research. Heizer, J. and B. Render (2010). Operations Management, Prentice Hall. Hertz, D. (1964). "Risk Analysis in Capital Investment." Harvard Business Review: 95-106. Hitchner, J. R. (2006). Financial Valuation, Application and Models, John Wiley & Sons. Holmes, J. F., F. B. Williams, et al. (1972). "Facility Location under a Maximum Travel Restriction: An Example Using Day Care Facilities." Geographical Analysis 4: 258-266. Hossain, M. S., S. R. Chowdhury, et al. (2009). "Integration of GIS and multicriteria decision analysis for urban aquaculture development in Bangladesh." Landscape and Urban Planning, 90(3-4): 119-133.
188
Indagro (2009). Road Map Industri Pengolahan CPO. Jakarta, Direktorat Jenderal Industri Agro dan Kimia. Indagro (2010). Statistik Indagro 2010, Direktorat Jenderal Industri Agro, Kementrian Perindustrian. Isard, W. (1975). "Transportation research: Some reflections on its development." Regional Science and Urban Economics 5(2): 133-135. Jäger, J. (2009). "Land Rent Theory." International Encyclopedia of Human Geography: 112-117. Jankowski, P. (1995). "Integrating geographical information systems and multiple criteria decision-making methods." International Journal of Geographical Information Systems 9. Jatmika, A. (2007). Rancang Bangun Sistem Pengembangan Agroindustri Kelapa Sawit Dengan Strategi Pemberdayaan. Program Studi Teknologi Industri Pertanian. Bogor, IPB. S3. Karaev, A., S. C. L. Koh, et al. (2007). "The cluster approach and SME competitiveness: a review." Journal of Manufacturing Technology Management 18(7): 818-835. Kardiman (2011). Analisis Struktur, Perilaku dan Kinerja Industri Kelapa Sawit di Malaysia dan Implikasinya bagi Pengembangan Industri Kelapa Sawit Indonesia. Sekolah Pascasarjana Institut Pertanian Bogor. Bogor, IPB. S3. Keeney, R. L. and H. Raiffa (1976). Decisions with Multiple Objectives: Preferences and Value Tradeoffs. New York, Wiley. Kelton, W. D., R. P. Sadowski, et al. (2003). Simulation with Arena. New York, Mc Graw Hill. Kemenperin (2011). Hilirisasi Industri Kelapa Sawit Nasional. Jakarta, Kementrian Perindustrian RI. Khisty, C. J. and B. K. Lall (2002). Transportation Engineering: An Introduction, Prentice Hall. Kleindorfer, P. R., H. C. Kunreuther, et al. (1993). Decision Sciences: An Integrated Perspective. Cambridge, Cambridge University Press. Koo, W. W. and D. W. Larson (1985). Transportation Models for Agricultural Products, Westview Pr. Krumme, G. (2002). "Location-Theoretical Traditions and Significant Concepts." Retrieved 13 Desember 2011, from http://faculty.washington.edu/krumme/450/traditions.html. Krumme, G. (2012). "Economic & Business Geography and the KnowledgeBased Space Economy." Retrieved 24 Pebruari 2012, from http://faculty.washington.edu/krumme/ebg/contents.html. Kumar, S. and S. Agrawal (2011). GIS as A Decision Support for Supply Chain Management. Geospatial World Forum. Hyderabad, India.
189
Kurniawan, I. E. (2011). Hijaukan bumi dengan menanam pohon sawit. Info Sawit. Jakarta, PT. Mitra Media Nusantara. IV: 8. Lashine, S. H., M. Fattouh, et al. (2006). "Location/allocation and routing decisions in supply chain network design." Journal of Modelling in Management 1(2). LeSage, J. and R. K. Pace (2009). Introduction to Spatial Econometrics, Chapman and Hall/CRC. Leung, Y. (1988). Spatial Analysis and Planning Under Imprecision. Amsterdam, North-Holland. Li, H., C. W. Kong, et al. (2003). "Internet based geographical information systems for E-Commerce application in construction material procurement." Journal of Construction Engineering and Management(129): 689-697. Liu, J. G., P. J. Mason, et al. (2012). "GIS modelling of earthquake damage zones using satellite remote sensing and DEM data." Geomorphology 139–140: 518-535. London, N. A. (1990). "School Location in a Developing Nation: A Locationallocation Modelling Approach." International Journal of Educational Management 4(5): 13-19. Longley, P. A., M. Goodchild, et al. (2010). Geographic Information Systems and Science. New York, Wiley. Louveaux, F., J.-F. Thisse, et al. (1982). "Location theory and transportation costs." Regional Science and Urban Economics 12(4): 529-545. Lubis, R. E. and A. Widanarko (2011). Buku Pintar Kelapa Sawit. Jakarta, Agro Media. Maguire, D. J. (1991). An Overview and Definition of GIS. Geographical Information System: Principles and Applications. D. J. Maguire, M. F. Goodchild and D. W. Rhind. 1: 9-20. Maguire, D. J., M. F. Goodchild, et al., Eds. (2005). GIS, Spatial Analysis, and Modeling, ESRI Press. Malchow, M. B. (2001). An Analysis of Port Selection. Civil and Environmental Engineering. California, University of California, Berkeley. Doctor of Philosophy. Malczewski, J. (1999). GIS and Multicriteria Decision Analysis. Canada, John Wiley & Sons. Mangunwidjaya, D. and I. Sailah (2009). Pengantar Teknologi Pertanian. Depok, Penebar Swadaya. Marianov, V. and D. Serra (1998). "Probabilistic, Maximal Covering LocationAllocation Models for Congested Systems." Journal of Regional Science 38: 401-425.
190
Marimin and N. Maghfiroh (2010). Aplikasi Teknik Pengambilan Keputusan dalam Manajemen Rantai Pasok. Bogor, IPB Press. McHarg, I. L. (1969). Design with nature. Garden City, N.Y, John Wiley & Sons. MenkoEkuin (2011). Master Plan Percepatan Dan Perluasan Pembangunan Ekonomi Indonesia 2011-2025, Kementerian Koordinator Bidang Perekonomian. Mennecke, B. E. (1997). "Understanding the Role of Geographic Information Technologies in Business: Application and Research Directions." Journal of Geographic Information and Decision Analysis 1(1): 44-68. Morris, W. T. (1967). "On The Art of Modelling." Management Science 13(12): 45-50. Mtthew Brian Malchow and A. Kanafani (2001). "A disaggregate analysis of factors influenching port selection." Maritime Policy and Management 28(3): 265-277. Munda, G. (1995). Multicriteria Evaluation in A Fuzzy Environment: Theory and Applications in Ecological Economics. Heidelberg, Germany, PhysicaVerlaag. Murray, A. T. (2009). "Location Theory." International Encyclopedia of Human Geography: 270-276. Musselman, K. J. (1998). Guidelines for Success. Handbook of Simulation. J. Banks. New York, John Wiley & Sons. Nasution, M. N. (2008). Manajemen Transportasi. Jakarta, Ghalia Indonesia. Nugroho, I. (2008). "Agropolitan: Suatu Kerangka Berpikir Baru dalam Pembangunan Nasional?" Journal of Indonesian Applied Economics 2(2). O'Sullivan, D. and G. L. W. Perry (2011). Spatial Simulation: Exploring Pattern and Process, John Wiley. Ocalir, E. V., O. Y. Ercoskun, et al. (2010). "An integrated model of GIS and fuzzy logic (FMOTS) for location decisions of taxicab stands." Expert Systems with Applications 37(7): 4892-4901. Owen, S. H. and M. S. Daskin (1998). "Strategic facility location: A review." European Journal of Operational Research 111: 423-447. Pahan, I. (2010). Panduan lengkap kelapa sawit. Jakarta, Penebar Swadaya. Pahan, I., E. Gumbira-Sa’id, et al. (2011). "The Future of Palm Oil Industrial Cluster of Riau Region – Indonesia." European Journal of Social Sciences 24(3): 421-431. Pardamean, M. (2008). Panduan Lengkap Pengelolaan Kebun dan Pabrik Kelapa Sawit. Jakarta, PT. Agromedia Pustaka. Pardamean, M. (2011). "Manajemen Risiko Kelapa Sawit." Info Sawit 5(2): 3233. Pearce, J. and R. Robinson (2011). Strategic Management, Mc Graw Hill.
191
Peet, R. (1970). "Von Thünen theory and the dynamics of agricultural expansion." Explorations in Economic History, 8(2): 181-201. Prakash Gaur (2005). Port Planning as a Strategic Tool: A Typology. Institute of Transport and Maritime Management Antwerp University of Antwerp. Masters of Science in Transport and Maritime. Pratt, S. P., R. F. Reilly, et al. (2000). Valuing A Business, Mc Graw Hill. Pressman, R. S. (1997). Software Engineering: A Practitioner's Approach. New York, Mc Graw Hill. Pritsker, A. A. B. (1998). Principles of Simulation Modelling. Handbook of Simulation. J. Banks. New York, John Wiley & Sons. Pujawan, N. (2010). Supply Chain Management. Surabaya, Guna Widya. Rachbini, D. J., B. Arifin, et al. (2011). Outlook Industri 2012: Strategi Percepatan dan Perluasan Agroindustri. Jakarta, Kementrian Perindustrian Republik Indonesia. Rachman, B. and Sumedi (2002). Kajian Efisiensi Manajemen dalam Pengelolaan Agroindustri dalam Analisis Kebijakan: Paradigma Pembangunan dan Kebijaksanaan Pengembangan Agroindustri. Bogor, Pusat Penelitian Sosial Ekonomi Pertanian. Radiarta, I. N., S.-I. Saitoh, et al. (2008). "GIS-based multi-criteria evaluation models for identifying suitable sites for Japanese scallop (Mizuhopecten yessoensis) aquaculture in Funka Bay, southwestern Hokkaido, Japan." Aquaculture(284): 127–135. Rajabidfard, Abbas, et al. (2000). Spatial Data Infrastructures : Concept, SDI Hierarchy and Future Directions. Melbourne, Victoria, Spatial Data Research Group, Department of Geomatics, The University of Melbourne. Rapaport, E. and F. Snickars (1998). "Integration of environmental risk into the road location analysis: A GIS based case study to minimize environmental impacts, building costs, and travelling time." Retrieved 20 Pebruari 2012, from http://stratema.sgis.net/cupum/pdf/E8.pdf (). Reid, D. J. (1966). The Theory of Industrial Location, Alfred Weber's Contribution Reapprised. Economics and Commerce. Glasgow, Glasgow University. Resmini, L. (2003). "Economic integration, industry location and frontier economies in transition countries." Economic Systems 27: 205–221. ReVelle, C. S. and H. A. Eiselt (2005). "Location analysis: A synthesis and survey." European Journal of Operational Research 165: 1-19. Ristianto, B. (2003). Pendekatan Ekologi-Ekonomi dalam Pengembangan Pelabuhan Dumai. Program Studi Sumberdaya Pesisir dan Lautan. Bogor, IPB. S2. Rodrigue, J.-P. (2011). "Von Thunen's Regional Land Use Model." Retrieved 30 Desember 2012, from http://people.hofstra.edu/geotrans/eng/ch6en/conc6en/vonthunen.html.
192
Ruiz, M. C., E. Romero, et al. (2012). "Development and application of a multicriteria spatial decision support system for planning sustainable industrial areas in Northern Spain." Automation in Construction 22: 320-333. Rustiadi, E., S. Saefulhakim, et al. (2011). Perencanaan dan Pengembangan Wilayah. Jakarta, Crestpent Press dan Yayasan Pustaka Obor Indonesia. Saaty, T. L. (1980). The analytical hierarchy process: Planning, priority setting, resource allocation,. New York (1980), McGraw-Hill Book Co. Saaty, T. L. (1983). Decision Making For Leaders: The Analytical Hierarchy Process for Decision in Complex World. Pittsburg, RWS Publication. Santé, I., R. Crecente, et al. (2004). "A GIS web-based tool for the management of the PGI potato of Galicia." Computers and Electronics in Agriculture(44): 161–171. Sarkar, A. (2007). GIS Application in Logistics. Redlands, USA, School of Business University of Redlands. Schiele, H. (2008). "Location, location: the geography of industry clusters." Journal of Business Strategy 29(3): 29 - 36. Schietzelt, T. H. and P. Densham (2003) Location-allocation in GIS. Seffino, L. A., C. B. Medeiros, et al. (1999). "WOODSS — a spatial decision support system based on workflows." Decision Support System 27: 105– 123. Sha, Y. and J. Huang (2012). "The Multi-period Location-allocation Problem of Engineering Emergency Blood Supply Systems." Systems Engineering Procedia 5(21-28). Shannon, R. E. (1975). System Simulation: The Art and Science. Englewood Cliffs, NJ., Prentice Hall. Sharifi, M. A., L. Boerboom, et al. (2006). Spatial Multiple Criteria Decision Analysis In Integrated Planning For Public Transport And Land Use Development Study In Klang Valley, Malaysia. ISPRS Technical Commission II Symposium. Vienna. Shieh, Y.-N. (1992). "Launhardt on Von Thünen's rings: A note." Regional Science and Urban Economics 22(4): 637-641. Siahaan, B. (2000). Industrialisasi di Indonesia, Sejak Hutang Kehormatan Sampai Banting Stir. Bandung, Penerbit ITB. Singhal, S. and A. Kapur (2002). "Industrial estate planning and management in India -- an integrated approach towards industrial ecology." Journal of Environmental Management 66: 19-29. Sjafrizal (2008). Ekonomi Regional, Teori dan Aplikasi, Baduose Media. Smith (1994). "Incorporating Risk into Capital Budgeting Decisions Using Simulation." Management Decision 32(9): 20-26. Soekartiwi (2000). Agroindustri dalam Perspektif Sosial Ekonomi. Jakarta, Rajawali Press.
193
Sommer, S. and T. Wade, Eds. (2006). A to Z GIS: An Illustrated Dictionary of Geographic Information Systems, Esri Press. Sprague, R. H. (1980). "A Framework for the Development of Decision Support Systems." MIS Quarterly 4(4): 1-26. Stevens, S. S. (1964). "On the Theory of Scales and Measurements." Science 103: 677-680. Store, R. and J. Kangas (2000). "Integrating spatial multi-criteria evaluation and expert knowledge for GIS-based habitat suitability modelling." Supriyadi (2010). Tantangan Industri CPO Indonesia. Harian Ekonomi Neraca. Jakarta. Supriyati, E. Suryani, et al. (2006). Analisis Peningkatan Nilai Tambah Melalui Pengembangan Agroindustri Di Pedesaan. Bogor, Pusat Analisis Sosial Ekonomi Dan Kebijakan Pertanian Badan Penelitian Dan Engembangan Pertanian Departemen Pertanian. Suryana, A., D. H. Goenadi, et al. (2007). Prospek Dan Arah Pengembangan Agribisnis Kelapa Sawit, Badan Litbang Pertanian, Departemen Pertanian. Susila, W. R. (2010). "Industri Kelapa Sawit sebagai Lokomotif Ekonomi Nasional." Info Sawit 4(1): 33. Susila, W. R. (2011). Peluang Pengembangan Kelapa Sawit Di Indonesia: Perspektif Jangka Panjang 2025. Bogor, Lembaga Riset Perkebunan Indonesia,Bogor Indonesia. Syaukat, Y. (2010). "Menciptakan daya saing ekonomi dan lingkungan industri kelapa sawit Indonesia." Agrimedia 15(1): 17-19. Tabuchi, T. (1984). "The systemic variables and elasticities in Alonso's general, theory of movement " Regional Science and Urban Economics 14(2): 249264. Tamboen, F. M., A. Dewandhono, et al. (2008). Cetak Biru Penataan Dan Pengembangan Sektor Logistik Indonesia. Jakarta, Kementerian Koordinator Bidang Perekonomian Republik Indonesia. Tarigan, R. (2010). Perencanaan Pembangunan Wilayah. Jakarta, Bumi Aksara. TimP3EI (2011). Percepatan Dan Perluasan Pembangunan Ekonomi Indonesia 2011-2025. Jakarta, Kementerian Koordinator Bidang Perekonomian. Tobler, W. (1970). "A computer movie simulating urban growth in the Detroit region." Economic Geography 46(2): 234-240. Turban, E., R. Sharda, et al. (2011). Decision Support and Business Intelligence Systems. New Jersey, Pearson. Ufron, M. and Setijoprajudo (2010). Studi Penentuan Lokasi Pelabuhan CPO Ekspor dari Wilayah Sumatera Tengah. Jurusan Perkapalan Fakultas Teknologi Kelautan. Surabaya, ITS. UNEP (2006). Indonesian Current and Planned Palm Oil, United Nations Environment Programme.
194
UNIDO (2008). The Importance Of Agro-Industry For Socioeconomic Development And Poverty Reduction. UN Commission On Sustainable Development. New York, United Nations Industrial Development Organization. UNSD (2004). International Standard Industrial Classification of All Economic Activities (ISIC), Revision 4. Statistical Classifications Section. New York, United Nations Statistics Division. Venkataramani, K. (2011). "Aviation Biofuels." Info Sawit 5(11): 50-51. Vos, B. and H. Akkermans (1996). "Capturing the dynamics of facility allocation." International Journal of Operations & Production Management 16(11): 57-70. Wei-hua, L., X. Xue-cai, et al. (2011). "An emergency order allocation model based on multi-provider in two-echelon logistics service supply chain." Supply Chain Management: An International Journal 16(6): 391–400. Wignjosoebroto, S. (2003). Pengantar Teknik dan Manajemen Industri. Surabaya, Guna Widya. Wilkinson, J. and R. Rocha (2008). Agro-Industries trends, patterns and developmental impacts. Global Agroindustries Forum, Improving Competitiveness and Development Impact. New Delhi. Wilson, A. G. (1974). Urban and Regional Models in Geography and Planning. London, Pion. WorldBank (2012). "Logistics Performance Index." Retrieved 30 Juni 2012, from http://info.worldbank.org/etools/tradesurvey/mode1b.asp. Worrall, L. (1991). Spatial Analysis and Spatial Policy Using Geographic Information System. London, Belhaven Press. Xie, X. (2009). "An integrated sea–land transportation system model and its theory." Transportation Research C(17): 394-411. Xu, Z. and V. Coors (2012). "Combining system dynamics model, GIS and 3D visualization in sustainability assessment of urban residential development " Building and Environment 47: 272-287. Zhang, F., D. M. Johnson, et al. (2011). "A GIS-based method for identifying the optimal location for a facility to convert forest biomass to biofuel." Biomass and Bioenergy 35(9): 3951-3961. Zhou, G., H. Min, et al. (2002). "The balanced allocation of retailers to multiple distribution centers in the supply chain network: a genetic algorithm approach." Computers & Industrial Engineering 43: 251-261.
LAMPIRAN
196
Lampiran 1 Daftar Kebun Kelapa Sawit di Kabupaten Kutei Timur ID 0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41
KODE KKS-001 KKS-002 KKS-003 KKS-004 KKS-005 KKS-006 KKS-007 KKS-008 KKS-009 KKS-010 KKS-011 KKS-012 KKS-013 KKS-014 KKS-015 KKS-016 KKS-017 KKS-018 KKS-019 KKS-020 KKS-021 KKS-022 KKS-023 KKS-024 KKS-025 KKS-026 KKS-027 KKS-028 KKS-029 KKS-030 KKS-031 KKS-032 KKS-033 KKS-034 KKS-035 KKS-036 KKS-037 KKS-038 KKS-039 KKS-040
LUAS (Ha) 18,706 148 128 341 12,153 9,434 12,989 967 5,113 1,567 5,975 15,960 2,264 4,535 3,425 3,335 2,424 18,235 14,581 6,087 2,476 2,479 3,951 9,051 33,301 13,907 11,797 390 1,023 13,743 8,858 3,387 8,305 16,985 17,147 9,780 14,976 1,256 11,456 2,035
197
ID 42 43 44 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86
KODE KKS-041 KKS-042 KKS-043 KKS-044 KKS-045 KKS-046 KKS-047 KKS-048 KKS-049 KKS-050 KKS-051 KKS-052 KKS-053 KKS-054 KKS-055 KKS-056 KKS-057 KKS-058 KKS-059 KKS-060 KKS-061 KKS-062 KKS-063 KKS-064 KKS-065 KKS-066 KKS-067 KKS-068 KKS-069 KKS-070 KKS-071 KKS-072 KKS-073 KKS-074 KKS-075 KKS-076 KKS-077 KKS-078 KKS-079 KKS-080 KKS-081 KKS-082
LUAS (Ha) 4,082 19,134 1,424 18,176 3,073 1,274 7,288 730 9,007 7,818 4,061 4,940 3,610 13,883 4,348 9,440 1,243 1,632 318 239 90 118 2,647 133 310 1,898 596 340 147 593 4,557 3,006 9,759 9,631 14,992 5,468 1,976 4,948 1,334 6,890 2,670 3,600
198
ID 88 89 90 91 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
KODE KKS-083 KKS-084 KKS-085 KKS-086 KKS-087 KKS-088 KKS-089 KKS-090 KKS-091 KKS-092 KKS-093 KKS-094 KKS-095 KKS-096 KKS-097 KKS-098 KKS-099 KKS-100 KKS-101 KKS-102 KKS-103 KKS-104 KKS-105 KKS-106 KKS-107 KKS-108 KKS-109 KKS-110 KKS-111 KKS-112 KKS-113 KKS-114 KKS-115 KKS-116 KKS-117 KKS-118 KKS-119 KKS-120 KKS-121 KKS-122 KKS-123 KKS-124
LUAS (Ha) 1,791 2,623 744 7,591 1,584 982 1,446 8,220 725 688 2,447 501 5,442 923 446 1,101 4,355 1,512 739 189 2,377 1,974 3,503 442 329 231 7,050 1,787 388 405 4,245 4,325 179 706 322 1,249 621 1,677 145 265 282 246
199
ID 134 135 136 137 138 139 140 141 142 143 144 145 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
KODE KKS-125 KKS-126 KKS-127 KKS-128 KKS-129 KKS-130 KKS-131 KKS-132 KKS-133 KKS-134 KKS-135 KKS-136 KKS-137 KKS-138 KKS-139 KKS-140 KKS-141 KKS-142 KKS-143 KKS-144 KKS-145 KKS-146 KKS-147 KKS-148 KKS-149 KKS-150 KKS-151 KKS-152 KKS-153 KKS-154 KKS-155 KKS-156 KKS-157 KKS-158 KKS-159 KKS-160
LUAS (Ha) 3,758 383 5,506 1,341 423 649 851 6,482 10,784 5,942 1,459 4,807 11,390 7,587 465 2,817 307 14,135 5,174 4,075 7,052 97 6,534 7,297 793 3,101 1,275 419 7,924 1,937 163 641 1,617 230 63 1,185
200
Lampiran 2 Konversi Satuan
1 km2 1 km2
= =
1.000.000 100
m2 ha
201
Lampiran 3 Asumsi Produktivitas Berdasarkan Umur Tanaman (Pahan, 2010)
UMUR PRODUKTIVITAS 1 0 2 0 3 7.00 4 15.00 5 19.00 6 23.00 7 26.00 8 28.00 9 28.00 10 28.00 11 28.00 12 28.00 13 28.00 14 26.00 15 25.00 16 24.50 17 24.00 18 23.00 19 23.00 20 22.00 21 21.00 22 20.00 23 19.00 24 18.00 25 17.00 26 17.00 27 17.00 >27 0 Lampiran 4 Harga Tandan Buah Segar Tahun 2012
Periode 01 Juni s/d 07 Juni 2012 25 Mei s/d 31 Mei 2012 18 Mei s/d 14 Mei 2012 11 Mei s/d 17 Mei 2012 04 Mei s/d 10 Mei 2012 27 April s/d 03 Mei 2012 20 April s/d 26 April 2012
Harga (Rp/Kg) 1,511.73 1,515.52 1,771.41 1,771.41 1,817.60 1,807.96 1,863.53
202
13 April s/d 19 April 2012 06 April s/d 12 April 2012 30 Maret s/d 05 April 23 Maret s/d 29 Maret 16 Maret s/d 22 Maret 09 Maret s/d 15 Maret 02 Maret s/d 08 Maret 25 Februari s/d 01 Maret 17 Februari s/d 24 Februari 10 Februari s/d 16 Februari 03 Februari s/d 09 Februari 27 Januari s/d 02 Februari 06 Januari s/d 12 Januari 13 Januari s/d 19 Januari 20 Januari s/d 26 Januari 01 Januari s/d 05 Januari
1,903.20 1,813.83 1,793.94 1,793.94 1,811.38 1,755.34 1,740.78 1,694.78 1,657.86 1,606.96 1,597.93 1,612.13 1,633.42 1,671.08 1,637.65 1,559.67
Sumber: Dinas Perkebunan Propinsi Kalimantan Timur, 2012
203
Lampiran 5 Harga Tandan Buah Segar per Kg Tahun 2011
Periode 21 Desember s/d 05 Januari 06 Januari s/d 20 Januari 21 Januari s/d 05 Februari 06 Februari s/d 20 Februari 21 Februari s/d 05 Maret 06 Maret s/d 20 Maret 21 Maret s/d 05 April 06 April s/d 20 April 21 April s/d 05 Mei 06 Mei s/d 20 Mei 21 Mei s/d 05 Juni 06 Juni s/d 20 Juni 21 Juni s/d 05 Juli 06 Juli s/d 20 Juli 21 Juli s/d 05 Agustus 06 Juli s/d 20 Agustus 21 Agustus s/d 05 September 06 September s/d 20 September 21 September s/d 05 Oktober 06 Oktober s/d 13 Oktober 14 Oktober s/d 20 Oktober 21 Oktober s/d 27 Oktober 28 Oktober s/d 03 November 03 November s/d 10 November 11 November s/d 17 November 18 November s/d 24 November 25 November s/d 01 Desember 02 Desember s/d 08 Desember 09 Desember s/d 15 Desember 16 Desember s/d 22 Desember
Harga (Rp/Kg) 1,876.41 1,866.73 1,963.51 1,895.91 1,931.08 1,758.78 1,623.61 1,710.19 1,642.00 1,710.19 1,715.87 1,758.99 1,650.36 1,453.05 1,464.23 1,544.41 1,512.20 1,512.20 1,533.91 1,464.72 1,355.01 1,364.33 1,370.46 1,442.16 1,466.47 1,492.39 1,583.26 1,553.83 1,544.67 1,532.67
Sumber: Dinas Perkebunan Propinsi Kalimantan Timur, 2012.
204
Lampiran 6 Hasil Interaksi Spasial dari Kebun Kelapa Sawit Menuju Ke Pabrik Minyak Kelapa Sawit
Jarak sebagai cost Alokasi dan Biaya Dari
Tujuan
1
2
KKS001 KKS001 KKS001 KKS002 KKS003 KKS004 KKS005 KKS006 KKS007 KKS007 KKS008 KKS009 KKS010 KKS021 KKS027 KKS029 KKS030 KKS031 KKS036 KKS039 KKS040 KKS041 KKS042 KKS048 KKS049 KKS050 KKS051 KKS052 KKS053 KKS054 KKS055 KKS056 KKS056 KKS057 KKS059 KKS060 KKS061 KKS062 KKS063 KKS064 KKS066
PKS007 PKS010 PKS011 PKS002 PKS004 PKS004 PKS007 PKS007 PKS009 PKS010 PKS008 PKS007 PKS007 PKS004 PKS004 PKS004 PKS001 PKS004 PKS001 PKS001 PKS001 PKS001 PKS001 PKS011 PKS010 PKS011 PKS011 PKS010 PKS010 PKS009 PKS010 PKS009 PKS010 PKS010 PKS011 PKS011 PKS011 PKS011 PKS011 PKS011 PKS010
Biaya per Ton 3 119.542 82.805 107.207 15.933 15.811 13.567 27.308 102.624 55.532 63.949 20.548 57.297 51.564 40.898 55.687 44.407 31.719 31.528 13.235 5.887 23.634 7.398 17.160 3.664 4.599 1.639 44.433 33.064 26.119 37.607 11.071 31.242 15.699 48.594 13.148 11.992 14.524 13.906 9.501 10.860 8.123
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
8
9
24.324 12.408 6.318 3.842 3.583 9.542 42.535 33.019 29.734 28.715 6.769 48.574 10.971 69.315 74.100 28.632 63.472 66.432 34.229 40.094 26.461 38.775 66.969 13.879 31.523 74.268 56.851 37.053 12.635 48.590 15.218 33.040 32.323 6.043 6.225 629 411 30.435 3.446 13.284
2.907.735.230 1.027.449.962 677.332.000 61.215.823 56.649.484 129.459.892 1.161.525.363 3.388.555.790 1.651.181.173 1.836.288.127 139.087.056 2.783.151.667 565.706.285 2.834.832.393 4.126.433.302 1.271.463.915 2.013.281.634 2.094.463.047 453.013.627 236.022.673 625.377.210 286.847.911 1.149.166.744 50.848.964 144.971.503 121.711.141 2.526.055.594 1.225.108.535 330.011.910 1.827.302.313 168.473.091 518.709.696 1.570.689.220 79.451.587 74.648.557 9.135.709 5.715.234 289.157.213 37.423.405 107.906.091
3.695 3.583 9.542 91.146 14.506 69.315 84.147 73.347 85.917 46.938 63.798 16.801 67.550 89.903 11.454 18.779 27.075 69.071 32.610 70.800 7.316 6.704 1.347 882 34.405 3.711 28.465
58.873.625 56.649.484 129.459.892 2.488.971.218 298.064.240 2.834.832.393 2.652.980.221 970.732.142 505.770.439 347.235.777 1.094.753.392 61.554.395 310.656.506 147.333.935 508.934.597 620.902.847 707.168.378 2.597.522.084 361.013.766 1.111.520.777 96.188.617 80.392.598 19.564.070 12.264.808 326.875.437 40.301.293 231.221.537
3.621 3.583 9.542 115.452 18.374 64.364 101.863 92.907 108.828 53.060 15.205 18.992 85.563 101.630 15.066 41.305 15.333 74.347 8.270 6.704 1.707 1.117 37.052 3.711 36.056
57.694.559 56.649.484 129.459.892 3.152.707.799 377.542.558 2.632.347.286 3.211.528.922 1.229.604.635 640.641.379 392.524.827 260.912.965 69.581.636 393.496.707 166.552.260 566.580.297 457.273.033 479.032.835 1.167.206.712 108.731.529 80.392.598 24.792.775 15.532.642 352.024.086 40.301.293 292.883.321
205
Alokasi dan Biaya Dari
Tujuan
1
2
KKS067 KKS068 KKS069 KKS071 KKS072 KKS072 KKS073 KKS074 KKS075 KKS076 KKS076 KKS076 KKS077 KKS077 KKS078 KKS079 KKS081 KKS082 KKS083 KKS084 KKS085 KKS086 KKS087 KKS088 KKS089 KKS093 KKS094 KKS096 KKS097 KKS098 KKS099 KKS102 KKS106 KKS107 KKS108 KKS109 KKS109 KKS109 KKS109 KKS110 KKS111 KKS112 KKS113 KKS114 KKS115
PKS010 PKS010 PKS010 PKS011 PKS004 PKS005 PKS005 PKS005 PKS005 PKS003 PKS004 PKS005 PKS004 PKS005 PKS004 PKS010 PKS011 PKS004 PKS004 PKS004 PKS004 PKS002 PKS002 PKS003 PKS004 PKS004 PKS004 PKS002 PKS002 PKS004 PKS004 PKS002 PKS003 PKS003 PKS002 PKS003 PKS004 PKS005 PKS006 PKS010 PKS012 PKS012 PKS012 PKS012 PKS012
Biaya per Ton 3 7.493 13.322 5.428 52.185 35.012 27.067 17.505 4.862 17.867 22.908 39.274 34.706 42.942 38.373 51.961 66.907 11.963 5.163 8.941 33.170 43.484 19.074 4.161 7.286 55.109 46.589 38.185 12.391 17.449 16.684 11.506 13.623 16.041 17.099 6.554 25.073 41.440 36.871 3.602 43.699 10.724 8.290 19.478 2.737 6.172
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
8
9
34.174 28.554 34.158 33.709 52.471 146.056 7.038 48.656 6.681 17.320 30.678 9.345 26.870 24.915 5.211 124.187 44.352 25.541 37.604 68.518 3.508 23.077 25.312 30.482 4.909 8.403 6.467 107.389 90.000 6.256 2.715 6.068 118.865 15.137 1.252
1.783.362.193 772.874.459 597.936.644 163.879.708 937.496.104 3.345.806.885 244.258.681 2.089.369.993 256.369.412 899.964.797 2.052.571.504 111.790.731 240.232.632 826.419.463 226.597.485 2.368.780.963 184.545.035 186.079.722 2.072.318.836 3.192.202.232 133.953.390 285.950.753 422.317.279 350.725.343 66.875.238 134.791.531 42.384.653 3.959.572.573 324.163.710 273.383.903 29.114.403 50.305.862 2.315.230.599 41.435.449 7.727.044
4.173 2.383 22.432 12.133 73.195 72.234 112.438 145.270 7.824 55.337 20.025 12.598 34.036 30.160 2.187 124.418 44.352 24.558 7.518 22.616 28.613 65.319 5.286 10.172 6.467 107.389 90.000 5.818 7.686 82.651 32.437 2.683
31.269.311 31.746.076 785.397.596 328.405.331 1.281.280.305 351.172.887 2.008.922.775 3.327.801.434 307.283.383 2.376.263.303 239.551.566 65.038.636 304.300.628 1.000.393.779 95.100.499 2.373.187.128 184.545.035 178.918.046 287.075.710 280.238.429 477.392.711 751.559.238 72.011.104 163.167.852 42.384.653 4.450.207.677 324.163.710 62.389.538 63.719.653 1.609.860.970 88.791.811 16.558.832
8.942 5.107 515 39.073 92.714 91.497 85.789 142.133 10.961 25.365 26.997 41.201 34.094 121.833 44.352 24.067 9.523 22.154 3.121 30.814 82.738 5.286 11.499 2.301 6.467 85.247 90.000 7.369 9.304 61.330 41.087 3.399
67.004.597 68.034.918 2.795.366 1.368.038.528 1.622.960.888 444.821.907 1.532.786.744 3.255.939.982 430.487.367 303.431.983 139.375.144 368.359.683 1.130.882.808 2.323.880.045 184.545.035 175.340.851 363.636.869 274.513.714 54.457.592 514.115.228 951.981.939 72.011.104 184.454.102 39.344.233 42.384.653 3.532.641.647 324.163.710 79.021.744 77.133.444 1.194.574.455 112.469.992 20.977.812
206
Alokasi dan Biaya Dari
Tujuan
1
2
KKS116 KKS117 KKS118 KKS119 KKS122 KKS123 KKS124 KKS125 KKS126 KKS127 KKS128 KKS129 KKS130 KKS132 KKS133 KKS134 KKS135 KKS136 KKS137 KKS138 KKS139 KKS140 KKS141 KKS142 KKS143 KKS144 KKS145 KKS146 KKS148 KKS149 KKS150 KKS151 KKS153 KKS153 KKS154 KKS155 KKS156 KKS157 KKS158 KKS160
PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS011 PKS011 PKS011 PKS011 PKS011 PKS010 PKS009 PKS007 PKS009 PKS008 PKS008 PKS008 PKS008 PKS008 PKS007 PKS007 PKS008 PKS008 PKS008 PKS008 PKS008 PKS009 PKS009 PKS009 PKS008 PKS007 PKS008 PKS009 PKS007 PKS009 PKS007 PKS007 PKS002
Biaya per Ton 3 16.118 14.449 4.545 11.563 21.967 17.500 9.736 23.150 16.364 28.614 6.237 10.110 10.781 12.809 36.943 5.541 38.229 45.897 60.822 32.913 27.877 1.258 4.361 53.262 7.081 12.947 4.009 6.164 26.097 29.404 39.325 57.916 89.503 74.203 52.301 96.093 18.045 16.311 6.860 5.392 Total
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
8
9
13.412 9.015 9.365 9.309 3.941 3.683 13.154 7.279 41.293 9.385 6.341 18.165 74.545 55.285 56.447 21.885 33.840 56.900 12.098 9.859 5.833 18.111 57.044 52.887 2.729 54.727 9.121 6.089 12.130 5.747 33.166 3.030.006
216.175.555 130.259.313 42.561.340 107.639.055 68.965.975 35.858.351 304.517.362 119.111.649 1.181.541.467 58.531.420 64.104.859 195.841.824 954.855.179 2.042.418.357 312.777.399 836.646.874 1.553.158.304 1.872.743.270 337.261.426 12.403.361 25.440.064 128.240.405 738.542.621 212.048.787 16.822.326 1.428.232.410 268.192.297 109.876.803 197.857.512 39.424.673 178.833.493 56.422.721.814
16.236 9.015 11.862 11.792 3.941 4.665 28.187 8.812 311 20.110 8.032 18.165 84.268 15.364 68.331 953 72.073 13.029 21.126 7.061 38.808 57.044 66.990 2.729 69.321 10.310 7.371 15.365 5.632 33.166 3.030.008
261.692.985 130.259.313 53.909.516 136.349.740 68.965.975 45.419.280 652.533.898 144.197.259 8.898.830 125.420.017 81.200.163 195.841.824 1.079.398.166 567.599.089 378.627.606 36.432.464 2.372.130.505 363.215.335 26.578.092 30.795.867 274.791.764 738.542.621 268.594.328 16.822.326 1.809.097.865 303.153.446 133.010.661 250.624.953 38.635.768 178.833.493 48.384.137.274
10.589 8.371 4.370 4.344 2.910 3.660 1.719 5.747 19.270 2.959 16.867 61.580 44.564 10.213 16.825 39.865 26.553 10.702 4.605 49.474 52.970 24.680 2.534 25.539 7.535 10.854 4.461 2.781 24.954 36.797 1.553 4.807 5.661 5.977 33.166 3.030.004
170.674.243 120.954.044 19.860.444 50.229.246 63.924.113 64.048.584 16.736.493 94.042.402 551.384.111 29.914.253 181.847.732 788.785.055 246.932.734 390.435.208 772.218.926 2.424.653.004 873.935.889 298.344.502 20.084.261 2.635.087.453 685.796.975 98.953.695 15.620.291 666.501.499 221.557.829 426.837.913 258.364.097 248.907.996 1.851.658.742 1.924.525.785 149.231.882 86.742.945 92.338.943 41.002.483 178.833.493 88.315.316.549
207
Waktu Tempuh Sebagai Cost Alokasi dan Biaya Dari
Tujuan
Biaya per Ton
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
1
2
3
4
5
6
7
8
9
KKS001 KKS001 KKS001 KKS002 KKS003 KKS003 KKS003 KKS004 KKS005 KKS006 KKS007 KKS007 KKS008 KKS009 KKS010 KKS021 KKS030 KKS031 KKS036 KKS039 KKS040 KKS041 KKS042 KKS048 KKS049 KKS050 KKS051 KKS052 KKS053 KKS054 KKS055 KKS056 KKS057 KKS059 KKS059 KKS060 KKS061 KKS061 KKS062 KKS062 KKS063 KKS064 KKS066
PKS007 PKS010 PKS011 PKS002 PKS003 PKS004 PKS005 PKS004 PKS007 PKS007 PKS009 PKS010 PKS008 PKS007 PKS007 PKS004 PKS001 PKS004 PKS001 PKS001 PKS001 PKS001 PKS001 PKS011 PKS010 PKS011 PKS011 PKS010 PKS010 PKS009 PKS010 PKS010 PKS010 PKS010 PKS011 PKS011 PKS010 PKS011 PKS010 PKS011 PKS011 PKS011 PKS010
2,8930 1,9070 2,3660 0,3700 0,4170 0,4530 0,3870 0,4080 0,5440 1,8280 1,3050 1,5540 0,3180 0,7180 1,1260 0,9390 1,2360 0,7780 0,4390 0,2230 0,7590 0,2450 0,6650 0,0740 0,1510 0,0210 0,5550 0,8250 0,6520 0,8210 0,2760 0,3920 1,2130 0,3550 0,2640 0,2410 0,3280 0,2920 0,3400 0,2800 0,1910 0,2180 0,2030
24.324 12.408 6.318 3.842 3.583 9.542 42.535 33.019 29.734 28.715 6.769 48.574 10.971 69.315 63.472 66.432 34.229 40.094 26.461 38.775 66.969 13.879 31.523 74.268 56.851 37.053 12.635 48.590 15.218 33.040 32.323 6.043 6.225 629 411 30.435 3.446 13.284
70.369 23.662 14.948 1.422 1.387 3.893 23.139 60.359 38.803 44.623 2.153 34.876 12.353 65.087 78.451 51.684 15.027 8.941 20.084 9.500 44.534 1.027 4.760 1.560 31.552 30.569 8.238 39.892 4.200 12.952 39.208 1.595 1.500 184 115 5.813 751 2.697
3.695 3.583 9.542 70.944 14.506 69.315 84.147 73.347 85.917 46.938 63.798 16.801 67.550 89.903 11.454 18.779 27.075 69.071 32.610 70.800 7.316 6.704 1.347 882 34.405 3.711 28.465
1.367 1.494 3.893 38.594 4.613 65.087 65.466 32.199 19.159 11.500 42.426 1.243 10.200 1.888 6.357 15.493 17.653 56.707 9.000 27.754 1.931 1.616 393 247 6.571 809 5.778
3.621 3.583 9.542 18.374 64.364 101.863 92.907 108.828 53.060 15.205 18.992 85.563 101.630 30.399 41.305 74.347 8.270 6.704 1.707 1.117 37.052 3.711 36.056
1.340 1.494 3.893 5.843 60.438 79.249 40.786 24.269 13.000 10.111 1.405 12.920 2.134 24.958 11.400 29.144 2.183 1.616 498 313 7.077 809 7.319
208
Alokasi dan Biaya Dari
Tujuan
Biaya per Ton
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
1
2
3
4
5
6
7
8
9
KKS067 KKS068 KKS069 KKS071 KKS072 KKS072 KKS073 KKS074 KKS075 KKS075 KKS075 KKS076 KKS076 KKS076 KKS077 KKS077 KKS078 KKS079 KKS081 KKS082 KKS083 KKS084 KKS086 KKS087 KKS088 KKS093 KKS094 KKS095 KKS095 KKS096 KKS097 KKS098 KKS099 KKS102 KKS106 KKS106 KKS107 KKS107 KKS108 KKS109 KKS109 KKS110 KKS111 KKS112 KKS113
PKS010 PKS010 PKS010 PKS011 PKS004 PKS005 PKS005 PKS005 PKS003 PKS004 PKS005 PKS003 PKS004 PKS005 PKS004 PKS005 PKS004 PKS010 PKS011 PKS004 PKS004 PKS004 PKS004 PKS002 PKS003 PKS004 PKS004 PKS002 PKS004 PKS002 PKS002 PKS003 PKS003 PKS002 PKS003 PKS005 PKS003 PKS004 PKS002 PKS004 PKS006 PKS010 PKS012 PKS012 PKS012
0,1820 0,2990 0,1400 0,6520 0,7050 0,3850 0,2490 0,0690 0,6450 0,8360 0,2540 0,6600 0,9700 0,8300 1,0620 0,9210 1,2860 1,6700 0,1490 0,1700 0,2940 0,8690 1,2920 0,0810 0,1680 1,1280 0,8690 0,4410 1,2310 0,2810 0,3830 0,3250 0,2210 0,3210 0,3430 0,3120 0,3640 0,5060 0,1300 1,0810 0,1190 1,0910 0,1560 0,1070 0,3320
34.174 28.554 34.158 33.709 52.471 98.665 54.429 644 54.693 17.320 30.678 9.345 26.870 24.915 126.452 44.352 25.541 68.518 3.508 124.187 17.318 23.077 25.312 30.482 4.909 8.403 6.467 107.389 90.000 6.256 2.715 6.068 118.865
22.281 10.993 8.505 2.326 13.328 65.119 45.176 684 50.372 22.274 51.232 1.392 7.900 21.651 163.376 3.593 4.291 77.288 3.048 54.766 21.318 6.485 8.226 6.737 1.576 2.622 841 116.088 10.710 6.825 424 649 39.463
4.173 2.383 32.604 1.961 73.195 72.234 112.438 57.927 95.167 55.337 20.025 12.598 34.036 30.160 44.352 24.558 2.187 7.518 124.418 22.616 28.613 65.319 5.286 10.172 6.467 107.389 90.000 5.818 7.686 82.651
759 713 22.986 755 18.226 4.984 28.559 38.232 92.312 58.768 2.984 2.142 10.007 26.209 3.593 4.126 2.467 6.533 54.868 6.355 9.299 14.435 1.697 3.174 841 116.088 10.710 908 822 27.440
8.942 5.107 515 39.073 92.714 91.497 24.998 31.635 85.789 153.094 28.614 25.365 26.997 41.201 34.094 44.352 24.067 9.523 121.833 22.154 3.121 30.814 82.738 5.286 11.499 2.301 6.467 90.000 7.369 9.304 61.330
1.627 1.527 72 27.546 23.086 6.313 16.124 26.447 21.790 148.501 30.388 3.779 4.589 12.113 29.628 3.593 4.043 8.275 53.728 6.225 1.195 10.015 18.285 1.697 3.944 838 841 10.710 1.150 996 20.362
209
Alokasi dan Biaya Dari
Tujuan
Biaya per Ton
2012
2013
2014
Alokasi
Biaya
Alokasi
Biaya
Alokasi
Biaya
1
2
3
4
5
6
7
8
9
KKS114 KKS115 KKS116 KKS117 KKS118 KKS119 KKS122 KKS123 KKS124 KKS125 KKS126 KKS127 KKS128 KKS129 KKS130 KKS132 KKS133 KKS134 KKS135 KKS136 KKS137 KKS138 KKS139 KKS140 KKS141 KKS142 KKS143 KKS144 KKS145 KKS146 KKS148 KKS149 KKS150 KKS151 KKS153 KKS153 KKS154 KKS155 KKS156 KKS157 KKS158 KKS159 KKS160
PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS011 PKS011 PKS011 PKS011 PKS011 PKS010 PKS009 PKS007 PKS009 PKS008 PKS008 PKS008 PKS008 PKS008 PKS007 PKS007 PKS008 PKS008 PKS008 PKS008 PKS008 PKS009 PKS009 PKS009 PKS008 PKS007 PKS008 PKS009 PKS007 PKS009 PKS007 PKS007 PKS004 PKS002 Total
0,0340 0,0780 0,2640 0,2310 0,1130 0,1950 0,3820 0,2920 0,2430 0,2890 0,2040 0,3570 0,0780 0,1260 0,2480 0,3530 0,4640 0,1840 0,5710 0,6810 0,8950 0,4950 0,4230 0,0250 0,0870 0,7860 0,1250 0,3670 0,0800 0,1230 0,6860 0,7020 1,0130 0,8530 1,3930 1,0860 1,1300 1,4870 0,4850 0,2060 0,1370 1,2460 0,1310
15.137 1.252 10.589 8.371 4.370 4.344 2.910 3.660 1.719 5.747 19.270 2.959 16.867 61.580 44.564 10.213 16.825 39.865 26.553 10.702 4.605 49.474 52.970 24.680 2.534 25.539 7.535 10.854 4.461 2.781 24.954 36.797 1.553 4.807 5.661 5.977 1.777 33.166 3.030.004
515 98 2.795 1.934 494 847 1.112 1.069 418 1.172 6.879 373 4.183 21.738 8.200 5.832 11.458 35.679 13.144 4.527 401 38.887 19.440 1.974 312 17.520 5.290 10.995 3.805 3.874 27.100 41.581 2.309 2.331 1.166 819 2.214 4.345 1.970.299
32.437 2.683 13.412 9.015 9.365 9.309 3.941 3.683 13.154 7.279 41.293 9.385 6.341 18.165 74.545 75.487 56.447 21.885 33.840 56.900 12.098 9.859 5.833 18.111 57.044 52.887 2.729 54.727 9.121 6.089 12.130 5.747 33.166 3.030.006
1.103 209 3.541 2.082 1.058 1.815 1.151 895 3.802 1.485 14.742 732 799 4.505 26.314 35.026 10.386 12.496 23.045 28.166 5.117 246 507 2.264 20.935 4.231 336 37.543 6.403 2.953 2.499 787 4.345 1.281.955
41.087 3.399 16.236 9.015 11.862 11.792 3.941 4.665 28.187 8.812 311 20.110 8.032 18.165 84.268 130.816 68.331 953 72.073 13.029 21.126 7.061 38.808 57.044 66.990 2.729 69.321 10.310 7.371 15.365 5.632 33.166 3.030.008
1.397 265 4.286 2.082 1.340 2.299 1.151 1.134 8.146 1.798 111 1.569 1.012 4.505 29.747 60.699 12.573 544 35.676 5.511 528 614 4.851 20.935 5.359 336 47.554 7.238 3.575 3.165 772 4.345 1.116.753
210
Biaya Transportasi Sebagai Cost Alokasi dan Biaya Dari
1 KKS001 KKS001 KKS001 KKS002 KKS003 KKS004 KKS005 KKS006 KKS007 KKS007 KKS008 KKS009 KKS010 KKS021 KKS030 KKS031 KKS036 KKS039 KKS040 KKS041 KKS042 KKS048 KKS049 KKS050 KKS051 KKS052 KKS053 KKS054 KKS055 KKS056 KKS056 KKS057 KKS059 KKS059 KKS059 KKS060 KKS061 KKS061 KKS062 KKS062 KKS063 KKS064
Tujuan
2 PKS007 PKS010 PKS011 PKS002 PKS004 PKS004 PKS007 PKS007 PKS009 PKS010 PKS008 PKS007 PKS007 PKS004 PKS001 PKS004 PKS001 PKS001 PKS001 PKS001 PKS001 PKS011 PKS010 PKS011 PKS011 PKS010 PKS010 PKS009 PKS010 PKS009 PKS010 PKS010 PKS009 PKS010 PKS011 PKS011 PKS010 PKS011 PKS010 PKS011 PKS011 PKS011
Biaya per Ton
3 100.667 68.504 86.196 12.941 14.519 12.836 20.481 74.951 47.183 55.195 13.020 28.731 41.615 33.893 44.158 28.349 13.235 7.770 23.340 7.398 23.649 2.748 4.599 822 22.219 29.757 23.507 29.834 9.964 29.267 14.130 43.734 22.968 12.705 9.861 8.994 11.673 10.893 12.137 10.429 7.126 8.145
2012
2013
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
24.324 12.408 6.318 3.842 3.583 9.542 42.535 33.019 29.734 28.715 6.769 48.574 10.971 69.315 63.472 66.432 34.229 40.094 26.461 38.775 66.969 13.879 31.523 74.268 56.851 37.053 12.635 48.590 15.218 33.040 32.323 6.043 6.225 629 411 30.435 3.446
2.448.630.943 849.996.280 544.583.365 49.719.660 52.020.438 122.483.402 871.144.065 2.474.793.399 1.402.938.638 1.584.926.320 88.134.302 1.395.582.168 456.562.575 2.349.304.385 2.802.785.913 1.883.293.988 453.013.661 311.528.455 617.594.527 286.847.950 1.583.759.056 38.136.716 144.971.471 61.040.201 1.263.169.128 1.102.597.570 297.010.692 1.449.625.800 151.625.760 466.838.713 1.413.620.256 59.588.675 55.986.411 6.851.780 4.286.424 216.867.849 28.067.546
3.695 3.583 9.542 70.944 14.506 69.315 84.147 73.347 85.917 28.497 46.938 35.301 16.801 67.550 89.903 11.454 18.779 27.075 69.071 32.610 70.800 7.316 6.704 1.347 882 34.405 3.711
47.817.320 52.020.438 122.483.402 1.452.978.595 188.872.240 2.349.304.385 2.385.500.048 970.732.215 667.570.966 665.114.366 347.235.824 834.838.185 46.165.788 310.656.438 73.890.467 254.495.773 558.812.506 636.451.484 2.060.652.472 324.912.344 1.000.368.671 72.141.445 60.294.442 14.673.049 9.198.604 245.156.509 30.225.961
211
Alokasi dan Biaya Dari
1 KKS066 KKS067 KKS068 KKS069 KKS071 KKS072 KKS072 KKS073 KKS074 KKS075 KKS075 KKS076 KKS076 KKS076 KKS077 KKS078 KKS079 KKS081 KKS082 KKS083 KKS084 KKS086 KKS087 KKS088 KKS093 KKS094 KKS095 KKS095 KKS096 KKS097 KKS098 KKS099 KKS102 KKS106 KKS107 KKS107 KKS108 KKS109 KKS109 KKS109 KKS110 KKS111 KKS112 KKS113 KKS114
Tujuan
2 PKS010 PKS010 PKS010 PKS010 PKS011 PKS004 PKS005 PKS005 PKS005 PKS004 PKS005 PKS003 PKS004 PKS005 PKS004 PKS004 PKS010 PKS011 PKS004 PKS004 PKS004 PKS004 PKS002 PKS003 PKS004 PKS004 PKS002 PKS004 PKS002 PKS002 PKS003 PKS003 PKS002 PKS003 PKS003 PKS004 PKS002 PKS004 PKS005 PKS006 PKS010 PKS012 PKS012 PKS012 PKS012
Biaya per Ton
3 7.311 6.229 10.601 4.680 26.095 26.942 16.263 10.518 2.921 32.470 10.735 20.912 31.693 28.634 34.994 43.111 60.216 5.984 5.163 8.941 31.759 45.162 3.099 5.996 39.585 31.426 15.576 44.332 9.754 13.434 12.137 8.253 10.955 12.457 13.251 16.521 4.894 34.343 31.283 3.602 39.330 6.059 4.234 12.625 1.369
2012
2013
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
13.284 34.174 28.554 34.158 33.709 52.471 90.262 62.832 55.337 17.320 30.678 9.345 26.870 24.915 126.452 44.352 25.541 68.518 3.508 124.187 17.318 23.077 25.312 30.482 4.909 8.403 6.467 49.113 58.276 90.000 6.256 2.715 6.068 118.865 15.137
97.115.472 891.765.917 464.370.761 359.261.786 98.464.798 563.281.380 1.887.556.687 1.799.112.199 1.936.455.397 746.687.248 1.847.314.118 55.918.602 240.232.605 791.278.101 5.710.838.122 137.462.194 153.138.472 2.712.256.664 110.240.886 1.934.296.724 767.739.879 225.086.873 307.215.237 251.576.237 53.775.925 104.679.515 31.650.475 1.686.673.172 1.823.049.565 324.163.710 246.045.496 16.449.802 25.691.736 1.500.619.275 20.717.739
28.465 4.173 2.383 22.432 12.133 73.195 72.234 112.438 51.338 101.756 55.337 20.025 12.598 34.036 30.160 44.352 24.558 2.187 7.518 124.418 22.616 28.613 65.319 5.286 10.172 6.467 107.389 90.000 5.818 7.686 82.651 32.437
208.099.360 25.994.593 25.261.518 604.372.500 197.317.729 769.839.172 210.997.248 1.207.033.061 1.073.578.973 3.224.990.659 1.936.455.397 119.825.575 65.038.624 304.300.594 957.854.607 137.462.194 147.244.611 86.571.490 236.257.405 1.937.894.705 220.590.403 347.279.930 539.095.474 57.905.794 126.716.652 31.650.475 3.688.028.532 324.163.710 35.250.442 32.542.301 1.043.433.170 44.395.938
212
Alokasi dan Biaya Dari
1 KKS115 KKS116 KKS117 KKS118 KKS119 KKS122 KKS123 KKS124 KKS125 KKS126 KKS127 KKS128 KKS129 KKS130 KKS132 KKS133 KKS134 KKS135 KKS136 KKS137 KKS138 KKS139 KKS140 KKS141 KKS142 KKS143 KKS144 KKS145 KKS146 KKS148 KKS149 KKS150 KKS151 KKS153 KKS153 KKS154 KKS155 KKS156 KKS157 KKS158 KKS159 KKS160
Tujuan
2
Biaya per Ton
3
PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS012 PKS011 PKS011 PKS011 PKS011 PKS011 PKS010 PKS009 PKS007 PKS009 PKS008 PKS008 PKS008 PKS008 PKS008 PKS007 PKS007 PKS008 PKS008 PKS008 PKS008 PKS008 PKS009 PKS009 PKS009 PKS008 PKS007 PKS008 PKS009 PKS007 PKS009 PKS007 PKS007 PKS004 PKS002
3.086 10.105 8.853 4.090 7.233 14.491 11.141 8.762 11.578 8.184 14.309 3.121 5.057 8.695 11.884 18.554 5.541 23.629 28.230 37.185 20.439 17.418 944 3.271 32.649 4.940 11.794 3.007 4.623 23.844 24.912 35.749 35.441 56.689 45.213 41.404 60.642 16.597 8.238 5.145 44.485 4.807 Total
2012
2013
Alokasi
Biaya
Alokasi
Biaya
4
5
6
7
1.252 10.589 8.371 4.370 4.344 2.910 3.660 1.719 5.747 19.270 2.959 16.867 61.580 44.564 10.213 16.825 39.865 26.553 10.702 4.605 49.474 52.970 24.680 2.534 25.539 7.535 10.854 4.461 2.781 24.954 36.797 1.553 4.807 5.661 5.977 1.777 33.166 3.030.004
3.863.527 106.999.304 74.109.200 17.872.649 31.418.149 42.170.248 40.775.760 15.062.151 47.035.494 275.739.960 14.964.480 146.662.849 731.845.724 246.932.778 241.325.408 474.969.161 1.482.366.152 542.728.185 186.409.234 15.063.194 1.615.273.559 624.731.464 74.215.277 11.715.219 608.950.179 187.713.374 388.021.090 158.104.094 157.650.871 1.128.255.733 1.523.549.906 94.177.512 79.781.265 46.636.388 30.751.862 79.049.824 159.436.955 71.018.439.439
2.683 13.412 9.015 9.365 9.309 3.941 3.683 13.154 7.279 41.293 9.385 6.341 18.165 74.545 75.487 56.447 21.885 33.840 56.900 12.098 9.859 5.833 18.111 57.044 52.887 2.729 54.727 9.121 6.089 12.130 5.747 33.166 3.030.006
8.279.427 135.525.041 79.810.588 38.301.455 67.327.706 43.906.358 32.271.032 152.291.356 59.573.927 590.873.388 29.289.027 32.068.187 157.949.289 885.927.891 1.400.600.971 312.777.456 517.125.874 955.302.016 1.163.003.567 210.724.996 9.302.499 19.080.046 89.471.528 672.780.473 159.036.603 12.616.746 1.304.906.867 227.224.112 101.058.481 99.929.233 29.568.505 159.436.955 45.507.348.375
213
Lampiran 7 Kapasitas Pabrik Pengolahan TBS NO
PABRIK
2012
2013
2014
2015
1
PKS001
270,000
270,000
270,000
270,000
2
PKS002
240,000
240,000
240,000
240,000
3
PKS003
180,000
180,000
180,000
180,000
4
PKS004
540,000
540,000
540,000
540,000
5
PKS005
270,000
270,000
270,000
270,000
6
PKS006
90,000
90,000
90,000
90,000
7
PKS007
180,000
180,000
180,000
180,000
8
PKS008
270,000
270,000
270,000
270,000
9
PKS009
270,000
270,000
270,000
270,000
10
PKS010
270,000
270,000
270,000
270,000
11
PKS011
270,000
270,000
270,000
270,000
12
PKS012
180,000
180,000
180,000
180,000
3,030,000
3,030,000
3,030,000
3,030,000
214
Lampiran 8 Listing Program '======================================================= '= Spatial Decision Support System for Palm Oil Industry '= '= By: I.K. Gunarta 2011 '= TIP IPB Bogor '= Date: 18 Pebruari 2011 ‘= Form: Add Palm Oil Plantation '======================================================== Public Lat As Single Public Lon As Single Private mLabelPos As String Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() If Trim(txtPointName.Text) <> "" Then SavePoint Unload Me End If End Sub Private Sub Form_Load() txtLat.Text = Lat txtLon.Text = Lon mLabelPos = optLabelPos(0).Caption cboOwner.ListIndex = 0 txtYOP.Text = Year(Date) FillCombo cboFactory, "SELECT PointName WHERE PointType='FACTORY'" If cboFactory.ListCount > 0 Then cboFactory.ListIndex = 0 End If End Sub Private Dim Dim Dim Dim
FROM
Points
Sub SavePoint() SQL As String Lat As Single Lon As Single Factory As String
On Error GoTo ErrHandler SQL = "INSERT INTO Points VALUES('" & txtPointName.Text & "', " & _ txtLat.Text & ", " & txtLon.Text & ", 'PLANTATION', '" & mLabelPos & "')" cn.Execute SQL
215
SQL = "INSERT INTO Plantations VALUES('" & txtPointName.Text & "', '" & _ cboOwner.Text & "', '" & txtOwnerName.Text & "', " & Val(txtLarge.Text) & ", " & Val(txtYOP.Text) & ", " & _ Val(txtSalePrice.Text) & ", " & CStr(optYes.Value) & ", '" & cboFactory.Text & "')" cn.Execute SQL GetLabelLatLon mLabelPos, txtLat.Text, txtLon.Text, Lat, Lon SQL = "INSERT INTO Labels(Lat, Lon, Label) " & _ "VALUES(" & Lat & ", " & Lon & ", txtPointName.Text & "')" cn.Execute SQL Exit Sub ErrHandler: Alert End Sub Private Sub optLabelPos_Click(Index As Integer) mLabelPos = optLabelPos(Index).Caption End Sub Private Sub optNo_Click() lblFactory.Visible = False cboFactory.Visible = False End Sub Private Sub optYes_Click() lblFactory.Visible = True cboFactory.Visible = True End Sub
Form Tambah Pabrik CPO
'"
&
216
Public Lat As Single Public Lon As Single Private mLabelPos As String Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() If Trim(txtPointName.Text) <> "" Then SavePoint Unload Me End If End Sub Private Sub Form_Load() txtLat.Text = Lat txtLon.Text = Lon mLabelPos = optLabelPos(0).Caption cboOwner.ListIndex = 0 End Sub Private Sub SavePoint()
217
Dim SQL As String Dim Lat As Single Dim Lon As Single On Error GoTo ErrHandler SQL = "INSERT INTO Points VALUES('" & txtPointName.Text & "', " & _ txtLat.Text & ", " & txtLon.Text & ", 'FACTORY', '" & mLabelPos & "')" cn.Execute SQL SQL = "INSERT INTO Factories VALUES('" txtPointName.Text & "', '" & _ cboOwner.Text & "', '" & txtOwnerName.Text & "', " Val(txtYOB.Text) & ", " & _ Val(txtProdCapacity.Text) & ", " Val(txtYield.Text) & ", " & _ Val(txtSalePrice.Text) & ", '" & cboMarket.Text "')" cn.Execute SQL
& & & &
GetLabelLatLon mLabelPos, txtLat.Text, txtLon.Text, Lat, Lon SQL = "INSERT INTO Labels(Lat, Lon, Label) " & _ "VALUES(" & Lat & ", " & Lon & ", txtPointName.Text & "')" cn.Execute SQL Exit Sub ErrHandler: Alert End Sub Private Sub optLabelPos_Click(Index As Integer) mLabelPos = optLabelPos(Index).Caption End Sub
'"
&
218
Form Add Pelabuhan
Public Lat As Single Public Lon As Single Private mLabelPos As String Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() If Trim(txtPointName.Text) <> "" Then SavePoint Unload Me End If End Sub Private Sub Form_Load() txtLat.Text = Lat txtLon.Text = Lon mLabelPos = optLabelPos(0).Caption cboOwner.ListIndex = 0 End Sub Private Dim Dim Dim
Sub SQL Lat Lon
SavePoint() As String As Single As Single
219
On Error GoTo ErrHandler SQL = "INSERT INTO Points VALUES('" & txtPointName.Text & "', " & _ txtLat.Text & ", " & txtLon.Text & ", 'PORT', '" & mLabelPos & "')" cn.Execute SQL SQL = "INSERT INTO Ports VALUES('" & txtPointName.Text & "', '" & _ cboOwner.Text & "', '" & txtOwnerName.Text & "', " & Val(txtWaterDepth.Text) & ", " & _ Val(txtPiledTankCapacity.Text) & ", " & Val(txtDWT.Text) & ", " & _ Val(txtLoadSpeed.Text) & "," & Val(txtDockedShipCost.Text) & ", " & _ Val(txtLoadCost.Text) & ", " & Val(txtUnloadCost.Text) & ", " & Val(txtPiledTankCost.Text) & ", " & Val(txtShipServiceCost.Text) & ")" cn.Execute SQL GetLabelLatLon mLabelPos, txtLat.Text, txtLon.Text, Lat, Lon SQL = "INSERT INTO Labels(Lat, Lon, Label) " & _ "VALUES(" & Lat & ", " & Lon & ", txtPointName.Text & "')" cn.Execute SQL Exit Sub ErrHandler: Alert End Sub Private Sub optLabelPos_Click(Index As Integer) mLabelPos = optLabelPos(Index).Caption End Sub Form Add Point
'"
&
220
Public Lat As Single Public Lon As Single Private mLabelPos As String Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() If Trim(txtPointName.Text) <> "" Then SavePoint Unload Me End If End Sub Private Sub Form_Load() txtLat.Text = Lat txtLon.Text = Lon mLabelPos = optLabelPos(0).Caption End Sub Private Dim Dim Dim
Sub SQL Lat Lon
SavePoint() As String As Single As Single
On Error GoTo ErrHandler SQL = "INSERT INTO Points VALUES('" & txtPointName.Text & "', " & _ txtLat.Text & ", " & txtLon.Text & ", 'INTERSECTION', '" & mLabelPos & "')" cn.Execute SQL GetLabelLatLon mLabelPos, txtLat.Text, txtLon.Text, Lat, Lon
221
SQL = "INSERT INTO Labels(Lat, Lon, Label) " & _ "VALUES(" & Lat & ", " & Lon & ", txtPointName.Text & "')" cn.Execute SQL Exit Sub ErrHandler: Alert End Sub Private Sub optLabelPos_Click(Index As Integer) mLabelPos = optLabelPos(Index).Caption End Sub
Form Symbol dan Layer
Option Explicit Public ParentForm As frmDoc Public ActiveLayer As MapObjects2.MapLayer Private strMarkerStyle(4) As String
'"
&
222
Private strLineStyle(4) As String Private strFillStyle(10) As String Private strPanelDesc(5) As String Private Private Private Private Private
lyr As MapObjects2.MapLayer recs As MapObjects2.Recordset tDesc As MapObjects2.TableDesc flds As MapObjects2.Fields a As Integer
Private Private Private Private Private
vmr As MapObjects2.ValueMapRenderer cbr As MapObjects2.ClassBreaksRenderer lr As MapObjects2.LabelRenderer lp As MapObjects2.LabelPlacer zRend As MapObjects2.ZRenderer
Private colorMask, colorText As Long Private justOpened As Boolean Private lFactor As Double Private Sub Form_Load() 'Position this form into the top right 'corner of the screen Me.Top = 0 Me.Left = Screen.Width - Me.Width colorText = moBlack colorMask = moWhite Set Set Set Set
lyr = ActiveLayer recs = lyr.Records tDesc = recs.TableDesc flds = recs.Fields
frmLayerSymbol.Caption = "Symbol properties for the " & UCase(lyr.Name) & " layer." strPanelDesc(0) = "The Single Symbol classification displays all the features in a layer with the same symbol." strPanelDesc(1) = "The Unique Values classification displays features by applying a symbol to each unique value for a specified field." strPanelDesc(2) = "The Class Breaks classification applies symbols to a set of discrete values." strPanelDesc(3) = "The Standard Labels classification draws text for a specified field." strPanelDesc(4) = "The No Overlapping Labels classication draws text for a specified field and attempts to resolve overlapping and crowding of labels." strPanelDesc(5) = "The Elevation classification draws features according to their Z values, if the data supports it." txtLayerName = lyr.Name
223
strMarkerStyle(0) = "Circle marker" strMarkerStyle(1) = "Square marker" strMarkerStyle(2) = "Triangle marker" strMarkerStyle(3) = "Cross marker" strMarkerStyle(4) = "TrueType marker" strLineStyle(0) = "Solid line" strLineStyle(1) = "Dash line" strLineStyle(2) = "Dot line" strLineStyle(3) = "Dash dot line" strLineStyle(4) = "Dash dot dot line" strFillStyle(0) = "Solid fill" strFillStyle(1) = "Transparent fill" strFillStyle(2) = "Horizontal fill" strFillStyle(3) = "Vertical fill" strFillStyle(4) = "Upward diagonal" strFillStyle(5) = "Downward diagonal" strFillStyle(6) = "Cross fill" strFillStyle(7) = "Diagonal cross fill" strFillStyle(8) = "Light gray fill" strFillStyle(9) = "Gray fill" strFillStyle(10) = "Dark gray fill" justOpened = True 'Read the contents of the active layer's Renderer property. 'Run one of the "Load..." procedures to populate the appropriate 'tab with the current renderer's properties. Select Case True Case lyr.Renderer Is Nothing sstLayerProp.Tab = 0 Call LoadSingleSymbol Case TypeOf lyr.Renderer Is MapObjects2.ValueMapRenderer sstLayerProp.Tab = 1 Call LoadUniqueValues Case TypeOf lyr.Renderer Is MapObjects2.ClassBreaksRenderer sstLayerProp.Tab = 2 Call LoadClassBreaks Case TypeOf lyr.Renderer Is MapObjects2.LabelRenderer sstLayerProp.Tab = 3 Call LoadStandardLabels Case TypeOf lyr.Renderer Is MapObjects2.LabelPlacer sstLayerProp.Tab = 4 colorMask = lyr.Renderer.MaskColor Call LoadNoOverlapLabels Case TypeOf lyr.Renderer Is MapObjects2.ZRenderer sstLayerProp.Tab = 5 Call LoadZRenderer Case Else sstLayerProp.Tab = 0 Call LoadSingleSymbol
224
End Select 'If the active layer does not support Z shapes, disable 'the "Elevation" rendering tab. If (InStr(lyr.Tag, "[SHAPEFILZ]") = 0) And (InStr(lyr.Tag, "[SDEZ]") = 0) Then sstLayerProp.TabEnabled(5) = False End If ' Approximate factor to account placement margin ' compared to LabelRenderer. lFactor = 0.9
for
LabelPlacer
text
End Sub Private Sub cmdApply_Click() 'When the user hits the Apply button (or the OK button) 'read the option controls on the active tab, and use 'them to build a new renderer with which to draw the layer. Select Case sstLayerProp.Tab Case 0: Call ApplySingleSymbol Case 1: Call ApplyUniqueValues Case 2: Call ApplyClassBreaks Case 3: Call ApplyStandardLabels Case 4: Call ApplyNoOverlapLabels Case 5: Call ApplyZRenderer End Select 'Rename the layer with the contents of txtLayerName.Text lyr.Name = txtLayerName.Text 'Refresh the map legend ParentForm.legend1.LoadLegend 'Redraw the map ParentForm.Map1.Refresh End Sub Private Sub cmdCancel_Click() 'Throw away all work on this form. 'Layer retains original rendering information. Unload frmLayerSymbol End Sub Private Sub cmdOK_Click() 'Use Apply, then unload Call cmdApply_Click
225
Unload frmLayerSymbol End Sub Private Sub cmdNOL_Click() 'Choose font properties for the LabelPlacer cdlgLayerProp.Color = colorText cdlgLayerProp.Flags = cdlCFEffects Or cdlCFBoth cdlgLayerProp.ShowFont txtNOL.ForeColor = cdlgLayerProp.Color txtNOL.Text = cdlgLayerProp.FontName colorText = cdlgLayerProp.Color End Sub Private Sub cmdSL_Click() 'Choose font properties for the LabelRenderer cdlgLayerProp.Flags = cdlCFEffects Or cdlCFBoth cdlgLayerProp.ShowFont txtSL.ForeColor = cdlgLayerProp.Color txtSL.Text = cdlgLayerProp.FontName End Sub Private Sub cmdCB_Click() 'Build a new tentative class breaks legend Call PopulateNewCBlegend(cboCB(0).Text) cmdApply.Enabled = True cmdOK.Enabled = True End Sub Private Sub cmdUV_Click() 'Build a new tentative unique values legend Call PopulateNewUVlegend(cboUV.Text) cmdApply.Enabled = True cmdOK.Enabled = True End Sub Private Sub cmdZR_Click() 'Build a new tentative Z elevation breaks legend Call PopulateNewZRLegend cmdApply.Enabled = True cmdOK.Enabled = True End Sub
226
Private Sub cboSSP_Click(Index As Integer) Dim fnt As New StdFont Select Case Index Case 0 'choose single symbol style If Index = 0 Then If cboSSP(0).Text = "TrueType marker" Then Dim i As Integer cboSSP(1).Enabled = True cboSSP(2).Enabled = True lblSSP(3).Enabled = True lblSSP(4).Enabled = True lblSSP(5).Enabled = True lblSSP(7).Enabled = True hsbSSP.Enabled = True For i = 0 To Screen.FontCount - 1 cboSSP(1).AddItem Screen.Fonts(i) Next i cboSSP(1).ListIndex = 0 fnt.Name = cboSSP(1).Text Set cboSSP(2).Font = fnt cboSSP(2).Clear For i = 0 To 255 cboSSP(2).AddItem Chr(i) Next Else 'if not TT font, specific to TT fonts cboSSP(1).Clear cboSSP(2).Clear cboSSP(1).Enabled = False cboSSP(2).Enabled = False lblSSP(3).Enabled = False lblSSP(4).Enabled = False lblSSP(5).Enabled = False lblSSP(7).Enabled = False hsbSSP.Enabled = False End If End If
then
disable
controls
Case 1 'populate combobox list of TT font glyphs in the chosen font cboSSP(2).Clear fnt.Name = cboSSP(1).Text Set cboSSP(2).Font = fnt For i = 0 To 255 cboSSP(2).AddItem Chr(i) Next End Select End Sub
227
Private Sub hsbSSP_Change() 'Sets the rotation on a single symbol point marker 'that is using a TT font lblSSP(7).Caption = hsbSSP.Value End Sub Private Sub hsbSL_Scroll() 'Sets the rotation on standard label text lblSL(7).Caption = hsbSL.Value End Sub Private Sub hsbSL_Change() 'Sets the rotation on standard label text lblSL(7).Caption = hsbSL.Value End Sub Private Sub picCBramp_Click(Index As Integer) 'Sets start and stop ramp colors for class breaks renderer cdlgLayerProp.ShowColor picCBramp(Index).BackColor = cdlgLayerProp.Color End Sub Private Sub picNOL_Click() 'User changes the MaskColor of the LabelPlacer If colorMask <> moWhite Then cdlgLayerProp.Color = colorMask End If cdlgLayerProp.ShowColor picNOL.BackColor = cdlgLayerProp.Color colorMask = cdlgLayerProp.Color 'Turn on the MaskLabels check box chkNOL(2).Value = 1 End Sub Private Sub picSSP_Click(Index As Integer) 'Sets the color for single symbol rendering cdlgLayerProp.ShowColor picSSP(Index).BackColor = cdlgLayerProp.Color
228
End Sub Private Sub vsbUV_Change() 'If the legend preview is too large for its 'frame container, use the VSB to move it up 'and down on demand. fraUVinner.Top = 200 - (vsbUV.Value * 200) End Sub Private Sub sstLayerProp_Click(PreviousTab As Integer) 'When the user clicks one of the renderer tabs, determine 'whether the active layer is already using that type of 'renderer. Then... ' ...if it is, then read the properties of that layer and ' use those properties to load the various option ' controls on that tab. Use one of the "Load..." procedures. ' ...or if it is not, then load the various option controls ' controls on that tab with some default values. Use ' one of the "Init..." procedures. ' Dim lyrRend As Object lblPanelDesc.Caption = strPanelDesc(sstLayerProp.Tab) If lyr.Renderer Is Nothing Then class here is arbitrary Set lyrRend = New MapObjects2.Point in use. VB's "TypeOf" Else trouble with "Nothing", which Set lyrRend = lyr.Renderer Layer's Renderer property holds End If layer with a single symbol.
'Use of the Point 'and only temporary 'keyword has 'is what the 'when drawing the
If PreviousTab = 2 Then If TypeOf lyrRend Is MapObjects2.ValueMapRenderer Then Exit Sub End If End If Select Case sstLayerProp.Tab Case 0 If TypeOf lyrRend Is MapObjects2.Point Then Call LoadSingleSymbol Else Call InitSingleSymbol
229
End If Case 1 If TypeOf lyrRend Is MapObjects2.ValueMapRenderer Then Call LoadUniqueValues Else Call InitUniqueValues End If Case 2 If TypeOf lyrRend Is MapObjects2.ClassBreaksRenderer Then Call LoadClassBreaks Else Call InitClassBreaks End If Case 3 If TypeOf lyrRend Is MapObjects2.LabelRenderer Then Call LoadStandardLabels Else Call InitStandardLabels End If Case 4 If TypeOf lyrRend Is MapObjects2.LabelPlacer Then Call LoadNoOverlapLabels Else Call InitNoOverlapLabels End If Case 5 If TypeOf lyrRend Is MapObjects2.ZRenderer Then Call LoadZRenderer Else Call InitZRenderer End If End Select End Sub ' ' ' 'THE SIX PROCEDURES THAT FOLLOW, THAT BEGIN WITH THE WORD "INIT..." 'ARE THOSE THAT RUN WHEN A RENDERER IS CHOSEN WHICH DOES NOT 'COINCIDE WITH THE ACTIVE LAYER'S CURRENT RENDERER. THE OPTION 'CONTROLS ON THAT TAB ARE LOADED WITH DEFAULT VALUES THAT THE USER 'CAN CHANGE. ' InitSingleSymbol() ' InitUniqueValues() ' InitClassBreaks() ' InitStandardLabels() ' InitNoOverlapLabels() ' InitZRenderer() '
230
' ' Private Sub InitSingleSymbol() Dim i As Integer Dim fnt As New StdFont cboSSP(0).Clear Select Case lyr.shapeType Case moShapeTypePoint 'set control visibility cboSSP(1).Visible = True cboSSP(2).Visible = True chkSSP.Visible = False hsbSSP.Visible = True picSSP(1).Visible = False lblSSP(3).Visible = True lblSSP(4).Visible = True lblSSP(5).Visible = True lblSSP(6).Visible = False lblSSP(7).Visible = True 'retrieve and display current values txtSSP(0).Text = 5 lblSSP(0).Caption = "Marker Color:" lblSSP(2).Caption = "Size:" For i = 0 To 4 cboSSP(0).AddItem strMarkerStyle(i) Next picSSP(0).BackColor = moGreen cboSSP(0).Text = strMarkerStyle(moSquareMarker) cboSSP(0).ListIndex = 1 hsbSSP.Value = 0 lblSSP(7).Caption = "0" cboSSP(1).Enabled = False cboSSP(2).Enabled = False lblSSP(3).Enabled = False lblSSP(4).Enabled = False lblSSP(5).Enabled = False lblSSP(7).Enabled = False hsbSSP.Enabled = False Case moShapeTypeMultipoint 'set control visibility cboSSP(1).Visible = True cboSSP(2).Visible = True chkSSP.Visible = False hsbSSP.Visible = True picSSP(1).Visible = False lblSSP(3).Visible = True lblSSP(4).Visible = True lblSSP(5).Visible = True lblSSP(6).Visible = False lblSSP(7).Visible = True
231
'retrieve and display current values txtSSP(0).Text = 5 lblSSP(0).Caption = "Marker Color:" lblSSP(2).Caption = "Size:" For i = 0 To 4 cboSSP(0).AddItem strMarkerStyle(i) Next picSSP(0).BackColor = moGreen cboSSP(0).Text = strMarkerStyle(moSquareMarker) cboSSP(0).ListIndex = 1 hsbSSP.Value = 0 lblSSP(7).Caption = "0" cboSSP(1).Enabled = False cboSSP(2).Enabled = False lblSSP(3).Enabled = False lblSSP(4).Enabled = False lblSSP(5).Enabled = False lblSSP(7).Enabled = False hsbSSP.Enabled = False Case moLine 'set visibility cboSSP(1).Visible = False cboSSP(2).Visible = False chkSSP.Visible = False hsbSSP.Visible = False picSSP(1).Visible = False lblSSP(3).Visible = False lblSSP(4).Visible = False lblSSP(5).Visible = False lblSSP(6).Visible = False lblSSP(7).Visible = False 'retrieve and display current values txtSSP(0).Text = 1 lblSSP(0).Caption = "Line Color:" lblSSP(2).Caption = "Line width:" For i = 0 To 4 cboSSP(0).AddItem strLineStyle(i) Next picSSP(0).BackColor = moBlue cboSSP(0).Text = strLineStyle(0) cboSSP(0).ListIndex = 0 Case moPolygon 'set visibility cboSSP(1).Visible = False cboSSP(2).Visible = False chkSSP.Visible = True hsbSSP.Visible = False picSSP(1).Visible = True lblSSP(3).Visible = False lblSSP(4).Visible = False lblSSP(5).Visible = False lblSSP(6).Visible = True
232
lblSSP(7).Visible = False 'retrieve and display current values txtSSP(0).Text = "1" lblSSP(0).Caption = "Fill Color:" lblSSP(2).Caption = "Outline width:" For i = 0 To 10 cboSSP(0).AddItem strFillStyle(i) Next picSSP(0).BackColor = moLightGray picSSP(1).BackColor = moBlack cboSSP(0).Text = strFillStyle(0) cboSSP(0).ListIndex = 0 chkSSP.Value = 1 End Select cmdApply.Enabled = True cmdOK.Enabled = True End Sub Private Sub InitUniqueValues() Dim i As Integer 'Load ComboBox with layer field names cboUV.Clear For i = 0 To tDesc.FieldCount - 1 cboUV.AddItem tDesc.FieldName(i) Next cboUV.ListIndex = 0 fraUVouter.Caption = "Legend Preview" 'If a legend already exists, unload it If picUV.Count > 1 Then For i = (picUV.Count - 1) To 1 Step -1 Unload picUV(i) Unload lblUV(i) Next End If picUV(0).Visible = False lblUV(0).Visible = False cmdApply.Enabled = False cmdOK.Enabled = False chkUV.Visible = (lyr.shapeType = moShapeTypePolygon) End Sub Private Sub InitClassBreaks() Dim i As Integer Dim fld As MapObjects2.Field
233
'Clear and reload ComboBoxes cboCB(0).Clear cboCB(0).AddItem "FeatureID" cboCB(1).ListIndex = 3 For i = 0 To tDesc.FieldCount - 1 Set fld = flds(tDesc.FieldName(i)) If fld.Type = moDouble Or fld.Type = moLong Then cboCB(0).AddItem fld.Name End If Next cboCB(0).ListIndex = 0 'If a legend already exists, unload it If picCBlegend.Count > 1 Then For i = (picCBlegend.Count - 1) To 1 Step -1 Unload picCBlegend(i) Unload lblCBlegend(i) Next End If picCBlegend(0).Visible = False lblCBlegend(0).Visible = False cmdApply.Enabled = False cmdOK.Enabled = False chkCB.Visible = (lyr.shapeType = moShapeTypePolygon) End Sub Private Sub InitStandardLabels() Dim i As Integer Dim sFirstStringFld As Integer, bFoundString As Boolean bFoundString = False For i = 0 To tDesc.FieldCount - 1 cboSL(0).AddItem tDesc.FieldName(i) If tDesc.FieldType(i) = moLong Or _ tDesc.FieldType(i) = moDouble Then cboSL(3).AddItem tDesc.FieldName(i) cboSL(4).AddItem tDesc.FieldName(i) ElseIf (Not bFoundString) And (tDesc.FieldType(i) moString) Then sFirstStringFld = i bFoundString = True End If Next cboSL(0).ListIndex = sFirstStringFld cboSL(1).ListIndex = 1 cboSL(2).ListIndex = 1 cdlgLayerProp.FontName = "MS Sans Serif" cdlgLayerProp.FontSize = 10 cdlgLayerProp.FontBold = False cdlgLayerProp.FontItalic = False
=
234
cdlgLayerProp.FontStrikethru = False cdlgLayerProp.FontUnderline = False cdlgLayerProp.Color = moBlack cmdApply.Enabled = True cmdOK.Enabled = True ' This function may be called if the layer currently has a ' LabelPlacer set. If Not lyr.Renderer Is Nothing Then If TypeOf lyr.Renderer Is MapObjects2.LabelPlacer Then ' Work out scale based on layer's extent. This value will be used ' to help convert the slider height value into a label size in ' map units. Dim scaleHeightUnit As Double scaleHeightUnit = lyr.Extent.Width / 10000 ' Use size from existing LabelPlacer. Dim currSizeMapUnits As Double currSizeMapUnits = lyr.Renderer.DefaultSymbol.Height ' Convert this Map Units size to a size in Points size, and set ' the Font size value appropriately. Dim sglTemp As Single sglTemp = ParentForm.Map1.FromMapDistance(currSizeMapUnits) * (1 / lFactor) Dim currSizePoints As Double currSizePoints = ScaleY(sglTemp, vbTwips, vbPoints) cdlgLayerProp.FontSize = currSizePoints ' Copy other values if appropriate. cboSL(0).Text = lyr.Renderer.Field End If End If End Sub Private Sub InitNoOverlapLabels() Dim i As Integer cboNOL.Clear Dim sFirstStringFld As Integer, bFoundString As Boolean bFoundString = False For i = 0 To tDesc.FieldCount - 1 cboNOL.AddItem tDesc.FieldName(i) If (Not bFoundString) And (tDesc.FieldType(i) moString) Then sFirstStringFld = i
=
235
bFoundString = True End If Next cboNOL.ListIndex = sFirstStringFld cdlgLayerProp.FontName = "MS Sans Serif" cdlgLayerProp.FontSize = 10 cdlgLayerProp.FontBold = False cdlgLayerProp.FontItalic = False cdlgLayerProp.FontStrikethru = False cdlgLayerProp.FontUnderline = False cdlgLayerProp.Color = moBlack cmdApply.Enabled = True cmdOK.Enabled = True fraNOL(0).Enabled = (lyr.shapeType <> moShapeTypePolygon) For i = 0 To optNOL.Count - 1 optNOL(i).Enabled = (lyr.shapeType <> moShapeTypePolygon) Next ' This function may be called if the layer currently has a ' LabelRenderer set. Approximate the size of the existing label ' size (Font points) into Map units. If Not lyr.Renderer Is Nothing Then If TypeOf lyr.Renderer Is MapObjects2.LabelRenderer Then ' Work out scale based on layer's extent. This value will be used ' to help convert the slider height value into a label size in ' map units. Dim scaleHeightUnit As Double scaleHeightUnit = lyr.Extent.Width / 10000 ' Use size from existing LabelRenderer - need to work out an ' equivalent size in Map Units from this font size. Dim currSizeFontPoints As Double currSizeFontPoints = CInt(lyr.Renderer.Symbol(0).Font.Size) ' Have a current LabelRenderer Symbol Font Size - in points. ' convert this points size to a MapUnits size, and set the slider ' value appropriately. Dim sglTemp As Single sglTemp = ScaleX(CSng(currSizeFontPoints), vbPoints, vbTwips) Dim currSizeMapUnits As Double
236
currSizeMapUnits ParentForm.Map1.ToMapDistance(sglTemp) * lFactor hsbNOL.Value = 1000 (currSizeMapUnits scaleHeightUnit)
= /
' Copy other values if appropriate. cboNOL.Text = lyr.Renderer.Field End If End If End Sub Public Sub InitZRenderer() Dim i As Integer If picZRlegend.Count > 1 Then For i = (picZRlegend.Count - 1) To 1 Step -1 Unload picZRlegend(i) Unload lblZRlegend(i) Next End If picZRlegend(0).Visible = False lblZRlegend(0).Visible = False cmdApply.Enabled = False cmdOK.Enabled = False End Sub ' ' ' 'THE SIX PROCEDURES THAT FOLLOW, THAT BEGIN WITH THE WORD "LOAD..." 'ARE THOSE THAT RUN WHEN A RENDERER IS CHOSEN WHICH COINCIDES 'WITH THE ACTIVE LAYER'S CURRENT RENDERER. THE PROPERTIES OF 'THAT RENDERER ARE LOADED INTO THE OPTION CONTROLS ON THAT 'RENDERER'S FORM. THE USER CAN CHANGE THEM AT THAT POINT. ' LoadSingleSymbol() ' LoadUniqueValues() ' LoadClassBreaks() ' LoadStandardLabels() ' LoadNoOverlapLabels() ' LoadZRenderer() ' ' ' Private Sub LoadSingleSymbol() Dim i As Integer
237
Dim fnt As New StdFont cboSSP(0).Clear Select Case lyr.shapeType Case moShapeTypePoint 'set control visibility cboSSP(1).Visible = True cboSSP(2).Visible = True chkSSP.Visible = False hsbSSP.Visible = True picSSP(1).Visible = False lblSSP(3).Visible = True lblSSP(4).Visible = True lblSSP(5).Visible = True lblSSP(6).Visible = False lblSSP(7).Visible = True 'retrieve and display current values txtSSP(0).Text = lyr.Symbol.Size lblSSP(0).Caption = "Marker Color:" lblSSP(2).Caption = "Size:" For i = 0 To 4 cboSSP(0).AddItem strMarkerStyle(i) Next picSSP(0).BackColor = lyr.Symbol.Color cboSSP(0).Text = strMarkerStyle(lyr.Symbol.Style) cboSSP(0).ListIndex = lyr.Symbol.Style hsbSSP.Value = lyr.Symbol.Rotation lblSSP(7).Caption = lyr.Symbol.Rotation If lyr.Symbol.Style = moTrueTypeMarker Then cboSSP(1).Enabled = True cboSSP(2).Enabled = True lblSSP(3).Enabled = True lblSSP(4).Enabled = True lblSSP(5).Enabled = True lblSSP(7).Enabled = True hsbSSP.Enabled = True For i = 0 To Screen.FontCount - 1 cboSSP(1).AddItem Screen.Fonts(i) Next i cboSSP(1).Text = lyr.Symbol.Font.Name For i = 0 To cboSSP(1).ListCount - 1 If cboSSP(1).List(cboSSP(1).ListIndex) cboSSP(1).Text Then cboSSP(1).ListIndex = 1 Exit For End If Next fnt.Name = cboSSP(1).Text Set cboSSP(2).Font = fnt cboSSP(2).Clear For i = 0 To 255 cboSSP(2).AddItem Chr(i) Next
=
238
cboSSP(2).Text = lyr.Symbol.CharacterIndex cboSSP(2).ListIndex = lyr.Symbol.CharacterIndex End If Case moShapeTypeMultipoint 'set control visibility cboSSP(1).Visible = True cboSSP(2).Visible = True chkSSP.Visible = False hsbSSP.Visible = True picSSP(1).Visible = False lblSSP(3).Visible = True lblSSP(4).Visible = True lblSSP(5).Visible = True lblSSP(6).Visible = False lblSSP(7).Visible = True 'retrieve and display current values txtSSP(0).Text = lyr.Symbol.Size lblSSP(0).Caption = "Marker Color:" lblSSP(2).Caption = "Size:" For i = 0 To 4 cboSSP(0).AddItem strMarkerStyle(i) Next picSSP(0).BackColor = lyr.Symbol.Color cboSSP(0).Text = strMarkerStyle(lyr.Symbol.Style) cboSSP(0).ListIndex = lyr.Symbol.Style hsbSSP.Value = lyr.Symbol.Rotation lblSSP(7).Caption = lyr.Symbol.Rotation If lyr.Symbol.Style = moTrueTypeMarker Then cboSSP(1).Enabled = True cboSSP(2).Enabled = True lblSSP(3).Enabled = True lblSSP(4).Enabled = True lblSSP(5).Enabled = True lblSSP(7).Enabled = True hsbSSP.Enabled = True For i = 0 To Screen.FontCount - 1 cboSSP(1).AddItem Screen.Fonts(i) Next i cboSSP(1).Text = lyr.Symbol.Font.Name For i = 0 To cboSSP(1).ListCount - 1 If cboSSP(1).List(cboSSP(1).ListIndex) cboSSP(1).Text Then cboSSP(1).ListIndex = 1 Exit For End If Next fnt.Name = cboSSP(1).Text Set cboSSP(2).Font = fnt cboSSP(2).Clear For i = 0 To 255 cboSSP(2).AddItem Chr(i) Next
=
239
cboSSP(2).Text = lyr.Symbol.CharacterIndex cboSSP(2).ListIndex = lyr.Symbol.CharacterIndex End If Case moShapeTypeLine 'set visibility cboSSP(1).Visible = False cboSSP(2).Visible = False chkSSP.Visible = False hsbSSP.Visible = False picSSP(1).Visible = False lblSSP(3).Visible = False lblSSP(4).Visible = False lblSSP(5).Visible = False lblSSP(6).Visible = False lblSSP(7).Visible = False 'retrieve and display current values txtSSP(0).Text = lyr.Symbol.Size lblSSP(0).Caption = "Line Color:" lblSSP(2).Caption = "Line width:" For i = 0 To 4 cboSSP(0).AddItem strLineStyle(i) Next picSSP(0).BackColor = lyr.Symbol.Color cboSSP(0).Text = strLineStyle(lyr.Symbol.Style) cboSSP(0).ListIndex = lyr.Symbol.Style Case moShapeTypePolygon 'set visibility cboSSP(1).Visible = False cboSSP(2).Visible = False chkSSP.Visible = True hsbSSP.Visible = False picSSP(1).Visible = True lblSSP(3).Visible = False lblSSP(4).Visible = False lblSSP(5).Visible = False lblSSP(6).Visible = True lblSSP(7).Visible = False 'retrieve and display current values If lyr.Symbol.Size = 0 Then txtSSP(0).Text = 1 Else txtSSP(0).Text = lyr.Symbol.Size End If lblSSP(0).Caption = "Fill Color:" lblSSP(2).Caption = "Outline width:" For i = 0 To 10 cboSSP(0).AddItem strFillStyle(i) Next picSSP(0).BackColor = lyr.Symbol.Color picSSP(1).BackColor = lyr.Symbol.OutlineColor cboSSP(0).Text = strFillStyle(lyr.Symbol.Style) cboSSP(0).ListIndex = lyr.Symbol.Style
240
Select Case lyr.Symbol.Outline Case True: chkSSP.Value = 1 Case False: chkSSP.Value = 0 End Select End Select End Sub Private Sub LoadUniqueValues() Dim i As Integer Set vmr = lyr.Renderer cboUV.Clear cboUV.Text = vmr.Field For i = 0 To tDesc.FieldCount - 1 cboUV.AddItem tDesc.FieldName(i) If tDesc.FieldName(i) = vmr.Field Then cboUV.ListIndex = i End If Next Select Case vmr.Symbol(0).Outline Case True: chkUV.Value = 1 Case False: chkUV.Value = 0 End Select chkUV.Visible = (lyr.shapeType = moShapeTypePolygon) Call PopulateExistingUVlegend End Sub Private Sub LoadClassBreaks() Dim i, j As Integer Set cbr = lyr.Renderer j = -1 cboCB(0).Clear cboCB(0).Text = cbr.Field For i = 0 To tDesc.FieldCount - 1 If tDesc.FieldType(i) = moDouble Or _ tDesc.FieldType(i) = moLong Then j = j + 1 cboCB(0).AddItem tDesc.FieldName(i) If tDesc.FieldName(i) = cbr.Field Then cboCB(0).ListIndex = j End If End If Next cboCB(1).Text = cbr.BreakCount + 1 cboCB(1).ListIndex = cbr.BreakCount - 1 Select Case cbr.Symbol(0).Outline Case True
241
chkCB.Value = 1 Case False chkCB.Value = 0 End Select picCBramp(0).BackColor = cbr.Symbol(0).Color picCBramp(1).BackColor = cbr.Symbol(cbr.BreakCount).Color chkCB.Visible = (lyr.shapeType = moShapeTypePolygon) Call PopulateExistingCBlegend End Sub Private Sub LoadStandardLabels() Dim i As Integer Dim strFN As String Set lr = lyr.Renderer For i = 0 To tDesc.FieldCount - 1 strFN = tDesc.FieldName(i) cboSL(0).AddItem strFN If lr.Field = strFN Then cboSL(0).ListIndex = i End If If tDesc.FieldType(i) = moLong Or _ tDesc.FieldType(i) = moDouble Then cboSL(3).AddItem strFN If lr.XOffsetField = strFN Then cboSL(3).ListIndex = i End If cboSL(4).AddItem strFN If lr.YOffsetField = strFN Then cboSL(4).ListIndex = i End If End If Next Select Case lr.Symbol(0).HorizontalAlignment Case moAlignLeft cboSL(1).ListIndex = 0 Case moAlignCenter cboSL(1).ListIndex = 1 Case moAlignRight cboSL(1).ListIndex = 2 End Select Select Case lr.Symbol(0).VerticalAlignment Case moAlignTop cboSL(2).ListIndex = 0 Case moAlignCenter cboSL(2).ListIndex = 1 Case moAlignBottom cboSL(2).ListIndex = 2
242
End Select hsbSL.Value = lr.Symbol(0).Rotation lblSL(7).Caption = lr.Symbol(0).Rotation For i = 0 To 3 chkSL(i).Value = 0 Next If lr.DrawBackground Then chkSL(0).Value = 1 End If If lr.AllowDuplicates Then chkSL(1).Value = 1 End If If lr.SplinedText Then chkSL(2).Value = 1 End If If lr.Flip Then chkSL(3).Value = 1 End If txtSL.Text = lr.Symbol(0).Font.Name txtSL.ForeColor = lr.Symbol(0).Color cdlgLayerProp.FontName = lr.Symbol(0).Font.Name cdlgLayerProp.FontSize = lr.Symbol(0).Font.Size cdlgLayerProp.FontBold = lr.Symbol(0).Font.Bold cdlgLayerProp.FontItalic = lr.Symbol(0).Font.Italic cdlgLayerProp.FontStrikethru = lr.Symbol(0).Font.Strikethrough cdlgLayerProp.FontUnderline = lr.Symbol(0).Font.Underline cdlgLayerProp.Color = lr.Symbol(0).Color End Sub Private Sub LoadNoOverlapLabels() Dim i As Integer Dim scaleHeightUnit As Double Dim strFN As String Set lp = lyr.Renderer colorMask = lp.MaskColor cboNOL.Clear For i = 0 To tDesc.FieldCount - 1 strFN = tDesc.FieldName(i) cboNOL.AddItem strFN If lp.Field = strFN Then cboNOL.ListIndex = i End If Next cdlgLayerProp.FontName = lp.DefaultSymbol.Font.Name
243
cdlgLayerProp.FontSize = lp.DefaultSymbol.Font.Size cdlgLayerProp.FontBold = lp.DefaultSymbol.Font.Bold cdlgLayerProp.FontItalic = lp.DefaultSymbol.Font.Italic cdlgLayerProp.FontStrikethru lp.DefaultSymbol.Font.Strikethrough cdlgLayerProp.FontUnderline lp.DefaultSymbol.Font.Underline colorText = lp.DefaultSymbol.Color txtNOL.Text = lp.DefaultSymbol.Font.Name txtNOL.ForeColor = colorText
= =
optNOL(0).Value = lp.PlaceOn optNOL(1).Value = lp.PlaceAbove optNOL(2).Value = lp.PlaceBelow Select Case lp.DrawBackground Case False: chkNOL(0).Value = 0 Case True: chkNOL(0).Value = 1 End Select Select Case lp.AllowDuplicates Case False: chkNOL(1).Value = 0 Case True: chkNOL(1).Value = 1 End Select Select Case lp.MaskLabels Case False: chkNOL(2).Value = 0 Case True chkNOL(2).Value = 1 picNOL.BackColor = lp.MaskColor End Select scaleHeightUnit = lyr.Extent.Width / 10000 'scaleHeightUnit = frmMain.mapDisp.FullExtent.Width 10000 hsbNOL.Value = scaleHeightUnit) 'hsbNOL.Value = scaleHeightUnit) End Sub
/
1000
-
(lp.DefaultSymbol.Height
/
700
-
(lp.DefaultSymbol.Height
/
Private Sub LoadZRenderer() Dim i, j As Integer Set zRend = lyr.Renderer j = -1 cboZRclasses.Clear cboZRclasses.Text = zRend.BreakCount + 1 cboZRType.ListIndex = zRend.ValueCalculation picZRramp(0).BackColor = zRend.Symbol(0).Color picZRramp(1).BackColor zRend.Symbol(zRend.BreakCount).Color
=
244
Call PopulateExistingZRlegend End Sub ' ' ' 'THE SIX PROCEDURES THAT FOLLOW, THAT BEGIN WITH THE WORD "APPLY..." 'ARE THOSE THAT RUN WHEN THE APPLY OR OK BUTTONS ARE CLICKED. 'THE CURRENT VALUES OF THE OPTION CONTROLS ARE READ, WRITTEN 'INTO A NEW RENDERER OBJECT. THEN THAT RENDERER OBJECT IS 'USED TO DRAW THE ACTIVE LAYER. ' ApplySingleSymbol() ' ApplyUniqueValues() ' ApplyClassBreaks() ' ApplyStandardLabels() ' ApplyNoOverlapLabels() ' ApplyZRenderer() ' ' Private Sub ApplySingleSymbol() Dim sym As MapObjects2.Symbol Set sym = lyr.Symbol lyr.Name = txtLayerName.Text Set lyr.Renderer = Nothing Select Case lyr.shapeType Case moShapeTypePoint sym.Color = picSSP(0).BackColor sym.Style = cboSSP(0).ListIndex If hsbSSP.Value = 0 Then sym.Rotation = 0 Else 'Clockwise instead of the default counter-clockwise sym.Rotation = 360 - hsbSSP.Value End If If IsNumeric(txtSSP(0).Text) Then sym.Size = txtSSP(0).Text Else sym.Size = 5 End If If sym.Style = moTrueTypeMarker Then Dim fnt As New StdFont fnt.Name = cboSSP(1).Text Set sym.Font = fnt a = Asc(cboSSP(2).Text) sym.CharacterIndex = Asc(cboSSP(2).Text) End If Case moShapeTypeMultipoint
245
sym.Color = picSSP(0).BackColor sym.Style = cboSSP(0).ListIndex If hsbSSP.Value = 0 Then sym.Rotation = 0 Else 'Clockwise instead of the default counter-clockwise sym.Rotation = 360 - hsbSSP.Value End If If IsNumeric(txtSSP(0).Text) Then sym.Size = txtSSP(0).Text Else sym.Size = 5 End If If sym.Style = moTrueTypeMarker Then Dim fnt2 As New StdFont fnt2.Name = cboSSP(1).Text Set sym.Font = fnt2 a = Asc(cboSSP(2).Text) sym.CharacterIndex = Asc(cboSSP(2).Text) End If Case moLine sym.Color = picSSP(0).BackColor sym.Style = cboSSP(0).ListIndex If IsNumeric(txtSSP(0).Text) Then sym.Size = txtSSP(0).Text Else sym.Size = 1 End If Case moPolygon sym.Color = picSSP(0).BackColor sym.OutlineColor = picSSP(1).BackColor sym.Style = cboSSP(0).ListIndex If IsNumeric(txtSSP(0).Text) Then sym.Size = txtSSP(0).Text Else sym.Size = 1 End If Select Case chkSSP.Value Case 1 lyr.Symbol.Outline = True Case 0 lyr.Symbol.OutlineColor = lyr.Symbol.Color lyr.Symbol.Outline = False End Select End Select End Sub Private Sub ApplyUniqueValues() Dim i As Integer Dim symInt As Integer
246
If lyr.shapeType = moShapeTypeMultipoint Then symInt = 0 Else symInt = lyr.shapeType - 21 End If vmr.SymbolType = symInt If vmr.SymbolType = moFillSymbol Then For i = 0 To vmr.ValueCount - 1 Select Case chkUV.Value Case 0 vmr.Symbol(i).Outline = False vmr.Symbol(i).OutlineColor = vmr.Symbol(i).Color Case 1 vmr.Symbol(i).Outline = True vmr.Symbol(i).OutlineColor = moBlack End Select Next End If Set lyr.Renderer = vmr End Sub Private Sub ApplyClassBreaks() Dim i As Integer Dim symInt As Integer If lyr.shapeType = moShapeTypeMultipoint Then symInt = 0 Else symInt = lyr.shapeType - 21 End If cbr.SymbolType = symInt If cbr.SymbolType = moFillSymbol Then For i = 0 To cbr.BreakCount Select Case chkCB.Value Case 0 cbr.Symbol(i).OutlineColor = cbr.Symbol(i).Color cbr.Symbol(i).Outline = False Case 1 cbr.Symbol(i).OutlineColor = moBlack cbr.Symbol(i).Outline = True End Select Next End If Set lyr.Renderer = cbr End Sub
247
Private Sub ApplyStandardLabels() Dim fnt As New StdOle.StdFont fnt.Name = cdlgLayerProp.FontName fnt.Size = cdlgLayerProp.FontSize fnt.Bold = cdlgLayerProp.FontBold fnt.Italic = cdlgLayerProp.FontItalic fnt.Strikethrough = cdlgLayerProp.FontStrikethru fnt.Underline = cdlgLayerProp.FontUnderline Set lr = New MapObjects2.LabelRenderer lr.Field = cboSL(0).Text With lr.Symbol(0) Select Case cboSL(1).Text Case "Left" .HorizontalAlignment = moAlignLeft Case "Center" .HorizontalAlignment = moAlignCenter Case "Right" .HorizontalAlignment = moAlignRight End Select Select Case cboSL(2).Text Case "Top" .VerticalAlignment = moAlignTop Case "Center" .VerticalAlignment = moAlignCenter Case "Bottom" .VerticalAlignment = moAlignBottom End Select Set .Font = fnt .Color = cdlgLayerProp.Color 'Rotate clockwise instead of counter-clockwise If lblSL(7).Caption = 0 Then .Rotation = 0 Else .Rotation = 360 - lblSL(7).Caption End If End With With lr .XOffsetField = cboSL(3).Text .YOffsetField = cboSL(4).Text .DrawBackground = (chkSL(0).Value = 1) .AllowDuplicates = (chkSL(1).Value = 1) .SplinedText = (chkSL(2).Value = 1) .Flip = (chkSL(3).Value = 1) End With Set lyr.Renderer = lr End Sub
248
Private Sub ApplyNoOverlapLabels() Dim fnt As New StdOle.StdFont Set lp = New MapObjects2.LabelPlacer lp.Field = cboNOL.Text fnt.Name = cdlgLayerProp.FontName fnt.Bold = cdlgLayerProp.FontBold fnt.Italic = cdlgLayerProp.FontItalic fnt.Strikethrough = cdlgLayerProp.FontStrikethru fnt.Underline = cdlgLayerProp.FontUnderline Dim scaleHeightUnit As Double scaleHeightUnit = lyr.Extent.Width / 10000 With lp.DefaultSymbol .Height = scaleHeightUnit * (1001 - hsbNOL.Value) .Color = colorText Set .Font = fnt End With lp.PlaceAbove = optNOL(1) lp.PlaceBelow = optNOL(2) lp.PlaceOn = optNOL(0) Select Case chkNOL(0).Value Case 0: lp.DrawBackground = False Case 1: lp.DrawBackground = True End Select Select Case chkNOL(1).Value Case 0: lp.AllowDuplicates = False Case 1: lp.AllowDuplicates = True End Select Select Case chkNOL(2).Value Case 0: lp.MaskLabels = False Case 1 lp.MaskLabels = True lp.MaskColor = picNOL.BackColor End Select Set lyr.Renderer = lp End Sub Private Sub ApplyZRenderer() Dim symInt As Integer If lyr.shapeType = moShapeTypeMultipoint Then
249
symInt = 0 Else symInt = lyr.shapeType - 21 End If zRend.SymbolType = symInt Set lyr.Renderer = zRend End Sub ' ' ' 'THE NEXT SIX PROCEDURES THAT START WITH THE WORD "POPULATE..." 'ARE THOSE THAT RUN WHEN ONE OF THE "RESET LEGEND" BUTTONS 'ARE PRESSED. THESE PROCEDURES CALCULATE AND LOAD A LEGEND 'PREVIEW ON THE LAYERSYMBOL FORM THAT THE USER CAN EXAMINE 'BEFORE APPLYING TO THE MAP. ' PopulateNewUVLegend, PopulateExistingUVLegend (unique values) ' PopulateNewCBLegend, PopulateExistingCBLegend (class breaks) ' PopulateNewZRLegend, PopulateExistingZRLegend (elevation Z values) ' ' Private Sub PopulateNewUVlegend(rendField As String) Dim strsUniqueValues As New MapObjects2.Strings Dim fld As MapObjects2.Field Dim i As Integer Set fld = flds(rendField) If fld Is Nothing Then Exit Sub End If Screen.MousePointer = vbHourglass recs.MoveFirst Do While Not recs.EOF strsUniqueValues.Add fld.Value recs.MoveNext Loop Screen.MousePointer = vbDefault If strsUniqueValues.Count > 100 Then Dim yn As Integer yn = MsgBox("Number of unique values is greater than 100. Would you like to continue?", _ vbYesNo, "Unique values") If yn = 7 Then Exit Sub End If
250
End If If picUV.Count > 1 Then For i = (picUV.Count - 1) To 1 Step -1 Unload picUV(i) Unload lblUV(i) Next End If Set vmr = New MapObjects2.ValueMapRenderer vmr.Field = rendField vmr.ValueCount = strsUniqueValues.Count For i = 0 To strsUniqueValues.Count - 1 vmr.Value(i) = strsUniqueValues(i) Next fraUVouter.Caption = UCase(lyr.Name) & " - " & cboUV.Text picUV(0).Visible = True lblUV(0).Visible = True picUV(0).BackColor = vmr.Symbol(0).Color lblUV(0).Caption = vmr.Value(0) For i = 1 To vmr.ValueCount - 1 Load picUV(i) With picUV(i) .Left = picUV(0).Left .Width = picUV(0).Width .Height = picUV(0).Height .Top = picUV(i - 1).Top + 180 .BackColor = vmr.Symbol(i).Color .Visible = True End With Load lblUV(i) With lblUV(i) .Left = lblUV(0).Left .Width = lblUV(0).Width .Height = lblUV(0).Height .Top = lblUV(i - 1).Top + 180 .Caption = vmr.Value(i) .Visible = True End With Next fraUVinner.Height = (vmr.ValueCount * 180) + 250 If strsUniqueValues.Count > 18 Then vsbUV.Enabled = True vsbUV.Min = 0 vsbUV.Max = vmr.ValueCount - 20 vsbUV.SmallChange = 1 vsbUV.LargeChange = 10 Else vsbUV.Enabled = False
251
End If End Sub Private Sub PopulateExistingUVlegend() If Not justOpened Then Exit Sub End If Dim recs As MapObjects2.Recordset Dim fld As MapObjects2.Field Dim i As Integer Set vmr = lyr.Renderer If picUV.Count > 1 Then For i = (picUV.Count - 1) To 1 Step -1 Unload picUV(i) Unload lblUV(i) Next End If fraUVouter.Caption = UCase(lyr.Name) lyr.Renderer.Field picUV(0).Visible = True lblUV(0).Visible = True picUV(0).BackColor = vmr.Symbol(0).Color lblUV(0).Caption = vmr.Value(0) For i = 1 To vmr.ValueCount - 1 Load picUV(i) With picUV(i) .Left = picUV(0).Left .Width = picUV(0).Width .Height = picUV(0).Height .Top = picUV(i - 1).Top + 180 .BackColor = vmr.Symbol(i).Color .Visible = True End With
&
"
Load lblUV(i) With lblUV(i) .Left = lblUV(0).Left .Width = lblUV(0).Width .Height = lblUV(0).Height .Top = lblUV(i - 1).Top + 180 .Caption = vmr.Value(i) .Visible = True End With Next fraUVinner.Height = (vmr.ValueCount * 180) + 300
-
"
&
252
If vmr.ValueCount > 18 Then vsbUV.Enabled = True vsbUV.Min = 0 vsbUV.Max = vmr.ValueCount - 20 vsbUV.SmallChange = 1 vsbUV.LargeChange = 10 Else vsbUV.Enabled = False End If justOpened = False End Sub Private Sub PopulateNewCBlegend(rendField As String) Dim stats As MapObjects2.Statistics Dim range As Double Dim i, numClasses, numBreaks As Integer If Trim(cboCB(0).Text) = vbNullString Then cboCB(0).ListIndex = 0 End If Set stats = recs.CalculateStatistics(cboCB(0).Text) numClasses = cboCB(1).Text numBreaks = numClasses - 1 If picCBlegend.Count > 1 Then For i = (picCBlegend.Count - 1) To 1 Step -1 Unload picCBlegend(i) Unload lblCBlegend(i) Next End If Set cbr = New MapObjects2.ClassBreaksRenderer cbr.Field = cboCB(0).Text cbr.BreakCount = numBreaks range = stats.Max - stats.Min For i = 0 To numBreaks - 1 cbr.Break(i) = stats.Min + ((range / numClasses) * (i + 1)) Next cbr.RampColors picCBramp(1).BackColor
picCBramp(0).BackColor,
fraCB.Caption = UCase(lyr.Name) & " - " & cboCB(0).Text picCBlegend(0).Visible = True lblCBlegend(0).Visible = True picCBlegend(0).BackColor = cbr.Symbol(0).Color
253
lblCBlegend(0).Caption = Format(cbr.Break(0), "#0.00")
"Less
than
"
&
For i = 1 To cbr.BreakCount Load picCBlegend(i) With picCBlegend(i) .Left = picCBlegend(0).Left .Width = picCBlegend(0).Width .Height = picCBlegend(0).Height .Top = picCBlegend(i - 1).Top + 180 .BackColor = cbr.Symbol(i).Color .Visible = True End With Load lblCBlegend(i) With lblCBlegend(i) .Left = lblCBlegend(0).Left .Width = lblCBlegend(0).Width .Height = lblCBlegend(0).Height .Top = lblCBlegend(i - 1).Top + 180 .Visible = True Select Case i Case cbr.BreakCount .Caption = ">= " & Format(cbr.Break(cbr.BreakCount - 1), "#0.00") Case Else .Caption = Format(cbr.Break(i - 1), "#0.00") & " " & Format(cbr.Break(i), "#0.00") End Select End With Next End Sub Public Sub PopulateExistingCBlegend() If Not justOpened Then Exit Sub End If Dim stats As MapObjects2.Statistics Dim i, numClasses, numBreaks As Integer Set stats = recs.CalculateStatistics(lyr.Renderer.Field) numBreaks = lyr.Renderer.BreakCount If picCBlegend.Count > 1 Then For i = (picCBlegend.Count - 1) To 1 Step -1 Unload picCBlegend(i) Unload lblCBlegend(i) Next End If
254
Set cbr = lyr.Renderer cbr.Field = lyr.Renderer.Field fraCB.Caption = UCase(lyr.Name) & " - " & cboCB(0).Text picCBlegend(0).Visible = True lblCBlegend(0).Visible = True picCBlegend(0).BackColor = cbr.Symbol(0).Color lblCBlegend(0).Caption = "Less than " Format(cbr.Break(0), "#0.00")
&
For i = 1 To cbr.BreakCount Load picCBlegend(i) With picCBlegend(i) .Left = picCBlegend(0).Left .Width = picCBlegend(0).Width .Height = picCBlegend(0).Height .Top = picCBlegend(i - 1).Top + 180 .BackColor = cbr.Symbol(i).Color .Visible = True End With Load lblCBlegend(i) With lblCBlegend(i) .Left = lblCBlegend(0).Left .Width = lblCBlegend(0).Width .Height = lblCBlegend(0).Height .Top = lblCBlegend(i - 1).Top + 180 .Visible = True Select Case i Case cbr.BreakCount .Caption = ">= " & Format(stats.Max, "#0.00") Case Else .Caption = Format(cbr.Break(i - 1), "#0.00") & " " & Format(cbr.Break(i), "#0.00") End Select End With Next justOpened = False End Sub Private Sub PopulateNewZRLegend() Dim n As Integer Dim range As Double Dim MinZ As Double, MaxZ As Double MinZ = lyr.Extent.Floor MaxZ = lyr.Extent.Ceiling MaxZ = 1400 range = MaxZ - MinZ
255
' clear existing legend If picZRlegend.Count > 1 Then For n = (picZRlegend.Count - 1) To 1 Step -1 Unload picZRlegend(n) Unload lblZRlegend(n) Next End If ' set new breakcount Set zRend = New MapObjects2.ZRenderer zRend.BreakCount cboZRclasses.List(cboZRclasses.ListIndex) - 1
=
' Set the breaks using simple equal interval ranges... For n = 1 To zRend.BreakCount zRend.Break(n - 1) = MinZ + ((range / zRend.BreakCount + 1) * (n)) Next n 'Build symbol array by ramping start and end colors zRend.RampColors picZRramp(0).BackColor, picZRramp(1).BackColor ' handle the base items in the object arrays picZRlegend(0).BackColor = picZRramp(0).BackColor lblZRlegend(0).Caption = "Less Than Format(zRend.Break(0), "#0.00") picZRlegend(0).Visible = True lblZRlegend(0).Visible = True
"
&
For n = 1 To zRend.BreakCount ' Set up the color boxes Load picZRlegend(n) With picZRlegend(n) .Top = picZRlegend(n - 1).Top + 180 .BackColor = zRend.Symbol(n).Color .Visible = True End With ' Set up the labels Load lblZRlegend(n) With lblZRlegend(n) .Top = lblZRlegend(n - 1).Top + 180 .Visible = True Select Case n Case zRend.BreakCount .Caption = "Greater Than " & Format(zRend.Break(n - 1), "#0.00") Case Else .Caption = Format(zRend.Break(n - 1), "#0.00") & " - " & Format(zRend.Break(n), "#0.00") End Select End With
256
Next n End Sub Private Sub PopulateExistingZRlegend() If Not justOpened Then Exit Sub End If Dim stats As MapObjects2.Statistics Dim i, numClasses, numBreaks As Integer Set zRend = lyr.Renderer If picZRlegend.Count > 1 Then For i = (picZRlegend.Count - 1) To 1 Step -1 Unload picZRlegend(i) Unload lblZRlegend(i) Next End If picZRlegend(0).Visible = True lblZRlegend(0).Visible = True picZRlegend(0).BackColor = zRend.Symbol(0).Color lblZRlegend(0).Caption = "Less than Format(zRend.Break(0), "#0.00")
"
&
For i = 1 To zRend.BreakCount Load picZRlegend(i) With picZRlegend(i) .Left = picZRlegend(0).Left .Width = picZRlegend(0).Width .Height = picZRlegend(0).Height .Top = picZRlegend(i - 1).Top + 180 .BackColor = zRend.Symbol(i).Color .Visible = True End With Load lblZRlegend(i) With lblZRlegend(i) .Left = lblZRlegend(0).Left .Width = lblZRlegend(0).Width .Height = lblZRlegend(0).Height .Top = lblZRlegend(i - 1).Top + 180 .Visible = True Select Case i Case zRend.BreakCount .Caption = ">= " & Format(stats.Max, "#0.00") Case Else .Caption = Format(zRend.Break(i - 1), "#0.00") & " - " & Format(zRend.Break(i), "#0.00") End Select
257
End With Next justOpened = False End Sub Form Add Line (Jalur)
Public PointFrom As String Public PointTo As String Public Distance As Single Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() SaveLine Unload Me End Sub Private Sub Form_Load()
258
FillCombo cboPointFrom, "SELECT PointName FROM Points ORDER BY PointName" FillCombo cboPointTo, "SELECT PointName FROM Points ORDER BY PointName" cboPointFrom.Text = PointFrom cboPointTo.Text = PointTo txtWeightDistance.Text = Distance End Sub Private Sub SaveLine() Dim SQL As String On Error GoTo ErrHandler SQL = "INSERT INTO Lines(PointFrom, PointTo, WeightDistance, WeightTime, WeightCost, " & _ "Width, Condition, Density, FixedCost, VariableCost, MaxVehicleSize, MaxVehicleSpeed) " & _ "VALUES('" & cboPointFrom.Text & "', '" & cboPointTo.Text & "', " & _ Val(txtWeightDistance.Text) & ", " & Val(txtWeightTime.Text) & ", " & _ Val(txtWeightCost.Text) & ", " & Val(txtWidth.Text) & ", '" & cboCondition.Text & "', " & _ Val(txtDensity.Text) & ", " & Val(txtFixedCost.Text) & ", " & Val(txtVariableCost.Text) & ", '" & _ cboMaxVehicleSize.Text & "', " & Val(txtMaxVehicleSpeed.Text) & ")" cn.Execute SQL Exit Sub ErrHandler: Alert End Sub Private Sub txtMaxVehicleSpeed_Change() If Val(txtMaxVehicleSpeed.Text) > 0 Then txtWeightTime.Text Format(Val(txtWeightDistance.Text) (Val(txtMaxVehicleSpeed.Text) * 1000) * 60, "#0") Else txtMaxVehicleSpeed.Text = "0" End If End Sub
Procedure Algoritma Djikstra Option Explicit Private Type LineType
= /
259
From As Long To As Long Weight As Single End Type Private Type PathType Lines() As LineType Count As Long Weight As Single End Type Private mPaths() As PathType Private mLineIndex As Long Public Sub Calculate(ByVal PointFrom As Long, ByVal PointTo As Long, Mattrice() As Single, ShortestPath As Collection) Dim PathResult As String Dim Paths() As String Dim Lines() As String Dim Points() As String Dim i As Long, j As Long Dim MinWeight As Single Dim ShortestPathIndex As Long Dim PredLines() As String Dim PredPoints() As String Dim CurrPoint As String Dim k As Long, l As Long Dim Endian As String FindPath PathResult
PointFrom,
PointFrom,
PointTo,
Mattrice,
'Example Path: 2-1,1-4;2-3,3-4;2-5,5-4;2-6,6-1,1-4;63,3-4; Paths = Split(PathResult, ";") 'Parse path... If UBound(Paths) > 0 Then ReDim mPaths(UBound(Paths)) For i = 0 To UBound(Paths) If EndsWith(Paths(i), CStr(PointTo)) Then mLineIndex = 0 Lines = Split(Paths(i), ",") If UBound(Lines) > 0 Then For j = 0 To UBound(Lines) Points = Split(Lines(j), "-") If UBound(Points) > 0 Then If j = 0 And Points(0) PointFrom Then 'get predecessor paths... CurrPoint = Points(0)
<>
260
Do For k = i - 1 To 0 Step -1 PredLines
=
Split(Paths(k), ",") If UBound(PredLines) > 0 Then For
l
=
UBound(PredLines) To 0 Step -1 PredPoints = Split(PredLines(l), "-") If UBound(PredPoints) > 0 Then If PredPoints(1) = CurrPoint Then mLineIndex = mLineIndex + 1 ReDim Preserve mPaths(i).Lines(mLineIndex) mPaths(i).Lines(mLineIndex).From = PredPoints(0) mPaths(i).Lines(mLineIndex).To = PredPoints(1) mPaths(i).Count = mLineIndex CurrPoint = PredPoints(0) If CurrPoint = PointFrom Then Exit Do End If End If Next End If Next Loop Until PredPoints(0) = PointFrom End If mLineIndex = mLineIndex + 1 ReDim Preserve mPaths(i).Lines(mLineIndex) mPaths(i).Lines(mLineIndex).From = Points(0) mPaths(i).Lines(mLineIndex).To = Points(1) mPaths(i).Count = mLineIndex End If Next ElseIf InStr(Paths(i), "-") > 0 Then Points = Split(Lines(0), "-") If UBound(Points) > 0 Then If Points(0) <> PointFrom Then
261
'get predecessor paths... CurrPoint = Points(0) Do For k = i - 1 To 0 Step -1 PredLines = Split(Paths(k), ",") If UBound(PredLines) > 0 Then For
l
=
UBound(PredLines) To 0 Step -1 PredPoints
=
Split(PredLines(l), "-") If UBound(PredPoints) > 0 Then If PredPoints(1) = CurrPoint Then mLineIndex = mLineIndex + 1 ReDim Preserve mPaths(i).Lines(mLineIndex) mPaths(i).Lines(mLineIndex).From = PredPoints(0) mPaths(i).Lines(mLineIndex).To = PredPoints(1) mPaths(i).Count = mLineIndex CurrPoint = PredPoints(0) If CurrPoint = PointFrom Then Exit Do End If End If Next End If Next Loop Until PredPoints(0)
=
PointFrom End If mLineIndex = mLineIndex + 1 ReDim Preserve mPaths(i).Lines(mLineIndex) mPaths(i).Lines(mLineIndex).From = Points(0) mPaths(i).Lines(mLineIndex).To = Points(1) mPaths(i).Count = mLineIndex End If End If End If Next End If
262
If UBound(Paths) <= 0 Then Exit Sub 'Calculate weight for every line... For i = 0 To UBound(mPaths) - 1 If mPaths(i).Count > 0 Then For j = 1 To UBound(mPaths(i).Lines) mPaths(i).Lines(j).Weight = Mattrice(mPaths(i).Lines(j).From, mPaths(i).Lines(j).To) 'Debug.Print i, mPaths(i).Lines(j).From, mPaths(i).Lines(j).To, mPaths(i).Lines(j).Weight Next End If Next 'Calculate weight for every path... For i = 0 To UBound(mPaths) - 1 If mPaths(i).Count > 0 Then mPaths(i).Weight = CalculatePathWeight(i) 'Debug.Print mPaths(i).Weight End If Next 'Finally, the shortest path is a path with weight among of all... MinWeight = 999999999# 'ShortestPathIndex = 0 For i = 0 To UBound(mPaths) - 1 If mPaths(i).Count > 0 Then If mPaths(i).Weight < MinWeight Then MinWeight = mPaths(i).Weight ShortestPathIndex = i End If End If Next
minimum
If UBound(mPaths) > 0 Then For j = 1 To mPaths(ShortestPathIndex).Count ShortestPath.Add mPaths(ShortestPathIndex).Lines(j).From If j = mPaths(ShortestPathIndex).Count Then ShortestPath.Add mPaths(ShortestPathIndex).Lines(j).To End If Next End If End Sub Private Sub FindPath(ByVal PointFrom As Long, ByVal PointThrough As Long, ByVal PointTo As Long, Mattrice() As Single, Path As String) Dim Point As Long
263
For Point = 1 To UBound(Mattrice) If Point <> PointThrough And IsNeighbours(PointThrough, Point, Mattrice) Then Path = Path & PointThrough & "-" & Point Debug.Print GetPointName(PointThrough) & "-" & GetPointName(Point); If Point <> PointTo Then Path = Path & "," Debug.Print ","; FindPath PointFrom, Point, PointTo, Mattrice, Path Else Path = Path & ";" Debug.Print ";"; Exit Sub End If End If Next Path = Path & ";" Debug.Print ";"; End Sub Private Function IsNeighbours(ByVal PointFrom As Long, ByVal PointTo As Long, Mattrice() As Single) As Boolean If Mattrice(PointFrom, PointTo) > 0 Then IsNeighbours = True End If End Function Private Function CalculatePathWeight(ByVal Integer) As Single Dim i As Long Dim Weight As Single
PathIndex
As
For i = 1 To UBound(mPaths(PathIndex).Lines) Weight = Weight + mPaths(PathIndex).Lines(i).Weight Next CalculatePathWeight = Weight End Function Private Function EndsWith(ByVal S As String, ByVal Endian As String) As Boolean If Right(S, Len(Endian)) = Endian Then EndsWith = True Else EndsWith = False End If End Function Procedure Export ke File Excel
264
Option Explicit Private ex As Excel.Application Private wb As Excel.Workbook Private ws As Excel.Worksheet Public Event Error(ByVal Description As String) Private Sub Class_Initialize() Set ex = New Excel.Application ex.DisplayAlerts = False ex.ScreenUpdating = False ex.Visible = False End Sub Private Set Set Set End Sub
Sub Class_Terminate() ws = Nothing wb = Nothing ex = Nothing
Public Sub OpenFile(ByVal FileName As String) If Dir(FileName) <> "" Then Set wb = ex.Workbooks.Open(FileName) Else RaiseEvent Error("File '" & FileName & "' doesn't exist.") End If End Sub Public Sub OpenSheet(ByVal SheetName As String) On Error Resume Next Set ws = wb.Worksheets(SheetName) If Err Then RaiseEvent Error(Err.Description) End If On Error GoTo 0 End Sub Public Sub CloseFile() wb.Close End Sub Public Sub SaveFile() wb.Save End Sub Public Sub WriteData(ByVal Row As Integer, ByVal Col As Integer, ByVal Value As String) ws.Cells(Row, Col).Value = Value End Sub
265
Public Sub WriteFormula(ByVal Row As Integer, ByVal Col As Integer, ByVal Formula As String) ws.Cells(Row, Col).Formula = Formula End Sub
Procedure Alokasi dari Kebun ke Pabrik '========================================= '= PROCEDURE: ALOKASI DARI KEBUN KE PABRIK '= Developed by: I.K. Gunarta '= Year: 2012 '========================================= Public Public Public Public Public Public Public Public
Terkecil As Long NoTerkecil As Integer NoPKS As Integer NoKKS As Integer JumlahKKS As Integer JumlahPKS As Integer JumlahAlokasi As Integer Tahun As Integer
Sub Alokasi() JumlahKKS = 160 JumlahPKS = 12 JumlahAlokasi = JumlahKKS * JumlahPKS For Tahun = 0 To 15 Sheets("COST").Range("E5:E1924") = False For Iterasi = 1 To 1924 Terkecil = 1000000 ' Bilangan awal yang besar.... NoTerkecil = Sheets("COST").Cells(5, 1) For i = 5 To 1924 Biaya = Sheets("COST").Cells(i, 4) Nomor = Sheets("COST").Cells(i, 1) Status = Sheets("COST").Cells(i, 5) If Status = False Then If Biaya < Terkecil Then Terkecil = Biaya NoTerkecil = Nomor End If End If Next i 'Debug.Print "Biaya Terkecil = " & Terkecil 'Debug.Print "No Terkecil = " & NoTerkecil
266
'MsgBox ("Biaya Terkecil = " & Terkecil) 'MsgBox ("No Terkecil = " & NoTerkecil) HitungAlokasi Next Iterasi Next Tahun End Sub Public Sub HitungAlokasi() NoKKS = Application.RoundUp(NoTerkecil / 12, 0) BarisPKS = NoTerkecil Mod 12 If BarisPKS = 0 Then BarisPKS = 12 End If NoPKS = BarisPKS DemandPKS = Sheets("SISA-DEMAND-PKS").Cells(NoPKS + 4, 4 + Tahun) SupplyKKS = Sheets("SISA-KAPASITAS-KKS").Cells(NoKKS + 4, 4 + Tahun) 'Debug.Print "Demand PKS = " & DemandPKS 'Debug.Print "Supply KKS = " & SupplyKKS 'MsgBox ("SUPPLY KKS =" & SupplyKKS) 'MsgBox ("Demand PKS =" & DemandPKS) If DemandPKS <= SupplyKKS Then AlokasiTBS = DemandPKS Sheets("ALOKASI").Cells(NoTerkecil + 4, 4 + Tahun) = AlokasiTBS DemandTeralokasi = Sheets("PKSTERALOKASI").Cells(NoPKS + 4, 4 + Tahun) Sheets("PKS-TERALOKASI").Cells(NoPKS + 4, 4 + Tahun) = DemandTeralokasi + AlokasiTBS SupplyTeralokasi = Sheets("KKSTERALOKASI").Cells(NoKKS + 4, 4 + Tahun) Sheets("KKS-TERALOKASI").Cells(NoKKS + 4, 4 + Tahun) = SupplyTeralokasi + AlokasiTBS Sheets("COST").Cells(NoTerkecil + 4, 5) = True Else AlokasiTBS = SupplyKKS Sheets("ALOKASI").Cells(NoTerkecil + 4, 4 + Tahun) = AlokasiTBS Sheets("COST").Cells(NoTerkecil + 4, 5) = True
267
DemandTeralokasi = Sheets("PKSTERALOKASI").Cells(NoPKS + 4, 4 + Tahun) Sheets("PKS-TERALOKASI").Cells(NoPKS + 4, 4 + Tahun) = DemandTeralokasi + AlokasiTBS SupplyTeralokasi = Sheets("KKSTERALOKASI").Cells(NoKKS + 4, 4 + Tahun) Sheets("KKS-TERALOKASI").Cells(NoKKS + 4, 4 + Tahun) = SupplyTeralokasi + AlokasiTBS End If End Sub Sub Reset() Sheets("ALOKASI").Range("D5:AD10000").ClearContents Sheets("COST").Range("E5:E1924") = False Sheets("KKS-TERALOKASI").Range("D5:AD500").ClearContents Sheets("PKS-TERALOKASI").Range("D5:AD100").ClearContents End Sub Procedure Alokasi dari Pabrik CPO ke Industri Hilir '====================================================== '= PROCEDURE: ALOKASI DARI PABRIK CPO KE INDUSTRI HILIR '= Developed by: I.K. Gunarta '= Year: 2012 '====================================================== Public Public Public Public Public Public Public Public
Terkecil As Long NoTerkecil As Integer NoPKS As Integer NoHilir As Integer JumlahHilir As Integer JumlahPKS As Integer JumlahAlokasi As Integer Tahun As Integer
Sub Alokasi() JumlahHilir = 3 JumlahPKS = 12 JumlahAlokasi = JumlahHilir * JumlahPKS For Tahun = 0 To 15 Sheets("COST").Range("E5:E1924") = False For Iterasi = 1 To JumlahAlokasi Terkecil = 1000000 ' Bilangan awal yang besar.... NoTerkecil = Sheets("COST").Cells(5, 1) For i = 5 To 1924 Biaya = Sheets("COST").Cells(i, 4)
268
Nomor = Sheets("COST").Cells(i, 1) Status = Sheets("COST").Cells(i, 5) If Status = False Then If Biaya < Terkecil Then Terkecil = Biaya NoTerkecil = Nomor End If End If Next i 'Debug.Print "Biaya Terkecil = " & Terkecil 'Debug.Print "No Terkecil = " & NoTerkecil 'MsgBox ("Biaya Terkecil = " & Terkecil) 'MsgBox ("No Terkecil = " & NoTerkecil) HitungAlokasi Next Iterasi Next Tahun End Sub
Public Sub HitungAlokasi() Public Sub HitungAlokasi() NoPKS = Application.RoundUp(NoTerkecil / 3, 0) BarisHilir = NoTerkecil Mod 3 If BarisHilir = 0 Then BarisHilir = 3 End If NoHilir = BarisHilir DemandHilir = Sheets("SISA-DEMAND-HILIR").Cells(NoPKS + 4, 4 + Tahun) SupplyKKS = Sheets("SISA-KAPASITAS-PKS").Cells(NoPKS + 4, 4 + Tahun) 'Debug.Print "Demand Hilir = " & DemandPKS 'Debug.Print "Supply PKS = " & SupplyKKS 'MsgBox ("SUPPLY PKS =" & SupplyKKS) 'MsgBox ("Demand Hilir =" & DemandPKS) If DemandHilir <= SupplyPKS Then AlokasiCPO = DemandHilir Sheets("ALOKASI").Cells(NoTerkecil + 4, 4 + Tahun) = AlokasiCPO DemandTeralokasi = Sheets("PKSTERALOKASI").Cells(NoHilir + 4, 4 + Tahun)
269
Sheets("HILIR-TERALOKASI").Cells(NoPKS Tahun) = DemandTeralokasi + AlokasiCPO
+
4,
4
+
SupplyTeralokasi = Sheets("PKSTERALOKASI").Cells(NoKPS + 4, 4 + Tahun) Sheets("PKS-TERALOKASI").Cells(NoKKS + 4, 4 + Tahun) = SupplyTeralokasi + AlokasiCPO Sheets("COST").Cells(NoTerkecil + 4, 5) = True Else AlokasiCPO = SupplyPKS Sheets("ALOKASI").Cells(NoTerkecil + 4, 4 + Tahun) = AlokasiCPO Sheets("COST").Cells(NoTerkecil + 4, 5) = True DemandTeralokasi = Sheets("HILIRTERALOKASI").Cells(NoPKS + 4, 4 + Tahun) Sheets("HILIR-TERALOKASI").Cells(NoHilir + 4, 4 + Tahun) = DemandTeralokasi + AlokasiCPO SupplyTeralokasi = Sheets("PKSTERALOKASI").Cells(NoPKS + 4, 4 + Tahun) Sheets("PKS-TERALOKASI").Cells(NoPKS + 4, 4 + Tahun) = SupplyTeralokasi + AlokasiCPO End If End Sub Sub Reset() Sheets("ALOKASI").Range("D5:AD10000").ClearContents Sheets("COST").Range("E5:E1924") = False Sheets("PKS-TERALOKASI").Range("D5:AD500").ClearContents Sheets("HILIRTERALOKASI").Range("D5:AD100").ClearContents End Sub
Script avenue Script Rute NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan"
270
objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then Av.GetProject.RemoveDoc(objView) end objView = View.Make Objview.SetName(NamaView) objView.SetUnits(#UNITS_LINEAR_METERS) objView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_KILOMETERS ) objView.GetWin.Open ' Buka Theme Indonesia (CID) objDataCID=SrcName.Make(dirRsc+"Indonesia.shp") objThemeCID = Theme.Make(objDataCID) objThemeCID.SetName("CID") objThemeCID.SetVisible(true) objThemeCID.SetActive(true) objLeCID = objThemeCID.GetLegend objSymCID=objLeCID.GetSymbols.get(0) objSymCID.SetColor(Color.GetWhite) objThemeCID.UpdateLegend objView.AddTheme(objThemeCID) ' Buka Theme Prov objDataProv=SrcName.Make(dirRsc+"Propinsi.shp") objThemeProv = Theme.Make(objDataProv) objThemeProv.SetName("Prov") objThemeProv.SetVisible(true) objThemeProv.SetActive(true) objLePro = objThemeProv.GetLegend objSymPro=objLePro.GetSymbols.get(0) objSymPro.SetColor(Color.GetGray) objThemeProv.UpdateLegend objView.AddTheme(objThemeProv) ' Buka Theme KabKota objDataKabKota=SrcName.Make(dirRsc+"Kabupaten.shp") objThemeKabKota = Theme.Make(objDataKabKota) objThemeKabKota.SetName("KabKota") objThemeKabKota.SetVisible(true) objThemeKabKota.SetActive(true) objLeKabKota = objThemeKabKota.GetLegend objSymKabKota=objLeKabKota.GetSymbols.get(0) objSymKabKota.SetColor(color.GetYellow) objThemeKabKota.UpdateLegend objView.AddTheme(objThemeKabKota) ' ***************************************Buka Theme Jalan objDataJalan=SrcName.Make(dirRsc+"JalanGabung.shp") objThemeJalan = Theme.Make(objDataJalan) objThemeJalan.SetName("Jalan") objThemeJalan.SetVisible(true)
271
objThemeJalan.SetActive(true) objLeJalan = objThemeJalan.GetLegend objSymJalan=objLeJalan.GetSymbols.get(0) objSymJalan.SetColor(Color.GetBlack) objSymJalan.SetSize(2) objThemeJalan.UpdateLegend objView.AddTheme(objThemeJalan) '****************************************Buka Alternative objDataAlt1=SrcName.Make(dirRsc+"Theme1.shp") objThemeAlt1 = Theme.Make(objDataAlt1) objThemeAlt1.SetName("Alternativ") objThemeAlt1.SetVisible(true) objThemeAlt1.SetActive(true) objLeAlt1 = objThemeAlt1.GetLegend objSymAlt1=objLeAlt1.GetSymbols.get(0) objSymAlt1.SetColor(Color.GetRed) objSymAlt1.SetSize(8) objThemeAlt1.UpdateLegend objView.AddTheme(objThemeAlt1)
Theme
'****************************************Buka Theme Dermaga objDataDermaga=SrcName.Make(dirRsc+"Dermaga.shp") objThemeDermaga = Theme.Make(objDataDermaga) objThemeDermaga.SetName("Dermaga") objThemeDermaga.SetVisible(true) objThemeDermaga.SetActive(true) objLeDermaga = objThemeDermaga.GetLegend objSymDermaga=objLeDermaga.GetSymbols.get(0) objSymDermaga.SetColor(Color.GetCyan) objSymDermaga.SetSize(8) objThemeDermaga.UpdateLegend objView.AddTheme(objThemeDermaga) '****************************************Buka Theme Kks Node (Perkebunan) objDataKksNode=SrcName.Make(dirRsc+"Kks_node.shp") objThemeKksNode = Theme.Make(objDataKksNode) objThemeKksNode.SetName("Perkebunan") objThemeKksNode.SetVisible(true) objThemeKksNode.SetActive(true) objLeKksNode = objThemeKksNode.GetLegend objSymKksNode=objLeKksNode.GetSymbols.get(0) objSymKksNode.SetColor(Color.GetGreen) objSymKksNode.SetSize(8) objThemeKksNode.UpdateLegend objView.AddTheme(objThemeKksNode) '****************************************Buka (Pabrik) objDataPKS=SrcName.Make(dirRsc+"Pks.shp") objThemePKS = Theme.Make(objDataPKS)
Theme
PKS
272
objThemePKS.SetName("Pabrik") objThemePKS.SetVisible(true) objThemePKS.SetActive(true) objLePKS = objThemePKS.GetLegend objSymPKS=objLePKS.GetSymbols.get(0) objSymPKS.SetColor(Color.GetGray) objSymPKS.SetSize(8) objThemePKS.UpdateLegend objView.AddTheme(objThemePKS) objFTabJalan=objThemeJalan.GetFTab objNetDef=NetDef.Make(objFTabJalan) objNetwork=Network.Make(objNetDef) av.GetActiveDoc.GetWin.Maximize Script Terdekat NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan" objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then Av.GetProject.RemoveDoc(objView) end objView = View.Make Objview.SetName(NamaView) objView.SetUnits(#UNITS_LINEAR_METERS) objView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_KILOMETERS ) objView.GetWin.Open ' Buka Theme Indonesia (CID) objDataCID=SrcName.Make(dirRsc+"Indonesia.shp") objThemeCID = Theme.Make(objDataCID) objThemeCID.SetName("CID") objThemeCID.SetVisible(true) objThemeCID.SetActive(true) objLeCID = objThemeCID.GetLegend objSymCID=objLeCID.GetSymbols.get(0) objSymCID.SetColor(Color.GetWhite) objThemeCID.UpdateLegend objView.AddTheme(objThemeCID) ' Buka Theme Prov objDataProv=SrcName.Make(dirRsc+"Propinsi.shp")
273
objThemeProv = Theme.Make(objDataProv) objThemeProv.SetName("Prov") objThemeProv.SetVisible(true) objThemeProv.SetActive(true) objLePro = objThemeProv.GetLegend objSymPro=objLePro.GetSymbols.get(0) objSymPro.SetColor(Color.GetGray) objThemeProv.UpdateLegend objView.AddTheme(objThemeProv) ' Buka Theme KabKota objDataKabKota=SrcName.Make(dirRsc+"Kabupaten.shp") objThemeKabKota = Theme.Make(objDataKabKota) objThemeKabKota.SetName("KabKota") objThemeKabKota.SetVisible(true) objThemeKabKota.SetActive(true) objLeKabKota = objThemeKabKota.GetLegend objSymKabKota=objLeKabKota.GetSymbols.get(0) objSymKabKota.SetColor(color.GetYellow) objThemeKabKota.UpdateLegend objView.AddTheme(objThemeKabKota) ' ***************************************Buka Theme Jalan objDataJalan=SrcName.Make(dirRsc+"JalanGabung.shp") objThemeJalan = Theme.Make(objDataJalan) objThemeJalan.SetName("Jalan") objThemeJalan.SetVisible(true) objThemeJalan.SetActive(true) objLeJalan = objThemeJalan.GetLegend objSymJalan=objLeJalan.GetSymbols.get(0) objSymJalan.SetColor(Color.GetBlack) objSymJalan.SetSize(2) objThemeJalan.UpdateLegend objView.AddTheme(objThemeJalan) '****************************************Buka Alternative objDataAlt1=SrcName.Make(dirRsc+"Theme1.shp") objThemeAlt1 = Theme.Make(objDataAlt1) objThemeAlt1.SetName("Alternativ") objThemeAlt1.SetVisible(true) objThemeAlt1.SetActive(true) objLeAlt1 = objThemeAlt1.GetLegend objSymAlt1=objLeAlt1.GetSymbols.get(0) objSymAlt1.SetColor(Color.GetRed) objSymAlt1.SetSize(8) objThemeAlt1.UpdateLegend objView.AddTheme(objThemeAlt1)
Theme
'****************************************Buka Theme Dermaga objDataDermaga=SrcName.Make(dirRsc+"Dermaga.shp") objThemeDermaga = Theme.Make(objDataDermaga)
274
objThemeDermaga.SetName("Dermaga") objThemeDermaga.SetVisible(true) objThemeDermaga.SetActive(true) objLeDermaga = objThemeDermaga.GetLegend objSymDermaga=objLeDermaga.GetSymbols.get(0) objSymDermaga.SetColor(Color.GetBlue) objSymDermaga.SetSize(8) objThemeDermaga.UpdateLegend objView.AddTheme(objThemeDermaga) '****************************************Buka Theme Kks Node (Perkebunan) objDataKksNode=SrcName.Make(dirRsc+"Kks_node.shp") objThemeKksNode = Theme.Make(objDataKksNode) objThemeKksNode.SetName("Perkebunan") objThemeKksNode.SetVisible(true) objThemeKksNode.SetActive(true) objLeKksNode = objThemeKksNode.GetLegend objSymKksNode=objLeKksNode.GetSymbols.get(0) objSymKksNode.SetColor(Color.GetGreen) objSymKksNode.SetSize(8) objThemeKksNode.UpdateLegend objView.AddTheme(objThemeKksNode) '****************************************Buka (Pabrik) objDataPKS=SrcName.Make(dirRsc+"Pks.shp") objThemePKS = Theme.Make(objDataPKS) objThemePKS.SetName("Pabrik") objThemePKS.SetVisible(true) objThemePKS.SetActive(true) objLePKS = objThemePKS.GetLegend objSymPKS=objLePKS.GetSymbols.get(0) objSymPKS.SetColor(Color.GetGray) objSymPKS.SetSize(8) objThemePKS.UpdateLegend objView.AddTheme(objThemePKS)
Theme
PKS
'***************************Tentukan Network objFTabJalan=objThemeJalan.GetFTab objNetDef=NetDef.Make(objFTabJalan) objNetwork=Network.Make(objNetDef) '***************************Tentukan Field Cost objCostFieldList=objNetDef.GetCostFields Pertanyaan="Pilih field yang akan dijadikan sebagai COST" Judul="Pemilihan Cost" if(objCostFieldList.Count>1) then objCostField=msgbox.Choice(objCostFieldList,Pertanyaan,Judul ) else
275
ObjCostField=objCostFieldList.Get(0) end objNetwork.SetCostField(objCostField) objFTabFasilitas = objThemeDermaga.GetFtab objFieldLabelFasilitas = ObjThemeDermaga.GetLabelField objFieldShapeFasilitas = objFTabFasilitas.FindField("Shape") objListfasilitas = {} for each idx in objFTabFasilitas objFasilitas = objFTabFasilitas.ReturnValue(objFieldShapeFasilitas, idx) if(objNetwork.isPointOnNetWork(objFasilitas)) then objFasilitas.SetName(objFTabFasilitas.ReturnValueString(objF ieldLabelFasilitas,idx)) objListFasilitas.Add(objFasilitas) end end objFTabEvent = objThemePKS.GetFTab objFieldLabelEvent = objThemePKS.GetLabelField objFieldShapeEvent = objFTabEvent.FindField("Shape") objListEvent = {} for each index in objFTabEvent objEvent = objFTabEvent.ReturnValue(objFieldShapeEvent, index) if(objNetwork.IsPointOnNetWork(objEvent)) then objEvent.SetName(objFTabEvent.ReturnValueString(objFieldLabe lEvent, Index)) objListEvent.add(objEvent) end end JmlFasilitas = 3 CutOff = 0 EventKeFasilitas = True objListRute = ObjNetwork.FindClosestFac(objListEvent,objListFasilitas,jmlF asilitas,CutOff, EventKeFasilitas) if(not(objNetwork.HasClosestFacResult))then msgbox.Error("Solusi rute terdekat tidak tercapai!!!", "Kesalahan") exit end StringListHasil = {} ListIndeksIJ = {} objNamaFile = dirRsc+ "JarakPD.csv" objOpenFile=LineFile.Make(objNamaFile.AsFileName, #FILE_PERM_WRITE) objOpenFile.writeElt("Pabrik, Dermaga, Cost") for each i in 0..(objListEvent.Count -1) for each j in 1..objListRute.Get(i)
276
NoFasilitas = objNetwork.GetClosestFacIndex(i,j) str = "Dari " ++objListEvent.Get(i).GetName++ ", Ke " ++objListFasilitas.Get(NoFasilitas).GetName++ " Cost :" ++objNetwork.GetClosestFacPathCost(i,j).asString strtls = objListEvent.Get(i).GetName++ ", " ++objListFasilitas.Get(NoFasilitas).GetName++ ", " ++objNetwork.GetClosestFacPathCost(i,j).asString stringListHasil.Add(str) objOpenFile.writeElt(strtls) ListIndeksIJ.add({i,j}) end end objRutePilihan = msgBox.ListAsString(StringListHasil, "Pilih salah satu rute:","Pilih Rute") IndexTerpilih=StringListHasil.FindByValue(objRutePilihan) EventTerpilih = ListIndeksIJ.Get(IndexTerpilih).Get(0) FasilitasTerpilih = ListIndeksIJ.Get(IndexTerpilih).Get(1) objRuteTerpilih objNetwork.ReturnClosestFacShape(eventTerpilih, FasilitasTerpilih)
=
objGrafikShapeRuteTerpilih GraphicShape.Make(objRuteTerpilih) objSimbolRute = Symbol.Make(#SYMBOL_PEN) objSimbolRute.SetSize(2) objSimbolRute.SetColor(Color.GetRed) objGrafikShapeRuteTerpilih.SetSymbol(objSimbolRute) objView.GetGraphics.Add(objGrafikShapeRuteTerpilih)
=
NamaFileRute = dirRsc+ "rute.shp" objNetwork.WriteClosestFac(namaFileRute.AsFileName) objView.Invalidate av.GetActiveDoc.GetWin.Maximize Script TerdekatKP NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan" objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then Av.GetProject.RemoveDoc(objView) end objView = View.Make Objview.SetName(NamaView)
277
objView.SetUnits(#UNITS_LINEAR_METERS) objView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_KILOMETERS ) objView.GetWin.Open ' Buka Theme Indonesia (CID) objDataCID=SrcName.Make(dirRsc+"Indonesia.shp") objThemeCID = Theme.Make(objDataCID) objThemeCID.SetName("CID") objThemeCID.SetVisible(true) objThemeCID.SetActive(true) objLeCID = objThemeCID.GetLegend objSymCID=objLeCID.GetSymbols.get(0) objSymCID.SetColor(Color.GetWhite) objThemeCID.UpdateLegend objView.AddTheme(objThemeCID) ' Buka Theme Prov objDataProv=SrcName.Make(dirRsc+"Propinsi.shp") objThemeProv = Theme.Make(objDataProv) objThemeProv.SetName("Prov") objThemeProv.SetVisible(true) objThemeProv.SetActive(true) objLePro = objThemeProv.GetLegend objSymPro=objLePro.GetSymbols.get(0) objSymPro.SetColor(Color.GetGray) objThemeProv.UpdateLegend objView.AddTheme(objThemeProv) ' Buka Theme KabKota objDataKabKota=SrcName.Make(dirRsc+"Kabupaten.shp") objThemeKabKota = Theme.Make(objDataKabKota) objThemeKabKota.SetName("KabKota") objThemeKabKota.SetVisible(true) objThemeKabKota.SetActive(true) objLeKabKota = objThemeKabKota.GetLegend objSymKabKota=objLeKabKota.GetSymbols.get(0) objSymKabKota.SetColor(color.GetYellow) objThemeKabKota.UpdateLegend objView.AddTheme(objThemeKabKota) ' ***************************************Buka Theme Jalan objDataJalan=SrcName.Make(dirRsc+"JalanGabung.shp") objThemeJalan = Theme.Make(objDataJalan) objThemeJalan.SetName("Jalan") objThemeJalan.SetVisible(true) objThemeJalan.SetActive(true) objLeJalan = objThemeJalan.GetLegend objSymJalan=objLeJalan.GetSymbols.get(0) objSymJalan.SetColor(Color.GetBlack) objSymJalan.SetSize(2) objThemeJalan.UpdateLegend
278
objView.AddTheme(objThemeJalan) '****************************************Buka Alternative objDataAlt1=SrcName.Make(dirRsc+"Theme1.shp") objThemeAlt1 = Theme.Make(objDataAlt1) objThemeAlt1.SetName("Alternativ") objThemeAlt1.SetVisible(true) objThemeAlt1.SetActive(true) objLeAlt1 = objThemeAlt1.GetLegend objSymAlt1=objLeAlt1.GetSymbols.get(0) objSymAlt1.SetColor(Color.GetRed) objSymAlt1.SetSize(8) objThemeAlt1.UpdateLegend objView.AddTheme(objThemeAlt1)
Theme
'****************************************Buka Theme Dermaga objDataDermaga=SrcName.Make(dirRsc+"Dermaga.shp") objThemeDermaga = Theme.Make(objDataDermaga) objThemeDermaga.SetName("Dermaga") objThemeDermaga.SetVisible(true) objThemeDermaga.SetActive(true) objLeDermaga = objThemeDermaga.GetLegend objSymDermaga=objLeDermaga.GetSymbols.get(0) objSymDermaga.SetColor(Color.GetBlue) objSymDermaga.SetSize(8) objThemeDermaga.UpdateLegend objView.AddTheme(objThemeDermaga) '****************************************Buka Theme Kks Node (Perkebunan) objDataKksNode=SrcName.Make(dirRsc+"Kks_node.shp") objThemeKksNode = Theme.Make(objDataKksNode) objThemeKksNode.SetName("Perkebunan") objThemeKksNode.SetVisible(true) objThemeKksNode.SetActive(true) objLeKksNode = objThemeKksNode.GetLegend objSymKksNode=objLeKksNode.GetSymbols.get(0) objSymKksNode.SetColor(Color.GetGreen) objSymKksNode.SetSize(8) objThemeKksNode.UpdateLegend objView.AddTheme(objThemeKksNode) '****************************************Buka (Pabrik) objDataPKS=SrcName.Make(dirRsc+"Pks.shp") objThemePKS = Theme.Make(objDataPKS) objThemePKS.SetName("Pabrik") objThemePKS.SetVisible(true) objThemePKS.SetActive(true) objLePKS = objThemePKS.GetLegend objSymPKS=objLePKS.GetSymbols.get(0) objSymPKS.SetColor(Color.GetGray)
Theme
PKS
279
objSymPKS.SetSize(8) objThemePKS.UpdateLegend objView.AddTheme(objThemePKS) '***************************Tentukan Network objFTabJalan=objThemeJalan.GetFTab objNetDef=NetDef.Make(objFTabJalan) objNetwork=Network.Make(objNetDef) '***************************Tentukan Field Cost objCostFieldList=objNetDef.GetCostFields Pertanyaan="Pilih field yang akan dijadikan sebagai COST" Judul="Pemilihan Cost" if(objCostFieldList.Count>1) then objCostField=msgbox.Choice(objCostFieldList,Pertanyaan,Judul ) else ObjCostField=objCostFieldList.Get(0) end objNetwork.SetCostField(objCostField) objFTabFasilitas = objThemePKS.GetFtab objFieldLabelFasilitas = ObjThemePKS.GetLabelField objFieldShapeFasilitas = objFTabFasilitas.FindField("Shape") objListfasilitas = {} for each idx in objFTabFasilitas objFasilitas = objFTabFasilitas.ReturnValue(objFieldShapeFasilitas, idx) if(objNetwork.isPointOnNetWork(objFasilitas)) then objFasilitas.SetName(objFTabFasilitas.ReturnValueString(objF ieldLabelFasilitas,idx)) objListFasilitas.Add(objFasilitas) end end objFTabEvent = objThemeKKSNode.GetFTab objFieldLabelEvent = objThemeKKSNode.GetLabelField objFieldShapeEvent = objFTabEvent.FindField("Shape") objListEvent = {} for each index in objFTabEvent objEvent = objFTabEvent.ReturnValue(objFieldShapeEvent, index) if(objNetwork.IsPointOnNetWork(objEvent)) then objEvent.SetName(objFTabEvent.ReturnValueString(objFieldLabe lEvent, Index)) objListEvent.add(objEvent) end end
280
JmlFasilitas = 13 CutOff = 0 EventKeFasilitas = True objListRute = ObjNetwork.FindClosestFac(objListEvent,objListFasilitas,jmlF asilitas,CutOff, EventKeFasilitas) if(not(objNetwork.HasClosestFacResult))then msgbox.Error("Solusi rute terdekat tidak tercapai!!!", "Kesalahan") exit end StringListHasil = {} ListIndeksIJ = {} ListStrTulist={} objNamaFile = dirRsc+ "JarakKP.csv" objOpenFile=LineFile.Make(objNamaFile.AsFileName, #FILE_PERM_WRITE) objOpenFile.writeElt("Kebun, Pabrik, Cost") for each i in 0..(objListEvent.Count -1) for each j in 1..objListRute.Get(i) NoFasilitas = objNetwork.GetClosestFacIndex(i,j) str = "Dari " ++objListEvent.Get(i).GetName++ ", Ke " ++objListFasilitas.Get(NoFasilitas).GetName++ " Cost :" ++objNetwork.GetClosestFacPathCost(i,j).asString strtls = objListEvent.Get(i).GetName++ ", " ++objListFasilitas.Get(NoFasilitas).GetName++ ", " ++objNetwork.GetClosestFacPathCost(i,j).asString stringListHasil.Add(str) objOpenFile.writeElt(strtls) ListIndeksIJ.add({i,j}) end end objRutePilihan = msgBox.ListAsString(StringListHasil, "Pilih salah satu rute:","Pilih Rute") IndexTerpilih=StringListHasil.FindByValue(objRutePilihan) EventTerpilih = ListIndeksIJ.Get(IndexTerpilih).Get(0) FasilitasTerpilih = ListIndeksIJ.Get(IndexTerpilih).Get(1) objRuteTerpilih objNetwork.ReturnClosestFacShape(eventTerpilih, FasilitasTerpilih)
=
objGrafikShapeRuteTerpilih GraphicShape.Make(objRuteTerpilih) objSimbolRute = Symbol.Make(#SYMBOL_PEN) objSimbolRute.SetSize(2) objSimbolRute.SetColor(Color.GetRed) objGrafikShapeRuteTerpilih.SetSymbol(objSimbolRute) objView.GetGraphics.Add(objGrafikShapeRuteTerpilih)
=
NamaFileRute = dirRsc+ "rute.shp" objNetwork.WriteClosestFac(namaFileRute.AsFileName) objView.Invalidate
281
av.GetActiveDoc.GetWin.Maximize Script PabrikAlternativ NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan" objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then Av.GetProject.RemoveDoc(objView) end objView = View.Make Objview.SetName(NamaView) objView.SetUnits(#UNITS_LINEAR_METERS) objView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_KILOMETERS ) objView.GetWin.Open ' Buka Theme Indonesia (CID) objDataCID=SrcName.Make(dirRsc+"Indonesia.shp") objThemeCID = Theme.Make(objDataCID) objThemeCID.SetName("CID") objThemeCID.SetVisible(true) objThemeCID.SetActive(false) objLeCID = objThemeCID.GetLegend objSymCID=objLeCID.GetSymbols.get(0) objSymCID.SetColor(Color.GetWhite) objThemeCID.UpdateLegend objView.AddTheme(objThemeCID) ' Buka Theme Prov objDataProv=SrcName.Make(dirRsc+"Propinsi.shp") objThemeProv = Theme.Make(objDataProv) objThemeProv.SetName("Prov") objThemeProv.SetVisible(true) objThemeProv.SetActive(false) objLePro = objThemeProv.GetLegend objSymPro=objLePro.GetSymbols.get(0) objSymPro.SetColor(Color.GetGray) objThemeProv.UpdateLegend objView.AddTheme(objThemeProv) ' Buka Theme KabKota objDataKabKota=SrcName.Make(dirRsc+"Kabupaten.shp") objThemeKabKota = Theme.Make(objDataKabKota) objThemeKabKota.SetName("KabKota")
282
objThemeKabKota.SetVisible(true) objThemeKabKota.SetActive(false) objLeKabKota = objThemeKabKota.GetLegend objSymKabKota=objLeKabKota.GetSymbols.get(0) objSymKabKota.SetColor(color.GetYellow) objThemeKabKota.UpdateLegend objView.AddTheme(objThemeKabKota) ' Buka Theme Zoning objDataZoning=SrcName.Make(dirRsc+"Zonasi.shp") objThemeZoning = Theme.Make(objDataZoning) objThemeZoning.SetName("Zoning") objThemeZoning.SetVisible(true) objThemeZoning.SetActive(true) objLeZoning = objThemeZoning.GetLegend objSymZoning=objLeZoning.GetSymbols.get(0) objSymZoning.SetColor(color.GetCyan) objThemeZoning.UpdateLegend objView.AddTheme(objThemeZoning) ' ***************************************Buka Theme Jalan objDataJalan=SrcName.Make(dirRsc+"JalanGabung.shp") objThemeJalan = Theme.Make(objDataJalan) objThemeJalan.SetName("Jalan") objThemeJalan.SetVisible(true) objThemeJalan.SetActive(False) objLeJalan = objThemeJalan.GetLegend objSymJalan=objLeJalan.GetSymbols.get(0) objSymJalan.SetColor(Color.GetBlack) objSymJalan.SetSize(2) objThemeJalan.UpdateLegend objView.AddTheme(objThemeJalan) '****************************************Buka Alternative objDataAlt1=SrcName.Make(dirRsc+"Theme1.shp") objThemeAlt1 = Theme.Make(objDataAlt1) objThemeAlt1.SetName("Alternativ") objThemeAlt1.SetVisible(true) objThemeAlt1.SetActive(false) objLeAlt1 = objThemeAlt1.GetLegend objSymAlt1=objLeAlt1.GetSymbols.get(0) objSymAlt1.SetColor(Color.GetRed) objSymAlt1.SetSize(8) objThemeAlt1.UpdateLegend objView.AddTheme(objThemeAlt1)
Theme
'****************************************Buka Theme Dermaga objDataDermaga=SrcName.Make(dirRsc+"Dermaga.shp") objThemeDermaga = Theme.Make(objDataDermaga) objThemeDermaga.SetName("Dermaga") objThemeDermaga.SetVisible(true)
283
objThemeDermaga.SetActive(false) objLeDermaga = objThemeDermaga.GetLegend objSymDermaga=objLeDermaga.GetSymbols.get(0) objSymDermaga.SetColor(Color.GetBlue) objSymDermaga.SetSize(8) objThemeDermaga.UpdateLegend objView.AddTheme(objThemeDermaga) '****************************************Buka Theme Kks Node (Perkebunan) objDataKksNode=SrcName.Make(dirRsc+"Kks_node.shp") objThemeKksNode = Theme.Make(objDataKksNode) objThemeKksNode.SetName("Perkebunan") objThemeKksNode.SetVisible(true) objThemeKksNode.SetActive(true) objLeKksNode = objThemeKksNode.GetLegend objSymKksNode=objLeKksNode.GetSymbols.get(0) objSymKksNode.SetColor(Color.GetGreen) objSymKksNode.SetSize(8) objThemeKksNode.UpdateLegend objView.AddTheme(objThemeKksNode) '****************************************Buka Theme (Pabrik) objDataPKS=SrcName.Make(dirRsc+"Pks.shp") objThemePKS = Theme.Make(objDataPKS) objThemePKS.SetName("Pabrik") objThemePKS.SetVisible(true) objThemePKS.SetActive(false) objLePKS = objThemePKS.GetLegend objSymPKS=objLePKS.GetSymbols.get(0) objSymPKS.SetColor(Color.GetGray) objSymPKS.SetSize(8) objThemePKS.UpdateLegend objView.AddTheme(objThemePKS) objSimbol = Symbol.Make(#SYMBOL_MARKER) objSimbol.SetStyle(#BASICMARKER_STYLE_PATTERN) objSimbol.SetColor(Color.GetRed) objSimbol.SetSize(40) objGrafik = objView.GetGraphics objTabelTemp = av.GetProject.FindDoc("Tabel Kebun") if(objTabelTemp <> nil) then av.GetProject.RemoveDoc(objTabelTemp) end objTabelTemp = av.GetProject.FindDoc("Tabel Gabungan") if(objTabelTemp <> nil) then av.GetProject.RemoveDoc(objTabelTemp) end objFTabZona= objThemeZoning.GetFTab objFTabKebun = objThemeKksNode.GetFtab
PKS
284
objBitmap = objFTabKebun.GetSelection objTabel = Table.Make(objFTabKebun) objFieldShapeKebun = objFTabKebun.FindField("Shape") objTabel.setName("Tabel Kebun") objTabel.GetWin.Open objZonaUt = objFTabZona.FindField("ZonaID") if (objFTabZona.StartEditingWithRecovery) then nZona = 0 saveEdits = False for each index in objFTabZona nZona = nZona + 1 if (objFTabZona.returnvalue(objZonaUt,index)<>nZona) then objFTabZona.BeginTransaction objFTabZona.SetValue(objZonaUt,index,nZona) objFTabZona.EndTransaction saveEdits = TRUE end end end objFTabZona.StopEditingWithRecovery(saveEdits) objTabelTempz = av.GetProject.FindDoc("Tabel Zona") if(objTabelTempz <> nil) then av.GetProject.RemoveDoc(objTabelTempz) end objTabelZona=Table.Make(objFTabZona) objTabelZona.SetName("Tabel Zona") objFieldShapeZona = objFTabZona.FindField("Shape") fieldKX = objFTabKebun.findfield("PEMBILX") fieldKY = objFTabKebun.findfield("PEMBILY") fieldKap = objFTabKebun.findfield("KAPASITAS") objFTabKebun.Join(objFieldShapeKebun,objFTabZona,objFieldSha peZona) objfieldZona = objFTabKebun.FindField("ZonaID") objTabGab = Table.Make(objFTabKebun) OBJTabGab.SetName("Tabel Gabungan") objTabGab.GetWin.Open objGrafik.empty for each idz in objFTabZona Zona = objFTabZona.ReturnValue(objZonaUt,idz) sumKX = 0 sumKY = 0 SumKapa = 0 for each idx in objFTabKebun if (objFTabKebun.returnvalue(objfieldZona,idx)=Zona) then NKX = objFTabKebun.returnvalue(fieldKX,idx) NKY = objFTabKebun.returnvalue(fieldKY,idx)
285
NKapa = objFTabKebun.returnvalue(fieldKap,idx) else NKX =0 NKY = 0 NKapa = 0 end sumKX = SumKX + NKX sumKY = sumKY + NKY SumKapa = SumKapa + NKapa end NeoX = sumKX/sumKapa NeoY = sumKY/sumKapa objThemeAlt1.SetActive(True) objTitik=Point.Make(neoX,NeoY) objGrafik = objView.GetGraphics objAlter = GraphicShape.Make(objTitik) objAlter.setSymbol(objSimbol) objGrafik.Add(objAlter) end av.GetActiveDoc.GetWin.Maximize Script Editdb objNamaAplikasi ="ArcView-Client, Ms.Access-Server" Av.SetName(objNamaAplikasi) objDir1 = "E:\Program Files\Microsoft Office\Office11\" objDir2 = "D:\ProGISGun\" objNamaFileAplikasiMsAccess = objDir1 + "MsAccess.exe" objNamaDataMsAccess = objDir2 + "dbedit.mde" objParameter=objNamaFileAplikasiMsAccess objNamaDataMsAccess objNamaServer ="MsAccess" objNamaTopik = "System" objClient = DDEClient.Make(objNamaServer, objNamaTopik) if(objClient.HasError)then System.Execute(objParameter) objClient=DDeClient.Make(objNamaServer,objNamaTopik) end
++
Script Kalkulasi.Alokasi NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan"
286
objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then vNamadbf = dirRsc + "PENAMPUN.dbf" vTabPenampung = VTab.Make(vNamadbf.AsFileName, True, False) if (vTabPenampung.StartEditingWithRecovery) then vTabPenampung.BeginTransaction for each idxPng in vTabPenampung vTabPenampung.removeRecord(idxPng) end vTabPenampung.EndTransaction vTabPenampung.StopEditingWithRecovery(True) end objThemeJalan= objView.FindTheme("Jalan") objThemeKksNode= objView.FindTheme("Perkebunan") objThemePKS= objView.FindTheme("Pabrik") objFTabJalan=objThemeJalan.GetFTab objNetDef=NetDef.Make(objFTabJalan) objNetwork=Network.Make(objNetDef) '***********************************Konversi Jarak / Biaya jadi cost objFieldCoast = objFTabJalan.FindField("Cost") objFieldJarak = objFTabJalan.FindField("Jarak") objFieldKecepatan = objFTabJalan.FindField("Kecepatan") objFieldWaktu = objFTabJalan.FindField("Waktu") objListPilih = {"Biaya", "Waktu"} vPilihan = msgbox.Choiceasstring(objListPilih,"Pilih Komponen Cost","Perhatian") if(vPilihan = Nil) then exit elseif(vPilihan = "Biaya") then if (objFTabJalan.StartEditingWithRecovery) then for each idxx in objFTabJalan vKec = objFTabJalan.ReturnValue(objFieldKecepatan,idxx) if(vKec = 80) then vBiaya = 500 elseif(vKec = 70) then vBiaya = 600 elseif(vKec = 50) then vBiaya = 750 elseif(vKec = 40) then vBiaya = 900 else vBiaya = 1000 end vBiaya = vBiaya * objFTabJalan.ReturnValue(objFieldJarak,idxx) / 1000 objFTabJalan.BeginTransaction objFTabJalan.SetValue(objFieldCoast,idxx,vbiaya) objFTabJalan.EndTransaction end end
287
objFTabJalan.StopEditingWithRecovery(True) else if (objFTabJalan.StartEditingWithRecovery) then for each idxx in objFTabJalan vKec = objFTabJalan.ReturnValue(objFieldKecepatan,idxx) vWaktu = objFTabJalan.ReturnValue(objFieldJarak,idxx) / 1000 / vKec objFTabJalan.BeginTransaction objFTabJalan.SetValue(objFieldCoast,idxx,vWaktu) objFTabJalan.EndTransaction end end objFTabJalan.StopEditingWithRecovery(True) end '***************************Tentukan Field Cost objCostFieldList=objNetDef.GetCostFields Pertanyaan="Pilih field yang akan dijadikan sebagai COST" Judul="Pemilihan Cost" if(objCostFieldList.Count>1) then objCostField=msgbox.Choice(objCostFieldList,Pertanyaan,Judul ) else ObjCostField=objCostFieldList.Get(0) end objNetwork.SetCostField(objCostField) objFTabFasilitas = objThemePKS.GetFtab objFieldLabelFasilitas = ObjThemePKS.GetLabelField objFieldShapeFasilitas = objFTabFasilitas.FindField("Shape") objListfasilitas = {} for each idx in objFTabFasilitas objFasilitas = objFTabFasilitas.ReturnValue(objFieldShapeFasilitas, idx) if(objNetwork.isPointOnNetWork(objFasilitas)) then objFasilitas.SetName(objFTabFasilitas.ReturnValueString(objF ieldLabelFasilitas,idx)) objListFasilitas.Add(objFasilitas) end end objFTabEvent = objThemeKKSNode.GetFTab objFieldLabelEvent = objThemeKKSNode.GetLabelField objFieldShapeEvent = objFTabEvent.FindField("Shape") objListEvent = {} for each index in objFTabEvent objEvent = objFTabEvent.ReturnValue(objFieldShapeEvent, index) if(objNetwork.IsPointOnNetWork(objEvent)) then
288
objEvent.SetName(objFTabEvent.ReturnValueString(objFieldLabe lEvent, Index)) objListEvent.add(objEvent) end end JmlFasilitas = 13 CutOff = 0 EventKeFasilitas = True objListRute = ObjNetwork.FindClosestFac(objListEvent,objListFasilitas,jmlF asilitas,CutOff, EventKeFasilitas) if(not(objNetwork.HasClosestFacResult))then msgbox.Error("Solusi rute terdekat tidak tercapai!!!", "Kesalahan") exit end StringListHasil = {} ListIndeksIJ = {} ListStrTulist={} for each i in 0..(objListEvent.Count -1) for each j in 1..objListRute.Get(i) NoFasilitas = objNetwork.GetClosestFacIndex(i,j) str = "Dari " ++objListEvent.Get(i).GetName++ ", Ke " ++objListFasilitas.Get(NoFasilitas).GetName++ " Cost :" ++objNetwork.GetClosestFacPathCost(i,j).asString strtls = objListEvent.Get(i).GetName++ ", " ++objListFasilitas.Get(NoFasilitas).GetName++ ", " ++objNetwork.GetClosestFacPathCost(i,j).asString stringListHasil.Add(str) ListIndeksIJ.add({i,j}) end end objRuteTerpilih = objNetwork.ReturnClosestFacShape(2, 1) NamaFileRute = dirRsc+ "rute.shp" objNetwork.WriteClosestFac(namaFileRute.AsFileName) objNamaAplikasi ="ArcView-Client, Ms.Access-Server" Av.SetName(objNamaAplikasi) objDir1 = "E:\Program Files\Microsoft Office\Office11\" objDir2 = "D:\ProGISGun\" objNamaFileAplikasiMsAccess = objDir1 + "MsAccess.exe" objNamaDataMsAccess = objDir2 + "kalkulasi.mde" objParameter=objNamaFileAplikasiMsAccess ++ objNamaDataMsAccess objNamaServer ="MsAccess" objNamaTopik = "System" objClient = DDEClient.Make(objNamaServer, objNamaTopik) if(objClient.HasError)then
289
System.Execute(objParameter) objClient=DDeClient.Make(objNamaServer,objNamaTopik) end end Script Kalkulasi.alokasi.dermaga NamaExt="Network Analyst" objExt = extension.find(NamaExt) if (objExt=NIL) then msgbox.info(NamaExt++ ", belum diaktifkan...", "Perhatian") objExt = Extension.Open("$AVEXT/network.avx".AsFileName) end dirRsc="D:\DATA GIS\" ' NamaView= "Jaringan Jalan" objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then vNamadbf = dirRsc + "PENAMPUN.dbf" vTabPenampung = VTab.Make(vNamadbf.AsFileName, True, False) if (vTabPenampung.StartEditingWithRecovery) then vTabPenampung.BeginTransaction for each idxPng in vTabPenampung vTabPenampung.removeRecord(idxPng) end vTabPenampung.EndTransaction vTabPenampung.StopEditingWithRecovery(True) end objThemeJalan= objView.FindTheme("Jalan") objThemeDermaga= objView.FindTheme("Dermaga") objThemePKS= objView.FindTheme("Pabrik") objFTabJalan=objThemeJalan.GetFTab objNetDef=NetDef.Make(objFTabJalan) objNetwork=Network.Make(objNetDef) '***********************************Konversi Jarak / Biaya jadi cost objFieldCoast = objFTabJalan.FindField("Cost") objFieldJarak = objFTabJalan.FindField("Jarak") objFieldKecepatan = objFTabJalan.FindField("Kecepatan") objFieldWaktu = objFTabJalan.FindField("Waktu") objListPilih = {"Biaya", "Waktu"} vPilihan = msgbox.Choiceasstring(objListPilih,"Pilih komponen Cost","Perhatian") if(vPilihan = NIL) then exit elseif(vPilihan = "Biaya") then if (objFTabJalan.StartEditingWithRecovery) then for each idxx in objFTabJalan vKec = objFTabJalan.ReturnValue(objFieldKecepatan,idxx)
290
if(vKec = 80) then vBiaya = 500 elseif(vKec = 70) then vBiaya = 600 elseif(vKec = 50) then vBiaya = 750 elseif(vKec = 40) then vBiaya = 900 else vBiaya = 1000 end vBiaya = vBiaya * objFTabJalan.ReturnValue(objFieldJarak,idxx) / 1000 objFTabJalan.BeginTransaction objFTabJalan.SetValue(objFieldCoast,idxx,vbiaya) objFTabJalan.EndTransaction end end objFTabJalan.StopEditingWithRecovery(True) else if (objFTabJalan.StartEditingWithRecovery) then for each idxx in objFTabJalan vKec = objFTabJalan.ReturnValue(objFieldKecepatan,idxx) vWaktu = objFTabJalan.ReturnValue(objFieldJarak,idxx) / 1000 / vKec objFTabJalan.BeginTransaction objFTabJalan.SetValue(objFieldCoast,idxx,vWaktu) objFTabJalan.EndTransaction end end objFTabJalan.StopEditingWithRecovery(True) end '***************************Tentukan Field Cost objCostFieldList=objNetDef.GetCostFields Pertanyaan="Pilih field yang akan dijadikan sebagai COST" Judul="Pemilihan Cost" if(objCostFieldList.Count>1) then objCostField=msgbox.Choice(objCostFieldList,Pertanyaan,Judul ) else ObjCostField=objCostFieldList.Get(0) end objFTabFasilitas = objThemeDermaga.GetFtab objFieldLabelFasilitas = ObjThemeDermaga.GetLabelField objFieldShapeFasilitas = objFTabFasilitas.FindField("Shape") objListfasilitas = {} for each idx in objFTabFasilitas objFasilitas = objFTabFasilitas.ReturnValue(objFieldShapeFasilitas, idx) if(objNetwork.isPointOnNetWork(objFasilitas)) then
291
objFasilitas.SetName(objFTabFasilitas.ReturnValueString(objF ieldLabelFasilitas,idx)) objListFasilitas.Add(objFasilitas) end end objFTabEvent = objThemePKS.GetFTab objFieldLabelEvent = objThemePKS.GetLabelField objFieldShapeEvent = objFTabEvent.FindField("Shape") objListEvent = {} for each index in objFTabEvent objEvent = objFTabEvent.ReturnValue(objFieldShapeEvent, index) if(objNetwork.IsPointOnNetWork(objEvent)) then objEvent.SetName(objFTabEvent.ReturnValueString(objFieldLabe lEvent, Index)) objListEvent.add(objEvent) end end JmlFasilitas = 3 CutOff = 0 EventKeFasilitas = True objListRute = ObjNetwork.FindClosestFac(objListEvent,objListFasilitas,jmlF asilitas,CutOff, EventKeFasilitas) if(not(objNetwork.HasClosestFacResult))then msgbox.Error("Solusi rute terdekat tidak tercapai!!!", "Kesalahan") exit end StringListHasil = {} ListIndeksIJ = {} objNamaFile = dirRsc+ "JarakPD.csv" objOpenFile=LineFile.Make(objNamaFile.AsFileName, #FILE_PERM_WRITE) objOpenFile.writeElt("Pabrik, Dermaga, Cost") for each i in 0..(objListEvent.Count -1) for each j in 1..objListRute.Get(i) NoFasilitas = objNetwork.GetClosestFacIndex(i,j) str = "Dari " ++objListEvent.Get(i).GetName++ ", Ke " ++objListFasilitas.Get(NoFasilitas).GetName++ " Cost :" ++objNetwork.GetClosestFacPathCost(i,j).asString strtls = objListEvent.Get(i).GetName++ ", " ++objListFasilitas.Get(NoFasilitas).GetName++ ", " ++objNetwork.GetClosestFacPathCost(i,j).asString stringListHasil.Add(str) objOpenFile.writeElt(strtls) ListIndeksIJ.add({i,j}) end end
292
objRuteTerpilih = objNetwork.ReturnClosestFacShape(2, 1) NamaFileRute = dirRsc+ "rute.shp" objNetwork.WriteClosestFac(namaFileRute.AsFileName) objNamaAplikasi ="ArcView-Client, Ms.Access-Server" Av.SetName(objNamaAplikasi) objDir1 = "E:\Program Files\Microsoft Office\Office11\" objDir2 = "D:\ProGISGun\" objNamaFileAplikasiMsAccess = objDir1 + "MsAccess.exe" objNamaDataMsAccess = objDir2 + "kalkulasiPD.mde" objParameter=objNamaFileAplikasiMsAccess ++ objNamaDataMsAccess objNamaServer ="MsAccess" objNamaTopik = "System" objClient = DDEClient.Make(objNamaServer, objNamaTopik) if(objClient.HasError)then System.Execute(objParameter) objClient=DDeClient.Make(objNamaServer,objNamaTopik) end end Script Visualisasi.Alokasi '**************************membuat tampilan garis alokasi av.Run("scrview","") dirRsc="D:\DATA GIS\" NamaView= "Jaringan Jalan" objView = Av.GetProject.FindDoc(NamaView) if(objView <> NIL) then objThemeJalan= objView.FindTheme("Jalan") objThemeKksNode= objView.FindTheme("Perkebunan") objThemePKS= objView.FindTheme("Pabrik") objThemeDermaga= objView.FindTheme("Dermaga") vNamadbf = dirRsc + "PENAMPUN.dbf" vTabPenampung = VTab.Make(vNamadbf.AsFileName, True, False) objFldDariPnpg = vTabPenampung.FindField("dari") objFldTjPnpg = vTabPenampung.FindField("Tujuan") strKode = vTabPenampung.ReturnValue(objFldDariPnpg,1) if(strKode.Left(3)="PKS") then objFTabDari = objThemePKS.GetFTab objFTabTujuan = objThemeDermaga.GetFtab else objFTabDari = objThemeKksNode.GetFTab objFTabTujuan = objThemePKS.GetFtab end
293
'objTabPenampung = Table.Make(vTabPenampung) objFldShapeDari = objFTabDari.findField("Shape") objFldKodeDari = objFTabDari.findField("Kode") objFldShapeTjn = objFTabTujuan.FindField("Shape") objFldKodeTjn = objFTabTujuan.FindField("Kode") objFldDariPnpg = vTabPenampung.FindField("dari") objFldTjPnpg = vTabPenampung.FindField("Tujuan") objGrafik = objView.GetGraphics for each idxpng in vTabPenampung vDari = vTabPenampung.ReturnValue(objFldDariPnpg,idxpng) for each idxdr in objFTabDari if (objFTabDari.ReturnValue(objFldKodeDari,idxdr)=vDari) then objTitikDari = objFTabDari.ReturnValue(objFldShapeDari, idxdr) DariX = objTitikDari.GetX DariY = objTitikDari.GetY objAsal=Point.make(DariX,DariY) end end vTujuan = vTabPenampung.ReturnValue(objFldTjPnpg,idxpng) for each idxtj in objFTabTujuan if (objFTabTujuan.ReturnValue(objFldKodeTjn, idxtj)=vTujuan) then objTitikTujuan=objFTabTujuan.ReturnValue(objFldShapeTjn, idxtj) TujuanX = objTitikTujuan.GetX TujuanY = objTitikTujuan.GetY objTujuan = Point.Make(TujuanX, TujuanY) end end objGeoGaris = Line.Make(objTitikDari, objTitikTujuan) objGaris = GraphicShape.Make(objGeoGaris) objgaris.getSymbol.setcolor(color.getred) objgaris.getsymbol.setsize(2) objGrafik.Add(objGaris) objview.invalidate end end MSAccess Form Edit Dermaga
294
VBA Script Option Compare Database Private Sub btSebelum_Click() On Error GoTo Err_btSebelum_Click 'Me.btBerikut.Enabled = True DoCmd.GoToRecord , , acPrevious Exit_btSebelum_Click: Exit Sub Err_btSebelum_Click: MsgBox "First Record!!!", , Me.Caption Resume Exit_btSebelum_Click End Sub Private Sub btBerikut_Click() On Error GoTo Err_btBerikut_Click 'Me.btSebelum.Enabled = True DoCmd.GoToRecord , , acNext Exit_btBerikut_Click: Exit Sub Err_btBerikut_Click: MsgBox "Last Record!!!", , Me.Caption
295
Resume Exit_btBerikut_Click End Sub Private Sub btKeluar_Click() On Error GoTo Err_btKeluar_Click Tutup DoCmd.Close acForm, Me.Name Exit_btKeluar_Click: Exit Sub Err_btKeluar_Click: MsgBox Err.Description, , Me.Caption Resume Exit_btKeluar_Click End Sub Private Sub Combo21_AfterUpdate() ' Find the record that matches the control. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ID] = " & Str(Nz(Me![Combo21], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub Private Sub Form_Current() On Error GoTo SalahBookmark Dim rs As DAO.Recordset Dim Sebelum As Boolean Dim Berikut As Boolean Set rs = Me.RecordsetClone If rs.RecordCount > 0 Then rs.Bookmark = Me.Bookmark TombolNav rs, Sebelum, Berikut Me.btSebelum.Enabled = Sebelum Me.btBerikut.Enabled = Berikut Else Me.btSebelum.Enabled = False Me.btBerikut.Enabled = False End If Me.Repaint KeluarSub: Exit Sub SalahBookmark: Resume KeluarSub End Sub
296
Form Edit Kebun
VBA Script Option Compare Database Private Sub btSebelum_Click() On Error GoTo Err_btSebelum_Click 'Me.btBerikut.Enabled = True DoCmd.GoToRecord , , acPrevious Exit_btSebelum_Click: Exit Sub Err_btSebelum_Click: MsgBox "First Record!!!", , Me.Caption Resume Exit_btSebelum_Click End Sub Private Sub btBerikut_Click() On Error GoTo Err_btBerikut_Click 'Me.btSebelum.Enabled = True DoCmd.GoToRecord , , acNext Exit_btBerikut_Click: Exit Sub Err_btBerikut_Click:
297
MsgBox "Last Record!!!", , Me.Caption Resume Exit_btBerikut_Click End Sub Private Sub btKeluar_Click() On Error GoTo Err_btKeluar_Click Tutup DoCmd.Close acForm, Me.Name Exit_btKeluar_Click: Exit Sub Err_btKeluar_Click: MsgBox Err.Description, , Me.Caption Resume Exit_btKeluar_Click End Sub Private Sub Combo25_AfterUpdate() ' Find the record that matches the control. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ID] = " & Str(Nz(Me![Combo25], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub Private Sub Form_Current() On Error GoTo SalahBookmark Dim rs As DAO.Recordset Dim Sebelum As Boolean Dim Berikut As Boolean Set rs = Me.RecordsetClone If rs.RecordCount > 0 Then rs.Bookmark = Me.Bookmark TombolNav rs, Sebelum, Berikut Me.btSebelum.Enabled = Sebelum Me.btBerikut.Enabled = Berikut Else Me.btSebelum.Enabled = False Me.btBerikut.Enabled = False End If Me.Repaint KeluarSub: Exit Sub SalahBookmark: Resume KeluarSub
298
End Sub Private Sub KAPASITAS_AfterUpdate() Me.PEMBILX = Me.KAPASITAS * Me.X Me.PEMBILY = Me.KAPASITAS * Me.Y End Sub Form Edit Pabrik
VBA Script Option Compare Database Private Sub btSebelum_Click() On Error GoTo Err_btSebelum_Click 'Me.btBerikut.Enabled = True DoCmd.GoToRecord , , acPrevious Exit_btSebelum_Click: Exit Sub Err_btSebelum_Click: MsgBox "First Record!!!", , Me.Caption Resume Exit_btSebelum_Click End Sub Private Sub btBerikut_Click() On Error GoTo Err_btBerikut_Click
299
'Me.btSebelum.Enabled = True DoCmd.GoToRecord , , acNext Exit_btBerikut_Click: Exit Sub Err_btBerikut_Click: MsgBox "Last Record!!!", , Me.Caption Resume Exit_btBerikut_Click End Sub Private Sub btKeluar_Click() On Error GoTo Err_btKeluar_Click Tutup DoCmd.Close acForm, Me.Name Exit_btKeluar_Click: Exit Sub Err_btKeluar_Click: MsgBox Err.Description, , Me.Caption Resume Exit_btKeluar_Click End Sub Private Sub Combo21_AfterUpdate() ' Find the record that matches the control. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ID] = " & Str(Nz(Me![Combo21], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub Private Sub Form_Current() On Error GoTo SalahBookmark Dim rs As DAO.Recordset Dim Sebelum As Boolean Dim Berikut As Boolean Set rs = Me.RecordsetClone If rs.RecordCount > 0 Then rs.Bookmark = Me.Bookmark TombolNav rs, Sebelum, Berikut Me.btSebelum.Enabled = Sebelum Me.btBerikut.Enabled = Berikut Else Me.btSebelum.Enabled = False Me.btBerikut.Enabled = False
300
End If Me.Repaint KeluarSub: Exit Sub SalahBookmark: Resume KeluarSub End Sub Form Kalkulasi Alokasi
VBA Script Option Compare Database Private Sub btProses_Click() Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Dim rs3 As DAO.Recordset Dim rs4 As DAO.Recordset Dim dbs As DAO.Database Dim vThnSmp As Double Dim vThnJln As Double Dim i As Integer Dim j As Long Dim k As Long Dim l As Integer Dim nRec As Long Dim nPabrik As Integer Dim nKebun As Integer Dim x As Integer Dim y As Integer Dim SisaPKS As Double Dim SisaKKS As Double Dim Tempatkan As Double Dim nPKS As Integer Dim nKKS As Integer Dim vpersen As Double Dim AlokasiPKS() As Double Dim AlokasiKKS() As Double Dim Obj As New Excel.Application Dim wrkBook As Excel.Workbook Dim wrkSheet As Excel.Worksheet Dim stJudul As String
301
Dim Dim Dim Dim Dim Dim Dim
vBaris As Long NoKolom As Integer vSheet As Integer Kol1 As Integer Kol2 As Integer BrsTerakhir As Long Benar As Boolean
'*********************************************************** ******Kalkulasi Alokasi vThnJln = Val(Me.ThnMulai) Set dbs = Application.CurrentDb() Set rs1 = dbs.OpenRecordset("SELECT rute.EVT_LABEL AS KKS, rute.FAC_LABEL AS PKS, rute.COST" & _ " FROM rute" & _ " ORDER BY rute.COST;") If rs1.RecordCount > 0 Then rs1.MoveLast nRec = rs1.RecordCount Set rs2 = dbs.OpenRecordset("select * from kks_node;") If rs2.RecordCount > 0 Then rs2.MoveLast nKebun = rs2.RecordCount ReDim AlokasiKKS(nKebun) End If Set rs3 = dbs.OpenRecordset("select * from pks;") If rs3.RecordCount > 0 Then rs3.MoveLast nPabrik = rs3.RecordCount ReDim AlokasiPKS(nPabrik) End If Kosongkan: Set rs2 = dbs.OpenRecordset("select * from tbAlokasi" & _ " order by tahun, kebun, pabrik") If rs2.RecordCount > 0 Then rs2.MoveFirst i = 0 On Error Resume Next While Not rs2.EOF() i = i + 1 rs2.Delete If Err.Number <> 0 Then For j = 1 To 10000 Next i = 0 GoTo Kosongkan
302
End If rs2.MoveNext If i Mod 1500 = 0 Then For j = 1 To 10000 Next i = 0 End If Wend For j = 1 To 10000 Next End If While vThnJln <= Me.ThnSampai j = 0 For i = 1 To nPabrik AlokasiPKS(i) = 0 Next For i = 1 To nKebun AlokasiKKS(i) = 0 Next rs1.MoveFirst j = 0 l = 0 For x = 1 To nKebun For y = 1 To nPabrik l = l + 1 rs2.AddNew rs2![tahun] = vThnJln rs2![kebun] = "KKS" & Format(x, "000") rs2![pabrik] = "PKS" & Format(y, "000") rs2![alokasi] = 0 rs2.Update If l Mod 500 = 0 Then l = 0 For k = 1 To 10000 Next End If Next Next Set rs3 = dbs.OpenRecordset("SELECT * FROM kapkks" & _ " WHERE(((tahun)=" & vThnJln & "))" & _ " ORDER BY kebun;") Set rs4 = dbs.OpenRecordset("SELECT * FROM kappks" & _ " WHERE(((tahun)=" & vThnJln & "))" & _ " ORDER BY pabrik;") While Not rs1.EOF() j = j + 1 If Int(j / nRec * 10000) <> vpersen Then vpersen = Int(j / nRec * 10000) Me.indikator.Width = vpersen / 10000 Me.wadah.Width
*
303
Me.Label17.Caption = "Kalkulasi tahun " & Format(vThnJln, "0000") & " : " & Format(vpersen / 10000, "Percent") Me.Repaint End If rs3.FindFirst "[kebun]='" & rs1![KKS] & "'" rs4.FindFirst "[pabrik]='" & rs1![pks] & "'" nPKS = Val(Right(rs1![pks], 3)) nKKS = Val(Right(rs1![KKS], 3)) SisaPKS = rs4![kappabrik] - AlokasiPKS(nPKS) SisaKKS = rs3![kapkebun] - AlokasiKKS(nKKS) Tempatkan = 0 If SisaPKS > 0 Then If SisaPKS >= SisaKKS Then Tempatkan = SisaKKS Else Tempatkan = SisaPKS End If Else Tempatkan = 0 End If AlokasiPKS(nPKS) = AlokasiPKS(nPKS) + Tempatkan AlokasiKKS(nKKS) = AlokasiKKS(nKKS) + Tempatkan rs2.FindFirst "[tahun] & [kebun] & [pabrik]='" & vThnJln & rs1![KKS] & rs1![pks] & "'" If rs2.NoMatch Then Else rs2.Edit rs2![alokasi] = Tempatkan rs2.Update End If If j Mod 500 = 0 Then For k = 1 To 10000 Next End If rs1.MoveNext Wend vThnJln = vThnJln + 1 Wend End If '*********************************************************** Laporan '*********************************************************** ****Alokasi Set rs1 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.kebun, tbAlokasi.pabrik, rute.COST, tbAlokasi.alokasi" & _ " FROM rute INNER JOIN tbAlokasi ON (rute.FAC_LABEL = tbAlokasi.pabrik) AND (rute.EVT_LABEL = tbAlokasi.kebun)" & _
304
" ORDER BY tbAlokasi.tahun, tbAlokasi.kebun, tbAlokasi.pabrik;") If rs1.RecordCount > 0 Then On Error Resume Next Set Obj = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set Obj = CreateObject("excel.application") End If rs1.MoveLast nRec = rs1.RecordCount Set wrkBook = Obj.Workbooks.Add Set wrkSheet = wrkBook.ActiveSheet wrkSheet.Name = "ALOKASI" vBaris = 5 wrkSheet.Cells(vBaris, 1) = "Dari" wrkSheet.Cells(vBaris, 2) = "Tujuan" wrkSheet.Cells(vBaris, 3) = "Biaya per Ton" wrkSheet.Cells(vBaris, 4) = "Alokasi dan Biaya" vBaris = vBaris + 1 NoKolom = 3 For k = Me.ThnMulai To Me.ThnSampai NoKolom = NoKolom + 1 Kol1 = (k - Me.ThnMulai) * 2 + 4 Kol2 = (k - Me.ThnMulai) * 2 + 4 + 1 wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 2 + 4) = k wrkSheet.Cells(vBaris + 1, Kol1) = "Alokasi" wrkSheet.Cells(vBaris + 1, Kol2) = "Biaya" wrkSheet.Range(colHuruf(Kol1) & Trim(Str(vBaris)) & ":" & colHuruf(Kol2) & Trim(Str(vBaris))).MergeCells = True Next wrkSheet.Range("A5:A7").MergeCells = True wrkSheet.Range("B5:B7").MergeCells = True wrkSheet.Range("C5:C7").MergeCells = True wrkSheet.Range("D5:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 5) & "5").MergeCells = True vBaris = vBaris + 2 For j = 1 To (Me.ThnSampai - Me.ThnMulai) * 2 + 6 wrkSheet.Cells(vBaris, j) = j Next With wrkSheet.Range("A5:" & colHuruf(Kol2) & "8") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Size = 12 .Font.Bold = True .WrapText = True End With NoKolom = 4 rs1.MoveFirst j = 0 k = 0 While Not rs1.EOF() j = j + 1
305
If Int(j / nRec * 10000) <> vpersen Then vpersen = Int(j / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Alokasi : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs1![tahun] Then k = rs1![tahun] vBaris = 8 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs1![kebun] wrkSheet.Cells(vBaris, 2) = rs1![pabrik] wrkSheet.Cells(vBaris, 3) = rs1![COST] wrkSheet.Cells(vBaris, (rs1![tahun] - Me.ThnMulai) * 2 + NoKolom) = rs1![alokasi] wrkSheet.Cells(vBaris, (rs1![tahun] - Me.ThnMulai) * 2 + NoKolom + 1) = "=" & colHuruf((rs1![tahun] Me.ThnMulai) * 2 + NoKolom) & Trim(Str(vBaris)) & " * C" & Trim(Str(vBaris)) wrkSheet.Cells(vBaris, (Me.ThnSampai - Me.ThnMulai) * 2 + 6) = "=sum(D" & Trim(Str(vBaris)) & ":" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 5) & Trim(Str(vBaris)) & ")" rs1.MoveNext Wend wrkSheet.Range("A8:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 6) & Trim(Str(vBaris))).Sort Key1:=Range(colHuruf((Me.ThnSampai - Me.ThnMulai) * 2 + 6) & "8"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal vBaris = vBaris + 1 wrkSheet.Range("8:8").AutoFilter For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, NoKolom + (k - Me.ThnMulai) * 2) = "=SUBTOTAL(9," & colHuruf(NoKolom + (k - Me.ThnMulai) * 2) & "7:" & colHuruf(NoKolom + (k - Me.ThnMulai) * 2) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, NoKolom + (k - Me.ThnMulai) * 2 + 1) = "=SUBTOTAL(9," & colHuruf(NoKolom + (k Me.ThnMulai) * 2 + 1) & "7:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 + 1) & Trim(Str(vBaris - 1)) & ")" Next With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":C" & Trim(Str(vBaris))) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter
306
.Font.Bold = True End With wrkSheet.Range("C9:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1) & Trim(Str(vBaris))).NumberFormat "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1)).EntireColumn.AutoFit wrkSheet.Range("A5:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1) & Trim(Str(vBaris))).Borders.Weight Excel.XlBorderWeight.xlThin
= =
wrkSheet.Cells(vBaris, 1) = "Total"
'*********************************************************** ****Sisa kapasitas Kebun Set wrkSheet wrkBook.Sheets.Add(After:=Sheets(Sheets.Count))
=
wrkSheet.Name = "SISA-KAPASITAS-KKS" Set rs2 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.kebun, kks_node.PERUSAHAAN, kapkks.kapkebun, Sum(tbAlokasi.alokasi) AS dialokasikan" & _ " FROM kks_node INNER JOIN (kapkks INNER JOIN tbAlokasi ON (kapkks.tahun = tbAlokasi.tahun) AND (kapkks.kebun = tbAlokasi.kebun)) ON kks_node.KODE = kapkks.kebun" & _ " GROUP BY tbAlokasi.tahun, tbAlokasi.kebun, kks_node.PERUSAHAAN, kapkks.kapkebun" & _ " ORDER BY tbAlokasi.tahun, tbAlokasi.kebun;") If rs2.RecordCount > 0 Then rs2.MoveLast nRec = rs2.RecordCount rs2.MoveFirst j = 0 k = 0 wrkSheet.Cells(4, 1) = "Kebun" wrkSheet.Cells(4, 3) = "Tahun" wrkSheet.Cells(5, 1) = "Kode" wrkSheet.Cells(5, 2) = "Perusahaan" wrkSheet.Range("A4:B4").MergeCells = True wrkSheet.Range("C4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & "4").MergeCells = True wrkSheet.Range("A5:A6").MergeCells = True wrkSheet.Range("B5:B6").MergeCells = True For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(5, (k - Me.ThnMulai) * 3 + 3) = k
307
wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 3) = "Kapasitas" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 4) = "Alokasi" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 5) = "Sisa" wrkSheet.Range(colHuruf((k - Me.ThnMulai) * 3 + 3) & "5:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "5").MergeCells = True Next With wrkSheet.Range("A4:" & colHuruf((k Me.ThnMulai) * 3 + 5) & "6") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Size = 12 .Font.Bold = True End With vBaris = 6 While Not rs2.EOF() j = j + 1 If Int(j / nRec * 10000) <> vpersen Then vpersen = Int(j / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Sisa Kapasitas KKS : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs2![tahun] Then k = rs2![tahun] vBaris = 6 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs2![kebun] If IsNull(rs2![PERUSAHAAN]) Then wrkSheet.Cells(vBaris, 2) = "n/a" Else wrkSheet.Cells(vBaris, 2) = rs2![PERUSAHAAN] End If wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = rs2![kapkebun] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = rs2![dialokasikan] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris)) & "-" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris)) rs2.MoveNext Wend vBaris = vBaris + 1 With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":B" & Trim(Str(vBaris))) .MergeCells = True
308
.HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With wrkSheet.Cells(vBaris, 1) = "Total" For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 3) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 4) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris - 1)) & ")" Next wrkSheet.Range("B7:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5)).EntireColumn.AutoFit wrkSheet.Range("A4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).Borders.Weight = Excel.XlBorderWeight.xlThin End If '*********************************************************** ****Sisa SISA-DEMAND-PKS Set wrkSheet = wrkBook.Sheets.Add(After:=Sheets(Sheets.Count)) wrkSheet.Name = "SISA-DEMAND-PKS" Set rs2 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.pabrik, pks.PERUSAHAAN, kappks.kappabrik, Sum(tbAlokasi.alokasi) AS dialokasikan" & _ " FROM pks INNER JOIN (kappks INNER JOIN tbAlokasi ON (kappks.pabrik = tbAlokasi.pabrik) AND (kappks.tahun = tbAlokasi.tahun)) ON pks.KODE = kappks.pabrik" & _ " GROUP BY tbAlokasi.tahun, tbAlokasi.pabrik, pks.PERUSAHAAN, kappks.kappabrik" & _ " ORDER BY tbAlokasi.tahun, tbAlokasi.pabrik;") If rs2.RecordCount > 0 Then rs2.MoveLast nRec = rs2.RecordCount rs2.MoveFirst j = 0 k = 0 wrkSheet.Cells(4, 1) = "Pabrik" wrkSheet.Cells(4, 3) = "Tahun"
309
wrkSheet.Cells(5, 1) = "Kode" wrkSheet.Cells(5, 2) = "Perusahaan" wrkSheet.Range("A4:B4").MergeCells = True wrkSheet.Range("C4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & "4").MergeCells = True wrkSheet.Range("A5:A6").MergeCells = True wrkSheet.Range("B5:B6").MergeCells = True
-
For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(5, (k - Me.ThnMulai) * 3 + 3) = k wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 3) = "Demand" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 4) = "Alokasi" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 5) = "Sisa" wrkSheet.Range(colHuruf((k - Me.ThnMulai) * 3 + 3) & "5:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "5").MergeCells = True Next With wrkSheet.Range("A4:" & colHuruf((k Me.ThnMulai) * 3 + 5) & "6") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Size = 12 .Font.Bold = True End With vBaris = 6 While Not rs2.EOF() j = j + 1 If Int(j / nRec * 10000) <> vpersen Then vpersen = Int(j / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Sisa Demand PKS : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs2![tahun] Then k = rs2![tahun] vBaris = 6 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs2![pabrik] If IsNull(rs2![PERUSAHAAN]) Then wrkSheet.Cells(vBaris, 2) = "n/a" Else wrkSheet.Cells(vBaris, 2) = rs2![PERUSAHAAN] End If wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = rs2![kappabrik] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = rs2![dialokasikan]
310
wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris)) & "-" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris)) rs2.MoveNext Wend vBaris = vBaris + 1 With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":B" & Trim(Str(vBaris))) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With wrkSheet.Cells(vBaris, 1) = "Total" For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 3) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 4) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris - 1)) & ")" Next wrkSheet.Range("B7:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5)).EntireColumn.AutoFit wrkSheet.Range("A4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).Borders.Weight = Excel.XlBorderWeight.xlThin End If Set rs1 = dbs.OpenRecordset("SELECT tbAlokasi.kebun, tbAlokasi.pabrik" & _ " FROM tbAlokasi" & _ " GROUP BY tbAlokasi.kebun, tbAlokasi.pabrik" & _ " HAVING (((Sum(tbAlokasi.alokasi))>0))" & _ " ORDER BY tbAlokasi.pabrik, tbAlokasi.kebun;") If rs1.RecordCount > 0 Then rs1.MoveFirst Set rs2 = dbs.OpenRecordset("SELECT * FROM PENAMPUN;") i = 0 While Not rs1.EOF() i = i + 1 rs2.FindFirst "[ID] =" & i If rs2.NoMatch Then
311
rs2.AddNew rs2![ID] = i rs2![dari] = rs1![kebun] rs2![tujuan] = rs1![pabrik] rs2.Update Else rs2.Edit rs2![dari] = rs1![kebun] rs2![tujuan] = rs1![pabrik] rs2.Update End If rs1.MoveNext Wend End If wrkBook.Sheets("Alokasi").Activate Set wrkSheet = wrkBook.ActiveSheet wrkSheet.Range("H:H").Delete shift:=xlToLeft MsgBox "Selesai", vbInformation, "Perhatian" Obj.Visible = True Set wrkSheet = Nothing Set wrkBook = Nothing Set Obj = Nothing End If End Sub Private Sub Form_Close() Dim rs2 As DAO.Recordset Dim dbs As DAO.Database Dim i As Long Dim j As Long Set dbs = Application.CurrentDb() BKNKSG: Set rs2 = dbs.OpenRecordset("select * from tbAlokasi" & _ " order by tahun, kebun, pabrik") If rs2.RecordCount > 0 Then rs2.MoveFirst i = 0 On Error Resume Next While Not rs2.EOF() i = i + 1 rs2.Delete If Err.Number <> 0 Then For j = 1 To 10000 Next i = 0 GoTo BKNKSG End If
312
rs2.MoveNext If i Mod 1500 = 0 Then For j = 1 To 10000 Next i = 0 End If Wend For j = 1 To 10000 Next End If Pesu End Sub Private Sub Form_Open(Cancel As Integer) Dim rs As DAO.Recordset Dim dbs As DAO.Database Dim Txt As String Dim Ket As String Set dbs = Application.CurrentDb() rs = dbs.OpenRecordset("SELECT kapkks.tahun, Set Sum(kapkks.kapkebun) AS SumOfkapkebun" & _ " FROM kapkks" & _ " GROUP BY kapkks.tahun" & _ " ORDER BY kapkks.tahun;") If rs.RecordCount > 0 Then rs.MoveFirst Txt = ">=" & rs![tahun] Ket = "Nilai harus dari tahun " & rs![tahun] Me.ThnMulai.DefaultValue = rs![tahun] Me.ThnSampai.DefaultValue = rs![tahun] + 1 rs.MoveLast Txt = Txt & " and <=" & rs![tahun] Ket = Ket & ", sampai dengan tahun " & rs![tahun] Me.ThnMulai.ValidationRule = Txt Me.ThnMulai.ValidationText = Ket Else Me.ThnMulai.DefaultValue = "" Me.ThnMulai.ValidationRule = "" Me.ThnMulai.ValidationText = "" End If Me.Label17.Caption = "Siaga..." Me.Label17.Visible = True Me.indikator.Width = 0 Me.Repaint End Sub Private Sub ThnMulai_AfterUpdate() If Me.ThnSampai < Me.ThnMulai Then Me.ThnSampai = Me.ThnMulai Me.Label17.Caption = "Siaga..."
313
End If Me.Label17.Visible = True Me.indikator.Width = 0 Me.Repaint End Sub Private Sub ThnSampai_AfterUpdate() Me.Label17.Visible = True Me.indikator.Width = 0 Me.Repaint End Sub From Kalkulasi Alokasi (dari Pabrik ke Dermaga)
VBA Script Option Compare Database Private Sub btProses_Click() Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Dim rs3 As DAO.Recordset Dim rs4 As DAO.Recordset Dim dbs As DAO.Database Dim vThnSmp As Double Dim vThnJln As Double Dim I As Integer Dim J As Long Dim k As Long Dim l As Integer Dim nRec As Long Dim nDermaga As Integer Dim nPabrik As Integer Dim x As Integer Dim y As Integer Dim SisaPKS As Double Dim SisaLKI As Double Dim Tempatkan As Double Dim nPKS As Integer Dim nLKI As Integer Dim vpersen As Double Dim AlokasiDer() As Double Dim AlokasiPKS() As Double Dim Obj As New Excel.Application
314
Dim wrkBook As Excel.Workbook Dim wrkSheet As Excel.Worksheet Dim stJudul As String Dim vBaris As Long Dim NoKolom As Integer Dim vSheet As Integer Dim Kol1 As Integer Dim Kol2 As Integer '*********************************************************** ******Kalkulasi Alokasi Set dbs = Application.CurrentDb() If IsNull(Me.Combo5) Then Set rs1 = dbs.OpenRecordset("SELECT rute.EVT_LABEL AS PKS, rute.FAC_LABEL AS Dermaga, rute.COST" & _ " FROM rute" & _ " ORDER BY rute.COST;") Else Set rs1 = dbs.OpenRecordset("SELECT rute.EVT_LABEL AS PKS, rute.FAC_LABEL AS Dermaga, rute.COST" & _ " FROM rute" & _ " WHERE(((rute.FAC_LABEL)='" & Me.Combo5 & "'))" & _ " ORDER BY rute.COST;") End If vThnJln = Val(Me.ThnMulai) If rs1.RecordCount > 0 Then rs1.MoveLast nRec = rs1.RecordCount Set rs2 = dbs.OpenRecordset("select * from pks;") If rs2.RecordCount > 0 Then rs2.MoveLast nPabrik = rs2.RecordCount ReDim AlokasiPKS(nPabrik) End If Set rs3 = dbs.OpenRecordset("select * from dermaga;") If rs3.RecordCount > 0 Then rs3.MoveLast nDermaga = rs3.RecordCount ReDim AlokasiDer(nDermaga) End If Kosongkan: Set rs2 = dbs.OpenRecordset("select * from tbAlokasi" & _ " order by tahun, pabrik, dermaga") If rs2.RecordCount > 0 Then rs2.MoveFirst I = 0 On Error Resume Next
315
While Not rs2.EOF() I = I + 1 rs2.Delete If Err.Number <> 0 Then For J = 1 To 10000 Next I = 0 GoTo Kosongkan End If rs2.MoveNext If I Mod 1500 = 0 Then For J = 1 To 10000 Next I = 0 End If Wend For J = 1 To 10000 Next End If While vThnJln <= Me.ThnSampai J = 0 For I = 1 To nDermaga AlokasiDer(I) = 0 Next For I = 1 To nPabrik AlokasiPKS(I) = 0 Next rs1.MoveFirst J = 0 l = 0 For x = 1 To nPabrik For y = 1 To nDermaga l = l + 1 rs2.AddNew rs2![tahun] = vThnJln rs2![pabrik] = "PKS" & Format(x, "000") rs2![dermaga] = "LKI" & Format(y, "000") rs2![alokasi] = 0 rs2.Update If l Mod 500 = 0 Then l = 0 For k = 1 To 10000 Next End If Next Next Set rs3 = dbs.OpenRecordset("SELECT * FROM kappks" & _ " WHERE(((tahun)=" & vThnJln & "))" & _ " ORDER BY pabrik;")
316
Set rs4 = dbs.OpenRecordset("SELECT * FROM kapder" & _ " WHERE(((tahun)=" & vThnJln & "))" & _ " ORDER BY dermaga;") While Not rs1.EOF() J = J + 1 If Int(J / nRec * 10000) <> vpersen Then vpersen = Int(J / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Kalkulasi tahun " & Format(vThnJln, "0000") & " : " & Format(vpersen / 10000, "Percent") Me.Repaint End If rs3.FindFirst "[pabrik]='" & rs1![pks] & "'" rs4.FindFirst "[dermaga]='" & rs1![dermaga] & "'" nPKS = Val(Right(rs1![pks], 3)) nLKI = Val(Right(rs1![dermaga], 3)) SisaLKI = rs4![kapdermaga] - AlokasiDer(nLKI) SisaPKS = rs3![kappabrik] - AlokasiPKS(nPKS) Tempatkan = 0 If SisaLKI > 0 Then If SisaLKI >= SisaPKS Then Tempatkan = SisaPKS Else Tempatkan = SisaLKI End If Else Tempatkan = 0 End If AlokasiDer(nLKI) = AlokasiDer(nLKI) + Tempatkan AlokasiPKS(nPKS) = AlokasiPKS(nPKS) + Tempatkan rs2.FindFirst "[tahun] & [pabrik] & [dermaga]='" & vThnJln & rs1![pks] & rs1![dermaga] & "'" If rs2.NoMatch Then Else rs2.Edit rs2![alokasi] = Tempatkan rs2.Update End If If J Mod 500 = 0 Then For k = 1 To 10000 Next End If rs1.MoveNext Wend vThnJln = vThnJln + 1 Wend End If
317
'*********************************************************** Laporan '*********************************************************** ****Alokasi Set rs1 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.pabrik, tbAlokasi.dermaga, rute.COST, tbAlokasi.alokasi" & _ " FROM rute INNER JOIN tbAlokasi ON (rute.FAC_LABEL = tbAlokasi.dermaga) AND (rute.EVT_LABEL = tbAlokasi.pabrik)" & _ " ORDER BY tbAlokasi.tahun, tbAlokasi.pabrik, tbAlokasi.dermaga;") If rs1.RecordCount > 0 Then On Error Resume Next Set Obj = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set Obj = CreateObject("excel.application") End If rs1.MoveLast nRec = rs1.RecordCount Set wrkBook = Obj.Workbooks.Add Set wrkSheet = wrkBook.ActiveSheet wrkSheet.Name = "Alokasi" vBaris = 5 wrkSheet.Cells(vBaris, 1) = "Dari" wrkSheet.Cells(vBaris, 2) = "Tujuan" wrkSheet.Cells(vBaris, 3) = "Biaya per Ton" wrkSheet.Cells(vBaris, 4) = "Alokasi dan Biaya" vBaris = vBaris + 1 NoKolom = 3 For k = Me.ThnMulai To Me.ThnSampai NoKolom = NoKolom + 1 Kol1 = (k - Me.ThnMulai) * 2 + 4 Kol2 = (k - Me.ThnMulai) * 2 + 4 + 1 wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 2 + 4) = k wrkSheet.Cells(vBaris + 1, Kol1) = "Alokasi" wrkSheet.Cells(vBaris + 1, Kol2) = "Biaya" wrkSheet.Range(colHuruf(Kol1) & Trim(Str(vBaris)) & ":" & colHuruf(Kol2) & Trim(Str(vBaris))).MergeCells = True Next wrkSheet.Range("A5:A7").MergeCells = True wrkSheet.Range("B5:B7").MergeCells = True wrkSheet.Range("C5:C7").MergeCells = True wrkSheet.Range("D5:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 5) & "5").MergeCells = True vBaris = vBaris + 2 For J = 1 To (Me.ThnSampai - Me.ThnMulai) * 2 + 6 wrkSheet.Cells(vBaris, J) = J Next With wrkSheet.Range("A5:" & colHuruf(Kol2) & "8") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter
318
.Font.Size = 12 .Font.Bold = True .WrapText = True End With NoKolom = 4 rs1.MoveFirst J = 0 k = 0 While Not rs1.EOF() J = J + 1 If Int(J / nRec * 10000) <> vpersen Then vpersen = Int(J / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Alokasi : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs1![tahun] Then k = rs1![tahun] vBaris = 8 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs1![pabrik] wrkSheet.Cells(vBaris, 2) = rs1![dermaga] wrkSheet.Cells(vBaris, 3) = rs1![COST] wrkSheet.Cells(vBaris, (rs1![tahun] - Me.ThnMulai) * 2 + NoKolom) = rs1![alokasi] wrkSheet.Cells(vBaris, (rs1![tahun] - Me.ThnMulai) * 2 + NoKolom + 1) = "=" & colHuruf((rs1![tahun] Me.ThnMulai) * 2 + NoKolom) & Trim(Str(vBaris)) & " * C" & Trim(Str(vBaris)) wrkSheet.Cells(vBaris, (Me.ThnSampai - Me.ThnMulai) * 2 + 6) = "=sum(D" & Trim(Str(vBaris)) & ":" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 5) & Trim(Str(vBaris)) & ")" rs1.MoveNext Wend wrkSheet.Range("A8:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 2 + 6) & Trim(Str(vBaris))).Sort Key1:=Range(colHuruf((Me.ThnSampai - Me.ThnMulai) * 2 + 6) & "8"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal vBaris = vBaris + 1 wrkSheet.Range("8:8").AutoFilter For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, NoKolom + (k - Me.ThnMulai) * 2) = "=SUBTOTAL(9," & colHuruf(NoKolom + (k - Me.ThnMulai) * 2) & "9:" & colHuruf(NoKolom + (k - Me.ThnMulai) * 2) & Trim(Str(vBaris - 1)) & ")"
319
wrkSheet.Cells(vBaris, NoKolom + (k - Me.ThnMulai) 2 + 1) = "=SUBTOTAL(9," & colHuruf(NoKolom + (k Me.ThnMulai) * 2 + 1) & "9:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 + 1) & Trim(Str(vBaris - 1)) & ")" Next With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":C" Trim(Str(vBaris))) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With wrkSheet.Range("C9:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1) & Trim(Str(vBaris))).NumberFormat "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1)).EntireColumn.AutoFit wrkSheet.Range("A5:" & colHuruf(NoKolom + (k Me.ThnMulai) * 2 - 1) & Trim(Str(vBaris))).Borders.Weight Excel.XlBorderWeight.xlThin
* &
= =
wrkSheet.Cells(vBaris, 1) = "Total" wrkSheet.Range("H:H").Delete shift:=xlLeft '*********************************************************** ****Sisa kapasitas Pabrik Set wrkSheet = wrkBook.Sheets.Add(After:=Sheets(Sheets.Count)) wrkSheet.Name = "SISA-KAPASITAS-PKS" Set rs2 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.pabrik, pks.PERUSAHAAN, kappks.kappabrik, Sum(tbAlokasi.alokasi) AS dialokasikan" & _ " FROM pks INNER JOIN (kappks INNER JOIN tbAlokasi ON (kappks.pabrik = tbAlokasi.pabrik) AND (kappks.tahun = tbAlokasi.tahun)) ON pks.KODE = kappks.pabrik" & _ " GROUP BY tbAlokasi.tahun, tbAlokasi.pabrik, pks.PERUSAHAAN, kappks.kappabrik" & _ " ORDER BY tbAlokasi.tahun, tbAlokasi.pabrik;") If rs2.RecordCount > 0 Then rs2.MoveLast nRec = rs2.RecordCount rs2.MoveFirst J = 0 k = 0 wrkSheet.Cells(4, 1) = "Pabrik" wrkSheet.Cells(4, 3) = "Tahun" wrkSheet.Cells(5, 1) = "Kode" wrkSheet.Cells(5, 2) = "Perusahaan" wrkSheet.Range("A4:B4").MergeCells = True wrkSheet.Range("C4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & "4").MergeCells = True wrkSheet.Range("A5:A6").MergeCells = True
320
wrkSheet.Range("B5:B6").MergeCells = True For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(5, (k - Me.ThnMulai) * 3 + 3) = k wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 3) = "Kapasitas" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 4) = "Alokasi" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 5) = "Sisa" wrkSheet.Range(colHuruf((k - Me.ThnMulai) * 3 + 3) & "5:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "5").MergeCells = True Next With wrkSheet.Range("A4:" & colHuruf((k Me.ThnMulai) * 3 + 5) & "6") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Size = 12 .Font.Bold = True End With vBaris = 6 While Not rs2.EOF() J = J + 1 If Int(J / nRec * 10000) <> vpersen Then vpersen = Int(J / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Sisa Kapasitas PKS : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs2![tahun] Then k = rs2![tahun] vBaris = 6 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs2![pabrik] If IsNull(rs2![PERUSAHAAN]) Then wrkSheet.Cells(vBaris, 2) = "n/a" Else wrkSheet.Cells(vBaris, 2) = rs2![PERUSAHAAN] End If wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = rs2![kappabrik] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = rs2![dialokasikan] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris)) & "-" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris)) rs2.MoveNext Wend
321
vBaris = vBaris + 1 With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":B" & Trim(Str(vBaris))) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With wrkSheet.Cells(vBaris, 1) = "Total" For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 3) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 4) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris - 1)) & ")" Next wrkSheet.Range("B7:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5)).EntireColumn.AutoFit wrkSheet.Range("A4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).Borders.Weight = Excel.XlBorderWeight.xlThin End If '*********************************************************** ****Sisa SISA-DEMAND-Dermaga (Lokasi Kawasan Industri) Set wrkSheet = wrkBook.Sheets.Add(After:=Sheets(Sheets.Count)) wrkSheet.Name = "SISA-DEMAND-Dermaga" Set rs2 = dbs.OpenRecordset("SELECT tbAlokasi.tahun, tbAlokasi.dermaga, kapder.kapdermaga, dermaga.Lokasi AS PERUSAHAAN, Sum(tbAlokasi.alokasi) AS dialokasikan" & _ " FROM dermaga INNER JOIN (kapder INNER JOIN tbAlokasi ON (kapder.dermaga = tbAlokasi.dermaga) AND (kapder.tahun = tbAlokasi.tahun)) ON dermaga.KODE = kapder.dermaga" & _ " GROUP BY tbAlokasi.tahun, tbAlokasi.dermaga, kapder.kapdermaga, dermaga.Lokasi" & _ " ORDER BY tbAlokasi.tahun, tbAlokasi.dermaga;") If rs2.RecordCount > 0 Then rs2.MoveLast nRec = rs2.RecordCount
322
rs2.MoveFirst J = 0 k = 0 wrkSheet.Cells(4, 1) = "Dermaga" wrkSheet.Cells(4, 3) = "Tahun" wrkSheet.Cells(5, 1) = "Kode" wrkSheet.Cells(5, 2) = "Perusahaan" wrkSheet.Range("A4:B4").MergeCells = True wrkSheet.Range("C4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & "4").MergeCells = True wrkSheet.Range("A5:A6").MergeCells = True wrkSheet.Range("B5:B6").MergeCells = True
-
For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(5, (k - Me.ThnMulai) * 3 + 3) = k wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 3) = "Demand" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 4) = "Alokasi" wrkSheet.Cells(6, (k - Me.ThnMulai) * 3 + 5) = "Sisa" wrkSheet.Range(colHuruf((k - Me.ThnMulai) * 3 + 3) & "5:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "5").MergeCells = True Next With wrkSheet.Range("A4:" & colHuruf((k Me.ThnMulai) * 3 + 5) & "6") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Size = 12 .Font.Bold = True End With vBaris = 6 While Not rs2.EOF() J = J + 1 If Int(J / nRec * 10000) <> vpersen Then vpersen = Int(J / nRec * 10000) Me.indikator.Width = vpersen / 10000 * Me.wadah.Width Me.Label17.Caption = "Laporan Sisa Demand Dermaga : " & Format(vpersen / 10000, "Percent") Me.Repaint End If If k <> rs2![tahun] Then k = rs2![tahun] vBaris = 6 End If vBaris = vBaris + 1 wrkSheet.Cells(vBaris, 1) = rs2![dermaga] If IsNull(rs2![PERUSAHAAN]) Then wrkSheet.Cells(vBaris, 2) = "n/a" Else wrkSheet.Cells(vBaris, 2) = rs2![PERUSAHAAN]
323
End If wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = rs2![kapdermaga] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = rs2![dialokasikan] wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris)) & "-" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris)) rs2.MoveNext Wend vBaris = vBaris + 1 With wrkSheet.Range("A" & Trim(Str(vBaris)) & ":B" & Trim(Str(vBaris))) .MergeCells = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.Bold = True End With wrkSheet.Cells(vBaris, 1) = "Total" For k = Me.ThnMulai To Me.ThnSampai wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 3) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 3) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 3) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 4) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 4) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 4) & Trim(Str(vBaris - 1)) & ")" wrkSheet.Cells(vBaris, (k - Me.ThnMulai) * 3 + 5) = "=sum(" & colHuruf((k - Me.ThnMulai) * 3 + 5) & "7:" & colHuruf((k - Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris - 1)) & ")" Next wrkSheet.Range("B7:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" wrkSheet.Columns("A:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5)).EntireColumn.AutoFit wrkSheet.Range("A4:" & colHuruf((Me.ThnSampai Me.ThnMulai) * 3 + 5) & Trim(Str(vBaris))).Borders.Weight = Excel.XlBorderWeight.xlThin End If wrkBook.Sheets("Alokasi").Activate MsgBox "Selesai", vbInformation, "Perhatian" Set rs1 = dbs.OpenRecordset("SELECT tbAlokasi.pabrik, tbAlokasi.dermaga, Sum(tbAlokasi.alokasi) AS SumOfalokasi" & _ " FROM tbAlokasi" & _ " GROUP BY tbAlokasi.pabrik, tbAlokasi.dermaga" & _ " HAVING (((Sum(tbAlokasi.alokasi))>0));") Set rs2 = dbs.OpenRecordset("SELECT * FROM penampun;") If rs1.RecordCount > 0 Then
324
rs1.MoveLast I = rs1.RecordCount rs1.MoveFirst While Not rs1.EOF() rs2.FindFirst "[Dari] & [Tujuan]='" rs1![pabrik] & rs1![dermaga] & "'" If rs2.NoMatch Then I = I + 1 rs2.AddNew rs2![ID] = I rs2![dari] = rs1![pabrik] rs2![tujuan] = rs1![dermaga] rs2.Update End If rs1.MoveNext Wend End If Obj.Visible = True Set wrkSheet = Nothing Set wrkBook = Nothing Set Obj = Nothing End If End Sub
&
Private Sub Form_Close() Dim rs2 As DAO.Recordset Dim dbs As DAO.Database Dim I As Long Dim J As Long Set dbs = Application.CurrentDb() BKNKSG: Set rs2 = dbs.OpenRecordset("select * from tbAlokasi" & _ " order by tahun, pabrik, dermaga") If rs2.RecordCount > 0 Then rs2.MoveFirst I = 0 On Error Resume Next While Not rs2.EOF() I = I + 1 rs2.Delete If Err.Number <> 0 Then For J = 1 To 10000 Next I = 0 GoTo BKNKSG End If rs2.MoveNext If I Mod 1500 = 0 Then For J = 1 To 10000
325
Next I = 0 End If Wend For J = 1 To 10000 Next End If Pesu End Sub Private Sub Form_Open(Cancel As Integer) Dim rs As DAO.Recordset Dim dbs As DAO.Database Dim Txt As String Dim Ket As String Set dbs = Application.CurrentDb() Set rs = dbs.OpenRecordset("SELECT kappks.tahun, Sum(kappks.kappabrik) AS SumOfkappabrik" & _ " FROM kappks" & _ " GROUP BY kappks.tahun" & _ " ORDER BY kappks.tahun;") If rs.RecordCount > 0 Then rs.MoveFirst Txt = ">=" & rs![tahun] Ket = "Nilai harus dari tahun " & rs![tahun] Me.ThnMulai.DefaultValue = rs![tahun] Me.ThnSampai.DefaultValue = rs![tahun] + 1 rs.MoveLast Txt = Txt & " and <=" & rs![tahun] Ket = Ket & ", sampai dengan tahun " & rs![tahun] Me.ThnMulai.ValidationRule = Txt Me.ThnMulai.ValidationText = Ket Else Me.ThnMulai.DefaultValue = "" Me.ThnMulai.ValidationRule = "" Me.ThnMulai.ValidationText = "" End If Me.Label17.Caption = "Siaga..." Me.Label17.Visible = True Me.indikator.Width = 0 Me.Repaint End Sub Private Sub ThnMulai_AfterUpdate() If Me.ThnSampai < Me.ThnMulai Then Me.ThnSampai = Me.ThnMulai Me.Label17.Caption = "Siaga..." End If Me.Label17.Visible = True Me.indikator.Width = 0
326
Me.Repaint End Sub Private Sub ThnSampai_AfterUpdate() Me.Label17.Visible = True Me.indikator.Width = 0 Me.Repaint End Sub Script Modul di MS Access Modul Deklarasi Option Compare Database Option Explicit Public vJudul As String ' ************** Judul Riport Public stSource As String ' ************** String Source SQL Public stWhereG As String ' ************** Where Condition Public vPemanggil As String ' ************** window Pemanggil Public vSet As String ' ************** Nomer nota setting Public arPemanggil(6) As String ' ********** Array window yang terbuka Modul Umum Option Compare Database Option Explicit Sub awal() Dim I As Integer vPemanggil = "" For I = 0 To 6 arPemanggil(I) = "" Next baru = True End Sub Sub Panggil(vCaller As String) Dim I As Integer Dim StcBaru As String If vCaller = "" Then vCaller = "Switchboard" End If StcBaru = vCaller If vPemanggil = "" Then vPemanggil = StcBaru Else For I = 0 To 6 If arPemanggil(I) = "" Then arPemanggil(I) = vPemanggil vPemanggil = StcBaru
327
Exit For End If Next End If Application.Forms.Item(StcBaru).Visible = False End Sub Sub Tutup() Dim I As Integer Dim lama As String If vPemanggil = "" Then lama = "Switchboard" Else lama = vPemanggil End If If lama <> "" Then For I = 6 To 0 Step -1 If arPemanggil(I) <> "" Then vPemanggil = arPemanggil(I) Exit For End If Next End If If I < 0 Then I = 0 End If If I - 1 >= 0 Then arPemanggil(I) = "" Else vPemanggil = "Switchboard" End If If Application.CurrentProject.AllForms.Item(lama).IsLoaded Then Application.Forms.Item(lama).Visible = True Else DoCmd.OpenForm lama End If End Sub Sub TombolNav(rs As DAO.Recordset, Berikut As Boolean) Dim rs1 As DAO.Recordset Set rs1 = rs.Clone rs1.Bookmark = rs.Bookmark rs1.MovePrevious Sebelum = Not rs1.BOF() rs1.Bookmark = rs.Bookmark rs1.MoveNext Berikut = Not rs1.EOF()
Sebelum
As
Boolean,
328
End Sub Sub Pesu() DoCmd.Quit acQuitSaveAll End Sub Function ASCIIText(TextSumber As String) As String Dim I As Integer ASCIIText = "" For I = 1 To Len(TextSumber) ASCIIText = ASCIIText & Hex(Asc(Mid(TextSumber, I, 1))) Next End Function Function HexText(KodeASCII As String) As String Dim I As Integer Dim KodeHexa As String Dim vHasil As String vHasil = "" For I = 1 To Len(KodeASCII) Step 2 KodeHexa = "&H" & Mid(KodeASCII, I, 2) vHasil = vHasil & Chr(Val(KodeHexa)) Next HexText = vHasil End Function Function colHuruf(I As Integer) As String Dim vHuruf As String Dim Sisa As String vHuruf = "" If I > 26 Then vHuruf = Chr(Int((I - 1) / 26) + 64) End If Sisa = I Mod 26 If Sisa = 0 Then Sisa = 26 End If vHuruf = vHuruf & Chr(Sisa + 64) colHuruf = vHuruf End Function
329
Lampiran 9 Blok Modul Simulasi
a. Blok Modul Tanki Stock PKS, Tangki Timbun. Dan Tangki Stock Produk
b. Produksi CPO oleh 7 PKS Terdekat
c. Loading Truck di PKS Terdekat 1 (PKS 009)
330
e. Loading Truck di PKS Terdekat 2 (PKS 010)
f. Loading Truck di PKS Terdekat 3 (PKS 008)
g. Loading Truck di PKS Terdekat 4 (PKS 011)
h. Loading Truck di PKS Terdekat 5 (PKS 007)
i. Loading Truck di PKS Terdekat 6 (PKS 012)
j. Loading Truck di PKS Terdekat 7 (PKS 002)
331
k. Pengiriman/Pengangkutan CPO dari PKS terdekat ke Tangki timbun
l. Kedatangan Truck di Tangki Timbun
332
m. Unloading Trucks (Pengisian Tangki Timbun 1)
n. Unloading Trucks (Pengisian Tangki Timbun 2 via Nozel 1)
o. Unloading Trucks (Pengisian Tangki Timbun 2 via Nozel 2)
333
p. Konsumsi CPO oleh 4 Industri Hilir
q. Kedatangan Kapal Pengankut Hasil Produk Indsutri Hilir
334
r. Loading Masing-Masing Produk Industri Hilir ke Kapal
s. Recording/Pencatatan
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
335
Level Tanki Produk Industri Hilir
1.200,00
Volume Tanki Fatty Acid
1.000,00
800,00
600,00
400,00
200,00
0,00
Volume Tanki Fatty Acid
1.200,00
Volume Tanki Biodiesel
1.000,00
800,00
600,00
400,00
200,00
0,00
Volume Tanki Biodiesel
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 267 274 281 288 295
336
Volume Tanki Fatty Alcohol
1.200,00
1.000,00
800,00
600,00
400,00
200,00
0,00
Volume Tanki Fatty Alcohol
1.200,00
Volume Tanki Glycerin
1.000,00
800,00
600,00
400,00
200,00
0,00
Volume Tanki Glycerin