APLIKASI PEMESANAN
TEMBAKAU “GARANGAN ”
DENGAN MENGGUNAKAN J2ME
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh :
Rubin Siswanto
NIM: 035314062
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
GARANGAN TOBACCOS ORDERING APPLICATION USE J2ME
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Department of Informatics Engineering
Created By : Rubin Siswanto
035314062
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2009
Halaman Persembahan
Kupersembahkan karyaku ini untuk orang-orang yang kucintai :
Tuhan Yesus,atas segala rahmat serta perlindunganNya
Kedua orang tua-ku yang telah membesarkan aku dengan penuh
perhatian dan kasih sayang, semoga karya ini dapat menjadi
wujud tanggung jawabku untuk menyelesaikan pendidikan tinggi
di Universita Sanata Dharma Yogyakarta
Kakakku deny, michael, anton thanx’z atas semua supportnya
selama ini
Teman-teman Teknik informatika Angkatan 2003.
Halaman Motto
Tuhan tidak akan memberikan apa yang kita inginkan atau kita harapkan , tapi Dia
akan memberikan apa yang kita butuhkan, karena Dia mengerti.
Abstraksi
Seiring dengan meningkatnya permintaan konsumen akan tembakau
garangan maka dibutuhkan informasi yang cepat, dan tepat akan keberadaan
tembakau garangan tersebut. Sedangkan pada saat ini sebagian besar proses
pemilihan dan pemesanan tembakau dilakukan melalui telepon saja, sehingga hal
tersebut memakan waktu yang cukup lama dan biaya yang cukup besar apalagi
sebagian besar konsumen yang ada berasal dari kota-kota besar.
Aplikasi ini dibuat untuk memudahkan seorang konsumen dalam
pencarian dan pemesanan tembakau. Dengan aplikasi ini diharapkan konsumen
tidak perlu lagi menanyakan tentang keberadaan dan harga dari suatu jenis
tembakau yang akan dibelinya, karena dapat melihat langsung dari aplikasi J2ME
ini, sehingga dapat menghemat waktu dan biaya.
Hasil akhir yang diperoleh adalah aplikasi pemesanan tembakau
“garangan” dengan menggunakan J2ME, yang dapat berfungsi dengan baik untuk
pelanggan dalam melakukan pencarian dan pemesanan tembakau garangan.
Namun masih memiliki kelemahan yaitu tidak adanya fasilitas keranjang belanja,
yang mengakibatkan pemesanan harus dilakukan satu per satu untuk jenis
tembakau yang berbeda.
ABSTRACT
Along with increasing of consumer request for “garangan” tobacco, the
fast and appropriate information is required. However, the process of tobacco’s
selection and order is done only by phone. With the result of that, the process of
tobacco’s order are taking more time and cost, especially almost of consumer are
coming from the other city.
This application is build to facilitate consumer to find and order a tobacco.
With this application, a consumer is not need to asking of availability and price
for a kind of tobacco which want to buy because consumer can use this
application to see that, so time and cost are need can be reduce.
The result from this application is, “garangan” tobacco’s ordering
application use J2ME can be functioned to facilitate consumer to find and order
“garangan” tobaccos. However, this application have a weakness that is basket
expense facilities is not available, as a consequence the order of “garangan”
tobacco must to do one by one for a different kind of tobacco’s.
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Rubin Siswanto NIM : 035314062 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PEMESANAN
TEMBAKAU “GARANGAN ”
DENGAN MENGGUNAKAN J2ME Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma Yogyakarta hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya.
Kata Pengantar
Puji sukur penulis haturkan kepada Tuhan Yang Maha Esa atas segala
karunianya yang diberikan, sehingga penulis dapa menyelesaikan tugas akhir
yang berjudul “Aplikasi Pemesanan Tembakau “Garangan” Dengan
Menggunakan J2ME “ ini dengan baik. Penulisan ini merupakan salah satu syarat
untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma pada
program studi Teknik Informatika.
Selama penulisan skripsi ini penulis telah menerima bantuan dan bimbingan
dari beberapa pihak. Oleh karena itu penulis mengucapkan terima kasih kepada:
1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Akademik
Teknik Informatika angkatan 2003.
4. Ibu Agnes Maria Polina,S.Kom., M.Sc. selaku Dosen Pembimbing TA.
Terima kasih banyak atas bantuan dan bimbingan selama mengerjakan tugas
akhir ini.
5. Kedua orangtua dan kakakku, atas dukungan, kasih sayang dan semangat yang
tiada henti sehingga penulis dapat menyelesaikan Tugas Akhir ini.
6. Seluruh pihak yang membantu saya baik secara langsung maupun tidak
langsung, yang tidak dapat saya sebutkan satu persatu.
Penulis menyadari sepenuhnya bahwa Tugas Akhir ini masih jauh dari
kesempurnaan dan masih banyak kekurangan. Oleh karena itu penulis sangat
mengharapkan kritik dan saran yang bersifat membangun demi perbaikan lebih
lanjut. Penulis berharap semoga Tugas Akhir ini dapat bermanfaat dan berguna
bagi pembaca.
Yogyakarta, Maret 2009
Penulis
DAFTAR ISI
Halaman Judul (IND) .......................................................................................
Halaman Judul (ENG) .. . .........................................................................................
Halaman Persetujuan ............................................................................................
Halaman Pengesahan .............................................................................................
Halaman Keaslian Karya .........................................................................................
Halaman Persembahan .............................................................................................
Halaman Motto . .....................................................................................................
Abstraksi .................................................................................................................
Abstract .................................................................................................................
Halaman Publikasi Karya ...................................................................................... Kata Pengantar ........................................................................................................
Daftar Isi ..................................................................................................................
Daftar Gambar .........................................................................................................
Daftar Tabel .............................................................................................................
i
ii
iii
iv
v
vi
vii
viii
ix
x
xi
xiii
xix
xxiii
BAB I. PENDAHULUAN
1.1 Latar Belakang Masalah ................................................................................
1.2 Rumusan Masalah .........................................................................................
1.3 Batasan Masalah ............................................................................................
1.4 Manfaat dan Tujuan Penelitian .....................................................................
1.5 Metodologi Penelitian ...................................................................................
1
2
2
3
3
1.6 Sistematika Penulisan .................................................................................... 4
BAB II. LANDASAN TEORI
2.1 Tembakau Garangan......................................................................................
2.2 J2ME (Java 2 Micro Edition).........................................................................
2.2.1 J2ME( Java 2 Micro Edition) ...................................................................
2.2.1.1 Jenis Aplikasi J2ME.....................................................................
2.2.1.2 J2ME Configuration.....................................................................
2.2.1.3 . J2ME profile..............................................................................
2.2.1.4 Keuntungan Penggunaan J2ME pada Peralatan Wireless..........
2.2.2 J2ME Wireless Toolkit..............................................................................
2.2.2.1 Menu Default Device Selection.................................................
2.2.2.2 Menu Ktoolbar...........................................................................
2.2.3 Apliksi MIDlet.........................................................................................
2.2.3.1 Arsitektur Aplikasi MIDlet........................................................
2.2.3.2 Eksekusi sebuah MIDlet............................................................
2.2.4 Pemrograman GUI pada MIDlet..............................................................
2.2.4.1 Jenis fungsi-fungsi API pada MIDP untuk GUI..........................
2.2.4.2 Model Pemrograman GUI pada MIDP.......................................
2.2.4.2.1 Bekerja dengan Screen..................................................
2.2.4.2.2 Ticker...............................................................................
2.2.4.2.3 TextBox...........................................................................
2.2.4.3 Bekerja dengan Form.................................................................
2.2.4.3.1 Kelas Item (javax.microedition.lcdui.Item).....................
6
7
7
8
8
10
10
11
11
11
12
12
14
14
15
15
15
16
17
19
19
2.2.4.4 Graphics......................................................................................
2.2.4.4.1 Teks ..............................................................................
2.3 HTML (Hypertext Markup Language)...........................................................
2.4 PHP (Hypertext prepocessor)........................................................................
2.4.1 Definisi .....................................................................................................
2.4.2 PHP yang terintegrasi dengan HTML ......................................................
2.5 MySQL...........................................................................................................
2.6 Use Case Diagram..........................................................................................
2.6.1 Use Case ...................................................................................................
2.6.2 Actor ..........................................................................................................
2.6.3 Use Case association relationship............................................................
2.7 ER-Diagram (Entity-Relationship Diagram) ................................................
2.7.1 Entity ........................................................................................................
2.7.2 Relationship ...............................................................................................
2.8 Data Flow Diagram(DFD) ............................................................................
19
19
21
22
22
23
24
25
25
25
26
26
26
27
28
BAB III. ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisa Sistem................................................................................................
3.1.1 Gambaran Umum Sistem....................................................................
3.1.2 Batasan Sistem....................................................................................
3.1.3 Analisis Kebutuhan pada Sistem........................................................
3.1.4 Logical Design...................................................................................
3.1.4.1 Pemodelan Proses (Data Flow Diagram) ....................................
30
30
31
31
33
34
3.1.4.1.1 Context Diagram...............................................................
3.1.4.1.2 Diagram Berjenjang..........................................................
3.1.4.1.3 Overview Diagram............................................................
3.1.4.1.3.1 Overview Diagram level 0..........................................
3.1.4.1.3.2 DFD level 1 untuk proses 2........................................
3.1.4.1.3.3 DFD level 1 untuk proses 3........................................
3.1.4.2 Pemodelan Data............................................................................
3.2 Perancangan Sistem........................................................................................
3.2.1 Perancangan Basis Data.....................................................................
3.2.2 Perancangan Teknologi.....................................................................
3.2.2.1 Hardware.....................................................................................
3.2.2.2 Software.........................................................................................
3.2.3 Perancangan User Interface................................................................
3.2.3.1 Perancangan interface untuk user.................................................
3.2.3.1.1 Tampilan program J2ME untuk user.................................
3.2.3.1.2 Tampilan web untuk user..................................................
3.2.3.2 Tampilan web untuk administrator................................................
35
35
36
36
36
37
37
38
38
42
42
42
42
43
43
46
47
BAB IV. IMPLEMENTASI SISTEM
4.1 Spesifikasi Perangkat keras dan lunak yang digunakan ................................
4.1.1 Perangkat keras yang digunakan........................................................
4.1.2 Perangkat lunak yang digunakan .......................................................
4.2 Pembuatan Database .....................................................................................
50
50
50
51
4.3 Implementasi halaman User/ Pelanggan....................................................
4.3.1 Tampilan awal web pelanggan...........................................................
4.3.2 Tampilan Menu Pendaftaran Baru .....................................................
4.3.3 Tampilan Menu Tembakau Tampil....................................................
4.4 Implementasi Aplikasi User/Pelanggan dengan J2ME .................................
4.4.1 Tampilan Awal...................................................................................
4.4.2 Menu Utama.......................................................................................
4.4.3 Menu Pemesanan ...............................................................................
4.4.4 Menu Cari tembakau ..........................................................................
4.4.5 Menu Pesan tembakau........................................................................
4.5 Implementasi Aplikasi Administrator dengan PHP......................................
4.5.1 Login ..................................................................................................
4.5.2 Menu Utama.......................................................................................
4.5.3 Menu Data Pelanggan ........................................................................
4.5.4 Menu Tambah Data Tembakau..........................................................
4.5.5 Menu Ubah Data Tembakau..............................................................
4.5.6 Menu Tambah Data Propinsi.............................................................
4.5.7 Menu Ubah Data Propinsi.................................................................
4.5.8 Menu Data Buku Tamu...................................................................
4.5.9 Menu Laporan Transaksi..................................................................
54
54
54
58
64
64
64
65
67
68
71
71
71
72
73
74
76
76
78
79
BAB V. ANALISIS HASIL IMPLEMENTASI
5.1 . Hasil Implementasi Perangkat Lunak...........................................................
82
5.1.1 Implementasi Aplikasi dengan J2ME.......................................................
5.1.2 Implementasi Aplikasi Web untuk User...................................................
5.1.3 Implementasi Web Maintenance..............................................................
5.2 .Analisis Manfaat ...........................................................................................
5.3 .Kelebihan dan Kekurangan Program ............................................................
5.3.1 Kelebihan Program ...................................................................................
5.3.2 Kekurangan Program ................................................................................
5.4 .Analisa pehitungan Biaya dan Waktu...........................................................
5.4.1 Analisa Perhitungan Biaya.......................................................................
5.4.2 Analisa Perhitungan Waktu.....................................................................
82
82
83
83
84
84
84
85
85
87
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan ....................................................................................................
6.2 Saran ..............................................................................................................
88
89
DAFTAR PUSTAKA
DAFTAR GAMBAR
Gambar Keterangan Hal
Gambar 2.1. Skema Permintaan HTML 22
Gambar 2.2. Skema Permintaan PHP 23
Gambar 2.3. Simbol Use Case 25
Gambar 2.4. Simbol Actor 25
Gambar 2.5. Simbol Use case association relationship 26
Gambar 2.6. Simbol Entity 26
Gambar 2.7. Simbol Relations 27
Gambar 2.8. Cardinality Notations 28
Gambar 2.9. Simbol Proses 28
Gambar 2.10. Simbol External Agent 29
Gambar 2.11. Simbol Data Flow 29
Gambar 2.12. Simbol Data Store 29
Gambar 3.1 Use Case Diagram 33
Gambar 3.2. input dan output pengguna sistem 34
Gambar 3.3. Context Diagram 35
Gambar 3.4. Diagram Berjenjang 35
Gambar 3.5. Overview Diagram 36
Gambar 3.6. DFD level 1 untuk proses 1 36
Gambar 3.7. DFD level 1 untuk proses 2 37
Gambar 3.8. Entity Relational Diagram 37
Gambar 3.9. Relasi tabel 38
Gambar 3.10 Tampilan awal 43
Gambar 3.11 Tampilan Menu Utama 43
Gambar3.12 Tampilan Info 44
Gambar3.13 Tampilan Tentang Program 44
Gambar 3.14 Tampilan Login user 44
Gambar 3.15 Tampilan jika gagal login 44
Gambar 3.16 Tampilan Menu utama Pemesanan 45
Gambar 3.17 Tampilan Pencarian Tembakau 45
Gambar3.18 Tampilan Hasil Pencarian 45
Gambar 3.19 Tampilan Hasil Pencarian 45
Gambar3.20 Tampilan Menu Pemesanan 46
Gambar 3.21 Tampilan Pesan Pemesanan 46
Gambar 3.22 Tampilan web untuk user 46
Gambar 3.23 Tampilan login administrator 47
Gambar 3.24 Tampilan tambah data tembakau 47
Gambar 3.25 Tampilan untuk melihat daftar tembakau 48
Gambar 3.26 Tampilan untuk merubah data tembakau 48
Gambar 3.27 Tampilan tambah data propinsi 48
Gambar 3.28 Tampilan untuk melihat daftar data propinsi 49
Gambar 3.29 Tampilan untuk merubah data propinsi 49
Gambar 3.30 Tampilan untuk melihat daftar data pelanggan 49
Gambar 4.1 Tampilan phpMyAdmin 51
Gambar 4.2 Tampilan halaman web user 54
Gambar 4.3 Tampilan halaman pendaftaran baru 55
Gambar 4.4 Tampilan kesalahan pada pendaftar baru 56
Gambar 4.5 Tampilan jika inputan telah benar 57
Gambar 4.6 Tampilan dari menu tembakau tampil 58
Gambar 4.7 Tampilan detail dari tembakau tampil 59
Gambar 4.8 Tampilan detail dari tembakau tampil 60
Gambar 4.9 Tampilan keranjang belanja 60
Gambar 4.10 Tampilan konfirmasi pembayaran dan pengiriman 61
Gambar 4.11 Tampilan konfirmasi transaksi 62
Gambar 4.12 Tampilan jika proses transaksi telah berhasil 64
Gambar 4.13 Tampilan awal 64
Gambar 4.14 Tampilan menu utama 65
Gambar 4.15 Tampilan login menu pemesanan 65
Gambar 4.16 Tampilan cari tembakau 67
Gambar 4.17 Tampilan inputan kosong 67
Gambar 4.18 Tampilan hasil cari tembakau 67
Gambar 4.19 Tampilan pesan tembakau 69
Gambar 4.20 Tampilan pesan kesalahan 69
Gambar 4.21 Pesan tembakau sukses 69
Gambar 4.22 Tampilan login 71
Gambar 4.23 Tampilan menu utama admin 71
Gambar 4.24 Tampilan menu data pelanggan 72
Gambar 4.25 Tampilan tambah data tembakau 73
Gambar 4.26 Tampilan menu ubah data tembakau 74
Gambar 4.27 Tampilan form untuk ubah data tembakau 74
Gambar 4.28 Tampilan hapus pada menu ubah data tembakau 76
Gambar 4.29 Tampilan menu tambah data propinsi 76
Gambar 4.30 Tampilan menu ubah data propinsi 77
Gambar 4.31 Tampilan form ubah untuk ubah data propinsi 77
Gambar 4.32 Tampilan hapus pada menu ubah data tembakau 78
Gambar 4.33 Tampilan data buku tamu 79
Gambar 4.34 Tampilan laporan transaksi pesan 79
Gambar 4.35 Tampilan laporan transaksi lunas 80
Gambar 4.36 Tampilan laporan transaksi per nomor/detail
transaksi 80
DAFTAR TABEL
Tabel Keterangan Hal Tabel 3.1 Struktur Tabel Data User 39
Tabel 3.2 Struktur Tabel Data Tembakau 40
Tabel 3.3 Struktur Tabel Propinsi 40
Tabel 3.4 Struktur Tabel Pemesanan 41
Tabel 3.5 Struktur Tabel Detail Pemesanan 41
Tabel 3.6 Struktur Tabel Data Kantong 41
Tabel 3.7 Struktur Tabel Data Administrator 41
Tabel 5.1 Tarif GSM-GPRS tahun 2008-2009 85
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Tembakau garangan adalah salah satu komoditi hasil olahan dari daun
tembakau, dimana cara pengolahannya dengan cara di garang atau dipanaskan.
Tembakau garangan sendiri mempunyai cukup banyak jenis, dan adapun cara
pembedaan jenis tersebut antara lain berdasarkan: nama tembakau, tahun
pembuatan, dan kualitas tembakau itu sendiri.
Seiring dengan meningkatnya permintaan konsumen akan tembakau
“garangan”, maka dibutuhkan sistem informasi yang cepat, tepat dan akurat, akan
keberadaan tembakau tersebut. Apalagi sebagian besar konsumen yang ada
berasal dari kota-kota besar, sehingga proses pemilihan dan pemesanan barang
biasanya dilakukan melalui telepon saja. Proses pemilihan serta pemesanan inilah
yang membuat boros biaya operasional bagi penyedia barang ataupun konsumen,
karena konsumen harus memastikan dulu barang yang diinginkan tersebut ada
atau tidak dengan cara menelpon penyedia barang terlebih dahulu, kemudian
penyedia barang akan menelpon balik setelah melihat data barang pada catatan
manualnya.
Dari gambaran diatas maka dapat dilihat bahwa sebenarnya ada tiga aspek
yang dapat dimaksimalkan yaitu otomatisasi pencatatan data tembakau bagi
penyedia barang serta penghematan biaya dan waktu pemesanan bagi konsumen.
Oleh sebab itu penulis akan mencoba untuk mengembangkan sistem yang dapat
menguntungkan bagi kedua belah pihak. Adapun sistem yang digunakan ini
menggunakan teknologi J2ME, dimana J2ME adalah sebuah teknologi yang
berguna untuk membangun aplikasi pada peralatan atau device dengan memori
kecil dan kapasitas penyimpanan yang terbatas dan juga hanya dapat dipadukan
dengan user interface yang terbatas, seperti handphone, PDA, dan lain-lain
Dipilih J2ME karena J2ME digunakan pada perangkat komunikasi yang
bergerak atau mobile jadi dapat mengakses dimana dan kapan saja dan juga J2ME
menyediakan komputasi lokal dan penyimpanan, dengan koneksi ke jaringan.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dikemukakan diatas, maka dapat
dirumuskan bahwa masalah yang ada adalah bagaimana membuat aplikasi yang
dapat menyediakan informasi tentang tembakau garangan, agar konsumen dapat
melakukan pemesanan tembakau dengan mudah melalui handphone agar
menghemat baik waktu maupun biaya.
1.3 Batasan Masalah
Sistem ini dibatasi sebagai berikut:
1. Aplikasi yang dibangun memiliki fasilitas pencarian tembakau
berdasarkan nama, tahun pembuatan dan tipe tembakau.
2. Calon pembeli dapat memesan tembakau yang dipilih.
3. Sistem tidak membahas tentang transaksi pembayaran.
4. Admin tidak dapat menginputkan data melalui aplikasi J2ME.
5. Studi kasus dilakukan pada seorang penjual tembakau garangan di
Parakan, Temanggung.
1.4 Tujuan dan Manfaat Penelitian
Tujuan dari penelitian adalah membuat sebuah aplikasi pemesanan
tembakau garangan yang dapat menampilkan informasi tentang data tembakau,
dan memudahkan user dalam melakukan pemesanan baik melalui handphone
maupun web.
Adapun manfaat dari aplikasi yang dibuat adalah untuk menyediakan
informasi tentang tembakau kepada konsumen dan memudahkan pedagang dalam
mengelola data tentang stok tembakau.
1.5 Metodologi Penelitian
Metodologi yang digunakan dalam tugas akhir ini adalah studi kasus, dengan
langkah-langkah sebagai berikut:
1. Studi Lapangan dan Observasi
Studi lapangan dilakukan untuk mengumpulkan dan memperoleh data
tentang tembakau, serta untuk mengamati proses transaksi yang terjadi.
2. Studi Literatur
Studi literatur dilakukan untuk mempelajari hal-hal teori yang terkait
dengan pengerjaan tugas akhir ini.
3. Pengembangan perangkat lunak dengan metode RPL(Rekayasa Rerangkat
Lunak) secara terstuktur (whitten,2004) dengan tahapan sebagai berikut:
a. Analisa Sistem
Dilakukan untuk mengidentifikasi dan mengevaluasi permasalahan
yang ada sehingga dapat menyelesaikan masalah-masalah tersebut
b. Desain Sistem
Perancangan sistem secara umum yang diperoleh dari hasil analisa
sistem, antara lain: perancangan menu, perancangan basis data,
perancangan user interface dan lain-lain.
c. Implementasi Sistem
• Menterjemahkan hasil desain sistem kedalam kode-kode
program
• Mengimplementasikan secara nyata aplikasi pada hardware
yang sebenarnya
1.6 Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini merupakan gambaran umum tentang pokok bahasan yang akan dibuat
yang terdiri dari latar belakang masalah, tujuan, perumusan masalah, batasan
masalah, metodologi penulisan serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi tentang teori-teori yang berhubungan langsung dan mendukung
pokok bahasan pada tugas akhir ini.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisis yang dibutuhkan dalam penelitian, berdasarkan
hasil analisis sistem tersebut, kemudian dirancang sistem untuk menyelesaikan
masalah dalam penelitian ini.
BAB IV IMPLEMENTASI SISTEM
Pada bab ini dijelaskan tentang proses transformasi dari rancangan sistem ke
bentuk program
BAB V ANALISA HASIL IMPLEMENTASI
Merupakan analisa dari hasil implementasi perangkat lunak. Dalam analisis ini
dibahas tentang hasil implementasi perangkat lunak, analisa manfaat, kelebihan
dan kekurangan program, serta analisa perhitungan biaya dan waktu.
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang menjawab rumusan masalah serta saran untuk
perngembangan program di masa yang akan datang.
BAB II
LANDASAN TEORI
2.1 Tembakau Garangan
Tembakau garangan adalah salah satu komoditi hasil olahan dari daun
tembakau, yang cara pengolahannya dilakukan dengan di garang atau dipanaskan
sehingga daun tembakau yang telah dicincang bisa berbentuk petak-petak
menyerupai “keset”. Tembakau garangan yang telah jadi, dikemas dalam sebuah
tempat yang terbuat dari anyaman bambu yang biasa disebut dengan “besek”.
Tembakau garangan sendiri mempunyai cukup banyak jenis, dan adapun cara
pembedaanya antara lain:
1. Nama tembakau garangan
Nama tembakau garangan diambil dari sebutan untuk wilayah pada lereng
Gunung Sindoro dan Gunung Sumbing.
• Swating jan : Nama untuk tembakau garangan yang dihasilkan
di lereng timur-laut Gunung Sindoro, adapun desa yang
memproduksinya antara lain: Canggal, Jamus, Segandul dan desa
di sekitarnya.
• Swating : Nama untuk tembakau garangan yang dihasilkan
di lereng barat-daya Gunung Sindoro, adapun desa yang
memproduksinya antara lain: Setieng dan Suren Gede (daerah
dataran tinggi Dieng).
• Mbako Kandel : Nama untuk tembakau garangan yang dihasilkan
di lereng utara Gunung Sumbing, adapun desa yang
memproduksinya antara lain: Batur, Sontonayan dan desa di
sekitarnya
2. Tahun pembuatan tembakau garangan
Tahun pembuatan tembakau garangan adalah tahun dimana tembakau
garangan tersebut diproduksi perhitungan berdasarkan tahun, karena daun
tembakau merupakan tanaman musiman yang ada sekali tiap tahunnya.
Tahun pembuatan dijadikan sebagai pembeda jenis tembakau garangan
karena semakin lama tembakau garangan disimpan maka mutunya akan
semakin baik.
3. Kualitas tembakau garangan, kualitas dilihat dari ada tidaknya lubang pada
tembakau garangan, banyak dan sedikitnya kandungan minyak pada
tembakau garangan dan yang terutama pada rasanya (pada saat dirokok).
2.2 J2ME ( Java 2 Micro Edition)
2.2.1. J2ME ( Java 2 Micro Edition)
J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang
ditunjukkan untuk implementasi pada peralatan embedded system dan
handheld yang tidak mampu mendukung secara penuh implementasi
menggunakan J2SE. Embedded system adalah produk-produk dengan
komputer kecil didalamnya, namun aplikasi yang bisa dimanfaatkan dari
peralatan tersebut sangatlah spesifik.
J2ME sangat berguna untuk membangun sebuah aplikasi pada peralatan
dengan jumlah memori dan kapasitas penyimpanan terbatas, serta
kemampuan user interface yang terbatas seperti pada perangkat
komunikasi bergerak berupa handphone, PDA, dan sebagainya
2.2.1.1. Jenis Aplikasi J2ME
Saat ini terdapat dua jenis aplikasi dari J2ME yaitu (Jhon W,2002):
1. Walled garden application yaitu aplikasi yang berdiri sendiri
atau stand alone yang berjalan pada handphone tanpa perlu
mengakses sumber data eksternal melalui jaringan pembawa
atau carrier network. Contoh dari aplikasi ini adalah
kalkulator atau single player games.
2. Network aware application atau aplikasi yang berinteraksi
dengan jaringan. Tidak seperti aplikasi yang pertama,
aplikasi ini memiliki kemampuan untuk mengakses sumber
data eksternal. Contohnya aplikasi email yang berada di
handphone, aplikasi ini untuk mendapatkan kembali data
alamat-alamat yang tersimpan melalui jaringan dan
pengiriman email berbagai alamat melalui jaringan data.
2.2.1.2. J2ME Configuration
J2ME dapat dibagi dalam configuration dan profile. J2ME
configuration adalah spesifikasi yang secara detail menjelaskan
tentang sebuah virtual machine dan kumpulan API-API dasar yang
dapat digunakan dalam kelas-kelas tertentu dari sebuah peralatan.
J2ME configuration mendefinisikan lingkungan kerja J2ME
runtime. Oleh karena setiap handheld devices memiliki fitur-fitur
yang berbeda-beda, J2ME configuration ini dirancang untuk
menyediakan library standart yang mengimpementasikan fitur
standar dari sebuah handheld devices.
Ada 2 kategori J2ME configuration saat ini, yaitu:
a. CLDC (Connected Limited Device Configuration)
Konfigurasi untuk peralatan wireless dengan kapasitas
memori yang kecil dan koneksi jaringan yang tidak tetap atau
terputus-putus seperti pager, handphone, dan PDA (Personal
Digital Assistants). Salah satu spesifikasi profilnya adalah
mobile information device profile. Kategori yang digolongkan
dalam CLDC dapat digunakan pada handphone seperti Nokia,
Samsung Java Phone, Motorola i85s, Organizer atau PDA
seperti PALM, pocket PC, dan two way pagers. Memori yang
dipakai berukuran 160-512 kilobytes.
b. CDC (Connected Device Configuration)
CDC digunakan untuk peralatan dengan kapasitas memori
lebih besar dengan koneksi jaringan yang lebih kokoh
contohnya pada set-top boxes dan peralatan internet.
Konfigurasi ini diperuntukkan bagi peralatan wireless dengan
resources memory yang lebih besar paling sedikit 2 MB,
konektivitas ke beberapa tipe jaringan.
2.2.1.3. J2ME profile
J2ME Profile menyediakan implementasi-implementasi
tambahan yang sangat spesifik dari sebuah handheld device. J2ME
Profile mengimpementasikan kemampuan atau fitur lain yang
sangat bergantung pada jenis perangkat handheld yang digunakan.
Ada 5 kategori J2ME Profile saat ini, yaitu (Jhon W,2002):
a. Mobile Information Device Profile (MIDP) yang
menyediakan library-library java untuk implementasi dasar
antarmuka (GUI), implementsi jaringan (networking),
database, dan timer.
b. Foundation Profile (FP)
c. Personal Profile
d. RMI Profile
e. Personal Digital Assistance Profile
2.2.1.4. Keuntungan Penggunaan J2ME pada Peralatan
Wireless
Keuntungan dari penggunaan J2ME ini akan mengurangi
latensi selama koneksi antara komunikasi perangkat keras disisi
user dengan server, tampilan di layar perangkat komunikasi user
semakin dipercaya dengan animasi-animasi grafis yang menarik,
interaksi user dengan sistem semakin meningkat, penggunaan
bahasa markup tidak dibatasi dalam hal tampilan ke pengguna,
aplikasi berbasis browser dapat bekerja dengan baik pada daerah
yang tidak terjangkau dengan sinyal provider layanan komunikasi
bergerak.
2.2.2. J2ME Wireless Toolkit
2.2.2.1. Menu Default Device Selection
Setelah instalasi J2ME telah berhasil, maka untuk
pengembangan aplikasi wireless akan banyak berurusan dengan
emulator dan tidak akan berurusan langsung dengan perangkatnya.
Menu Default Device Selection digunakan untuk memilih default
emulator yang akan digunakan saat mencoba aplikasi wireless Java
nantinya. Masing-masing emulator memiliki karakteristik
tersendiri, namun memiliki fitur standar sebagai sebuah handheld.
Sehingga akan dapat menghasilkan hasil yang lebih baik untuk
banyak handheld dengan memilih emulator yang sesuai.
2.2.2.2. Menu Ktoolbar
Menu ini merupakan menu utama dari aplikasi untuk
pengembangan Java MIDP atau dikenal MIDlet. Ktoolbar
merupakan lingkungan pengembangan minimal yang disediakan
oleh J2ME Wireless toolkit untuk pengembangan MIDlet.
2.2.3. Apliksi MIDlet
2.2.3.1. Arsitektur Aplikasi MIDlet
Dalam pengembangan aplikasi MIDlet, proyek yang dibuat
terdiri atas direktori-direktori sebagai berikut:
1. Scr :berisi file-file kode Java.
2. Bin :berisi file-file JAD,JAR dan manifest.
3. Lib :berisi file-file kelas java yang diperlukan dalam
format JAR atau ZIP.
4. Res :berisi file-file resource.
Istilah-istilah yang penting dalam daur hidup sebuah MIDlet yaitu:
a. Application Management Software (AMS)
AMS ini merupakan software atau program-program
bawaan yang ada dalam perangkat handheld tersebut yang
mengatur manajemen aplikasi MIDlet yang ada
b. MIDlet
Merupakan aplikasi yang dijalankan pada sebuah perangkat
handheld. MIDlet tidak berinteraksi langung dengan
hardware dari handphone, Palm, atau perangkat hadheld
lain, melainkan berinteraksi melalui application
management software. AMS inilah yang akan menerima
sinyal dari MIDlet bahwa MIDlet akan dijalankan atau
berhenti.
c. MIDlet states
Merupakan status dari sebuah MIDlet.
Ada 3 Status MIDlet yaitu:
a. Paused
Status ini terjadi jika MIDlet selesai diinisialisasikan dan
tidak melakukan aksi apapun, status ini tidak boleh sedang
mengunci sebuah file untuk ditulis yang menyebabkan
proses lain tidak bisa menulis ke file tersebut.
Status MIDlet merupakan Paused apabila:
1. Setelah MIDlet dibuat dengan konstruktor new()
2. Dari status Active, kemudian berhasil memanggil
fungsi MIDlet.pauseApp() dan MIDlet.notifyPaused()
3. Dari status Active, ketika akan start() terjadi kesalahan
berupa exception: MIDletStateChangeException
b. Active
Status ini terjadi jika MIDlet sedang aktif/berjalan dengan
normal, yaitu setelah memanggil fungsi MIDlet.startApp().
c. Destroyed
Status ini terjadi jika MIDlet berhenti berjalan (exit),
sehingga seluruh sumber daya yang digunakan akan
dibebaskan. Status ini berhasil jika dilakukan pemanggilan
fungsi MIDlet.destroyApp() atau MIDlet.notifyDestroyed().
2.2.3.2. Eksekusi sebuah MIDlet
Urutan eksekusi sebuah MIDlet adalah sebagai berikut:
1. AMS (Application Management Software) menginisialisasi
sebuah obyek MIDlet, sehingga MIDlet berada pada status
Paused.
2. Ketika AMS memutuskan bahwa MIDlet sudah waktunya
dijalankan, maka AMS akan memanggil fungsi
MIDlet.startApp() sehingga MIDlet akan mulai aktif
berfungsi
3. Ketika AMS memutuskan bahwa MIDlet harus
dinonaktifkan sementara, maka AMS akan memanggil
fungsi MIDlet.pauseApp() sehingga MIDlet akan berhenti
bekerja.
4. Ketika AMS memutuskan bahwa MIDlet harus
dinonaktifkan selamanya, maka AMS akan memanggil
fungsi Midlet.destroyApp() sehingga alokasi memori yang
digunakan oleh MIDlet yang bersangkutan akan
dibersihkan.
2.2.4. Pemrograman GUI pada MIDlet
Perangkat handheld memiliki teknik pemrograman GUI yang
berbeda dengan teknik pemrograman yang umumnya digunakan pada
apliksi pada komputer. Fungsi-fungsi untuk GUI akan ditangani oleh
MIDP (Mobile Information Devices Profile).
2.2.4.1. Jenis fungsi-fungsi API pada MIDP untuk GUI
Ada 2 level yang disediakan oleh MIDP untuk pembuatan GUI
yaitu:
1. Highlevel : aplikasi MIDlet akan lebih portable
dengan banyak perangkat handheld yang berbeda. Jika
aplikasi MIDlet dijalankan dengan handheld lain maka
hasilnya akan sama. Kelas-kelas untuk managemen
pemrograman ini akan diturunkan dari
javax.microedition.lcui.Screen.
2. lowlevel : pada level ini akan didapatkan fungsionalitas yang
lebih spesifik ke jenis handhed yang digunakan. Jadi apabila
digunakan handheld yang tidak sesuai dengan aplikasi tidak
akan jalan dengan baik. Kelas-kelas untuk pemrograman GUI
pada level ini diimplementasikan oleh kelas
javax.microedition.lcdui.Canvas dan
javax.microedition.lcdui.Graphics.
2.2.4.2. Model Pemrograman GUI pada MIDP
2.2.4.2.1. Bekerja dengan Screen
Ada 3 tipe Screen pada MIDlet yaitu:
1. Complex Screen Object
Tipe ini mengatur komponen-komponen GUI yang
sudah tidak bisa ditambahi oleh komponen screen
yang lain. Contohnya screen yang berisi objek listbox
untuk meminta memasukkan user, tidak akan bisa
diisikan dengan objek lain.
2. Generic Screen Object
Tipe ini mengatur komponen-komponen GUI form
yang bisa ditambahi komponen screen yang lain.
3. Low Level Screen Object
Tipe ini digunakan oleh subkelas
javax.microedition.lcdui.Graphics dan
javax.microedition.lcdui.Screen
Objek screen memiliki 4 jenis objek turunan yang
umum digunakan yakni TextBox, Alert, Choicegroup, dan
Form. Kelas javax.micro edition.lcdui.Screen merupakan
kelas abstrak dengan dua karakteristik yaitu objek screen
bisa memiliki tittle dan ticker.
2.2.4.2.2.Ticker
Ticker merupakan teks yang berjalan pada bagian
atas layar aplikasi MIDlet. Sebuah ticker dapat ditempatkan
pada objek-objek turunan kelas Screen.
Fungsi-fungsi yang penting dalam kelas Ticker
adalah:
1. Konstruktor yang dipakai untuk menginisialisasi objek
Ticker
Public Ticker(String str){
Synchonized(Display.LCDUILock){
setupText(str);
}
}
2. Parameter str merupakan teks yang akan ditampilkan
Ticker p= new Ticker(“Your Text”)
3. Public void setString(String str);
untuk menetapkan teks yang akan ditampilkan sebagai
ticker
4. Public String getString();
menghasilkan teks yang akan ditampilkan oleh objek
Ticker yang sedang aktif pada objek screen.
2.2.4.2.3.TextBox
Kelas textbox merupakan kelas turunan dari kelas
abstrak javax.microedition.ldcui.Screen. TextBox
menyediakan media untuk menerima masukkan teks dari
keypad pengguna handheld.
Konstruktor dari kelas TextBox ini adalah:
Public TextBox(String tittle, String text, int maxSize, int
constraints)
Parameter-parameternya:
1. String tittle : untuk memberikan title pada Screen
2. String text : untuk memberikan nilai awal pada TextBox
3. Int maxSize : untuk memberikan batasan maksimal
jumah karakter yang bisa diterima oleh terima oleh
TextBox.
4. Int constraint : nilai-nilai yang bisa digunakan dalam
parameter ini adalah:
Textfield.ANY : bisa memasukkan
sembarang karakter teks
Textfield.EMAILADDR :bisa memasukkan alamat
Textfield.NUMERIC :bisa memasukkan
teks berupa angka saja
Textfield.PHONENUMBER :bisa memasukkan
teks berupa nomor telepon
Textfield.URL :bisa memasukkan teks berupa
alamat web atau URL lain.
Textfield.PASSWORD :bisa memasukkan password
dengan karakter tertentu (‘*’)
2.2.4.3 Bekerja dengan Form
Bekerja dengan form memungkinkan untuk menampilkan
beberapa komponen GUI semacam daftar pilihan, masukkan teks
(textbox) dalam satu layar. Form diimplementasikan oleh kelas
javax.microedition.lcdui.Form. form dapat menampung komponen
komponen yang disebut item dalam satu layar. Item yang dimaksud
adalah textfield,images, date field, gauge, dan choice groups. Ada
2 konstruktor form yang digunakan :
Public Form(String title) menyediakan sebuah form
dengan judul form seperti parameter tittle yang diberikan
Public Form(String title ,item[ ] items) mendefinisikan
item-item apa saja yang akan ada di form yang dibuat.
2.2.4.3.1. Kelas Item (javax.microedition.lcdui.Item)
Komponen-komponen yang bisa diletakan dalam
sebuah form merupakan komponen yang memiliki kelas
yang merupakan kelas turunana dari kelas abstrak
javax.microedition.lcdui.Item.
2.2.4.4. Graphics
2.2.4.4.1. Teks
Setelah menetapkan warna yang sesuai dengan yang
diinginkan, maka akan ditambahkan teks pada layar dengan
fungsi drawstring() sebagai berikut:
1. public void drawString(String str,int x, int y, int anchor)
menambahkan sebuah string pada posisi x dan y,
dengan aturan posisi sesuai dengan nilai anchor. Nilai
anchor merupakan gabungan dari konstanta statik pada
kelas javax.microedition.lcdui.Graphics:
TOP : meletakkan sebuah teks rata atas
CENTER :meletakkan sebuah teks rata tengah secara
horizontal
RIGHT : meletakkan sebuah teks rata kanan
Contohnya untuk menulis teks “Hello Word”pada
koordinat (0,0) yang posisinya akan rata kiri pada posisi
atas digunakan; drawString(“Hello Word”,0,0,g.LEFT|
g.TOP);
Fungsi –fungsi yaitu getHeight() dan stringWidth()
memberikan informasi tentang tinggi font dan lebar
string.
Fungsi drawChar() bisa menuliskan sebuah karakter.
2. public void drawChar(char c, str, int x, int y, int
anchor)
menambahkan sebuah karakter pada posisi x dan y,
dengan aturan posisi sesuai nilai anchor. Nilai anchor
ini sama dengan aturan nilai anchor pada fungsi
drawString()
2.3. HTML (Hypertext Markup Language)
HTML (Hypertext Markup Language) bukan bahasa pemrograman, tetapi
merupakan bahasa representasi untuk dokumen dalam WWW (Muller, 2003).
HTML merupakan aplikasi untuk SGML sesuai dengan standar internasional ISO
8879, didalamnya telah tersedia tipe elemen yang bisa dipakai untuk representasi
(Muller, 2003). Menurut Muller (2003) dalam SGML disertakan tipe elemen yang
dapat dipakai untuk representasi. Setiap elemen berisi paling banyak tiga bagian
yaitu: tag (perintah-perintah) pembuka, isi, dan tag penutup. Contoh sederhana
penulisan tag HTML dapat dilihat sebagai berikut:
Tag-tag pada HTML merupakan cara untuk memodifikasi dokumen teks normal
yang akan ditampilkan didalam web browser. Tag HTML selalu dimunculkan
sebagai suatu kata yang ditempatkan diantara tanda kurung sudut (< >) misalnya:
<title>,<body>, dan <center>. Tag HTML ditempatkan pada awal kata dan yang
lain pada akhir kata. Untuk membedakan tag awal dan akhir, maka pada tag akhir
didahului dengan karakter slash (/), misalnya: </title>, </center>, dan </body>.
Adapun skema permintaan HTML yang dilakukan oleh web browser dapat dilihat
pada gambar 2.1:
Gambar 2.1. Skema Permintaan HTML
2.4. PHP
2.4.1. Definisi
PHP (Hypertex Preprocessor), juga merupakan kependekan dari
Profesional HomePage menurut angapan orang (Suryatmoko, 2003). PHP
pada awalnya bernama Profesional HomePage, adalah bahasa
pemrograman server- side scripting (dieksekusi pada server) yang
menyatu dengan HTML serta berguna untuk membuat sebuah web
interaktif dan dinamis (Suryatmoko, 2003). Ketika seorang pengguna
internet membuka website yang dibangun dengan server- side scripting
PHP, maka terlebih dahulu web server akan memproses semua tag PHP
didalamnya, lalu mngirimkan hasilnya dalam format HTML ke web
browser (Sunarfrihantono, 2003). Dengan demikian pengguna internet
tidak dapat melihat kode program yang ditulis dengan PHP.
Adapun Skema permintaan PHP yang dilakukan web browser
dapat dilihat pada gambar 2.2:
Gambar 2.2. Skema Permintaan PHP
2.4.2. PHP yang Terintegrasi dengan HTML
Sintaks PHP yang terintegrasi dengan HTML berupa script HTML
biasa dan diantara script HTML disisipkan script PHP yaitu dengan tag
khusus PHP (Sunarfrihantono, 2003). Adapun beberapa cara untuk
memulai penulisan script PHP dapat dilihat pada tabel 2.1:
Tabel 2.3. Gaya Penulisan Tag pada PHP
Contoh penulisan tag PHP yang terintegrasi dengan HTML dapat dilihat
sebagai berikut ini:
2.5. MySQL
MySQL adalah sebuah Database Management System (DBMS) yang dalam
pengolahan data dan pengaksesan database server menggunakan perintah
Structure Query Language (SQL) (Sunarfrihantono, 2003). SQL adalah suatu
standar bahasa testruktur yang digunakan sebagai metode komunikasi antara
script pemrograman dengan database dalam operasi pengaksesan data
(Suryatmoko, 2003).
Perusahaan TcX mengaku MySQL mampu menyimpan data lebih dari 40
database, 10000 tabel, dan sekitar 7 juta baris, kemampuan kapasitas
penyimpanan hingga 100 Gigabyte data. Untuk versi 3.22 kebawah lisensinya
ketat. Sedangkan untuk versi 3.22 keatas lisensinya gratis sesuai dengan General
Public License yang di keluarkan oleh Free Software Foundation, dengan
pengecualan sebagai berikut:
A. Program komersial yang hanya dapat bekerja dengan MySQL dan
menyertakan server MySQL untuk didistribusi program.
B. Mendistribusikan MySQL tanpa menyertakan kode sumber
pemrograman dari MySQL server.
Lisensi ketat MySQL ditekankan pada distribusi server saja. Sedangkan untuk
MySQL client memperoleh lisensi gratis dan dibebaskan untuk mengubah ataupun
menggunakan kode sumber ke program lain, meskipun bersifat komersial.
2.6. Use Case Diagram
Use Case diagram merupakan sebuah diagram yang mengambarkan
interaksi antara sistem dan eksternal sistem dan user. Simbol-simbol dalam use
case diagram yaitu :
Use Case
“A use case is a behaviorally related sequence of steps(a scenario)
both automated and manual, for the purpose of completing a single
business task”(Whitten,2001).Use case merupakan bagian dari seluruh
fungsi sistem.
Gambar 2.3.Simbol Use Case(diambil dari Whitten,2001)
Actor
“An actor represent anything that needs to interact whit the sistem
to exchange information”(Whitten,2001)
Gambar 2.4. Simbol Actor(diambil dari Whitten,2001)
Use Case
Actor
Use case association relationship
Association adalah relasi antara actor dan sebuah use case, dimana
terjadi interaksi antar mereka.
Gambar 2.5. Simbol Use case association relationship
2.7. ER-Diagram (Entity-Relationship Diagram)
“Data modeling is a technique for organizing and documenting a system’s
data ”(Whitten,2001). Model aktual yang sering digunakan untuk mengambarkan
data modeling adalah entity relationship diagram(ER-Diagram).Simbol yang ada
dalam ER-Diagram :
2.7.1. Entity
“An entity is something about which the business needs to store
data” (Whitten,2001).
Gambar 2.6. Simbol Entity(diambil dari Whitten,2001)
Use Case
Actor
Nama Entity
2.7.2. Relationship
“A relationship is a natural businees assosiation that exist beetween
one or more entities”(Whitten,2001).
“Cardinality defines the minimum and maximum number of
occurrences of one entity that may be related to a single occurrence of the
other entity. Because all relationship are bi-directional, cardinal must be
define in both directions for every relationship ”(Whitten,2001).
Gambar 2.7.Simbol Relations (diambil dari whitten ,2001)
Cardinal
Interpretation
Minimum
Instance
Maximum
Instance Graphic Notation
Exactly one (one
and only one) 1 1
Zero or one 0 1
One or more 1 many (>1)
Nama Entity Nama Entity Nama Relasi
Zero,one or more 0 many (>1)
More than one >1 >1
Gambar 2.8. Cardinality Notations (diambil dari Whitten,2001)
2.8 Data Flow Diagram(DFD)
Data flow diagram (DFD) digunakan untuk mengambarkan suatu sistem
yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
lingkugan fisik dimana data tersebut akan disimpan. Beberapa simbol yang biasa
digunakan dalam membuat DFD adalah :
1. Proses (Proses)
Proses adalah kerja yang dilakukan oleh sistem dalam merespon data
flow yang datang atau suatu kondisi.
Gambar 2.9 Simbol Proses (diambil dari Whitten, 2001)
Nama Proses
2. Kesatuan Luar (External Agent)
Kesatuan Luar adalah orang, unit organisasi, sistem, atau organisasi
luar yang berinteraksi dengan sistem.
Gambar 2.10 Simbol External Agent (diambil dari Whitten, 2001)
3. Arus Data (Data Flow)
Arus data merupakan data sebagai masukan ke proses atau keluaran
dari sebuah proses. Arus data juga merupakan data yang bergerak dan
digunakan untuk mewakili creation, reading, deleting, atau updating
dari data dalam file atau database(disebut penyimpanan data).
Gambar 2.11 Simbol Data Flow (diambil dari Whitten, 2001)
4. Penyimpanan Data (Data Store)
Data Store merupakan penyimpanan data untuk penggunaan
selanjutnya.
Gambar 2.12 Simbol Data Store (diambil dari Whitten, 2001)
External Agent
Nama Arus Data
Data Store
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisa Sistem
3.1.1 Gambaran Umum Sistem
Sistem yang dibangun dengan menggunakan aplikasi J2ME ini digunakan
untuk menyediakan informasi tentang tembakau dan pemesanannya, sistem ini
juga membutuhkan administrator untuk melakukan pengolahan data tembakau
yang terletak di database server.
Jadi gambaran umum sistem adalah sebagai berikut: user yang mengakses
sistem ini dapat melakukan hal-hal seperti pencarian kode pelanggan dan kode
tembakau yang selanjutnya digunakan untuk input pemesanan. Adapun pencarian
kode pelanggan dilakukan dengan menginputkan email pelanggan/ user.
Sedangakan untuk pencarian tembakau yang akan dipesan dibutuhkan tiga
inputan yaitu, nama tembakau, tahun pembuatan dan klasifikasi mutu/type.
Setelah parameter pencarian diisikan, maka parameter tersebut akan dikirim ke
database server untuk dilakukan pencarian data. Hasil pencarian data tadi
kemudian dikembalikan ke user untuk ditampilkan. Proses pemesanan oleh
pelanggan dilakukan, dengan cara memasukkan kode pelanggan, kode tembakau
dan jumlah tembakau yang diinginkan, kemudian data pemesan dan data
pemesanan dikirim ke database server untuk disimpan dan database server akan
kembali memberi balasan tentang status pemesanan tembakau.
3.1.2 Batasan Sistem
Batasan yang terdapat pada sistem ini adalah:
1. Sistem ini dibuat untuk menampilkan informasi tentang tembakau
garangan. Dimana informasi dapat dicari berdasarkan nama tembakau,
tahun pembuatan dan klasifikasi mutu/type saja.
2. Informasi hasil pemesanan yang diberikan kepada user yaitu: no_pesan,
tanggal, kode tembakau, nama tembakau, asal tembakau, tahun
pembuatan, klasifikasi mutu/type, harga tembakau, dan jumlah.
3.1.3 Analisis Kebutuhan pada Sistem
Analisis kebutuhan pada sistem ini dapat ditinjau dari dua sisi yaitu:
1. Sisi User
Untuk dapat membantu user dalam menggunakan aplikasi J2ME yang
dibuat, maka sistem harus dilengkapi dengan berbagai fasilitas yang dapat
membantu user, adapun fasilitas yang disediakan adalah sebagai berikut:
a. login
untuk memasukkan kode dan password user agar dapat dicek oleh
sistem
b. input data pencarian
fasilitas ini digunakan untuk memasukkan parameter pencarian
data, parameter pencarian data dapat dilakukan berdasarkan nama
tembakau, tahun pembuatan dan klasifikasi mutu/ type.
c. tampilan hasil pencarian
fasilitas ini digunakan untuk menampilkan hasil pencarian data di
database server, yang meliputi: nama tembakau, asal tembakau,
tahun pembuatan, klasifikasi mutu, harga tembakau.
d. input data pemesanan
input data pemesanan dilakukan user dengan cara memasukkan
kode pelanggan, kode tembakau yang akan dipesan, dan
menginputkan jumlah yang dipesan.
e. tampilan informasi status pemesanan
2. Sisi Administrator
Untuk web maintenance administrator, fasilitas yang disediakan yaitu:
a. login
untuk memasukkan kode dan password administrator agar dapat
dicek oleh sistem
b. update data tembakau
untuk meng-update data tembakau yang berupa tambah, ubah dan
hapus data tembakau.
Gambar 3.1 Use Case Diagram
3.1.4 Logical Design
Tahapan ini digunakan untuk menterjemahkan kebutuhan bisnis pemakai
ke dalam sistem model yang hanya memperhatikan kebutuhan bisnis dan tidak
pada design technical atau implementasi dari kebutuhan tersebut.
Tahap ini meliputi dua langkah yaitu:
1. Data modeling memodelkan tabel-tabel yang digunakan untuk menyimpan
data-data dalam database. Entity-Relationship diagram (ER-diagram)
dapat digunakan pada data modeling ini.
2. Process Modeling memodelkan proses-proses yang terjadi dalam suatu
sistem. Data Flow Diagram dapat digunakan pada process modeling ini.
LOGIN
<<depend on>><<depend on>>
ADMIN USER
Menambah data tembakau
Mengedit data tembakau
Menghapus data tembakau
Menghapus data pelanggan
Logout
Mendownload file.jar
Mencari data tembakau
Melakukan pemesanan
Logout
3.1.4.1 Pemodelan Proses (Data Flow Diagram)
Data Flow Diagram digunakan untuk menggambarkan suatu sistem yang
telah ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik di mana data tersebut mengalir atau
lingkungan fisik dimana data tersebut akan disimpan. DFD merupakan alat yang
digunakan pada metologi pengembangan sistem yang terstruktur.
Identifikasi dari External entity dan semua input dan output yang terlibat
di dalam sistem ini adalah:
External entity input Output
Parameter pencarian data:
nama tembakau, tahun
pembuatan atau klasifikasi
mutu/type
Hasil pencarian data: kode
tembakau, nama tembakau,
asal tembakau, tahun
pembuatan, klasifikasi mutu
/type
User
Nama user dan password,
Input pemesanan berupa
data-data pemesanan yaitu
kode tembakau dan jumlah.
Informasi tentang status
pemesanan
Administrator Nama admin dan password
update data tembakau
Gambar 3.2. input dan output pengguna sistem
3.1.4.1.1 Context Diagram
Gambar 3.3. Context Diagram
3.1.4.1.2 Diagram Berjenjang
Gambar 3.4.Diagram Berjenjang
2.3p
Mengubah data
2.2p
Menghapus data
2.1p
Menambah data
3
Proses User
4p
logout
2
Proses Admin
1p
login
0
Aplikasi Pemesanan tembakau “garangan” menggunakan J2ME
3.3p
Menampilkan data yang
telah dipesan
3.2p
Memilih pesanan
3.1p
Menampilkan data
tembakau
User Nama admin, password, update data-data. Administrator
Hasil pencarian: nama, tahun, tipe tembakau/
Informasi data tembakau yang telah dipesan: kode pesan, nama asal, tahun, tipe harga dan jumlah tembakau yang dipesan .
inputan pencarian: nama, tahun, tipe tembakau/
Input pemesanan: kode_tembakau dan jumlah pesanan
0
Aplikasi Penjualan Tembakau “Garangan” dengan menggunakan
J2ME
Pemesanan
3.1.4.1.3 Overview Diagram
3.1.4.1.3.1 Overview Diagram level 0
Gambar 3.5. Overview Diagram
3.1.4.1.3.2 DFD level 1 untuk proses 2
Gambar 3.6. DFD level 1 untuk proses 1
3.1.4.1.3.3 DFD level 1 untuk proses 3
3.2p
Memilihpesanan
3.3pmenampilkan
data yang telahdipesan
3.1pMenampilkan
datatembakau
User
Detail data temb
Detail data temb
user
tembDetail data temb
Detail data tembDetail temb yang
akan dipilih
Data yang telah dipesan
Detail data user
Detail data temb
pemesanan
Pemesanan_detail
Detail temb yangakan dipilih
Detail temb yangakan dipilih
Detail temb yangakan dipilih
nama_temb,tipe_temb,tahun_temb
kode_temb, jumlah
Gambar 3.7. DFD level 1 untuk proses 2
3.1.4.2 Pemodelan Data
Gambar 3.8. Entity Relational Diagram
N 1
N
N
3.2 Perancangan Sistem
3.2.1 Perancangan Basis Data
Gambar 3.9. Relasi tabel
1NF (First normalisasi form )
Untuk semua entity setiap atributnya hanya memiliki satu nilai sehingga
untuk uji normalisasi pertama lolos.
2NF (Second normalisasi form )
Propinsi * kd_propinsi nm_propinsi ongkos_kirim
User * uid_plg nama kelamin alamat kota ** kd_propinsi kdpost email telp_rumah telp_hp status pesan userID passID
Admin *nama_admin password
Kantong * id_kantong kode_temb jumlah tanggal jam uid_plg
Temb *kode_temb nama_temb tipe_temb asal_temb tahun_temb harga stock
Pemesanan * no_pesan ** uid_plg tanggal status_bayar
Pemesanan detail * id_dpesan ** no_pesan ** kode_temb jumlah
Buku tamu * id_btamu nama Email komentar tanggal
Untuk semua entity, semua atribut primari key-nya tergantung pada full
primary key-nya, sehingga uji normalisasi ke dua lolos
3NF (Third normalisasi form )
Untuk semua entity, atribut non primary key-nya tidak tergantung pada
non primary key yang lain sehingga uji normalisasi ketiga lolos
Struktur tabel dalam database sistem ini adalah:
1. Tabel Data User
Tabel 3.1 Struktur Tabel Data Tembakau
no Nama Field Tipe Data Lebar Keterangan
1. uid_plg char 6 PRIMARY KEY
2. nama varchar 50
3. kelamin enum ('P','W')
4. alamat varchar 200
5. kota varchar 100
6. kd_propinsi char 4
7. kdpost int 5
8. email varchar 40
9. telp_rumah varchar 15
10. telp_hp varchar 15
11. status_pesan enum ('FREE','ORDER')
12. userID varchar 35
13. passID varchar 35
2. Tabel Data Tembakau
no Nama Field Tipe Data Lebar Keterangan
1. kode_temb varchar 5 PRIMARY KEY
2. nama_temb varchar 20
3. tipe_ temb varchar 1
4. asal_ temb varchar 30
5. tahun_temb year 4
6. harga int 15
7. stock int 3
Tabel 3.2 Struktur Tabel Data Tembakau
3. Tabel Propinsi
no Nama Field Tipe Data Lebar Keterangan
1. kd_propinsi char 4
2. nm_propinsi varchar 60
3. ongkos_kirim int 12
Tabel 3.3 Struktur Tabel Propinsi
4. Tabel Pemesanan
no Nama Field Tipe Data Lebar Keterangan
1. no_pesan char 8
2 uid_plg char 4
3. tanggal date
4. status_bayar enum ('PESAN','LUNAS')
Tabel 3.4 Struktur Tabel Pemesanan
5. Tabel Detail Pemesanan
no Nama Field Tipe Data Lebar Keterangan
1. id_dpesan int 4
2. no_pesan char 8
3. kode_temb varchar 5
4. jumlah int 3
Tabel 3.5 Struktur Tabel Detail Pemesanan
6. Tabel data Kantong
no Nama Field Tipe Data Lebar Keterangan
1. id_kantong int 5
2 kode_temb varchar 5
3. jumlah int 3
4. tanggal date
5. jam time
6. uid_plg varchar 6
Tabel 3.6 Struktur Tabel Data Administrator
7. Tabel Data Administrator
no Nama Field Tipe Data Lebar Keterangan
1. nama_admin varchar 30
2 password varchar 30
Tabel 3.7 Struktur Tabel Data Administrator
3.2.2 Perancangan Teknologi
3.2.2.1 Hardware
Spesifikasi minimum Hardware untuk server :
a. PC dengan processor Pentium IV
b. Hardisk 20 Gb
c. Memory 256 MB DDR
3.2.2.2 Software
Spesifikasi Software untuk server :
a. OS(Windows 9x/NT/XP)
b. Web browser : Internet Explorer 6
c. XAMPPwin32-1.5.4-installer
d. Macormedia Dreamweaver MX 2004
e. Netbeans-5_5_1-windows-ml_ja_zh_CN_pt_BR
Spesifikasi Software untuk client pada komputer :
a. Sun_java_wireless_toolkit-2_5-windows
3.2.3 Perancangan User Inteface
Perancangan interface ini dimaksudkan sebagai rancangan tampilan-
tampilan yang digunakan dalam aplikasi J2ME sehingga user yang menggunakan
aplikasi ini dapat berinteraksi dan berkomunikasi. Perancangan ini meliputi
perancangan untuk user dan perancangan untuk administrator.
Perancangan user dibuat sesederhana mungkin sehingga user dapat dengan
mudah mengerti langkah demi langkah dalam aplikasi ini. Perancangan untuk
administrator dibuat dengan aplikasi pada komputer yang memudahkan
administrator untuk menampilkan dan mengupdate data yang berhubungan
dengan sistem
3.2.3.1. Perancangan interface untuk user
3.2.3.1.1 Tampilan program J2ME untuk user
Aplikasi J2ME pada handphone akan dimulai dari tampilan awal
yang terlihat pada gambar 3.10 kemudian apabila tombol Ok di pilih
maka akan muncul menu utama yang ditunjukan pada gambar 3.11
Gambar 3.10 Tampilan awal
APLIKASI PENJUALAN TEMBAKAU GARANGAN
MENGGUNAKAN J2ME
GAMBAR
EXIT OK
MENU UTAMA
PEMESANAN INFO TENTANG PROGRAM BACK
Gambar 3.11 Tampilan Menu
Utama
Gambar 3.14 Tampilan Login user
Gambar 3.15 Tampilan jika
gagal login
Kemudian apabila user memilih list menu info maka yang akan
muncul adalah tampilan info seperti gambar3.12 dan apabila user memilih
list menu tentang program maka yang muncul adalah keterangan tentang
program seperti gambar 3.13
Jika user ingin melakukan pemesanan maka akan memilih list
menu pemesanan pada menu utama. Dan yang akan ditampilkan adalah
form login seperti pada Gambar 3.14. Pada form login ini user diminta
untuk memasukan username dan password. Selanjutnya jika user berhasil
untuk login maka akan muncul menu pemesanan seperti gambar
3.16.Namun jika user gagal untuk login maka akan muncul tampilkan
seperti gambar 3.15.
TENTANG PROGRAM
Xxxxxxxxxxxxxxxx Xxxxxxxxxx Xxxxxxxxx Xxxxxxxxxxxxx Xxxxxxxxx Xxxxxxxxxxx Xxxxxxxx BACK
INFORMASI
Xxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxx BACK
Gambar3.12 Tampilan Info
Gambar3.13 Tampilan Tentang
Program
LOGIN
Masukkan username Masukkan password
xxxxxx
BACK
xxxxxxxxx
LOGIN
LOGIN GAGAL!!!!!! EXIT
Gambar 3.16 Tampilan Menu
utama Pemesanan
Pada menu utama pemesanan jika user memilih cari tembakau
maka akan muncul tampilan seperti gambar 3.17. Dan diharuskan
memasukkan tiga buah inputan. Jika data tidak ditemukan maka akan
tertampil pesan seperti gambar 3.18. jika hasil pencarian ditemukan maka
semua data tembakau akan ditampilkan seperti pada gambar 3.19.
MENU UTAMA PEMESANAN
Cari Tembakau Pesan Tembakau EXIT
PENCARIAN TEMBAKAU
Masukkan Nama Tembakau Masukkan Tipe tembakau Masukkan tahun tembakau
[////informasi\\\\\\]
xxxx
BACK OK
xxxxx
eeee
HASIL PENCARIAN
Kode_temb : XXXXXXX Nama_temb: XXXXXXXXXX Tipe_temb :X Tahun_temb: XXXX Asal_temb : XXXXXXXXXX Harga_temb :XXXXX Stock_temb : XXXXXXXX
BACK
HASIL PENCARIAN
Data tembakau tidak ditemukan
BACK
Gambar3.18 Tampilan Hasil
Pencarian
Gambar 3.19 Tampilan Hasil
Pencarian
Gambar 3.17 Tampilan
Pencarian Tembakau
Pada menu utama pemesanan jika user memilih pesan tembakau
maka akan tampil menu pemesanan seperti pada gambar 3.20. Pada menu
pemesanan user diharuskan mengisi dua buah inputan, dan jika sudah diisi
dengan benar maka akan tertampil pesan pemesanan seperti gambar3.21
3.2.3.1.2 Tampilan web untuk user
Pada gambar 3.23. pada tampilan web untuk user terdapat
beberapa link antara lain: kontak yang berisi informasi tentang kontak,
tembakau yang merupakan pencarian data tembakau yang akan dipesan,
profil yang berisi informasi tentang penyedia tembakau, download J2ME
yang digunakan untuk mendownload aplikasi penjualan tembakau dengan
J2ME.
MENU PEMESANAN
Masukkan Kode Tembakau Masukkan Jumlah pesanan
XXXXX
BACK OK
XXXXX
PESAN PEMESANAN
BACK
Gambar 3.21 Tampilan Pesan
Pemesanan
Gambar3.20 Tampilan Menu
Pemesanan
- Kontak -Tembakau User password login -pendaftaran baru
TARGET
Menu utama
Tanggal Profil download J2me bantuan
Pelanggan
[Status: XXX][ user:XXX]
3.3.2 Tampilan web untuk Administrator
Berikut ini merupakan tampilan web untuk administrator pada saat
akan menggolah data untuk aplikasi J2ME ini.
• Tampilan login administrator
Tampilan login untuk administrator merupakan tampilan pertama
yang akan di jumpai sebelum administrator menggolah data.
Gambar 3.23
• Tampilan tambah data tembakau
Tampilan ini berisi form yang akan diisi oleh administrator jika
akan menambahkan data tembakau.
Gambar 3.24
• Tampilan untuk melihat daftar tembakau
MASSUKAN DATA TEMBAKAU KODE TEMBAKAU NAMA TEMBAKAU TIPE TEMBAKAU ASAL TEMBAKAU TAHUN TEMBAKAU HARGA TEMBKAU STOCK TEMBAKAU
VV
SIMPAN
Username: Password :
login untuk administrator
RESET SUBMIT
Tampilan ini berisi informasi tentang data tembakau yang ada
disertai juga fungsi operasi yang berupa ubah dan hapus data
tembakau.
Daftar Tembakau
Kode Nama Tipe Asal Tahun Harga Stock Operasi
vvvvv vvv v vvv vvvv vvvvvvv vv Ubah||hapus
vvvv vvv v vvvvv vvvv vvvvvv vv Ubah||hapus
Gambar 3.25
• Tampilan untuk merubah data tembakau
Tampilan ini digunakan administrator untuk mengubah data
tembakau.
Gambar 3.26
• Tampilan tambah data propinsi
Tampilan ini berisi form yang akan diisi oleh administrator jika
akan menambahkan data tentang propinsi.
UBAH DATA TEMBAKAU KODE TEMBAKAU NAMA TEMBAKAU TIPE TEMBAKAU ASAL TEMBAKAU TAHUN TEMBAKAU HARGA TEMBKAU STOCK TEMBAKAU
VV
UBAH
Gambar 3.27
• Tampilan untuk melihat daftar data propinsi
Tampilan ini berisi informasi tentang data propinsi yang ada
disertai juga fungsi operasi yang berupa ubah dan hapus.
DAFTAR DATA PROPINSI Kode Nama Propinsi Ongkos Operasi XXX XXXXXX XXX Ubah||hapus XXX XXXXX XXXX Ubah||hapus
Gambar 3.28
• Tampilan untuk merubah data propinsi
Tampilan ini digunakan administrator untuk mengubah data
propinsi
Gambar 3.29
• Tampilan untuk melihat daftar data pelanggan
Tampilan ini berisi informasi tentang data pelanggan yang ada
disertai juga fungsi operasi yang berupa detail dan hapus.
MASSUKAN DATA PROPINSI Kode Propinsi Nama Propinsi Ongkos kirim
UBAH DATA PROPINSI Kode Propinsi Nama Propinsi Ongkos kirim
SIMPAN
UBAH
DAFTAR PELANGGAN No Kode Nama Lengkap Asal Operasi xx XXX XXXXXX XXX Detail || Hapus xx XXX XXXXX XXXX Detail || Hapus
Gambar 3.30
BAB IV
IMPLEMENTASI SISTEM
Tahap implementasi merupakan tahap perubahan dari perancangan sistem
ke coding program.
4.1. Spesifikasi perangkat keras dan lunak yang digunakan.
4.1.1.Perangkat keras yang digunakan untuk mengimplementasikan
aplikasi ini adalah:
• PC dengan processor intel pentium IV
• Hardisk seagate 40 GB
• Memory 1 GB DDR
4.1.2.Perangkat lunak yang digunakan untuk mengimplementasikan
aplikasi ini adalah:
• Jdk-6-rc-windows-i586
• Sun_java_wireless_toolkit-2_5-windows
• XAMPP-win32-1.5.4-installer
4.2. Pembuatan Database
Database untuk aplikasi ini menggunakan MySql 5 yang merupakan salah
satu paket instalasi yang disediakan oleh XAMPP, dan tool yang digunakan untuk
membuat database adalah phpMyAdmin.
Gambar 4.1 Tampilan phpMyAdmin
Berikut merupakan sintaks SQL yang digunakan dalam pembuatan tabel-tabel
untuk aplikasi penjualan tembakau garangan menggunakan J2ME:
1. tabel admin yang berfungsi untuk menyimpan data login.
CREATE TABLE `admin` ( `nama_admin` varchar(30) NOT NULL, `password` varchar(30) NOT NULL, PRIMARY KEY (`nama_admin`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `admin` ( `nama_admin` varchar(30) NOT NULL, `password` varchar(30) NOT NULL, PRIMARY KEY (`nama_admin`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
2. tabel user yang berfungsi untuk menyimpan data pelanggan.
3. tabel temb yang berfungsi untuk menyimpan data tembakau.
4. tabel pemesanan yang berfungsi untuk menyimpan data pemesanan.
CREATE TABLE `user` ( `uid_plg` char(6) NOT NULL, `nama` varchar(50) NOT NULL default '', `kelamin` enum('P','W') NOT NULL default 'P', `alamat` varchar(200) NOT NULL, `kota` varchar(100) NOT NULL, `kd_propinsi` char(4) NOT NULL, `kdpost` int(5) NOT NULL default '0', `email` varchar(40) NOT NULL default '', `telp_rumah` varchar(15) NOT NULL default '', `telp_hp` varchar(15) NOT NULL default '', `status_pesan` enum('FREE','ORDER') default 'FREE', `userID` varchar(35) NOT NULL, `passID` varchar(35) NOT NULL, PRIMARY KEY (`uid_plg`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `temb` ( `kode_temb` varchar(5) NOT NULL, `nama_temb` varchar(20) NOT NULL, `tipe_temb` varchar(1) NOT NULL, `asal_temb` varchar(30) NOT NULL, `tahun_temb` year(4) NOT NULL, `harga` int(15) NOT NULL, `stock` int(3) NOT NULL, PRIMARY KEY (`kode_temb`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `pemesanan` ( `no_pesan` char(8) NOT NULL, `uid_plg` char(6) NOT NULL, `tanggal` date NOT NULL default '0000-00-00', `jam` time NOT NULL default '00:00:00', `status_bayar` enum('PESAN','LUNAS') NOT NULL default 'PESAN', ` PRIMARY KEY (`no_pesan`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
5. tabel pemesanan_detail yang berfungsi menyimpan data detail pemesanan.
6. tabel propinsi yang berfungsi untuk menyimpan data propinsi.
7. tabel kantong yang berfungsi menyimpan data dalam kantong belanja.
8. tabel bukutamu yang berfungsi untuk menyimpan data pengunjung.
CREATE TABLE `pemesanan_detail` ( `id_dpesan` int(4) NOT NULL auto_increment, `no_pesan` char(8) NOT NULL, `kode_temb` varchar(5) NOT NULL, `jumlah` int(3) NOT NULL default '1', PRIMARY KEY (`id_dpesan`), KEY `FK_no_pesan` (`no_pesan`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `kantong` ( `id_kantong` int(5) NOT NULL auto_increment, `kode_temb` varchar(5) NOT NULL, `jumlah` int(3) NOT NULL default '0', `tanggal` date NOT NULL default '0000-00-00', `jam` time NOT NULL default '00:00:00', `uid_plg` varchar(6) NOT NULL, PRIMARY KEY (`id_kantong`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE `propinsi` ( `kd_propinsi` char(4) NOT NULL, `nm_propinsi` varchar(60) NOT NULL, `ongkos_kirim` int(12) NOT NULL default '0', PRIMARY KEY (`kd_propinsi`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `bukutamu` ( `id_btamu` int(3) NOT NULL auto_increment, `nama` varchar(35) NOT NULL default '', `email` varchar(60) NOT NULL default '', `komentar` varchar(200) NOT NULL default '', `tanggal` date NOT NULL default '0000-00-00', PRIMARY KEY (`id_btamu`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
4.3. Implementasi halaman User /Pelanggan
4.3.1 Tampilan awal web pelanggan
Pada saat user membuka web user maka akan terlihat tampilan
untuk user seperti pada gambar 4.2 yang menampilkan menu profil,
kontak kami, buku tamu, bantuan, sedangkan untuk login pelanggan
digunakan untuk user yang akan melakukan pemesanan lewat web.
Gambar 4.2 Tampilan halaman web user
4.3.2 Tampilan Menu Pendaftaran Baru
Pendaftaran baru digunakan untuk membuat account bagi
pengunjung yang akan melakukan transaksi pemesanan tembakau
garangan. Gambaran untuk halaman pendaftaran baru seperti terlihat pada
gambar 4.3.
Gambar 4.3 Tampilan halaman pendaftaran baru
Berikut script untuk pemilihan propinsi menggunakan menu, yang
ada pada form pendaftaran baru.
<?php $sql = "SELECT * FROM propinsi ORDER BY kd_propinsi"; $qry = @mysql_query($sql, $koneksi) or die ("Gagal query"); while ($data =mysql_fetch_array($qry)) { if ($data[kd_propinsi]==$DataPropinsi) { $cek="selected"; } else { $cek=""; } echo "<option value='$data[kd_propinsi]' $cek>$data[nm_propinsi]</option>"; } ?>
Pada gambar 4.4 merupakan tampilan pesan kesalahan yang akan
muncul jika user salah memasukkan inputan pendaftaran baru.
Gambar 4.4 Tampilan kesalahan pada pendaftar baru
Berikut script dan penjelasan tentang tampilan pesan kesalahan pada
pendaftaran baru.
Sedangkan jika user telah berhasil memasukkan data inputan
dengan benar maka akan tertampil tampilan seperti gambar 4.5.
if (trim($_POST['TxtNama']) =="") { $pesan[] = "Data Nama masih kosong";} if (trim($_POST['TxtPost']) =="" OR ! is_numeric(trim($_POST['TxtPost']))) { $pesan[] = "Data Kode Post masih kosong, harus angka"; $_POST['TxtPost'] = "";}
-PENJELASAN- Script diatas digunakan untuk memvalidasi obyek masukkan nama pelanggan dan kode post yang harus angka, apabila data kosong atau pada kode post bukan angka, maka program akan menambahkan pesan kesalahan ke dalam variabel array bernama $pesan[]. …………………………………………………………………………… echo " <b> Kesalahan Input : </b><br>"; foreach ($pesan as $indeks=>$pesan_tampil) { $urut_pesan++; echo "<font color='#FF0000' align='left'>"; echo " "; echo "$urut_pesan . $pesan_tampil <br>"; echo "</font>";
-PENJELASAN- Script diatas digunakan untuk menampilkan semua pesan yang ada di dalam array $pesan, jika ada beberapa pesan didalamnya maka program akan menampilkan semua pesannya
Gambar 4.5 Tampilan jika inputan telah benar
Berikut script dan penjelasan untuk menampilkan data pelanggan jika
semua inputan telah benar.
else { $kode= kdauto("user","UID"); $sql = "INSERT INTO user SET uid_plg='$kode', nama='".$_POST['TxtNama']."', ..... kdpost='".$_POST['TxtPost']."', ..... passID=PASSWORD('".$_POST['TxtPassId']."')"; $query = mysql_query($sql, $koneksi)or die ("Gagal query user".mysql_error());
-PENJELASAN- Script diatas digunakan untuk menyimpan semua data dari form masukkan ke dalam tabel user. Kode pelanggan dibuat otomatis dengan menggunakan UID diawal nomor urut.
$sql = "SELECT user.*, propinsi.nm_propinsi FROM user, propinsi WHERE propinsi.kd_propinsi=user.kd_propinsi AND user.uid_plg='$kode'"; $qry = mysql_query($sql, $koneksi) or die ("Gagal query user".mysql_error()); $data = mysql_fetch_array($qry);
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil data dari tabel user, data yang diambil berdasarkan user ID pelanggan yang didapat secara otomatis saat pendaftaran sukses disimpan.
4.3.3 Tampilan Menu Tembakau Tampil
Menu tembakau tampil digunakan untuk melihat data tembakau
yang tersedia seperti terlihat pada gambar 4,6. jika ingin melihat detail dari
salah satu tembakau maka pelanggan dapat menekan pada kode tembakau
yang diinginkan, dan akan tertampil gambaran seperti gambar 4.7.
Gambar 4.6 Tampilan dari menu tembakau tampil
Berikut script dan penjelasan tentang tampilan tembakau yang ada pada
halaman tembakau tampil.
$sql = "SELECT * FROM temb ORDER BY kode_temb"; $qry = mysql_query($sql, $koneksi) or die ("Gagal query"); while ($data = mysql_fetch_array($qry)) { ………….. href='?page=temb_det&kode=$data[kode_temb]'>$data[kode_temb]</a>"; ?></td> <td align="center"><? echo $data['nama_temb']; ?></td> <td align="center"><? echo $data['tipe_temb']; ?></td> <td align="center"><? echo $data['tahun_temb']; ?> </td>
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil data dari tabel temb. Dan kode_temb mempunyai link untuk temb_det(melihat detail tembakau)
Gambar 4.7 Tampilan detail dari tembakau tampil
Berikut script dan penjelasan tentang tampilan detail tembakau setelah
pelanggan/user menekan kode tembakau, pada halaman tembakau tampil.
$sql = "SELECT * FROM temb where kode_temb='".$_GET['kode']."'"; $qry = mysql_query($sql, $koneksi) or die ("Gagal queryffff"); while ($data = mysql_fetch_array($qry))
-PENJELASAN- Script diatas merupakan perintah SQL untuk menampilkan keseluruhan data dari tabel temb, dimana kode tembakau yang digunakan sebagai parameternya. …………………………………………………………………………………………… <form action="?page=belipilih" method="post" name="form1" target="_self"> <input name="harga" type="hidden" value="<? echo $data['harga']; ?>"> <input name="pilih" type="hidden" value="<? echo $data['kode_temb']; ?>"> <input name="TbImgBeli" type="image" src="Image/beli.gif" width="63" height="19" border="0"> </form>
-PENJELASAN- Script diatas digunakan untuk membuat formulir pada setiap data tembakau detail ditampilkan. Fungsi dari form tersebut adalah untuk menyimpan data kode ke dalam obyek Hidden Field dan tombol pilih yang dibuat dari objek gambar.
Jika user yang telah login, menekan pada tombol beli seperti terlihat pada
gambar 4.7 maka data tembakau tersebut akan dimasukkan pada keranjang
belanja. Yang merupakan tempat penampungan sementara data tembakau
garangan yang akan dipesan / dibeli seperti yang tertampil pada gambar 4.9
sedangkan jika user yang melakukan pemesanan belum melakukan login maka
akan tertampil pesan seperti pada gambar4.8.
Gambar 4.8 Tampilan detail dari tembakau tampil
Gambar 4.9 Tampilan keranjang belanja
Berikut script dan penjelasan tentang tampilan keranjang belanja.
Pada gambar 4.10 merupakan tampilan konfirmasi pembayaran yang berisi
langkah yang harus dilakukan user yaitu mengubah data jika data pengiriman
tidak sesuai dan proses pembayarannya
Gambar 4.10 Tampilan konfirmasi pembayaran dan pengiriman
<?php $sql = "SELECT tembakau.*,KT.* FROM temb tembakau , kantong KT WHERE tembakau.kode_temb=KT.kode_temb AND KT.uid_plg='".$_SESSION['SES_UIDPLG']."' ORDER BY KT.id_kantong"; $qry = mysql_query($sql, $koneksi) or die ("Gagal query"); while ($data = mysql_fetch_array($qry)) { $no++; $subtot= $data['harga'] * $data['jumlah']; $total = $total + $subtot; ?>
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil semua data di dalam kantong, dan ditampilkan ke dalam halaman keranjang belanja. ………………………………………………………………………………………….. <input name="TxtJum[]" type="text" id="TxtJum[]" value="<? echo $data['jumlah']; ?>" size="2" maxlength="2">
-PENJELASAN- Script diatas digunakan untuk membuat objek text field yang berfungsi untuk menampilkan jumlah tembakau yang dipesan
Berikut script dan penjelasan tentang tampilan konfirmasi pembayaran.
.
Jika sudah yakin data benar dan menekan tombol lanjutkan maka
akan tertampil seperti gambar 4.11
Gambar 4.11 Tampilan konfirmasi transaksi
$sql_plg = "SELECT * FROM user WHERE userID='".$_SESSION['SES_USERPLG']."' AND uid_plg='".$_SESSION['SES_UIDPLG']."'"; $qry_plg = mysql_query($sql_plg, $koneksi) or die ("Gagal Ambil PLG"); $hsl_plg= mysql_fetch_array($qry_plg);
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil data pelanggan sesuai user ID dan kode pelanggan yang aktif …………………………………………………………………………………………… <input name="TxtNama" type="text" size="45" maxlength="60" value="<? echo $hsl_plg['nama']; ?>"> <input name="TxtKota" type="text" size="28" maxlength="60" value="<? echo $hsl_plg['kota']; ?>"> <textarea name="TxtAlamat" cols="46" rows="2" id="TxtAlamat"><? echo $hsl_plg['alamat']; ?></textarea>
-PENJELASAN- Script diatas digunakan untuk membuat objek form, dimana data pelanggan ditampilkan pada masing-masing objek field sebagai nilai.
Berikut script dan penjelasan tentang tampilan konfirmasi pembayaran.
Jika telah yakin semua benar maka user dapat menekan tombol
lanjutkan yang merupakan konfirmasi terakhir yang akan memasukkan
data barang pesanan dari kantong belanja ke database pemesanan, dan
menghasilkan tampilan bahwa proses transaksi sukses.
$sql = "SELECT tembakau.*,KT.* FROM temb tembakau , kantong KT WHERE tembakau.kode_temb=KT.kode_temb AND KT.uid_plg='".$_SESSION['SES_UIDPLG']."' ORDER BY KT.id_kantong"; $qry = mysql_query($sql, $koneksi) or die ("Gagal berita");
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil semua data di dalam kantong, dan ditampilkan ke dalam halaman konfirmasi teransaksi. ………………………………………………………………………………………… $sql_plg = "SELECT propinsi.ongkos_kirim FROM propinsi, user , kantong
WHERE propinsi.kd_propinsi = user.kd_propinsi AND user.uid_plg=kantong.uid_plg AND kantong.uid_plg='".$_SESSION['SES_UIDPLG']."'";
$qry_plg = mysql_query ($sql_plg, $koneksi) or die ("Gagal propinsi".mysql_error());
-PENJELASAN- Script diatas merupakan perintah SQL untuk mengambil ongkos kirim yang ditentukan dari nama propinsi tujuan pengiriman barang ............................................................................................................................................. $hsl_plg = mysql_fetch_array($qry_plg); $ongkos = $hsl_plg['ongkos_kirim']; $totbayar = $total + $ongkos;
-PENJELASAN- script diatas digunakan untuk membuat harga total yang harus dibayarkan setelah ditambah ongkos kirim.
Gambar 4.12 Tampilan jika proses transaksi telah berhasil 4.4. Implementasi Aplikasi User/ Pelangan dengan J2ME
4.4.1. Tampilan awal
Pada saat user pertama kali membuka aplikasi maka akan muncul
tampilan awal seperti gambar 4.13.
Gambar 4.13 Tampilan awal
4.4.2. Menu Utama
Menu utama adalah menu pertama yang muncul setelah tampilan
awal. Pada menu utama terdapat list yang dapat diakses, antara lain:
pemesanan, info, tentang program.
Gambar 4.14 Tampilan menu utama
4.4.3. Menu Pemesanan
Pada saat user memilih menu pemesanan maka akan muncul login
user seperti gambar 4.15 yang merupakan prosedur yang menjelaskan
bahwa user tersebut benar akan melakukan proses pemesanan, user
memasukkan username dan password, dan jika data inputan login benar
maka akan tertampil menu pemesanan yang terdiri dari cari tembakau dan
pesan tembakau.
.
Gambar 4.15 Tampilan login menu pemesanan
Berikut script dan penjelasan untuk pengecekkan login pada aplikasi J2ME
$u_username = $HTTP_GET_VARS['u']; $p_password = $HTTP_GET_VARS['p']; $u = ereg_replace("~"," ",$u_username); $p = ereg_replace("~"," ",$p_password); $sql1="select * from user where userID = '".$u."' and passID = PASSWORD('".$p."')"; $query1=mysql_query( $sql1)or die("Gagal 1 Karena : ".mysql_error()); $hasil = mysql_fetch_row($query1); $hasil_status = $hasil[4]; if(empty($u_username) & empty($p_password)){ echo "\n\nAnda belum mengisi username dan password"; }else if(empty($u_username)){ echo "\n\nAnda belum mengisi username"; }else if(empty($p_password)){ echo "\n\nAnda belum mengisi password"; } else{ $sql="select * from user where userID = '".$u."' and passID = PASSWORD('".$p."')"; $query=mysql_query( $sql)or die("Gagal 1 Karena : ".mysql_error()); $row= mysql_num_rows($query); if($row > 0){ echo "OK"; }else{ echo"\n\nLogin gagal!"; }} ?>
-PENJELASAN- Jika inputan username dan password ada spasi maka karakter spasi akan diganti ~, pengecekkan dilakukan dengan membandingkan inputan dengan data yang ada pada tabel user dimana username dibandingkan dengan userID dan password dibandingkan dengan passID. Pesan kesalahan akan tampil jika inputan belum diisi dan juga inputan tidak sesuai dengan yang ada di database. Jika data sesuai maka nilainya adalah ”OK” yang akan digunakan untuk dibandingkan pada file garangan.java sebagai langkah ke halaman berikutnya. .............. result =b.toString().trim(); if (result.equals("OK")) { getDisplay().setCurrent(get_PEMESANAN()); } else { getDisplay().setCurrent(get_hasil_login()); jika hasil adalah OK maka ”get_PEMESANAN()” yang merupakan list pemesanan yang terdiri dari cari tembakau dan pesan tembakau.
4.4.4. Menu Cari Tembakau
Menu cari tembakau merupakan menu yang mendukung menu
pesan tembakau, karena nantinya dalam inputan pesan tembakau user
harus menginputkan kode tembakau. Adapun tampilan menu cari
tembakau seperti pada gambar 4.16 dimana user harus menginputkan tiga
parameter pencarian yaitu nama tembakau, tipe tembakau, dan tahun
pembuatan tembakau, karena diasumsikan user yang akan memesan pasti
sudah mengetahui apa yang akan di pesan. Jika user belum mengisi
parameter pencarian maka akan tertampil seperti gambar 4.17 dan jika
parameter pencarian sudah benar semua maka akan tertampil output
seperti gambar 4.18
Gambar 4.16 Tampilan cari tembakau Gambar 4.17 Tampilan inputan kosong Gambar 4.18 Tampilan hasil cari tembakau
Berikut script dan penjelasan untuk menu pencarian tembakau pada
aplikasi J2ME
4.4.5. Menu Pesan Tembakau
Pada menu pesan tembakau seperti gambar 4.19 user
menginputkan tiga inputan yaitu nomor pelanggan, kode tembakau, dan
jumlah pesanan. Dimana nomor/ kode pelanggan dapat dilihat dari menu
….. $na = $HTTP_GET_VARS['na']; $tipe = $HTTP_GET_VARS['ti']; $tahun = $HTTP_GET_VARS['ta']; $nama = ereg_replace("~"," ",$na); if(empty($nama) & empty($tipe) & empty($tahun)){ echo "\n\nAnda Belum mengisi nama, tipe dan tahun tembakau"; }else if(empty($nama)){ echo "\n\nAnda Belum mengisi nama tembakau"; }else if(empty($tipe)){ echo "\n\nAnda Belum mengisi tipe tembakau"; }else if(empty($tahun)){ echo "\n\nAnda Belum mengisi tahun tembakau"; }else{ $sql="select * from temb where nama_temb='$nama' and tipe_temb='$tipe' and tahun_temb='$tahun'"; $query=mysql_query( $sql)or die("Gagal 1 Karena : ".mysql_error()); if($data = mysql_fetch_array ($query)){ do{ echo " kode tembakau adalah : $data[0] \n "; echo " Nama tembakau adalah : $data[1] \n "; echo " Tipe tembakau adalah : $data[2] \n "; echo " Asal tembakau adalah : $data[3] \n "; echo " Tahun tembakau adalah : $data[4] \n "; echo " Harga tembakau adalah : $data[5] \n "; }while ($data = mysql_fetch_array ($query)); }else{ echo"\n\ndata tembakau tidak ditemukan"; }}
-PENJELASAN- Jika inputan nama tembakau ada spasi maka karakter spasi akan diganti ~, pengecekkan dilakukan dengan membandingkan inputan dengan data yang ada pada tabel tembakau, dimana nama dibandingkan dengan nama_temb, tipe dibandingkan dengan tipe_temb dan tahun dibandingkan dengan tahun_temb. Pesan kesalahan akan tampil jika inputan belum diisi dan juga inputan tidak sesuai dengan yang ada di database. Jika inputan benar maka pada halaman hasil pencarian akan tertampil data tembkau yang dicari.
lihat kode pelanggan, dan kode tembakau dapat dilihat dari menu cari
tembakau. Dan jika user belum mengisi inputan maka akan tertampil
pesan kesalahan seperti pada gambar 4.20 sedangkan jika berhasil maka
akan tertampil pesan pemesanan sukses seperti gambar 4.21
Gambar 4.19 Tampilan pesan tembakau
Gambar 4.20 Tampilan pesan kesalahan Gambar 4.21 Pesan tembakau sukses
Berikut script dan penjelasan untuk menu pemesanan tembakau pada
aplikasi J2ME
$kode = $HTTP_GET_VARS['x']; $jumlah = $HTTP_GET_VARS['y']; $ko = ereg_replace("~"," ",$kode); $jum = ereg_replace("~"," ",$jumlah); if( empty($ko) && empty($jum)){ echo "\nAnda belum mengisi kode tembakau dan jumlah tembakau"; } else if(empty($ko)){ echo "\n\nAnda Belum mengisi kode tembakau";}
else if(empty($jum)){ echo "\n\nAnda Belum mengisi jumlah tembakau"; }else{ $kode= kdauto("pemesanan","TR-"); $sql3="SELECT * FROM user, pemesanan WHERE user.uid_plg = pemesanan.uid_plg"; $query3=mysql_query( $sql3)or die("Gagal Karena : ".mysql_error());
$kode = $HTTP_GET_VARS['x']; $jumlah = $HTTP_GET_VARS['y']; $ko = ereg_replace("~"," ",$kode); $jum = ereg_replace("~"," ",$jumlah); if( empty($ko) && empty($jum)){ echo "\nAnda belum mengisi kode tembakau dan jumlah tembakau"; } else if(empty($ko)){ echo "\n\nAnda Belum mengisi kode tembakau";}
else if(empty($jum)){ echo "\n\nAnda Belum mengisi jumlah tembakau"; }else{ $kode= kdauto("pemesanan","TR-"); $sql3="SELECT * FROM user, pemesanan WHERE user.uid_plg = pemesanan.uid_plg"; $query3=mysql_query( $sql3)or die("Gagal Karena : ".mysql_error()); if($data = mysql_fetch_array ($query3)){ $sql4="INSERT INTO pemesanan SET no_pesan='".$kode."', uid_plg='$data[14]', tanggal='".date('Y-m-d')."', jam='".date('G:i:s')."', status_bayar='PESAN'"; $query4=mysql_query( $sql4)or die("Gagal Karena : ".mysql_error()); } if ($query4) { $sql_trans1="select * from temb where kode_temb='".$ko."'"; $query1=mysql_query($sql_trans1) or die ("Gagal query transfer1".mysql_error()); if ($data = mysql_fetch_array ($query1)) { if ($data[6] >= $jum) { $sql_trans="INSERT INTO pemesanan_detail (no_pesan,kode_temb,jumlah) values('$kode','$ko','$jum')"; $query5=mysql_query($sql_trans) or die ("Gagal query transfer2".mysql_error()); echo"tembakau sudah berhasil dipesan \n"; }else{echo"stock tembakau hanya $data[6] \n";} } } }
-PENJELASAN- Pada script diatas inputan ada dua yaitu kode_tembakau dan jumlah kedua-duanya tidak boleh kosong, bila kosong maka akan muncul pesan kesalahan. Perintah SQL bertingkat diatas digunakan untuk menginputkan data tembakau dan jumlah pemesanan, ke dalam tabel pemesanan dan detail pemesanan., dimana kode pelanggan/ uid_plg akan dimasukkan ke tabel pemesanan secara otomatis karena dalam keadaan aktif.
4.5. Implementasi Aplilasi Administrator Dengan PHP
4.5.1 Login
Form yang pertama kali muncul pada aplikasi administrator ini
adalah form login. Pada form ini administrator harus memasukkan
username dan password agar bisa melakukan proses peng-update-an data
Gambar 4.22 Tampilan login
4.5.2 Menu utama
Pada tampilan menu utama ini terdapat data-data yang dapat dilihat
oleh administrator.
Data yang termasuk didalamnya adalah data-data mengenai
tembakau, pelanggan/user, propinsi, buku tamu, laporan
Gambar 4.23 Tampilan menu utama admin
Menu-menu yang terdapat di dalam gambar 4.23. adalah data
pelanggan, tambah data tembakau, ubah data tembakau, tambah data
propinsi, ubah data propinsi, logout, data buku tamu, dan laporan
transaksi.
4.5.3 Menu Data Pelanggan
Menu data pelanggan ini digunakan untuk melihat data pelanggan
dan proses untuk menghapus data pelanggan.
Gambar 4.24 Tampilan menu data pelanggan
Berikut script untuk menampilkan data pelanggan
<?php $sql = "SELECT * FROM user ORDER BY uid_plg"; $qry = mysql_query($sql, $koneksi) or die ("Gagal berita"); while ($data = mysql_fetch_array($qry)) { $no++; ?> <tr bgcolor="#FFFFFF"> <td><? echo $no; ?></td> <td><? echo $data['uid_plg']; ?></td> <td><? echo $data['nama']; ?></td> <td><? echo $data['alamat']; ?></td> <td align="center"> <a href="user_detail.php?idplg=<? echo $data['uid_plg']; ?>">Detail</a> | <a href="user_hapus.php?idplg=<? echo $data['uid_plg']; ?>">Hapus</a> </td> </tr> <?php } ?>
4.5.4 Menu Tambah Data Tembakau
Data–data yang akan ditambahkan pada proses menambah data
tembakau ini adalah kode, nama, tipe, asal, tahun, harga, dan stock
tembakau.
Gambar 4.25 Tampilan tambah data tembakau
Berikut script untuk menyimpan data tembakau.
Pesan kesalahan muncul apabila ada data yang belum diisikan.
Setelah data terisi dengan benar dan menekan simpan maka akan tampil
keseluruhan data tembakau.
$TxtKdH = $_POST['TxtKdH']; $txtnama_temb = $_POST['txtnama_temb']; $txttipe_temb = $_POST['txttipe_temb']; …. if (trim($txtasal_temb)=="") {$pesan[] = "Data asal tembakau kosong";} if (trim($inttahun_temb)=="") {$pesan[] = "Data tahun kosong";} …… include_once "../librari/inc.koneksi.php"; $sql = " INSERT INTO temb SET kode_temb ='$TxtKdH', nama_temb ='$txtnama_temb', tipe_temb ='$txttipe_temb', asal_temb ='$txtasal_temb',
4.5.5 Menu Ubah Data Tembakau
Proses yang terdapat dalam menu ubah data tembakau ini adalah
proses untuk ubah data tembakau dan menghapus data tembkau. Pada
halaman ini pertama-tama administrator memilih data tembakau mana
yang akan di ubah atau di hapus, kemudian meng-cliknya pada kolom
operasi.
Gambar 4.26 Tampilan menu ubah data tembakau
Pada halaman ubah data tembakau data yang dapat diubah adalah nama,
tipe, asal, tahun, harga, dan stock tembakau.
Gambar 4.27 Tampilan form untuk ubah data tembakau
Berikut script untuk menampilkan data tembakau yang akan diubah
Pada proses hapus, data akan langsung dihapus apabila
administrator menekan tanda hapus dan akan menampilkan data tembakau
yang masih tersisa.
Berikut script perintah SQL untuk menghapus data tembakau yang dipilih
include_once "../librari/inc.koneksi.php"; $sql = "SELECT * FROM temb WHERE kode_temb='".$_GET['kdubah']."'"; $qry = mysql_query($sql, $koneksi) or die ("Gagal sql temb"); $data = mysql_fetch_array($qry); $kdH = $data['kode_temb']; $nama_temb = $data['nama_temb']; $tipe_temb = $data['tipe_temb']; $asal_temb = $data['asal_temb']; $tahun_temb = $data['tahun_temb']; $harga_temb = $data['harga']; $stock_temb = $data['stock']; } .. <select name="txtnama_temb" size="1"> <option value="SWATINGJAN">SWATINGJAN</option> <option value="SWATING">SWATING</option> <option value="MBAKO_KANDEL">MBAKO_KANDEL</option></select> </td> …. <input name="txtasal_temb" type="text" size="45" maxlength="30" value="<? echo $asal_temb; ?>" > .. <input name="inttahun_temb" type="text" size="4" maxlength="2" value="<? echo $tahun_temb; ?>" > (2 digit terakhir tahun)
include_once "../librari/inc.koneksi.php"; $sql = " DELETE FROM temb WHERE kode_temb ='".$_GET['kdhapus']."'"; mysql_query($sql, $koneksi) or die ("Gagal query hapus".mysql_error()); echo "Data Tembakau berhasil dihapus"; include "tembakau_tampil.php"; else { include "tembakau_tampil.php"; exit;
Gambar 4.28 Tampilan hapus pada menu ubah data tembakau
4.5.6 Menu Tambah Data Propinsi
Data–data yang akan ditambahkan pada proses menambah data propinsi
ini adalah kode, nama propinsi, dan ongkos kirim.
Gambar 4.29 Tampilan menu tambah data propinsi
4.5.7 Menu Ubah Data Propinsi
Proses yang terdapat dalam menu ubah data propinsi ini adalah
proses untuk ubah data propinsi dan menghapus data propinsi. Pada
halaman ini pertama-tama administrator memilih data propinsi mana yang
akan di ubah atau di hapus, kemudian meng-cliknya pada kolom operasi.
Gambar 4.30 Tampilan menu ubah data propinsi
Pada halaman ubah propinsi data yang dapat diubah adalah nama propinsi,
dan ongkos kirim. Karena pada kode propinsi menggunakan pengkodean
secara otomatis.
Gambar 4.31 Tampilan form ubah untuk ubah data propinsi
Pada proses hapus, data akan langsung dihapus apabila administrator
menekan tanda hapus dan akan menampilkan data propinsi yang masih
tersisa.
Gambar 4.32 Tampilan hapus pada menu ubah data tembakau
4.5.8 Menu Data Buku Tamu
Menu data buku tamu ini digunakan untuk melihat data buku tamu
dan untuk proses hapus data buku tamu. Untuk melihat detail buku tamu
administrator tinggal menekan tanda detail pada kolom operasi.
sedangkan pada proses hapus, data akan langsung dihapus apabila
administrator menekan tanda hapus dan akan menampilkan data buku
tamu yang masih tersisa.
Gambar 4.33 Tampilan data buku tamu
4.5.9 Menu Laporan Transaksi
Menu laporan transaksi ini digunakan untuk menampilkan
sejumlah transaksi yang telah dilakukan oleh user/pelanggan, baik
pemesanan yang sudah lunas maupun yang belum lunas. Menu laporan
transaksi dapat dibagi menjadi dua berdasarkan statusnya.
Gambar 4.34 Tampilan laporan transaksi pesan
Berikut script perintah SQL untuk menampilkan daftar transaksi terakhir
$sql = "SELECT pemesanan.*, user.nama FROM user, pemesanan WHERE user.uid_plg=pemesanan.uid_plg AND pemesanan.status_bayar='PESAN' ORDER BY RIGHT(no_pesan,5)"; $qry = @mysql_query($sql, $koneksi) or die ("Gagal query".mysql_error()); while ($data =mysql_fetch_array($qry)) { $i++;
Pada laporan transaksi pesan untuk melihat detail laporan
transaksi administrator tinggal menekan tanda detail pada kolom operasi
seperti gambar 4.34 , jika ingin megirimkan (merubah status dari pesan ke
lunas maka administrator dapat menekan kirim), dan apabila ingin
menghapus data pemesanan administrator tinggal menekan hapus.
Pada laporan transaksi lunas digunakan untuk menampilkan data
transaksi yang sudah lunas terbayar
Gambar 4.35 Tampilan laporan transaksi lunas
Gambar 4.36 Tampilan laporan transaksi per nomor/detail transaksi
Berikut merupakan script perintah SQL untuk menampilkan laporan transaksi
$sql= "select pemesanan.*, user.* from user, pemesanan where user.uid_plg=pemesanan.uid_plg AND pemesanan.no_pesan='".$_GET['nopesan']."'"; $qry = @mysql_query($sql, $koneksi) or die ("gagal Query"); $data =mysql_fetch_array($qry); }//and pemesanan.status_bayar='PESAN' else { include "laporan_transaksi.php"; exit; } …………………… $sql_pd = "SELECT temb.*,pemesanan_detail.jumlah FROM temb, pemesanan_detail WHERE temb.kode_temb=pemesanan_detail.kode_temb AND pemesanan_detail.no_pesan='".$_GET['nopesan']."'
ORDER BY temb.kode_temb"; $qry_pd = mysql_query($sql_pd, $koneksi) or die ("gagal tembakau detail".mysql_error()); while ($hsl_pd = mysql_fetch_array($qry_pd)){ $no++; $harga = $hsl_pd['harga']-(($hsl_pd['harga'] * $hsl_pd['diskon']) /100); $subtot= $harga * $hsl_pd['jumlah']; $total = $total + $subtot; $sql_plg ="SELECT propinsi.ongkos_kirim FROM propinsi, user, pemesanan WHERE propinsi.kd_propinsi = user.kd_propinsi AND user.uid_plg=pemesanan.uid_plg AND pemesanan.no_pesan='".$_GET['nopesan']."'"; $qry_plg = mysql_query ($sql_plg, $koneksi) or die ("gagal propinsi".mysql_error()); $hsl_plg = mysql_fetch_array($qry_plg); $ongkos = $hsl_plg['ongkos_kirim']; $totbayar = $total + $ongkos; …………………….. td align="center" > <? echo $no; ?></td> <td> <? echo $hsl_pd['nama_temb']; ?></td> <td> <? echo $hsl_pd['tipe_temb'];?></td> <td> <? echo $hsl_pd['tahun_temb']; ?></td> <td align="right"> <? echo format_angka($harga); ?></td> <td align="right"><? echo $hsl_pd['jumlah'];?></td> <td align="right" class="HRGDISC"> <? echo "Rp. ".format_angka($subtot).".00"; ?>
BAB V
ANALISIS HASIL IMPLEMENTASI
Dari hasil implementasi sistem, aplikasi ini dapat berfungsi dengan baik.
Aplikasi ini dapat menyediakan informasi data tembakau dan dapat membantu
user untuk melakukan pemesanan baik melalui web ataupun handphone.
6.1. Hasil Implementasi Perangkat Lunak
1.1.1. Implementasi Aplikasi dengan J2ME
Berdasarkan uji coba menggunakan sun_java wireless tool kit, dan
HP NOKIA 7610 program ini dapat berfungsi dengan baik, karena dapat
memberikan informasi tentang tembakau garangan melalui fasilitas
pencarian yang disediakan, dan pelanggan juga dapat melakukan
pemesanan tembakau garangan sesuai dengan apa yang diingikan
pelanggan. Kesalahan-kesalahan yang mungkin terjadi sudah dapat
dikurangi karena adanya pesan kesalahan, baik dari login sampai
pemesanan.
1.1.2. Implementasi Aplikasi Web untuk User
Aplikasi web dari sisi user dapat digunakan untuk melakukan
pemesanan maupun download aplikasi J2ME. Dan sama dengan aplikasi
pada J2ME, aplikasi pada web juga dapat berfungsi dengan baik, mulai
dari tampilan sampai pesan-pesan kesalahan yang mungkin terjadi.
1.1.3. Implementasi Web Maintenance
Web maintenance digunakan oleh administrator untuk melakukan
proses pengolahan data tembakau yang berada di database server. Untuk
uji coba web maintenance administrator harus melakukan proses login
terlebih dahulu. Setelah administrator berhasil maka administrator dapat
melihat menu yaitu tambah data tembakau, ubah data tembakau, tambah
data propinsi, ubah data propinsi, lihat data pelanggan, lihat laporan dan
lihat buku tamu. Didalam menu tersebut administrator dapat melakukan
proses update, baik tambah maupun hapus. Dari hasil uji coba yang
dilakukan administrator dapat mengolah data tembakau dengan baik
karena web maintenance dibuat user friendly.
6.2. Analisis Manfaat
Apllikasi J2ME ini dibuat untuk mengakses dan mempermudah
pengelolaan data data tembakau. Manfaat dan kemudahan yang diberikan
diantaranya :
1. Memberikan fasilitas bagi administrator dalam mengolah data
tembakau garangan.
2. Memberikan fasilitas bagi user agar dapat mengakses informasi
tembakau garangan dan pemesannanya..
3. Menyimpan data tembakau dan pemesanannya baik yang dimasukaan
administrator maupun user ke dalam database.
6.3. Kelebihan dan Kekurangan Program
1.3.1. Kelebihan Program
Kelebihan program ini adalah :
1. Aplikasi ini dapat meminimalkan kesalahan yang disebabkan
oleh user dengan adanya fasilitas error handling
2. Web didesain user friendly sehingga memberikan kemudahan
bagi para pengguna untuk mengaksesnya.
1.3.2. Kekurangan Program
Kekurangan program ini adalah :
1. Pada web maintenance belum mempunyai pengendalian
keamanan yang baik. Pengendalian keamanan pada web
maintenance ini hanya sebatas pengecekan login dan
pengecekan session.
2. Belum adanya fasilitas untuk keranjang belanja pada aplikasi
J2ME.
3. Belum adanya fasilitas lupa password.
6.4. Analisa Perhitungan Biaya dan Waktu
5.4.1 Analisa Perhitungan Biaya
Operator SOL
sesama operator lokal
SOI
sesama operator beda area
PSTN
pesawat telepon nasional (telepon rumah)
GPRSKB
gprs / kb
FREN PASCA 480 480 490 0,45 PRA 540 540 850 6
FLEXY PASCA 50 449 150 3 PRA 50 900 250 5 ESIA PASCA 50 50 250 5 STARONE PASCA 272 727 130 1 PASCA 400 500 260 1 CERIA PASCA 100 100 600 10 TELKOMSEL HALO 651 852 651 5 SIMPATI 1500 1500 900 5 KARTU AS 1200 1200 1800 5 XL XPLOR 540 540 1380 10 BEBAS 600 600 1500 10 JEMPOL 1000 1000 1500 10 INDOSAT MATRIX 900 900 800 1 MENTARI 900 900 800 1 IM3 900 900 800 1 SMART PASCA 40 40 900 2 PRA 45 45 990 2.2 TREE PASCA 100 100 1000 10 PRA 150 150 399 10 AXIS PRA 60 60 600 5
Tabel 5.1 Tarif GSM-GPRS tahun2008-2009
Dari tabel 5.1 dapat dilihat bahwa biaya untuk tarif telepon lebih mahal dari
pada tarif untuk penggunaan GPRS. Untuk lebih jelasnya dapat dilihat dari contoh
perhitungan di bawah ini, perhitungan dilakukan dengan menggunakan jenis
kartu yang termurah berdasarkan yang akan dihubungi.
1. Jika pelanggan menghubungi telepon rumah penyedia barang dengan
menggunakan kartu STARONE.
a. untuk setiap telepon dibutuhkan setidaknya waktu 10 menit. Maka
perhitungannya adalah 10 X 130 = Rp 1300,00
b. untuk sekali mengakses aplikasi J2ME dibutuhkan maksimal
100kb, maka perhitungannya adalah 100 X 1 =Rp 100,00
2. Jika pelanggan dan penyedia barang menggunakan kartu GSM yang sama
yaitu SMART.
a. untuk setiap telepon dibutuhkan setidaknya waktu 10 menit. Maka
perhitungannya adalah 10 X 45 = Rp 450,00
b. untuk sekali mengakses aplikasi J2ME dibutuhkan maksimal
100kb, maka perhitungannya adalah 100 X 2.2 =Rp 220,00
Dari hasil contoh perhitungan diatas dapat dipastikan bahwa biaya untuk
melakukan pemesanan tembakau lewat aplikasi J2ME lebih murah dibanding
dengan cara telepon (apapun penggunaan kartunya), bahkan dapat menghemat
biaya lebih dari 100%.
5.4.2 Analisa perhitungan Waktu
Contoh urutan prosedur pemesanan tembakau melalui telepon:
1. Pelanggan menelpon penyedia barang untuk mencari tembakau
yang akan dipesan.
2. Penyedia barang mencari tembakau yang akan dipesan pada
cacatan manualnya, kemudian menelepon balik pelanggan yang
akan memesan untuk memastikan keberadaan tembakau yang
diinginkan.
3. Proses 1 dan 2 akan berulang jika pelanggan menginginkan jenis
barang yang bebeda.
Prosedur pemesanan tembakau melalui telepon ini hanya dapat dilakukan
pada jam kerja saja, dan pada prosedur diatas tiap tahapan membutuhkan waktu
setidaknya 10 menit untuk sekali menelpon. Sedangkan dengan menggunakan
aplikasi J2ME, pelanggan dapat melakukan pencarian dan pemesanan tembakau
yang diinginkan setiap saat, dan waktu yang dibutuhkan cukup singkat hanya
sekitar 4-5 menit.
Dari gambaran diatas maka dapat disimpulkan bahwa penggunaan aplikasi
J2ME untuk pemesanan tembakau garangan lebih menghemat waktu, karena
dapat dilakukan setiap saat dan membutuhkan waktu yang lebih singkat daripada
pemesanan lewat telepon.
BAB VI
KESIMPULAN DAN SARAN
Pada bagian akhir penulisan ini akan dicantum beberapa kesimpulan dan saran
mengenai hal-hal yang berkaitan dengan pembuatan Aplikasi Pemesanan
Tembakau “Garangan” menggunakan J2ME
6.5. Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan Aplikasi Pemesanan
Tembakau “Garangan” menggunakan J2ME ini adalah sebagai berikut :
1. Aplikasi ini sudah dapat berfungsi dengan baik. Pelanggan telah dapat
melakukan proses pencarian dan pemesanan tembakau garangan sesuai
dengan apa yang diinginkan pelanggan, sedangkan dari sisi
administrator aplikasi ini telah dapat memudahkan penyedia barang
dalam mengelola data-data tembakau garangan.
2. Adapun kekurangan dari program yang dibuat adalah belum adanya
fasilitas untuk lupa password dan keranjang belanja.
3. Dari hasil analisa perhitungan biaya maka dapat disimpulkan bahwa
penggunaan aplikasi J2ME untuk pemesanan tembakau dapat
menghemat biaya lebih dari 100%, dibanding dengan proses
pemesanan melalui telepon.
4. Dari hasil analisa perhitungan waktu maka dapat disimpulkan bahwa
penggunaan aplikasi J2ME untuk pemesanan tembakau lebih
menghemat waktu, karena pemesanan tembakau garangan dapat
dilakukan setiap saat dan dalam proses pemesanan dapat menghemat
waktu lebih dari 50% dibanding dengan proses pemesanan melalui
telepon.
6.6. Saran
Saran untuk pengembangan aplikasi yang akan datang adalah sebagai
berikut :
1. Aplikasi ini dapat dikembangkan agar memiliki pengendalian
keamanan yang lebih baik pada web maintenance, tidak hanya sebatas
pengecekan login dan pengecekan session.
2. Aplikasi ini perlu dilengkapi dengan fasilitas keranjang belanja untuk
menampung pesanan sehingga user tidak perlu mengulang
pemesanan jika ingin memesan jenis tembakau yang berbeda.
DAFTAR PUSTAKA Jhon W. Muchow, Core J2ME: Technologi & MIDP, Sun Microsystems,Prentice Hall PTR,2002. Prasetyo, Didik D, Solusi Menjadi Web Master melalui Managemen Web dengan PHP, Jakarta: PT Elex Media Komputindo, 2005. Supriardi, Yuniar, Pemrograman handphone dengan J2ME. Jakarta: PT Elex Media Komputindo, 2008. Nugroho, Bnafit, Membuat Sistem Informasi Penjualan Berbasis Web dengan PPH dan MySQL, Gavamedia,Yogyakarta, 2008. Whitten, Bently Dittman, System Analysis and Desain Method 6th Edition, Irwin/ McGraw-Hill, New York, 2001. Alamat web site sebagai panduan penulisan :
http://www.netbeans.org
http://www.php.net
http://www.mysql.com