Anda di halaman 1dari 20

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/260981061

Aplikasi Sistem Pendukung Keputusan Untuk Optimalisasi Lahan Pertanian

Article · July 2005

CITATIONS READS

0 2,293

1 author:

Edhy Sutanta
Institut Sains and Teknologi Akprind Yogyakarta
90 PUBLICATIONS   43 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

HybridSceMatch: A Prototype of Hybrid Schema Matching Using Constraint-Based Method and Instance-Based Method View project

Identifikasi daging degar menggunakan sensor warna RGB TCS3200-DB View project

All content following this page was uploaded by Edhy Sutanta on 22 March 2014.

The user has requested enhancement of the downloaded file.


1

APLIKASI SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN


UNTUK OPTIMALISASI PENGGUNAAN LAHAN PERTANIAN

Edhy Sutanta
Jurusan Teknik Informatika, Fakultas Teknologi Industri,
Institut Sains & Teknologi AKPRIND Yogyakarta
Jl. Kalisahak 28, Komplek Balapan, Yogyakarta 55222
Phone: 0274-563029-121, Fax: 0274-563847, email: edhy_sst@yahoo.com

INTISARI
Pada musim tanam, para petani umumnya dihadapkan pada permasalahan
mendasar yaitu bagaimana memilih jenis tanaman, mengalokasikan luas lahan, dan
biaya yang tersedia supaya menghasilkan keuntungan yang optimal. Permasalahan
ini dapat dipecahkan dengan menggunakan metode simpleks. Pemilihan jenis
tanaman dipengaruhi oleh faktor analitik seperti perkiraan hasil produksi, harga
bibit, kebutuhan obat, dan pupuk yang dapat dihitung dengan model optimalisasi.
Alternatif penyelesaian permasalahan tersebut, adalah dengan
mengembangkan perangkat lunak aplikasi Sistem Pendukung Pengambilan
Keputusan/SPPK (Decision Support System/DSS) untuk penentuan jenis tanaman
sehingga penggunaan lahan dan keuntungan produksi optimal dapat dicapai. Model
permasalahan diselesaikan dengan menggunakan metode simpleks yang sesuai
dengan pemrograman linier. Perangkat lunak aplikasi DSS yang dikembangkan
akan menampilkan informasi luas lahan, biaya, dan keuntungan yang diperoleh
untuk jenis tanaman yang dipilih. Untuk melakukan perhitungan optimalisasi
dibutuhkan input luas lahan dan modal yang disediakan untuk sekali musim tanam.

Kata-kata kunci: DSS, optimalisasi, simpleks, pemrograman linier

PENDAHULUAN
Aplikasi sistem Informasi telah mewarnai hampir semua sektor kehidupan, tidak
terkecuali pada bidang pertanian. Pengembangan sistem informasi akan bernilai lebih jika
memiliki nilai strategis, yaitu tidak hanya nilai kegunaan untuk penghematan semata, tetapi
mempunyai kemampuan sebagai sistem pendukung pengambilan keputusan (Decision Support
System), dalam hal ini bagi para petani dan penyuluh pertanian. Letak geografis Indonesia yang
berada di wilayah tropis secara tidak langsung mengakibatkan sebagian besar mata pencaharian
penduduknya adalah petani. Karena pengaruh dua musim yang dimiliki wilayah Indonesia,
petani Indonesia umumnya mengolah lahan sawahnya menjadi dua musim tanam, yaitu musim
tanam padi dan musim tanam palawija. Pada waktu musim tanam palawija sering petani
dihadapkan pada permasalahan pokok, yaitu bagaimana memilih jenis tanaman yang akan
ditanaman sehingga menghasilkan keuntungan yang maksimal dengan waktu, lahan dan
modal yang terbatas. Mempertimbangkan kondisi yang berlaku di atas maka penelitian ini akan
mengimplementasikan metode simpleks untuk mendukung pengambilan keputusan pemilihan
jenis tanaman pada musim tanam palawija dan pengalokasian lahan terhadap tanaman terpilih
yang menghasilkan keuntungan yang optimal.
Aplikasi DSS dalam penelitian ini dibatasi sebagai berikut:
1. Metode yang digunakan untuk penyelesaian masalah adalah simpleks.
2. Variabel yang digunakan tidak dimungkinkan bernilai negatif.
3. Penelitian dilakukan khusus untuk musim tanam palawija.
4. Faktor yang mempengaruhi pemilihan tanaman adalah faktor analitik yang mudah
diperhitungkan dalam optimalisasi.
2

TINJAUAN PUSTAKA
Konsep Informasi
Menurut Robert N. Anthony dan John Dearden, informasi didefinisikan sebagai adalah
data yang telah diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang
menerimanya (Jogianto, 1990:8). Berdasarkan definisi tersebut, maka sumber informasi adalah
data. Data merupakan bentuk jamak dari datum atau item-item. Data adalah kenyataan yang
menggambarkan suatu kejadian-kejadian dan kesatuan nyata, sedangkan kejadian (event) adalah
sesuatu yang terjadi pada saat tertentu (Jogianto, 1990:8). Informasi dihasilkan dari suatu
sistem. Sistem merupakan jaringan kerja dari program-program yang saling berhubungan dan
berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu
sasaran tertentu (Jogianto, 1990:1). Gabungan dari sistem dan informasi menghasilkan sistem
informasi. Menurut Robert A Leitch dan K Roscoe pengertian sistem informasi adalah suatu
sistem dalam organisasi yang mempertemukan kebutuhan pengelola transaksi harian,
mendukung operasi, bersifat manajerial dan kegiatan strategis dari suatu organisasi dan
menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Jogianto, 1990:11).

Konsep Sistem Pendukung Keputusan


