BAB II TINJAUAN PUSTAKA
2.1. Sistem Informasi 2.1.1. Pengertian Sistem Informasi Sistem informasi adalah suatu sistem yang tujuannya menghasilkan informasi. Komponen-komponen dari sistem informasi tidak boleh kurang karena jika komponenya kurang maka sistem informasi tersebut tidak mencapai tujuannya. Dan komponen-komponen dari sistem informasi tidak boleh berlebihan karena akan tidak terpakai dan memboroskan. Informasi merupakan hal yang sangat penting bagi manajemen di dalam pengambilan keputusan. Suatu sistem dinyatakan sebagai sistem informasi, lengkap dengan jaringan komputer yang terbaru, belum dapat dikatakan sebagai sistem informasi yang utuh, jika didalamnya hanya terdapat data dummy, jika di dalamnya tidak terdapat informasi yang bermanfaat bagi sistem organisasi, atau jika datanya pernah ada yang dimasukkan, namun sudah kadaluarsa. Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Data adalah : kenyataan yang menggambarkan suatu kejadian–kejadian dan kesatuan yang nyata. Atau data adalah : representasi dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pelanggan), hewan, peristiwa, konsep, keadaan dll, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Sistem informasi dapat disebut baik, jika usernya rajin memasukkan dan memeriksa data dari waktu ke waktu, jika operatornya rajin memeriksa kebenaran
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
proses-proses pengolahan data yang ada di dalamnya, serta jika pimpinan organisasinya mudah
2.1.2. Jenis-jenis Sistem Informasi Sistem informasi dikembangkan untuk tujuan yang berbeda-beda, tergantung pada kebutuhan bisnis. System informasi dapat dibagi menjadi beberapa bagian : a. Transaction Processing Systems (TPS) TPS adalah system informasi yang terkomputerisasi yang dikembangkan untuk memproses data dalam jumlah besar untuk transaksi bisnis rutin seperti daftar gaji dan inventarisasi. TPS berfungsi pada level organisasi yang memungkinkan organisasi bisa berinteraksi dengan lingkungan eksternal. Data yang dihasilkan oleh TPS dapat dilihat atau digunakan oleh manajer. b. Office Automation Systems (OAS) dan Knowledge Work Systems (KWS) OAS dan KWS bekerja pada level knowledge. OAS mendukung pekerja data, yang biasanya tidak menciptakan pengetahuan baru melainkan hanya menganalisis informasi
sedemikian
rupa
untuk
mentransformasikan
data
atau
memanipulasikannya dengan cara-cara tertentu sebelum menyebarkannya secara keseluruhan dengan organisasi dan kadang-kadang diluar organisasi. Aspekaspek OAS seperti word processing, spreadsheets, electronic scheduling, dan komunikasi melalui voice mail, email dan video conferencing. KWS mendukung para pekerja profesional seperti ilmuwan, insinyur dan doktor dengan membantu menciptakan
pengetahuan
baru
dan
memungkinkan
mengkontribusikannya ke organisasi atau masyarakat.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
mereka
c. Sistem Informasi Manajemen (SIM) SIM tidak menggantikan TPS , tetapi mendukung spektrum tugas-tugas organisasional yang lebih luas dari TPS, termasuk analisis keputusan dan pembuat keputusan. SIM menghasilkan infomasi yang digunakan untuk membuat keputusan, dan juga dapat membatu menyatukan beberapa fungsi informasi bisnis yang sudah terkomputerisasi (basis data). d. Decision Support Systems (DSS) DSS hampir sama dengan SIM karena menggunakan basis data sebagai sumber data. DSS bermula dari SIM karena menekankan pada fungsi mendukung pembuat keputusan diseluruh tahap-tahapnya, meskipun keputusan aktual tetap wewenang eksklusif pembuat keputusan. e. Sistem Ahli (ES) dan Kecerdasan Buatan (AI) AI dimaksudkan untuk mengembangkan mesin-mesin yang berfungsi secara cerdas. Dua cara untuk melakukan riset AI adalah memahami bahasa alamiahnya dan menganalisis kemampuannya untuk berfikir melalui problem sampai kesimpulan
logiknya.
sistem
ahli
menggunakan
pendekatan-pendekatan
pemikiran AI untuk menyelesaikan masalah serta memberikannya lewat pengguna bisnis. Sistem ahli (juga disebut knowledge-based systems) secara efektif menangkap dan menggunakan pengetahuan
seorang ahli untuk
menyelesaikan masalah yang dialami dalam suatu organisasi. Berbeda dengan DSS, DSS meningalkan keputusan terakhir bagi pembuat keputusan sedangkan sistem ahli menyeleksi solusi terbaik. Terhadap suatu masalah khusus. komponen dasar sistem ahli adalah knowledge-base yaikni suatu mesin interferensi yang menghubungkan pengguna dengan sistem melalui pengolahan pertanyaan lewat bahasa terstruktur dan anatarmuka pengguna.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
f. Group Decision Support Systems (GDSS) dan Computer-Support Collaborative Work Systems (CSCW) Bila kelompok, perlu bekerja bersama-sama untuk membuat keputusan semiterstruktur dan tak terstruktur, maka group Decision support systems membuat suatu solusi. GDSS dimaksudkan untuk membawa kelompok bersama-sama menyelesaikan masalah dengan memberi bantuan dalam bentuk pendapat, kuesioner, konsultasi dan skenario. Kadang-kadang GDSS disebut dengan CSCW yang mencakup pendukung perangkat lunak yang disebut dengan “groupware” untuk kolaborasi tim melalui komputer yang terhubung dengan jaringan. g. Executive Support Systems (ESS) ESS tergantung pada informasi yang dihasilkan TPS dan SIM dan ESS membantu eksekutif
mengatur
interaksinya
dengan
lingkungan
eksternal
dengan
menyediakan grafik-grafik dan pendukung komunikasi di tempat-tempat yang bisa diakses seperti kantor.
2.1.3. Komponen Sistem Informasi a. Blok bangunan Blok masukan, blok model, blok keluaran, blok teknologi, blok basis data dan blok kendali. Keenam blok tersebut saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. b. Blok masukan Mewakili data yang masuk ke dalam system informasi, termasuk metode dan media untuk memperoleh data yang akan dimasukkan, yang dapat berupa dokumen dasar.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
c. Blok model Terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi/mentranspormasi data masukan dan data yang tersimpan dalam basis data untuk menghasilkan keluaran yang diinginkan. d. Blok keluaran Produk dari sistem informasi adalah keluaran berupa informasi yang berkualitas. e. Blok teknologi Merupakan kotak alat (tool-box) dalam system informasi. Teknologi terdiri dari 3 bagian utama yaitu teknisi(brainware), perangkat lunak (software) dan perangkat keras (hardware). Teknisi dapat berupa orang-orang yang mengetahui teknologi dan membuatnya beroperasi (operator komputer, pemrogram, operator pengolah data, spesialis telekomunikasi, analis sistem). Teknologi perangkat lunak berupa aplikasi-aplikasi perangkat lunak (program). Teknologi perangkat keras berupa teknologi masukan (semua perangkat yang digunakan untuk menangkap data seperti : keyboard, scanner, barcode), teknologi keluaran (perangkat yang dapat menyajikan informasi yang dihasilkan seperti : monitor, printer), teknologi pemroses (komponen CPU), teknologi penyimpanan (semua peralatan yang digunakan untuk menyimpan data seperti : magnetik tape, magnetik disk, CD) dan teknologi telekomunikasi (teknologi yang memungkinkan hubungan jarak jauh seperti internet dan ATM) f. Blok basis data Merupakan kumpulan dari file data yang saling berhubungan yang diorganisasi sedemikian rupa agar dapat diakses dengan mudah dan cepat.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
g. Blok kendali Pengendalian perlu dirancang dan diterapkan untuk menyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah atau bila terlanjur terjadi kesalahan dapat langsung diatasi.
2.1.4. Operasi Dasar Sistem Informasi Ada 4 operasi dasar dari sistem informasi, yaitu: a. Mengumpulkan. b. Mengolah. c. Menyimpan d. Menyebarkan informasi. Informasi mungkin dikumpulkan dari lingkungan dalam atau luar dan memungkinkan didistribusikan ke dalam atau keluar orgaisasi.
2.1.5. Sifat dari Sistem Informasi Sistem informasi harus mempunyai beberapa sifat seperti: a. Pemrosesan informasi yang efektif. Hal ini berhubungan dengan pengujian terhadap data yang masuk, pemakaian perangkat keras dan perangkat lunak yang sesuai. b. Manajemen informasi yang efektif. Dengan kata lain, operasi manajemen, keamanan dan keutuhan data yang ada harus diperhatikan. c. Keluwesan sistem informasi hendaknya cukup luwes untuk menangani suatu macam operasi. d. Kepuasan pemakai. Hal yang paling penting adalah pemakai mendapatkan manfaat dan puas terhadap sistem informasi.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
2.2. Tanaman Obat Keluarga (Toga) 2.2.1. Pengenalan Tanaman Obat Keluarga (Toga) Nenek moyang bangsa indonesia sejak dahulu telah menekuni pengobatan dengan memanfaatkan aneka tanaman yang terdapat dialam. Warisan yang berharga ini secara turun-menurun diajarkan oleh generasi yang terdahulu kegenerasi selanjutnya. Di daerah pedesaan, tradisi ini sebagian besar masih dipertahankan. Selain jenis tanaman tersebut tidak banyak ditanam diperkotaan, umumnya mayrakat kota lebih memilih cara praktis, yaitu pergi kedokter jika sakit. Kencenderungan untuk meninggalkan pengetahuan mengenai tanaman obat keluarga (Toga) tampaknya memang berlangsung terus. Padahal, toga amatlah penting bagi keluarga. Selain dimanfaatkan untuk obat, tanaman obat tersebut dapat ditata dengan baik sebagai penghias perkarangan. Menurut Fauziah muhlisah (2007), Obat tradisional yang berasal dari tanaman memiliki efek samping yang jauh lebih rendah tingkat bahayanya di bandingkan obatobatan kimia, selain murah dan mudah diperoleh. Hal ini disebabkan efek dari tanman obat bersifat alami, tidak sekeras efek dari obat-obatan kimia. Tubuh manusia relatif lebih mudah menerima obat dari bahan tanaman dibandingkan dengan obat kimiawi. Penemuan–penemuan kedokteran modern yang berkembang pesat menyebabkan pengobatan tradisioanal berkesan kampungan dan ketinggalan zaman. Namun, benarkah demikian? Penemuan kedokteran modern ternyata mendukung penggunaan obat tradisional. Banyak obat-obatan modern yang di buat dari tanaman obat. Hanya saja peracikannya dilakukan secara klinis laboratoris sehingga berkesan modern.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Tren gaya hidup yang mengarah kembali ke alam (back to nature) membuktikan bahwa hal-hal yang alami bukanlah hal yang kampungan atau ketingalan zaman. Dunia kedokteran pun banyak kenbali memperlajari obat-obatan tradisional. Tanaman berkhasiat obat dipelajari secara ilmiah. Hasilnya ternyata mendukung bahwa tanaman obat memang memiliki kandungan zat-zat atau senyawa yang secara klinis terbukti bermanfaat bagi kesehatan. Keberadaan Toga amatlah menolong masyarakat pedesaan karena opotek, rumah sakit, atau bahkan dokter belum ada atau jarang terdapat pada desa. Dengan demikian, Toga penting untuk menyembuhan penyakit ringan serta untuk pengobatan awal bagi penderita penyakit berat sebelum dibawa kedokter atau rumah sakit. Jenis tanaman obat keluarga yang ditanam di perkarangan dapat beraneka ragam karena alam indonesia yang subur memungkinkan banyak sekali tanaman yang berguna tumbuh di sekitar kita. Ada yang berupa bumbu dapur, tanaman buah, tanaman hias, dan tanaman sayur. Selain itu, ada pula tanaman yang berupa tanaman liar, tumbuh di sembarang tempat tanpa ada yang memperhatikan.
2.2.2. Petunjuk Pemakaian Berbeda dengan obat kimia yang khusus untuk mengobati satu jenis penyakit tertentu, tanaman obat memiliki khasiat yang baragam. Misalnya Mahkota Dewa berkhasiat pengobatan penyakit Diabetes melitus, kanker dan tumor, hepatitis, rematik dan asam urat. Pemakaian dan cara pengolahannya boleh dibilang amat sederhana. Namun, jenis tanaman obat yang digunakan haruslah tepat. Selain tidaktepatnya jenis tanaman yang digunakan, tidak dapat dipungkiri bahwa sebagian pemakaian kurang
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
mengindahkan hal-hal yang bersifat higienis. Padahal, alat, bahan dan pelaku sebagainya harus bersih. Untuk menghindarkan hal-hal yang tidak diinginkan karena pemakaian obat herbal, ada beberapa hal yang harus di perhatikan, di antara bahan tanaman, pengolahan ramuan, cara pemakaian dan tindakan medis lainnya.
2.2.3. Bahan Tanaman Yang Digunakan Pemilihan bahan baku obat herbal sebaiknya memperhatikan aroma, rasa, kandungan kimia, maupun bersifat fisiologisnya. Ketepatan pemilihan bahan baku obat herbal tidak hanya pada jenis tanaman, tetapi juga agian tanaman yang digunakan. Hal ini sebabkan setiap bagian tanaman memiliki khasiat khusus yang berbeda. Bagian tanaman yang biasanya digunakan sebagai obat, di antarannya akar (akar giseng dan akar pasak bumi), rimpang (kunyit, jahe, kencur dan lengkuas), batang (brotowali), daun (daun dewa, katuk, dan sirih), bunga (melati), buah (belimbing wuluh dan jeruk nipis), dan kulit buah (mahkota dewa).namun ,adapula manfaat obat dari seluruh bagian tanaman (meniran dan pegagan). Bahan tanaman yang hendak digunakan untuk pengobatan sebaiknya dalam keadaan segar. Bahan yang terkena kotoran, berjamur,dimakan serangga, atau digeletakan ditempat yang kotar sebaiknya tidak dipakai.
2.2.4. Peralatan Yang Digunakan Kelemahaan utama pada pengobatan tradisional ialah kurangnya perhatian pada peralatan yang digunakan. Alat yang diguanakan dapat menularkan penyakit, membawa kotoran lain, atau bahkan menghilangkan khasiat obat jika tidak bersih atau alatnya salah.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Sendok, gelas, panci perebusan, atau peralatan yang dipakai sebaiknya dibersihkan terlebih dahulu. Jika perlu, alat tersebut di rebus atau direndam dalam air panas. Setelah digunakan, alat harus dibersikan lagi. Jangan beranggapan alat tidak perlu dibersihkan karena hendak dipakai lagi untuk membuat obat yang sama. Memang alat akan terkena kotoran lagi, tetapi kotoran lama yang tertimbun justru dapat mendatangkan masalah baru. Selain kebersihan alat, pelaku yang meracik obat sebaiknya juga menjaga kebersihan tanggan dan ruangan.
2.2.5. Pengolahan Ramuan Beberapa cara mengelolah tanaman obat, diantaranya memipis, merebus, dan menyeduh. a. Memipis Biasanya bahan yang digunakan berupa bagian tanaman atau tanaman yang masih segar seperti daun, bunga, dan rimpang. Bahan tersebut di haluskan dengan ditambahkan sedikit air. Bahan yang sudah halus diperas hingga ¼ cangkir. Jika kurang ¼ cangkir, air matang ditambah pada ampas, lalu diperas lagi. b. Merebus Tanaman obat direbus agar zat-zat yang berkhasiat didalam tanaman larutan air. Api yang digunakan untuk merebus sebaiknya volumenya yang mudah diatur. Pada awal perebusan digunakan api besar hingga medidih. Jika telah medidih, bahan di dalam air dibiarkan selama 5 menit. Selanjutnya, api kompor di kecilkan. Air yang digunakan dalam perebusan adalah air yang tidak berwarna, tidak berbau, tidak berasa dan bening. c. Menyeduh
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Bahan baku yang digunakan dapat berupa bahan yang masih segar atau bahan yang sudah dikeringkan. Bahan dipotong kecil-kecil. Setiap siap, bahan diseduh dengan air panas. Setelah didiamkan selama 5 menit, bahan hasil seduhan disaring.
2.2.6. Cara Pemakaian Cara mengonsumsi ramuan yang berasal dari tanaman obat berbeda-beda. Misalnya, untuk penykit kulit, herbal yang digunakan dengan cara dioles atau diramu untuk mandi. Untuk penyakit pernafasan (asma), obat yang diberikan dengan carauapnya diisap, selain obat yang diminum juga. Sementara itu, untuk penyakit hepatitis, demam, dan asam urat, obat herbal diminum. Obat herbal biasanya diminum 2-3 kali sehari dengan dosis yang telah ditentukan. Dosis yang diminum untuk anak umur 10-15 tahun biasanya ½ dosis yang dianjurkan untuk orang dewasa. Sementara itu, dosis untuk anak umur 5-9 tahun adalah 1/3 dosis orang dewasa.
2.3. Dasar Teori Program 2.3.1. J2ME (Java2 Micro Edition) J2ME (Java2 Micro Edition) adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat yang lainnnya. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain komputer dekstop yang biasanya lebih kecil dibandingkan perangkat komputer dekstop. J2ME biasa digunakan pada telepon seluler, pager, personal digital assistant (PDA’s) dan sejenisnya.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE. Teknologi J2ME juga memiliki beberapa keterbatasan terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Configuration merupakan Java library minimum dan kapabilitas yang dipunya oleh para pengembang J2ME, yang maksudnya adalah sebuah mobile device dengan kemampuan Java hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar device. Dalam J2ME terdapat dua buah profile yaitu MIDP dan Foundation Profile. Keterhubungan antara configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya.
2.3.2. Connected Limited Device Configuration (CLDC) CLDC atau Connected Limited Device Configuration adalah perngakat dasar dari J2ME, spesifikasi dasar yang berupa Library dan API yang diimplementasikan pada J2ME, seprti yang digunakan pada telepon selular, pager, dan PDA , perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, kelas, dan sebagian fungsi JVM (Java Virtual Machine) yang dikuangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat – alat tersebut, JVM yang digunakan disebut KVM (Kilobyte Virutal Machine).
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
2.3.3. Mobile Information Device Profile (MIDP) MIDP atau Mobile Information Device Profile adalah spesifikasi untuk profil J2ME. MIDP memiliki lapisan di atasCLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persisten. Pada saat ini terdapat MIDP
1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukungan
memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI). Profil merupakan bagian perluasan dari konfigurasi. Artinya, selain sekumpulan kelas yang terdapat pada konfigurasi, terdapat juga beberapa kelas-kelas spesifik yang didefinisikan lagi dalam profil. Dengan kata lain, profil akan membantu secara fungsional yaitu dengan menyediakan kelas-kelas yang tidak terdapat pada level konfigurasi Adapun profil yang sangat popular penggunaannya adalah profil yang disediakan oleh Sun Microsystems, yaitu yang dinamakan dengan MIDP. Beberapa profil yang tersedia untuk kebutuhan-kebutuhan spesifik lainnya: -
Personal Digital Assistant Profile (PDAP), yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi CLDC dan digunakan khusus untuk menambahkan kemampuan-kemampuan lebih apabila dibandingkan dengan penggunaan MIDP
-
Foundation Profile, yaitu profil yang digunakan untuk konfgurasi CDC. Profil ini menambahkan beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga dalam pondasi untuk membentuk profil baru lainnya.
-
Personal Profile, yaitu profil yang mendefinisikan ulang personal Java sebagai profil yang dapat digunakan sebagai profil dalam J2ME. Profil ini merupakan hasil perluasan dari Foundation profile
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
-
Remote Method Invocation (RMI), yaitu profil yang menambahkan dukungan RMI ke dalam konfigurasi CDC.
2.3.4. RMS (Record Management System) RMS adalah kumpulan record dan record di simpan sebagai array dari byte dalam sebuah recrd stor. RMS memiliki orientasi recordbasis data yang sederhana sehingga MIDlet dapat menyimpan informasi dan mengaksesnya. MIDlet yang berbeda dapat mengakses RMS yang sama. Keterkaitan MIDlet, RMS, dan record yang disimpan dalam record store diakses berdasarkan recorded yang berupa integer. RecordId bisanya digunakan untuk mengakses recordseperti fungsi indeks pada penaksesan array. Menurut (Rosa A.S, 2005) Menurut Suyoto (2005), Mobile Information Device Profile (MIDP) mendefinisikan sebuah kelas untuk mengakses dan menyimpan data pada piranti mobile. Kelas tersebut adalah Record Management System atau disingkat RMS. Dengan RMS membuat data bertahan selama aplikasi MIDP (MIDlet) dijalankan. Penggunakan data RMS dapat secara bersama untuk berbagai MIDlet dalam satu paket proyek (yang menghasilkan satu berkas JAR). Kemampuan RMS merupakan persistent storage yaitu tempat penyimpanan objek yang tidak mudah hilang. Untuk beberapa aplikasi, mungkin membutuhkan data ini tetap bertahan walaupun sudah keluar dari aplikasi yang dipakai. Tanpa persistent storage, objek dan semua data akan rusak/hilang ketika menutup aplikasi. Untuk menggunakan RMS pada pembuatan sebuah aplikasi, maka perlu import paket javax.microedition.rms. Sebuah Record Store adalah sebuah koleksi daripada record-record. Record Id di dalam Record Store selalu unique. Record Id akan secara otomatis dialokasikan pada
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
saat pembentukan sebuah record dan bertindak sebagai index atau primary key. Pemberian record Id dilaksanakan secara sekuensial dan nilai yang diberikan kepada record Id pertama pada setiap Record Store adalah 1 (satu). Dan sebuah Record diidentifikasi dengan ID yang mana adalah sebuah integer. a. Membuat atau membuka record store Untuk membuka record store, gunakan fungsi static openRecordStore(), seperti di bawah ini : RecordStore db = RecordStore.openRecordStore(“DataKU”, true);
Kode di atas menciptakan basis data baru dengan nama berkas DataKU. Sedangkan parameter kedua adalah nilai Boolean (di atas tertulis true) yang menyatakan bahwa jika record store tidak ada, maka ciptakanlah record store. b. Menutup record store Adalah dengan menambahkan kode berikut : rs.closeRecordStore();
2.3.5. MIDlet Aplikasi yang ditulis dengan menggunakan J2ME dikenal degan nama MIDlet. Membangun aplikasi J2ME (MIDlet) tidaklah sama dengan membangun aplikasi java yang lain. Walaupun menggunakan susunan program yang sama sebagai dasarnya seperti membuat aplikasi J2SE. MIDlet merupakan sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar aplikasi sehingga antarmuka aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk. MIDlet dapat dikumpulkan dari beberapa bentuk MIDlet menjadi satu yang dikenal dengan MIDlet
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Suite. Keuntunngan menggunakan MIDlet Suite adalah MIDlet yang menjadi elemen MIDlet suite dapat berbagi data. Semua file yang dibutuhkan untuk membangun MIDlet suite harus dikumpulkan dalam satu paket Java Archieve (JAR). File kelas, image (jika dibutuhkan), manifest adalah file yang dipaket ke dalam file JAR. File manifest berisi daftar pasangan atribut dan nilai yang dibutuhkan oleh Aplication Manager Software (AMS) untuk menginstal file yang terdapat didalam JAR kedalam peralatan. Ada sembilan atribut dalam manifest, enam atribut pertama harus dimiliki oleh setiap manifest. Kesembilan atribut package tersebut adalah : Tabel 2.1 Atribut package pada MIDlet Nama MIDlet MIDlet-Name
Nilai dan Fungsi Nama MIDlet yang juga sebagai nama untuk file JAR-nya. Misalnya : WirelessTrader Nomor versi dari MIDlet yang juga sebagai nomor versi pada file JAR-nya. Misalnya : 1.0.1 Nama provider MIDlet. Misalnya : wireless Java inc.
MIDlet-Version MIDlet-Vendor MIDlet-n
Microedition-profile
MicroeditionConfiguration
Atribut yang mendeskripsikan MIDlet. Nilai n diganti degan nilai numeric dimulai dari angka 1. format nilai dari atribut ini terkat dengan atribut dideskripsikan selanjutnya. Versi dari spesifikasi MIDlet yang dapat berjalan. Dapat lebih dari satu versi yang dipisah dengan spasi, contoh dari atribut ini adalah MIDP-1.0 Konfigurasi J2M<E yang dibutuhkan untuk MIDlet
MIDlet_Deskription
Deskripsi MIDlet. Misalnya : MIDlet untuk koneksi internet
MIDlet-Icon
Icon yang digunakan MIDlet. Misalnya : Wireless.png
MIDlet-info-URL
URL dari file yang berisi informasi mengenai MIDlet. Misalnya : http://www.wireless.com/info html
MIDlet terdiri dari beberapa metode yang harus ada yaitu construktor(), protected void starApp() throws MIDletStateChangeExeption,
protected void pauseApp(),
protected
unconditional)
void
destroyApp(Boolean
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
throws
MIDletStateChangeExeption notifyDistroyed(). Alur hidup MIDlet dapat dilihat pada gambar dibawah ini :
Gambar 2.1 Alur Hidup MIDlet
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada starApp(). Metode yang ada tersebut diimplementasikan sebagai protected, hal ini dimaksudkan agar MIDlet lain tidak dapat memanggil MIDlet tersebut. Pada saat pemakai keluar dari MIDlet, maka metode destroyApp() akan dijalankan sebelum MIDletbenar-benar tidak bejalan lagi. Metode notifyDistroyed() akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, destroyApp() akan memanggil notifyDistroyed(),
dan
notifyDistroyed()
akan
memberitahu platform untuk
menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Tabel 2.2 Perubahan status dalam daur hidup sebuah MIDlet Nama Status
Keterangan
Paused
Status ini terjadi ketika MIDlet selesai diinstalasi dan tidak melakukan aksi apapun. Pada status ini MIDlet tiak boleh sedang mengunci suatu sumber daya, misalnya tidak boleh sedang melakukan locking atau mengunci sebuah file untuk ditulis yang menyebabkan proses lain tidak bisa menulis ke file tersebut. Secara garis besar, status MIDlet adalah paused pada saat: - Setelah MIDlet dibuat dengan konstruktor new() - Dari status Active, kemudian berhasil memanggil fungsi MIDlet.pauseApp() - Dari status Active, kemudian berhasil memanggil fungsi MIDlet.notifyPaused() - Dari status Active, namun ketika akan start() terjadi kesalahan berupa exception:MIDletStateChangeException
Active
Status ini terjadi ketika MIDlet sedang aktif/berjalan dengan normal, yakni setelah memanggil fungsi MIDlet.startApp()
Destroyed
Status ini terjadi ketika MIDlet berhenti berjalan (identik dengan exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan
fungsi
MIDlet.destroyApp()
MIDlet.notifyDestroyrd()
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
atau
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem Sebelum membuat program aplikasi sistem informasi, terlebih dahulu dilakukan proses perancangan sistem. Hal ini dilakukan dengan tujuan supaya sistem yang dibuat dapat berfungsi sesuai dengan yang diharapkan yaitu mampu membantu memberikan informasi yang berguna tentang ciri fisik tanaman, tempat tumbuh tanaman, cara perbanyakan tanaman, khasiat tanaman dan cara meramu tanaman menjadi obat. Sistem adalah kumpulan dari data-data atau sub sistem yang saling berinteraksi untuk mencapai tujuan tertentu (Al-Bahra bin Ladjamudin,2005), sedangkan Sistem informasi adalah suatu sistem yang tujuannya menghasilkan informasi. Komponen-komponen dari sistem informasi tidak boleh kurang karena jika komponenya kurang maka sistem informasi tersebut tidak mencapai tujuannya dan komponen-komponen dari sistem informasi tidak boleh berlebihan karena akan tidak terpakai dan memboroskan. Informasi merupakan hal yang sangat penting bagi manajemen di dalam pengambilan keputusan.
3.2. Perancangan Sistem Perancangan sistem berisikan penjelasan tentang arsitektur rancangan diagram sistem, sistem flow diagram, identifikasi kebutuhan, proses-proses yang akan dijabarkan antara lain: use-case diagram, activity diagram dan sequence diagram selain itu juga dibuat perancangan antarmuka aplikasi.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
3.2.1. Arsitektur Rancangan Sistem Arsitektur rancangan sistem informasi tanaman obat keluarga (Toga) sebagai flow diagram pada gambar 3.1.
Gambar 3.1. Arsitektur rancangan sistem Deskripsi dari arsitektur sistem pada gambar 3.1. adalah sebagai berikut : a. Pengguna / user dapat berinteraksi dengan sistem apabila telah menginstal aplikasi ke dalam handphone. b. Untuk dapat melakukan instalasi pada handphone, tentunya handphone yang digunakan adalah handphone yang memiliki fitur java MIDP 2.0. c. Informasi tentang tanaman adalah suatu form yang berisi tentang informasi bermacam-macam tanaman. Di dalam form ini user dapat memperoleh informasi tentang bermacam-macam tanaman. d. Maintenance data adalah dimana user akan memasukan data-data atau informasi baru, mengubah data, menghapus data tentang tanaman dan memprosesnya. e. Pencarian penyakit adalah suatu form yang berisi tentang informasi penyakit dan cara untuk menglolah tanaman menjadi ramuan untuk pegobatan penyakit.
3.2.2. Kebutuhan Sistem Dengan mengidentifikasi arsitektur pada gambar 3.1 telah diketahui bahwa fokus utama sistem berada pada informasi tanaman toga. Dengan demikian kebutuhan sistemnya adalah kebutuhan pengguna.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
3.2.3. Kebutuhan Pengguna Berdasarkan arsitektur pada gambar 3.1 untuk memenuhi kebutuhan pengguna dalam berinteraksi dengan sistem serta untuk mengetahui kebutuhan-kebutuhan apa saja yang berpengaruh pada sistem nantinya, maka perlu dijabarkan kebutuhan apa saja yang akan dibutuhkan oleh pengguna, antara lain : a. Handphone GSM tidak tergantung merk yang mendukung Java MIDP 2.0 b. Menu tentang informasi macam-macam tanaman. Di dalam menu ini akan berisi informasi tentang berbagai macam tanaman, informasi tanaman berdasarkan ciri fisik, tempat tumbuh tanaman dan cara perbanyak tanaman. c.
Menu maintenance data, dimana user akan memasukan data-data atau informasi baru, mengubah data, menghapus data tentang tanaman dan memprosesnya.
d. Menu pencarian penyakit, dimana user atau pengguna dapat mencari informasi mengenai penyakit yang diderita dengan memasukan nama penyakit, maka akan menemukan hasil khasiat tanaman dan cara meramu tanaman untuk pengobatan penyakit tersebut. e. Menu tentang petunjuk penggunaan. Menu ini berisi penjelasan tentang bagaimana cara menggunakan aplikasi tersebut.
3.2.4. Use Case Diagram Gambar 3.2 menjelaskan tentang aktifitas yang bisa dilakukan oleh pengguna Sistem informasi Tanaman Obat Keluarga :
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 3.2. Use case diagram Sistem informasi Tanaman Obat Keluarga Informasi tanaman toga adalah suatu aktivitas yang dilakukan pengguna untuk mengetahui informasi tentang berbagai macam tanaman toga. Maintenance data merupakan aktivitas yang dilakukan pengguna dalam menambah data yang kemudian data disimpan, mengubah data merupakan aktivitas yang dilakukan pengguna dalam proses mengupdate informasi baru dan Hapus data merupakan aktivitas yang dilakukan pengguna dalam proses menghapus. Pencarian penyakit tanaman toga merupakan aktivitas yang dimana pengguna bisa mengetahui khasiat tanaman toga dengan memasukan nama penyakit yang akan dicari, maka akan di dapat hasil informasi tanaman yang mempunyai manfaat untuk penyakit tersebut..
3.2.5. Activity Diagram Terdapat 3 activity diagram yang perlu dijelaskan dalam sistem ini karena proses di dalam use case ini tergolong kompleks, yaitu activity diagram informasi tanaman toga, activity diagram maintenance data dan activity diagram pencarian penyakit.
Gambar 3.3. Activity diagram informasi tanaman toga
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Pada gambar 3.3. menjelaskan tentang proses view infomasi tanaman toga, proses ini dimulai pada form main dengan memilih menu informasi infomasi tanaman toga. Kemudian pada Form informasi tanaman toga pengguna dapat memilih salah satu tanaman yang telah disediakan dalam form dan setelah memilih salah satu tanaman akan di tampilkan hasil informasi tanaman toga.
Gambar 3.4. Activity diagram maintenance data Pada gambar 3.4. Untuk menambah data, ubah data, hapus data maka pengguna membuka menu utama lalu pilih menu admin data, kemudian pengguna memasukan data baru atau informasi baru yang nantinya hasil dari itu di simpan.
Gambar 3.5. Activity diagram pencarian penyakit Pada gambar 3.5. untuk informasi pencarian penyakit untuk pengobatan, maka pengguna diharuskan membuka menu utama, pilih menu pencarian penyakit, lalu masukan nama penyakit yang akan dicari dan akan mucul menu pilihan tanaman toga yang mempunyai khasiat untuk mengobati penyakit tersebut, kemudian
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
memilih salah satu tanaman toga, maka akan di dapat hasil informasi tanaman yang mempunyai manfaat untuk penyakit tersebut.
3.2.6. Sequence Diagram Terdapat 3 sequence diagram yang perlu dijelaskan karena proses-proses ini adalah proses utama yaitu sequence diagram informasi tanaman toga, sequence diagram maintenance data, dan sequence diagram pencarian data .
Gambar 3.6. Sequence diagram informasi Tanaman toga Gambar 3.6. menunjukkan urutan proses latar yang dikerjakan. Sequence diagram informasi tanaman toga, di mulai ketika pengguna memilih form informasi tentang tanaman toga. Setelah itu pengguna memilih tanaman apa yang ingin diketahui. Sistem akan memproses masukan user dan mengirimkan kembali kepada user hasil informasi tanaman toga tersebut.
Gambar 3.7. Sequence diagram maintenance data
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Pada gambar 3.7. Diagram di menunjukkan urutan proses latar yang dikerjakan. Sequence diagram proses tambah, ubah, hapus data di mulai ketika pengguna mengetahui tanaman baru maka pengguna tidak lupa dalam tanaman baru tersebut maka pengguna menyimpan dalam aplikasi mobile ini, pengguna memasukan nama tanaman kemudian menulis informasinya, kemudian pengguna melakukan proses penyimpanan data dan data baru tersebut akan disimpan, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru.
Gambar 3.8. Sequence diagram pencarian penyakit Pada gambar 3.8. Diagram di menunjukkan urutan proses latar yang dikerjakan. Sequence diagram proses di mulai ketika pengguna memilih pencarian penyakit yang ingin diketahui. Sistem akan memproses masukan user dan mengirimkan kembali kepada user hasil informasi khasiat tanaman toga tersebut.
3.2.7. Perancangan Antarmuka Perancangan antarmuka merupakan perancangan halaman aplikasi yang nantinya akan berinteraksi secara langsung dengan pengguna. Adapun perancangan yang akan dibuat adalah sebagai berikut:
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Antarmuka menu utama, terdapat 4 menu yaitu: Menu tanaman toga, menu tambah data, menu cari data khasiat tanaman dan menu pentunjuk penggunaan. Menu Utama
[icon] Tanaman Toga [icon] Admin data [icon] Pencarian penyakit [icon]Petunjuk Penggunaan
Pilih
Keluar
Gambar 3.9. Antarmuka menu utama
a. Apabila pengguna memilih menu Informasi tanaman toga maka akan muncul halaman antarmuka seperti pada gambar 3.10. Di dalam halaman tersebut terdapat beberapa pilihan tanaman yang akan di pilih pengguna.
Menu Informasi Tanaman Toga Brotowali Jeruk Nipis Jambu Biji Mahkota Dewa Sambang Darah
Pilih
Keluar
Gambar 3.10. Antarmuka menu informasi tanaman toga Selesai memilih salah satu tanaman akan tampil informasi tanaman toga yang berisi ciri fisik tanaman, tempat tumbuh tanaman dan perbanyakan tanaman, misalnya penguna memilih tanaman sambang darah akan tampil pada gambar 3.11.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Sambang darah Tanaman Sambang Darah Cira fisik: Sambang darah merupakan tanaman perdu. Tinggi sekitar 0,5-1,5 m. Batnag tumbuh tegak,bercabang banyak,berwarna cokelat kehitaman, dan bergetah putih yang beracun. Bungnya keluar dari ujung percabangan,berwarna kuning dan berukuran kecil-kecil. Buahnya berbentuk bulat, berkeping 3 dan berdiameter kurang dari 1cm. Tempat tumbuh: Tanaman dapat ditanam sebagai tanaman hias dipekarangan.tanaman ini menyukai tempat terbuka dan kurang suka tempat yang tergenang air. Perbanyakan: Perbanyakan tanaman ini dapat dengan cara disetek atau dicangkok. Khasiat pengobatan: - Muntah darah - Peredaran haid - perdarahan -luka berdarah Pilih
Keluar
Gambar 3.11. Antarmuka informasi tanaman sambang darah
b. Apabila pengguna memilih menu admin data atau maintenance data akan mucul halaman antarmuka seperti pada gambar 3.12. dimana pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Login form Username Password
Pilih
Keluar
Gambar 3.12. Antarmuka menu login Selesai memasukan login dengan benar, pengguna dapat masuk ke form admin tanaman akan mucul halaman antarmuka seperti pada gambar 3.13. Form admin tanaman
Add tanaman Update/ Delete tanaman
Pilih
Keluar
Gambar 3.13. Antarmuka menu admin tanaman Dimana pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru. Misalnya Selesai menambahkan nama tanaman selanjutnya masuk kemenu pengisian informasi tanaman toga yang baru ditambahkan dan diproses untuk disimpan sebagai data baru atau informasi baru.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
c. Apabila pengguna memilih menu pencarian penyakit akan muncul antarmuka seperti pada gambar 3.14. dimana pengguna disini dapat mencari informasi yang sudah ada atau sudah tersimpan. Pengguna memasukan nama penyakit yang dicari dan akan diproses untuk mengetahui hasil informasi yang dicari. Search
Nama Penyakit
Pilih
Keluar
Gambar 3.14. Antarmuka Search Selesai memasukan nama penyakit selanjutnya masuk ke menu informasi khasiat tanaman dimana pengguna memilih salah satu tanaman yang mempunyai manfaat untuk penyakit tersebut. misalnya memasukan nama penyakit Demam akan muncul antarmuka menu pada gambar 3.15
Search obat
Brotowali Jeruk nipis
Pilih
Keluar
Gambar 3.15. Antarmuka menu search obat Selesai memilih salah satu tanaman yang mempunyai khasiat pengobatan yang dapat menyembuhkan penyakit demam.pengguna memilih salah satu tanaman yang ada untuk mendapatkan informasi cara meramu
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
tanaman untuk menjadi obat.misalnya memilih tanaman brotowali akan muncul antarmuka menu pada gambar 3.16. Brotowali Tanaman brotowali Nama penyakit : Demam Cara pengobatan : Ambil 2 jari batang brotowali. Rebus brotowali dengan 2 gelas air hingga tinggal 1 gelas. Tambahkan ramuan dengan sedikit madu. Minumlah setengah gelas air rebusan ini 2 kali sehari .
Pilih
Keluar
Gambar 3.16. Antarmuka hasil menu search obat brotowali Selesai memilih salah satu tanaman khasiat maka akan muncul antarmuka pada gambar 3.16. dimana setelah memilih salah satu tanaman maka akan diproses untuk mendapatkan hasil informasi tanaman yang mempunyai manfaat untuk penyakit tersebut.
d. Apabila pengguna memilih menu petunjuk penggunaan maka akan berisi informasi tentang cara penggunaan sistem ini. Petunjuk Penggunaan Aplikasi ini dibuat untuk membantu pengguna dalam mengetahui informasi tanaman toga yaitu mengenai khasiat tanaman bagi pengobatan dan cara meramu tanaman untuk pengobatan. Apabila anda telah memilih tanaman yang dicari maka akan diproses dan akan menampilkan informasi tanaman obat keluarga (Toga) Keluar
Gambar 3.17. Antarmuka petunjuk penggunaan
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
3.2.8. Flowchart Aplikasi Tanaman Toga START
Pilih Menu View List Tanaman
pilih Pilih Menu Admin
View Data Tanaman Dan Pilih Menu Aksi
ya
ya
pilih Pilih Menu Keterangan
Login
ya
ya
Pilih Menu Detail
tidak
pilih Pilih Menu Cari Kegunaan Berdasarkan Penyakit
salah
Keterangan Input Penyakit
Pilih Menu Cancel
ya
Is auth
ya
ya
Kemba;i
ya
tidak
View List Tanaman Dan Pilih Menu Aksi
View Tanaman dan Keterangan
ya
Cari
Cancel
ya ya kembali pilih pilih
Display List Pengobatan dan Tanaman
ADD
ya
Update ya
tidak
Detail
Input Tanaman
ya
Detail tidak
Update Tanaman
ya
ya
Cancel
ya Cancel
Detail Kegunaan tanaman dari penyakir
ya
Save
tidak
tidak
Display Detail Tanaman Dan Cara pengobatan
Cancel ADD
ya ya Update
tidak
Add Input Penyakitt dan obat
Update Tanaman Save
ya
Cancel
Update Save
ya
tidak
Cancel
Gambar 3.18. Flowchart Aplikasi Tanaman Toga. Pada flowchart Aplikasi tanaman toga menjelaskan mengenai alur dari aplikasi toga keseluruhan.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
BAB IV IMPLEMENTASI SISTEM
4.1. Lingkungan Implementasi Pada bagian ini akan dijelaskan mengenai spesifikasi handphone pada gambar 4.1 yang akan digunakan dalam implementasi sistem kali ini.
Merek
: Nokia
Tipe
: 6680
Jaringan
: GSM
Warna layar
: 65.536 warna
Ukuran layar : 176 x 208 piksel Memori
: 10 Mb
OS
: Symbian 7.0
Versi Java
: MIDP 2.0
Format image : JPEG, GIF, PNG Koneksi
: Bluetooth
Gambar 4.1. Spesifikasi handphone nokia 6680 Selain handphone, perangkat lain yang digunakan untuk implementasi sistem yaitu laptop dengan spesifikasi berikut: Perangkat Keras: - AMD Turion 64 X2 Mobile Tecnology RAM 2 GB Perangkat Lunak: - Microsoft Windows XP SP2 - NetBeans IDE 6.7.1 - Java Development Kit 6 Update 3
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
4.2. Implementasi Antarmuka Pada tahap ini akan dijabarkan tentang implementasi antarmuka dari aplikasi berdasarkan perancangan yang telah dibuat. Form-form tersebut, yaitu : a. Form Menu Utama b. Form Menu Tanaman toga c. Form Menu Admin toga d. Form Menu Pencarian penyakit e. Form Menu pentunjuk penggunaan
4.2.1. Form menu utama Form ini menampilkan menu-menu yang tersedia, pengguna dapat memilih salah satu menu dengan menekan tombol pilih, menu yang terdapat dalam form menu utama antara lain, adalah tanaman toga, admin toga, pencarian penyakit dan petunjuk penggunaan.
Gambar 4.2. Form Menu Utama
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
4.2.2. Form menu tanaman toga Pada menu form menu tanaman toga ini, pengguna memilih menu Informasi tanaman toga maka akan muncul halaman seperti pada gambar 4.3. Di dalam halaman tersebut terdapat beberapa pilihan tanaman yang akan di pilih pengguna.
Gambar 4.3. Form Menu informasi tanaman Selesai memilih salah satu tanaman akan tampil informasi tanaman toga yang berisi ciri fisik tanaman, tempat tumbuh tanaman dan perbanyakan tanaman.
4.2.3. Form menu admin toga Pada menu form menu admin toga atau maintenance data akan mucul halaman seperti pada gambar 4.4. dimana pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 4.4. Form Menu login Selesai memasukan login dengan benar, pengguna dapat masuk ke form admin tanaman akan mucul halaman seperti pada gambar 4.5.
Gambar 4.5. Form menu admin tanaman Dimana didalam menu admin tanaman pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru. Misalnya Selesai menambahkan nama tanaman selanjutnya masuk kemenu pengisian informasi tanaman toga yang baru ditambahkan dan diproses untuk disimpan sebagai data baru atau informasi baru.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
4.2.4. Form menu pencarian penyakit Pada menu form menu pencarian penyakit, pengguna memilih menu pencarian penyakit akan muncul seperti pada gambar 4.6. dimana pengguna disini dapat mencari informasi yang sudah ada atau sudah tersimpan. Pengguna memasukan nama penyakit yang dicari dan akan diproses untuk mengetahui hasil informasi yang dicari.
Gambar 4.6. Form menu pencarian penyakit Selesai memasukan nama penyakit selanjutnya masuk ke menu informasi khasiat tanaman dimana pengguna memilih salah satu tanaman yang mempunyai manfaat untuk penyakit tersebut. Selesai memilih salah satu tanaman maka akan muncul hasil informasi khasiat pengobatan yang berisi bagaimana cara meramu tanaman menjadi obat.
4.2.5. Form menu pentunjuk penggunaan Pada menu form menu pentunjuk, penggunaan pengguna memilih menu petunjuk penggunaan maka akan muncul halaman seperti pada gambar 4.7. dimana berisi informasi tentang cara penggunaan sistem ini.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 4.7. Form pentujuk penggunaan
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
BAB V UJI COBA DAN EVALUASI
5.1. Lingkungan Uji Coba Pada bagian ini akan dijelaskan mengenai spesifikasi berbagai merk handphone, yang akan digunakan dalam uji coba, namun untuk step-by-step uji coba hanya screenshot merk nokia, karena merk lainnya tidak mendukung untuk screenshot
Merk Tipe Jaringan Warna layar Ukuran layar Java Support Memory BlueTooth
: Nokia : 6680 : GSM : 65.536 color : 176x208 pixels : MIDP v.2.0 : 10 MB : v2.0
Gambar 5.1 Spesifikasi Nokia 6680
Merek Tipe Jaringan Warna layar Ukuran layar Java Koneksi
: Nokia : 2865 : CDMA : 262.144 Warna : 128x160 piksel : MIDP 2.0 : Bluetooth
Gambar 5.2 Spesifikasi Nokia 2865
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
5.2. Skenario Uji Coba Untuk memastikan bahwa aplikasi ini berjalan lancar, penyusun akan menyusun skenario, yang akan diuji coba, antara lain: a. Uji coba install aplikasi ke berbagai macam merk handphone untuk mengetahui apakah aplikasi tidak tergantung dengan merk handphone. b. Uji coba menjalankan aplikasi yang telah ter-install, untuk mengetahui apakah aplikasi bisa digunakan atau tidak c. Uji coba tanaman toga, untuk mengetahui apakah informasi tanaman toga yang dibutuhkan sudah dapat dilihat atau tidak. d. Uji coba admin toga atau maintenance data, untuk mengetahui apakah login admin sudah sesuai yang diperlukan. e. Uji coba lihat pencarian penyakit, untuk mengetahui apakah informasi pada search sudah dapat dilihat atau tidak. f. Uji coba lihat petunjuk penggunaan, untuk mengetahui apakah petunjuk penggunaan dapat dilihat atau tidak. g. Uji coba uninstall aplikasi dari handphone untuk memastikan bahwa aplikasi bisa dihapus jika tidak diperlukan lagi.
5.3. Pelaksanaan Uji Coba Pada sub-bab ini akan dijelaskan step-by-step mengenai pelaksanaan skenario uji coba yang telah dijabarkan pada sub-bab sebelumnya, untuk membuktikan uji coba aplikasi disertakan gambar tentang kejadian-kejadian yang sedang berlangsung pada handphone.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
5.3.1 Uji Coba Install Aplikasi Uji coba langkah-langkah installasi pada handphone dibagi menjadi 4 tahap, antara lain : a. Pada Gambar 5.3. adalah ketika file installer aplikasi yang berbentuk format *.jar dipilih maka otomatis akan menampilkan pertanyaan kepada pengguna apakah aplikasi Aplikasi penentuan nutrisi akan diinstall atau tidak.
Gambar 5.3. installasi bagian 1
b. Pada Gambar 5.4. adalah pemilihan dimana aplikasi akan diinstall, user dapat memilih menyimpan pada memori telepon atau memori kartu jika handphone terdapat kartu memori tambahan, setelah itu pengguna dapat melihat animasi progress bar status installasi.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.4. installasi bagian 2
c. Pada Gambar 5.5. adalah proses installasi pada handphone selesai ditandai dengan info yang berisi installation.
Gambar 5.5. installasi bagian 3
d. Pada Gambar 5.6. adalah untuk membuktikan aplikasi berhasil terinstall, buka menu apakah aplikasi DBToga ada atau tidak, apabila ada berarti proses installasi berhasil.
Gambar 5.6. installasi bagian 4
5.3.2. Uji coba menjalankan aplikasi yang telah terinstall
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Uji coba menjalankan aplikasi yang telah terinstal pada handphone dibagi menjadi 2 tahap, antara lain : a. Pada Gambar 5.7. merupakan dimana tempat beradanya aplikasi pada handphone
Gambar 5.7. Tempat aplikasi berada
b. Pada Gambar 5.8. ini merupakan tampilan dari menu utama yang terdiri dari konsultasi nutrisi, informasi tentang penyakit dan petunjuk penggunaan
Gambar 5.8. Tampilan telah masuk dalam aplikasi
5.3.3. Uji coba menu tanaman toga Uji coba untuk menú tanaman toga dilakukan dengan memilih menu tanaman toga seperti pada gambar 5.9. tekan select untuk masuk ke dalam menu tanaman toga.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.9. Uji coba menu tanaman toga 1
Apabila pengguna memilih menu Informasi tanaman toga maka akan muncul halaman seperti pada gambar 5.10. Di dalam halaman tersebut terdapat beberapa pilihan tanaman yang akan di pilih pengguna.
Gambar 5.10. Uji coba menu tanaman toga 2 Selesai memilih salah satu tanaman akan tampil informasi tanaman toga yang berisi ciri fisik tanaman, tempat tumbuh tanaman dan perbanyakan tanaman, misalnya penguna memilih tanaman jambu biji akan tampil pada gambar 5.11
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.11. Uji coba menu tanaman toga 3 Untuk melanjutkan tekan tombol bawah, untuk melihat informasi tempat tumbuh tanaman akan tampil seperti pada gambar 5.12.
Gambar 5.12. Uji coba menu tanaman toga 4 Untuk melanjutkan tekan tombol bawah, untuk melihat informasi perbanyakan tanaman akan tampil seperti pada gambar 5.13.
Gambar 5.13. Uji coba menu tanaman toga 5
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Untuk melanjutkan tekan tombol bawah, untuk melihat informasi khasiat untuk pengobatan akan tampil seperti pada gambar 5.14.
Gambar 5.14. Uji coba menu tanaman toga 6
5.3.4. Uji coba menu admin toga Uji coba menú admin. toga dilakukan dengan memilih menu admin toga seperti pada gambar 5.15. tekan select untuk masuk ke dalam menu admin toga.
Gambar 5.15. Uji coba menu admin toga 1
Apabila pengguna memilih menu admin data atau maintenance data akan mucul halaman antarmuka seperti pada gambar 5.16. dimana pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru.
Gambar 5.16. Uji coba menu admin toga 2 Selesai memasukan login dengan benar, pengguna dapat masuk ke form admin tanaman akan mucul halaman seperti pada gambar 5.17.
Gambar 5.17. Uji coba menu admin toga 3 Dimana didalam menu admin tanaman pengguna disini dapat mengisi atau menambah nama tanaman baru atau informasi tanaman toga baru, ubah data dimana pengguna data megubah informasi yang sudah ada untuk diperbarui dan hapus data dimana pengguna dapat menghapus informasi yang sudah ada dan mengganti dengan informasi yang baru. Misalnya pengguna ingin menambahkan informasi baru, selanjutnya masuk menu pengisian
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
informasi tanaman toga yang baru ditambahkan dan diproses untuk disimpan sebagai data baru atau informasi baru seperti pada gambar 5.18.
Gambar 5.18. Uji coba menu admin toga 4 Selesai menulis nama tanaman baru, tekan select untuk masuk ke dalam menu deskripsi tanaman seperti pada gambar 5.19. dimana pengguna mengisikan informasi baru.
Gambar 5.19. Uji coba menu admin toga 5
5.3.5. Uji coba menu pencarian penyakit Uji coba lihat informasi pencarian penyakit dilakukan dengan memilih menu pencarian penyakit seperti pada gambar 5.20. tekan select untuk masuk ke dalam menu pencarian penyakit.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.20. Uji coba menu pencarian penyakit 1
Apabila pengguna memilih menu pencarian penyakit akan muncul antarmuka seperti pada gambar 5.21. dimana pengguna disini dapat mencari informasi yang sudah ada atau sudah tersimpan. Pengguna memasukan nama penyakit yang dicari dan akan diproses untuk mengetahui hasil informasi yang dicari.
Gambar 5.21. Uji coba menu pencarian penyakit 2 Misalnya pengguna memasukan nama penyakit demam, selesai menulis nama tanaman baru, tekan select untuk masuk ke dalam menú informasi tanaman seperti pada gambar 5.22.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.22. Uji coba menu pencarian penyakit 3 Selesai memasukan nama penyakit yang dicari dan akan diproses untuk mengetahui hasil informasi yang dicari. setelah itu akan masuk ke dalam menú informasi tanaman seperti pada gambar 5.23.
Gambar 5.23. Uji coba menu pencarian penyakit 4 Selesai masuk ke dalam menu search obat, tekan select untuk masuk ke dalam menú informasi cara meramu tanaman untuk menjadi obat seperti pada gambar 5.24.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.24. Uji coba menu pencarian penyakit 5 Selesai menekan select selanjutnya akan tampil menú informasi cara meramu tanaman toga untuk menjadi obat seperti pada gambar 5.25.
Gambar 5.25. Uji coba menu pencarian penyakit 6
5.3.6. Uji coba menu petunjuk penggunaan Uji coba lihat petujuk penggunaan dilakukan dengan memilih menú pentunjuk penggunaan seperti pada gambar 5.26. tekan select untuk masuk ke dalam menu petunjuk penggunaan.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.26. Uji coba menu petunjuk penggunaan 1 Selesai pengguna memilih menu petunjuk penggunaan maka akan berisi informasi tentang cara penggunaan sistem ini.
Gambar 5.27. Uji coba menu petunjuk penggunaan 2
5.3.7. Uji coba uninstall aplikasi dari handphone Uji coba langkah-langkah uninstall aplikasi pada handphone dibagi menjadi 3 tahap, antara lain : a. Pada Gambar 5.28. adalah langkah-langkah uninstall aplikasi, seperti halnya komputer untuk uninstall mempunyai menu khusus, pada nokia masuk ke menu Manager, kemudian ditampilkan daftar aplikasi-aplikasi yang terinstall.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.28. Uji coba uninstall aplikasi dari handphone 1
b. Pada Gambar 5.29. adalah tamplian konfirmasi pengguna apakah aplikasi akan dihapus, untuk melanjutkan proses uninstall, pengguna dapat memilih tombol pilih lalu hapus lalu pilih ya, sesaat kemudian akan ditampilkan progrss bar uninstall.
Gambar 5.29. Uji coba uninstall aplikasi dari handphone 2
c. Pada Gambar 5.30. adalah proses uninstall berhasil ditandai dengan penuhnya progress bar dan hilangnya aplikasi DBToga dari daftar aplikasi-aplikasi yang terinstall pada handphone.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
Gambar 5.30. Uji coba uninstall aplikasi dari handphone 3 Selesai proses hapus aplikasi, untuk mengetahui lihat menu pada handphone seperti pada gambar 5.31. aplikasi benar-benar sudah terhapus.
Gambar 5.31. Uji coba uninstall aplikasi dari handphone 4
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
BAB VI PENUTUP
6.1. Kesimpulan Setelah dilakukan uji coba maka dapat diambil kesimpulan yaitu Telah dibuat suatu aplikasi untuk membantu pengguna dalam mengetahui informasi tanaman obat keluarga (Toga). Aplikasi yang dibuat telah berdasarkan pada analisa sistem yang ada. Analisa sistem digunakan untuk mengetahui sebuah informasi tentang tanaman obat keluarga (Toga). Dengan adanya aplikasi ini memudahkan bagi pengguna dalam membantu dalam mengetahui informasi tanaman obat keluarga (Toga).
6.2.Saran. Berdasarkan pengalaman dalam proses pembuatan aplikasi ini, terdapat beberapa saran yang diusulkan oleh penyusun terkait untuk pengembangan aplikasi lebih lanjut. Saran-saran tersebut antara lain: Untuk pengembangan lebih lanjut, aplikasi ini dapat di kembangkan lagi dari segi desain agar lebih banyak menggunakan gambar. Untuk memperbanyak latihan dalam meng-coding agar lebih cepat dalam melakukan proses membuat program. Menambah jenis tanaman yang ada di dalam system, agar informasi yang dibutuhkan oleh pengguna lebih lengkap.
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
DAFTAR PUSTAKA
Muhlisah, Fauziah.2008.Tanaman Obat Keluarga (Toga).Penebar Swadaya.Jakarta M. Shalahuddin. 2008. Pemrograman J2ME. Informatika. Bandung Nugroho, Adi.2009.Rekayasa Perangkat Lunak Menggunakan UML dan JAVA. Andi. Yogyakarta. Raharjo, Budi & Heryanto, Imam. 2007. Tuntunan Pemrograman Java untuk Handphone. Informatika. Bandung Siregar, Ivan. 2007. Membangun Aplikasi Chat Lewat GPRS Dengan Menggunakan NetBeans IDE 5.0. Gava Media. Bandung Winarto,W.P.2007.Mahkota dewa:budi daya & pemanfaatan untuk obat.Penebar swadaya.Jakarta Winarto,W.P.2005.Daun dewa:budi daya & pemanfaatan untuk obat.Penebar swadaya.Jakarta
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
LAMPIRAN
Source Code Aplikasi Home.java : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import import import import import import import import
java.io.IOException; java.util.Vector; javax.microedition.lcdui.Alert; javax.microedition.lcdui.AlertType; javax.microedition.lcdui.Command; javax.microedition.lcdui.CommandListener; javax.microedition.lcdui.Display; javax.microedition.lcdui.Displayable; javax.microedition.lcdui.Form; javax.microedition.lcdui.TextField; javax.microedition.midlet.*;
/** * @author Ulum */ public class Home extends MIDlet implements CommandListener { private StringItem result = new StringItem(null, "Aplikasi Ini dibuat untuk membantu pengguna dalam mengetahui informasi tanaman toga"); private String[] options = {"Tanaman Toga", "Admin Toga", "Pencarian Penyakit", "Petunjuk Penggunaan"}; private String[] nameImage = {"Sys-Network_32_resize.png", "SysNetService_32_resize.png", "icon-search_32_resize.png", "DocImage_32_resize.png"}; private String[] actTanaman = {"ADD Tanaman", "Update / Delete Tanaman"}; private String[] actGuna = {"Add Kegunaan", "Update / Delete Kegunaan"}; private int[][] mappingLogin = {{1, 0, 1, 1}, {1, 1, 1, 1}}; private static final String[][] loginPass = {{"admin", "admin"}}; private List menu; private List lActTanaman; private List lActGuna; private List lActTanamandDleteUpdate; private List tanamanList; private List gunaList; private List srcgunaList; private Form frmKeterangan; private Form frmDetail; private Form resultDetail; private Form frmLogin; private TogaDB togaDB; private GunaDB gunaDB; private Form frmSearch; private NamaTanaman namaTanaman;
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
private private private private private
NamaKegunaan namaKegunaan; Display display; Vector tanamans; Vector gunas; Command exitCommand = new Command("Exit", Command.EXIT,
1); private Command backCommand = new Command("Back", Command.BACK, 1); private Command updateCommand = new Command("Update", Command.OK, 1); private Command deleteCommand = new Command("Delete", Command.OK, 1); private Command addCommand = new Command("Add", Command.OK, 1); private Command detailCommand = new Command("Detail", Command.OK, 1); private Command viewDetailCommand = new Command("View Detail", Command.OK, 1); private Command searchCommand = new Command("Search", Command.OK, 1); private Command loginCommand = new Command("Login", Command.OK, 1); private Command logoutCommand = new Command("Logout", Command.BACK, 1); private int fromActTanaman = 0; private int FROM_VIEW_DETAIL = 0; private int FROM_ADMIN_DETAIL = 1; private int idTanaman = 0; private int statusUser = 0; public Home() { Image[] nimg = new Image[nameImage.length]; for(int i=0;i
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
} else { fromActTanaman = FROM_VIEW_DETAIL; tanamanList = new List("List Tanaman", List.IMPLICIT); tanamanList.addCommand(backCommand); tanamanList.addCommand(viewDetailCommand); tanamanList.setCommandListener(this); for (int i = 0; i < tanamans.size(); i++) { Tanaman app = (Tanaman) tanamans.elementAt(i); tanamanList.append(app.getNama(), null); } display.setCurrent(tanamanList); } } else if (menu.getString(menu.getSelectedIndex()).equals(options[1])) { if (statusUser == 0) { frmLogin = new Form("Login Form"); frmLogin.append(new TextField("Username", "", 255, TextField.ANY)); frmLogin.append(new TextField("Password", "", 255, TextField.PASSWORD)); frmLogin.addCommand(backCommand); frmLogin.addCommand(loginCommand); frmLogin.setCommandListener(this); display.setCurrent(frmLogin); } else { lActTanaman = new List("Admin Tanaman", List.IMPLICIT, actTanaman, null); lActTanaman.addCommand(backCommand); lActTanaman.addCommand(logoutCommand); lActTanaman.setCommandListener(this); display.setCurrent(lActTanaman); } } else if (menu.getString(menu.getSelectedIndex()).equals(options[2])) { frmSearch.append(new TextField("Nama Penyakit", "", 64, TextField.ANY)); frmSearch.addCommand(backCommand); frmSearch.addCommand(searchCommand); frmSearch.setCommandListener(this); display.setCurrent(frmSearch); } else if (menu.getString(menu.getSelectedIndex()).equals(options[3])) { frmKeterangan = new Form("Petunjuk Penggunaan"); frmKeterangan.addCommand(backCommand); frmKeterangan.setCommandListener(this); display.setCurrent(frmKeterangan); } } else if (d == menu && c == exitCommand) { destroyApp(true); notifyDestroyed(); // display.setCurrent(frmLogin); } else if (d == lActTanaman) { if (c == List.SELECT_COMMAND) { switch (lActTanaman.getSelectedIndex()) { case 0: namaTanaman = new NamaTanaman(display, lActTanaman, togaDB); display.setCurrent(namaTanaman); break;
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
case 1: tanamans = togaDB.retrieveAll(); if (tanamans.size() == 0) { Alert emptyInfo = new Alert("Data Tanaman Kosong", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Tanaman Kosong\n Isi data Tanaman terlebih dahulu"); display.setCurrent(emptyInfo, lActTanaman); } else { tanamanList = new List("Update / Delete Tanaman", List.IMPLICIT); tanamanList.addCommand(backCommand); tanamanList.addCommand(updateCommand); tanamanList.addCommand(deleteCommand); tanamanList.addCommand(detailCommand); tanamanList.setCommandListener(this); for (int i = 0; i < tanamans.size(); i++) { Tanaman app = (Tanaman) tanamans.elementAt(i); tanamanList.append(app.getNama(), null); } display.setCurrent(tanamanList); } break; default: break; } } else if (c == backCommand) { display.setCurrent(menu); } else if (c == logoutCommand) { statusUser = 0; display.setCurrent(menu); } } else if (d == tanamanList) { if (c == backCommand) { if (fromActTanaman == FROM_VIEW_DETAIL) { display.setCurrent(menu); } else if (fromActTanaman == FROM_ADMIN_DETAIL) { display.setCurrent(lActTanaman); } } else if (c == deleteCommand) { int index = tanamanList.getSelectedIndex(); if (index >= 0) { Tanaman tanaman = (Tanaman) tanamans.elementAt(index); Alert emptyInfo = new Alert("Delete Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); int tempTanaman = tanaman.getId(); if (togaDB.delete(tanaman)) { Vector vTemp = gunaDB.retrieveByTanaman(tempTanaman); for (int i = 0; i < vTemp.size(); i++) { gunaDB.delete((Guna) vTemp.elementAt(i)); } tanamanList.deleteAll();
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
tanamans = togaDB.retrieveAll(); for (int i = 0; i < tanamans.size(); i++) { Tanaman app = (Tanaman) tanamans.elementAt(i); tanamanList.append(app.getNama(), null); } emptyInfo.setString("Success"); } else { emptyInfo.setString("Failed"); } display.setCurrent(emptyInfo, tanamanList); } else { Alert emptyInfo = new Alert("Un Selected Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Pilihlah Salah Satu Item untuk Dihapus"); display.setCurrent(emptyInfo, tanamanList); } } else if (c == updateCommand) { int index = tanamanList.getSelectedIndex(); if (index >= 0) { Tanaman tanaman = (Tanaman) tanamans.elementAt(index); namaTanaman = new NamaTanaman(display, tanamanList, togaDB, tanaman); display.setCurrent(namaTanaman); } else { Alert emptyInfo = new Alert("Un Selected Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Pilihlah Salah Satu Item untuk Dihapus"); display.setCurrent(emptyInfo, tanamanList); } } else if (c == detailCommand) { int index = tanamanList.getSelectedIndex(); if (index >= 0) { fromActTanaman = FROM_ADMIN_DETAIL; Tanaman tanaman = (Tanaman) tanamans.elementAt(index); gunas = gunaDB.retrieveByTanaman(tanaman.getId()); gunaList = new List("Update / Delete Kegunaan Tanaman", List.IMPLICIT); gunaList.addCommand(backCommand); gunaList.addCommand(addCommand); gunaList.setCommandListener(this); for (int i = 0; i < gunas.size(); i++) { Guna app = (Guna) gunas.elementAt(i); gunaList.append(app.getNama(), null); } idTanaman = tanaman.getId(); display.setCurrent(gunaList); } else { Alert emptyInfo = new Alert("Un Selected Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Pilihlah Salah Satu Item untuk Dihapus"); display.setCurrent(emptyInfo, tanamanList);
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
} } else if (c == viewDetailCommand) { Tanaman tanaman = (Tanaman) tanamans.elementAt(tanamanList.getSelectedIndex()); frmDetail = new Form(tanaman.getNama()); StringItem resultField = new StringItem(null, tanaman.getInfo()); frmDetail.append(resultField); frmDetail.setCommandListener(this); display.setCurrent(frmDetail); } } else if (d == gunaList) { if (c == addCommand) { namaKegunaan = new NamaKegunaan(display, gunaList, gunaDB, idTanaman); display.setCurrent(namaKegunaan); } else if (c == updateCommand) { int index = tanamanList.getSelectedIndex(); if (index >= 0) { Guna guna = (Guna) gunas.elementAt(index); namaKegunaan = new NamaKegunaan(display, gunaList, gunaDB, guna); display.setCurrent(namaKegunaan); } else { Alert emptyInfo = new Alert("Un Selected Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Pilihlah Salah Satu Item untuk Dihapus"); display.setCurrent(emptyInfo, tanamanList); } } else if (c == deleteCommand) { int index = tanamanList.getSelectedIndex(); if (index >= 0) { Guna guna = (Guna) gunas.elementAt(index); int tempTanaman = guna.getTanamanId(); Alert emptyInfo = new Alert("Delete Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); if (gunaDB.delete(guna)) { gunaList.deleteAll(); gunas = gunaDB.retrieveByTanaman(tempTanaman); for (int i = 0; i < gunas.size(); i++) { Guna app = (Guna) gunas.elementAt(i); gunaList.append(app.getNama(), null); } emptyInfo.setString("Success"); } else { emptyInfo.setString("Failed"); } display.setCurrent(emptyInfo, gunaList); } else { Alert emptyInfo = new Alert("Un Selected Item", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Pilihlah Salah Satu Item untuk Dihapus"); display.setCurrent(emptyInfo, gunaList); } } else if (c == backCommand) {
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
display.setCurrent(tanamanList); } } else if (d == frmDetail) { if (c == backCommand) { display.setCurrent(tanamanList); } } else if (d == frmSearch) { if (c == backCommand) { display.setCurrent(menu); } else if (c == searchCommand) { String src = ((TextField) frmSearch.get(0)).getString(); srcgunas = gunaDB.retrieveByPenyakit(src); srcgunaList = new List("Search Obat", List.IMPLICIT); srcgunaList.addCommand(backCommand); srcgunaList.addCommand(viewDetailCommand); srcgunaList.setCommandListener(this); for (int i = 0; i < srcgunas.size(); i++) { Guna app = (Guna) srcgunas.elementAt(i); Tanaman tanaman = (Tanaman) togaDB.getById(app.getTanamanId()); srcgunaList.append(tanaman.getNama(), null); } display.setCurrent(srcgunaList); } } else if (d == srcgunaList) { if (c == backCommand) { display.setCurrent(frmSearch); } else if (c == viewDetailCommand) { int index = srcgunaList.getSelectedIndex(); String namaTanaman = srcgunaList.getString(index); Guna guna = (Guna) srcgunas.elementAt(index) sb.append("Nama Penyakit:\n"); sb.append(guna.getNama()); sb.append("\nCara Pengobatan :\n"); sb.append(guna.getCara()); StringItem result = new StringItem(null, sb.toString()); resultDetail.append(result); resultDetail.addCommand(backCommand); resultDetail.setCommandListener(this); } } else if (d == resultDetail) { if (c == backCommand) { display.setCurrent(srcgunaList); } } else if (d == frmKeterangan) { if (c == backCommand) { display.setCurrent(menu); } } else if (d == frmLogin) { if (c == loginCommand) { String uname = ((TextField) frmLogin.get(0)).getString(); String pass = ((TextField) frmLogin.get(0)).getString(); if (uname.length() == 0 || pass.length() == 0) { Alert emptyInfo = new Alert("Empty Parameter", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER);
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
emptyInfo.setString("Isi Parameter Username dan Password"); display.setCurrent(emptyInfo, frmLogin); } else { boolean flag = true; Vector nVectors = new Vector(); for (int i = 0; i < loginPass.length; i++) { if (uname.equals(loginPass[i][0]) && pass.equals(loginPass[i][1])) { statusUser = 1; break; } } if (statusUser == 0) { Alert emptyInfo = new Alert("Wrong Username Password", "", null, AlertType.INFO); emptyInfo.setTimeout(Alert.FOREVER); emptyInfo.setString("Isi Parameter Username dan Password dengan benar"); display.setCurrent(emptyInfo, frmLogin); } else { lActTanaman = new List("Admin Tanaman", List.IMPLICIT, actTanaman, null); lActTanaman.addCommand(logoutCommand); lActTanaman.addCommand(backCommand); lActTanaman.setCommandListener(this); display.setCurrent(lActTanaman); } } } else if (c == backCommand) { display.setCurrent(menu); } } } public void startApp() { display.setCurrent(menu); } public void pauseApp() { } public void destroyApp(boolean unconditional) { gunaDB.close(); togaDB.close(); menu = null; } }
TogaDB.java: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import
java.util.Vector; javax.microedition.rms.RecordComparator; javax.microedition.rms.RecordFilter; javax.microedition.rms.RecordStore;
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
/** * * @author Ulum */ public class TogaDB { RecordStore rs = null; public TogaDB() { String file = "togaDB"; try { rs = RecordStore.openRecordStore(file, true); } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } } public void close() { if (rs != null) { try { rs.closeRecordStore(); } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } } } public boolean delete(Tanaman app) { boolean success = false; int id = app.getId(); if (id == 0) { return false; } try { rs.deleteRecord(id); success = true; } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } return success; } public Tanaman getById(int id) { Tanaman app = null; try { byte data[] = rs.getRecord(id); app = new Tanaman(id, data); } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } return app; } public Vector retrieveAll() { RecordEnumeration re = null; Vector apps = new Vector(); try { re = rs.enumerateRecords(null, null, true);// enumerateRecords(rf, rc, true); while (re.hasNextElement()) {
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
int rec_id = re.nextRecordId(); apps.addElement(new Tanaman(rec_id, rs.getRecord(rec_id))); } } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } finally { if (re != null) { re.destroy(); } } return apps; } public boolean save(Tanaman app) { if (rs == null) { return false; } boolean success = false; try { byte[] data = app.toBytes(); int id = app.getId(); if (id == 0) { id = rs.addRecord(data, 0, data.length); app.setId(id); } else { rs.setRecord(id, data, 0, data.length); } success = true; } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } return success; } }
GunaFilterPenyakit.java: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import javax.microedition.rms.RecordFilter; /** * * @author Ulum */ public class GunaFilterPenyakit implements RecordFilter{ private String src; public GunaFilterPenyakit(String src){ this.src=src.trim().toLowerCase(); } public boolean matches(byte[] candidate){ Guna app = new Guna(); app.init_app(candidate); String cur = app.getNama().toLowerCase(); if(cur.indexOf(src)>=0){
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
return true; }else{ return false; } } }
GunaFilterTanaman.java: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import javax.microedition.rms.RecordFilter; /** * * @author Ulum */ public class GunaFilterTanaman implements RecordFilter{ private int idTanaman; public GunaFilterTanaman(int idTanaman){ this.idTanaman=idTanaman; } public boolean matches(byte[] candidate){ Guna app = new Guna(); app.init_app(candidate); if(app.getTanamanId()==idTanaman){ return true; }else{ return false; } } }
Tanaman.java: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import import
java.io.ByteArrayInputStream; java.io.ByteArrayOutputStream; java.io.DataInputStream; java.io.DataOutputStream; java.util.Vector;
/** * * @author Ulum */ public class Tanaman { private int id; private String nama; private String info;
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
private Vector listGuna; public Tanaman(){ id=0; nama=""; info=""; listGuna=new Vector(); } public Tanaman(int id,byte[] rec){ this.id=id; init_app(rec); } public Tanaman(int id,String nama,String info){ this.id=id; this.nama=nama; this.info=info; } public void init_app(byte[] rec){ ByteArrayInputStream bais = new ByteArrayInputStream(rec); DataInputStream dis = new DataInputStream(bais); try { nama=dis.readUTF(); info = dis.readUTF(); } catch (Exception e) { } } public byte[] toBytes(){ byte[] data = null; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); dos.writeUTF(info); data=baos.toByteArray(); baos.close(); dos.close(); } catch (Exception e) { System.out.println("Error : " + e.getMessage()); } return data; } public int getId(){return this.id;} public void setId(int id){this.id=id;} public String getNama(){return this.nama;} public void setNama(String nama){this.nama=nama;} public String getInfo(){return this.info;} public void setInfo(String info){this.info=info;} }
NamaTanaman.java : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import
javax.microedition.lcdui.Command; javax.microedition.lcdui.CommandListener; javax.microedition.lcdui.Display; javax.microedition.lcdui.Displayable;
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
import javax.microedition.lcdui.List; import javax.microedition.lcdui.TextBox; import javax.microedition.lcdui.TextField; /** * * @author Ulum */ public class NamaTanaman extends TextBox implements CommandListener { private Tanaman tanaman; private String nama=""; public List home; private Display display; private Command nextCommand = new Command("Next",Command.OK,1); private Command cancelCommand = new Command("Cancel",Command.CANCEL,1); private DeskripsiTanaman deskripsiTanaman; public TogaDB togaDB; public NamaTanaman(Display display,List home,TogaDB togaDB){ super("Nama Tanaman","",64,TextField.ANY); System.out.println(home.getString(0)); this.togaDB=togaDB; this.display=display; this.home=home; tanaman = new Tanaman(); init_app(); } public NamaTanaman(Display display,List home,TogaDB togaDB,Tanaman tanaman){ super("Nama Tanaman",tanaman.getNama(),65536,TextField.ANY); this.togaDB=togaDB; this.home=home; this.display=display; this.tanaman=tanaman; init_app(); } private void init_app(){ addCommand(nextCommand); addCommand(cancelCommand); setCommandListener(this); } public void commandAction(Command c,Displayable d){ if(c==nextCommand){ this.nama=getString(); if(tanaman.getId()==0){ deskripsiTanaman = new DeskripsiTanaman(display, this, nama); }else{ deskripsiTanaman = new DeskripsiTanaman(display, this, nama,tanaman); } display.setCurrent(deskripsiTanaman); }else if(c==cancelCommand){ display.setCurrent(home); } } }
DeskripsiTanaman.java : /*
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
* To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import import import import import import
java.util.Vector; javax.microedition.lcdui.Alert; javax.microedition.lcdui.AlertType; javax.microedition.lcdui.Command; javax.microedition.lcdui.CommandListener; javax.microedition.lcdui.Display; javax.microedition.lcdui.Displayable; javax.microedition.lcdui.TextBox; javax.microedition.lcdui.TextField;
/** * * @author Ulum */ public class DeskripsiTanaman extends TextBox implements CommandListener { private int id=0; private String nama=""; private Command saveCommand = new Command("Save",Command.OK,1); private Command cancelCommand = new Command("Cancel",Command.CANCEL,1); private NamaTanaman namaTanaman; private Display display; Tanaman tanaman; public DeskripsiTanaman(Display d, NamaTanaman namaTanaman,String nama){ super("Deskripsi Tanaman","",65536,TextField.ANY); this.nama=nama; this.display=d; this.namaTanaman=namaTanaman; tanaman = new Tanaman(); init_app(); } public DeskripsiTanaman(Display d, NamaTanaman namaTanaman,String nama,Tanaman tanaman){ super("Deskripsi Tanaman",tanaman.getInfo(),65536,TextField.ANY); this.nama=nama; this.display=d; this.namaTanaman=namaTanaman; this.tanaman=tanaman; init_app(); } private void init_app(){ addCommand(saveCommand); addCommand(cancelCommand); setCommandListener(this); } public void commandAction(Command c,Displayable d){ if(c==saveCommand){ tanaman.setNama(nama); tanaman.setInfo(getString()); Alert saveInfo = new Alert("Save Tanaman","",null,AlertType.INFO); saveInfo.setTimeout(Alert.FOREVER);
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
if(namaTanaman.togaDB.save(tanaman)){ saveInfo.setString("Success !"); namaTanaman.home.deleteAll(); Vector gunas = namaTanaman.togaDB.retrieveAll(); for (int i = 0; i < gunas.size(); i++) { Tanaman app = (Tanaman) gunas.elementAt(i); namaTanaman.home.append(app.getNama(), null); } }else{ saveInfo.setString("Fail !"); } System.out.println(namaTanaman.home.getString(0)); display.setCurrent(saveInfo,namaTanaman.home); }else if(c==cancelCommand){ display.setCurrent(namaTanaman); }
// // // // // //
} }
NamaKegunaan.java : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import import import import
javax.microedition.lcdui.Command; javax.microedition.lcdui.CommandListener; javax.microedition.lcdui.Display; javax.microedition.lcdui.Displayable; javax.microedition.lcdui.List; javax.microedition.lcdui.TextBox; javax.microedition.lcdui.TextField;
/** * * @author Ulum */ public class NamaKegunaan extends TextBox implements CommandListener{ private Guna guna; public String nama=""; public List home; private Display display; private Command nextCommand = new Command("Next",Command.OK,1); private Command cancelCommand = new Command("Cancel",Command.CANCEL,1); private CaraKegunaan caraKegunaan; public GunaDB gunaDB; public NamaKegunaan(Display display,List home,GunaDB gunaDB,int idTanaman){ super("Nama Kegunaan","",64,TextField.ANY); this.gunaDB=gunaDB; this.display=display; this.home=home; guna = new Guna(); guna.setTanamanId(idTanaman); init_app(); }
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
public NamaKegunaan(Display display,List home,GunaDB gunaDB,Guna guna){ super("Nama Tanaman",guna.getNama(),65536,TextField.ANY); this.gunaDB=gunaDB; this.home=home; this.display=display; this.guna=guna; init_app(); } private void init_app(){ addCommand(nextCommand); addCommand(cancelCommand); setCommandListener(this); } public void commandAction(Command c,Displayable d){ if(c==nextCommand){ this.nama=getString(); caraKegunaan = new CaraKegunaan(display, this, nama,guna); display.setCurrent(caraKegunaan); }else if(c==cancelCommand){ display.setCurrent(home); } } }
CaraKegunaan.java : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ta.toga; import import import import import import import import import
java.util.Vector; javax.microedition.lcdui.Alert; javax.microedition.lcdui.AlertType; javax.microedition.lcdui.Command; javax.microedition.lcdui.CommandListener; javax.microedition.lcdui.Display; javax.microedition.lcdui.Displayable; javax.microedition.lcdui.TextBox; javax.microedition.lcdui.TextField;
/** * * @author Ulum */ public class CaraKegunaan extends TextBox implements CommandListener { private Command saveCommand = new Command("Save",Command.OK,1); private Command cancelCommand = new Command("Cancel",Command.CANCEL,1); private NamaKegunaan namaKegunaan; private Display display; private Guna guna; private String nama; public CaraKegunaan(Display d, NamaKegunaan namaKegunaan,String nama,Guna guna){
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber
super("Cara pengobatan",guna.getCara(),65536,TextField.ANY); this.namaKegunaan=namaKegunaan; this.display=d; this.guna=guna; this.nama=nama; init_app(); } private void init_app(){ addCommand(saveCommand); addCommand(cancelCommand); setCommandListener(this); } public void commandAction(Command c,Displayable d){ if(c==saveCommand){ guna.setNama(nama); guna.setCara(getString()); Alert saveInfo = new Alert("Save Kegunaan Tanaman","",null,AlertType.INFO); saveInfo.setTimeout(Alert.FOREVER); if(namaKegunaan.gunaDB.save(guna)){ saveInfo.setString("Success !"); namaKegunaan.home.deleteAll(); Vector gunas = namaKegunaan.gunaDB.retrieveByTanaman(guna.getTanamanId()); for (int i = 0; i < gunas.size(); i++) { Guna app = (Guna) gunas.elementAt(i); namaKegunaan.home.append(app.getNama(), null); } }else{ saveInfo.setString("Fail !"); } display.setCurrent(saveInfo,namaKegunaan.home); }else if(c==cancelCommand){ display.setCurrent(namaKegunaan); } }
Hak Cipta © milik UPN "Veteran" Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber