SISTEM DATA RECORD TANAMAN
Oleh : CHRISTO OSVALDO DAMANIK F14102118
2010 DEPARTEMEN TEKNIK PERTANIAN FAKULTAS TEKNOLOGI PERTANIAN INSTITUT PERTANIAN BOGOR
SISTEM DATA RECORD TANAMAN
SKRIPSI Sebagai salah satu syarat untuk memperoleh gelar SARJANA TEKNOLOGI PERTANIAN Pada Departemen Teknik Pertanian Fakultas Teknologi Pertanian Institut Pertanian Bogor
Oleh : CHRISTO OSVALDO DAMANIK F14102118
DEPARTEMEN TEKNIK PERTANIAN FAKULTAS TEKNOLOGI PERTANIAN INSTITUT PERTANIAN BOGOR 2010
RIWAYAT HIDUP PENULIS
Penulis merupakan anak kedua dari dari bapak yang bernama Alexander Damanik dan ibu bernama Marsianna Saragih yang dilahirkan di Galang pada tanggal 27 September 1983. Penulis menyelesaikan pendidikan sekolah dasar di SD Inpres Merek pada tahun 1996. Penulis lalu melanjutkan pendidikan menengah di SLTP Negeri 4 P. Siantar dan tamat pada tahun 1999. Setelah itu, penulis melanjutkan pendidikan tingkat atas di SMU Negeri 4 P. Siantar dan tamat pada tahun 2002. Pada tahun 2002, penulis melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB) diterima di Jurusan Teknik Pertanian, Fakultas Teknologi Pertanian, Institut Pertanian Bogor dan memilih Sub Program Studi Teknik Sistem Informatika Pertanian. Selama menjadi mahasiswa di Institut Pertanian Bogor, menjadi anggota di Himpunan Profesi Mahasiswa Teknik Pertanian (HIMATETA). Penulis juga aktif di Unit Kegiatan Mahasiswa Persekutuan Mahasiswa Kristen (PMK) IPB di Komisi Literatur. Selain itu, penulis juga berpartisipasi di beberapa kepanitiaan kegiatan kampus organisasi mahasiswa daerah asal (OMDA). Penulis melakukan praktek lapangan di PTPN 4 Dolok Ilir, Sumatera Utara pada tahun 2005 dengan tema “Penerapan Aspek Keteknikan Pertanian Pada Produksi Crude Palm Oil di PTP Nusantara 4 Kebun Dolok Ilir, Sumatera Utara”. Sebagai salah satu syarat memperoleh gelar Sarjana Teknologi Pertanian, penulis menyelesaikan Skripsi yang berjudul ”Sistem Data Record Tanaman”.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa karena atas berkat dan karunia-Nya penulis akhirnya dapat menyelesaikan penelitian dan penulisan skripsi ”Sistem Data Record Tanaman”. Penulisan skripsi ini tidak akan selesai tanpa bantuan yang begitu berharga dari orang-orang yang berada di sekitar penulis. Penulis megucapkan terima kasih yang sebesar-besarnya kepada: 1. Dr. Ir. Emmy Darmawati, Msi. sebagai dosen pembimbing atas arahan, bimbingan, dan motivasinya kepada penulis selama menjalani masa perkuliahan hingga penyusunan skripsi ini. 2. Prof. Dr. Ir. Bambang Pramudya M.Eng sebagai dosen penguji skripsi. 3. Ir. Parlaungan Adil Rangkuti sebagai dosen penguji skripsi. 4. Bapak, Ibu, Kakak, Lae Girsang dan adikku yang telah memberikan kasih sayang, doa, serta dukungan secara moril dan materil kepada penulis dalam melakukan penelitian dan penyusunan skripsi. 5. Armiastho “Miaz” atas bantuannya dalam pemrograman Visual Basic. 6. Prima Damanik, Krisna Purba, Marintan Sitompul, Lisbeth Manurung dan Firdaus Simanjuntak atas doa, dukungan, dorongan dalam penyelesaian skripsi ini, dan juga kebersamaan selama ini. 7. Rekan-rekan TEP 39 atas kebersamaan dan pembelajaran selama masa studi. 8. Semua pihak yang telah membantu dalam penyelesaian skripsi ini. Semoga karya ilmiah ini dapat bermanfaat bagi semua pihak yang membutuhkan. Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini. Atas segala kekurangan yang ada dalam penulisan skripsi ini penulis mengharapkan kritik dan saran yang bersifat membangun.
Bogor, September 2010
Penulis
CHRISTO OSVALDO DAMANIK. F14102118. Sistem Data Record Tanaman. Di bawah bimbingan Dr. Ir. Emmy Darmawati, MSi. RINGKASAN Indonesia sebagai negara agraris memiliki kekayaan alam dan hayati beragam yang jika dikelola dengan tepat dapat menjadi salah satu andalan perekonomian Indonesia. Komoditas pertanian dengan keanekaragaman hayatinya yang bernilai tinggi serta diperkuat oleh kekayaan kultural yang sangat beragam mempunyai daya tarik kuat sebagai agrowisata. Pada budidaya tanaman agrowisata, proses budidaya tidak dilakukan secara massal ataupun seragam untuk semua tanaman, melainkan budidaya secara khusus per individu tanaman. Untuk mempermudah kegiatan monitoring dan pencatatan data pada budidaya tanaman agrowisata diperlukan sistem data record berbasis komputer. Penelitian ini bertujuan untuk merancang dan mengembangkan sistem data record tanaman berbasis komputer yang diharapkan dapat membantu kegiatan budidaya dan produksi tanaman. Metode yang digunakan dalam pembangunan sistem adalah dengan pendekatan System Development Life Cycle (SDLC) yang meliputi beberapa tahapan yaitu investigasi sistem, analisis sistem, desain sistem, implementasi sistem dan perawatan sistem. Berdasarkan investigasi yang dilakukan melalui studi pustaka terhadap beberapa literatur diketahui bahwa proses budidaya beberapa tanaman (terutama tanaman tahunan) memiliki kesamaan kegiatan budidaya. Kesamaan ini menjadi dasar asumsi untuk mengeneralisasi kegiatan budidaya tanaman agrowisata yang berupa tanaman buah tahunan. Dari hasil investigasi diketahui bahwa dalam kegiatan budidaya tanaman tahunan terdapat kegiatan yang dilakukan secara berulang selama umur produktifnya. Kegiatan yang berulang masuk kedalam kegiatan monitoring tanaman. Monitoring tanaman sangat dibutuhkan terutama untuk tanaman buah tahunan yang menjadi objek wisata pada kegaiatan agrowisata. Dalam kegiatan monitoring tersebut terjadi proses pencatatan dan penyimpanan data terhadap tiap-tiap individu tanaman. Jumlah tanaman yang banyak dan beragamnya jenis data yang dicatat dari tiap individu tanaman mengakibatkan jumlah data yang dikelola menjadi besar. Sistem pencatatan dan penyimpanan data secara manual (dalam bentuk hardcopy) menjadi kurang efektif karena sistem manual tidak memungkinkan untuk saling berbagi data sehingga beberapa data yang sama harus dicatat berulangkali dan mengakibatkan redudansi data. Selain itu, besarnya jumlah data yang dicatat dan disimpan menyulitkan proses retrieving data sehingga proses pengelolaan data menjadi kurang efisien. Untuk memudahkan proses pencatatan, penyimpanan dan pengelolaan data diperlukan mekanisme manajemen data terkomputerisasi agar lebih efektif dan efisien. Pada proses investigasi juga dilakukan uji kelayakan sistem terhadap kelayakan operasional dan kelayakan teknis. Selanjutnya dilakukan analisis sistem untuk mengidentifikasi kebutuhan informasi apa saja yang dibutuhkan untuk membangun sistem dan keluaran yang
dibutuhkan oleh pengguna sistem sistem. Hasil analisa sistem adalah teridentifikasinya data-data yang dibutuhkan untuk melakukan kegiatan monitoring tanaman buah tahunan. Data-data tersebut dibuat dalam bentuk basis data yang dibangun menggunakan Microsoft Access. Basis data dibangun dari 12 tabel data dalam bentuk relational data base. Ke dua belas tabel tersebut adalah tabel Tanaman, tabel Pupuk, tabel Pemupukan, tabel Pemupukan Detil, tabel Perawatan, tabel Perawatan Detil, tabel Jenis Perawatan, tabel Penyakit, tabel Obat, tabel Pengobatan, tabel Pengobatan Detil dan tabel Produksi.Lalu pada tahap desain sistem dilakukan perancangan database, user interface, dan proses yang berlangsung pada sistem agar dapat melakukan tujuan fungsional yang diharapkan dari sistem. Implementasi basis data dilakukan dengan membangun user interface dengan menggunakan bahasa pemrograman Visual Basic 6.0. User interface ditujukan untuk sarana komunikasi antara basis data dengan pengguna. Pengujian terhadap implementasi basis data dilakukan dengan menjalankan program dan basis data pada komputer dengan spesifikasi prosessor AMD sempron ™ 1,67 GHz, RAM 256 MB, pada sistem operasi Windows XP professional SP2. Hasil pengujian menunjukkan bahwa program telah berjalan sesuai dengan komunikasi yang dirancang dalam bentuk menu utama dan sub menu.
DAFTAR ISI DAFTAR ISI ........................................................................................................ i DAFTAR TABEL ................................................................................................ iii DAFTAR GAMBAR ........................................................................................... iv DAFTAR LAMPIRAN ........................................................................................ v I.
PENDAHULUAN ...................................................................................... 1 A. LATAR BELAKANG .......................................................................... 1 B. TUJUAN ............................................................................................... 2
II.
TINJAUAN PUSTAKA ............................................................................. 3 A. Agrowisata ............................................................................................ 3 B. Basis Data ............................................................................................. 4 C. Sistem Manajemen Basis Data .............................................................. 6 D. Monitoring ............................................................................................. 7
III.
METODE PENELITIAN ........................................................................... 8 A. WAKTU DAN TEMPAT ..................................................................... 8 B. ALAT DAN BAHAN ........................................................................... 8 C. PROSEDUR PENELITIAN ................................................................. 8
IV.
HASIL DAN PEMBAHASAN .................................................................. 11 A. INVESTIGASI SISTEM ...................................................................... 11 1. Kelayakan Operasional...................................................................... 12 2. Kelayakan Teknis ............................................................................. 13 B. ANALISIS SISTEM ............................................................................. 14 1. Identifikasi Kebutuhan ...................................................................... 14 2. Identifikasi Fungsional ...................................................................... 15 C. DESAIN SISTEM ................................................................................. 15 1. Desain Basis Data.............................................................................. 15 2. Desain Proses......................................................................................20 3. Desain User Interface ....................................................................... 26 D. IMPLEMENTASI SISTEM ................................................................. 27 1. User Interface Halaman Utama ........................................................ 27 2. User Interface Tanaman ................................................................... 28
i
3. User Interface Pemupukan ................................................................ 30 4. User Interface Perawatan .................................................................. 32 5. User Interface Pengobatan ................................................................ 34 6. User Interface Obat ........................................................................... 36 7. User Interface Jenis Penyakit ............................................................ 36 8. User Interface Jenis Perawatan ......................................................... 37 9. User Interface Jenis Pupuk ............................................................... 38 10. User Interface Pupuk....................................................................... 39 E. PERAWATAN SISTEM ...................................................................... 40 V.
KESIMPULAN DAN SARAN ................................................................... 42
DAFTAR PUSTAKA .......................................................................................... 43 LAMPIRAN ......................................................................................................... 44
ii
DAFTAR TABEL Tabel 1. Struktur Tabel Tanaman ......................................................................... 16 Tabel 2. Struktur Tabel Pupuk .............................................................................. 16 Tabel 3. Struktur Tabel Pemupukan .................................................................... 17 Tabel 4. Struktur Tabel Pemupukan Detail........................................................... 17 Tabel 5. Struktur Tabel Perawatan........................................................................ 17 Tabel 6. Struktur Tabel Perawatan Detail ............................................................. 18 Tabel 7. Struktur Tabel Jenis Perawatan............................................................... 18 Tabel 8. Struktur Tabel Penyakit .......................................................................... 18 Tabel 9. Struktur Tabel Obat................................................................................. 19 Tabel 10. Struktur Tabel Pengobatan.................................................................... 19 Tabel 11. Struktur Tabel Pengobatan Detail ......................................................... 19 Tabel 12. Struktur Tabel Produksi ........................................................................ 20
iii
DAFTAR GAMBAR Gambar 1. Tahapan-tahapan dalam System Development Life Cycle .................. 9 Gambar 2. Relasi Tabel Basis Data ..................................................................... 21 Gambar 3. Relasi data untuk menghasilkan monitoring kegiatan pemupukan..... 22 Gambar 4. Relasi data untuk menghasilkan monitoring kegiatan perawatan ....... 23 Gambar 5. Relasi data untuk menghasilkan monitoring penyakit ........................ 24 Gambar 6. Relasi data untuk menghasilkan monitoring produksi ........................ 25 Gambar 7. Struktur User Interface........................................................................ 26 Gambar 8. Tampilan halaman Menu Utama ......................................................... 27 Gambar 9. Tampilan halaman Menu Tanaman..................................................... 28 Gambar 10. Contoh laporan pengobatan detail..................................................... 30 Gambar 11. Tampilan halaman Menu Pemupukan............................................... 31 Gambar 12. Tampilan halaman Menu Detail Pemupukan .................................... 32 Gambar 13. Tampilan halaman Menu Perawatan ................................................ 33 Gambar 14. Tampilan halaman Menu Detail Perawatan ..................................... 34 Gambar 15. Tampilan halaman Menu Pengobatan .............................................. 35 Gambar 16. Tampilan halaman Menu Detail Pengobatan .................................... 35 Gambar 17. Tampilan halaman Menu Jenis Obat................................................. 36 Gambar 18. Tampilan halaman Menu Jenis Penyakit........................................... 37 Gambar 19. Tampilan halaman Menu Jenis Perawatan ........................................ 38 Gambar 20. Tampilan halaman Menu Jenis Pupuk ............................................. 39 Gambar 21. Tampilan halaman Menu produksi ................................................... 40
iv
DAFTAR LAMPIRAN
Lampiran 1. Daftar Kegiatan Budidaya Beberapa Tanaman Tahunan.………….44 Lampiran 2. Kode Program..….......………………...........................................…49
v
I. PENDAHULUAN
A. LATAR BELAKANG Indonesia sebagai negara agraris memiliki kekayaan alam dan hayati beragam yang jika dikelola dengan tepat dapat menjadi salah satu andalan perekonomian Indonesia. Komoditas pertanian (mencakup tanaman pangan, hortikultura, perkebunan, kehutanan, perikanan dan peternakan) dengan keanekaragaman hayatinya yang bernilai tinggi serta diperkuat oleh kekayaan kultural yang sangat beragam mempunyai daya tarik kuat sebagai obyek agrowisata. Agrowisata merupakan salah satu usaha bidang pertanian yang memiliki potensi menunjang pembangunan agribisnis dan menjadi sebuah produk yang memliki daya saing global. Kegiatan agrowisata memanfaatkan usaha agro sebagai objek wisata dengan tujuan memperluas pengetahuan, pengalaman, rekreasi dan hubungan usaha bidang pertanian. Peluang perkembangan agrowisata di Indonesia masih terbuka lebar mengingat potensi kekayaan alam dan hayati di Indonesia yang cukup tinggi. Dengan semakin tingginya minat masyarakat pada wisata agro (agrowisata), dipandang dari sisi ekonomis, agrowisata berpotensi menjadi salah satu produk andalan kegiatan agribisnis. Perkembangan agrowisata terkait erat pada beberapa faktor yang salah satunya adalah faktor penerapan teknologi tepat guna pada proses budidaya tanaman. Berbeda dari budidaya tanaman secara umum, proses budidaya tanaman agrowisata membutuhkan perhatian yang lebih intensif. Hal dikarenakan dalam kegiatan agrowisata tanaman merupakan obyek utama yang menjadi daya tarik bagi pengunjung, sehingga tanaman diusahakan agar selalu berada pada kondisi yang baik dan berkwalitas tinggi. Untuk mendapatkan tanaman yang berkwalitas tinggi, budidaya tanaman agrowisata tidak dilakukan secara seragam untuk semua tanaman seperti pada pertanian pada umumnya, melainkan budidaya intensif per individu tanaman. Setiap individu tanaman memerlukan perlakuan yang spesifik berdasarkan kebutuhannya. Untuk dapat
1
mengetahui kondisi dan kebutuhan tanaman dilakukan monitoring dan pencatatan data setiap tanaman. Untuk mempermudah kegiatan monitoring dan pencatatan data diperlukan sistem data record berbasis komputer. Dengan adanya sistem data record berbasis komputer diharapkan mampu meningkatkan efektifitas dan efisiensi dalam proses budidaya tanaman, sehingga tanaman dapat tumbuh dengan baik dan berproduksi optimal. Mengingat tanaman berfungsi sebagai objek wisata, kualitas tanaman yang baik dengan tingkat produktifitas yang tinggi akan meningkatkan minat wisatawan untuk berkunjung. Selain itu data-data yang tercatat juga dapat menjadi daya tarik tersendiri bagi para pengunjung.
B. TUJUAN Tujuan penelitian ini adalah : 1. Membagun basis data kegiatan budidaya tanaman khususnya pada kegiatan perawatan tanaman. 2. Membangun aplikasi sistem data record individu tanaman untuk monitoring perawatan tanaman .
2
II. TINJAUAN PUSTAKA
A. Agrowisata Agrowisata merupakan bagian dari obyek wisata yang memanfaatkan usaha pertanian (agro) sebagai obyek wisata. Tujuannya adalah untuk memperluas pengetahuan, pengalaman rekreasi, dan hubungan usaha di bidang pertanian. Jadi agrowisata pada prinsipnya merupakan kegiatan industri yang mengharapkan kedatangan konsumen secara langsung di tempat wisata yang diselenggarakan. Agrowisata adalah wisata yang memanfaatkan obyek-obyek pertanian (Tritawinata dan Fachruddin, 1998). Arifin (2004) mendefenisikan kegiatan agrowisata sebagai salah satu kegiatan rekreasi alam dan ruang terbuka, baik secara aktif maupun pasif. Menurut Budianto (2002) agrowisata boleh dianggap sebagai produk sampingan agroindustri, yang sesungguhnya dapat menjadi pilar penting dalam agroekonomi sebab dari wisata ini dapat diraup penghasilan tambahan yang menjanjikan jika industri ini disiapkan dan dikelola dengan baik agar aman, sehat dan menyenangkan. Secara umum ruang lingkup dan potensi agrowisata yang dapat dikembangkan berupa: a.
Kebun raya, daya tarik yang dapat ditawarkan kepada wisatawan mencakup kekayaan flora (pohon-pohonan, bunga-bungaan dan jenis tumbuhan lain), keindahan pemandangan serta kesegaran udara.
b.
Perkebunan, daya tarik yang ditawarkan berupa daya tarik historis dari perkebunan tersebut, pemandangan, udara segar, cara tradisional dalam pola tanam, pemeliharaan, pengelolaan serta perkembangan teknik pengelolaan.
c.
Tanaman pangan dan hortikultura, daya tarik yang ditawarkan berbagai proses kegiatan mulai dari kegiatan pra-panen hingga pascapanen.
d.
Perikanan, daya tarik yang ditawarkan berbagai proses budidaya perikanan.
3
B. Basis Data Basis data (database) adalah suatu kumpulan data komputer yang terintegrasi, diatur dan disimpan menurut suatu cara yang memudahkan pengambilan kembali (McLeod, 1995). Septanto (1997) mendefinisikan basis data sebagai kumpulan dari informasi yang berhubungan dengan obyek atau tujuan khusus. Ditegaskan pula oleh Sutanta (1996), bahwa basis data merupakan suatu kumpulan data yang terhubung dan disimpan secara bersamasama pada suatu media, sehingga mudah untuk digunakan atau ditampilkan kembali. Menurut Kristanto (2000), basis data adalah kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci dari tiap file yang ada. Kumpulan file-file tersebut mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan suatu obyek dalam batasan tertentu. Basis data adalah sekumpulan data yang disimpan dalam format yang dibakukan dan dirancang sedemikian rupa untuk bisa digunakan secara bersama-sama oleh pengguna (Gerarld V. Post, 1999). Secara lengkap,
pemanfaatan basis data dilakukan untuk memenuhi
sejumlah tujuan (objektif) seperti berikut ini: 1. Kecepatan dan kemudahan (speed) Pemanfaatan basis data dapat memungkinkan operator untuk menyimpan data atau melakukan perubahan atau manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah dibandingkan dengan secara manual (non elektronis) atau secara elektronis (tetapi tidak dalam bentuk penerapan basis data, misalnya dalam bentuk spread sheet atau dokumen teks biasa). 2. Efisiensi ruang penyimpanan (space) Karena keterkaitan yang erat antar kelompok data dalam sebuah basis data, maka redundasi (pengulangan) data pasti akan selalu ada. Banyaknya redundasi tentu akan memperbesar ruang penyimpanan (baik di memori utama maupun memori sekunder) yang harus disediakan. Dengan basis data, efisiensi/optimalisasi penggunaan ruang penyimpanan dapat dilakukan, karena operator dapat melakukan penekanan jumlah redundasi data, baik
4
dengan menerapkan sejumlah pengkodean atau dengan membuat relasirelasi (dalam bentuk file) antar kelompok data yang saling berhubungan. 3. Keakuratan (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data, dan sebagainya, secara ketat dapat diterapkan dalam sebuah basis
data,
sangat
berguna
untuk
menekan
ketidakakuratan
pemasukan/penyimpanan data. 4. Ketersediaan (Availability) Pertumbuhan data (baik dari sisi jumlah maupun jenisnya) sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Padahal tidak semua data itu selalu digunakan/dibutuhkan. Karena itu operator dapat memilah adanya data utama/master/referensi, data transaksi, data histori hingga data kadaluarsa. Data yang sudah jarang atau bahkan tidak pernah lagi digunakan, dapat diatur untuk dilepaskan dari sistem basis data yang sedang aktif (menjadi off-line) baik dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan off-line (seperti removable disk, atau tape). Di sisi lain, karena kepentingan pemakaian data, sebuah basis data dapat memiliki data yang tersebar di banyak lokasi geografis. 5. Kelengkapan (Completeness) Lengkap/tidaknya data yang yang dikelola dalam sebuah basis data bersifat relatif (baik terhadap kebutuhan pemakai maupun terhadap waktu). Dalam sebuah basis data, disamping data operator juga harus menyimpan stuktur (baik yang mendefinisikan objek-objek dalam basis data maupun definisi detail dari tiap objek, seperti struktur file/tabel atau indeks). Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, operator tidak hanya dapat menambah record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field baru pada suatu tabel.
5
6. Keamanan (Security) Memang ada sejumlah sistem (aplikasi)
pengelola basis data yang tidak
menerapkan aspek keamanan dalam penggunaan basis data. Tetapi untuk sistem yang besar dan serius, aspek keamanan juga dapat diterapkan dengan ketat.
Kita
dapat
menentukan
siapa-siapa
(pemakai)
yang
boleh
menggunakan basis data beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukan.
7. Kebersamaan pemakaian (Sharability) Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau oleh satu sistem/aplikasi saja. Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multi user, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga/menghindari terhadap munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data) (Fathansyah, 1999).
C. Sistem Manajemen Basis Data Sistem Manajemen Basis Data (SMBD) merupakan kumpulan file yang saling berkaitan bersama dengan program untuk pengelolanya (Kristanto, 2000 di dalam Rukmono, 2004). Basis data adalah kumpulan datanya, sedangkan program
pengelolanya berdiri sendiri dalam satu paket program yang
kormesial untuk membaca, mengisi, menghapus dan melaporkan data dalam basis data. Program tersebut menyediakan berbagai fasilitas operasi untuk memasukkan data ke dalam basis data, melacak dan memodifikasi data dalam basis data, mendefinisikan data baru, memutakhirkan data, mengkonversi data, serta mengolah data menjadi informasi yang diperlukan. Koleksi terpadu program utilitas ini dapat dipandang sebagai lapisan antar (interface) antara pengguna dengan data yang tersimpan dalam basis data.
6
Menurut Waljiyanto(2000), kegunaan utama sistem basis data adalah pemakai mampu menyusun suatu pandangan abstraksi data. Basis data pada umumnya digunakan oleh beberapa pemakai untuk kepentingan pengguna yang berbeda pula. Data yang diperlukan bisa saja secara eksplisit tersimpan dalam data, ataupun pemakai harus melakukan pemrosesan
sendiri untuk
memperoleh data atau informasi yang diinginkan. Dengan demikian data menjadi terintegrasi dalam sistem basis data. D. Monitoring Menurut Dahlan (1998) dalam Widarto (1999) monitoring dapat diartikan sebagai kegiatan mengamati dan mengawasi yang dilakukan secara terus menerus atau berlaku di setiap tingkatan manajemen atau pengelola suatu kegiatan, untuk memastikan bahwa pengadaan atau penggunaan input, hasil yang ditargetkan dan tindakan-tindakan lainnya yang diperlukan dilaksanakan sesuai dengan rencana. Tujuan monitoring adalah: 1. Untuk meyakinkan bahwa masukan dan keluaran telah berjalan sesuai dengan perencanaan. 2. Untuk membuat dokumen tentang kegunaaan masukan, aktivitas dan hasil. 3. Untuk menjaga deviasi dari tujuan awal dan hasil yang diharapkan. Monitoring juga merupakan kegiatan yang teratur dan berkesinambungan dan dilakukan pada waktu suatu kegiatan sedang berlangsung sehingga sebenarnya monitoring adalah evaluasi di saat kegiatan sedang berlangsung.
7
III. METODE PENELITIAN
A. WAKTU DAN TEMPAT Penelitian dilaksanakan mulai Desember 2008 sampai dengan Oktober 2009 di Bagian Sistem Manajemen dan Mekenisasi Pertanian FATETA IPB.
B. ALAT DAN BAHAN 1. Alat Alat yang dipergunakan dalam penelitian ini: 1. PC (AMD Sempron(tm) 1.67 GHz, RAM 256 MB) 2. Sistem Operasi Microsoft Windows XP Profesional SP 2 3. Visual Basic 6.0 4. MS Office Access 2002 2. Bahan Bahan yang digunakan untuk membangun sistem ini adalah data-data sekunder bersumber pada pustaka bacaan berupa tulisan populer, jurnal ilmiah dan literatur.
C. PROSEDUR PENELITIAN Metode perancangan sistem informasi yang digunakan pada penelitian ini adalah System Development Life Cycle (SDLC). Terdapat lima tahapan dalam SDLC, yaitu investigasi, analisis, desain, implementasi, dan perawatan, tersaji pada Gambar 1. Berikut adalah penjelasan dari tiap tahap. 1. Investigasi Sistem Penentuan masalah dan studi kelayakan untuk menentukan kelayakan terhadap sistem yang akan dibangun. Ruang lingkup sistem basis data yang dibangun pada penelitian ini adalah untuk operasional monitoring individu tanaman, maka studi kelayakan yang dilakukan adalah kelayakan operasional dan teknis dari sistem basis data. 2. Analisis Sistem Menganalisis sistem berarti menentukan kebutuhan untuk semua komponen utama dari suatu sistem informasi, tetapi secara khusus perhatian
8
ditujukan pada kebutuhan output, input, proses, data dan lingkup proses (O’Brien, 1999). Analisis sistem
yang dilakukan meliputi identifikasi
kebutuhan user dan identifikasi fungsional sistem. Proses analisis dapat dilakukan dengan cara memecah sistem menjadi beberapa bagian sub-sistem untuk kemudian dianalisis fungsi dan tujuan yang ingin dicapai dari setiap sub-sistem. Investigasi Sistem
Analisis Sistem
Desain Sistem
Implementasi Sistem
Perawatan Sistem Gambar 1. Tahapan-Tahapan Dalam System Development Live Cycle (O’Brien, 1999)
3. Desain Sistem Tahap desain sistem menyangkut tiga kegiatan yaitu, desain basis data, desain proses dan desain user interface. a. Desain Basis Data Desain basis data merupakan kegiatan invetarisasi data dan pembangunan file-file data ke dalam bentuk file data yang efektif untuk memudahkan administrator data dalam mengimplementasikan program aplikasi. Basis data dibangun menggunakan Microsoft Access 2003.
9
b. Desain Proses Desain proses yang dimaksud dalam penelitian ini meliputi rancangan masukan, keluaran, editing dan proses pencarian data. Pada tahap ini dibangun relasi antar file data yang telah dihasilkan di tahap desain basis data untuk menghasilkan operasional data yang efisien. Pembangunan relasi antar file data dilakukan menggunakan software Microsoft Visual Basic 6.0 c. Desain User Interface Aktivitas desain user interface berfokus pada dukungan terhadap interaksi antara pengguna dan aplikasi berbasis komputernya. Desainer berkonsentrasi pada bentuk desain dari sistem monitoring dengan tujuan untuk memberikan kemudahan penggunakan berinteraksi dengan sistem melalui layar monitor. 4. Implementasi Sistem Implementasi sistem dilakukan dengan menguji coba sistem basis data yang telah dibangun. Parameter uji yang digunakan adalah proses berjalannya sistem sesuai dengan desain proses yang ditetapkan pada tahap desain proses. 5. Perawatan Sistem Perawatan sistem yang dimaksud pada penelitian ini adalah tersedianya fasilitas updating data untuk merawat keakuratan dan keterbaruan data yang dihasilkan.
10
IV. HASIL DAN PEMBAHASAN
A. INVESTIGASI SISTEM Agrowisata merupakan salah satu usaha bidang pertanian yang memiliki potensi menunjang pembangunan agribisnis. Peluang pengembangan usaha agrowisata di Indonesia memiliki prospek yang cukup menjanjikan, hal ini dikarenakan tingginya minat masyarakat terhadap jenis wisata agro. Beberapa usaha agrowisata yang cukup terkenal antara lain Taman Buah Mekarsari (Cileungsi, Bogor),
perkebunan apel Kusuma Agrowisata (Batu Malang),
Taman Bunga Nusantara (Cipanas, Cianjur) dan Kebun Raya Bogor (Bogor). Selain agrowisata yang sudah dikelola pada skala industri oleh pemerintah ataupun instansi, usaha agrowisata juga telah dilakukan pada skala kecil oleh petani seperti yang dilakukan oleh para petani strwberry di daerah Ciwidey Bandung dan para petani anggota Kelompok Usaha Bersama Agribisnis (KUBA) di Malang yang membudidayakan tanaman salak. Dari beberapa jenis usaha agrowisata, agrowisata untuk tanaman bunga dan buah-buahan merupakan jenis agrowisata yang lebih banyak diminati. Untuk menunjang kegiatan usaha agrowisata diperlukan beberapa faktor pendukung dimana salah satunya adalah faktor teknologi. Dalam sebuah penelitian tentang rancangan kawasan sentra pengembangan (KSP) salak yang dilakukan oleh Kelompok Usaha Bersama Agribisnis (KUBA) di Malang, salah satu sasaran yang ingin dicapai adalah pengembangan sistem teknologi informasi sebagai salah satu faktor penunjang kegiatan agribisnis. Agrowisata sebagai bagian dari agribisnis memanfaatkan tanaman sebagai objek wisata. Dalam kaitannya sebagai objek wisata, setiap individu tanaman diusahakan memiliki kwalitas yang baik agar dapat menjadi daya tarik yang menarik minat para pengunjung. Untuk mendapatkan kwalitas tanaman yang baik dilakukan proses budidaya yang intensif terhadap setiap individu tanaman. Proses budidaya yang intensif dapat dilakukan dengan memanfaatkan teknologi informasi sebagai sarana melakukan recording dan monitoring tanaman.
11
Berdasarkan investigasi yang dilakukan melalui studi pustaka terhadap beberapa literatur diketahui bahwa proses budidaya beberapa tanaman (terutama tanaman tahunan) memiliki kesamaan kegiatan budidaya. Kesamaan ini menjadi dasar asumsi untuk mengeneralisasi kegiatan budidaya tanaman agrowisata yang berupa tanaman buah tahunan (data kegiatan budidaya beberapa tanaman buah menahun disajikan pada Lampiran 1). Dari hasil investigasi juga diketahui terjadi kegiatan monitoring terhadap individu tanaman. Dalam kegiatan monitoring tersebut terjadi proses pencatatan dan penyimpanan data terhadap tiap-tiap individu tanaman. Jumlah tanaman yang banyak dan beragamnya jenis data yang dicatat dari tiap individu tanaman mengakibatkan jumlah data yang dikelola menjadi besar. Sistem pencatatan dan penyimpanan data secara manual (dalam bentuk hardcopy) menjadi kurang efektif karena sistem manual tidak memungkinkan untuk saling berbagi data sehingga beberapa data yang sama harus dicatat berulangkali dan mengakibatkan redudansi data. Selain itu, besarnya jumlah data yang dicatat dan disimpan menyulitkan proses retrieving data sehingga proses pengelolaan data menjadi kurang efisien. Untuk memudahkan proses pencatatan, penyimpanan dan pengelolaan data diperlukan mekanisme manajemen data terkomputerisasi agar lebih
efektif dan efisien. Perancangan Sistem Data
Record Individu Tanaman bertujuan untuk membuat sistem basis data yang terstruktur agar data-data yang disimpan tepat guna, mencegah redudansi data dan juga memungkinkan saling berbagi data dengan aplikasi lainnya sehingga sistem menjadi lebih efektif. User interface merupakan fasilitias yang dirancang untuk memudahkan pengguna dalam proses updating dan retrieving data dibandingkan sistem recording data secara manual. Dalam proses investigasi dilakukan studi kelayakan untuk mengetahui kelayakan sistem yang didasarkan pada aspek operasional dan teknis. 1. Kelayakan Operasional Secara operasional sistem yang dibangun mempertimbangkan beberapa aspek, antara lain: a. Sistem dibangun menjadi satu program komputer yang utuh dalam format .exe sehingga program dapat diinstall tanpa pengguna harus ahli
12
dalam menggunakan software Visual Basic atau software basis data yang digunakan untuk membangun sistem ini. b. User interface dirancang dengan prinsip user friendly untuk memudahkan pengguna berinteraksi dengan sistem. c. Sistem yang dikembangkan memberi kemudahan dalam pembaharuan data (updating) melalui user interface yang disediakan sehingga tidak dibutuhkan operator khusus yang ahli mengenai sistem basis data . Sistem yang dibangun dapat dioperasikan oleh pengguna dengan kemampuan komputer tingkat dasar. Tingkat dasar yang dimaksud dalam tulisan ini adalah kemampuan mengoperasikan komputer dan berinteraksi dengan software siap pakai seperti software berformat .exe. Saat ini sumber daya manusia yang berkemampuan seperti yang dimaksud cukup tersediannya, sehingga dari aspek operasional sistem tidak akan ada kendala. 2. Kelayakan Teknis Sistem dibangun dalam format executeble file (.exe) sehinnga dapat diinstal pada unit komputer tanpa harus menginstall software pembagun sistem yaitu Microsoft Visual Basic dan Microsoft Acces. Sistem yang dibangun dapat bekerja dengan baik pada unit komputer dengan spesifikasi processor Pentium IV, RAM 128 MB dan sistem operasi Windows XP. Dengan semakin pesatnya perkembangan teknologi komputer terkini dan beragamnya varian komputer dengan berbagai harga maka spesifikasi yang dibutuhkan untuk menjalankan sistem ini dapat dikategorikan spesifikasi yang minimum. Dengan demikian sistem yang dibangun memenuhi studi kelayakan teknis.
13
B. ANALISIS SISTEM Pada tahap analisis sistem, dilakukan identifikasi kebutuhan pengguna dan indentifikasi fungsional sistem. 1. Identifikasi Kebutuhan Dalam identifikasi kebutuhan, hal yang menjadi acuan adalah siapakah yang akan menggunakan sistem dan informasi yang dibutuhkan untuk membuat sistem yang berguna untuk pengguna tersebut. Sistem ini dapat digunakan oleh perorangan maupun oleh lembaga atau instansi yang berkepentingan dalam kegiatan budidaya tanaman, baik budidaya beskala berkebun oleh petani ataupun skala industri. Sistem ini memberikan fungsi pencatatan yang dapat dijadikan acuan dalam proses monitoring kegiatan budidaya tanaman. Berdasarkan studi pustaka terhadap beberapa literatur diperoleh data-data kegiatan budidaya yang umum dilakukan pada budidaya tanaman tahunan yang dijadikan acuan penentuan jenis informasi yang dibutuhkan oleh pengguna (tabel kegiatan budidaya beberapa tahunan pada Lampiran 1). Dari proses investigasi tentang kebutuhan informasi pengguna sistem, diperoleh jenis-jenis informasi yang dibutuhkan sebagai berikut: a. Informasi identitas tanaman Informasi identitas tanaman meliputi data-data tanggal tanam, nama tanaman, varietas tanaman dan lokasi tanaman tersebut. b. Informasi kegiatan perawatan Informasi kegiatan perawatan yang dibutuhkan berupa data tanggal terjadinya suatu perawatan terhadap tanaman dan jenis perawatan yang dilakukan. c. Informasi kegiatan pemupukan Informasi kegiatan pemupukan mencatat data-data tanggal pemupukan, jenis-jenis pupuk yang diberikan serta dosis setiap pupuk yang diberikan. d. Informasi penyakit tanaman dan penanggulanggannya Informasi ini mencatat data-data tanggal terjadinya suatu penyakit, jenis penyakit yang terjadi dan obat-obat yang diberikan untuk menanggulangi beserta dosisnya.
14
e. Informasi kegiatan produksi Informasi yang dibutuhkan berupa data-data tanggal pemanenan (pemetikan buah) dan jumlah buah yang dihasilkan.
2. Identifikasi Fungsional Secara khusus sistem ini dirancang dan dibangun berdasarkan kebutuhan pada proses budidaya tanaman agrowisata. Namun secara umum sistem ini dapat dipergunakan dalam proses budidaya tanaman lain selama memiliki proses budidya yang sama. Dengan demikian sistem ini dapat dipergunakan secara luas oleh perusahaan, instansi, kelompok usaha tani, petani dan pihak-pihak lain yang berkaitan dalam kegiatan monitoring proses budidaya tanaman. Tujuan pengembangan sistem ini adalah untuk mencatat, menyimpan dan mengelola data-data tanaman yang dapat digunakan dalam proses monitoring tanaman. Untuk keperluan tersebut sistem ini menyediakan fungsi-fungsi sebagai berikut: a. Fungsi Pemasukan Data untuk melakukan entry data kedalam sistem. b. Fungsi Edit Data untuk memodifikasi data yang tersimpan dalam sistem. c. Fungsi Hapus Data untuk menghapus data yang tersimpan dalam sistem. d. Fungsi Cetak Data untuk mencetak laporan dari data-data dalam sistem. e. Fungsi penelusuran data untuk memudahkan pencarian data yang dibutuhkan pengguna C. DESAIN SISTEM 1. Desain Basis Data Desain basis data sistem ini dibangun menggunakan Microsoft Access 2002. Basis data yang dibangun terdiri dari 12 tabel yang saling berelasi membangun satu basis data yang utuh. Berikut adalah struktur data dari tabel-tabel yang terlibat dalam basis data ini: a. Data identitas tanaman Tabel Tanaman (Tabel 1) merupakan basis data yang menyimpan data-data identitas tanaman. Data-data yang dicatat adalah data nama
15
tanaman, varietas tanaman, lokasi tanaman dan tanggal penanaman. Lokasi tanaman dilapang dinyatakan dalam bentuk koordinat XY. Primary key yang ditetapkan adalah id_tanaman. Tabel 1. Struktur Tabel Tanaman Nama Field
Tipe Data
id_tanaman
Text
Keterangan ID tabel
tanggal_tanam
Tanggal
Tanggal penanaman
nama_tanaman
Text
Nama tanaman
varietas
Text
Varietas
lokasi
Text
Lokasi tanaman
b. Data pada kegiatan pemupukan Data-data pemupukan terkait kegiatan pemupukan dirancang dalam tiga tabel, yaitu Tabel Pupuk, Tabel Pemupukan dan Tabel Pemupukan Detail. Struktur tabel-tabel tersebut berturut-turut dinyatakan pada Tabel 2, Tabel 3 dan Tabel 4. Tabel 2. Struktur Tabel Pupuk Nama Field
Tipe Data
Keterangan
id_pupuk
Text
ID tabel
jenis_pupuk
Text
Jenis pupuk
nama_pupuk
Text
Merek dagang pupuk
satuan
Text
Jenis satuan
Tabel Pupuk (Tabel 2) merupakan tabel basis pupuk. Basis data ini menyimpan data-data mengenai jenis pupuk, nama/merek dagang pupuk dan jenis satuan besaran yang digunakan dalam pemberian dosis pupuk. id_pupuk digunakan sebagai primary key tabel basis data pupuk.
16
Tabel 3. Struktur Tabel Pemupukan Nama Field
Tipe Data
id_pemupukan
Text
tanggal
Tanggal
id_tanaman
Text
Keterangan ID tabel Tanggal pemupukan ID tabel
Tabel 4. Struktur Tabel Pemupukan Detail Nama Field
Tipe Data
Keterangan
id_pemupukan
Text
ID tabel
id_pupuk
Text
ID tabel
jumlah
Long Integer
Dosis yang diberikan
Tabel Pemupukan (Tabel 3) merupakan tabel basis data kegiatan pemupukan. Basis data ini mencatat waktu terjadinya kegiatan pemupukan terhadap setiap individu tanaman tertentu. Primary key yang ditetapkan adalah id_pemupukan sehingga setiap kegiatan pemupukan bersifat unik untuk setiap kegiatan pemupukan walaupun tanaman yang dipupuk adalah tanaman yang sama dipupuk pada tanggal berbeda atau tanaman berbeda yang dipupuk pada tanggal yang sama. Tabel Pemupukan Detail (Tabel 4) adalah tabel basis data yang mencatat dosis pupuk yang diberikan pada setiap kegiatan pemupukan. c. Data pada kegiatan Perawatan Data kegiatan perawatan dirancang dalam tiga tabel, yaitu Tabel Perawatan (Tabel 5) , Tabel Perawatan Detail (Tabel 6) dan Tabel Jenis Perawatan (Tabel 7). Tabel 5. Struktur Tabel Perawatan Nama Field
Tipe Data
Keterangan
id_tanaman
Text
ID tabel
id_perawatan
Text
ID tabel
tanggal
Tanggal
Tanggal perawatan
17
Tabel Perawatan (Tabel 5) merupakan tabel basis data yang mencatat waktu terjadinya kegiatan perawatan. id_perawatan ditetapkan sebagai primary key tabel untuk menyatakan bahwa setiap kegiatan perawatan adalah unik untuk setiap waktu terjadinya perawatan dan individu tanaman yang mendapatkan perawatan.
Tabel 6. Struktur Tabel Perawatan Detail Nama Field
Tipe Data
Keterangan
id_perawatan
Text
ID tabel
id_jenis_perawatan
Text
ID tabel
Tabel 7. Struktur Tabel Jenis Perawatan Nama Field
Tipe Data
Keterangan
id_jenis_perawatan
Text
ID tabel
jenis_perawatan
Text
Jenis perawatan
Tabel Perawatan Detail (Tabel 6) digunakan sebagai penghubung Tabel Perawatan dengan Tabel Jenis Perawatan yang merupakan basis data jenis-jenis perawatan (Tabel 7). Id_perawatan dan id_jenis perawatan ditetapkan sebagai primary key. d. Data terkait penyakit tanaman dan penanggulanggannya Data terkait penyakit berisi data-data penyakit yang terjadi pada tanaman dan data-data obat yang digunakan untuk penanggulangannya. Data-data tersebut dirancang dalam tiga tabel, yaitu Tabel Penyakit (Tabel 8) , Tabel Obat (Tabel 9), dan Tabel Pengobatan Detail (Tabel 10). Tabel 8. Struktur Tabel Penyakit Nama Field
Tipe Data
Keterangan
id_penyakit
Text
ID tabel
nama_penyakit
Text
Nama/jenis penyakit
18
Tabel Penyakit (Tabel 8) adalah basis data jenis-jenis penyakit dengan id_penyakit digunakan sebagai primary key tabel.
Tabel 9. Struktur Tabel Obat Nama Field
Tipe Data
Keterangan
id_obat
Text
ID tabel
jenis_obat
Text
Jenis obat
nama_obat
Text
Merek dagang obat
satuan
Text
Jenis satuan
Tabel Obat (Tabel 9) merupakan tabel basis data obat. Basis data ini menyimpan data-data mengenai jenis obat, nama/merek dagang obat dan jenis satuan besaran yang digunakan dalam pemberian dosis obat. id_obat digunakan sebagai primary key tabel basis data obat. Tabel Pengobatan (Tabel 10) merupakan tabel basis data kegiatan pengobatan. Basis data ini mencatat waktu terjadinya kegiatan pengobatan terhadap setiap individu tanaman tertentu. Jenis penyakit, jenis obat dan dosis obat yang diberikan pada proses pengobatan dicatat kedalam basis data pada Tabel Pengobatan Detail (Tabel 11). Tabel 10. Struktur Tabel Pengobatan Nama Field id_pengobatan tanggal id_tanaman
Tipe Data Text Tangggal Text
Keterangan ID tabel Tanggal pengobatan ID tabel
Tabel 11. Struktur Tabel Pengobatan Detail Nama Field
Tipe Data
Keterangan
id_pengobatan
Text
ID tabel
id_penyakit
Text
ID tabel
id_obat
Text
ID tabel
dosis_obat
Long Integer
Dosis yang diberikan
19
e. Data pada kegiatan produksi Tabel Produksi (Tabel 12) merupakan basis data terkait data-data mengenai jumlah buah yang dihasilkan tanaman. Pada tabel produksi terdapat dua grade yaitu: 1) buah grade A, yaitu buah yang memenuhi standard kwalitas yang ditetapkan pengguna; dan 2) buah kategori lainnya, yaitu buah yang tidak memenuhi standard grade A. Untuk kegiatan agrowisata pada umumnya buah yang diharapkan untuk dijadikan sebagai objek wisata panen adalah buah-buah yang ada pada grade A. Tabel 12. Struktur Tabel Produksi Nama Field
Tipe Data
Keterangan
id_produksi
Text
ID tabel
id_tanaman
Text
ID tabel
tanggal
Tanggal
Tanggal pemanenan
grade_a
Long Integer
Jumlah grade A (kg)
lainnya
Long Integer
Jumlah selain grade A (kg)
Tabel-tabel basis data yang dirancang dihubungkan sedemikian rupa agar dapat menghasilkan informasi yang diiginkan. Hubungan (relationship) antar tabel secara umum seperti terlihat pada Gambar 1.
2. Desain Proses Desain proses adalah perancangan proses yang terjadi pada sistem dalam mengolah masukan dari pengguna dan basis data menjadi keluaran yang dibutuhkan oleh pengguna. Keluaran yang dihasilkan oleh sistem nantinya akan dipergunakan untuk keperluan monitoring tanaman. a. Informasi Identitas Tanaman Informasi identitas tanaman disimpan didalam basis data pada tabel Tanaman. Kegiatan recording dan monitoring identitas tanaman dilakukan melalui tabel ini berdasarkan fungsional yang disediakan oleh sistem.
20
Gambar 2. Relasi Tabel Basis Data
b. Monitoring Kegiatan Pemupukan Untuk menghasilkan informasi mengenai kegiatan pemupukan melibatkan 4 tabel basis data yakni, Tabel Tanaman, Tabel Pupuk, Tabel Pemupukan dan Tabel Pemupukan Detail. Ketiga tabel tersebut berinteraksi berdasarkan relasi seperti pada Gambar 2. Pada tabel Tanaman, id_tanaman digunakan sebagai primary key dan berelasi dengan tabel Pemupukan dengan jenis relasi one to many (1 to ∞). Pada tabel Pemupukan yang menjadi primary key adalah id_pemupukan, sehingga relasi ini menyatakan bahwa setiap tanaman dapat memiliki lebih dari satu data pemupukan karena setiap pemupukan adalah unik untuk setiap tanggal pemupukan pada tanaman yang sama. Dari tabel Pemupukan ke tabel Pemupukan Detail terhubung melalui primary key id_pemupukan dengan relasi one to many yang menyatakan setiap pemupukan pada tanggal yang sama dapat dilakukan dengan beberapa jenis pupuk sekaligus. Pada tabel Pemupukan Detail, id_pupuk dan id_pemupukan ditetapkan sebagai primary key untuk mencegah data pupuk yang sama dimasukkan berulangkali pada satu tanggal pemupukan terhadap tanaman yang sama. Tabel Pupuk merupakan basis data yang
21
menyimpan data-data pupuk dan diberikan relasi one to many dengan tabel Pemupukan Detail agar data pupuk dapat digunakan berulangkali pada berbagai kegiatan pemupukan.
Gambar 3. Relasi data untuk menghasilkan monitoring kegiatan pemupukan tanaman Dari interaksi antar tabel seperti yang terlihat pada Gambar 2 dapat diperoleh keluaran informasi tentang: identitas tanaman yang dipupuk, waktu terjadi pemupukan, jenis pupuk yang digunakan dan dosis pupuk yang diberikan. Proses untuk menghasilkan informasi tersebut dilakukan oleh sistem berdasarkan rule yang dibangun pada bahasa perograman. Informasi-informasi tersebut dapat dipergunakan untuk monitoring kegiatan peupukan tanaman. c. Monitoring Kegiatan Perawatan Informasi kegiatan perawatan berkaitan dengan 4 tabel basis data yaitu, Tabel Tanaman, Tabel Perawatan, Tabel Perawatan Detail dan Tabel Jenis Perawatan. Relasi antara ketiga tabel terlihat pada Gambar 3 .
22
Gambar 4. Relasi data untuk menghasilkan monitoring kegiatan perawatan tanaman. Tabel Jenis Perawatan merupakan basis data yang menyimpan datadata jenis perawatan dan diberi primary key id_jenis_perawatan. Data-data pada tabel Jenis Perawatan dapat digunakan oleh tabel Perawatan melalui tabel Perawatan Detail sebagai penguhubung. Tabel Perawatan Detail merupakan basis data yang menyimpan data jenis perawatan yang dilakukan pada satu waktu kegiatan perawatan, dimana id_perawatan dan id_jenis_perawatan ditetapkan sebagai primary key agar jenis perawatan yang sama apabila dilakukan pada waktu yang sama tidak dicatat sebagai dua data yang berbeda sehingga mengakibatkan redudansi data. Relasi antar tabel Perawatan Detail dengan tabel Perawatan adalah many to one untuk menyatakan dalam satu kali kegiatan perawatan dapat dilakuan beberapa jenis perawatan sekaligus. Relasi antara tabel Perawatan, Jenis Perawatan, dan Perawatan Detail menghasilkan data mengenai waktu terjadinya kegiatan perawatan dan jenis perawatan yang dilakukan yang kemudian disebut sebagai data kegiatan perawatan. Data ini kemudian dihubungkan dengan basis data tanaman pada tabel Tanaman dengan relasi many to one untuk menyatakan bahwa setiap tanaman dapat memiliki lebih dari satu data
23
kegiatan perawatan yang berbeda. Interaksi data kegiatan perawatan dengan data identitas tanaman yang terdapat tabel Tanaman menghasilkan informasi yang dapat digunakan untuk monitoring perawatan tanaman. Informasi yang digunakan dalam proses monitoring perawatan, yaitu: identitas tanaman yang mendapat perawatan (nama, varietas dan lokasi), waktu terjadinya perawatan dan jenis peawatan yang dilakukan. d. Monitoring Penyakit Tanaman Dan Penanggulangannya Data-data yang digunakan dalam proses monitoring penyakit tanaman disimpan dalam 5 tabel basis data yang saling berelasi seperti terlihat pada Gambar 4. Tabel Tanaman dihubungkan dengan relasi one to many dengan tabel Pengobatan karena satu tanaman dapat mengalami lebih dari satu kali kegiatan pengobatan. Tabel Penyakit yang merupakan basis data jenis penyakit dan tabel Obat sebagai basis data jenis obat dihubungkan dengan relasi one to many terhadap tabel Pengobatan Detail agar masing masing data pada tabel Penyakit dan tabel Obat dapat digunakan berulangkali oleh tabel Pengobatan Detail.
Gambar 5. Relasi data untuk menghasilkan monitoring penyakit tanaman dan penanggulangan yang dilakukan
24
Tabel Pengobatan Detail adalah basis data yang menyimpan data jenis penyakit, jenis obat dan dosis obat pada setiap kegiatan pengobatan. Pada tabel Pengobatan Detail, id_pengobatan, id_penyakit dan id_obat digunakan sebagai primary key agar setiap data pengobatan memiliki data jenis penyakit yang berbeda atau jenis obat berbeda. Dari rule yang diguanakan pada bahasa pemrograman, relasi 5 tabel diatas menghasilkan keluaran informasi yang dapat digunakan untuk monitoring penyakit tanaman dan penanggulangannya, yaitu: identitas tanaman (nama, varietas dan lokasi), tanggal terjadinya pengobatan, jenis obat yang digunakan dan dosis yang diberikan. e. Monitoring produksi Informasi mengenai kegiatan produksi diperoleh dari interaksi 2 tabel basis data (Gambar 5), yaitu Tabel Tanaman dan Tabel Produksi. Informasi yang dihasilkan adalah: waktu pemanenan, tanaman yang dipanen, lokasi tanaman dan hasil pemanenan berdasarkan kwalitasnya. id_produksi ditetapkan sebagai primary key karena setiap satu kegiatan panen dicatat sebagai satu data yang unik. Tabel Tanaman dan tabel Produksi memiliki relasi one to many karena setiap tanaman mungkin dipanen berulangkali pada waktu yang berbeda dan setiap tanaman pada satu areal mungkin dipanen tidak secara serentak pada waktu yang sama.
Gambar 6. Relasi data untuk menghasilkan monitoring produksi tanaman
25
3. DESAIN USER INTERFACE Desain user interface dilakukan dengan bahasa pemrograman komputer menggunakan software Microsoft Visual Basic 6.0. User interface dirancang untuk memberikan akses kepada fungsi fungsional sistem yang dirancang, yakni fungsi input data, fungsi edit data, fungsi hapus data, fungsi cetak data dan fungsi pencarian data. Halaman user interface dirancang secara user friendly sehingga mempermudah interaksi pengguna dengan sistem. Struktur pengaksesan user interface berdasarkan menu dapat dilihat pada Gambar 6.
Menu Utama Tanaman Pemupukan Pemupukan Detail pemupukan Perawatan Perawatan Detail Perawatan Pengobatan Pengobatan Detail Pengobatan Produksi Jenis Obat Jenis Penyakit Jenis Perawatan Jenis Pupuk Keluar
Gambar 7. Struktur User Interface
26
D. IMPLEMENTASI SISTEM Implemetasi sistem yang dimaksud dalam penelitian ini adalah pengoperasian basis data yang telah dirancang menggunakan media user interface yang dibangun menggunakan bahasa programVisual Basic Versi 6. Pengujian implementasi system dilakukan untuk menguji coba fungsi-fungsi yang dimiliki oleh sistem sesuai dengan desain proses yang ditetapkan. Tujuan dari pengujian sistem ini adalah untuk mengetahui kekurangan dan kelebihan dari sistem ini serta pengembangan yang mungkin dilakukan. Dengan dilakukan pengujian maka akan diketahui apabila terdapat kesalahan dalam pemrograman. 1. User Interface Menu Utama Halaman Menu Utama muncul saat program pertama kali dijalankan (Gambar 8). Dari halaman ini pengguna dapat memilih menu-menu yang akan membuka halaman user interface berikutnya. Selain menu yang ditampilkan dalam bentuk tombol, pilihan menu juga terdapat dalam bentuk drop down menu yang terdapat pada kiri atas halaman. Pada saat pengguna telah memilih salah satu menu, pengguna dapat mengakses pilihan lain pada menu utama dengan meng-klik drop down menu pada kiri atas halaman tanpa harus kembali ke halaman Menu Utama.
Gambar 8. Tampilan halaman Menu Utama
27
2. User InterfaceTanaman Tampilan Halaman Tanaman merupakan hasil running program (proses sistem) bila pengguna memilih menu Tanaman. Halaman Tanaman menyajikan data-data mengenai tanaman, yaitu data nama tanaman, varietas tanaman, tanggal tanam, asal bibit dan lokasi tanaman. Data lokasi tanaman disajikan berupa koordinat XY pada lokasi di lapang. Tampilan halaman tanaman seperti terlihat pada Gambar 9.
Gambar 9. Tampilan halaman Menu Tanaman Proses fungsional yang terdapat pada halaman tanaman,yaitu: a. Fungsi Input Data Fungsi untuk menambah data baru pada basis data dapat dilakukan dengan menekan tombol ’Tambah’ pada halaman user interface. Pada saat memasukkan data baru pengguna harus memberikan ID Tanaman baru yang unik (belum digunakan oleh tanaman lain). Apabila ID yang digunakan telah digunakan oleh tanaman lain maka sistem akan menampilkan pesan peringatan bahwa data yang dimasukkan salah dan data tidak akan bisa disimpan. Apabila data yang dimasukkan sudah benar
28
dapat disimpan kedalam basis data dengan menekan tombol ’Simpan’ atau membatalkan perubahan data dengan menekan tombol ’Batal’. b. Fungsi Edit Data Untuk mengubah data yang sudah tersimpan dalam basis data dilakukan dengan terlebih dahulu memilih data yang ingin diubah kemudian menekan tombol ’Edit’. Untuk memilih data yang akan diubah dapat menggunakan fasilitas pencarian data atau memilih data dalam tabel yang ditayangkan oleh sistem pada saat itu dan kemudian menekan tombol ’Edit’. Setelah selesai melakukan perubahan data, data dapat disimpan kembali dengan menekan tombol ’Simpan’ atau membatalkan perubahan data dengan menekan tombol ’Batal’. c. Fungsi Penghapusan Data: Untuk menghapus data dilakukan dengan memilih data yang akan dihapus kemudian menekan tombol ’Hapus’. Untuk memilih data dapat dilakukan dengan fasilitas pencarian data atau memilih pada tabel apabila tersedia. d. Fungsi Cetak Data: Tombol ’Cetak’ pada halaman user interface akan mencetak semua data yang dipanggil dan ditampilkan pada tabel dalam bentuk laporan. Apabila perangkat komputer yang digunakan terhubung dengan Printer maka laporan dapat dicetak menjadi bentuk hardcopy. Contoh laporan seperti terlihat pada Gambar 10. e. Fungsi Pencarian Data Fungsi pencarian data untuk me-retrieve data yang diinginkan. Untuk mencari data pengguna terlebih dahulu memilih kriteria pencarian yang disediakan, yaitu pencarian berdasarkan: 1) ID tanaman, 2) Tanggal tanama, 3) Varietas tanaman, 4) Asal bibit, dan 5) Lokasi tanaman. Setelah memilih kriteria pencarian pengguna memasukkan kata kunci pencarian lalu menekan tombol ’Cari’ untuk menampilkan semua data yang bersesuaian dengan kata kunci pencarian yang dimasukkan. Tombol ’Tampilkan Semua’ berfungsi untuk kembali dari proses pencarian dan menampilkan semua data secara umum.
29
Gambar 10. Contoh laporan pengobatan detail.
3. User Interface Pemupukan Halaman Pemupukan (Gambar 11) dihasilkan oleh proses sistem apabila pengguna memilih menu pemupukan. Halaman ini menyajikan datadata yang berhubungan dengan kegiatan pemupukan. Pada halaman pemupukan terdapat dua sub menu, yaitu Pemupukan dan Detail Pemupukan (Gambar 12). Sub menu Pemupukan berkaitan dengan kegiatan pemupukan, yaitu tanggal pemupukan dan identitas tanaman (ID tanaman, varietas serta lokasinya). Pada halaman ini terdapat fungsi sistem untuk input data, edit data, pecarian data dan pencetakan data. Tombol-tombol yang digunakan untuk melakukan fungsi tersebut sama dengan tombol-tombol pada halaman Tanaman begitu juga dengan prosesnya secara umum.
30
Gambar 11. Tampilan halaman Menu Pemupukan
Untuk proses penambahan data baru, data baru yang dapat ditambahkan pada halaman ini adalah data Tanggal Pemupukan dan ID Pemupukan, sedangkan data ID tanaman pengguna memilih melalui drop down menu pada kolom ID tanaman yang secara otomatis akan menampilkan data yang berkaitan untuk kolom varietas dan lokasi. ID pemupukan bersifat unik sehingga apabila ID baru yang dimasukkan telah digunakan oleh data lain sistem akan menampilkan pesan bahwa terjadi kesalahan pengisian data dan data baru tidak dapat disimpan.
31
Gambar12. Tampilan halaman Menu Detail Pemupukan
Detail Pemupukan mencakup informasi pupuk yang digunakan pada proses pemupukan, yakni nama pupuk (merk dagang), jenis pupuk serta dosis yang diberikan. Data-data baru yang dapat dimasukkan pada halaman ini adalah data jumlah (dosis) pupuk. Untuk ID Pemupukan dan ID Pupuk pengguna memilih salah satu data yang disediakan oleh drop down menu pada setiap kolom. Kolom Nama-Jenis akan secara otomatis terisi sesuai data yang yang tersimpan pada basis data berdasarkan ID Pupuk yang dipilih pada drop down menu. Fungsi untuk penambahan, penyimpanan, perbaikan, penghapusan data dilakukan dengan tombol-tombol seperti pada halaman sebelumnya dengan proses yang sama. 4. User Interface Perawatan Halaman Perawatan tediri dari dua sub menu, yaitu Perawatan (Gambar 13) dan Detail Perawatan (Gambar 14). Tombol-tombol yang digunakan untuk melakukan fungsional sistem dirancang sama seperti pada halaman pemupukan, demikian juga untuk fungsi umum yaitu fungsi pemasukan,
32
perbaikan dan penghapusan data tersedia dengan rancangan yang sama. Keseragaman format ini ditujukan untuk memudahkan pengguna dalam mengoperasikan basis data.
Gambar 13. Tampilan halaman Menu Perawatan
Sub menu Perawatan berkaitan dengan data-data kegiatan perawatan, yaitu tanggal pemupukan dan ID pemupukan serta data-data identitas tanaman, yaitu ID tanaman, varietas dan lokasi tanaman. Data-data baru yang dapat ditambahkan pada halaman ini adalah Tanggal Perawatan dan ID Perawatan. ID perawatan bersifat unik sehingga data ID baru yang dimasukkan harus ID baru yang tidak sedang dipergunakan oleh data lain. Pada kolom ID Tanaman terdapat drop down menu untuk memilih data ID Tanaman dari basis data Tanaman. Setelah data-data kegiatan pemupukan disimpan dilakukan pemasukan data jenis perawatan pada halaman Detail Perawatan. Data jenis perawatan dimasukkan dengan memilih data yang tersimpan pada basis data jenis-jenis perawatan. Apabila jenis perawatan yang dilakukan belum terdata pada basis
33
data jenis-jenis perawatan maka pengguna harus memasukkan data tersebut melalui halaman Jenis Perawatan.
Gambar 14. Tampilan halaman Menu Detail Perawatan
5. User Interface Pengobatan Halaman Pengobatan terdiri dari dua sub menu, yaitu Pengobatan dan Detail Pengobatan. Pengobatan (Gambar 15.) mancakup data-data kegiatan pengobatan berupa data identitas tanaman dan tanggal terjadinya pengobatan. Detail Pengobatan (Gambar 16.) berisi data jenis penyakit yang diderita pada saat dilakukan pengobatan dan data obat (nama obat dan jenis obat) serta dosis yang diberikan. Pada halaman ini data ID Penyakit dipilih dari daftar yang sudah tersimpan pada basis data. Apabila data yang diinginkan belum tersimpan di basis data maka pengguna harus memasukkan data tersebut melalui halaman Jenis Penyakit. Hal yang sama belaku terhadap data ID Obat dimana pemasukan data obat dilakukan melalui halaman Jenis Obat.
34
Gambar 15. Tampilan halaman Menu Pengobatan
Gambar 16. Tampilan halaman Menu Detail Pengobatan
35
7. User Interface Obat Halaman Obat menampilkan basis data obat. Data ditampilkan dalam bentuk tabel berupa ID obat, jenis obat, nama obat (merk dagang), dan satuan besaran yang digunakan. Satuan besaran perlu didata karena tidak semua obat menggunakan besaran yang sama. Satuan tersebut dapat dalam bentuk mililiter atau liter untuk jenis cair, sendok untuk jenis serbuk, butir atau buah untuk jenis butiran. Tampilan halaman Obat seperti pada Gambar 16. Fungsi yang dapat dilakukan pada halaman obat, sama seperti fungsifungsi yang dirancang pada halaman sebelumnya yaitu fungsi penambahan, penyimpanan, perbaikan, penghapusan data. Pencarian data obat dilakukan dengan memanfaatkan fasilitas pencarian yang tersedia.
Gambar 17. Tampilan halaman Menu Jenis Obat 8. User Interface Jenis Penyakit Halaman Jenis Penyakit menampilkan basis data penyakit tanaman. Data yang ditampilkan adalah ID Penyakit dan Nama Penyakit. Pada halaman ini pengguna dapat memasukkan, mengubah dan menghapus data
36
pada data base penyakit. Tampilan halaman Jenis Penyakit terlihat pada Gambar 18.
Gambar 18. Tampilan halaman Menu Jenis Penyakit 9. User Interface Jenis Perawatan Halaman Jenis Perawatan menampilkan basis data jenis perawatan. Data yang ditampilkan adalah ID Jenis Perawatan dan Nama Perawatan. Pada halaman ini pengguna dapat menambah, mengedit dan menghapus data jenis perawatan. Tampilan halaman Jenis Perawatan terlihat pada Gambar 19. Berdasarkan penelusuran terhadap data-data pada pustaka bacaan, terdapat beberapa kegiatan perawatan sejenis namun dilakukan untuk tujuan yang berbeda atau dilakukan berdasarkan fase-fase tertentu yang berbeda. Sebagai contoh adalah kegiatan pemangkasan pada tanaman belimbing. Pada tanaman belimbing terdapat 3 jenis pemangkasan yaitu, pemangkasan bentuk, pemangkasan ranting dan cabang serta pemangkasan untuk peremajaan (penjelasan masing-masing kegiatan disajikan pada Lampiran 1). Dalam pencatatan kedalam basis data ketiga pemangkasan tersebut dicatat sebagai tiga data yang berbeda sehingga masing-masing kegiatan diberi ID
37
Perawatan yang berbeda. Cara penyimpanan data seperti ini juga berlaku bagi jenis perawatan lain yang memiliki lebih dari satu kegiatan sejenis dimana penamaan dan ID yang diberikan ditentukan sendiri oleh pengguna.
Gambar 19. Tampilan halaman Menu Jenis Perawatan
10. User Interface Jenis Pupuk Halaman Obat menampilkan data base pupuk. Pada halaman ini pengguna dapat menambah, mengedit dan manghapus data pada basis data pupuk. Data ditampilkan dalam bentuk tabel berupa ID pupuk, jenis pupuk, nama pupuk (merk dagang), dan satuan jumlah pupuk. Tampilan halaman Pupuk seperti pada Gambar 19. Fungsi-fungsi tombol yang tersedia pada halaman ini sama seperti pada halaman sebelumnya untuk memberi akses fungsional sistem dengan proses yang sama secara umum.
38
Gambar 20. Tampilan halaman Menu Jenis Pupuk
11. User Interface Produksi Halaman produksi berisi data-data mengenai kegiatan pemanenan dan hasil panen. Data-data yang ditampilkan adalah identitas tanaman (nama tanaman , varietas tanaman dan lokasi tanaman), tanggal panen dan jumlah produksi. Jumlah produksi terdiri dari dua jenis, yaitu: 1) Grade A, untuk tanaman yang memenuhi standar kwalitas yang ditetapkan oleh pengguna, dan 2) Lainnya, untuk tanaman yang tidak termasuk Grade A. Tampilan halaman Produksi seperti terlihat pada Gambar 21.
39
Gambar 21. Tampilan halaman Menu produksi
Proses implementasi sistem dilakukan pada komputer PC AMD Sempron(tm) 1.67 GHz, RAM 256 MB dan sistem operasi Microsoft Windows XP Profesional SP2. Dari hasil uji coba diketahui sistem dapat berjalan sesuai dengan fungsi yang dirancang. Hierarki menu yang ditampilkan oleh sistem sesuai dengan hierarki yang dirancang (Gambar 7). Fungsional sistem pada setiap halaman user interface dapat bekerja dengan baik dan menghasilkan output seperti yang diharapkan.
E. PERAWATAN SISTEM Salah satu aktivitas dari tahap perawatan sistem adalah mengevaluasi, dan memodifikasi sistem yang telah dibangun. Modifikasi atau perbaikan sistem dilakukan sesuai dengan perkembangan kebutuhan pengguna sistem. Pada sistem ini tidak disediakan fasilitas modifikasi yang dapat langsung dilakukan oleh pengguna karena sistem telah dibuat dalam format executeble file (.exe). Modofikasi sistem dapat dilakukan dengan mencopy source program. Perawatan yang dilakukan adalah berupa updating data agar data-data
40
yang digunakan sesuai dan relevan dengan kebutuhan pengguna. Fungsional yang disediakan oleh sistem, yaitu fungsi input data, edit data dan hapus data, memungkin dilakukan proses perawatan sistem untuk meng-update data agar sesuai dan relevan dengan kondisi yang ada di lapangan saat itu.
41
V. KESIMPULAN DAN SARAN
A. KESIMPULAN 1. Basis data kegiatan budidaya tanaman agrowisata telah dibangun khususnya untuk kegiatan yang terkait dengan monitoring tanaman buah tahunan. Basis data dibangun dalam 12 tabel menggunakan microsoft Acces dengan bentuk basis data relasional. 2. Sistem manajemen basis data digunakan untuk membangun Sistem Data Record Individu Tanaman, dimana dalam sistem tersebut dapat dilakukan proses updating data yang meliputi pemasukan, penyimpanan, perubahan, dan penghapusan data untuk tujuan perawatan data. Fasilitas lain yang tersedia pada sistem manajemen basis data adalah sistem pencarian data yang dapat dilakukan dengan kunci pencarian melalui drop down menu atau ditulis langsung oleh pengguna. Sistem manajemen basis data dibangun menggunakan bahasa program Visual Basic 6. 3. Sistem Data Record Individu Tanaman telah diuji dan berjalan dengan baik pada perangkat komputer dengan spesifikasi prosessor AMD Sempron (tm) 1,67 GHz, RAM 256 MB, pada sistem operasi Windows XP Profesional SP2.
B. SARAN 1. Perlu dilakukan penambahan fitur pada sistem agar dapat mengelola data spasial untuk menampilkan data lokasi tanaman dalam bentuk peta lokasi sesuai keadaan dilapang. 2. Sistem yang dibangun masih berbasis personal computer (PC), untuk itu perlu dilakukan penelitian lebih lanjut agar sistem dapat dikembangkan berbasis jaringan untuk memudahkan akses data oleh pihak yang membutuhkan.
42
DAFTAR PUSTAKA
Arifin, HS. 2004. Pengembangan Agrowisata di Daerah Penyangga Kawasan Lindung [makalah bimbingan teknis]. Kerjasama Pusat Pengkajian dan Pengembangan Wilayah Institut Pertanian Bogor dan Ditjen Bina Bangsa Departemen Dalam Negeri, Bogor. Budianto, E. 2002. Menggelitik Agrowisata: Seputar Agribisnis. Majalah Trubus, Jakarta. Kadir, A. 1998. Konsep dan Tuntunan Praktis Basis Data. Penerbit Andi, Yogyakarta. McLeod Jr, Raymond dan Schell, George. 2001. Management Information Systems. Eighth Edition. Prentice Hall, New Jersey, USA. Merdekasari, Endah. 2008. Perancangan Sistem Informasi Manajemen Basis Data pada Divisi Refinery PT Astra Agro Lestari Tbk [skripsi]. Departemen Teknologi Industri Pertanian, Fakulas Teknologi Pertanian, Institut Pertanian Bogor. Bogor. Nugroho, Adi. 2002. Analisis dan Perancangan Sistem Informasi dengan Metodologi Berorientasi Objek. Informatika, Bandung. O’Brien, J. A. 1999. Management Information System: A Managerial End User Perspective. Richard D. Irwin, Inc., Boston. Post, Gerald V., 1999. Database Management Sistem: Designing and Building Bussines Applications. The McGraw-Hill Companies, Inc., Singapore. Pamungkas. 2000. Tip dan Trik Microsoft Visual Basic 6.0. PT. Elex Media Komputindo, Jakarta. Sunarjono, Hendro. 2009. Berkebun 21 Jenis Tanaman Buah. Penebar Swadaya Tirtawinata, MR., Fachruddin L. 1996. Daya Tarik dan Pengelolaan Agrowisata. PT. Penebar Swadaya, Jakarta. Wahyono, T. 2004. Sistem Informasi (Konsep Dasar, Analisis Desain, dan Implementasi). Graha Ilmu, Yogyakarta. http://bimoe1.wordpress.com/2009/10/02/budidaya-belimbing/ januari 2010 http://warintek.bantulkab.go.id/web.php?mod=basisdata/ januari 2010 http://dir.groups.yahoo.com/group/agromania/message/10295 januari 2010
43
Lampiran 1. Daftar kegiatan budidaya beberapa tanaman buah tahunan. Belimbing Pemupukan Pemupukan pertama dilapang dilakukan saat tanam atau paling lambat 30 hari setelah tanam. Pupuk yang digunakan NPK sebanyak 0.25 kg ditambah 1 sendok makan Furadan. Umur tanaman 4 bulan pupuk yang digunakan pupuk kandang (10 kg), Urea/ZA (100 gr), TSP (100 gr), KCL/ZK (100 gr). Umur tanaman 1 tahun, pupuk kandang (20 kg/thn), Urea/ZA (125 gr/thn), TSP (250 gr/thn), KCL/ZK (200 gr/thn). Pemberian pupuk diberikan dalam 2 tahap yaitu pada awal dan akhir musim penghujan. Umur tanaman 2 tahun, pupuk kandang (25 kg/thn), Urea/ZA (150 gr/thn), TSP (300 gr/thn), KCL/ZK (250 gr/thn). Pemberian pupuk diberikan dalam 2 tahap yaitu pada awal dan akhir musim penghujan. Umur tanaman 3 tahun, pupuk kandang (30 kg/thn), Urea/ZA (250 gr/thn), TSP (500 gr/thn), KCL/ZK (375 gr/thn). Pemberian pupuk diberikan dalam 2 tahap yaitu pada awal dan akhir musim penghujan. Umur tanaman >4 tahun, pupuk kandang (40 kg/thn), Urea/ZA (500 gr/thn), TSP (1000 gr/thn), KCL/ZK (750 gr/thn). Pemberian pupuk diberikan dalam 2 tahap yaitu pada awal dan akhir musim penghujan. Cara pemberian pupuk dengan menaburkan kedalam parit sedalam 20 cm mengelilingi
Durian Pemupukan Jenis pupuk yang digunakan untuk memupuk durian adalah pupuk kandang, pupuk kompos dan pupuk NPK. Pemupukan pertama setelah tanam ketika tanaman berumur 3 bulan menggunakan pupuk NPK (15:15:15) dengan dosis 200 gr per pohon. Setelah tanaman berumur =>3 tahun pemupukan NPK dilakukan setahun sekali dan setiap pemupukan dosisnya 15 % lebih banyak dari pemupukan sebelumnya. Menjelang tanaman berbunga komposisi NPK berubah menjadi 10:30:10. Pupuk kompos/kandang diberikan setahun sekali dengan dosis 60-100 kg per pohon. Setelah tanaman berbunga kebutuhan pupuk kompos/kandang meningkat menjadi 120200 kg per pohon
Salak Pemupukan Jenis pupuk yang digunakan adalah pupuk organik dan anorganik. Pupuk organik berupa pupuk kandang, pupuk hijau, kompos dan abu tanaman. Pupuk anorganik berupa Urea, TSP, KCL, ZA, NPK Hidrasil, Gandasil, dll. Umur tanaman 0-12 bulan: pupuk kandang 1000 gr, Urea 5 gr, TSP 5 gr, KCL 5 gr. Pemupukan dilakukan sebulan sekali. Umur tanaman 12-24 bulan: Urea 10 gr, TSP 10 gr, KCL 10 gr. Pemupukan dilakukan 1 x 2 bulan. Umur tanaman 24 -36 bulan: Urea 15 gr, TSP 15 gr, KCL 15 gr. Pemupukan dilakukan 1 x 3 bulan. Umur tanaman diatas 36 bulan: Urea 20 gr, TSP 20 gr, KCL 20 gr. Pemupukan dilakukan 1 x 6 bulan.
44
pohon sesuai diameter tajuk, kemudian ditutup kembali dengan tanah. Pemeliharaan Pemangkasan bentuk: dilakukan pada tanaman yang belum produktif umur 2-3 tahun. Tujuannya untuk membentuk percabangan secara teratur dan mencegah tanaman bertambah tinggi. Ujung batang utama dipotong pada ketinggian 1,5 - 2 meter dari permukaan tanah. Biarkan 3 - 4 cabang primer yang subur tumbuh memanjang. Pada pertumbuhan selanjutnya, ujung cabang primer tadi dipotong dengan menyisakan panjang 30 - 50 cm. Selanjutnya, setelah tumbuh tunas pada cabang primer (disebut cabang sekunder), dibiarkan tumbuh 2 - 3 cabang sekunder. Setelah tumbuh, dipotong pucuknya dengan menyisakan panjang 30 - 50 cm. Dengan demikian akan diperoleh bentuk tajuk pohon yang melebar, dengan percabangan yang teratur. Pemangkasan cabang dan ranting: pemangkasan tunas yang tumbuh di pangkal dan tengah cabang serta ujung ranting dilaksanakan secara terus menerus, setiap 12 bulan. Tujuannya agar sinar matahari dapat memasuki mahkota tajuk, sehingga mengurangi kelembaban.. Pemangkasan untuk peremajaan: dilaksanakan pada pohon berumur lebih dari 10 tahun yang produksinya mulai menurun. Batang utama dipotong miring pada ketinggian 60 - 70 cm dari permukaan
Pemeliharaan Pemangkasan akar: bertujuan untuk menghambat pertumbuhan vegetatif sehungga tanaman lebih cepat berbuah. Pemotongan akar dilakukan dilakukan pada saat tanaman mulai berbunga. Pembentukan tanaman: dilakukan untuk mencegah tanaman tumbuh semakin tinggi keatas. Dahan yang akan dibentuk diberi beban didekat ujung dahan atau ditarik dan diikat menggunakan tali agar perkembangannya tidak mengarah keatas. Peremajaan: dilakukan pada tanaman yang sudah tua. Batang tanaman dipotong dan dibiarkan hinngga tunas baru tumbuh dari batang pohon. Pada saat pemotongan irisan dibuat miring untuk mencegah genangan air kemudian luka sayatan diolesi meni atau lilin parafin. Setelah tunas baru berumur 2 bulan tunas tersebut diokulasi dan ditanam kembali. Penjarangan buah bertujuan untuk mencegah kematian durian agar tidak menghabiskan energinya untuk proses pembuahan. Penjarangan dilakukan bersamaan dengan proses pengguguran bunga, begitu gugur bunga selesai, besoknya harus dilakukan penjarangan (tidak boleh ditundatunda). Jumlah buah durian yang dijarangkan ± 50-60% dari seluruh buah yang ada.
Pemeliharaan Pemangkasan: dilakukan terhadap daun yang sudah tua dan tidak bermanfaat atau daun yang terlalu rimbun atau rusak diserang hama. Pemangkasan dilakukan setiap 2 bulan sekali, tetapi pada saat mendekati masa berbunga atau berbuah pemangkasan kita lakukan lebih sering, yaitu 1 bulan 1 kali. Penjarangan: Untuk memperoleh buah yang berukuran besar, maka bila tandan sudah mulai rapat perlu dilakukan penjarangan. Biasanya penjarangan dilakukan pada bulan ke 4 atau ke 5. Perempalan: dilakukan untuk mengurangi jumlah tunas yang terlalu banyak. Perempalan terutama dilakukan menjelang tanaman berbuah dan menyisakan 1-2 tunas yang dipertahankan. Penyiangan adalah membuang dan memebersihan rumput-rumput atau tanaman pengganggu lainnya yang tumbuh di sekitar tanaman. Penyiangan pertama dilakukan pada saat tanaman berumur 2 bulan setelah bibit ditanam, penyiangan berikutnya dilakukan tiap 3 bulan sekali sampai tanaman berumur setahun. Setelah itu penyiangan cukup dilakukan setiap 6 bulan sekali atau 2 kali dalam satu tahun, dilakukan pada awal dan akhir musim penghujan 45
tanah. Pengaturan cabang-cabang yang Penyiangan: pemberantasan gulama Pembubunan: tanah yang digemburkan tumbuh baru, mengikuti cara-cara dilakukan pada jarak ± diameter 1 m dari dicangkul membentuk gundukan atau pemangkasan bentuk. pohon durian. bumbunan disekitar batang tanaman yang berfungsi untuk menguatkan akar dan Pembungkusan buah (perompesan): batang tanaman salak pada tempatnya. dilakukan pada saat buah berukuran sebesar jempol orang dewasa. Pembungkusan bertujuan untuk melindungi buah dari serangan lalat buah dan meningkatkan kwalitas buah. Pembungkusan dilakukan menggunakan plastik atau daun pisang. Bagian bawah pembungkus dilubangi untuk mengurangi kelembapan. Penjarangan buah: dilakukan pada saat buah berukuran 2.5-5 cm untuk mengurangi jumlah buah agar buah berkembang lebih leluasa. Jumlah buah yang lebih sedikit akan melancarkan distribusi nutrisi sehingga buah yang dipertahankan akan memiliki ukuran yang maksimal. Penyiangan: pemberantasan gulma disekitar tanaman. Dilakukan dengan memotong, mencabut atau penyemprotan herbisida. Pembubunan: tanah disekitar batang digemburkan lalu ditimbun menjadi gundukan pada pangkal batang pohon. Pembubunan berfungsi menguatkan akar dan batang tanaman.
Hama dan penyakit Hama dan penyakit Hama yang paling merugikan adalah lalat buah Hama penggerek buah: pengendalaian (Brctocera dorsalis). Cara pencegahan dengan dilakukan menggunakan insektisida, seperti pengasapan (fogging) atau menggunakan Metil Basudin, Sumithion 50 AC, Thiodan 35 EC, Eugenol untuk meperangkap lalat jantan dengan dosis 2-3 cc/liter air. sehingga tidak dapat membuahi telur betina dan Hama lebah mini: pengendalian dilakukan
Hama dan penyakit Hama kutu wol /putih (Cerataphis sp.): Hama ini bersembunyi di sela-sela buah. Hama kumbang penggerek tunas (Omotemnus sp.). Hama kumbang penggerek batang: 46
secara otomatis menekan populasi lalat buah. Selain lalat buah terdapat sejenis ngengat dari famili Pyralidae yang dapat dicegah dengan membungkus buah.
menggunakan parvasida, seperti Hostathion Menyerang ujung daun yang masih muda 40 EC (Triazofos 420 gram/liter), dan (paling muda), kemudian akan masuk ke insektisida, seperti Supracide 40 EC dosis dalam batang. Hal ini tidak menyebabkan 420 gram/liter dan Temik 106 (Aldikarl kematian tanaman, tetapi akan tumbuh 10%). anakan yang banyak di dalam batang tersebut. Pengendalian dilakukan dengan Hama penggerek bunga: pengendalian cara meneteskan larutan insektisida dilakukan dengan menyemprotkan obat(Diazenon) dengan dosis 2 cc per liter pada obatan seperti Supracide 40 EC, nuvacrom ujung daun yang terserang atau dengan cara SWC, Perfekthion 400 EC (Eimetoat 400 menyemprot. Dalam hal ini diusahakan gram/liter). insektisida dapat masuk ke dalam bekas Hama kutu loncat: daun dan ranting-ranting lubang yang digerek. Memasukkan kawat yang terserang dipangkas untuk yang ujungnya lancip ke dalam lubang yang dimusnahkan. Pengendalian secara kimia dibuat kumbang hingga mengenai hama. dapat dilakukan dengan menyemprotkan insektisida Supracide 40 EC dosis 100-150 Penyakit cendawan putih: Gejalanya adalah busuknya buah. Buah yang terserang gram/5 liter air. penyakit ini kualitasnya jadi menurun, Penyakit Phytopthora parasitica dan karena warna kulit salak jadi tidak menarik Pythium complectens: pencegahan .Pengendalian dilakukan dengan dilakukan dengan drainase yang baik agar mengurangi kelembaban tanah, yaitu tanah tidak terlalu basah dan air tidak mengurangi pohon-pohon pelindung. mengalir ke permukaan tanah pada waktu Penyakit Noda hitam: disebabkan oleh hujan. Pohon yang sakit dibongkar sampai cendawan Pestalotia sp. Gejalanya adalah ke akarnya dan dibakar untuk mencegah adanya bercak-bercak hitam pada daun penularan. salak. Penyakit kanker bercak: pencegahan Penyakit Busuk merah (pink): disebabkan dilakukan dengan drainase yang baik. oleh cendawan Corticium salmonicolor. Apabila sudah terinfeksi bagaian kulit Gejalanya adalah adanya pembusukan pada pohon yang terinfeksi dipotong hingga ke buah dan batang. Pengendalian dilakukan kayunya yang sehat dan potongan tanaman dengan cara tanaman yang sakit dan daun yang sakit harus dibakar, sedangkan bagian yang terserang harus dipotong dan dibakar yang terluka diolesi fungisida, misalnya di tempat tertentu. difolatan 4 F 3%. Penyakit jamur upas: serangan jamur yang masih pada tingkat sarang laba-laba dapat 47
Panen Untuk mendapat kualitas buah yang balk, buah dipanen setelah masak penuh. Cara panen terbaik adalah pemetikan dengan cara memanjat pohon atau menggunakan tangga. Pemetikan harus dilakukan dengan hati-hati, mengingat daging buah lunak, mudah memar dan bila luka akan berwarna kecoklatan. Buah dipanen dengan menggunting tangkai buah, tanpa membuka bungkus buah. Kemudian buah diletakkan secara hati-hati di dalam ruangan yang beratap, untuk penanganan pasca panen. Bila keadaan musim normal, selama 1 tahun dapat dilakukan 3 kali panen. Produksi buah mencapai 600 - 900 buah per pohon/tahun dengan berat buah rata-rata 250 - 300 gram.
dikendalikan dengan cara melumasi cabang yang terserang degan fungisida, misalnya calizin RM. Jika jamur sudah membentuk kerak merah jambu, sebaiknya dilakukan pemotongan cabang kira-kira lebih 30 cm ke bawah bagian yang berjamur. Pengendalian secara kimiawi dilakukan dengan menyemprotkan Antrocol 70 WP (propineb 70,5%), dosis 100-200 gram/liter air atau 11,5 kg/ha aplikasi. Panen Panen durian diusahakan sebelum musim hujan tiba karena air hujan dapat merusak kualitas buah. Buah durian yang sudah matang akan jatuh sendiri. Untuk menjaga agar buah tidak langsung jatuh, kira-kira sebulan sebelum matang buah dapat diikat dengan tali plastik. Tujuan pengikatan tersebut agar tangkai buah yang terlepas dari batang atau ranting pohon tetap menggantung pada tali sehingga buah durian tersebut dapat diambil dalam keadaan utuh. Buah durian dari pohon rendah dapat dipetik dengan menggunakan pisau tajam. Tangkai buah dipotong mulai dari bagian paling atas, ± 1,5 cm dari dahan. Pemotongan sebaiknya dilakukan dengan hati-hati karena di tempat ini terdapat bahan tunas yang akan berbunga pada musim berikutnya.
Panen Buah salak dapat dipanen setelah matang benar di pohon, biasanya berumur 6 bulan setelah bunga mekar (anthesis). Hal ditandai oleh sisik yang telah jarang, warna kulit buah merah kehitaman atau kuning tua, dan bulu-bulunya telah hilang. Ujung kulit buah (bagian buah yang meruncing) terasa lunak bila ditekan. Pemanenan buah dilakukan dengan cara memotong tangkai tandannya.
48
Lampiran 2. Kode Program ‘Form Tanaman Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Option Explicit Public cn As New ADODB.Connection Dim pesan As String Dim sql, data1 As String Dim i As Integer Dim data2 Private Sub cmb_cari_Change() If Left(cmb_cari.Text, 1) = "<" Then lbl_antara.Caption = cmb_cari.Text txt_cari2.Visible = True: Else: lbl_antara.Caption = "": txt_cari2.Visible = False: txt_cari2.Text = "" End If End Sub Private Sub cmb_cari_Click() cmb_cari_Change End Sub Private Sub cmd_cetak_Click() On Error GoTo salah rpt_tanaman.Show Exit Sub salah: MsgBox "Pencetakan data tidak dapat dilakukan.", vbOKOnly, "pesan" End Sub Private Sub cmd_close_Click() Unload Me MenuUtama End Sub Private Sub Form_Load() On Error Resume Next cmd_save.Enabled = False BukaKoneksi Me.Top = 0 Me.Left = 0 'With Me ' Height = 10560 ' ScaleHeight = 704
49
' ScaleWidth = 1020 ' Width = 15300 'End With adodc_tanaman.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./mekar_sari2002.mdb;Persist Security Info=False;" cmb_cari.AddItem "ID Tanaman =", 0 cmb_cari.AddItem "Tanggal Tanam =", 1 cmb_cari.AddItem "Nama Tanaman =", 2 cmb_cari.AddItem "Varietas =", 3 cmb_cari.AddItem "Lokasi =", 4 End Sub Private Sub cmd_first_Click() On Error GoTo salah If adodc_tanaman.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_tanaman.Recordset.MoveFirst End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_last_Click() On Error GoTo salah If adodc_tanaman.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_tanaman.Recordset.MoveLast End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_next_Click() On Error GoTo salah If adodc_tanaman.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_tanaman.Recordset.MoveNext If adodc_tanaman.Recordset.EOF Then MsgBox "Data Sudah di Akhir", vbInformation + vbOKOnly, "Informasi" adodc_tanaman.Recordset.MoveLast End If End If Exit Sub
50
salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_prev_Click() On Error GoTo salah If adodc_tanaman.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_tanaman.Recordset.MovePrevious If adodc_tanaman.Recordset.BOF Then MsgBox "Data Sudah di Awal", vbInformation + vbOKOnly, "Informasi" adodc_tanaman.Recordset.MoveFirst End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub Blank() txt_ID = "" txt_asal = "" txt_lokasi = "" txt_tanggal = "" txt_varietas = "" End Sub Private Sub cmd_add_Click() On Error GoTo salah: lbl_proses.Caption = """ Isi Data Tanaman """ If adodc_tanaman.Recordset.RecordCount > 0 Then data1 = adodc_tanaman.Recordset.Bookmark adodc_tanaman.Recordset.AddNew cmd_add.Enabled = False cmd_save.Enabled = True cmd_edit.Enabled = False cmd_delete.Enabled = False cmd_cancel.Enabled = True cmd_close.Enabled = False cmd_cari.Enabled = False cmd_refresh.Enabled = False cmd_first.Enabled = False cmd_last.Enabled = False cmd_next.Enabled = False cmd_prev.Enabled = False cmd_cetak.Enabled = False dt_tanaman.Enabled = False
51
locktxt False
txt_ID.SetFocus Blank Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada sistem, penambahan data tidak dapat dilakukan.") End Sub Private Sub cmb_cari_KeyPress(KeyAscii As Integer) KeyAscii = 0 cmb_cari.Text = "--Pilih Kriteria--" End Sub Private Sub cmd_save_Click() On Error GoTo salahsimpan If txt_ID.Text = "" Then MsgBox " Kode tanaman Harus Diisi", vbInformation, "Pesan" txt_ID.SetFocus Else adodc_tanaman.Recordset.Update MsgBox " Data sudah disimpan", vbInformation, " Informasi " If adodc_tanaman.Recordset.RecordCount > 1 And lbl_proses.Caption = """ Edit Data tanaman """ Then adodc_tanaman.Recordset.AbsolutePosition = data1 Else adodc_tanaman.Recordset.MoveLast End If lbl_proses.Caption = """ Data tanaman """ locktxt True cmd_add.Enabled = True cmd_save.Enabled = False cmd_edit.Enabled = True cmd_delete.Enabled = True cmd_cancel.Enabled = False cmd_close.Enabled = True cmd_cari.Enabled = True cmd_refresh.Enabled = True cmd_first.Enabled = True cmd_last.Enabled = True cmd_next.Enabled = True
52
cmd_prev.Enabled = True cmd_cetak.Enabled = True dt_tanaman.Enabled = True
End If Exit Sub salahsimpan: pesan = MsgBox("Terjadi kesalahan pengisian data,isikan data dengan benar.") End Sub Private Sub cmd_edit_Click() On Error GoTo salahedit If adodc_tanaman.Recordset.RecordCount <> 0 Then data1 = adodc_tanaman.Recordset.Bookmark lbl_proses.Caption = """ Edit Data tanaman """ adodc_tanaman.Recordset.Update locktxt False cmd_add.Enabled = False cmd_save.Enabled = True cmd_edit.Enabled = False cmd_delete.Enabled = False cmd_cancel.Enabled = True cmd_close.Enabled = False cmd_cari.Enabled = False cmd_refresh.Enabled = False cmd_first.Enabled = False cmd_last.Enabled = False cmd_next.Enabled = False cmd_prev.Enabled = False cmd_cetak.Enabled = False Else pesan = MsgBox("Tidak Ada Data yg Dapat Diedit") End If Exit Sub salahedit: pesan = MsgBox("Terjadi kesalahan pada sistem,pengeditan data tidak dapat dilakukan.") End Sub Private Sub cmd_delete_Click() On Error GoTo SalahHapus If adodc_tanaman.Recordset.RecordCount = 0 Then pesan = MsgBox("Tidak ada data yang dapat dihapus")
53
Else pesan = MsgBox("Anda Yakin Akan Menghapus Data Ini?", vbYesNo, "Konfirmasi") If pesan = vbYes Then data1 = adodc_tanaman.Recordset.Bookmark If data2 = adodc_tanaman.Recordset.RecordCount Then data1 = data1 - 1 adodc_tanaman.Recordset.Delete adodc_tanaman.Recordset.Requery ' If adodc_tanaman.Recordset.RecordCount > 1 Then adodc_tanaman.Recordset.Bookmark = data1 End If End If Exit Sub SalahHapus: pesan = MsgBox("Terjadi kesalahan pada proses penghapusan.") End Sub Private Sub cmd_cancel_Click() On Error GoTo salah pesan = MsgBox("Anda yakin akan membatalkan pengisian/perubahan data?", vbYesNo, "Konfirmasi") If pesan = vbYes Then adodc_tanaman.Recordset.CancelBatch cmd_cancel.Enabled = False cmd_add.Enabled = True cmd_edit.Enabled = True cmd_delete.Enabled = True cmd_save.Enabled = False cmd_close.Enabled = True cmd_cari.Enabled = True cmd_refresh.Enabled = True cmd_first.Enabled = True cmd_last.Enabled = True cmd_next.Enabled = True cmd_prev.Enabled = True cmd_cetak.Enabled = True dt_tanaman.Enabled = True locktxt True lbl_proses.Caption = """ Data tanaman """ If adodc_tanaman.Recordset.RecordCount <> 0 Then adodc_tanaman.Refresh adodc_tanaman.Recordset.AbsolutePosition = data1 Else adodc_tanaman.Refresh
54
Blank End If End If Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada proses pembatalan.") End Sub Private Sub cmd_cari_Click() Dim yangdicari As String Dim varcari, varcari2 As Double varcari = Val(txt_cari.Text) varcari2 = Val(txt_cari2.Text) On Error GoTo salah Select Case cmb_cari.Text Case "ID Tanaman =" yangdicari = "Id_tanaman like '%" + txt_cari.Text + "%'" Case "Tanggal Tanam =" yangdicari = "tanggal_tanam like '%" + txt_cari.Text + "%'" Case "Varietas =" yangdicari = "varietas like '%" + txt_cari.Text + "%'" Case "Nama Tanaman =" yangdicari = "nama_tanaman like '%" + txt_cari.Text + "%'" Case "Lokasi =" yangdicari = "lokasi like '%" + txt_cari.Text + "%'" End Select If cmb_cari.Text = "--Pilih Kriteria--" Or cmb_cari.Text = "" Then MsgBox " Pilih kriteria terlebih dahulu", vbInformation + vbOKOnly, " Search" cmb_cari.Text = "--Pilih Kriteria--" Exit Sub End If If txt_cari = "'" Or txt_cari = "[" Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" Exit Sub End If If txt_cari <> "" Then dt_tanaman.Caption = "Data dengan kriteria """ + cmb_cari.Text + """ dan kata kunci """ + txt_cari.Text + """" adodc_tanaman.CommandType = adCmdText adodc_tanaman.RecordSource = "SELECT * FROM tanaman WHERE " + yangdicari + " " adodc_tanaman.Refresh
55
If adodc_tanaman.Recordset.RecordCount = 0 Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" End If Else MsgBox "Masukkan input pencarian terlebih dahulu", vbInformation + vbOKOnly, " Search" txt_cari.SetFocus SendKeys "{Home}+{End}" End If dt_tanaman.MarqueeStyle = dbgHighlightRow Set dt_tanaman.DataSource = adodc_tanaman Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem,Silakan Ganti Kata Kunci Pencarian") End Sub Private Sub cmd_refresh_Click() cmd_add.Enabled = True dt_tanaman.Caption = "Data tanaman" adodc_tanaman.CommandType = adCmdText adodc_tanaman.RecordSource = "Select * From tanaman" adodc_tanaman.Refresh dt_tanaman.Refresh txt_cari.Refresh txt_cari.Text = "": txt_cari2.Text = "" cmb_cari.Text = "--Pilih Kriteria--" cmd_cari.Refresh End Sub Private Sub txt_cari_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txt_cari2.Visible = False Then cmd_cari_Click Else txt_cari2.SetFocus End If End If End Sub Private Sub txt_cari2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmd_cari_Click End Sub
56
Private Sub locktxt(bval As Boolean) txt_ID.Locked = bval txt_tanggal.Locked = bval txt_varietas.Locked = bval txt_lokasi.Locked = bval txt_asal.Locked = bval End Sub
57
‘Form Perawatan Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Option Explicit Public cn As New ADODB.Connection Dim pesan As String Dim sql, data1 As String Dim i As Integer Dim data2 Public Sub BukaKoneksi() Dim koneksi As String Set cn = New ADODB.Connection koneksi = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\mekar_sari2002.mdb" cn.Open koneksi End Sub Private Sub cmb_cari2_Change() If Left(cmb_cari2.Text, 1) = "<" Then lbl_antara2.Caption = cmb_cari2.Text txt_cari22.Visible = True: Else: lbl_antara2.Caption = "": txt_cari22.Visible = False: txt_cari22 = "" End If End Sub Private Sub cmb_cari2_Click() cmb_cari2_Change End Sub Private Sub cmb_cari_Change() If Left(cmb_cari.Text, 1) = "<" Then lbl_antara.Caption = cmb_cari.Text txt_cari2.Visible = True: Else: lbl_antara.Caption = "": txt_cari2.Visible = False: txt_cari2 = "" End If End Sub Private Sub cmb_cari_Click() cmb_cari_Change End Sub Private Sub cmb_cari2_KeyPress(KeyAscii As Integer) KeyAscii = 0 cmb_cari2.Text = "--Pilih Kriteria--" End Sub
58
Private Sub cmd_cetak_Click() On Error GoTo salah rpt_perawatan.Show Exit Sub salah: MsgBox "Pencetakan data tidak dapat dilakukan.", vbOKOnly, "pesan" End Sub Private Sub cmd_cetak2_Click()
On Error GoTo salah rpt_perawatan_detail.Show Exit Sub salah: MsgBox "Pencetakan data tidak dapat dilakukan.", vbOKOnly, "pesan" End Sub Private Sub cmd_first2_Click() On Error GoTo salah If adodc_detail.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_detail.Recordset.MoveFirst End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_last2_Click() On Error GoTo salah If adodc_detail.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_detail.Recordset.MoveLast End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub
59
Private Sub cmd_next2_Click() On Error GoTo salah If adodc_detail.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_detail.Recordset.MoveNext If adodc_detail.Recordset.EOF Then MsgBox "Data sudah di akhir!!", vbInformation + vbOKOnly, "Informasi" txt_ID_perawatan2 = txt_id_perawatan adodc_detail.Recordset.MoveLast End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_prev2_Click() On Error GoTo salah If adodc_detail.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_detail.Recordset.MovePrevious If adodc_detail.Recordset.BOF Then MsgBox "Data sudah di awal!!", vbInformation + vbOKOnly, "Informasi" txt_ID_perawatan2 = txt_id_perawatan adodc_detail.Recordset.MoveFirst End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub DataCombo1_Change() adodc_data_jenis.CommandType = adCmdText adodc_data_jenis.RecordSource = "SELECT * FROM jenis_Perawatan WHERE ID_jenis_Perawatan = '" & DataCombo1.Text & "'" adodc_data_jenis.Refresh On Error GoTo salah Exit Sub salah: End Sub
60
Private Sub DataCombo1_Click(Area As Integer) DataCombo1_Change End Sub Private Sub DataCombo2_Change() adodc_data_tanaman.CommandType = adCmdText adodc_data_tanaman.RecordSource = "SELECT Id_tanaman, nama_tanaman, lokasi FROM tanaman WHERE Id_tanaman='" & DataCombo2.Text & "'" adodc_data_tanaman.Refresh End Sub Private Sub DataCombo2_Click(Area As Integer) DataCombo2_Change End Sub Private Sub Form_Load() On Error Resume Next
Me.Top = 0 Me.Left = 0 'With Me ' Height = 10560 ' ScaleHeight = 704 ' ScaleWidth = 1020 ' Width = 15300 'End With cmb_cari.AddItem "Tanggal =", 0 cmb_cari.AddItem "ID Perawatan =", 1 cmb_cari.AddItem "ID Tanaman =", 2 cmb_cari.AddItem "Nama Tanaman =", 3 cmb_cari.AddItem "Lokasi =", 4 cmb_cari2.AddItem "ID Perawatan =", 0 cmb_cari2.AddItem "ID Jenis Perawatan =", 1 cmb_cari2.AddItem "Nama Perawatan =", 2 cmd_refresh_Click End Sub Private Sub cmd_close_Click() On Error Resume Next
61
Unload Me MenuUtama
End Sub Private Sub cmd_first_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveFirst End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_last_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveLast End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_next_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveNext If adodc_perawatan.Recordset.EOF Then MsgBox "Data sudah di akhir!!", vbInformation + vbOKOnly, "Informasi" adodc_perawatan.Recordset.MoveLast End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_prev_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MovePrevious
62
If adodc_perawatan.Recordset.BOF Then MsgBox "Data sudah di awal!!", vbInformation + vbOKOnly, "Informasi" adodc_perawatan.Recordset.MoveFirst End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub Blank() txt_tanggal = "" DataCombo2.Text = "" txt_id_perawatan = "" End Sub Private Sub Blank2() txt_ID_perawatan2 = "": DataCombo1.Text = "":
End Sub Private Sub cmd_add_Click() On Error GoTo salah lbl_proses2.Caption = """ Isi Data Perawatan """ If adodc_perawatan.Recordset.RecordCount > 0 Then data1 = adodc_perawatan.Recordset.Bookmark adodc_perawatan.Recordset.AddNew cmd_add.Enabled = False cmd_save.Enabled = True cmd_edit.Enabled = False cmd_delete.Enabled = False cmd_cancel.Enabled = True cmd_first.Enabled = False cmd_last.Enabled = False cmd_next.Enabled = False cmd_prev.Enabled = False cmd_cetak.Enabled = False DataGrid1.Enabled = False
63
locktxt False cmd_close.Enabled = False cmd_cari.Enabled = False cmd_refresh.Enabled = False Blank Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada sistem, penambahan data tidak dapat dilakukan.") End Sub Private Sub cmd_add2_Click() On Error GoTo salah lbl_proses2.Caption = """ Isi Data Perawatan """ adodc_detail.Refresh If adodc_detail.Recordset.RecordCount > 0 Then data1 = adodc_detail.Recordset.Bookmark adodc_detail.Recordset.AddNew cmd_add2.Enabled = False cmd_save2.Enabled = True cmd_edit2.Enabled = False cmd_delete2.Enabled = False cmd_cancel2.Enabled = True cmd_first2.Enabled = False cmd_last2.Enabled = False cmd_next2.Enabled = False cmd_prev2.Enabled = False cmd_cetak2.Enabled = False DataGrid2.Enabled = False locktxt2 False cmd_close.Enabled = False cmd_cari2.Enabled = False cmd_refresh2.Enabled = False Blank2 txt_ID_perawatan2 = txt_id_perawatan Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada sistem, penambahan data tidak dapat dilakukan.") End Sub
64
Private Sub cmd_save_Click() On Error GoTo salahsimpan If txt_id_perawatan.Text = "" Then MsgBox "Id Perawatan Harus Diisi", vbInformation, "Pesan" txt_id_perawatan.SetFocus: Exit Sub Else adodc_perawatan.Recordset.Update MsgBox " Data sudah disimpan ", vbInformation, " Informasi " adodc_perawatan.Recordset.Requery If adodc_perawatan.Recordset.RecordCount > 1 Then adodc_perawatan.Recordset.AbsolutePosition = data1 locktxt True cmd_add.Enabled = True cmd_save.Enabled = False cmd_edit.Enabled = True cmd_delete.Enabled = True cmd_cancel.Enabled = False cmd_close.Enabled = True cmd_cari.Enabled = True cmd_refresh.Enabled = True cmd_first.Enabled = True cmd_last.Enabled = True cmd_next.Enabled = True cmd_prev.Enabled = True cmd_cetak.Enabled = True DataGrid1.Enabled = True lbl_proses2.Caption = """ Data Perawatan """ End If Exit Sub salahsimpan: pesan = MsgBox("Terjadi kesalahan pengisian data,isikan data dengan benar.") End Sub Private Sub cmd_save2_Click() On Error GoTo salahsimpan If txt_ID_perawatan2.Text = "" Then MsgBox " ID Perawatan Harus Dipilih", vbInformation, "Pesan" txt_ID_perawatan2.SetFocus: Exit Sub ElseIf DataCombo1.Text = "" Then MsgBox " ID Pupuk Harus Dipilih", vbInformation, "Pesan" DataCombo1.SetFocus: Exit Sub
65
Else adodc_detail.Recordset.Update MsgBox " Data sudah disimpan ", vbInformation, " Informasi " adodc_detail.Refresh If adodc_detail.Recordset.RecordCount > 1 Then adodc_detail.Recordset.AbsolutePosition = data1 locktxt2 True
cmd_close.Enabled = True cmd_cari2.Enabled = True cmd_refresh2.Enabled = True cmd_add2.Enabled = True cmd_save2.Enabled = False cmd_edit2.Enabled = True cmd_delete2.Enabled = True cmd_cancel2.Enabled = False cmd_first2.Enabled = True cmd_last2.Enabled = True cmd_next2.Enabled = True cmd_prev2.Enabled = True cmd_cetak2.Enabled = True DataGrid2.Enabled = True lbl_proses2.Caption = """ Data Perawatan """ End If Exit Sub salahsimpan: pesan = MsgBox("Terjadi kesalahan pengisian data,isikan data dengan benar.") End Sub Private Sub cmd_edit_Click() On Error GoTo salahedit If adodc_perawatan.Recordset.RecordCount <> 0 Then data1 = adodc_perawatan.Recordset.Bookmark Else pesan = MsgBox("Tidak Ada Data yg Dapat Diedit") Exit Sub End If
66
lbl_proses2.Caption = """ Edit Data Perawatan """ locktxt False txt_tanggal.SetFocus cmd_add.Enabled = False cmd_save.Enabled = True cmd_edit.Enabled = False cmd_delete.Enabled = False cmd_cancel.Enabled = True cmd_close.Enabled = False cmd_cari.Enabled = False cmd_refresh.Enabled = False cmd_first.Enabled = False cmd_prev.Enabled = False cmd_next.Enabled = False cmd_last.Enabled = False adodc_perawatan.Recordset.Update
Exit Sub salahedit: pesan = MsgBox("Terjadi kesalahan pada sistem,pengeditan data tidak dapat dilakukan.") End Sub Private Sub cmd_edit2_Click() On Error GoTo salahedit If adodc_detail.Recordset.RecordCount <> 0 Then data1 = adodc_detail.Recordset.Bookmark Else pesan = MsgBox("Tidak Ada Data yg Dapat Diedit") Exit Sub End If lbl_proses2.Caption = """ Edit Data Perawatan """ cmd_add2.Enabled = False cmd_save2.Enabled = True cmd_edit2.Enabled = False cmd_delete2.Enabled = False cmd_cancel2.Enabled = True cmd_first2.Enabled = False cmd_last2.Enabled = False cmd_next2.Enabled = False cmd_prev2.Enabled = False
67
cmd_cetak2.Enabled = False DataGrid2.Enabled = False locktxt2 False txt_ID_perawatan2.SetFocus cmd_close.Enabled = False cmd_cari2.Enabled = False cmd_refresh2.Enabled = False adodc_detail.Recordset.Update
Exit Sub salahedit: pesan = MsgBox("Terjadi kesalahan pada sistem,pengeditan data tidak dapat dilakukan.") End Sub Private Sub cmd_delete_Click() Dim pesan As String On Error GoTo SalahHapus If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Tidak ada data yang dapat dihapus") Else pesan = MsgBox("Anda Yakin Akan Menghapus Data Ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then data1 = adodc_perawatan.Recordset.Bookmark If data2 = adodc_perawatan.Recordset.RecordCount = data1 Then data1 = data1 - 1 BukaKoneksi sql = "delete from perawatan where id_perawatan = '" & txt_id_perawatan.Text & "'" cn.Execute sql sql = "delete from perawatan_detail where id_perawatan = '" & txt_id_perawatan.Text & "'" cn.Execute sql cn.Close adodc_perawatan.Recordset.Requery adodc_perawatan.Refresh 'If adodc_perawatan.Recordset.RecordCount > 1 Then adodc_perawatan.Recordset.AbsolutePosition = data1 - 1 End If End If Exit Sub
68
SalahHapus: pesan = MsgBox("Terjadi kesalahan pada proses penghapusan.") End Sub Private Sub cmd_delete2_Click() Dim pesan As String On Error GoTo SalahHapus If adodc_detail.Recordset.RecordCount = 0 Then pesan = MsgBox("Tidak ada data yang dapat dihapus") Else pesan = MsgBox("Anda Yakin Akan Menghapus Data Ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then data1 = adodc_detail.Recordset.Bookmark If data2 = adodc_detail.Recordset.RecordCount = data1 Then data1 = data1 1 BukaKoneksi sql = "delete from perawatan_detail where id_perawatan = '" & txt_ID_perawatan2.Text & "'and id_jenis_perawatan = '" & DataCombo1.Text & "'" cn.Execute sql cn.Close adodc_detail.Recordset.Requery adodc_detail.Refresh If adodc_detail.Recordset.RecordCount > 1 Then adodc_detail.Recordset.AbsolutePosition = data1 End If End If Exit Sub SalahHapus: pesan = MsgBox("Terjadi kesalahan pada proses penghapusan.") End Sub Private Sub cmd_cancel_Click() On Error GoTo salah pesan = MsgBox("Anda yakin akan membatalkan pengisian/perubahan data?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then adodc_perawatan.Recordset.CancelBatch
69
cmd_close.Enabled = True cmd_cari.Enabled = True cmd_refresh.Enabled = True cmd_cancel.Enabled = False cmd_add.Enabled = True cmd_edit.Enabled = True cmd_delete.Enabled = True cmd_save.Enabled = False cmd_first.Enabled = True cmd_last.Enabled = True cmd_next.Enabled = True cmd_prev.Enabled = True locktxt True If adodc_perawatan.Recordset.RecordCount <> 0 Then If lbl_proses2.Caption = """ Isi Data Perawatan """ Then adodc_perawatan.Refresh Else data1 = adodc_perawatan.Recordset.Bookmark adodc_perawatan.Recordset.AbsolutePosition = data1 End If ElseIf adodc_perawatan.Recordset.RecordCount = 0 Then adodc_perawatan.Refresh Blank End If lbl_proses2.Caption = """ Data Perawatan """ Else: Exit Sub End If Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada proses pembatalan.") End Sub Private Sub cmd_cancel2_Click() On Error GoTo salah pesan = MsgBox("Anda yakin akan membatalkan pengisian/perubahan data?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then adodc_detail.Recordset.CancelBatch cmd_close.Enabled = True cmd_cari2.Enabled = True cmd_refresh2.Enabled = True cmd_cancel2.Enabled = False cmd_add2.Enabled = True
70
cmd_edit2.Enabled = True cmd_delete2.Enabled = True cmd_save2.Enabled = False cmd_first2.Enabled = True cmd_last2.Enabled = True cmd_next2.Enabled = True cmd_prev2.Enabled = True locktxt2 True If adodc_detail.Recordset.RecordCount <> 0 Then If lbl_proses2.Caption = """ Isi Data Perawatan """ Then adodc_detail.Refresh Else data1 = adodc_detail.Recordset.Bookmark adodc_detail.Recordset.AbsolutePosition = data1 End If ElseIf adodc_detail.Recordset.RecordCount = 0 Then adodc_detail.Refresh Blank2 End If lbl_proses2.Caption = """ Data Perawatan """ Else: Exit Sub End If Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada proses pembatalan.") End Sub Private Sub cmb_cari_KeyPress(KeyAscii As Integer) KeyAscii = 0 cmb_cari.Text = "--Pilih Kriteria--" End Sub Private Sub cmd_cari_Click() On Error GoTo salah Dim yangdicari As String Dim varcari, varcari2 As Double varcari = Val(txt_cari.Text) varcari2 = Val(txt_cari2.Text)
71
Select Case cmb_cari.Text Case "Tanggal =" yangdicari = "tanggal like '%" + txt_cari.Text + "%'" Case "ID Perawatan =" yangdicari = "Id_Perawatan like '%" + txt_cari.Text + "%'" Case "ID Tanaman =" yangdicari = "Id_tanaman like '%" + txt_cari.Text + "%'" Case "Nama Tanaman =" yangdicari = "nama_tanaman like '%" + txt_cari.Text + "%' " Case "Lokasi =" yangdicari = "lokasi like '%" + txt_cari.Text + "%' " End Select If cmb_cari.Text = "--Pilih Kriteria--" Or cmb_cari.Text = "" Then MsgBox " Pilih kriteria terlebih dahulu", vbInformation + vbOKOnly, " Search" cmb_cari.Text = "--Pilih Kriteria--" Exit Sub End If If txt_cari = "'" Or txt_cari = "[" Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" Exit Sub End If If txt_cari <> "" Then DataGrid1.Caption = "Data dengan kriteria """ + cmb_cari.Text + """ dan kata kunci """ + txt_cari.Text + """" adodc_perawatan.CommandType = adCmdText adodc_perawatan.RecordSource = "SELECT * FROM query_Perawatan WHERE " + yangdicari + " " adodc_perawatan.Refresh DataGrid1.Refresh DataGrid1.Refresh If adodc_perawatan.Recordset.RecordCount = 0 Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" End If Else MsgBox "Masukkan input pencarian terlebih dahulu", vbInformation + vbOKOnly, " Search" txt_cari.SetFocus SendKeys "{Home}+{End}" End If DataGrid1.MarqueeStyle = dbgHighlightRow Set DataGrid1.DataSource = adodc_perawatan
72
Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem,ganti kata pencarian.") End Sub Private Sub cmd_cari2_Click() On Error GoTo salah Dim yangdicari As String Dim varcari, varcari2 As Double varcari = Val(txt_cari12.Text) varcari2 = Val(txt_cari22.Text) Select Case cmb_cari2.Text Case "ID Perawatan =" yangdicari = "Id_Perawatan like '%" + txt_cari12.Text + "%'" Case "ID Jenis Perawatan =" yangdicari = "Id_Jenis_Perawatan like '%" + txt_cari12.Text + "%'" Case "Nama Perawatan =" yangdicari = "jenis_perawatan like '%" + txt_cari12.Text + "%'" End Select If cmb_cari2.Text = "--Pilih Kriteria--" Or cmb_cari2.Text = "" Then MsgBox " Pilih kriteria terlebih dahulu", vbInformation + vbOKOnly, " Search" cmb_cari2.Text = "--Pilih Kriteria--" Exit Sub End If If txt_cari12 = "'" Or txt_cari12 = "[" Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" Exit Sub End If If txt_cari12 <> "" Then DataGrid2.Caption = "Data dengan kriteria """ + cmb_cari2.Text + """ dan kata kunci """ + txt_cari12.Text + """" adodc_detail.CommandType = adCmdText adodc_detail.RecordSource = "SELECT * FROM query_Perawatan_detail WHERE " + yangdicari + " " adodc_detail.Refresh DataGrid2.Refresh DataGrid2.Refresh If adodc_detail.Recordset.RecordCount = 0 Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" End If Else
73
MsgBox "Masukkan input pencarian terlebih dahulu", vbInformation + vbOKOnly, " Search" txt_cari.SetFocus SendKeys "{Home}+{End}" End If DataGrid2.MarqueeStyle = dbgHighlightRow Set DataGrid2.DataSource = adodc_detail Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_refresh_Click() cmd_add.Enabled = True DataGrid1.Caption = "Data Perawatan" adodc_perawatan.CommandType = adCmdText adodc_perawatan.RecordSource = "Select * From query_Perawatan" adodc_perawatan.Refresh
DataGrid1.Refresh txt_cari.Refresh txt_cari.Text = "": txt_cari2.Text = "" cmb_cari.Text = "--Pilih Kriteria--" cmd_cari.Refresh End Sub Private Sub cmd_refresh2_Click() cmd_add2.Enabled = True DataGrid2.Caption = "Data Perawatan" adodc_detail.CommandType = adCmdText adodc_detail.RecordSource = "Select * From query_Perawatan_detail order by Id_Perawatan " adodc_detail.Refresh adodc_perawatan2.Refresh DataGrid2.Refresh txt_cari12.Refresh txt_cari12.Text = "": txt_cari22.Text = "" cmb_cari2.Text = "--Pilih Kriteria--" cmd_cari2.Refresh End Sub Private Sub SSTab2_Click(PreviousTab As Integer) adodc_perawatan2.Refresh adodc_detail.CommandType = adCmdText
74
adodc_detail.RecordSource = "Select * From query_Perawatan_detail where Id_Perawatan = '" & txt_id_perawatan & "' order by Id_Perawatan " adodc_detail.Refresh End Sub Private Sub txt_cari_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txt_cari2.Visible = False Then cmd_cari_Click Else txt_cari2.SetFocus End If End If End Sub Private Sub txt_cari2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmd_cari_Click End Sub Private Sub txt_cari12_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txt_cari2.Visible = False Then cmd_cari_Click Else txt_cari2.SetFocus End If End If End Sub Private Sub txt_diskon_KeyPress(KeyAscii As Integer) End Sub
Private Sub txt_id_Perawatan_Change() On Error GoTo salah Exit Sub salah: End Sub Private Sub txt_id_Perawatan2_Change() On Error GoTo salah Exit Sub salah:
75
End Sub Private Sub txt_id_Perawatan2_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub Private Sub txt_tgl_jual_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then DataCombo2.SetFocus End Sub Private Sub locktxt(bval As Boolean) txt_tanggal.Locked = bval txt_id_perawatan.Locked = bval DataCombo2.Locked = bval End Sub Private Sub locktxt2(bval As Boolean) txt_ID_perawatan2.Locked = bval DataCombo1.Locked = bval txt_nama_perawatan.Locked = bval End Sub
76
‘Form Jenis Perawatan Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Option Explicit Public cn As New ADODB.Connection Dim pesan As String Dim sql, data1 As String Dim i As Integer Dim data2 Private Sub cmb_cari2_Change() If Left(cmb_cari2.Text, 1) = "<" Then 'lbl_antara.Caption = cmb_cari2.Text txt_cari2.Visible = True: Else: 'lbl_antara.Caption = "": txt_cari2.Visible = False: txt_cari2.Text = "" End If End Sub Private Sub cmb_cari2_Click() cmb_cari2_Change End Sub Private Sub cmd_close_Click() Unload Me MenuUtama End Sub Private Sub Form_Load() On Error Resume Next BukaKoneksi Me.Top = 0 Me.Left = 0 'With Me ' Height = 10560 ' ScaleHeight = 704 ' ScaleWidth = 1020 ' Width = 15300 'End With adodc_perawatan.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./mekar_sari2002.mdb;Persist Security Info=False;"
77
cmb_cari2.AddItem "ID Perawatan =", 0 cmb_cari2.AddItem "Jenis Perawatan =", 1 End Sub Private Sub txt_cari_KeyPress(KeyAscii As Integer) End Sub Private Sub cmd_first2_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveFirst End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_last2_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveLast End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_next2_Click() On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MoveNext If adodc_perawatan.Recordset.EOF Then MsgBox "Data Sudah di Akhir", vbInformation + vbOKOnly, "Informasi" adodc_perawatan.Recordset.MoveLast End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub cmd_prev2_Click()
78
On Error GoTo salah If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Data Kosong") Else adodc_perawatan.Recordset.MovePrevious If adodc_perawatan.Recordset.BOF Then MsgBox "Data Sudah di Awal", vbInformation + vbOKOnly, "Informasi" adodc_perawatan.Recordset.MoveFirst End If End If Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem") End Sub Private Sub Blank2() txt_id_perawatan = "" txt_nama_perawatan = "" End Sub Private Sub cmd_add2_Click() On Error GoTo salah: lbl_proses2.Caption = """ Isi Data Jenis Perawatan """ If adodc_perawatan.Recordset.RecordCount > 0 Then data1 = adodc_perawatan.Recordset.Bookmark adodc_perawatan.Recordset.AddNew cmd_add2.Enabled = False cmd_save2.Enabled = True cmd_edit2.Enabled = False cmd_delete2.Enabled = False cmd_cancel2.Enabled = True cmd_close.Enabled = False cmd_cari2.Enabled = False cmd_refresh2.Enabled = False cmd_first2.Enabled = False cmd_last2.Enabled = False cmd_next2.Enabled = False cmd_prev2.Enabled = False dt_perawatan.Enabled = False locktxt2 False txt_id_perawatan.SetFocus Blank2 Exit Sub
79
salah: pesan = MsgBox("Terjadi kesalahan pada sistem, penambahan data tidak dapat dilakukan.") End Sub Private Sub cmb_cari2_KeyPress(KeyAscii As Integer) KeyAscii = 0 cmb_cari2.Text = "--Pilih Kriteria--" End Sub Private Sub cmd_save2_Click() On Error GoTo salahsimpan If txt_id_perawatan.Text = "" Then MsgBox " Kode Perawatan Harus Diisi", vbInformation, "Pesan" txt_id_perawatan.SetFocus Else adodc_perawatan.Recordset.Update MsgBox " Data sudah disimpan", vbInformation, " Informasi " If adodc_perawatan.Recordset.RecordCount > 1 And lbl_proses2.Caption = """ Edit Data Jenis Perawatan """ Then adodc_perawatan.Recordset.AbsolutePosition = data1 Else adodc_perawatan.Recordset.MoveLast End If lbl_proses2.Caption = """ Data Jenis Perawatan """ locktxt2 True cmd_add2.Enabled = True cmd_save2.Enabled = False cmd_edit2.Enabled = True cmd_delete2.Enabled = True cmd_cancel2.Enabled = False cmd_close.Enabled = True cmd_cari2.Enabled = True cmd_refresh2.Enabled = True cmd_first2.Enabled = True cmd_last2.Enabled = True cmd_next2.Enabled = True cmd_prev2.Enabled = True 'cmd_cetak2.Enabled = True dt_perawatan.Enabled = True
End If Exit Sub
80
salahsimpan: pesan = MsgBox("Terjadi kesalahan pengisian data,isikan data dengan benar.") End Sub Private Sub cmd_edit2_Click() On Error GoTo salahedit If adodc_perawatan.Recordset.RecordCount <> 0 Then data1 = adodc_perawatan.Recordset.Bookmark lbl_proses2.Caption = """ Edit Data Jenis Perawatan """ adodc_perawatan.Recordset.Update locktxt2 False cmd_add2.Enabled = False cmd_save2.Enabled = True cmd_edit2.Enabled = False cmd_delete2.Enabled = False cmd_cancel2.Enabled = True cmd_close.Enabled = False cmd_cari2.Enabled = False cmd_refresh2.Enabled = False cmd_first2.Enabled = False cmd_last2.Enabled = False cmd_next2.Enabled = False cmd_prev2.Enabled = False 'cmd_cetak2.Enabled = False Else pesan = MsgBox("Tidak Ada Data yg Dapat Diedit") End If Exit Sub salahedit: pesan = MsgBox("Terjadi kesalahan pada sistem,pengeditan data tidak dapat dilakukan.") End Sub Private Sub cmd_delete2_Click() On Error GoTo SalahHapus If adodc_perawatan.Recordset.RecordCount = 0 Then pesan = MsgBox("Tidak ada data yang dapat dihapus") Else pesan = MsgBox("Anda Yakin Akan Menghapus Data Ini?", vbYesNo, "Konfirmasi") If pesan = vbYes Then
81
data1 = adodc_perawatan.Recordset.Bookmark If data2 = adodc_perawatan.Recordset.RecordCount Then data1 = data1 - 1 adodc_perawatan.Recordset.Delete adodc_perawatan.Recordset.Requery 'If adodc_perawatan.Recordset.RecordCount > 1 Then adodc_perawatan.Recordset.Bookmark = data1 End If End If Exit Sub SalahHapus: pesan = MsgBox("Terjadi kesalahan pada proses penghapusan.") End Sub Private Sub cmd_cancel2_Click() On Error GoTo salah pesan = MsgBox("Anda yakin akan membatalkan pengisian/perubahan data?", vbYesNo, "Konfirmasi") If pesan = vbYes Then adodc_perawatan.Recordset.CancelBatch cmd_cancel2.Enabled = False cmd_add2.Enabled = True cmd_edit2.Enabled = True cmd_delete2.Enabled = True cmd_save2.Enabled = False cmd_close.Enabled = True cmd_cari2.Enabled = True cmd_refresh2.Enabled = True cmd_first2.Enabled = True cmd_last2.Enabled = True cmd_next2.Enabled = True cmd_prev2.Enabled = True dt_perawatan.Enabled = True locktxt2 True lbl_proses2.Caption = """ Data Jenis Perawatan """ If adodc_perawatan.Recordset.RecordCount <> 0 Then adodc_perawatan.Refresh adodc_perawatan.Recordset.AbsolutePosition = data1 Else adodc_perawatan.Refresh Blank2 End If End If
82
Exit Sub salah: pesan = MsgBox("Terjadi kesalahan pada proses pembatalan.") End Sub Private Sub cmd_cari2_Click() Dim yangdicari As String Dim varcari, varcari2 As Double varcari = Val(txt_cari2.Text) varcari2 = Val(txt_cari2.Text) 'On Error GoTo salah Select Case cmb_cari2.Text Case "ID Perawatan =" yangdicari = "id_jenis_perawatan like '%" + txt_cari2.Text + "%'" Case "Jenis Perawatan =" yangdicari = "jenis_perawatan like '%" + txt_cari2.Text + "%'" End Select If cmb_cari2.Text = "--Pilih Kriteria--" Or cmb_cari2.Text = "" Then MsgBox " Pilih kriteria terlebih dahulu", vbInformation + vbOKOnly, " Search" cmb_cari2.Text = "--Pilih Kriteria--" Exit Sub End If If txt_cari2 = "'" Or txt_cari2 = "[" Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" Exit Sub End If If txt_cari2 <> "" Then dt_perawatan.Caption = "Data dengan kriteria """ + cmb_cari2.Text + """ dan kata kunci """ + txt_cari2.Text + """" adodc_perawatan.CommandType = adCmdText adodc_perawatan.RecordSource = "SELECT * FROM jenis_perawatan WHERE " + yangdicari + " " adodc_perawatan.Refresh dt_perawatan.Refresh dt_perawatan.Refresh If adodc_perawatan.Recordset.RecordCount = 0 Then MsgBox " Data tidak ditemukan ", vbInformation + vbOKOnly, "Informasi" End If Else MsgBox "Masukkan input pencarian terlebih dahulu", vbInformation + vbOKOnly, " Search"
83
txt_cari2.SetFocus SendKeys "{Home}+{End}" End If dt_perawatan.MarqueeStyle = dbgHighlightRow Set dt_perawatan.DataSource = adodc_perawatan Exit Sub salah: pesan = MsgBox("Terjadi Kesalahan pada Sistem,Silakan Ganti Kata Kunci Pencarian") End Sub Private Sub cmd_refresh2_Click() cmd_add2.Enabled = True dt_perawatan.Caption = "Data Jenis Perawatan" adodc_perawatan.CommandType = adCmdText adodc_perawatan.RecordSource = "Select * From jenis_perawatan" adodc_perawatan.Refresh dt_perawatan.Refresh txt_cari2.Refresh txt_cari2.Text = "": cmb_cari2.Text = "--Pilih Kriteria--" cmd_cari2.Refresh End Sub Private Sub locktxt2(bval As Boolean) txt_id_perawatan.Locked = bval txt_nama_perawatan.Locked = bval End Sub
84