DSS merupakan tingkatan yang lebih tinggi dari suatu Sistem Informasi Manajemen
/SIM. Prinsip DSS hampir sama dengan SIM yang menitikberatkan pada pembuatan keputusan
untuk menyelesaikan setiap tingkat permasalahan. Namun pada hakikatnya pengambilan
keputusan tetap dilakukan oleh manusia, sehingga DSS tidak menggantikan kebijakan manusia
sebagai pembuat keputusan (Kendall & Kendall, 1995:82-83). Menurut Gorry dan Morton
pengertian DSS telah dikembangkan oleh Little pada tahun 1970, yaitu suatu model dasar yang
terdiri program-program untuk mengolah kebijakan dan membantu manajer dalam pengambilan
keputusan. DSS yang baik harus mudah digunakan, mudah dikendalikan, mampu
menyesuaikan diri, penuh dengan persoalan yang penting dan mudah dikomunikasikan (Turban
& Aronson, 2001:82-83). Pengembangan suatu DSS sering menghadapi kesulitan akibat adanya
karakteristik sistem yang tidak pasti, kompleks, dinamis, serta keterbatasan sumber daya. Pada
sisi lain, DSS memberikan keuntungan sebagai berikut (Turban & Aronson, 2001):
1. Memiliki kemampuan dalam membantu menyelesaikan masalah yang kompleks
2. Memiliki tanggapan yang cepat terhadap situasi yang diharapkan karena pengaruh
perubahan keadaan. DSS secara teliti memberikan beberapa analisa dalam waktu yang
singkat. Perubahan yang mendasar dapat dievaluasi dengan cepat dan efisien.
3. Menghemat biaya, penggunaan aplikasi DSS secara rutin dapat menghemat biaya akibat
pengambilan keputusan yang keliru. Keputusan obyektif yang dihasilkan oleh DSS bersifat
lebih konsisten dan obyektif dibandingkan keputusan intuitif.
Sebuah aplikasi DSS tersusun atas subsistem berikut (Turban & Aronson, 1995):
1. Manajemen Data, yang termasuk dalam subsistem ini adalah pengaturan basis data yang
memuat data terkait dengan situasi yang dilakukan oleh Data Base Management System
(DBMS). Kemampuan yang diperlukan oleh DSS adalah mengkombinasikan sumber data
yang bervariasi (seperti menangkap dan proses ekstraksi), menambah dan mengurangi
sumber data secara cepat dan murah, melukiskan data personal sebagai jawaban atas
permintaan pemakai, mengatur data yang bervariasi dengan mempunyai fungsi manajemen
data selengkap mungkin.
2. Manajemen Model, merupakan paket software yang melakukan perhitungan matematika,
manajemen, atau model kualitatif lainnya, dan menyediakan kemampuan analisa sistem dan
pengaturan model. Kemampuan yang perlu dimiliki oleh manajemen model atau basis
adalah menciptakan model baru secara cepat dan mudah; mengikuti model, data dan
aplikasi pemakai; menghubungkan model dengan penghubung yang tepat menuju basis
3

data; mengakses dan mengintegrasikan blok bangunan model; serta mengolah basis model
dengan fungsi manajemen yang analog dengan manajemen basis model.
3. Subsistem Antarmuka Pemakai, merupakan komponen antarmuka pemakai yang
berfungsi sebagai antarmuka pemakai dengan komputer. Subsistem ini bersifat komunikatif
yang mampu memenuhi keinginan pemakai. Kemampuan utama subsistem ini adalah:
berpengaruh pada gaya dialog yang berbeda; menangkap, menyimpan dan menganalisis
pemakai dialog; menolong pemakai dengan berbagai format dan perlengkapan intput
(input); menyajikan data dengan bermacam format dan perlengkapan output (output);
menyediakan sarana antarmuka dengan pemakai melalui basis data dan basis model; serta
menyimpan intput (input).
4. Subsistem Pengetahuan, merupakan subsistem pilihan yang dapat mendukung subsistem
lain atau yang bertindak sebagai komponen yang berdiri sendiri

Konsep Pengambilan Keputusan


Keputusan yang dibuat oleh manusia sebagian besar ditetapkan berdasarkan intuisi
dengan informasi dan preferensi yang dimiliki. Ciri utama intuisi adalah logika dari intuisi
tidak dapat ditelusuri secara rasional. Sehingga pengambilan keputusan berdasarkan intuisi
selalu mencari alternatif keputusan lain yang dianggap lebih baik untuk merasionalkan
keputusan yang telah diambil. Manusia sebagai pengambil keputusan cenderung berpendapat
bahwa keputusan yang tepat adalah keputusan yang memberikan hasil yang baik. Sebaliknya,
bila kondisi tidak terpenuhi, maka akan cenderung menilai keputusan tidak tepat. Secara logis,
menilai bobot dan kualitas suatu keputusan berdasarkan hasil saja tidaklah benar. Bertolak
dari permasalahan ini maka salah satu cara untuk menilai keputusan adalah melihat apakah
keputusan itu konsisten dengan persoalan dan solusi yang ada, informasi yang tersedia, dan
referensi yang dimiliki oleh pengambil keputusan untuk mendapatkan cara mengendalikan yang
maksimal berkenaan dengan keputusan yang dibuat. Solusinya adalah dengan menggunakan
analisa keputusan.
Menurut Herbet dan Simon, pengambilan keputusan yang baik terdiri atas unsur
tindakan dan tahapan berikut (Turban & Aronson, 2001):
1. Penelusuran (intelegence), pada tahap ini dilakukan pencarian data baku, pengolahan data,
dan pencarian petunjuk untuk mengidentifikasikan masalah secara jelas.
2. Perancangan (design), yaitu pengembangan, analisa, dan pencarian alternatif solusi, serta
evaluasi kelayakan solusi. Pada tahap ini dilakukan implementasi, pengujian, dan validasi
model tahap perancangan, yaitu a) struktur data, b) pemilihan kreteria untuk evaluasi,
termasuk penetapan tingkat aspirasi untuk menetapkan tujuan, c) pengembangan alternatif,
d) memprediksikan hasil, dikaitkan dengan ketersediaan informasi yang berpengaruh
terhadap ketidakpastian atau kepastian solusi.
3. Pemilihan (choise), merupakan tahap pemilihan alternatif solusi yang layak.
4. Implementasi (implementation), yaitu tahap pelaksanaan keputusan.

Konsep Metode Simpleks


