1 PEMBUATAN APLIKASI MOBILE WEBSITE M-COMMERCE UNTUK BATIK SOLO TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat Untuk Mencapai Gelar Ahli Madya ...
PEMBUATAN APLIKASI MOBILE WEBSITE M-COMMERCE UNTUK BATIK SOLO
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Untuk Mencapai Gelar Ahli Madya Program Diploma III Teknik Informatika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sebelas Maret
Disusun Oleh :
PRISANTYA MAGHRIBI FRIDAYANA NIM. M3209066
PROGRAM DIPLOMA III TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET 2012
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
commit to user ii
perpustakaan.uns.ac.id
digilib.uns.ac.id
commit to user iii
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRACT
Prisantya Maghribi Fridayana. 2012. BUILDING M-COMMERCE MOBILE WEB FOR SOLO BATIK. Diploma III Informatics Engineering Matematika and Nature Science Faculty. Sebelas Maret University Surakarta. Juny 2012. The number of mobile users, such as mobile phone, smartphone or tablet from year to year is increase. Based on Effective Measure, in 2011 there are as much as 61.88 percent of Internet users access via mobile phones in Indonesia. This number is directly proportional to the needs of the Internet in accessing information. These developments have an impact on the commercial sector by the appearance of a new term, m-commerce. Batik product itself was very familiar in commercial activities. Implementation of technology in batik marketing is expected to increase profits. Therefore, as an alternative m-commerce, especially mobile web, needed in market batik product. For the first step of making this application is by designing requirements through the SRS system and then designing UML (Use Case Diagram, Activity Diagram, Class Diagram and Sequence Diagram). From the system design then continued designing database and interface. The development of this mobile web applications is using CodeIgniter framework version 2.1.0 with programming language PHP version 5.3.1 and MySQL database version 3.2.4. The result of the application m-commerce, mobile web Solo batik such as transaction activity, account setting, report and accessible via mobile. For the administrator, there are product management, shipping management, web information management and order management. For the manager, it can received reports of transactions in a specified period. In system, there is checking about the status of order. If in 3 days, no payment confirmation, order automatically canceled and stock restored. Keyword : Online Store, M-Commerce, Mobile Web, framework CodeIgniter, Batik Solo.
commit to user iv
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRAK Prisantya Maghribi Fridayana. 2012. PEMBUATAN APLIKASI MOBILE WEBSITE M-COMMERCE UNTUK BATIK SOLO, Diploma III Teknik Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret Surakarta. Juni 2012. Jumlah pengguna mobile, seperti handphone, smartphone ataupun tablet dari tahun ke tahun semakin meningkat. Berdasarkan Effective Measure, pada tahun 2011 sebanyak 61,88 persen dari pengguna Internet Indonesia mengakses melalui ponsel. Peningkatan ini berbanding lurus dengan kebutuhan internet untuk mengakses informasi. Perkembangan ini berdampak pada sektor komersial dengan munculnya istilah baru m-commerce. Produk batik sendiri sudah sangat familiar dalam kegiatan perdagangan. Penerapan teknologi dalam pemasaran batik diharapkan dapat meningkatkan keuntungan. Oleh karena itu, dibutuhkan alternatif implementasi teknologi m-commerce, khususnya mobile web dalam memasarkan produk batik. Tahap awal pembuatan aplikasi ini dengan merancang kebutuhan sistem melalui SRS lalu kemudian perancangan UML (Use Case Diagram, Activity Diagram, Class Diagram dan Sequence Diagram). Dari perancangan sistem tersebut kemudian dilanjutkan perancangan database dan desain interface. Pembuatan aplikasi mobile web ini menggunakan framework CodeIgniter versi 2.1.0 dengan bahasa pemrograman PHP versi 5.3.1 dan database MySQL versi 3.2.4. Terbangunnya aplikasi mobile web m-commerce batik Solo meliputi kegiatan transaksi jual-beli, pengaturan account dan dapat diakses melalui mobile. Untuk admin meliputi manajemen produk, pengiriman, informasi web dan manajemen pesanan. Untuk manajer, mendapat laporan kegiatan transaksi dalam kurun waktu tertentu. Pada sistem, terdapat pengecekan status order. Jika lebih dari 3 hari tidak terdapat konfirmasi pembayaran, maka pesanan otomatis dibatalkan dan stok dikembalikan. Kata Kunci : Aplikasi toko online, M-Commerce, Mobile Web, framework CodeIgniter, Batik Solo
commit to user v
perpustakaan.uns.ac.id
digilib.uns.ac.id
HALAMAN MOTTO Selesaikan apa yang sudah kamu mulai (Anonim)
Sesungguhnya di balik kesulitah itu ada kemudahan. Di balik kesulitan itu ada kemudahan. (QS: Al-Insyirah 5-6)
commit to user vi
perpustakaan.uns.ac.id
digilib.uns.ac.id
HALAMAN PERSEMBAHAN
Kupersembahkan hasil jerih payah ini untuk : 1. Orang tua-ku dan adik terkasih yang senantiasa mendukung dan menyemangati (Terima kasih yang tiada terkira untuk kalian) 2. Keluarga Besar di Madiun dan di Sragen yang telah banyak banyak membantu selama ini (Terima Kasih dan Semoga Allah membalas kebaikannya) 3. Sahabat-sahabatku sayongs @OGE (feni-zhie-viani) yang selalu dan terus memberikan dukungan penuh. (Terimakasih cinta, terima kasih atas persahabatan manisnya) 4. Teman-teman seperjuangan di D3 TI 2009 yang tidak bisa disebutkan satu per satu. (Terimakasih
atas
semua
semangat,
kebersamaannya)
commit to user vii
bantuan
dan
perpustakaan.uns.ac.id
digilib.uns.ac.id
KATA PENGANTAR
Assalamu’alaykum Warohmatullohi Wabarokatuh. Bismillahirrohmanirrohim, segala puji dan rasa syukur hanya penulis panjatkan ke haribaan Alloh subhanahu wa ta’ala, yang telah melimpahkan segala kemudahannya hingga akhirnya penulis mampu menyelesaikan Tugas Akhir dan menulis laporannya tepat waktu. Dalam pembuatan Tugas Akhir ini termasuk kegiatan pembuatan laporan, penulis banyak mendapat bantuan dari berbagai pihak. Tanpa bantuan Alloh subhanahu wa ta’ala melalui mereka niscaya pembuatan Tugas Akhir ini tidak akan berjalan lancar. Untuk itu sampaikan rasa hormat dan menghaturkan rasa terima kasih kepada: 1.
YS. Palgunadi, selaku Ketua Program Diploma III Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta
2.
Bapak Didiek S. Wiyono, selaku pembimbing, yang telah mengarahkan, selalu memberikan semangat kepada penulis.
3.
Mas Fery Kurniawan dan Mas Yudha S. yang membantu dalam penyediaan data produk batik ini.
4.
Keluarga penulis, yang telah memberikan dorongan dan segala dukungan kepada penulis.
5.
Teman-teman seperjuangan, para OGHE yang selalu menemani dan mendukung setiap saat.
6.
Serta, Teman-teman Teknik Informatika angkatan 2009, yang telah menyediakan waktu untuk membagi ilmu dan gurauan mereka ketika penulis memiliki permasalahan. Namun tidak ada hal yang sempurna di dunia ini, oleh sebab itu penulis
memohon maaf apabila terdapat kekurangan yang dalam laporan Tugas Akhir ini. Wassalamu’alaikum Warohmatullohi Wabarokatuh. Surakarta, 07 Juni 2012
Penulis
commit to user viii
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR ISI Halaman HALAMAN JUDUL ......................................................................................... i HALAMAN PERSETUJUAN ........................................................................... ii HALAMAN PENGESAHAN ............................................................................ iii ABSTRACT ....................................................................................................... iv HALAMAN ABSTRAK ...................................................................................... v HALAMAN MOTTO ........................................................................................ iv HALAMAN PERSEMBAHAN ........................................................................ vii KATA PENGANTAR .......................................................................................viii DAFTAR ISI ..................................................................................................... ix DAFTAR TABEL ............................................................................................. xiii DAFTAR GAMBAR ......................................................................................... xv BAB I
PENDAHULUAN ........................................................................... 1 1.1 Latar Belakang Masalah .................................................................. 1 1.2 Rumusan Masalah............................................................................ 2 1.3 Batasan Masalah .............................................................................. 2 1.4 Tujuan Dan Manfaat ........................................................................ 2 1.5 Metodologi Penelitian ...................................................................... 2 1.6 Sistematika Penulisan ...................................................................... 3
BAB II
LANDASARAN TEORI ................................................................. 4 2.1 E-Commerce .................................................................................... 4 2.2 M-Commerce ................................................................................... 4 2.3 Batik ................................................................................................ 5 2.3.1 Sejarah Perkembangan Batik ................................................... 5 2.4 Framework CodeIgniter .................................................................. 6 2.4.1 Konsep MVC .......................................................................... 6 2.4.2 Library yang Digunakan ......................................................... 6 2.4.3 Helper yang Digunakan .......................................................... 7 2.5 UML................................................................................................ 8 2.5.1 Use Case Diagram ................................................................. 8
commit to user ix
perpustakaan.uns.ac.id
digilib.uns.ac.id
2.5.2 Activity Diagram .................................................................... 9 2.5.3 Class Diagram ....................................................................... 11 2.5.4 Sequence Diagram ................................................................. 12 2.6 MySQL ............................................................................................ 14 2.7 CSS .................................................................................................. 14 2.8 XHTML-MP..................................................................................... 16 BAB III
DESAIN DAN PERANCANGAN ................................................... 19
3.1 Analisa Kebutuhan Sistem ............................................................... 19 3.1.1 Analisa Kebutuhan Software ................................................... 19 3.2 Perancangan Sistem ......................................................................... 19 3.2.1 SRS......................................................................................... 19 3.2.2 Activity Diagram ..................................................................... 21 3.2.2.1 Activity Diagram Login ............................................... 21 3.2.2.2 Activity Diagram Register ........................................... 22 3.2.2.3 Activity Diagram Insert Data ...................................... 22 3.2.2.4 Activity Diagram Update Data .................................... 23 3.2.2.5 Activity Diagram Delete Data ..................................... 23 3.2.2.6 Activity Diagram Order (Pembelian)........................... 24 3.2.3 Use Case Diagram .................................................................. 25 3.2.3.1 Definisi Aktor ............................................................. 25 3.2.3.2 Use Case Diagram ...................................................... 25 3.2.4 Class Diagram Analysis .......................................................... 28 3.2.4.1 Class Diagram Analysis Customer .............................. 28 3.2.4.2 Class Diagram Analysis Admin ................................... 28 3.2.5 Class Diagram Design ............................................................ 29 3.2.5.1 Class Diagram Design Customer ................................ 29 3.2.5.2 Class Diagram Design Admin ..................................... 37 3.2.6 Sequence Diagram .................................................................. 49 3.2.6.1 Sequence Diagram Login ............................................ 49 3.2.6.2 Sequence Diagram Register ........................................ 50 3.2.6.3 Sequence Diagram Update Account ............................ 50
Latar Belakang Masalah Perkembangan bisnis dan teknologi pada saat ini mulai melirik pada mobile device atau perangkat mobile. Masyarakat Indonesia sudah banyak memiliki perangkat mobile, dimulai dari perangkat mobile low end hingga smart phone yang kemampuannya hampir menyamai PC. (http://www.teknojurnal.com). E-commerce kini mulai merambah pada mobile dan lebih dikenal dengan istilah m-commerce. Secara prinsip, m-commerce hampir sama dengan ecommerce yang membedakan hanya perangkat yang digunakan. M-commerce sendiri mengalami perkembangan dengan munculnya berbagai jenis aplikasi dengan basis mobile web atau mobile apps. Berdasarkan data dari Effective Measure, firma yang memiliki spesialisasi dalam pengukuran statistik web, pada tahun 2011 sebanyak 61,88 persen dari pengguna Internet Indonesia mengakses melalui ponsel. Sementara 38,12 persen lainnya mengakses Internet bukan dari ponsel. Masih menggunakan data dari Effective Measure, pengguna internet di Indonesia di tahun 2011 mencapai 39.100.000 orang (peringkat ke-8 di dunia). Jika mengacu pada data tersebut, maka pengguna internet mobile di Indonesia adalah sekitar 24.195.080 orang. Dengan data tersebut, maka penulis memilih untuk membuat aplikasi mcommerce berbasis mobile web. Selain
itu, jangkauan mobile web lebih luas
karena bisa diakses oleh berbagai platform ponsel melalui mobile browser. Produk batik di Solo menjadi favorit baik oleh konsumen domestik maupun luar negeri. Melihat perkembangan bisnis pada sektor mobile seperti yang dijabarkan di atas, maka produk batik ini perlu dipasarkan juga secara mobile. Sehingga bisa meningkatkan kegiatan transaksi untuk produk batik, lebih fleksibel, lebih cepat dan lebih terjangkau. Hal ini sebagai alternatif implementasi teknologi dalam pemasaran produk Batik Solo.
commit to user 1
perpustakaan.uns.ac.id
digilib.uns.ac.id 2
Berdasarkan uraian diatas penulis bermaksud untuk membuat Tugas Akhir dengan judul “Pembuatan Aplikasi Mobile Web M-Commerce untuk Toko Batik Solo” .
1.2
Rumusan Masalah Bagaimana membuat model dan implementasi m-commerce Toko Batik Solo pada mobile web?
1.3
Batasan Masalah 1. Aplikasi ini diakses melalui browser untuk mobile. 2. Aplikasi ini ditujukan untuk sisi user/customer dengan prinsip m-commerce seperti mengadakan transaksi pembelian batik, pembayaran, pengiriman dan melihat katalog produk 3. Aplikasi web ini dibuat dengan menggunakan framework CodeIgniter, database MySQL dan CSS for mobile. 4. Wilayah transaksi berada di Indonesia dan pembayaran secara manual 5. Laporan Pada sisi manajer dalam bentuk grafik
1.4
Tujuan dan Manfaat Tujuan dari pembuatan Tugas Akhir ini yaitu dapat membuat aplikasi mobile web m-commerce untuk Toko Batik Solo. Manfaat dari pembuatan Tugas Akhir ini yaitu memberi kemudahan dalam kegiatan transaksi untuk customer dan juga pemilik.
1.5
Metodologi Penelitian Adapun tahap-tahap dalam melakukan perancangan dan pembuatan aplikasi mcommerce pada mobile web ini antara lain sebagai berikut : 1. Studi pustaka, pada tahap ini dilakukan studi untuk memahami pemrograman PHP khususnya framework CodeIgniter, CSS untuk mobile, XHTML-MP, UML dan m-commerce itu sendiri.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 3
2. Perencanaan sistem, pada tahap ini dilakukan perancangan sistem yang meliputi: rancangan desain tampilan aplikasi, rancangan sistem dan rancangan database-nya. 3. Pembuatan aplikasi yang mencakup user/pengunjung, manajer dan admin. 4. Pengujian system. Pengujian dilakukan dengan browser mobile emulator untuk menguji apakah aplikasi dapat berjalan dengan baik pada berbagai platform mobile. 5. Penyusunan laporan, pada tahap ini dilakukan penyusunan laporan lengkap dan detail tentang aplikasi yang dibuat.
1.6
Sistematika Penulisan Sistematika yang digunakan dalam penulisan ini disusun dalam lima bab meliputi : BAB I
Pendahuluan
Dalam bagian pendahuluan akan dijelaskan tentang latar belakang masalah, batasan masalah, tujuan dan manfaat penelitian, metode penyelesaian masalah, serta sistematika penulisan laporan. BAB II
Landasan Teori
Berisi teori yang mendasari penyusunan dan penulisan tugas akhir. BAB III
Desain dan Perancangan
Berisi tentang perancangan aplikasi meliputi perancangan sistem menggunakan UML (Unified Modeling Language) dan perancangan database menggunakan Skema Diagram. BAB IV
Implementasi dan Analisa
Memuat hasil dari analisis dan perancangan sistem yang ditampilkan dalam bentuk aplikasi yang diharapkan. BAB V
Penutup
Merupakan bab terakhir yang memuat kesimpulan dari aplikasi ini secara keseluruhan untuk diimplementasikan serta saran-saran yang diperlukan dalam pengembangan sistem ini lebih lanjut.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB II LANDASAN TEORI
2.1 E-commerce Menurut Laudon & Laudon (1998), E-Commerce adalah suatu proses membeli dan menjual produk-produk secara elektronik oleh konsumen dan dari perusahaan ke perusahaan dengan computer sebagai perantara transaksi bisnis. Tujuan suatu perusahaan menggunakan sistim E-Commerce adalah dengan
menggunakan
E-Commerce
maka
perusahaan
dapat
lebih
meningkatkan keuntungannya. Manfaat dalam menggunakan E-Commerce dalam suatu perusahaan sebagai sistem transaksi adalah: a. Dapat meningkatkan market exposure (pangsa pasar). b. Melebarkan jangkauan (global reach). c. Meningkatkan customer loyalty. d. Meningkatkan supply management.
2.2 M-Commerce M-Commerce merupakan proses transaksi yang dilakukan dengan menggunakan perangkat mobile. M-Commerce merupakan subset dari eCommerce, yang didefinisikan sebagai proses transaksi yang dilakukan secara elektronik,baik melalui internet, smart card maupun perangkat mobile. Pada umumnya, perangkat end user yang digunakan pada proses mCommerce adalah sebagai berikut: Handphone Smart Phone PDA Tablet Setiap perangkat memiliki karakteristik yang berbeda-beda sehingga dapat mempengaruhi tingkat penggunaannya aplikasi/sistem m-commerce.
commit to user 4
perpustakaan.uns.ac.id
digilib.uns.ac.id 5
2.3 Batik Batik merupakan kain bergambar yg pembuatannya secara khusus dengan menuliskan atau menerakan malam pada kain tersebut, kemudian pengolahannya
diproses
dengan
cara
tertentu.
(http://kamusbahasaindonesia.org/batik)
2.3.1 Sejarah Pemasaran Batik Pada mulanya membatik hanya dikerjakan oleh putri-putri keluarga keraton di Jawa. Kegiatan membatik ini pada mulanya dikatakan sebagai kegiatan
spiritual
yang
membutuhkan konsentrasi,
kesabaran,
dan
pembersihan pikiran melalui doa-doa. Dengan demikian, hanya perempuan yang berstatus tinggi yang seharusnya membuat batik itu. Sampai akhir abad ke-19, produksi batik dan penggunaannya telah diberlakukan di kalangan kerajaan sebagai pakaian resmi. Masyarakat terdekat yang pertama kali memproduksi batik adalah masyarakat Kauman yang bekerja sebagai abdi dalem pamethakan keraton, istri mereka pada umumnya melakukan kegiatan membatik sebagai pekerjaan sambilan di rumah. Hasil dari kerajinan itu ditampung oleh beberapa orang yang dianggap dapat menjualkannya. Ternyata kerajinan batik itu justru mengalami kemajuan yang pesat sehingga muncullah pengusaha batik. Pada tahun 1900 , pedagang batik di Kauman yang terkenal dan kaya adalah Kyai H. Abubakar dan Nyai H. Saleh. Dari pendapatannya sebagai pedagang kaya itu, mereka dapat menyekolahkan anaknya hingga ke Mekkah. Mulai pada tahun 1910, di Yogyakarta bermunculan pengusahapengusaha batik, misalnya seperti “Batik Handel” seperti tersebut di atas. Hingga akhirnya produk batik pun menyebar ke seluruh Indonesia.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 6
2.4 Framework CodeIgniter CodeIgniter merupakan sebuah framework yang digunakan untuk membuat sebuah aplikasi berbasis web yang disusun menggunakan bahasa PHP. Didalamnya terdapat bermacam-macam library dan helper yang mempermudah dalam pengembangan aplikasi. (Riyanto, 2011)
2.4.1 Konsep MVC Dalam konteks Codeigniter dan aplikasi web, penerapan konsep MVC mengakibatkan kode program dapat dibagi menjadi tiga kategori, yaitu : a. Model. Kode program (berupa OOP class) yang digunakan untuk memanipulasi database. b. View. Berupa template html/xhtml atau php untuk menampilkan data pada browser. c. Controller. Kode program (berupa OOP class) yang digunakan untuk mengontrol aliran aplikasi (sebagai pengontrol Model dan View). 2.4.2 Library CodeIgniter yang digunakan Library CodeIgniter berisi kumpulan class dengan berbagai method yang biasa dipakai oleh programmer PHP. Untuk pemanggilan library, format perintahnya : $this->load->library(‘
, contoh : $this->load->library(‘cart’);
Dan ketika akan digunakan, format perintahnya : $this->
->
contoh: $this->cart->total()
Dalam pembuatan aplikasi m-commerce ini, library yang digunakan : -
Autoload : Digunakan untuk me-load secara otomatis class-class dalam CodeIgniter, bisa library, helper ataupun model.
-
Config : library config diinisialisasi secara otomatis oleh sistem. Digunakan untuk menerima informasi mengenai konfigurasi sistem.
-
Database : library database sangat handal, dilengkapi dengan berbagai method untuk manipulasi database.
-
File Uploading : library ini untuk melakukan upload file dengan fitur validasi
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 7
-
Pagination : digunakan untuk membuat pagination dari hasil query. Dapat diatur beberapa record yang ingin ditampilkan dalam satu halaman.
-
Session : digunakan untuk memaintain state seorang user. Library ini tidak menggunakan session milik PHP, tetapi menghasilkan data untuk session sendiri.
-
User Agent : digunakan untuk mengidentifikasi browser, mobile device atau robot (misalnya milik serach engine) yang berkunjung ke situs Anda.
-
Form Validation : sebuah class yang berguna untuk memvalidasi input form.
-
Cart : library yang mengenai transaksi komersial (e-commerce), namun hanya bagian keranjang belanja, tidak sampai proses checkout (shipping, pembayaran, dan sebagainya).
2.4.3 Helper yang digunakan Tidak seperti libraries, helper bukanlah kode program OOP, tetapi kode prosedural. Tiap helper berisi satu atau beberapa fungsi, tiap fungsi fokus untuk mengerjakan tugas tertentu. Fungsi-fungsi tersebut tidak saling tergantung. Untuk pemanggilan library, format perintahnya : $this->load->helper(‘
, contoh : $this->load->helper(‘ ’);
Dan ketika akan digunakan langsung memanggil fungsinya, contoh: Echo form_hidden('nama', 'john’); -> Helper yang digunakan : - FusionCharts : helper untuk membuat grafik - Form : helper yang digunakan untuk membuat form html. - URL : helper yang menangani URL. Contohnya fungsi base_url() untuk mendapat nilai base URL dan anchor() untuk membuat link.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 8
2.5 UML Unified Modeling Language (UML) adalah spesifikasi OMG yang paling digunakan, dan cara dunia memodelkan, tidak hanya aplikasi struktur, perilaku, dan arsitektur, tapi juga proses bisnis dan struktur data. (http://uml.org) 2.5.1 Use Case Diagram Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. 1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antarunit atau aktor. Berikut adalah simbol-simbol yang ada pada diagram use case : Tabel 2.1 Simbol Use Case Simbol
Nama Aktor/Aktor
Keterangan Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang;
Nama Aktor
biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
Nama use case
Use Case
Fungsional yang disediakan sistem sebagai unit-unit yang saling
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 9
bertukar pesan antarunit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja di awal frases nama use case. Asosiasi / association
Komunikasi antara aktor dan use case atau use case memiliki interaksi dengan aktor.
Ekstensi / extend Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu;
<< extend >>
mirip dengan prinsip inheritance pada pemrograman berorientasi objek; biasanya use case tambahan memiliki nama depan yang sama denga use case yang ditambahkan. Generalisasi /
Hubungan generalisasi dn
generalization
spesifikasi (umum -khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Include
Relasi use case tambahan ke sebuah use case dimana use case yang
<< include >>
ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini.
2.5.2 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini bahwa diagram aktivitas menggambarkan aktivitas
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 10
sistem bukan apa yang dilakukan actor, jadi aktivitas yang dapat dilakukan sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: 1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2. Urutan atau pengelompokkan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan 3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. Berikut simbol-simbol yang ada pada diagram aktivitas : Tabel 2.2 Simbol Activity Diagram Simbol
Nama Status Awal
Keterangan Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas Aktivitas
Aktivitas yang dilakukan system, aktivitas biasanya diawali dengan kata kerja
Percabangan /
Asosiasi percabangan dimana
decision
jika ada pilihan aktivitas lebih dari satu
Penggabungan /
Asosiasi penggabungan
join
dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir
Status ahir aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status akhir
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 11
2.5.3
Class Diagram Class diagram atau diagram kelas merupakan suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas meiliki apa yang disebut atribut dan metode atau operasi. 1.
Atribut merupakan variable-variabel yang dimiliki oleh suatu kelas.
2.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Tabel 2.3 Simbol Class Diagram Simbol
Nama
Keterangan
Kelas
Merupakan kelas pada struktur sistem yang terdiri dari atribut dan method.
Antarmuka / interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
Asosiasi / association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity.
Asosiasi berarah / directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
Generalisasi /
Relasi antar kelas dengan
generalization
makna generalisasi-spesialisasi (umum-khusus)
Kebergantungan / Dependency
Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi /
commit to user
Relasi antar kelas dengan
perpustakaan.uns.ac.id
digilib.uns.ac.id 12
aggregation
makna semua-bagian (wholepart)
2.5.4 Sequence Diagram Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Berikut adalah simbol-simbol yang ada pada diagram sekuen : Tabel 2.4 Simbol Sequence Diagram Simbol
Nama
Keterangan
Aktor/Aktor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu
Nama Aktor
merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor Garis hidup / lifeline
commit to user
Menyatakan kehidupan suatu objek
perpustakaan.uns.ac.id
digilib.uns.ac.id 13
nama objek : nama kelas
Objek
Menyatakan objek yang berinteraksi pesan
Waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
Pesan tipe create <>
Menyatakan suatu objek membuat objek lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call 1: nama method()
Menyatakan suatu objek memanggil operasi/metode yang ada pada objek yang dibuat
Pesan tipe send
Menyatakan bahwa suatu objek mengirimkan data
1: masukkan
masukkan/informasi ke objek lainnya, arah panah mengarah ke objek yang dikirim Pesan tipe return
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi yang
1: keluaran
menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian X
Pesan tipe destroy
commit to user
Menyatakan akhir hidup suatu objek
perpustakaan.uns.ac.id
digilib.uns.ac.id 14
2.6 MySQL MySQL database merupakan database open source dengan performa yang tinggi, realibilitas yang tinggi dan mudah dalam penggunaan. Itu juga merupakan database pilihan untuk generasi baru dari aplikasi yang dibangun pada LAMP (Linux, Apache, MySQL, PHP / Perl / Python.) (sumber : http://mysql.com) Pada dasarnya, bahasa query SQL secara garis besar dabat dibagi menjadi tiga bagian : a) DDL (Data Definition Language) DDL adalah bahasa-bahasa SQL yang digunakan untuk membuat, memanipulasi atau menghapus schema yang ada di dalam database. b) DML (Data Manipulation Language) DML adalah bahasa-bahasa SQL yang digunakan untuk memanipulasi data di dalam database. c) DCL (Data Control Language) DCL adalah bahsa-bahasa SQL yang digunakan untuk mengatur user MySQL.
2.7 CSS CSS merupakan singkatan dari Cascading Style Sheet. Kegunaannya adalah untuk mengatur tampilan dokumen HTML, contohnya seperti pengaturan jarak antar baris, teks, warna dan format border bahakan penampilan file gambar. CSS dikembangkan oleh W3C, organisasi yang mengembangkan teknologi internet. Tujuannya tak lain untuk mempermudah proses penataan web. Perlu diinga, CSS hanyalah berupa kumpulan script yang tujuannya bukan untuk mengantikan HTML, melainkan pelengkap agar dokumen HTML bisa tampil lebih cantik dan dinamis. Untuk penggunaan CSS pada mobile device, ada beberapa konfigurasi tambahan agar halaman bisa menyesuaikan lebar device. Hal-hal yang ditambahkan yaitu sebagai berikut :
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 15
a. Viewport <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes" /> 1) Width Kebanyakan browser di ponsel akan menampilkan gambaran seluruh halaman jika tidak disertakan perintah lebar di bidang konten. Tapi agar lebih baik dan lebih dekat sampai melihat halaman web Anda, Anda perlu mengatur viewport dengan lebar perangkat. Karena saat ini perangkat mobile memiliki lebar yang berbeda-beda. Cukup: lebar = perangkat-lebar. 2) Initial-scale Secara umum, nilai initial-scale bernilai 1. Ini adalah zoom in / zoom outskala. Pada 1, ukuran font akan menjadi yang paling pas untuk pengguna. Namun jika 2, akan terlihat halaman diperbesar terlalu dekat. 3) Maximun-scale Pengaturan ini membatasi seberapa jauh sebuah halaman dapat diperbesar masuk saya telah menemukan bahwa membiarkan zoom pengguna dalam minimal 2 kali yang baik kalau-kalau ada sesuatu seperti formulir isian dan mereka salah eja kata dan ingin menempatkan kursor dalam tempat tertentu mengetik ulang. 4) User-scalable Awalnya nilai untuk user-scalable 0 dan 1 tetapi saat ini lebih efektif
menggunakan
yes
or
no.
Juga
beberapa
website
merekomendasikan memisahkan pilihan dengan semi-colon;, tetapi untuk kompatibilitas dengan perangkat yang paling Anda harus menggunakan koma.
b. Stylesheet
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 16
Diikuti dengan
Diikuti juga dengan
Baris pertama di atas adalah untuk memuat stylesheet default untuk browser desktop. Sayangnya tanpa melompat melalui banyak rintangan, browser mobile juga akan memuat stylesheet ini seperti yang ditunjukkan pada baris 1 di atas. Jadi kedua stylesheet diload pada mobile tetapi stylesheet untuk browser desktop ditimpa dengan beberapa pengaturan di styles.css sehingga lebar, mengapung dan menu terlihat semua diformat dengan benar untuk perangkat mobile. 1) Handheld Digunakan untuk meload stylesheet pada handphone lawas. 2) only screen and (max-device-width: 480px) max-device-width digunakan untuk membatasi nilai lebar perangkat maksimal untuk stylesheet yang digunakan.
2.8 XHTML-MP (Mobile Profile) XHTML-MP adalah bahasa markup yang didefinisikan dalam WAP 2.0. Tujuan pembangunan XHTML-MP adalah menggabungkan teknologi mobile browsing dan WWW. XHTML-MP merupakan superset dari XHTML Basic, yang dibuat lebih sederhana dari XHTML 1.0 (versi XML dari HTML 4.0). XHTML Basic dibangun untuk device yang lebih kecil dan non computer, seperti mobile phone, PDA, pager, dan sejenisnya. (sumber: http://openmobilealliance.org)
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 17
Gambar 2.1. Alur Teknologi WAP
Gambar 2.2. Alur Halaman Web WAP Berikut merupakan modul-modul dalam XHTML-MP: Tabel 2.5. Modul XHTML-MP yang digunakan Module
MIME Standar MIME dan DOCTYPE-nya dapat dilihat pada tabel di bawah ini: Tabel 2.6. Tabel MIME dan DOCTYPE Standard
Preferred type
MIME
DOCTYPE
XHTML MP 1.2 (last version)
Application/
XHTML 1.0
Application/
HTML 4.0
Text/html
HTML 5.0
Text/html
Vnd.wap.xhtml+xml
xhtml+xml
XHTML-MP Syntax Rules XHTML menggunakan aturan syntax yang sama dengan XML. Berikut beberapa aturan yang harus diperhatikan dalam XML maupun XHTML: · Case sensitive untuk semua nama elemen, tags, dan attribute. Untuk XHTML-MP menggunakan huruf kecil (lower case) - Tag harus ditutup dengan benar - Nilai attribute (value) harus berada diantara “ atau ‘ - Tags harus disarangkan dengan benar. Contoh :
text
- Empty tags harus dalam kondisi “self closing”, contoh:
Perlu pendefinisian doctype agar dapat dideteksi oleh browser. Pendefinisian ini diletakkan sebelum tag head.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisa Kebutuhan Sistem 3.1.1 Analisis Kebutuhan Software 1. Software yang digunakan untuk membuat aplikasi m-commerce ini sebagai berikut : a. XAMPP versi 1.7.3 (MySQL versi 3.2.4, PHP versi 5.3.1) b. Opera Mobile Emulator c. Notepad++ d. Sistem Operasi Windows 7 e. Browser (Google Chrome, Mozilla) f. Opera Mobile Emulator 2. Software yang digunakan untuk menjalankan aplikasi m-commerce ini pada klien yaitu mobile browser.
3.2 Perancangan Sistem Pengembangan aplikasi berorientasi objek memerlukan beberapa tahapan analisa yang harus dilalui, pada tahap ini dilakukan pemodelan menggunakan UML. Untuk menggunakan UML ada beberapa hal yang dilakukan yaitu membuat Activity Diagram, Use Case Diagram, Class Diagram dan Sequence Diagram. 3.2.1 SRS Kebutuhan
fungsional
merupakan
kebutuhan
–
kebutuhan
yang
berhubungan dengan proses bisnis dari sistem yang dibuat. Dari analisa yang dilakukan, berikut tabel kebutuhan Fungsional untuk tiap aktor : Tabel 3.1. SRS Fungsional Customer Kode
Deskripsi Kebutuhan Fungsional
SRS-MFP01
Customer mendaftar account
SRS-MFP02
Customer dapat login/logout
commit to user 19
perpustakaan.uns.ac.id
digilib.uns.ac.id 20
SRS-MFP03
Customer melihat katalog produk
SRS-MFP04
Customer mengelola keranjang belanja
SRS-MFP05
Customer mengelola data account
SRS-MFP06
Customer melihat pesanan
SRS-MFP07
Customer memberi testimonial
Tabel 3.2. SRS Fungsional Administrator Kode
Dekripsi Kebutuhan Fungsional
SRS-MFA01
Admin Login/Logout
SRS-MFA02
Admin mengelola data produk
SRS-MFA03
Admin mengelola data pesanan
SRS-MFA04
Admin mengelola biaya pengiriman
SRS-MFA05
Admin mengelola pesanan
SRS-MFA06
Admin mengelola data member/user
SRS-MFA07
Admin mengelola berita
SRS-MFA08
Admin mengelola pengiriman
Tabel 3.3. SRS Fungsional Manajer Kode
Deskripsi Kebutuhan Fungsional
SRS-MFM01
Manajer Login/Logout
SRS-MFM02
Manajer mengelola account
SRS-MFM03
Manajer melihat laporan produk best seller
SRS-MFM04
Manajer melihat laporan transaksi per bulan Manajer melihat laporan pesanan berdasarkan
SRS-MFM06
status per bulan
SRS-MFM07
Manajer melihat laporan penjualan per kategori
Kebutuhan non fungsional berhubungan dengan interaksi antar user dengan aplikasi yang dibuat. Dari hasil analisa yang dilakukan, berikut daftar kebutuhan non-fungsional dalam sistem yang dibuat.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 21
Tabel 3.4. SRS Non Fungsional Kode
Deskripsi Kebutuhan Non-fungsional
SRS-MNF01
Tampilan user-friendly (jelas, informatif dan menarik)
SRS-MNF02
Ukuran gambar produk menyesuaikan ukuran layar perangkat
SRS-MNF03
Report/Laporan dalam grafik
3.2.2 Acitivity Diagram Activity Diagram digunakan untuk menjabarkan kegiatan dalam sistem, yang kemudian menjadi acuan kebutuhan sistem (Use Case) dan alur sistem (Sequence Diagram). Berikut daftar Activity Diagram dalam sistem ini : 3.2.2.1 Activity Diagram Login Penjelasan : Berikut alur login dari View Login Form
user.
Sistem
akan
menampilkan Login Form Fill Form
kemudian invalid
Sistem
User
mengisi.
mengirim
data
tersebut untuk dicocokkan
Validasi
pada
database.
Jika
data
cocok, diarahkan ke halaman account.
valid
dikembalikan Show Account Page
Form.
Gambar 3.1. Activity Diagram Login
commit to user
Jika ke
tidak, Login
perpustakaan.uns.ac.id
digilib.uns.ac.id 22
3.2.2.2 Activity Diagram Register Penjelasan : Choos e Register Menu
User
mengisi
form
registrasi yang ditampilkan. View Register Form
Form divalidasi, jika benar ditampilkan
Fill Form
pesan
sukses,
jika salah ditampilkan pesan error.
Validasi
invalid
Show Error Validation
valid
View Suc cess Registration Info
Gambar 3.2. Activity Diagram Register
3.2.2.3 Activity Diagram Insert Data Penjelasan :
Admin
User mengisi form penambahan data yang ditampilkan. Form View List
divalidasi,
jika
benar
ditampilkan pesan sukses, jika
View Insert Form
salah ditampilkan pesan error. Input Dat a on Form
Validasi
View Succ ess Insert
Gambar 3.3. Activity Diagram Insert
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 23
3.2.2.4 Activity Diagram Update Data Penjelasan :
Admin
User
mengisi
pembaruan
V iew L is t
data
ditampilkan. V iew D et ail Inform ation
divalidasi,
form yang Form
jika
benar
ditampilkan pesan sukses,
V iew U pdat e F orm
jika salah ditampilkan pesan Inp ut D at a on F orm
error.
V alida s i
V iew S uc c e s s U pdat e
Gambar 3.4. Activity Diagram Update Data
3.2.2.5 Activity Diagram Delete Data Penjelasan :
Admin
User mengisi form penghapusan data yang ditampilkan. Form
View List
divalidasi, jika benar ditampilkan Choose To Delete
View Confirmation Delete
pesan no
yes Data deleted
View Success Update
Gambar 3.5. Activity Diagram Delete Data
commit to user
sukses,
jika
ditampilkan pesan error.
salah
perpustakaan.uns.ac.id
digilib.uns.ac.id 24
3.2.2.6 Activity Diagram Order (Pembelian) User
Admin
M an a g e r
Login
Browse Product
Buy Product
Already Login
No
Yes Input Information
Get Total Payment
Get Order Data
Check Us er Payment (Manually)
Show Order
Cancel Order
No
Paid?
Process Order
Send Order
Receive Order
Get Report
Gambar 3.6. Activity Diagram Order (Pembelian) Penjelasan : User melihat produk dan menambahkan ke keranjang jika berminat. Jika selesai menambahkan ke keranjang, user checkout lalu muncul total bayar. User membayar pesanan di luar sistem dan konfirmasi di luar sistem. Admin kemudian mengganti status pesanan hingga pengiriman. Jika user sudah menerima pesanan, user mengganti status menjadi Diterima. Manajer mendapat laporan.
commit to user
pesanan
perpustakaan.uns.ac.id
digilib.uns.ac.id 25
3.2.3 Use Case Diagram 3.2.3.1 Definisi Aktor Dalam sistem terdapat 3 aktor yaitu admin, customer, manajer dengan satu aktor generalisasi ketiganya yaitu user. Berikut deskripsinya: Tabel 3.5. Definisi Aktor No
Aktor
1
User
Deskripsi Melakukan kegiatan umum yang dilakukan oleh ketiga aktor lainnya, seperti melihat katalog produk, mendaftar sebagai pembeli, login/logout dan sebagainya.
2
Admin
Melakukan kegiatan pengaturan sistem dan transaksi penjualan. Contoh kegiatan transaksi CRUD untuk produk, pengaturan order, customer dan testimonial.
3
Customer
Melakukan kegiatan pembelian produk, login setelah mendaftar dan pengaturan account dan order history.
4
Manajer
Melihat laporan penjualan untuk waktu tertentu.
3.2.3.2 Diagram Use Case Berikut diagram use case untuk aktor User :
Berikut ini adalah tabel yang berisi deskripsi dari class-class yang ada pada aplikasi m-commerce batik solo yang mana telah digambarkan pada class diagram di atas.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 30
1. Class Boundary MainWrapper Merupakan kelas yang menangani interface/tampilan untuk Customer. Tabel 3.6. Tabel Deskripsi Class Boundary MainWrapper Atribut Nama Atribut
Visibility
Method
-
Type -
Nama Method
Fungsi
uiRegister ()
Digunakan untuk memanggil interface form registrasi.
uiLogin ()
Digunakan untuk memanggil interface form Login Customer.
uiManajemenAccount () Digunakan
untuk
memanggil
interface
manajemen account customer yang login. uiTestimonial()
Digunakan
untuk
memanggil
interface
untuk
memanggil
interface
untuk
memanggil
interface
untuk
memanggil
interface
testimonial uiProduk()
Digunakan produk
uiCart()
Digunakan keranjang
uiCheckout()
Digunakan
checkout dari keranjang uiOrder
Digunakan
untuk
memanggil
interface
daftar pesanan sebelumnya.
2. Class Control Account Merupakan kelas control yang digunakan untuk mengontrol proses pengelolaan account member pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TMember.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 31
Tabel 3.7. Tabel Deskripsi Class Control Account Atribut Nama Atribut
Visibility
Method
-
Nama Method
Fungsi
register()
Digunakan
Type -
untuk
menambahkan
data anggota baru pada database ViewAccount($id_member)
Digunakan
untuk
mengambil
informasi account berdasarkan id user yang login UpdateAccount($id_member)
Digunakan untuk memperbarui data user pada database berdasarkan id user yang login
Cek_login ($email, $password)
Digunakan username
untuk dan
mengecek
password
pada
database untuk mengakses halaman account Logout()
Menghapus session yang digunakan untuk login
3. Class Entity TMember Merupakan kelas entity yang berisi data dari tabel member Tabel 3.8. Tabel Deskripsi Class Entity TMember Atribut Nama Atribut
4. Class Control Testimonial Merupakan kelas control yang digunakan untuk mengelola testimonial pada member pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TTestimonial. Tabel 3.9. Tabel Deskripsi Class Control Testimonial Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
AddTestimonial($id_member)
Digunakan
untuk
menambahkan
testimonial berdasarkan id user yang login ViewTestimonial($id_member) Digunakan
untuk
menampilkan
testimonial berdasarkan id user yang login
5. Class Entity TTestimonial Merupakan kelas entity yang berisi data dari tabel testimonial Tabel 3.10. Tabel Deskripsi Class Entity TTestimonial Atribut Nama Atribut
Visibilty
Type
Id_Testimonial
Private
Integer
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 33
Tgl_Testimonial Id_Member Isi_Testimonial status Method
Private Private Private Private
Date Integer String String
Nama Method
Fungsi
setTestimonial($id_testi,
Digunakan untuk menyimpan data
$tgl_testi, $id_member, $isi)
testimonial dalam database
getTestimonial($id_member)
Digunakan
untuk
mengambil data
testimonial berdasarkan id member
6. Class Control Product Merupakan kelas control yang digunakan untuk menampilkan daftar produk pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TProduct. Tabel 3.11. Tabel Deskripsi Class Control Product Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
ViewAllCategory()
Digunakan
untuk
menampilkan
keseluruhan data kategori ViewProductByID($id_produk) Digunakan
untuk
menampilkan
informasi spesifik produk ViewProductByCategory
Digunakan
untuk
($id_kategori)
produk per kategori
7. Class Entity TProduct Merupakan kelas entity yang berisi data dari tabel produk
commit to user
menampilkan
perpustakaan.uns.ac.id
digilib.uns.ac.id 34
Tabel 3.12. Tabel Deskripsi Class Entity TProduct Atribut Nama Atribut
Visibilty
Type
Id_Produk NamaProduk Harga Stok Berat GambarProduk Id_Kategori Method
Digunakan untuk mengambil semua data kategori dari database
getProdukByID($id_produk)
Digunakan untuk mengambil informasi produk berdasarkan id produk
getAllProdukByCategory
Digunakan
untuk
($id_kategori)
produk per kategori
mengambil data
8. Class Control Order Merupakan kelas control yang digunakan untuk mengontrol proses pemesanan produk pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TOrder, TOrderDetail dan TShipping. Tabel 3.13. Tabel Deskripsi Class Control Order Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
AddtoCart($id_produk, $jml)
Digunakan
untuk
menambahkan
produk ke keranjang UpdateCart($id_produk)
Digunakan
commit to user
untuk
memperbarui
perpustakaan.uns.ac.id
digilib.uns.ac.id 35
keranjang Checkout()
Digunakan halaman
untuk
menampilkan
checkout.
Terdapat
pengecekan apakah user telah login atau belum ongkir($berat, $tarif): Integer
Untuk menghitung total ongkos kirim dan mengembalikan nilai bertipe integer
addOrder()
Digunakan
untuk
menambahkan
pesanan dari form yang diisi user cancelOrder($id_order)
Digunakan
untuk
membatalkan
pesanan berdasarkan id pesanan ViewOrderHistory($id_member) Digunakan
untuk
mengambil
history pemesanan berdasarkan id user yang login
9. Class Entity TOrder Merupakan kelas entity yang berisi data dari tabel order Tabel 3.14. Tabel Deskripsi Class Entity TOrder Atribut Nama Atribut
Visibilty
Type
Id_Order TanggalPesan Status Id_Member Ongkir Kurir Alamat Method
setOrder($id_order, $tgl_psn, Digunakan untuk menyimpan data $stat, $ id_member ,$ongkir, pesanan dalam database
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 36
$kurir, $alamat) getOrder($id_member)
Digunakan
untuk
mengambil data
pesanan berdasarkan id member
10. Class Entity TOrderDetail Merupakan kelas entity yang berisi data dari tabel detail_pesanan. Tabel 3.15. Tabel Deskripsi Class Entity TOrderDetail Atribut Nama Atribut
Visibilty
Type
IdOrder IdProduk Jumlah Harga Berat Method
Private Private Private Private Private
Integer Integer Integer Integer Integer
Nama Method
Fungsi
setOrderDetail($idProduk,
Digunakan untuk menambahkan data
$idOrder, $jml, $hrga, $brt)
pesanan
detail
dengan
idOrder
tergantung pada Entity TOrder getOrderDetail($idOrder)
Digunakan
untuk
mengambil data
pesanan detail berdasarkan idOrder
11. Class Entity TShipping Merupakan kelas entity yang berisi data dari tabel tarif pengiriman Tabel 3.16. Tabel Deskripsi Class Entity TShipping Atribut Nama Atribut
Visibilty
Type
IdShipping IdKota IdKurir Tarif_k Method
Private Private Private Private
Integer Integer Integer Integer
Nama Method
Fungsi
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 37
getTarif($idKota,$idKurir)
Digunakan untuk mengambil data shipping berdasarkan id kota dan id kurir
<<ent ity>> TDestination -idKota: Integer -kota: String -provinsi: St ring -setDestination($idKota: Integer, $kot a: String, $prov: St ring) -get Destinat ion()
<<ent ity>> TShipping -idShipping: Integer -idKota: Integer -idKurir: Integer -Tarif_kg: Integer -get Tarif($idKota: Int eger, $idKurir: Integer) -get AllShipping() -get Shipping($idShipping: Int eger) -setShipping($idShipping: Integer, $idKota: Integer, $idKurir: Integer, $Tarif: Integer) <<entity>> TOrder -idOrder: String -TanggalPesan: Date -Status: Integer -id_member: Int eger -Ongkir: Integer -Kurir: String -alamat : St ring
<> OrderControl -ViewAllOrder() -UpdateOrder($idOrder: Integer) -ViewOrderByID($idOrder: Int eger) -C ancelOrder($idOrder: Integer) -ongkir($berat: Int eger, $tarif : Integer): Integer
-get MemberOrder($id_member: Integer) -set Order($id_member: Integer, $id_order: Integer, $t gl_pesan: Dat e, $stat us: Integer, $ongkir: Integer, $alamat: String, $kurir: String) -get Order($idOrder: String) -set OrderStatus($idOrder: St ring, $status: Integer) -get AllOrder() <<ent ity>> TOrderDetail -IdOrder: Int eger -idProduk: Int eger -Jumlah: Int eger -Harga: Integer -Berat: Int eger
<> ProductControl -ViewAllProduct () -ViewProduct ByID($idProduk: Int eger) -UpdateProduct($idProduk: Integer) -AddProduct () -DeleteProduct ($idProduk: Int eger) -AddGambarProduk($idProduk: Integer) -DeleteGambarProduk($idGambar: Int eger)
<<entity>> TProduct -idProduk: Integer -NamaProduk: String -Harga: Integer -Stok: Int eger -Berat: Int eger -GambarProduk: St ring -Id_Kat egori: Integer
-UpdateInformation($jenis_info: String) -ViewInformation($jenis_inf o: St ring)
-idMember: Integer -TanggalLahir: Dat e -JenisKelamin: String -TanggalDaft ar: Date -Email: String -Password: String -get Member($id_member: Int eger) -setMember($id_member: Integer, $tgl_lhr: Date, $jk: String, $t gl_df tr: Dat e, $email: String, $pass: St ring) -get AllMember()
<<ent ity>> TTestimonial -id_t est imonial: Integer -t gl_tes timonial: date -id_member: Int eger -isi_testimonial: String -st atus: St ring
<<entity>> TInformation
-set Testimonial($id_t est i: Integer, $id_member: Integer, $tgl_t est i: Dat e, $isi_testi: St ring) -get Tes timonial($id_member: Int eger)
-jenis_info: St ring -isi_informasi: St ring -gambar: String -set Inf ormation($jenis: String, $isi: St ring, $gbr: String) -getInf ormat ion($jenis: String)
Gambar 3.14. Class Diagram Design Admin
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 38
1. Class Boundary Main Merupakan kelas yang menangani interface/tampilan untuk Admin. Tabel 3.17. Tabel Deskripsi Class Boundary Main Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
uiManajemenProduct()
Digunakan untuk memanggil interface manajemen produk
uiManajemenShipping()
Digunakan untuk memanggil interface manajemen pengiriman
uiManajemenMember()
Digunakan untuk memanggil interface manajemen member
uiManajemenInformation()
Digunakan untuk memanggil interface manajemen informasi web
uiManajemenAdmin()
Digunakan untuk memanggil interface manajemen admin
uiManajemenTestimonial()
Digunakan untuk memanggil interface manajemen testimonial dari member
uiManajemenOrder()
Digunakan untuk memanggil interface manajemen pesanan
uiManajemenDestination
Digunakan untuk memanggil interface manajemen tujuan pengiriman
uiLogin()
Digunakan untuk memanggil interface login
2. Class Control Admin Merupakan kelas control yang digunakan untuk menampilkan mengelola data admin, yang menghubungkan kelas boundary Main dengan kelas entity TAdmin.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 39
Tabel 3.20. Tabel Deskripsi Class Control Admin Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
Cek_login($username,
Untuk mengecek username, password
$pass,$level)
dan level pada database apakah telah sesuai atau belum. Nilai kembalian boolean
Logout()
Untuk
menghapus
session
yang
digunakan untuk mengakses halaman admin updateAdmin($id_user)
Memperbarui
data
admin
dengan
parameter id User
3. Class Entity TAdmin Merupakan kelas entity yang berisi data dari tabel user. Tabel 3.21. Tabel Deskripsi Class Entity TAdmin Atribut Nama Atribut
Visibilty
Type
Id_user Username Password Level_User Method
Private Private Private Private
Integer String String String
Nama Method
Fungsi
setAdmin($username,
$pass, Digunakan untuk menyimpan data
$level)
admin
getAdmin()
Digunakan untuk memanggil data admin
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 40
4. Class Control Member Merupakan kelas control yang digunakan untuk menampilkan daftar member pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TMember. Tabel 3.22. Tabel Deskripsi Class Control Member Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
ViewAllMember()
Digunakan
untuk
menampilkan
seluruh data member ViewMemberByID($id_member) Digunakan
untuk
menampilkan
informasi per member
5. Class Entity TMember Merupakan kelas entity yang berisi data dari tabel member Tabel 3.23. Tabel Deskripsi Class Entity TMember Atribut Nama Atribut
6. Class Control TestimonialControl Merupakan kelas control yang digunakan untuk menampilkan daftar produk pada sisi user, yang menghubungkan kelas boundary Main dengan kelas entity TTestimonial. Tabel 3.24. Tabel Deskripsi Class Control TestimonialControl Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
ViewAllTestimonial()
Digunakan
untuk
menampilkan
seluruh data testimonial Verifikasi(idTesti)
Digunakan
untuk
memverifikasi
testimonial per id testimonial ViewTestimonialByID($idTesti) Digunakan
untuk
menampilkan
testimonial dengan parameter id testimonial
7. Class Entity TTestimonial Merupakan kelas entity yang berisi data dari tabel testimonial. Tabel 3.25. Tabel Deskripsi Class Entity TTestimonial Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
AddTestimonial
Digunakan
($id_member)
testimonial berdasarkan id user yang login
ViewTestimonial
Digunakan
($id_member)
testimonial berdasarkan id user yang login
commit to user
untuk
untuk
menambahkan
menampilkan
perpustakaan.uns.ac.id
digilib.uns.ac.id 42
8. Class Control Information Merupakan kelas control yang digunakan untuk mengelola data informasi web pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TInformation. Tabel 3.26. Tabel Deskripsi Class Control Information Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
AddTestimonial($id_member)
Digunakan
untuk
menambahkan
testimonial berdasarkan id user yang login ViewTestimonial($id_member) Digunakan
untuk
menampilkan
testimonial berdasarkan id user yang login
9. Class Entity TInformation Merupakan kelas entity yang berisi data dari tabel info_web. Tabel 3.27. Tabel Deskripsi Class Entity TInformaion Atribut Nama Atribut
Visibilty
Type
Jenis_info Isi_informasi Gambar Method
Private Private Private
String String String
Nama Method
Fungsi
setInformation($jenis,
$isi, Digunakan untuk menyimpan data
$gbr)
informasi ke database
getInformation($jenis)
Digunakan
untuk
mengambil data
informasi berdasarkan jenis info
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 43
10. Class Control ProductControl Merupakan kelas control yang digunakan untuk mengelola data produk pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TProduct. Tabel 3.28. Tabel Deskripsi Class Control ProductControl Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
ViewAllProduct()
Digunakan untuk menampilkan informasi seluruh produk
ViewProductByID($idProduk)
Digunakan untuk menampilkan informasi satu produk
UpdateProduct($idProduk)
Digunakan untuk memperbarui satu data produk
AddProduct()
Digunakan untuk menambahkan data produk baru
DeleteProduct($idProduk)
Digunakan untuk menghapus satu data produk
AddGambarProduk($idProduk)
Digunakan
untuk
menambah
gambar produk per produk DeleteGambarProduk($idGambar) Digunakan untuk menghapus satu gambar produk
11. Class Entity TProduct Merupakan kelas entity yang berisi data dari tabel produk Tabel 3.29. Tabel Deskripsi Class Entity TProduct Atribut Nama Atribut
Visibilty
Type
Id_Produk
Private
Integer
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 44
NamaProduk Harga Stok Berat GambarProduk Id_Kategori Method
Private Private Private Private Private Private
Nama Method
Fungsi
getAllProduk()
Digunakan
String Integer Integer Integer String Integer
untuk
mengambil
informasi seluruh produk getProdukByID($id_produk)
Digunakan
untuk
mengambil
informasi satu produk getGambarProduk($idProduk)
Digunakan untuk mengambil data gambar per produk
setGambarProduk($idProduk,
Digunakan untuk menyimpan data
$gbr, $id_gbr)
gambar
12. Class Control OrderControl Merupakan kelas control yang digunakan untuk mengelola daftar pesanan pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TOrder, TOrderDetail dan TShipping. Tabel 3.30. Tabel Deskripsi Class Control OrderControl Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
ViewAllOrder()
Digunakan untuk menampilkan data seluruh pesanan
UpdateOrder($idOrder)
Digunakan untuk memperbarui data pesanan per id order
ViewOrderByID($idOrder)
Digunakan untuk menampilkan detail
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 45
pesanan per id order CancelOrder($idOrder)
Digunakan
untuk
membatalkan
pesanan per id order ongkir($berat, $tarif): Integer
Untuk menghitung total ongkos kirim dan
mengembalikan
nilai
bertipe
integer
13. Class Entity TOrder Merupakan kelas entity yang berisi data dari tabel pesanan Tabel 3.31. Tabel Deskripsi Class Entity TOrder Atribut Nama Atribut
Visibilty
Type
Id_Order TanggalPesan Status Id_Member Ongkir Kurir Alamat Method
$stat, $ id_member ,$ongkir, pesanan dalam database $kurir, $alamat)
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 46
14. Class Entity TOrderDetail Merupakan kelas entity yang berisi data dari tabel detail pesanan. Tabel 3.32. Tabel Deskripsi Class Entity TOrderDetail Atribut Nama Atribut
Visibilty
Type
IdOrder IdProduk Jumlah Harga Berat Method
Private Private Private Private Private
Integer Integer Integer Integer Integer
Nama Method
Fungsi
setOrderDetail($idProduk,
Digunakan untuk memperbarui data
$idOrder, $jml, $hrga, $brt)
pesanan detail berdasarkan idOrder
getOrderDetail($idOrder)
Digunakan untuk mengambil data pesanan detail berdasarkan idOrder
15. Class Control ShippingControl Merupakan kelas control yang digunakan untuk mengeloal data pengiriman (tarif, area tujuan dan kurir) pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TShipping, TDestination dan TCourier. Tabel 3.33. Tabel Deskripsi Class Control ShippingControl Atribut Nama Atribut
Visibilty
Type
Method
-
-
Nama Method
Fungsi
AddShipping()
Digunakan
untuk
menambahkan
informasi pengiriman baru. ViewShipping()
Digunakan untuk menampilkan daftar pengiriman
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 47
UpdateShipping($idShipping) Digunakan
untuk
memperbarui
informasi pengiriman berdasarkan id pengiriman DeleteShipping($idShipping)
Digunakan untuk menghapus data pengiriman berdasarkan id pengiriman
AddDestination()
Digunakan untuk menambahkan area tujuan pengiriman
UpdateDestination($idKota)
Digunakan untuk memperbarui area tujuan pengiriman berdasarkan id area tujuan
DeleteDestination($idKota)
Digunakan untuk menghapus area tujuan berdasarkan id area tujuan
AddCourier()
Digunakan untuk menambahkan kurir
UpdateCourier($idKurir)
Digunakan untuk memperbarui data kurir berdasarkan id kurir
DeleteCourier($idKurir)
Digunakan untuk menghapus data kurir berdasarkan id kurir
16. Class Entity TShipping Merupakan kelas entity yang berisi data dari tabel tarif pengiriman Tabel 3.34. Tabel Deskripsi Class Entity TShipping Atribut Nama Atribut
Visibilty
Type
IdShipping IdKota IdKurir Tarif_k Method
Private Private Private Private
Integer Integer Integer Integer
Nama Method
Fungsi
getTarif($idKota,$idKurir)
Digunakan untuk mengambil data shipping berdasarkan id kota dan id
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 48
kurir getAllShipping()
Digunakan untuk mengambil seluruh data pengiriman
getShipping($idShipping)
Digunakan untuk mengambil data pengiriman
berdasarkan
id
pengiriman setShipping($idShipping,
Digunakan untuk menyimpan data
$idKota, $idKurir, $tarif)
pengiriman
17. Class Entity TCourier Merupakan kelas entity yang berisi data dari tabel kurir Tabel 3.35. Tabel Deskripsi Class Entity TCourier Atribut Nama Atribut
Visibilty
Type
idKurir Gambar_Logo NamaKurir Method
Private Private Private
Integer String String
Nama Method
Fungsi
setCourier($idKurir,
$logo, Digunakan untuk menyimpan data
$nama)
kurir pada database
getCourier()
Digunakan untuk mengambil data kurir pada database
18. Class Entity TDestination Merupakan kelas entity yang berisi data dari tabel kota dan provinsi Tabel 3.36. Tabel Deskripsi Class Entity TDestination Atribut Nama Atribut
Visibilty
Type
IdKota Kota Provinsi
Private Private Private
Integer String String
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 49
Method Nama Method
Fungsi
setDestination($idKota, $kota, Digunakan untuk menyimpan data $prov)
area tujuan pada database
getDestination()
Digunakan untuk mengambil data area tujuan pada database
Gambar 3.30. Sequence Diagram Change Order Status 3.2.6.16 Sequence Diagram View Order
<< control>> : Orde rC ontrol
< > : Ma in
< <entity >> : TO rder
<<e ntity> > : TOrderDeta il
: A dmin 1 : uiManaje menO rder() 2 : ui Orde r 3 : O rder 4 : ViewA llOrder() 5 : viewO rderBy Time() 6 : ViewOrde rListBy Status() 7 : getOrder() 8 : data Orde r 9 : getOrde rDetail() 10 : da ta O rderDetail 11 : ge tPro dukByID() 12 : da ta Pro dukByID 13 : ge tShipping() 14 : da ta Shipping 15 : uiMa na jemenOrde r() 16 : ShowMessa ge() 17 : message
Gambar 3.31. Sequence Diagram View Order
commit to user
< <entity >> : TProduct
<<e ntity> > : TShipping
perpustakaan.uns.ac.id
digilib.uns.ac.id 56
3.2.6.17 Sequence Diagram Add Shipping Price
<> : Main
<<entity >> : TShipping
<> : Ship pingControl
<<entity >> : TDestination
<<entity>> : TCourier
: Admin 1 : getDestination() 2 : data destination 3 : getCourier() 4 : data courier 5 : uiManajemenShippin g()
6 : ui Shippin g 7 : Data Shipping Baru
8 : A ddShipping() 9 : Validasi() 10 : setShipping()
Gambar 3.34. Skema Database 3.3.2 Definisi Tabel 3.3.2.1 Tabel User Digunakan untuk menyimpan data login admin dan manajer. Tabel 3.37. Tabel User Nama
Tipe Data
Keterangan
Field Id_user
Tinyint(2)
Kode unik user, Primary Key
username
Varchar(10)
Username untuk login
Password
Varchar(30)
Password untuk login
Level_user
Enum(‘admin’,’manajer’)
Level user untuk login
3.3.2.2 Tabel Kategori Produk Digunakan untuk menyimpan data kategori produk.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 58
Tabel 3.38. Tabel Kategori Produk Nama Field
Tipe Data
Keterangan
Id_kategori
Tinyint(2)
Kode unik kategori, Primary Key
Nama_kategori
Varchar(20)
Nama kategori produk
deskripsi
text
Deskripsi keterangan kategori produk
3.3.2.3 Tabel Produk Digunakan untuk menyimpan data produk. Tabel 3.39. Tabel Produk Nama Field
Tipe Data
Keterangan
id_produk
Int(5)
Kode unik produk, Primary Key
nama_produk
Varchar(35)
Nama produk
Harga
Int(6)
Harga produk
Stok
Smallint(3)
Stok produk
Berat_gr
Smallint(6)
Berat produk dalam gram
Ket
Text
Keterangan detail produk
Id_kategori
Tinyint(2)
Kode unik kategori
Tgl_upload
Date
Tanggal produk dipasang
3.3.2.4 Tabel Gambar Produk Digunakan untuk menyimpan gambar produk. Tabel 3.40. Tabel Gambar Produk Nama Field
Tipe Data
Keterangan
id_gambar
Smallint(5)
Kode unik gambar, primary key
Gambar
Varchar(20)
Nama file gambar
Thumb
Varchar(20)
Nama file thumb
Default
Enum(‘1’,’0’)
Status sebagai gambar default
Id_produk
Int(5)
Kode unik produk
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 59
3.3.2.5 Tabel Member Digunakan untuk menyimpan data member. Tabel 3.41. Tabel Member Nama Field
Tipe Data
Keterangan
Id_member
Int(5)
Kode unik member, primary key
Tgl_lahir
date
Tanggal lahir member
Email
Varchar(30)
Email member
Jk
Enum(‘L’,’P’)
Jenis Kelamin Member
Tgl_daftar
Date
Tanggal daftar Member
Password
Varchar(30)
Password Member Login
3.3.2.6 Tabel Testimonial Digunakan untuk menyimpan data testimonial member. Tabel 3.42. Tabel Testimonial Nama Field
Tipe Data
Keterangan
id_testimonial
Int(5)
Kode unik testimonial, primary key
Id_member
Int(5)
Kode unik member
Tgl_testimonial
Date
Tanggal testimonial diberikan
Isi_testimonial
Text
Isi Testimonial
3.3.2.7 Tabel Alamat Digunakan untuk menyimpan data alamat. Tabel 3.43. Tabel Alamat Nama Field
Tipe Data
Keterangan
Id_alamat
Int(5)
Kode unik alamat
Nama_penerima
Varchar(35)
Nama penerima pesanan
Alamat
Text
Alamat penerima pesanan
Kota
Varchar(35)
Kota penerima pesanan
Provinsi
Varchar(35)
Provinsi Penerima Pesanan
Kodepos
Int(5)
Kodepos Penerima Pesanan
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 60
No_telp
Varchar(13)
No Telepon Penerima Pesanan
email_penerima
Varchar(30)
Email Penerima Pesanan
Id_member
Int(5)
Kode Unik Member
3.3.2.8 Tabel Provinsi Digunakan untuk menyimpan data provinsi. Tabel 3.44. Tabel Provinsi Nama Field
Tipe Data
Keterangan
Id_provinsi
Smallint(3)
Kode Unik Provinsi, primary key
Nama_provinsi
Varchar(30)
Nama provinsi
3.3.2.9 Tabel Kota Digunakan untuk menyimpan data kota. Tabel 3.45. Tabel Kota Nama Field
Tipe Data
Keterangan
Id_kota
Smallint(5)
Kode unik kota
Nama_kota
Varchar(30)
Nama Kota
Id_provinsi
Smallint(3)
Kode Unik Provinsi
3.3.2.10 Tabel Kurir Digunakan untuk menyimpan data kurir. Tabel 3.46. Tabel Kurir Nama Field
Tipe Data
Keterangan
Id_kurir
Tinyint(1)
Kode unik kurir, primary key
Nama_kurir
Varchar(15)
Nama kurir
logo
Varchar(15)
Logo Kurir
3.3.2.11 Tabel Tarif Digunakan untuk menyimpan data tarif.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 61
Tabel 3.47. Tabel Tarif Nama Field
Tipe Data
Keterangan
id_tarif
Int(5)
Kode Unik Tarif, primary key
Id_kurir
TinyInt(1)
Kode unik kurir
Id_kota
SmallInt(5)
Kode Unik Kota
Harga_kg
Int(6)
Tarif Pengiriman per Kg
3.3.2.12 Tabel Pesanan Digunakan untuk menyimpan data pesanan. Tabel 3.48. Tabel Pesanan Nama Field
Tipe Data
Keterangan
Id_pesanan
Varchar(11)
Kode unik pesanan, primary key
Tgl_pesan
Date
Tanggal pesanan
Status
Enum(‘1’,’2’,’3’,
1: Belum Dibayar, 2:Diproses,
’4’,’5’)
3:Terkirim, 4:Diterima, 5:Batal
Id_member
Int(5)
Kode unik member
Id_kurir
Tinyint(3)
Kode unik kurir
ongkir
Mediumint(6)
Biaya ongkos kirim berdasarkan alamat yang dipilih
Id_alamat
int(4)
Kode unik alamat
No_resi
Varchar(25)
Nomor resi pengiriman
Tgl_kirim
Date
Tanggal pengiriman barang
3.3.2.13 Tabel Detail Pesanan Digunakan untuk menyimpan data pesanan detail. Tabel 3.49. Tabel Detail Pesanan Nama Field
Tipe Data
Keterangan
Id_pesanan
Varchar(11)
Kode unik detail pesanan, primary key
Id_produk
Int(5)
Kode unik produk
Jml
Tinyint(2)
Jumlah produk yang dibeli
harga
Int(6)
harga per produk
berat
Smallint(4)
Berat Per Produk
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 62
3.3.2.14 Tabel Infoweb Digunakan untuk menyimpan data informasi web. Tabel 3.50. Tabel Infoweb Nama Field
Tipe Data
Keterangan
Id_info
Tinyint(2)
Kode unik Informasi Web
Jenis_info
Varchar(15)
Jenis Informasi
Isi_info
Text
Isi Informasi
Gbr_info
Varchar(20)
Gambar Informasi
3.4 Perancangan Interface 3.4.1 Perancangan Interface Admin dan Manajer
Gambar 3.35. Perancangan Interface Admin
3.4.2 Perancangan Interface Customer
Gambar 3.36. Perancangan Interface Customer
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM
4.1 Implementasi Sistem Aplikasi ini merupakan aplikasi web yang dijalankan pada mobile browser sehingga berbasis client-server. Pada aplikasi ini terdapat tiga halaman, yaitu halaman User/Customer, halaman Admin dan halaman Manajer. 4.1.1 Halaman Utama Halaman utama adalah halaman yang dapat diakses oleh user tanpa harus login terlebih dahulu. Di mobile tampilan yang baik adalah yang minimalis dan cepat di-load. Oleh karena itu, menu yang ada hanya yang penting dengan navigator yang mudah dijangkau. Berikut tampilan halaman depan :
Gambar 4.1. Tampilan Halaman Utama
commit to user 63
perpustakaan.uns.ac.id
digilib.uns.ac.id 64
4.1.2 Halaman Produk per Kategori Pada halaman ini menampilkan daftar produk per kategori yang dipilih dari halaman Utama. Informasi produk yang ditampilkan hanya nama produk, harga produk dan input-an untuk dimasukkan ke keranjang/troli.
Gambar 4.2. Tampilan Halaman Produk per Kategori
4.1.3 Halaman Troli/Keranjang/Cart Halaman yang berisi informasi pada troli/keranjang yang dipilih dari menu keranjang di atas. Tombol Update untuk memperbarui jumlah item dalam keranjang. Tombol Lanjut untuk mengarah ke halaman Check Out.
Gambar 4.3. Halaman Troli/Keranjang/Cart
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 65
4.1.4 Halaman Checkout Pada halaman Checkout, terdapat pengecekan session, apakah user sudah login atau belum. Jika belum diarahkan ke halaman login, Jika sudah ditampilkan halaman Checkout. Berisi mengenai informasi pesanan dan informasi alamat pengiriman yang nantinya memilih kurir pengiriman sehingga diketahui total pembayaran.
Gambar 4.4 Halaman Login
Gambar 4.5 Halaman Checkout setelah login Script untuk halaman Checkout (Gambar 4.4 dan 4.5) -
Pada Controller katalog : public function order() { $login=$this->session->userdata('log_in'); $data['id_member']=$login['id'] ; Mengecek apakah user telah login. Jika sudah menampilkan daftar pesanan dan alamat. Jika belum, diarahkan ke halaman login.
Pada Model Member dan order_m Mengambil data alamat member yang login dari database function get_alamat($id_member) { $this->db->from('alamat'); $this->db->join('kota','kota.id_kota=alamat.kota'); $this->db->join('provinsi','provinsi.id_provinsi=alamat.provinsi'); $this->db->where('id_member',$id_member); $query=$this->db->get()->result(); if($query) return $query; else return false;
}
Mengambil data kurir dari database function get_ship() { $query=$this->db->get('kurir'); return $query->result(); }
4.1.5 Halaman Setelah Checkout Berisi informasi setelah checkout, seperti total ongkos kirim dari alamat yang dipilih sebelumnya, total pembelian produk, total pembayaran dan bank tujuan transfer.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 67
Gambar 4.6. Halaman Checkout Sukses Ketika pesanan ditambahkan, otomatis akan mengurangi stok dalam database untuk produk yang dipesan, menghitung tarif ongkos kirim berdasarkan kurir dan alamat yang dipilih dan membuat order
Script untuk gambar 4. : - Pada Controller Katalog : public function add_order() { $login=$this->session->userdata('log_in'); $id_member=$login['id'] ; $tgl_pesan = date("Y-m-d"); $status='1'; $id_alamat=$this->input->post('alamat'); $total=$this->input->post('total'); $berat=$this->input->post('berat'); $jasa=$this->input->post('jasa'); $almt = $this->member->get_alamat_det($id_alamat); $idkota=$almt->kota; $tarif=$this->shipping_m->find_tarif($idkota,$jasa); $akhir=$this->order_m->get_last_order(); $tgl=substr($akhir->id_pesanan,0,8); $id=substr($akhir->id_pesanan,8);
Menentukan id pesanan berdasarkan id pesanan terakhir. Jika belum ada, maka id pesanan sama dengan 1, jika ada, id pesanan terakhir ditambah 1. if ($tgl==date('Ymd')) $id=$id+1; else $id=1; $id_pesanan=date('Ymd').$id;
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 68
Menghitung biaya pengiriman berdasarkan parameter berat dan tarif per kg $ongkir= $this->hitung_ongkir($berat,$tarif->harga_kg); $total2=$total+$ongkir; Menambahkan ke database ke tabel pesanan $data=array("id_pesanan"=>$id_pesanan,"tgl_pesan"=>$tgl_pesan,"status"=>$status, "id_member"=>$id_member, “id_alamat"=>$id_alamat, "id_kurir"=>$tarif->id_kurir, "ongkir"=>$tarif->harga_kg); $query=$this->order_m->tmbh_order($data); $id=$this->input->post('id_produk'); $qty=$this->input->post('qty'); if ($query) { Menambahkan pesanan pada keranjang ke database tabel detail pesanan. Karena berjenis array dan lebih dari satu, maka digunakan perulangan. foreach($this->cart->contents() as $items){ $data=$this->produk_m->get_product($items['id']); $tot_brt=$items['weight']*$items['qty']; $data=array("id_pesanan"=>$id_pesanan, "id_produk"=>$items['id'], "jml"=>$items['qty'], "harga"=>$data->harga, "berat"=>$data->berat_gr); $query2=$this->order_m->insert_detail($data); $stok=($items['stok']-$items['qty']); $data=array('stok'=>$stok); $this->produk_m->update($items['id'], $data); } if ($query2) { Jika sukses menyimpan, mengirimkan nilai total pembayaran pada halaman selanjutnya. $this->cart->destroy(); $this->data->idpesanan=$id_pesanan; $this->data->tot_harga=$total; $this->data->total=$total2; $this->data->ongkir = $ongkir; $this->data->content='mobile/order_done'; $this->load->view('mobile/user_view',$this->data); } else { $this->data->content='mobile/order_error'; this->load->view('mobile/user_view',$this->data); } } else { $this->data->content='mobile/order_error'; this->load->view('mobile/user_view',$this->data); } }
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 69
Fungsi untuk menghitung biaya pengiriman function hitung_ongkir($berat, $tarif) { $brt=($berat%1000); if ($brt >0 ) { if ($berat < 1000) { $brt = 1; $ongkir=($tarif*$brt); } else { $bulat=$berat-$brt; $ongkir=($tarif*(($bulat/1000)+1)); } } else { $brt=($berat/1000); $ongkir=($tarif*$brt);
}
return $ongkir; }
- Pada Model order_m : function tmbh_order($data=array()) { if ($this->db->insert('pesanan',$data) ) return true; return false; } function insert_detail($data=array()) { if ($this->db->insert('detail_pesanan',$data))
return true;
return false; }
4.1.6 Halaman Account User Berisi daftar menu pengaturan account setelah user login.
Gambar 4.7. Halaman Account
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 70
4.1.7 Halaman Home Admin Halaman Home berisi informasi umum setelah admin login.
Gambar 4.8. Halaman Home Admin
4.1.8 Halaman Pengaturan Pesanan Admin Pada halaman ini berisi informasi mengenai semua pesanan. Untuk status dibatalkan dan diterima, tidak ada aksi yang ditampilkan karena pesanan sudah selesai dan tidak bisa diubah. Untuk status Sudah Dibayar, hanya ada aksi edit dan tidak bisa dibatalkan. Sedang status Belum Dibayar, aksi yang ditampilkan edit dan cancel untuk membatalkan.
Gambar 4.9. Halaman Pengaturan Pesanan Admin
4.1.9 Halaman Pengaturan Pengiriman Admin Halaman ini berisi 4 sub kategori yaitu, kota, provinsi, kurir dan tarif. Ketika memasukkan tarif, memilih kurir dan kota lalu menentukan tarif.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 71
Gambar 4.10. Halaman Pengaturan Pengiriman Admin
4.1.10 Halaman Home Manajer Halaman Home berisi informasi umum setelah admin login.
Gambar 4.11. Halaman Home Manajer
4.1.11 Halaman Laporan Grafik Transaksi Manajer Berisi gambar grafik untuk jumlah per status pada bulan ini. Manajer bisa melihat daftar pesanan dengan filter status. Detail pesanan bisa dilihat dengan mengklik id pesanan.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 72
Gambar 4.12. Halaman Laporan Grafik Transaksi Manajer Halaman detail order menampilkan secara detail isi pesanan tetapi manajer tidak dapat mengubahnya.
Gambar 4. Halaman Detail Order Manajer
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 73
Script program untuk menampilkan halaman grafik transaksi per status ( Gambar 4. ) : -
Pada Controller Laporan function trx() { Jika Tombol submit pada proses menampilkan data pesanan per status if ($_POST) { $data=$this->order_m->lap_by_status($this->input->post('status')); if ($data) { $this->table->set_heading('No Pesanan','Tanggal Pesan','Email User','Total','Status'); foreach ($data as $q) { $ongkir = $this->hitung_ongkir($q->tot_berat, $q->ongkir); $total=$q->subtotal + $ongkir; $this->table->add_row(anchor('manajer/laporan/detail_pesanan/'.$q->id_pesanan, $q->id_pesanan), $q->tgl_pesan,$q->email,$total,$q->nama_status); } $this->table->set_template($this->tmpl); $this->data->tabel=$this->table->generate(); } else $this->data->tabel="Tidak ada Pesanan dengan status yang dimaksud"; } $this->data->stok = $this->grafik_trx(); $this->data->stat=$this->order_m->get_status(); $this->data->tengah='manajer/tengah/trx'; $this->load->view('manajer/manajer', $this->data);
}
Fungsi menampilkan grafik menggunakan library fusion chart function grafik_trx() { $graph_swfFile
Pada Model Grafik dan Order_m function grafik_status() { $query=$this->db->query("select *,count(*) as jml from pesanan inner join ket_status on ket_status.id_status = pesanan.status where tgl_pesan Like '%-".date('m')."-%' group by status"); return $query->result(); } function get_status() { return $this->db->get('ket_status')->result();
}
Query untuk menampilkan daftar pesanan berdasarkan status yang dipilih function lap_by_status($status) { $this->db->select('pesanan.id_pesanan, sum(jml*harga)
as
detail_pesanan.id_pesanan
tgl_pesan, subtotal =
email,nama_status,
(select
detail_pesanan
where
from
pesanan.id_pesanan)
as
subtotal,
(select
sum(jml*berat) as subtotal from detail_pesanan where detail_pesanan.id_pesanan = pesanan.id_pesanan) as tot_berat, ongkir'); $this->db->from('pesanan'); $this->db->join('member','member.id_member=pesanan.id_member'); $this->db->join('kurir','kurir.id_kurir = pesanan.id_kurir'); $this->db->join('alamat','alamat.id_alamat = pesanan.id_alamat'); $this->db->join('ket_status','ket_status.id_status=pesanan.status'); $this->db->join('detail_pesanan','detail_pesanan.id_pesanan=pesanan.id_pesanan'); $this->db->where('status',$status); return $this->db->get()->result(); }
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id 75
4.2 Analisa Ketika halaman utama diakses, terdapat pengecekan device. Jika dibuka melalui browser PC, maka diarahkan ke halaman web desktop, namun jika melalui browser mobile, maka diarahkan ke halaman web mobile. User melihat katalog produk tidak perlu autentikasi login. Tetapi ketika checkout dibutuhkan autentikasi login, hanya yang terdaftar yang bisa checkout. Untuk halaman Admin dan Manajer juga dibutuhkan autentikasi. Penetapan biaya pengiriman berdasarkan kota dari alamat yang dipilih, jasa pengiriman (kurir) yang dipilih dan berat pesanan secara keseluruhan. Untuk berat pesanan, jika lebih, maka dibulatkan ke atas, contoh: berat 1,5 kg dihitung 2 kg. Selain itu, terdapat kemungkinan bahwa member yang memesan tidak segera membayar padahal ketika pesanan dikirim ke sistem, stok produk sudah berkurang sesuai jumlah pada pesanan. Untuk mengatasi hal ini, terdapat pengecekan status dengan tanggal pemesanan dan tanggal hari ini. Jika lebih dari 3 hari, maka sistem akan mengubah secara otomatis status pesanan dibatalkan dan stok dikembalikan. Untuk status dibatalkan yang diubah oleh admin, stok juga dikembalikan. Penambahan validasi form pada inputan ke keranjang agar inputan hanya angka dan bukan huruf, jumlah produk yang dibeli tidak melebihi stok yang tersedia. Tampilan pada web mobile minimalis, tidak terlalu banyak gambar dan lebar tampilan disesuaikan lebar perangkat. Dari analisa di atas, telah diterapkan pada aplikasi mobile web dan berjalan dengan baik.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB V PENUTUP
5.1 Kesimpulan Berdasarkan
penelitian
dan
pembahasan
yang
telah
dipaparkan
sebelumnya, maka dapat diambil kesimpulan sebagai berikut : 1. Telah dibangun aplikasi m-commerce mobile web untuk Batik Solo menggunakan framework CodeIgniter dan database MySQL. 2. Aplikasi ini digunakan untuk tiga user : customer, admin dan manajer. Aplikasi mobile web digunakan untuk sisi customer, sedang admin dan manajer menggunakan web desktop. 3. Terdapat tiga aktor : customer, admin dan manajer 4. Pada aplikasi m-commerce ini terdapat 15 tabel dalam database 5. Pada aplikasi m-commerce ini terdapat 6 status pesanan 6. Terdapat pengecekan status order untuk memperbarui stok 7. Aplikasi ini telah diujicobakan pada opera mobile emulator dan berjalan lancar 8. Aplikasi ini untuk menangani kegiatan transaksi jual beli produk Batik
5.2 Saran Berdasarkan kesimpulan di atas, diperoleh beberapa saran untuk pengembangan aplikasi lebih lanjut, yaitu : 1. Customer dapat memberikan komentar atau review mengenai suatu produk 2. Terdapat tambahan atribut dan warna untuk tiap produk 3. Terdapat variasi filter untuk tampilan data pesanan dan produk 4. Update otomatis status dijalankan sistem pada waktu tertentu.