BAB 3 ANALISA DAN RANCANGAN SISTEM
3.1 Analisis Kebutuhan 3.1.1 Gambaran Umum Perusahaan Rodalink adalah anak perusahaan dari Polygon yang merupakan suatu retail chainstore yang terorganisir lebih baik dibandingkan dengan toko-toko sepeda lain yang ada di seluruh Indonesia dan juga merupakan jaringan toko sepeda terbesar di Indonesia hingga saat ini. Rodalink berdiri sejak tahun 1997 dan sekarang berkantor pusat di Raya A. Yani 41-43 Kompleks Pergudangan Central Square Blok E No. 21-22 Gedangan, Sidoarjo. Saat ini Rodalink telah memiliki beberapa cabang (Rodalink Cabang) yang berada di kota-kota besar seluruh Indonesia seperti Jakarta, Bandung, Semarang, Surabaya, Sidoarjo, Malang, Madiun, Denpasar, Medan, Makassar, dan Palembang. Rodalink juga memiliki cabang yang beroperasi di luar negeri, yaitu Singapura dan Malaysia. Adapun tujuan jangka panjang dari Rodalink adalah menjadi suatu jaringan pengecer sepeda (Bicycle Retail Chainstore) yang oleh masyarakat akan dikenal sebagai “One Stop Bicycle Shop” yang akan menyediakan seluruh kebutuhan yang berhubungan dengan sepeda, yaitu : sepeda yang bergaransi, asesoris sepeda, komponen sepeda, servis untuk sepeda. Untuk semua produk yang dijualnya, Rodalink akan memberikan garansi, jaminan keaslian, dan servis yang memuaskan bagi pelanggannya.
39
40
Target pasar yang dituju oleh Rodalink adalah segmen keluarga hingga atlet profesional. Sehingga produk-produk yang ditawarkan kepada pelanggan bervariasi dari sepeda, komponen, dan asesoris untuk anak-anak hingga produk yang berkualitas tinggi. Demikian juga untuk melayani kebutuhan para pelanggan yang memiliki kategori bersepeda yang berbeda-beda. Kategori dalam bersepeda dapat dilihat dari medan yang akan ditempuh oleh pelanggan atau juga dari keperluan sang pelanggan akan sepeda itu. Pada umumnya, kategori sepeda terdiri atas Mountain Bike, Road Bike, BMX, City Bike, dan Travelling Bike. Rodalink memiliki produkproduk yang mencakup seluruh kategori tersebut. Ada beberapa selling point dalam penjualan produk yang ditawarkan oleh Rodalink, yaitu : 1.
Harga pas, dalam hal ini pelanggan tidak perlu khawatir kalau harga yang ditawarkan terlalu mahal.
2.
Jaminan keaslian komponen.
3.
Produk bergaransi, khusus untuk sepeda.
4.
Servis berkualitas, khusus untuk sepeda.
5.
Pemberian bonus untuk setiap pembelian sepeda jenis apapun.
6.
Purna jual lengkap – Yang termasuk di dalam purna jual adalah melayani klaim garansi, melayani servis, dan menyediakan komponen pengganti.
Rodalink memiliki beberapa sasaran (objective), yaitu : 1.
Mendirikan Rodalink Cabang di kota-kota besar di Indonesia maupun di luar negeri dengan desain dan karakteristik yang sama.
41
2.
Memposisikan Rodalink sebagai pengecer sepeda lengkap dengan asesoris dan komponen pendukung yang bertanggung jawab atas kualitas produk yang dijualnya.
3.
Rodalink adalah toko-toko yang dikelola sendiri dengan manajemen terpusat.
Pelanggan yang membeli produk-produk yang dijual di Rodalink akan memperoleh beberapa manfaat sebagai berikut : 1.
Jaminan keaslian komponen. Rodalink menjamin keaslian dari semua produk yang dijualnya, apabila dalam waktu 2 x 24 jam terjadi kerusakan yang bukan akibat disengaja atau kecelakaan, Rodalink akan mengganti produk tersebut.
2.
Buku garansi. •
Diberikan kepada pelanggan untuk setiap pembelian sepeda Polygon.
•
Pada kartu garansi diisikan data lengkap dari pelanggan serta sepeda jenis apa yang dibelinya.
•
Buku garansi wajib distempel dengan stempel Cabang dimana pelanggan membeli sepeda tersebut.
•
Garansi berlaku di Rodalink Cabang manapun di seluruh Indonesia.
•
Garansi berlaku khusus untu sepeda merek Polygon dan berlaku sampai 5 tahun untuk frame dan fork.
3.
Servis gratis.
42
Pada buku garansi Rodalink terdapat 2 kupon servis gratis yang dapat dipakai di Rodalink Cabang manapun di seluruh Indonesia dengan syarat adanya stempel Cabang tempat dimana sepeda dibeli. Servis gratis ini diberikan dalam jangka waktu 6 bulan sejak tanggal pembelian, lebih dari jangka waktu tersebut dikenakan biaya servis. Servis gratis meliputi jasa dari servis saja, biaya penggantian komponen dan lain-lain tidak termasuk. 4.
Bonus langsung. Setiap pembelian sepeda Polygon tipe apa saja di Rodalink Cabang akan mendapatkan bonus langsung berupa tas sadel, botol minum Polygon, dan sebagainya sesuai dengan besar kecilnya nilai penjualan.
3.1.2 Struktur Organisasi Rodalink Struktur organisasi akan dibagi menjadi dua untuk mempermudah penjelasan. Struktur yang pertama adalah struktur organisasi keseluruhan mencakup seluruh seksi yang ada pada Rodalink, tetapi hanya sampai Store Supervisor yang mempunyai tanggung jawab atas Rodalink Cabang yang dipimpinnya. Struktur berikutnya mencakup seluruh seksi yang ada pada Rodalink Cabang dengan Store Supervisor dalam posisi yang tertinggi.
43
DIREKTUR
EDP
RODALINK PUSAT
ACCOUNTING
REGIONAL MANAGER
REGIONAL MANAGER
STORE SUPERVISOR
STORE SUPERVISOR
STORE SUPERVISOR
Gambar 3.1 Struktur Organisasi Keseluruhan
Deskripsi singkat dari tugas tiap-tiap jabatan pada struktur organisasi keseluruhan yang ada pada tabel 3.1 adalah sebagai berikut : •
Direktur 1.
Melaksanakan manajemen umum yang menyeluruh terhadap bawahan yang ada dibawahnya dan dikelola sesuai dengan kebijakan perusahaan.
2.
Mengawasi jalannya perusahaan yang dikelola.
3.
Menentukan tujuan perusahaan dan peraturan perusahaan.
4.
Memimpin perusahaan dan mengkoordinasikan semua bagian yang ada di dalam perusahaan.
5. •
Mengevaluasi laporan-laporan periodik.
EDP (Entry Data Processing)
44
1.
Melaksanakan maintenance terhadap sistem TI yang berjalan pada perusahaan.
2.
Membuat atau melakukan perubahan terhadap sistem sesuai dengan kebutuhan.
3. •
•
Memberikan bantuan teknis kepada pengguna sistem.
Rodalink Pusat 1.
Pusat pengendali manajemen seluruh Rodalink Cabang.
2.
Pusat Koordinasi seluruh kebijakan penjualan dan promosi.
3.
Pusat pembelian.
4.
Pusat distribusi.
Regional Manager 1.
Pusat pengendali Store Supervisor di wilayah Regional Manager yang bersangkutan.
2.
Pusat koordinasi Store Supervisor di wilayah Regional Manager yang bersangkutan
45
STORE SUPERVISOR
KOORDINATOR COUNTER
SPG/SPB CABANG
MEKANIK
SPG/SPB CABANG
SPG/SPB COUNTER
ASISTEN MEKANIK / BAG. UMUM
Gambar 3.2 Struktur Organisasi Rodalink Cabang
Deskripsi singkat dari tugas tiap-tiap jabatan pada struktur organisasi Rodalink Cabang yang ada pada tabel 3.2 adalah sebagai berikut : •
Store Supervisor 1.
Melakukan pengawasan langsung atas operasional Rodalink Cabang.
2.
Mengkoordinasikan kegiatan-kegiatan pada Rodalink Cabang.
3.
Membuat laporan-laporan yang diperlukan dan mengirimkannya ke Rodalink Pusat.
4.
Melakukan
tugas
Koordinator
Counter,
yaitu
mengatur
penjualan yang berada di acara-acara tertentu. •
SPG / SPB Cabang dan Counter 1.
Melayani calon pelanggan yang datang ke showroom.
2.
Melakukan pencatatan administrasi barang dan keuangan.
46
•
3.
Melaksanakan tugas-tugas yang diberikan oleh supervisor.
4.
Melakukan stok opname rutin setiap akhir bulan.
Mekanik dan Asisten Mekanik 1.
Menerapkan tarif servis yang telah ditetapkan oleh Rodalink Pusat.
2.
Melakukan servis sesuai dengan yang diminta oleh pelanggan.
3.
Melaksanakan tugas-tugas yang diberikan oleh supervisor.
3.1.3 Sistem Yang Sedang Berjalan Transaksi pembelian hanya bisa dilakukan oleh pelanggan yang berada di salah satu Rodalink Cabang. Pelanggan dapat memilih produk yang diinginkannya dan kemudian membayarnya di Counter. Pelanggan juga dapat menanyakan kepada SPG/SPB Cabang dan Counter mengenai ketersediaan barang yang diinginkannya melalui telepon. SPG/SPB Cabang dan Counter dapat dengan cepat mengetahui stok suatu barang di gudang dengan menggunakan program Rodalink 2.0. Pelanggan dapat memilih tiga cara pembayaran dalam membayar produkproduk yang diinginkannya di Rodalink Cabang, yaitu dengan pembayaran tunai, melalui debet BCA, atau menggunakan kartu kredit Visa atau Master. Setelah itu, pelanggan akan diberikan faktur penjualan yang dibuat dengan program Rodalink 2.0. Program komputer Rodalink 2.0 tidak hanya mencetak faktur, tetapi juga menyimpan data pada transaksi tersebut ke dalam database. Untuk pembelian produk yang tidak memungkinkan untuk dibawa oleh pelanggan, seperti satu atau beberapa unit sepeda utuh, akan diantarkan oleh
47
pegawai Rodalink Cabang tempat pembelian terjadi ke alamat rumah pembeli secara gratis. Setiap Rodalink Cabang diberikan satu mobil pick-up untuk keperluan semacam itu. Store Supervisor bertugas untuk menentukan layak atau tidaknya jasa pengantaran produk tersebut dilakukan, dilihat dari kondisi-kondisi tertentu seperti jarak. Jika ada pelanggan yang meretur barang yang telah dibelinya pada waktu kurang dari 48 jam dari waktu pembelian, maka barang yang diretur akan ditukar dengan barang lain yang sejenis atau memiliki harga yang sama. Faktur retur dibuat dengan menggunakan program Rodalink 2.0. Kemudian faktur rektur juga dibuat untuk Rodalink Pusat dengan menggunakan program Rodalink 2.0. Laporan periodik dan bulanan dilakukan oleh Rodalink Cabang kepada Rodalink Pusat dengan cara mengirim data yang dihasilkan oleh program Rodalink 2.0 melalui email. Insera dan Jasera merupakan supplier produk sepeda Polygon untuk Rodalink. Rodalink Cabang dapat memesan sepeda ke Insera yang berada di Sidoarjo atau Jasera yang berada di Jakarta, sesuai dengan lokasi yang terdekat. Sedangkan untuk produk berupa asesoris dan komponen sepeda, Rodalink Cabang memesannya kepada Rodalink Cabang.
3.1.4 DFD dari Sistem Yang Berjalan 3.1.4.1 Diagram Konteks
48 Store Supervisor
Konfirmasi_retur_plg Persetujuan_retur_plg Persetujuan_retur Pengiriman_barang
Pembeli
Konfirmasi_ganti_part Persetujuan_ganti_part Detail_beli_barang Data_pelanggan Sistem Penjualan Detail_pembayaran Retur_barang Rodalink Servis_sepeda Det ail_produk Faktur_penjualan Faktur_retur Faktur_servis Member_card
Pesan_komponen_&_asesoris Ret ur_barang Pesan_sepeda Ret ur_barang
Persetujuan_retur Pengiriman_barang
Accounting
Rodalink Pusat
Laporan_pengeluaran Laporan_penjualan
Gambar 3.3 Diagram Konteks sistem penjualan yang berjalan
INSERA / JASERA
49
3.1.4.2 Diagram Nol Konfirmasi_ganti_part
3.0 Servis
Persetujuan_ganti_part Servis_sepeda
Detail_ servis_ sepeda
Pembeli
Detail_beli_barang Data_pelanggan Detail_pembayaran Retur_barang
2.0 Cek Stok
brg_yg_dibeli
1.0
Detail_stok
Kasir
Pesan_part&asesoris Retur_barang Persetujuan_retur Pengirimian_brg
Rodalink Pusat
Pesan_sepeda Retur_barang Persetujuan_retur Pengirimian_brg
INSERA / JASERA
Detail_produk Stok_ habis
Faktur_penjualan Faktur_retur Faktur_servis
Stok_brg
Member_card
Pelanggan 4.0 Retur_plg
Pemesanan & Penerimaan Barang
Penjualan
5.0 Pembuatan Laporan Lap_ Pengeluaran
Lap_ Penjualan
Accounting
Gambar 3.4. Diagram Nol Sistem Penjualan yang Berjalan
3.1.5 Identifikasi Permasalahan Permasalahan-permasalahan yang dihadapi : 1.
Iklan pada majalah atau brosur tidak mempunyai ruang yang cukup untuk memberikan seluruh informasi mengenai produk-produk yang ditawarkan.
2.
Pengunjung yang ingin memperoleh informasi atau membeli suatu produk dibatasi oleh jam kerja saja.
50
3.
Iklan hanya ditempatkan pada majalah sepeda saja, sehingga tidak dapat menjangkau masyarakat pada umumnya.
4.
Brosur atau katalog hanya dapat diperoleh kepada pengunjung Rodalink Cabang saja.
5.
Jika pengunjung ingin mengetahui informasi mengenai suatu produk di Rodalink Cabang, maka ia harus menanyakannya kepada karyawan Rodalink yang berada di tempat.
3.1.6 Usulan Pemecahan Masalah Usulan pemecahan masalah adalah : 1.
Memberikan suatu sistem informasi yang dapat digunakan oleh karyawan dan pengunjung Rodalink yang memberikan informasi lengkap mengenai produk yang dijualnya
2.
Membuat suatu situs web yang dapat di-update dengan mudah sehingga dapat memeberikan informasi mengenai produk-produk terbaru atau penawaran harga yang terbaru.
3.
Menyediakan layanan belanja online pada situs web Rodalink. Sebagai solusi dari permasalahan yang ada adalah pengunaan teknologi
internet. Teknologi internet memberikan kemudahan untuk menyediakan informasi dan melakukan kegiatan transaksi dengan pelanggan. Selain itu, Rodalink dapat memperoleh feedback atau informasi dari pelanggan untuk meningkatkan pelayanannya. Implementasi sistem penjualan secara online melalui internet diharapkan dapat meningkatkan penjualan dan pemasaran produk / promosi. Cara tersebut
51
diyakini akan efektif karena sebagian besar pemain sepeda gunung memakai atau menggunakan internet dengan frekuensi yang cukup tinggi. Hal tersebut dapat dilihat dari jumlah anggota mtb-indonesia.com yang besar dan aktifnya komunikasi pada milis-milis (Mailing List) sepeda gunung setiap hari.
3.2 Perancangan Sistem 3.2.1 Sistem Yang Diusulkan Sistem yang diusulkan untuk Rodalink adalah sistem pelayanan informasi dan sistem pemesanan berbasiskan internet. Dengan sistem tersebut, pelanggan dapat memperoleh memperoleh informasi mengenai produk dan memesannya melalui situs web Rodalink. Dengan sistem yang sedang berjalan, pelanggan hanya dapat melakukan hal tersebut dengan mendatangi toko Rodalink. Sistem yang diusulkan memiliki tampilan antar muka yang dirancang dengan tujuan tidak menyulitkan pelanggan dalam menggunakannya. Sistem ini juga dibuat agar komunikasi dengan pengunjung dapat terjadi. Berikut ini adalah rancangan dari sistem yang diusulkan yang meliputi diagram arus data (DFD), perancangan database, State Transition Diagram (STD), dan rancangan layar.
3.2.2 Diagram Aliran Data Yang Diusulkan 3.2.2.1 Diagram Konteks
52
Pelanggan
alamat_email keyword_pencarian login data_plg pesan_produk detail_pembayaran hasil_pencarian kirim_password detail_pesanan
Sistem Penjualan Online Rodalink
notifikasi konfirmasi komentar_produk
Rodalink Pusat
laporan_penjualan detail_produk
Gambar 3.5 Diagram Konteks Sistem yang Diusulkan
Gambar 3.5 merupakan usulan atas diagram konteks dari sistem penjualan online Rodalink. Eksternal entity yang berada pada diagram tersebut adalah pihak pelanggan, accounting, dan jasa pengiriman. Laporan pemesanan yang telah dilakukan melalui transaksi online akan diberikan kepada Rodalink Pusat.
3.2.2.2 Diagram Nol
53
Gambar 3.6 Diagram Nol Sistem yang Diusulkan
54
Gambar 3.6 adalah diagram Nol dari sistem penjualan online yang diusulkan. Diagram Nol tersebut memiliki 2 eksternal entity dan 9 proses. Pelanggan dapat melihat jenis-jenis produk yang dijual meskipun pelanggan belum memiliki username dan password untuk melakukan login. Tetapi pelanggan belum dapat melakukan pemesanan barang. Jika pelanggan telah melakukan registrasi, maka pelanggan dapat melakukan login dan melakukan pemesanan barang. Pelanggan yang tidak dapat melakukan login harus mengisi form registrasi dengan data atau informasi mengenai pelanggan tersebut untuk mendapatkan username dan password. Setelah pelanggan melakukan transaksi pemesanan, maka secara otomatis akan dikirim email sebagai notifikasi atas transaksi tersebut. Pelanggan yang telah melakukan pembayaran dapat mengirimkan detail atau bukti pembayaran yang telah dilakukannya melalui email atau melalui situs web Rodalink. Setelah itu, admin akan meberikan status ‘Paid’ untuk pemesanan yang telah dibayar dan ‘Delivered’ untuk pemesanan yang telah dikirim.
3.2.2.3 Diagram Rinci
55
Gambar 3.7 Diagram Rinci Lupa Password
Pelanggan yang tidak mengingat username dan password miliknya dapat meminta situs untuk dikirimi email yang berisi username dan password. Dengan syarat, pelanggan harus memberikan alamat email yang telah diregistrasikan olehnya. Jika alamat email tidak terdapat dalam database maka pelanggan tersebut memang tidak pernah melakukan proses registrasi.
Diagram Rinci Registrasi Pelanggan
Gambar 3.8 Diagram Rinci Registrasi Pelanggan
56
Pelanggan yang belum melakukan registrasi akan diberikan formulir. Jika aturan pengisian formulir tersebut dipatuhi oleh pelanggan, maka pelanggan tersebut suskes teregistrasi dan dapat menggunakan username dan passwordnya untuk melakukan login. Pelanggan yang telah melakukan proses registrasi akan dikirim informasi mengenai registrasi yang telah dilakukannya itu melalui email secara otomatis.
Diagram Rinci Terima Pesanan
57
Gambar 3.9 Diagram Rinci Terima Pesanan
Hanya pelanggan yang telah melakukan proses login dapat melakukan proses pemesanan. Pelanggan yang telah login memiliki cookies dalam komputernya dan cookies tersebut akan diperiksa jika ia melakukan pemesanan barang. Setelah cookies diperiksa, maka produk yang dipesannya akan ditambah ke dalam keranjang belanjaan (shopping cart) virtual miliknya. Pelanggan juga dapat melihat produk apa saja yang telah
58
dipesannya dan menambah atau mengurangi jumlah barang yang telah dibelinya. Produk-produk yang telah ditaruh ditambahkan ke dalam shopping cart tidak akan hilang meskipun pelanggan menutup browser-nya. Data dari produk yang berada pada shopping cart telah disimpan dalam database.
Diagram Rinci Verifikasi Pesanan
Gambar 3.10 Diagram Rinci Verifikasi Pesanan
Setelah pelanggan merasa cukup untuk menambahkan produk ke dalam shopping cart, maka untuk memesan barang yang telah dipilihnya itu adalah harus melakukan proses verifikasi pesanan.
59
Dalam proses tersebut, pelanggan akan diminta konfirmasi atas datadata yang telah ia masukkan sebelumnya. Lalu, setiap produk yang berada pada shopping cart akan dibuatkan nomor pemesanannya dan shopping cart dikosongkan.
3.2.3 Database 3.2.3.1 Kamus Data Aliran data pada diagram nol sistem yang diusulkan adalah sebagai berikut: confirm_pemesanan = @order_kode + order_userKode + order_produkKode + order_jumlah + order_tglPesan + order_Status data_plg = @user_username + user_password + user_nama + user_email + user_alamat + {user_propinsi + user_kota + user_kodePos} + user_rtrw + user_telp + user_hp + user_fav + user_rekening + user_bank detail_pembayaran = @transfer_kode + transfer_tanggal + transfer_waktu + transfer_orderKode
+
{user_bank
+
user_rekening}+
transfer_urut + transfer_jumlah detail_produk = @produk_kode + produk_nama + produk_kategori + produk_harga produk_gbrKecil
+
produk_ketSingkat +
produk_gbr
+
+
produk_ket
+
produk_status
+
produk_spesial detail_pesanan = @cart_kode + {cart_produkKode + produk_nama + produk_harga} + cart_jumlah
60
hasil_pencarian = @produk_kode + produk_nama + produk_harga + produk_ketSingkat + produk_gbrKecil keyword_pencarian = @produk_nama kirim_password = @username + password komentar_produk = @review_kode + review_produkKode + review_nama + review_comment login = @username + password pesan_produk = @cart_produkKode + {{cart_userKode} + produk_kode + produk_nama + produk_harga}
3.2.3.2 Tabel Database
Tabel 3.1 Database
No.
Nama Tabel
1
products
Keterangan Menyimpan segala informasi produk yang dijual, seperti keterangan produk, harga produk, dan lokasi (file path) gambar produk. Kode dari setiap produk digunkaan sebagai primary key.
2
users
Menyimpan informasi yang dibutuhkan dari pelanggan untuk melakukan transaksi pemesanan, pembelian, dan pengantaran barang. Informasi tersebut berupa nama pelanggan, tempat tinggal
61
pelanggan, dan nomor rekening pelanggan. Kode milik pelanggan digunakan sebabgai primary key. 3
cart
Berguna sebagai keranjang belanja yang digunakan oleh pelanggan untuk menampung produk-produk yang ingin dibelinya. Menyimpan informasi seperti kode produk, kode pelanggan, dan jumlah barang yang dibelinya.
4
orders
Menyimpan informasi mengenai produk apa saja yang dipesan oleh setiap pelanggan berikut statusnya. Setiap produk yang dipesan memiliki kode pemesanan, dan kode tersebut digunakan oleh pelanggan untuk melakukan proses pembayaran.
5
transfers
Menyimpan informasi mengenai pembayaran pelanggan terhadap produk yang telah dipesan olehnya.
6
p_review
Menyimpan komentar dari pelanggan terhadap produk-produk yang dijual.
7
admin
Daftar pengguna yang berhak untuk menjadi administrator.
3.2.3.3 Entity Relationship Diagram
62 Transfers PK
transfer_kode transfer_tanggal transfer_no transfer_jumlah transfer_status
1..1 Pays
users PK
1..1
user_userName user_password user_namaAwal user_namaAkhir user_email user_alamat user_kota user_kodePos user_rtrw user_propinsi user_telp user_hp user_rekening user_bank
orders PK
order_kode
FK FK
order_produkKode order_userKode order_jumlah order_tglPesan order_status order_tglKirim order_transferKode
FK
Make 0..1
user_kode
1..1
0..* Has
1..1 1..1 products PK
Use
kode nama satuan harga kategori ket_singkat ket gbr_kecil gbr status special
0..1 cart
Holds 1..1
PK
cart_kode
0..* FK cart_userKode FK
cart_produkKode cart_jumlah
1..1 About 0..* p_review PK
review_kode
FK
review_produkKode review_nama review_comment rating
Gambar 3.11 ERD
Dalam relasi pada gambar 3.11 , users menggunakan cart sebagai keranjang belanja untuk memilih produk yang mereka ingin beli. Jika users
63
telah yakin untuk memesan produk-produk yang berada dalam keranjang belanjaannya, maka ia harus melakukan proses pemesanan untuk mendapatkan kode pemesanan. Jika hal itu dilakukan, maka dalam segala data yang berada pada cart dipindahkan ke dalam orders dan setelah itu data pada cart dihapus. Bukti pembayaran terhadap suatu pemesanan disimpan di dalam transfers. Data mengenai produk yang berada pada cart dan orders disimpan di dalam products. Review atau ulasan mengenai produk yang diberikan oleh users, disimpan dalam p_review.
3.2.3.4 Struktur Database Nama Tabel 3.2 : products Deskripsi : Informasi mengenai produk yang dijual. Primary Key : kode
Tabel 3.2 Products
Nama_Field
Tipe
Panjang
Keterangan
kode
Karakter 12
Kode produk
nama
Karakter 45
Nama produk
satuan
Karakter 4
Jenis satuan produk
harga
Numerik 7
Harga produk
kategori
Karakter 15
Kategori produk
ket_singkat
Memo
Keterangan singkat dari produk
64
ket
Memo
Keterangan lengkap dari produk
gbr_kecil
Karakter 50
Gambar kecil (thumbnail) produk
gbr
Karakter 50
Gambar produk
status
Numerik 1
Status persediaan produk
special
Numerik 1
Status untuk produk yang dipromosikan / diskon
Nama Tabel 3.3 : users Deskripsi : Informasi mengenai pelanggan Primary Key : user_kode
Tabel 3.3 Users
Nama Field
Tipe
Panjang
Keterangan
user_kode
Numerik 6
Kode pelanggan
user_nama
Karakter 25
Nama pelanggan
user_password Karakter 20
Password pelanggan
user_username Karakter 20
Username pelanggan
user_email
Karakter 20
Alamat email pelanggan
user_alamat
Memo
Alamat tempat tinggal pelanggan
user_kota
Karakter 15
Kota dari tempat tinggal pelanggan
user_kodePos
Karakter 5
Kode pos tempat tinggal pelanggan
user_rtrw
Karakter 7
Nomor RT dan RW tempat tinggal pelanggan.
65
user_propinsi
Karakter 17
Propinsi dari tempat tinggal pelanggan
user_telp
Karakter 12
Nomor telepon rumah pelanggan
user_hp
Karakter 12
Nomor telepon genggam pelanggan
user_rekening
Karakter 10
Nomor rekening pelanggan
user_bank
Karakter 9
Nama bank dari rekening pelanggan
Nama Tabel 3.4 : cart Deskripsi : Menyimpan produk-produk yang ingin dibeli Primary Key : cart_kode Foreign Key 1 : cart_userKode references users(user_kode) Foreign Key 2 : cart_produkKode references products(kode)
Tabel 3.4 Cart
Nama Field
Tipe
Panjang
Keterangan
cart_kode
Numerik 6
Kode shopping cart
cart_userKode
Numerik 6
Kode pelanggan pemilik shopping cart
cart_produkKode Karakter 12
Kode produk yang ada dalam shopping cart
cart_jumlah
Numerik 2
Jumlah produk yang ingin dibeli oleh pelanggan.
Nama Tabel 3.5 : orders
66
Deskripsi : Informasi pembelian oleh pelanggan Primary Key : order_kode Foreign Key 1 : order_produkKode references products(kode) Foreign Key 2 : order_userKode references cart(cart_userKode) Foreign Key 3 : order_transferKode references transfers(transfer_kode)
Tabel 3.5 Orders
Nama Field
Tipe
Panjang
Keterangan
order_kode
Numerik 6
Kode pemesanan
order_produkKode
Karakter 12
Kode produk yang dipesan
order_jumlah
Numerik 2
Jumlah produk yang dipesan
order_userKode
Karakter 6
Kode pelanggan yang memesan
order_tglPesan
Tanggal
Tanggal pemesanan
order_transferKode
Numerik 6
20
Kode atas transfer / pembayaran yang telah dilakukan.
order_tglKirim
Tanggal
20
Tanggal pengiriman produk ke pemesan
Nama Tabel 3.6 : transfers Deskripsi : Detail pembayaran pelanggan Primary Key : transfer_kode
Tabel 3.6 Transfers
67
Nama Field
Tipe
Panjang
Keterangan
transfer_kode
Numerik
6
Kode transfer
transfer _tanggal
Tanggal
20
Tanggal transfer dilakukan
transfer _urut
Karakter
10
Nomor urut transfer
transfer _jumlah
Numerik
7
Jumlah uang yang ditransfer
transfer_status
Karakter
9
Status pembayaran yang telah dilakukan.
Nama Tabel 3.7 : p_review Deskripsi : Komentar pengunjung website atas suatu produk. Primary Key : review_kode Foreign Key : review_produkKode references produk(kode)
Tabel 3.7 Review
Nama Field review_kode
Tipe
Panjang
Numerik 6
Keterangan Kode review
review_produkKode Karakter 12
Kode produk yang di-review
review_nama
Karakter 25
Nama pemberi review
review_comment
Memo
Isi review
Nama Tabel 3.8 : admin
68
Deskripsi : Daftar pengguna yang berhak menjadi administrator web site Primary Key : admin_kode
Tabel 3.8 Admin
Nama Field
Tipe
Panjang
Keterangan
admin_kode
Numerik 2
Kode administrator
admin_usercode
Karakter 20
Kode pengguna yang dapat menjadi administrator
admin_password Karakter 20
Password pengguna yang dapat menjadi administrator
69
3.2.4 RANCANGAN LAYAR 3.2.4.1 Rancangan layar untuk user Rancangan Layar Home
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
Welcome! Searc h
Home Shifter Crank Set Wheel Set Hub Full Bike Helmet Jersey
Our onlinestoreisofferingyou theproduct linesthat you wouldfindthesameaswhat our usual storeshad. But not only you couldshop, findand discover theinformation detailsabout theproductswesell. Alsoseewhat comments that otherscustomershaveabout theproducts! Special offerings !
nam a pro duk
Was Rp. xxxxxx Rp. xxxxxx
nam a pro duk
Was Rp. xxxxxx Rp. xxxxxx
nam a pro duk
Was Rp. xxxxxx Rp. xxxxxx
Gambar 3.12 Layar Home
Rancangan tampilan layar pada gambar 3.12 adalah tampilan yang akan pertama kali dilihat oleh pelanggan. Halaman pembuka tersebut berisi katakata sambutan untuk para pengunjung. Di bawah kata-kata sambutan terdapat beberapa produk yang sedang dipromosikan. Produk-produk yang sedang dipromosikan antara lain adalah produk yang sedang mendapat potongan harga atau produk baru. Setiap kali pelanggan membuka halaman pembuka ini, produk yang ditampilkan akan berbeda.
70
Beberapa link yang terdapat pada halaman home adalah link yang bersifat dinamis. Seperti pelanggan yang belum melakukan proses login akan mendapat link login. Sedangkan pelanggan yang telah melakukan proses login, akan mendapat link logout.
Rancangan Layar Kategori
.
Login
on l in e s h op
.. .
Shopping Cart (0)
Home
Orders
My Profile
Contact Us
Forgot Password?
FAQ
nam a pro duk Searc h
Price : Description :
More information ..
Home Shifter Crank Set Wheel Set Hub Full Bike Helmet Jersey
nam a pro duk
Price : Description :
More information ..
Page : 1| 2| 3|
Gambar 3.13 Layar Kategori
Produk-produk yang dijual akan ditampilkan seperti pada rancangan layar gambar 3.13. Produk-produk tersebut telah dibagi-bagi menjadi beberapa kelompok yang sesuai dengan jenis kategori tiap produk. Dengan begitu, pelanggan dapat lebih mudah untuk mencari jenis produk yang diinginkannya. Daftar kategori diberikan pada satu tabel yang berada di bawah tabel search.
71
Daftar tersebut dihasilkan secara dinamis sehingga akan secara otomatis menambah jenis kategori jika terdapat jenis kategori baru pada database.
Rancangan Layar Product
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
nam a pro duk Searc h
Home Shifter Crank Set Wheel Set Hub Full Bike Helmet Jersey
Product Name : Price : Description : Add To Cart
Reviews
Write your own reviews !
Date : Name : Reviews :
Gambar 3.14 Layar Product
Jika suatu produk dari daftar produk dipilih, maka tampilan layar seperti gambar 3.14 akan ditampilkan untuk memperlihatkan informasi yang detail tentang produk tersebut beserta gambar produk yang lebih besar. Untuk menaruh produk tersebut ke dalam shopping cart, maka pelanggan harus menekan tombol ‘Add to Cart’ dan setelah itu pelanggan akan dibawa ke halaman shopping cart. Komentar atau tanggapan yang diberikan oleh pelanggan lain dapat dilihat di sisi bawah tampilan layar gambar 3.14. Pelanggan dapat
72
memberikan komentar mengenai produk tersebut dengan menekan link ‘Write your own review!”.
Rancangan Layar Login
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
Pleaselogin beforeyou start shoppingin Rodalink onlinestore Username : Password : Login
Forgot my password
Not yet registered? You havetobecomeregisteredtoplacean order. Click thebutton below toregister : Registration
Gambar 3.15 Layar Login
Pelanggan yang belum melakukan proses login harus melakukan login terlebih dahulu jika ingin melakukan transaksi pemesanan. Untuk melakukan proses login, pelanggan harus menekan link login. Setelah itu halaman login akan terbuka seperti tampilan pada gambar 3.15. Pelanggan yang belum mempunyai username dan password harus melakukan registrasi dengan menekan tombol ‘Registration’. Sedangkan pelanggan yang melupakan password atau username miliknya dapat memperolehnya melalui email dengan memilih link ‘forgot my password’ .
73
Layar login akan ditampilkan kepada user yang belum teregistrasi atau login jika user tersebut membuka halaman-halaman yang membutuhkan informasi mengenai user. Halaman-halaman tersebut adalah Login, Shopping Cart, Orders, dan My Profile.
Rancangan Layar Registration
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
Pleasefill thisinformation correctly. Theinformation you providedwill beusedtodeliver you (Don't leave the marked * blank)
Username*
Password* Email* Nama Bank* No. Rekening* Nama asli* Alamat* RT/RW Kota* Kode Pos* Propinsi No. Telp* No. HP Reset
Register
Gambar 3.16 Layar Registration
Gambar 3.16 adalah tampilan layar untuk pelanggan yang ingin melakukan proses registrasi. Pelanggan diharuskan untuk mengisi data dan
74
berhati-hati dalam pengisiannya, karena data-data tersebut akan digunakan dalam bertransaksi dan mengirim produk ke pelanggan.
Rancangan Layar Error Message
Logout|Shopping Cart (2)|Orders|My Profile|Forgot Password?
on l i n e s h op
Home
Contact Us
There's a problem with the information you entered
FAQ
:
error detail Continue
Gambar 3.17 Layar Error Message
Gambar 3.17 adalah tampilan layar untuk pelanggan yang salah dalam pengisian form seperti pada halaman Registration. Tombol ‘Continue’ akan membawa pelanggan balik kepada halaman form sebelumnya untuk membetulkan pengisiannya.
Rancangan layar Forgot Password
75
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
Wewill mail your username& passwordtoyour email. Pleasewriteyour registeredemail address
Searc h
Email
Home
Send
Shifter Crank Set Wheel Set Hub Full Bike Helmet Jersey
Gambar 3.18 Layar Forgot Password
Jika telah melakukan proses login dan pelanggan keluar dari situs Rodalink tanpa melakukan proses logout, maka cookies mengenai data registrasi pelanggan tersebut masih tersimpan dalam komputer pelanggan. Cookies digunakan secara otomatis untuk proses login oleh situs Rodalink jika pelanggan balik lagi ke situs Rodalink sehingga pelanggan tersebut tidak perlu melakukan proses login secara manual. Ada kalanya karena terlalu sering melakukan login secara otomatis (dengan cookies), maka pelanggan lupa dengan password atau username miliknya. Karena sebab itu disediakan fasilitas bagi pelanggan untuk memperoleh username dan passwordnya kembali. Pada gambar 3.18, pelanggan diminta untuk mengisi alamat email miliknya. Kemudian, database pelanggan dicari untuk data pelanggan yang mempunyai
76
alamat email yang sama. Jika ada, maka username dan password akan dikirimkan ke alamat email tersebut.
Rancangan Layar Contact Us
Login|Shopping Cart (0)|Orders|My Profile|Forgot Password?
on l in e s h op Searc h
Home Shifter Crank Set Wheel Set Hub Full Bike Helmet Jersey
Home
Contact Us
FAQ
If you haveany commentsor suggestionsor anythingelsethat you wouldsay tous, wewouldbevery happy tohear it.
Name Email Topic Comment
Send
Hereistheaddressandthephonenumber of our shopsall over Indonesia. They areopen for 7 daysa week.
Gambar 3.19 Layar Contact Us
Pelanggan dapat memberikan email kepada pihak Rodalink dengan cara menggunakan form yang disediakan pada situs seperti gambar 3.19. Bagi pelanggan yang ingin untuk mendatangi atau menelepon Rodalink Cabang, maka disediakan informasi mengenai alamat dan nomor telepon Rodalink Cabang pada bagian bawah layar contact us.
Rancangan Layar Shopping Cart
77
Logout|Shopping Cart (2)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
username'sShoppingCart Products Nama produk Nama produk
TOTAL PRICE Continue Shopping
Quantity
Price harga produk harga produk harga total
1 1
C heck Out
Update Ca rt
Gambar 3.20 Layar Shopping Cart
Informasi mengenai produk yang telah dipilih oleh pelanggan sebelum melakukan proses pemesanan dapat dilihat pada halaman Shopping Cart seperti pada gambar 3.20. Pelanggan juga dapat mengatur berapa banyak jumlah produk yang ingin dibeli. Juga menghapus satu atau beberapa produk yang telah ada dalam Shopping Cart. Jika pelanggan ingin melakukan pemesanan terhadap produk yang ingin dibelinya maka ia harus menekan tombol ‘Check Out’ untuk melakukan transaksi pemesanan selanjutnya.
Rancangan Layar Data Confirm
78
.
Logout Shopping Cart (2)
on l i n e s h op
Home
. . Orders
Forgot Password?
Contact Us
FAQ
Pleaseensuretheinformation you haveenteredisvalid (Don't leavethemarked*blank)
Nama Bank* xxx No. Rekening* xxx Nama asli* Alamat* RT/RW Kota* Kode Pos* Propinsi
xxx xxx xxx xxx
No. Telp*
xxx
No. HP
xxx
xxx xxx
Cancel
Con fi rm
Gambar 3.21 Layar Data Confirm
Pada gambar 3.21, pelanggan diberikan kesempatan untuk memastikan jika data pada database mengenai pelanggan itu benar. Setelah melakukan pengecekan, pelanggan diharuskan untuk menekan tombol ‘Confirm’ untuk menyelesaikan proses pemesanan.
Rancangan Layar Transaction Completed
on l in e s h op Transaction order completed ! Pleasecheck your email for further information. Or you couldcheck your order status here. OK
Gambar 3.22 Layar Transaction Completed
79
Jika proses transaksi pemesanan telah selesai dilakukan, maka pelanggan akan diberikan tampilan seperti gambar 3.22. Informasi mengenai status pemesanan dapat dilihat dengan menekan link ‘check your order status here’. Sedangkan tombol ‘OK’ akan membawa pelanggan balik ke halaman Home.
Rancangan Layar Orders
Logout|Shopping Cart (2)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
username'sOrder Status Order Code
Order Date
Product Name
Quantity
View Current Order
Price Order Status
Payment Status
Continue Shopping
Order Payment transfer information
Payment for Order Code : Transfer date :
Amount : Rp
Transfer number :
account information
Full name : Account Number :
Bank's name : SEND
Gambar 3.23 Layar Orders
Detail dari status pemesanan yang pernah dilakukan oleh pelanggan dapat dilihat seperti gambar 3.23. Status pemesanan yang baru dilakukan
80
adalah Pending. Jika pelanggan telah melakukan pembayaran atas pemesanan tersebut, maka statusnya adalah Paid. Pelanggan dapat memberikan detail mengenai transfer pembayaran melalui halaman Orders dengan mengisi formulir Order Payment. Status mengenai detail pembayaran dapat dilihat pada tabel Order Status pada kolom Payment Status. Pesanan yang belum dibayar tidak mempunyai status Unpaid. Pesanan yang pembayarannya belum diverifikasi memiliki status Pending. Pesanan yang pembayarannya telah diverifikasi dan tidak memiliki masalah, memiliki status Succeed. Pesanan yang pembayarannya telah diverifikasi dan memiliki masalah, memiliki status Failed.
Rancangan Layar Past Purchases
Logout|Shopping Cart (2)|Orders|My Profile|Forgot Password?
on l in e s h op
Home
Contact Us
FAQ
username'spast purchaseshistory Order Code
Order Date
Product Name
V iew C u rren t O rd er
Quantity
Price Order Status
Continue Shopping
Gambar 3.24 Layar Past Purchases
Pemesanan yang telah memiliki status ‘Cancelled’ dan ‘Delivered’ akan dikategorikan sebagai transaksi pembelian yang telah terjadi. Maka kedua status tersebut dikategorikan sebagai past purchases. Sejarah dari
81
setiap pembelian yang pernah dilakukan oleh pelanggan akan ditempat seperti dalam gambar 3.24.
3.2.4.2 Rancangan layar untuk Admin Rancangan Layar Login Admin
on l in e s h op Username Password Login
Gambar 3.25 Layar Login Admin
Untuk memasuki halaman utama admin, Setiap admin diharuskan untuk melakukan proses login terlebih dahulu. Tampilan halaman login dapat dilihat pada gambar 3.25.
Rancangan Layar Admin Home
82
Logout | Change Password | Add Admin
on l in e s h op
Orders
Products
Users
RODALINK ADMINISTRATOR"SPAGE
Gambar 3.26 layar Admin Home
Gambar 3.26 adalah tampilan dari halaman depan untuk administrator.
Rancangan layar Admin Orders
83
.
Logout Change Password
on l in e s h op Orders
Orders
Products
View Status : Pending
View
Paid Delivered Cancelled
Order Date Product Name
Order Number Product Code Quantity Unit Price
Users
Delivery Date Total Payment
Customer
Name : Email : Bank : Account Number:
Transfer
Date : Number : Amount : Rp. unpaid
pending
succeed
failed
ORDER STATUS PAID
PENDING
DELIVERED
Order Date Product Name Delivery Date Total Payment
Order Number Product Code Quantity Unit Price Customer
Transfer
CANCELLED
Name : Email : Bank : Account Number: Date : Number : Amount : Rp.
unpaid
succeed
pending
failed
ORDER STATUS PAID
PENDING
DELIVERED
CANCELLED
Page : 1 | 2 |All
Gambar 3.27 layar Admin Orders
Pada gambar 3.27, admin dapat mengubah status setiap pemesanan yang telah pelanggan lakukan. Untuk memudahkan penggunaan, pemesanan dapat dikelompokan berdasarkan status yang dimiliknya.
Rancangan layar Admin Products
84
Logout | Change Password | Add Admin
on l in e s h op Add Products Edit Products
Orders
Products
Users
Add Products
#A B C D E F G H I J K L M N OP Q R STU V W XY Z
Searc h
Product Name Product Code Description : DELETE Product Name Product Code Description : DELETE
Delete Products
Delete Products
Gambar 3.28 layar Admin Products
Gambar 3.28 menunjukkan tampilan dimana admin dapat menambah dan mengubah data mengenai produk yang dijual. Disediakan pula link alfabetis dan fungsi pencarian untuk mencari produk dengan mudah. Untuk menghapus satu atau beberapa produk sekaligus, admin dapat menekan kotak pilihan ‘DELETE’, kemudian menekan tombol ‘Delete Products’ untuk melakukan perubahan pada database. Untuk mengubah informasi suatu produk yang sudah ada, admin hanya menekan link pada gambar produk tersebut atau link pada nama produk tersebut kemudian akan terbuka halaman selanjutnya untuk mengubah informasi dari produk tersebut. Jika ingin menambah detail dari produk baru maka tombol ‘Add Products’ harus ditekan.
85
Rancangan layar Edit Products
Logout | Change Password | Add Admin
on l in e s h op Edit Products Name Type Price Category Short Description
Orders
Products
Users
xxx PCS
xxx xxx
Or
##PICK HERE !##
xxx
Whole Description xxx
Thumbnail Picture xxx | delete | Change Thumbnail Picture xxx | delete | Change Picture Picture Status A ctive Special Yes Res et
B row se
Brows e
Can cel
Save Changes
Gambar 3.29 layar Edit Products
Pada gambar 3.29, informasi mengenai suatu produk akan ditampilkan dalam field yang sesuai sehingga admin dapat melihat informasi yang terdahulu sebelum menggantinya. Setelah admin mengganti nilai pada field yang ingin diganti, tombol ‘Save Changes’ ditekan untuk menyimpan perubahan.
Rancangan layar Add Products
86
Logout | Change Password | Add Admin
Orders
Products
Users
Add Products xxx xxx
Type PCS Price xxx Category xxx Short Description xxx
Or
##PICK HERE !##
Whole Description xxx
Change Thumbnail Change Picture Picture Status Special
Browse Browse
Active
Yes
Reset
Cancel
Add
Gambar 3.30 layar Add Products
Gambar 3.30 adalah tampilan dimana admin memasukkan informasi suatu produk baru. Ada beberapa field yang harus diisi agar dapat disimpan ke dalam database. Field-field tersebut adalah Product Code dan Product Name. Field Status digunakan untuk menunjukkan apakah produk tersebut dapat dilihat oleh pelanggan atau tidak. Setelah admin mengisi semua field yang diperlukan, maka tombol ‘Add Products’ harus ditekan untuk menyimpannya ke dalam database.
Rancangan layar Users
87
Logout | Change Password | Add Admin
on l in e s h op Edit Users
Products
Orders
Searc h
#A B C D E F G H I J K L M N OP Q R STU V W XY Z User Name Email Address User Name Email Address User Name Email Address
Delete Users
Users
DELETE
DELETE
DELETE
Delete Users
Gambar 3.31 layar Users
Admin dapat mengatur dan melihat data pelanggan yang telah teregistrasi. Edit users digunakan untuk melihat data sekaligus mengedit data milik pelanggan. Sedangkan untuk menghapus account milik pelanggan disediakan kotak pilihan untuk memilih account mana saja yang ingin dihapus, kemudian tombol ‘Delete Users’ ditekan untuk menghapusnya dari database.
Rancangan layar Edit User
88
Logout | Change Password | Add Admin
Orders
Products
Users
Edit User User Code
xxx
User Name
xxx
Password
xxx
Email
xxx
Real Name
xxx
Address
xxx
RT/RW
xxx
Town
xxx
Province
xxx
Postal Code
xxx
Home Number
xxx
Cell Number
xxx
Nama Bank Nomor Rekening
xxx
Cancel
xxx Reset
Save Changes
Gambar 3.32 layar Edit Users
Pada gambar 3.32 admin dapat melihat dan mengubah data milik pelanggan. Jika telah melakukan perubahan, maka tombol ‘Save Changes’ ditekan untuk menyimpannya ke dalam database.
Rancangan layar Change Password
89
Logout | Change Password | Add Admin
on l in e s h op Change Password
Orders
Products
Users
New Password Confirm New Password C h an ge
Gambar 3.33 layar Change Password
Pada gambar 3.33 terdapat dua field untuk memastikan password baru yang dimasukkan oleh admin. Jika salah satu dari kedua field tersebut tidak cocok dengan yang lainnya, maka perubahan tidak jadi dilakukan.
Rancangan layar Add Admin
Logout | Change Password | Add Admin
on l in e s h op Add Admin
Orders
Username Password Verify Password Superior Add
Manage Admin Username
xxx xxx
Password
xxx xxx Up date
Superior
Delete
Products
Users
90 Gambar 3.34 layar Add Admin
Layar Add Admin adalah tampilan dari suatu halaman yang hanya dapat diakses oleh admin yang memiliki status ‘superior’ saja. Hal ini dikarenakan admin mempunyai fungsi untuk menghapus sesama admin lainnya dan juga menambah pengguna lain untuk menjadi admin.
3.2.5 Struktur Menu 3.2.5.1 Struktur Menu User
Gambar 3.35 Struktur Menu User
Gambar 3.35 adalah struktur menu dari situs web Rodalink yang dirancang untuk pelanggan.
‘Awal’ adalah halaman pertama dari situs
tersebut. Menu ‘Home’ mengacu untuk kembali pada halaman awal. Menu ‘Login’ digunakan untuk pelanggan dalam melakukan login dan registrasi. Pelanggan dapat memilih jenis kategori yang diinginkannya dari daftar menu ‘Categories’. Menu ‘Cart’ berisi informasi mengenai produk yang telah dipilih oleh pelanggan. Menu ‘Orders’ berisi sejarah pemesanan dan status pemesanan barang yang telah dilakukan oleh pelanggan. Menu ‘FAQ’ berisi
91
langkah-langkah dan prosedur untuk melakukan pemesanan dan lain-lain. Menu ‘Contact Us’ berisi fasilitas dan informasi yang memungkinkan pelanggan untuk berkomunikasi dengan pihak Rodalink. Jika pelanggan melupakan password atau usernamenya, maka ia dapat memperolehnya melalui email dengan memberikan alamat email miliknya yang telah tergistrasi untuk di-reply balik.
3.2.5.2 Struktur Menu Admin
Gambar 3.36 Struktur Menu Admin
Gambar 3.36 adalah struktur menu dari situs yang digunakan oleh admin untuk mengatur data yang digunakan pada sistem penjualan online Rodalink. Menu ‘Home’ mengacu kepada halaman awal. Menu ‘Products’ memiliki tiga sub menu untuk menambah jenis produk, mengurangi jenis produk, dan mengubah data mengenai produk yang sudah ada. Menu ‘Edit
92
Status Order’ menunjukkan kondisi atau status pemesanan yang telah dilakukan oleh pelanggan. Pemesanan yang baru memiliki status ‘PENDING’. Pemesanan yang telah dibayar oleh pemesannya memiliki status ‘PAID’. Pemesanan yang telah dikirim kepada pemesan memiliiki status ‘DELIVERED’. Sedangkan pemesanan yang batal memiliki status ‘CANCELLED’. Menu ‘Users’ memiliki sub menu yang digunakan untuk melihat informasi rinci mengenai pelanggan, memanipulasi data pelanggan, dan menhapus data pelanggan. Menu ‘log out’ akan menghapus cookies yang berisi data registrasi admin yang ada pada komputernya. Menu ‘Change Password’ digunakan untuk merubah password milik admin.
3.2.6 State Transition Diagram 3.2.6.1 Rancangan STD Untuk User
93 Gambar 3.37 STD Menu Utama
STD Menu Utama •
Setelah pelanggan memasukkan URL Rodalink, maka halaman Home akan terbuka.
•
Halaman Home dan beberapa halaman lainnya memiliki beberapa menu utama yang dapat dipilih oleh user.
•
Home Input keyword, klik Search Tampil halaman Search
Klik Home Tampil halaman Home
Search
Product Klik 'More information' Tampil halaman Product Gambar 3.38 STD Search
STD Search •
Pelanggan yang ingin mencari suatu produk, dapat mengetik nama produknya pada kolom input yang disediakan dan menggunakan tombol ‘Search’ untuk menampilkan hasil pencarian.
•
Produk-produk yang memiliki nama sesuai keyword yang dicari oleh pelanggan akan ditampilkan di sebelah kanan layar.
94 •
Link ‘More Detail’ terdapat pada setiap produk yang ditampilkan dan berfungsi untuk menampilkan halaman yang lebih detail mengenai produk-produk tersebut.
Home Klik Categories:Shifter Tampil Categories: Shifter
Shifter
Klik Klik Categories:Hubs Categories:... Tampil Categories: Tampil Categories: Hubs ...
Hubs
...
Klik 'More Information Tampil Product
Product Gambar 3.39 STD Kategori
STD Kategori •
Semua kategori yang ada pada daftar produk yang dijual akan ditampilkan dalam satu baris sehingga pelanggan dapat dengan cepat mengakses kategori dari produk yang diinginkannya.
•
Produk yang memiliki kategori sesuai dengan yang dipilih akan ditampilkan di sebelah kanan layar.
95 •
Link ‘More Detail’ terdapat pada setiap produk yang ditampilkan dan berfungsi untuk menampilkan halaman yang lebih detail mengenai produk-produk tersebut.
Gambar 3.40 STD Product
STD Product •
Jika pelanggan ingin memasukkan suatu produk ke dalam Shopping Cart miliknya, maka ia harus menekan tombol ‘Add to Cart’
96
Gambar 3.41 STD Orders
STD Orders •
Pelanggan dapat melihat pemesanan yang sedang belum dikirim pada halaman Orders dan pemesanan yang telah dikirim pada halaman Past Purchases.
•
Pelanggan yang ingin memasukkan bukti pembayaran terhadap pemesanan dapat mengisi form dan menekan tombol ‘Send’ untuk memasukkannya ke dalam database. Kemudian halaman Orders ditampilkan kembali dengan status pembayaran yang telah diubah.
97
Gambar 3.42 STD Shopping Cart
STD Shopping Cart •
Pelanggan yang belum login tidak dapat mengakses halaman Shopping Cart dan dialihkan kepada halaman Login.
•
Jika pelanggan ingin melakukan pemesanan terhadap produk-produk yang telah dimasukkan ke dalam Shopping Cart maka pelanggan tersebut harus melakukan Check Out dengan menekan tombol ‘Check Out’ pada halaman Shopping Cart.
98 •
Pada halaman Data Confirm, data mengenai pelanggan tersebut ditampilkan sehingga pelanggan dapat melakukan perbaikan dan perubahan terhadap data tersebut.
Gambar 3.43 STD User Login
STD User Login •
Untuk pelanggan yang belum melakukan proses login atau tidak memiliki cookies yang berisi username dan password, halaman untuk
99
melakukan proses login akan ditampilkan jika pelanggan tersebut menekan link login atau mencoba untuk membuka halaman-halaman yang memerlukan data dari database pelanggan, seperti halaman Shopping Cart, Orders, dan My Profile. •
Pelanggan yang belum memiliki username dan password untuk melakukan proses login, harus melakukan registrasi terlebih dahulu.
•
Pelanggan yang lupa akan username atau password miliknya dapat memperoleh kembali username atau password tersebut melalui email.
•
Hal tersebut dapat dilakukan dengan syarat bahwa email yang dimasukkan oleh pelanggan tersebut adalah sama dengan alamat email pada data registrasi milik pelanggan itu.
3.2.6.2 Rancangan STD Untuk Admin
100
Gambar 3.44 STD Admin Login
STD Admin Login •
Sebelum admin dapat memasuki halaman utama admin, ia harus melakukan proses login terlebih dahulu.
•
Setelah login berhasil, maka tampil halaman utama dengan beberapa menu yang tersedia.
101
Gambar 3.45 STD Admin Orders
STD Admin Orders •
Link ‘Pending’, ‘Succeed’,dan ‘Failed’ yang berada di sebelah kiri STD pada gambar berguna untuk merubah status pembayaran atas suatu pemesanan. Sedangkan link ‘Paid’, ‘Canceled’, dan ‘Delivered’ yang berada di sebelah kanan STD berguna untuk merubah status pemesanan. Jika link tersebut di-klik, maka halaman Admin Orders akan di-refresh kembali untuk menyesuaikan tampilannya dengan perubahan pada database yang terjadi.
•
Tombol ‘Show’ memiliki beberapa nilai, yaitu Pending, Paid, Delivered, Canceled, dan All. Tombol tersebut berfungsi untuk menampilkan pemesanan dengan status yang ingin dilihat. Sebagai contoh, Tombol ‘show’ = ‘Pending’ akan menampilkan pemesanan yang berstatus ‘Pending’ saja.
102
Gambar 3.46 STD Admin Products
STD Admin Products •
Pada menu products terdapat 3 pilihan, yaitu untuk menambah produk, menghapus produk, dan mengubah informasi pada produk yang sudah ada.
103
Gambar 3.47 STD Users
STD Users •
Pada menu users terdapat 2 pilihan, yaitu untuk menghapus user, dan mengubah informasi pada user yang sudah ada.
104 Gambar 3.48 STD Add Admin
STD Add Admin •
Hanya admin yang memiliki status Superior saja yang dapat menambah admin atau mengedit daftar admin lainnya.
3.2.7 Spesifikasi Proses 3.2.7.1 Spesifikasi Proses Untuk User FUNCTION main_link BEGIN CASE link : home START MODUL home CASE link : login START MODUL login CASE link : logout DESTROY user_id START MODUL home CASE link : search //kirim input field keyword//ke modul search_result PASS INPUT FIELD keyword START MODUL search_result CASE link : forgot_password
105
START MODUL forgot_password CASE link : products START MODUL products CASE link : shopping_cart START MODUL shopping_cart CASE link : orders START MODUL orders CASE link : contact_us START MODUL contact_us CASE link : faq START MODUL faq END FUNCTION
MODUL home BEGIN //cek jika pelanggan telah teregistrasi sebelumnya READ user_id IF user_id IS TRUE THEN SHOW link_logout 'ambil jumlah produk yg ada pada cart item_number = COUNT db_products FROM-database_cart WHERE db_user_id = user_id ELSE DISPLAY link_login
106
//jumlah produk yg berada pada cart item_number = 0 END IF OPEN PAGE home READ db_categories FROM database_products //ambil jenis-jenis kategori yang ada WHILE NOT EOF (dbcategories) SHOW link_categories READ NEXT db_categories END WHILE //cari 3 produk dg status spesial secara acak FOR (i=1;i++;i<3) READ RANDOM db_products FROM database_products-WHERE db_special IS TRUE SHOW link_products END FOR DO CASE START FUNCTION main_link END CASE END MODUL
MODUL login BEGIN OPEN PAGE login
107
DO CASE CASE link : register START MODUL register CASE link : login READ db_username FROM database_users WHERE-db_username=field_username-AND db_password=field_password IF db_username NOT EOF THEN WRITE COOKIES user_id START MODUL home ELSE SHOW ERROR MESSAGE : password invalid START MODUL login END IF START FUNCTION main_link END CASE END MODUL
MODUL register BEGIN OPEN PAGE register DO CASE CASE link : reset RESET ALL FIELDS
108
CASE link : submit IF ALL FIELDS IS TRUE THEN INSERT ALL FIELDS INTO database_users WRITE COOKIES user_id START MODUL home ELSE SHOW ERROR MESSAGE : field has null value START MODUL register END IF START FUNCTION main_link END CASE END MODUL
MODUL search_result BEGIN //terima input field keyword dari modul Home RECEIVE INPUT FIELD keyword //cari nama produk yg diinginkan dr database READ db_products FROM database_productsWHERE db_name = keyword IF db_products IS TRUE THEN OPEN PAGE search_result WHILE NOT EOF(db_products) SHOW db_products
109
READ NEXT db_products END WHILE ELSE SHOW ERROR MESSAGE : not found START MODUL home END IF DO CASE START FUNCTION main_link END CASE END MODUL
MODUL categories BEGIN OPEN PAGE categories
MODUL products BEGIN RECEIVE product_id READ ALL FROM database_products WHERE-db_product_id = product_id READ ALL FROM database_product_reviews WHERE-db_product_id = product_id OPEN PAGE products
110
DO CASE CASE link : add_to_cart PASS product_id START MODUL shopping_cart CASE link : add_review PASS product_id START MODUL add_review START FUNCTION main_link END CASE END MODUL
MODUL add_review BEGIN RECEIVE product_id DO CASE CASE link : reset RESET ALL INPUT FORM CASE link : send IF ALL FIELDS VALUE IS TRUE THEN UPDATE database_product_reviews START MODUL products ELSE SHOW ERROR MESSAGE : field has null value START MODUL contact_us
111
END IF START FUNCTION main_link END CASE END MODUL
MODUL forgot_password BEGIN OPEN PAGE forgot_password DO CASE CASE link : submit //input field tidak diisi IF FIELD IS FALSE THEN SHOW ERROR MESSAGE : field has null value START MODUL forgot_password ELSE //cari data pemilik email READ db_username & db_password-FROM database_users WHERE db_email = field_email IF NOT EOF(db_username&db_password)THEN INSERT db_username AND db_pasword-INTO EMAIL
112
SEND EMAIL to field_email END IF END IF START FUNCTION main_link END CASE END MODUL
MODUL shopping_cart BEGIN OPEN PAGE shopping_cart READ user_id //mengetahui jika user telah login IF user_id IS FALSE THEN SHOW ERROR MESSAGE : not logged in START MODUL login ELSE //masukkan produk yg ingin dibeli(jika ada)ke database cart READ product_id IF product_id IS TRUE THEN INSERT product_id INTO database_cart WHERE-db_user_id=user_id END IF
113
READ db_products FROM database_cart WHERE db_user_id=user_id //tampilkan produk yang sudah dimasukkan ke dalam cart WHILE NOT EOF(db_products) SHOW db_products READ NEXT db_products END WHILE END IF DO CASE CASE link : update UPDATE database_cart START MODUL shopping_cart CASE link : continue_shopping START MODUL home CASE link : check_out PASS INPUT FORM cart_details START MODUL check_out START FUNCTION main_link END CASE END MODUL
MODUL check_out BEGIN
114
RECEIVE INPUT FORM cart_details READ user_id //baca informasi database milik pelanggan READ db_user_detail FROM database_users-WHERE db_user_id=user_id OPEN PAGE check_out SHOW db_user_detail DO CASE //pastikan data pelanggan benar CASE link : confirm IF ALL FIELDS IS TRUE THEN UPDATE database_users PASS INPUT FORM cart_details START MODUL confirm ELSE SHOW ERROR MESSAGE : field has null value START MODUL confirm END IF START FUNCTION main_link END CASE END MODUL
MODUL confirm
115
BEGIN RECEIVE INPUT FORM cart_details //lakukan transaksi pemesanan INSERT cart_details INTO order_details DELETE cart_details //pemesanan telah dilakukan OPEN PAGE confirm DO CASE CASE link : continue START MODUL home END CASE END MODUL
MODUL orders BEGIN READ user_id IF user_id IS TRUE THEN OPEN PAGE orders READ order_details FROM orders WHERE db_user_id=user_id-AND db_status IS NOT delivered SHOW order_details DO CASE CASE link : past_purchases START MODUL past_purchases
116
CASE link : continue_shopping START MODUL home CASE link : send IF ALL FIELDS VALUE IS TRUE THEN UPDATE database_transfer AND-database_orders START MODUL contact_us ELSE SHOW ERROR MESSAGE : field has null value START MODUL contact_us END IF START FUNCTION main_link END CASE ELSE SHOW ERROR MESSAGE : not logged in START MODUL login END IF END MODUL
MODUL past_purchases BEGIN READ user_id
117
IF user_id IS TRUE THEN OPEN PAGE past_purchases READ order_details FROM orders WHERE db_user_id=user_id AND db_status IS delivered SHOW order_details DO CASE CASE link : orders START MODUL orders CASE link : continue_shopping START MODUL home START FUNCTION main_link END CASE ELSE SHOW ERROR MESSAGE : not logged in START MODUL login END IF END MODUL
MODUL contact_us BEGIN OPEN PAGE contact_us DO CASE CASE link : reset
118
RESET ALL INPUT FORM CASE link : send IF ALL FIELDS VALUE IS TRUE THEN EMAIL TO :
[email protected] START MODUL contact_us ELSE SHOW ERROR MESSAGE : field has null value START MODUL contact_us END IF START FUNCTION main_link END CASE END MODUL
3.2.7.1 Spesifikasi Proses Untuk Admin MODUL admin_login BEGIN OPEN PAGE admin_login DO CASE CASE link : login READ db_username FROM database_admin WHERE-db_username=field_username-AND db_password=field_password IF db_admin NOT EOF THEN WRITE COOKIES admin_id
119
START MODUL home ELSE SHOW ERROR MESSAGE : password invalid START MODUL login END IF END CASE END MODUL
FUNCTION admin_main_link BEGIN CASE link : orders START MODUL orders CASE link : users START MODUL users CASE link : products START MODUL products CASE link : change_password START MODUL change_password CASE link : add_admin START MODUL add_admin CASE link : logout DESTROY admin_id START MODUL admin_login END FUNCTION
120
MODUL admin_home BEGIN READ admin_id IF admin_id IS NOT TRUE THEN START MODUL admin_login ELSE OPEN PAGE admin_home DO CASE START FUNCTION admin_main_link END CASE END IF END MODUL
MODUL orders BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF OPEN PAGE orders READ ALL FROM database_transfer WHERE-
121
-db_transfer_order_id = db_order_id DO CASE CASE link : view IF view IS pending THEN READ db_product_details-FROM database_products-WHERE db_product_status IS pending WHILE NOT EOF(db_product_details) SHOW db_product_details READ NEXT db_product_details END WHILE ELSE IF view IS paid THEN READ db_product_details-FROM database_products-WHERE db_product_status IS paid WHILE NOT EOF(db_product_details) SHOW db_product_details READ NEXT db_product_details END WHILE ELSE IF view IS delivered THEN READ db_product_details-FROM database_products-WHERE db_product_status IS delivered WHILE NOT EOF(db_product_details)
122
SHOW db_product_details READ NEXT db_product_details END WHILE ELSE IF view IS cancelled THEN READ db_product_details-FROM database_products-WHERE db_product_status IS cancelled WHILE NOT EOF(db_product_details) SHOW db_product_details READ NEXT db_product_details END WHILE CASE link : paid IF db_transfer_status IS NOT unpaid AND-db_product_status IS pending THEN UPDATE db_product_status VALUES paid-WHERE db_product_id=field_product_id END IF MODUL orders CASE link : delivered IF db_transfer_status IS succeed AND-db_product_status IS paid THEN UPDATE db_product_status VALUES delivered-WHERE db_product_id=field_product_id END I
123
MODUL orders CASE link : cancelled IF db_product_status IS NOT delivered THEN UPDATE db_product_status VALUES cancelled-WHERE db_product_id=field_product_id END IF MODUL orders START FUNCTION admin_main_link END CASE END MODUL
MODUL products BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF OPEN PAGE products DO CASE CASE link : add_product START MODUL add_product CASE link : view_criteria
124
READ db_product_details FROM database_products-WHERE db_product_name=view_criteria WHILE NOT EOF(db_product_details) SHOW db_product_details READ NEXT db_product_details END WHILE CASE link : product_name PASS FIELD product_name START MODUL edit_product CASE link : delete_product DELETE db_product_details FROM database_products-WHERE db_product_name=checked_product_name START MODUL products START FUNCTION admin_main_link END CASE END MODUL
MODUL add_product BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login
125
END IF OPEN PAGE add_product DO CASE CASE link : cancel START MODUL products CASE link : reset RESET ALL FORM FIELDS CASE link : add_products IF ALL FIELDS IS TRUE THEN INSERT ALL FIELDS INTO database_products ELSE SHOW ERROR MESSAGE : field has null value START MODUL add_product END IF START FUNCTION admin_main_link END CASE EBD MODUL
MODUL edit_product BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login
126
END IF RECEIVE FIELD product_name READ db_product_details FROM database_products-WHERE db_product_name=product_name OPEN PAGE edit_product SHOW db_product_details DO CASE CASE link : cancel START MODUL products CASE link : reset RESET ALL FORM FIELDS CASE link : save_changes IF ALL FIELDS IS TRUE THEN UPDATE ALL FIELDS INTO database_products-WHERE db_product_name=product_name ELSE SHOW ERROR MESSAGE : field has null value START MODUL edit_product END IF START FUNCTION admin_main_link END CASE END MODUL
127
MODUL users BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF OPEN PAGE users DO CASE CASE link : view_criteria READ db_user_details FROM database_user-WHERE db_user_name=view_criteria WHILE NOT EOF(db_user_details) SHOW db_user_details READ NEXT db_user_details END WHILE CASE link : user_name PASS FIELD user_name START MODUL edit_user CASE link : delete_user DELETE db_user_details FROM database_user-WHERE db_user_name=checked_user_name START MODUL user
128
START FUNCTION admin_main_link END CASE END MODUL
MODUL edit_user BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF RECEIVE FIELD user_name READ db_user_details FROM database_users-WHERE db_user_name=user_name OPEN PAGE edit_user SHOW db_user_details DO CASE CASE link : cancel START MODUL users CASE link : reset RESET ALL FORM FIELDS CASE link : save_changes IF ALL FIELDS IS TRUE THEN UPDATE ALL FIELDS INTO database_users-
129
-WHERE db_users_name=users_name ELSE SHOW ERROR MESSAGE : field has null value START MODUL edit_user END IF START FUNCTION admin_main_link END CASE END MODUL
MODUL change_password BEGIN READ admin_id IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF OPEN PAGE change_password DO CASE CASE link : change IF new_pass=check_pass IS TRUE THEN UPDATE db_password VALUES new_pass-FROM database_admin WHERE-db_admin_id=admin_id ELSE
130
SHOW ERROR MESSAGE : type new password again START MODUL change_password END IF START FUNCTION admin_main_link END CASE END MODUL
MODUL add_admin BEGIN READ admin_id AND admin_superior IF admin_id IS NOT TRUE THEN EXIT MODUL START MODUL admin_login END IF IF admin_superior IS NOT TRUE THEN EXIT MODUL START MODUL admin_home END IF OPEN PAGE add_admin READ ALL FROM database_adminWHERE db_admin_id IS NOT admin_id WHILE NOT EOF(db_admin_id) SHOW ALL FROM database_admin
131
READ NEXT db_admin_id END WHILE DO CASE CASE link : add_admin IF ALL FIELDS VALUE IS TRUE THEN UPDATE database_admin START MODUL add_admin ELSE SHOW ERROR MESSAGE : please correctly insert field START MODUL add_admin END IF CASE link : update IF superior IS NOT NULL THEN UPDATE database_admin END IF IF delete IS NOT NULL THEN UPDATE database_admin END IF START MODUL add_admin START FUNCTION admin_main_link END CASE END MODUL