Pada dasarnya, apa yang dilakukan oleh metode simpleks adalah menterjemahkan
definisi geometris titik ekstrim menjadi definisi aljabar. Langkah pertama metode simpleks
mengharuskan setiap batasan ditempatkan dalam bentuk standard. Jenis konversi ini umumnya
menghasilkan sekelompok persamaan yang jumlah variabelnya lebih besar dari jumlah
persamaan, berarti bahwa persamaan-persamaan tersebut menghasilkan sejumlah titik
pemecahan yang tidak terbatas (jika dibandingkan ruang pemecahan grafik). Titik ekstrim dari
ruang ini dapat diidentifikasikan secara aljabar sebagai teori aljabar linier, sebuah pemecahan
dasar diperoleh dengan menetapkan beberapa variabel dengan jumlah total persamaan memiliki
nilai =0, kemudian memecahkan variabel sisanya dengan ketentuan bahwa kondisi tersebut
4

menghasilkan satu pemecahan unik. Adanya ruang pemecahan grafik untuk menuntun ke arah
titik optimum, maka diperlukan sebuah program yang mampu mengidentifikasikan pemecahan
dasar yang menjanjikan secara cerdas. Metode simpleks mengidentifikasikan satu pemecahan
dasar lainnya yang memiliki potensi untuk memperbaiki nilai fungsi tujuan. Akhirnya,
pemecahan dasar yang sesui dengan nilai optimal diidentifikasikan dan proses perhitungan
secara berulang (iteratif) dimana setiap perulangan (iterasi) berkaitan dengan pemecahan dasar.
Simpleks adalah suatu metode matrik untuk memecahkan program linier dalam bentuk
standard dimana semua batasan diekspresikan sebagai persamaan dengan menambahkan
variabel slack dan surplus sebagaimana diperlukan. Sifat bentuk standard adalah a) semua
batasan adalah persamaan, b) semua variabel adalah nonnegatif, dan c) fungsi tujuan dapat
berupa maksimalisasi atau minimalisasi. Metode simpleks menggunakan perhitungan berulang,
dengan pemecahan awal untuk menentukan pemecahan layak dasar lainnya yang memiliki nilai
obyektif yang lebih baik, sehingga akhirnya diperoleh Penyelesaian optimal. Algoritma metode
simpleks adalah sebagai berikut:
Langkah 0: Nyatakan masalah program linier dalam bentuk standard.
Langkah 1: Tentukan letak bilangan paling positif dalam baris terbawah (Cj-Zj) dalam tabel
simpleks. Tentukan sebagai kolom kunci.
Langkah 2: Cari nilai θ terkecil untuk menentukan bilangan basis dengan membagi nilai Bi
dengan bilangan yang bersesuaian dengan kolom kunci. Jika terdapat dua bilangan
terkecil yang sama, maka dipilih salah satu. Jika tidak ada elemen positif dalam
kolom kunci, maka program tidak memiliki pemecahan.
Langkah 3: Ganti nilai Cb yang bersesuaian baris basis dengan nilai Zj yang bersesuaian
dengan kolom kunci.
Langkah 4: Gunakan operasi elementer untuk mengubah elemen kunci menjadi 1, dan
kemudian reduksikan semua elemen lainnya dalam kolom kunci menjadi 0.
Langkah 5: Ulangi langkah 1-4 hingga tidak terdapat elemen positif dalam baris terakhir,
dengan tidak memasukkan kolom terakhir.
Langkah 6: Penyelesaian optimal diperoleh dengan menetapkan nilai Cj-Zj<=0, dan tidak ada
variabel buatan yang bernilai positif. Nilai optimal dari fungsi obyektif adalah
bilangan yang terdapat dalam baris terakhir dan kolom terakhir untuk program
maksimalisasi.
Bentuk tabel simpleks adalah sebagai berikut:

Cb

Keterangan:
Cj : koefisien variabel yang sesuai pada fungsi obyektif
Cb : koefisien (Xb) dalam fungsi obyektif
Vb : variabel yang menjadi basis
Xj : nama-nama variabel
B : nilai V dalam bentuk standard
θ : Ck variabel yang akan keluar
Zj : hasil kali titik Cb dengan kolom j,
m
Z j = ∑ (CB)i * Cij
I =1
Urutan proses perhitungannya adalah sebagai berikut:
Langkah 1: menentukan bentuk standard
Langkah 2 : menentukan penyelesaian baris terhadap tabel awal dengan menyesuaikan Zj
Langkah 3: menentukan variabel yang akan dijadikan basis dengan menghitung (Cj-Zj) terbesar
5

Langkah 4: menentukan variabel yang akan keluar dari basis dengan menghitung θ =B atau
elemen kolom kunci
Langkah 5: Perhitungan untuk menukarkan baris yang menghasilkan tabel baru

METODOLOGI PENELITIAN
Spesifikasi Sistem
Untuk mendapatkan hasil yang optimal, spesifikasi sistem minimal yang digunakan
untuk pengembangan aplikasi DSS ini adalah sebagai berikut:
1. Perangkat lunak, yaitu OS berbasis Microsoft Windows dan bahasa Visual Basic 6.0 yang
mendukung GUI, mendukung akses database secara cepat, dan berbasis 32 bit.
2. Perangkat keras, PC IBM compatibel dengan processor P133Mhz (disarankan yang lebih
tinggi), RAM 32Mb (disarankan yang lebih tinggi), disk drive 1.44, hardisk 10Gb, monitor
SVGA, serta mouse dan keyboard.

Menentukan Model
Penentuan model diperlukan untuk memudahkan perhitungan. Model yang digunakan
adalah optimalisasi dengan rumusan:
F(X)= C1X1+ C2X2+…+CnXn
Keterangan:
F(X) : fungsi yang dimaksimalkan
C1X1 : keuntungan tanaman ke-1
X1 : luas area tanaman ke-1 yang dicari
C1 : keuntungan per M2 tanaman ke-1
CnXn : keuntungan jenis tanaman ke-n
Keuntungan per M2 tanaman ke-n diperoleh dengan formula:
Cn =((Hasil panen tanaman ke-n/M2*harga panen/kg))-( biaya produksi/M2)
Keterangan:
Hasil panen/M2= hasil panen/luas lahan
Biaya produksi/M2= biaya obat/ M2+biaya pupuk/M2+biaya obat/M2
Biaya bibit/M2= (jumlah bibit*harga bibit/kg)/luas lahan
Biaya obat/M2= biaya masing-masing obat/luas lahan
Biaya pupuk/M2= biaya masing-masing pupuk/luas lahan
Optimalisasi dibatasi dengan kendala berupa luas lahan dan modal. Luas lahan adalah
luas area pertanian yang dialokasikan oleh petani untuk satu musim tanam. Sedangkan modal
adalah modal yang disediakan oleh petani untuk biaya tanam dan pemeliharan selama satu kali
musim tanam. Biaya produksi/M2, biaya bibit/M2, biaya obat/M2, dan biaya pupuk/M2
merupakan nilai-nilai optimal yang telah diperhitungkan sebelumnya, berupa nilai tetapan yang
telah tersedia dari Instansi-Dinas yang berwenang.
Contoh:
Lahan yang tersedia seluas 350M², bibit varietas Bisma yang dibutuhkan 10,5kg dengan
harga Rp 8500/kg. Pupuk yang diperlukan adalah urea 88kg dengan harga Rp 1050/kg,
TSP 35kg dengan harga 2700/kg ZA/KCL 35kg dengan harga Rp 1040/kg, NPK 2kg
dengan harga Rp 2000/kg. Obat yang dibutuhkan adalah Dursman 2ltr dengan harga Rp
10.000/ltr. Hasil panen yang diperoleh adalah 1.370kg dengan harga Rp 1000/kg.
Berdasarkan data tersebut, maka;
Biaya bibit/M2 = (10,5*8500)/3500 = Rp 255
Biaya masing-masing pupuk/M2 adalah:
Urea = (88*1500)/350 = Rp 264
TSP = (35*2700)/350 = Rp 270
KCL = (35*1040)/350 = Rp 104
NPK = (2*2000)/350 = 11,42
Maka;
6

Biaya pupuk/M2 = (264+270+104+11,42) = Rp 649,42


Biaya obat/M2 =(2*10000)/350 = Rp 57,14
Biaya produksi/M2 = biaya bibit/M2+biaya pupuk/ M2+biaya obat/M2
= 255+649,42+57,14 = Rp 961,56
Cn = (Hasil panen tanaman ke-n*harga panen/kg)-biaya produksi/M2
= (1370*1000/350)- 961,56 = Rp 2952,72

ANALISIS DAN PEMBAHASAN


Rancangan Form Input dan Output
Rancangan form input merupakan rancangan dokumen dasar yang digunakan untuk
menginput, menghapus, dan pencarian data. Form input dirancang terdiri atas setup tanaman,
obat dan pupuk, dengan data inputan berupa data tanaman, obat, dan pupuk. Masing-masing
form input dilengkapi fasilitas untuk menambah, mengedit, dan menghapus data. Tombol
Cancel disediakan untuk membatalkan proses, jika dieksekusi maka data tidak akan disimpan ke
dalam disk. Tiga form input tersebut dikelompokan ke dalam form baru untuk melakukan
perhitungan optimalisasi.
Rancangan form output disediakan agar pemakai mendapatkan gambaran output yang
ditampilkan di layar monitor. Output yang ditampilkan adalah hasil optimal yang dialokasikan
untuk masing-masing jenis tanaman sesuai dengan luas lahan dan modal yang diinputkan.
Output lain yang disediakan adalah berupa tabel tanaman, pupuk, dan obat yang dapat dilihat
pada menu Laporan. Menu Pencarian disediakan untuk menampilkan data yang ingin dicari.

Rancangan Menu
Untuk memudahkan pemakaian, menu dirancang berbentuk menu pulldown, yaitu:
⇒ Setup, memuat tiga submenu, yaitu:
o Tanaman, untuk input tanaman
o Pupuk, untuk input pupuk
o Obat, untuk input obat
⇒ DSS, tanpa submenu digunakan untuk melakukan perhitungan optimalisasi
⇒ Pencarian, memuat tiga submenu, yaitu:
o Tanaman, untuk pencarian data tanaman
o Pupuk, untuk pencarian data pupuk
o Obat, untuk pencarian data obat
⇒ Laporan, memuat tiga submenu, yaitu:
o Tanaman, untuk laporan data tanaman
o Pupuk, untuk laporan data pupuk
o Obat, untuk laporan data obat
⇒ Bantuan, memuat dua submenu, yaitu:
o Bantuan, untuk bantuan penggunaan program
o Tentang Program, memuat informasi pembuat program

Rancangan Struktur Data


Struktur data merupakan bagian penting dalam pemrograman, karena akan menentukan
bagaimana data diakses dan disimpan dalam memori. Setiap kali melakukan deklarasi variabel,
diperlukan penentuan tipe data yang akan disimpan. Pemilihan tipe data yang tepat akan
menghemat penggunaan memori dan berpengaruh pada kecepatan running program. Struktur
data dalam aplikasi DSS ini menggunakan tipe data array multidimensi yang ukuran dan
dimensinya bersifat dinamis. Tipe data ini dipilih dengan alasan untuk penghematan memori,
karena aplikasi ini membutuhkan banyak proses perulangan untuk perhitungan matrik untuk
mendapatkan hasil optimal dari kendala.
7

Kamus Data
Relasi database yang digunakan dalam aplikasi DSS ini adalah seperi ditampilkan
dalam Tabel 1, Tabel 2, Tabel 3, Tabel 4, Tabel 5.
Tabel 1: File Tanaman
PK : Kode_tanaman
Nama Atribut Tipe data Keterangan
Kode_tanaman String (8) Not null, PK
Nama_tanaman String(30) Nama tanaman
Umur_tanaman Numerik Umur tanaman (Maks 125 hari)
Luas_area Numerik Luas area, (m²)
Banyaknya_bibit Numerik Banyaknya bibit (Kg)
Harga_bibit Numerik Harga bibit per kg (Rp)
Produksi Numerik Produksi keseluruhan (kg)
Harga_produksi Numerik Harga produksi per kg (Rp)
Status Booelan Status kebutuhan air

Tabel 2: File Obat


PK : Kode_obat
Nama Atribut Tipe data Keterangan
Kode_obat String (8) Kode obat, not null
Nama_obat String(30) Nama obat
Harga_obat Numerik Harga obat (Rp)
Aturan_pakai _obat Memo Cara pemakaian

Tabel 3: File Pupuk


PK : Kode_pupuk
Nama Atribut Tipe data Keterangan
Kode_pupuk String (8) Kode Pupuk, not null
Nama_pupuk String (30) Nama pupuk
Harga_pupuk Numerik Harga per kg (Rp)
Aturan_pakai_pupuk Memo Cara pengunaan

Tabel 4: File TanamanObat


PK : Kode_tanaman+Kode_obat
FK : -Kode_tanaman referensi ke Tanaman dan Kode_obat referensi ke Obat
Nama Atribut Tipe data Keterangan
Kode_tanaman String (8) Kode tanaman
Kode_obat String (8) Kode obat

Tabel 5: File TanamanPupuk


PK : Kode_tanaman+Kode_obat
FK : -Kode_tanaman referensi ke Tanaman dan Kode_pupuk referensi ke Pupuk
Nama Atribut Tipe data Keterangan
Kode_tanaman String (8) Kode tanaman
Kode_pupuk String (8) Kode Pupuk

Implementasi Program
Implementasi dari metode simpleks untuk menyelesaikan permasalahan optimalisasi di
atas adalah sebagai berikut:
For i = 1 To jum
cj(i) = pilihan(i, 5)
Next I ' untuk i yang bernilai -M
M = -1000000
For i = (2 * jum) + 3 To jml_x
cj(i) = M
Next i
8

Potongan program di atas digunakan untuk memasukkan nilai di fungsi sasaran (=cj).
Perhitungan dapat diselesaikan jika semua persamaan berada dalam bentuk standard. Sehingga
program memerlukan sebuah variabel bantu, yaitu M= 1000000, yaitu:
For kolom = 1 To jml_x
zjtampung = 0
zjkolom = 0
For baris = 1 To jml_pers
zjtampung = zjtampung+(cb(baris)*matrik(baris, kolom))
Next baris
zj(kolom) = zjtampung
Next kolom
zjbitampung = 0
For baris = 1 To jml_pers
zjbitampung = zjbitampung + (cb(baris) * bi(baris))
Next baris
zjbi = zjbitampung
For i = 1 To jml_x
cj_zj(i) = 0
cj_zj(i) = cj(i) - zj(i)
Next i
cek = 0
For i = 1 To jml_x
If cj_zj(i) > 0 Then
cek = cek + 1
End If
Next i
Perhitungan dalam metode simpleks dinyatakan optimal jika pada baris cj-zj tidak ada yang
bernilai>0. Potongan program berikut berfungsi untuk mendeteksi apakah program selesai
optimal atau tidak optimal sehingga perlu dilakukan perulangan. Nilai zj diperoleh dari
perkalian nilai cb(baris) dengan Matrik(baris,kolom). Apabila penyelesaian belum optimal,
maka dilakukan iterasi perhitungan kembali. Langkah yang harus dilakukan sebelum iterasi
perhitungan adalah menentukan bilangan yang akan menjadi bilangan basis, yaitu:
'calonbasis dan kolombasis
calonbasisn = 0
calonbasis = cj_zj(1)
For i = 1 To jml_x
If calonbasis <= cj_zj(i) Then
calonbasis = cj_zj(i)
End If
Next i
kolombasis = 1
For i = 1 To jml_x
If calonbasis = cj_zj(i) Then
kolombasis = i
End If
Next i
Untuk merevisi tabel simpleks diperlukan nilai basis. Potongan program di atas berguna untuk
menentukan calon basis. Logika dari program di atas adalah tentukan dahulu cj-zj yang
mempunyai nilai positif terbesar. Setelah ditemukan, maka kolom yang mempunyai nilai cj-zj
terbesar dijadikan kolom basis.
'teta terkecil
qt = 10000000
For j = 1 To jml_pers
If q(j) >= 0 Then
If qt >= q(j) Then
qt = q(j)
End If
End If
Next j
9

'BARIS basis
barisbasis = 1
For j = 1 To jml_pers
If qt = q(j) Then
barisbasis = j
End If
Next j basis = 0
basis=matrik(barisbasis,kolombasis)
Setelah ditemukan kolom basis, langkah selanjutnya adalah menentukan baris basis. Baris basis
ditentukan oleh nilai teta terkecil. Potongan program di atas berguna untuk mendeteksi nilai teta
terkecil, yang dijadikan sebagai baris basis, kemudian menemukan nilai basis pada perpotongan
kolom basis dengan baris basis. Setelah ditemukan nilai basis, baru dilakukan operasi baris
elementer untuk mengisi nilai matrik baru dengan program sebagai berikut:
For i = 1 To jml_pers
If i = barisbasis Then
cb(i) = cj(kolombasis)
End If
Next i
For i = 1 To jml_pers
If i = barisbasis Then
If bi(i) = 0 Or basis = 0 Then
bib(i) = 0
Else
bib(i) = bi(i) / basis
End If Else
bantu = 0
bantu = bi(barisbasis) * matrik(i, kolombasis)
bantu2 = 0
If basis = 0 Or bantu = 0 Then
bantu2 = 0
Else
bantu2 = bantu / basis
End If
bib(i) = bi(i) - bantu2
End If
Next i
For i = 1 To jml_pers
bi(i) = bib(i)
Next I
For baris = 1 To jml_pers
For kolom = 1 To jml_x
If baris = barisbasis Then
nol1 = 0
nol1 = matrik(baris,kolom)
If (basis = 0) Or (nol1 = 0) Then
matrikbaru(baris,kolom) = 0
Else
matrikbaru(baris,kolom) = nol1 / basis
End If Else
bantu = 0
bantu=matrik(barisbasis,kolom)*matrik(baris,kolombasis)
bantu2 = 0
If basis = 0 Or bantu = 0 Then
bantu2 = 0
Else
bantu2 = bantu / basis
End If
matrikbaru(baris,kolom)=matrik(baris,kolom)-bantu2
End If
Next kolom
10

Next baris
For kolom = 1 To jml_x
bantu = 0
For baris = 1 To jml_pers
bantu=bantu+(cb(baris)*matrik(baris,kolom))
Next baris
zjb(kolom) = bantu
Next kolom
For kolom = 1 To jml_x
zj(kolom) = zjb(kolom)
Next kolom
zjbib = 0
For i = 1 To jml_pers
zjbib=zjbib+(cb(i)*bi(i))
Next i
For i = 1 To jml_x
cj_zj(i) = 0
cj_zj(i) = cj(i) - zj(i)
Next i
cek = 0
For i = 1 To jml_x
If cj_zj(i) > 0 Then
cek = cek + 1
End If
Next i
ulang = ulang + 1
Loop Until ulang >= 20 Or cek = 0
ulang = ulang + 1
Potongan program di atas akan melakukan operasi elementer hingga nilai variabel ulang=20
atau nilai variabel cek=0. Ulang adalah banyaknya iterasi yang ditetapkan maksimal 20 kali,
sedangkan cek digunakan untuk pengecekan pada saat program mengeksekusi baris program cj-
zj. Jika terdapat baris cj-zj yang bernilai>0, maka cek akan ditambah 1 dan dilakukan iterasi.

Hasil Implementasi Program


Tampilan menu utama aplikasi menggunakan menu Pull Down terdiri atas menu Setup
Data, DSS, Pencarian, Laporan, dan Bantuan. Masing-masing menu memiliki sejumlah
submenu, kecuali menu DSS. Jika menu Setup data dipilih, maka akan ditampilkan submenu
setup data tanaman, obat dan pupuk. Apabila menu DSS dipilih, maka akan ditampilkan form
perhitungan untuk optimalisasi pemilihan jenis tanaman. Jika menu Pencarian yang dipilih,
submenu yang ditampilkan form pencarian untuk mencari data tanaman, pupuk, dan obat yang
tersimpan dalam database. Menu Laporan memuat laporan tanaman , pupuk, dan obat yang
disediakan oleh aplikasi. Jika menu Bantuan dipilih, maka akan ditampilkan submenu bantuan
penggunaan program dan informasi pembuat program. Tampilan menu utama aplikasi
ditampilkan pada Gambar 1.

Gambar 1: Tampilan menu utama


11

Form Menu Setup Data Tanaman memiliki beberapa tombol proses yang berfungsi
untuk memudahkan pemakaian aplikasi. Untuk menambahkan data baru dilakukan dengan
menekan tombol Add, atau ^ALT+A, untuk mengedit data cukup menekan tombol Edit dan
selanjutnya dapat melakukan editing. Tombol Delete, Update dan Cancel digunakan jika
pemakai ingin menghapus data tanaman tertentu, menyimpan, dan membatalkan proses editing.
Pada sisi kanan, terdapat pageframe Pupuk yang berguna untuk menginputkan pupuk yang
diperlukan oleh tanaman, sedangkan pageframe Obat berguna untuk menginputkan obat yang
diperlukan oleh tanaman. Contoh form Setup Data Tanaman seperti tampak pada Gambar 2.

Gambar 2: Contoh tampilan form Setup Data Tanaman


Menu DSS digunakan saat pemakai ingin melakukan perhitungan berdasarkan lahan
pertanian dan modal yang dimiliki. Pemakai akan diminta untuk mengisikan luas lahan (dalam
M²) dan modal yang dimiliki oleh pemakai (dalam Rupiah), seperti tampak pada Gambar 3.

Gambar 3: Form menu DSS


Jika pada langkah pertama, pemakai lupa mengisikan lahan, modal, atau memilih
tanaman, maka program akan menampilkan pesan kesalahan sesuai kesalahan yang dilakukan.
Contoh tampilan pesan kesalahan tampak pada Gambar 4.

Gambar 4: Pesan kesalahan


Proses selanjutnya adalah memilih tanaman, pemakai diijinkan memilih maksimal 10
tanaman dari tanaman yang ada. Jika pemakai memilih lebih dari 10 tanaman maka akan
muncul pesan seperti tampak pada Gambar 5.

Gambar 5: Pesan kesalahan pengisian jenis tanaman lebih dari 10


2

Setelah mengisikan data, pemakai dapat melihat tanaman yang disarankan dengan
menekan tombol Hitung yang ada di sisi kanan atas daftar tanaman. Contoh tampilan form
tanaman yang disarankan tampak pada Gambar 6.

Gambar 6: Form tanaman yang disarankan


Form pada Gambar 6 menyediakan lima tombol pilihan, yaitu Pilih Percobaan, Ulangi,
Terbaik, Cetak, serta Keluar. Tombol Pilih Percobaan berfungsi untuk melihat luas lahan dan
jenis tanaman yang disarankan pada setiap percobaan perhitungan. Banyaknya perhitungan yang
diijinkan adalah lima kali, jika lebih maka akan muncul pesan bahwa jumlah percobaan sudah
maksimal, disarankan untuk melihat hasil percobaan satu sampai lima kali terdahulu. Jika
pemakai baru satu kali melakukan percobaan tetapi sudah menekan tombol Pilih Percobaan,
maka akan ditampilkan pesan seperti tampak pada Gambar 7. Tombol Ulangi berfungsi untuk
mengulangi perhitungan jika ingin melakukan perhitungan dengan kombinasi tanaman yang
berbeda. Tombol Cetak berfungsi untuk mencetak hasil perhitungan, sedangkan tombol Terbaik
berfungsi untuk melihat kombinasi tanaman yang menghasilkan keuntungan maksimal.

Gambar 7: Tombol Pilih Percobaan


Form Bantuan disediakan sebagai fasilitas bantuan yang berisi keterangan mengenai
cara pemakaian aplikasi langkah demi langkah.

Pengujian Program Aplikasi


Pengujian program aplikasi dilakukan dengan cara membandingkan hasil perhitungan
yang diperoleh oleh program dengan hasil perhitungan manual. Hasil perhitungan pada aplikasi,
jika pemakai memiliki lahan sebesar 800M² dan modal yang dialokasikan Rp 1.500.000,
tanaman yang dipilih adalah jagung, kacang tanah dan kedelai. Contoh tampilan luas lahan yang
disarankan hasil perhitungan dengan program aplikasi tampak pada Gambar 6. Berdasarkan
Gambar 6 terlihat bahwa tanaman yang disarankan adalah seperti tampil dalam Tabel 6.

Tabel 6: luas lahan yang disarankan hasil perhitungan dengan program aplikasi
Nama tanaman Luas yang disarankan Biaya tanaman (Rp) Prediksi untung (Rp)
Jagung 33,33 m² 3.249,12 98.413,82
Kacang tanah 738,34 m² 460.783,22 2.861.746,77
Kedelai 28,33 m² 14.289,93 55.118,28
Total 800,00 m² 507.122,24 3.015.278,87
Langkah penyelesaian optimalisasi dapat dijelaskan sebagai berikut:
Langkah 0: Nyatakan masalah dalam bentuk standard. Modal yang dimiliki adalah Rp
1.500.000, luas lahan 800M², dan data tanaman, lahan minimal, biaya per M2 dan
Untung per M2 ditampilkan pada Tabel 7.
3

Tabel 7: Data tanaman, lahan minimal, biaya per M2, dan untung per M2
Tanaman Lahan minimal M² Biaya per M² (Rp) Untung per M² (Rp)
Jagung 33,33 961,57 2.952,71
Kacang tanah 16,66 624,08 3.875,96
Kedelai 28,33 504,41 1.945,58
Untuk memudahkan perhitungan, digunakan variabel bantu X, sehingga dapat dibentuk
pertidaksamaan berikut:
X1>= 33,33
X2>=16,66
X3>=28,33
X1+X2+X3<=800
961,57X1+624,08X2+504,41X3<=1500000
Fungsi obyektif menjadi sebagai berikut:
F(x)=2.952,71X1+3.875,96X2+1.945,58X3.
Fungsi obyektif dimasukkan ke kolom cj, bentuk standard pertidaksamaannya adalah:
X1-X4+X9=33,3
X2-X5+X10=16,66
X3-X6+X11=28,33
X1+X2+X3 +X7=800
961,57X1+624,08X2+504,41X3=1500000
Bentuk standard di atas, dapat diubah menjadi bentuk matrik berikut:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 0 0 -1 0 0 0 0 1 0 0
0 1 0 0 -1 0 0 0 0 1 0
0 0 1 0 0 -1 0 0 0 0 1
1 1 1 0 0 0 1 0 0 0 0
950 624 504 0 0 0 0 1 0 0 0
Bentuk standard di atas jika dimasukkan dalam tabel awal simpleks, diperoleh hasil seperti
Tabel 8. Sebagai perbandingan, hasil dari aplikasi ditampilkan pada Gambar 8.

Gambar 8: Tampilan tabel awal simpleks dari program aplikasi


Dalam Tabel 8, kolom Cj masih memuat variabel buatan yang bernilai >0, pada baris cj-zj juga
masih memuat variabel bernilai >0. Ini berarti penyelesaian belum optimal dan perlu dilakukan
iterasi, yaitu ke Langkah 1.
Langkah 1: Tentukan letak bilangan paling besar pada baris terbawah (cj-zj) dalam tabel
simpleks. Tentukan sebagai kolom kunci. Nilai cj-zj yang dipilih adalah 1003876,
maka seluruh kolom X2 ditandai, yang akan digunakan untuk menentukan nilai θ ,
kemudian lanjutkan ke Langkah 2.
Langkah 2: Cari nilai θ terkecil untuk menentukan bilangan basis dengan membagi nilai bi
dengan bilangan yang bersesuaian dengan kolom kunci. Jika terdapat dua bilangan
terkecil yang sama, maka dipilih salah satu. Jika tidak ada elemen positif dalam
kolom kunci, berarti tidak memiliki pemecahan. Setelah nilai bi dibagi dengan nilai
yang bersesuaian dengan kolom X2, maka diperoleh θ terkecil, yaitu 16,6. Hal ini
berarti yang menjadi nilai basis adalah kolom X2 dan baris X10, nantinya X10 akan
digantikan nilai X2, lanjutkan ke Langkah 3.
4

Langkah 3: Ganti nilai cb yang bersesuaian baris basis dengan nilai zj yang bersesuaian dengan
kolom kunci. Setelah X10, diganti dengan X2, maka nilai X2 di cb sekarang adalah
sama dengan nilai X2 di fungsi obyektif. Selanjutnya untuk mengganti isi matrik
baru lanjutkan ke Langkah 4.
Langkah 4 : Gunakan operasi elementer untuk mengubah elemen kunci menjadi 1 dan kemudian
reduksikan semua elemen lainnya dalam kolom kunci menjadi 0. Setelah dilakukan
operasi elementer, maka diperoleh hasil iterasi ke-1 seperti ditampilkan pada Tabel
9. Terlihat sekarang bahwa nilai X2 di cb sudah berubah, dan posisi X10 ditempati
oleh X2. Lanjutkan ke Langkah 5.
Langkah 5 : Ulangi Langkah 1 sampai 4 hingga tidak terdapat elemen >0 dalam baris terakhir,
dengan tidak memasukkan kolom terakhir. Dengan memperhatikan nilai cj dan cj-
cj, pada hasil iterasi pertama, ternyata belum memenuhi syarat optimal maka
dilakukan iterasi kembali. Pada kasus di atas diperoleh penyelesaian optimal pada
iterasi keempat. Lanjutkan ke Langkah 6.
Langkah 6: Penyelesaian optimal diperoleh dengan menetapkan nilai cj-zj <=0, dan tidak ada
variabel buatan yang bernilai >0. Nilai optimal fungsi obyektif adalah nilai-nilai
dalam baris terakhir-kolom terakhir. Hasil yang diperoleh pada akhir iterasi ke-4
ditampilkan pada Tabel 10. Sebagai perbandingan, hasil yang diperoleh dari
program aplikasi setelah iterasi ke-4 ditampilkan pada Gambar 9.

Gambar 9: Hasil yang diperoleh dari program aplikasi setelah iterasi ke-4

Tabel 8: Tabel awal simpleks secara manual


cj 2952,71 3875,9 1945,58 0 0 0 0 0 -1000000 -1000000 -1000000
cb xb\xj x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 bi teta
-1000000 x9 1 0 0 -1 0 0 0 0 1 0 0 33,33 #div/0!
-1000000 x10 0 1 0 0 -1 0 0 0 0 1 0 16,6 16,6
-1000000 x11 0 0 1 0 0 -1 0 0 0 0 1 28,3 #div/0!
0 x7 1 1 1 0 0 0 1 0 0 0 0 800 800
0 x8 950 624,08 504 0 0 0 0 1 0 0 0 1500000 2.403,538
zj -1000000 -1000000 -1000000 1000000 1000000 1000000 0 0 -1000000 -1000000 -1000000 -78230000
cj-zj 1002964 1003876 1001946 -1000000 -1000000 -1000000 0 0 0 0 0

Tabel 9: Tabel hasil iterasi ke-1 secara manual


-1000000 x9 1 0 0 -1 0 0 0 0 1 0 0 33,33
3875,9 x2 0 1 0 0 -1 0 0 0 0 1 0 16,6
-1000000 x11 0 0 1 0 0 -1 0 0 0 0 1 28,3
0 x7 1 0 1 0 1 0 1 0 0 -1 0 783,4
0 x8 950 0 504 0 624,08 0 0 1 0 -624,08 0 1489640
zj -1000000 3875,9 -1000000 1000000 15022601 1000000 0 0 -1000000 3875,9 -1000000 -61565660
cj-zj 1002964 0 1001946 -1000000 -15022601 -1000000 0 0 0 -1003876 0
1

Tabel 10: Tabel hasil iterasi ke-4 secara manual


2.952,71 x1 1 0 0 -1 0 0 0 0 1 0 0 33,33
3.875,9 x2 0 1 0 1 0 1 1 0 -1 0 -1 738,34
1.945,58 x3 0 0 1 0 0 -1 0 0 0 0 1 28,33
0 x5 0 0 0 1 1 1 1 0 -1 -1 -1 800.00
0 x8 0 0 0 325,92 0 -120,08 -624,1 1 -325,92 0 120,08 993.271,4
zj 2.952,71 3.875,9 1.945,58 911,76 0 1.930,32 3.875,9 0 -911,76 0 -1.930,32 3.015.703
cj-zj 0 0 0 -911,76 0 -1.930,32 -3.875,9 0 -999.088 -1.000.000 -998.070
Untuk melihat kebenaran hasil di atas, perlu diuji dengan mengecek kendala yang ada, yaitu:
X1>= 33,33 X2>=16,66 X3>=28,33 X1+X2+X3<= 800
961,57X1+62 4,08X2+504,41X3<=1500000
Cek kendala hasil, yaitu:
X1=33,33 X2=738,34 X3=28,33 X1+X2+X3=800,00
961,57(33,33)+(624,08(738,34)+504,41(28,33) = 507122,39
Dari hasil perhitungan, tampak bahwa nilai yang diperoleh memenuhi persyaratan kendala,
dengan fungsi obyektif sebagai berikut:

Tabel 11: Alokasi lahan yang disarankan


Tanaman Lahan minimal Biaya per M² (Rp) Untung per M² (Rp)
Jagung 33,33 m² 32.049,12 98.413,82
Kacang tanah 738,34 m² 460.783,22 2.861.746,77
Kedelai 28,33 m² 14.289,93 55.118,28
Terbukti bahwa hasil perhitungan yang diperoleh dari implementasi aplikasi DSS telah
memberikan hasil yang valid. Berdasarkan hasil pengujian program aplikasi, diketahui bahwa
aplikasi DSS yang dikembangkan dalam penelitan ini memiliki kelebihan, yaitu:
1. Tidak menuntut spesifikasi hardware dan software yang tinggi
2. Menggunakan menu Pull Down, sehingga mudah digunakan.
Sedangkan kekurangannya adalah:
1. Hanya mengijinkan maksimal 10 jenis tanaman pada setiap kali perhitungan.
2. Sistem tidak dapat melakukan perhitungan untuk sistem tumpangsari

KESIMPULAN
Beberapa hal yang dapat disimpulkan dari penelitian ini adalah sebagai berikut:
1. Aplikasi DSS yang dikembangkan dapat membantu para pemakai, khususnya para petani
untuk menentukan kombinasi pilihan jenis tanaman yang tepat, mengalokasikan luas lahan,
dan modal yang dimiliki agar diperoleh keuntungan maksimum.
2. Pendapatan dapat diprediksikan sebelumnya, sehingga kerugian dapat dihindari.
3. Petani masih dapat mengubah pilihan bibit setiap saat untuk mengantipasi perubahan harga
bibit, kondisi musim, dan faktor alami (misal hama).
Untuk penelitian lebih lanjut, masih dapat dilakukan, antara lain, aplikasi DSS dikembangkan
agar dapat melakukan analisis terhadap faktor kualitatif (seperti faktor musim, dan perubahan
harga) dan dapat melakukan analisis untuk lebih dari 10 jenis tanaman.

DAFTAR PUSTAKA
Jogianto H.M, 1990, Analisis dan Disain Sistem Informasi, Andi, Yogyakarta
Kendall, K.E. and kendall, J.E., 1995, System Analysis & Design, 3rd edition, A Simon &
Schurster Co., NJ
Turban, E., and Aronson, J.E., 2001, Decision Support Systems & Intelligent Systems, 6th
edition, Prentice Hall, New Jersey

View publication stats

Anda mungkin juga menyukai