Hasil tahap koding pada minggu kedua

    Tahapan yang dilaksanakan pada minggu kedua adalah tahap pemrograman yang mana aktivitas yang dilakukan yaitu melakukan koding dengan menggunakan bahasa pemrograman berupa HTML, CSS, dan Javascript beserta menggunakan kerangka kerja Laravel untuk mempermudah saya dalam melakukan perubahan hasil pada tahap desain menjadi dalam bentuk nyata atau situs web yang nantinya akan bisa digunakan oleh pedagang pasar tradisional beserta masyarakat di wilayah tanawangko. Ada sedikit perubahan dengan jadwal tahapan yang dikerjakan, yang mana rencana awalnya yaitu bisa menyelesaikan proyek situs web dalam kurun waktu 1 minggu dari tanggal 12 sampai ke tanggal 19 bulan juli. Namun, ternyata tingkat kerumitan proyek tersebut lebih tinggi dibandingkan saya nyangka sehingga membutuhkan waktu yang lebih, lebih tepatnya yaitu 1 minggu dan 3 hari. Oleh karena itu, pelaksanaan tahap pengujian harus ditundahkan yang seharusnya sudah dikerjakan pada awal minggu ini. Meskipun dengan kerumitan proyeknya, namun berkat dengan bantuan doa kepada Tuhan, saya telah berhasil menyelesaikan pembuatan situs webnya sehingga pembaca bisa mengakses situsnya lewat browser lalu masukkan alamat urlnya yaitu https://pasartanawangko.my.id - Sistem dalam situs web tersebut telah disediakan fitur-fiturnya untuk dua tipe pengguna yakni pembeli dan penjual atau pedagang pasar tradisional.

    Pada sisi pembeli, situs webnya menampilkan semua barang yang dijual oleh pedagang pasar tradisional, dan untuk mempermudah pencariannya maka telah disediakan sebuah kolom pencarian yang hampr mirip dengan mesin pencarian contohnya Google, dengan mesin pencarian tersebut maka pembeli bisa mencari barang yang ingin dipesan dengan cara yaitu memasukkan nama barangnya kemudian mesin pencarian akan langsung menampilkan barang yang dinginkan. Apabila pembeli telah merasa sudah mendapatkan semua barang yang di ingin pesan, maka langkah selanjutnya adalah memilih tombol "Beli" agar bisa segere diproses oleh pedagang. Namun, sebelum diproses akan dilakukan pemeriksaan terlebih dahulu yang mana apakah jumlah item yang dipesan oleh pembeli tidak melebihi persediaan barang yang ada? Apakah status barang  tersebut tidak tersedia? Apakah jumlah barang yang dipesan oleh pembeli lebih kurang dari jumlah minimal pembelian itemnya? Jika dari salah satu atau semua tiga kondisi tersebut adalah iya, maka proses pembeliannya akan ditolak serta pembeli akan diberitahukan mengenai apa penyebabnya. Namun, jika tidak maka sistemnya akan memproses kemudian memberitahukan kepada pedagang bahwa ada pesanan. Bagi pesanannya berhasil, bisa dilihat status pesanannya lewat menu "Status Pesanan" yang mana pembeli bisa melihat apakah pesannya sudah diterima oleh pedagang atau sementara dipersiapkan. Apabila statusnya menyatakan bahwa pesanan sudah diterima dan dipersiapkan oleh pedagang, maka pengguna akan ditampilkan sebuah tombol "Terima Pesanan" yang mana apabila pesanannya pembeli sudah sampai ke lokasinya. Jika sudah sampai, maka pembeli harus menekan tombol tersebut agar bisa memberitahukan kepada penjual bahwa pesanannya sudah sampai. Semua proses yang disebutkan sebelumnnya bisa dilakukan apabila pembeli sudah melakukan pendaftaran dan konfirmasi surat elektronik, beserta telah selesai memasukkan data-data beruap nomor telepon dan alamat tempat tinggal pembeliannya. Tanpa melakukan hal tersebut, maka pembeli tidak bisa melakukan aktivitas memesan barang.

    Pada sisi penjual, telah disediakan tiga fitur dalam bentuk tiga menu yaitu dashboard, barang, dan pesanan. Pada menu dashboard, pedagang akan disediakan dengan tiga informasi yang penting yaitu jumlah barang yang telah disimpan dalam sistem, jumlah barang yang persediaannya telah habis, dan terakhir yaitu penjual akan disediakan dengan informasi mengenai jumlah pembeli yang telah melakukan pemesanan. Pada menu kedua yaitu barang, pedagang telah diberikan sebuah fitur berbasis CRUD (Create Read Update Delete), Create adalah fitur yang mana pedagang bisa menambahkan data barang terbaru dengan cara memasukkan data ke kolom yang telah disediakan. Lalu Read adalah fitur yang mana pedagang bisa melihat informasi mengenai barang yang telah dimasukkan sebelumnnya, informasi yang dimaksud adalah gambar, nama, jumlah persediaan, kategori, jumlah dapat, tipe berat, jumlah minimum, dan status barangnya. Kemudian pada ketiga yaitu Update merupakan fitur yang bisa memberikan cara bagi pedagang untuk melakukan perubahan data terhadap barang yang dijual beserta mengubah status barangnya menjadi tersedia atau tidak tersedia. Apabila tidak tersedia, maka barang tersebut tidak akan ditampilkan di halaman utama situs web tersebut pada sisi pembeli. Terakhir yaitu delete adalah fitur yang mana apabila penjual telah merasa barang tersebut tidak akan dijual, maka bisa dilakukan penghapusan sehingga semua data terkait dengan barang yang telah dipilih akan dihapuskan dari sistemnya. Pada menu terakhir yaitu pesanan merupakan fitur yang mana pedagang bisa melihat siapa saja pembeli telah melakukan pemesanan, dengan informasi berupa nama pemesan, nomor telepon, alamat, dan detail mengenail barang apa saja yang telah dipesan. Apabila pedagang akan memproses pemesannya, maka langkah pertama yang harus dilakukan adalah menekan tombol "Konfirmasi Pesanan" agar bisa memberitahukan kepada pembeli bahwa pesannya telah diterima dan akan segera dipersiapkan oleh pedagang. Pada metode pengirimannya, telah disetujukan dengan target masyarakat bahwa tukang ojek akan menjadi satu-satunya metode yang akan digunakan untuk mengantar pesanan ke lokasi pembeli. Pada awal proses pengiriman, saya telah membuat sebuah algoritma yang dijalankan berdasarkan kondisi dihadapi. Kondisi pertama adalah apabila pembeli telah memesan semua barang yang berasal hanya dari pedagang A sendiri, maka pedagang A hanya cukup memanggil tukang ojek untuk mengambil pesanan lalu kemudai diantarkan kepada lokasi pembeli. Pada kondisi kedua adalah apabila pembeli telah memesan semua barang namun dari barang tersebut terdapat barang yang dijual dari berbeda pedagang, misalnya pembeli telah memesan sebuah wortel dari pedagang A, dan kentang dari pedagang B, maka sistemnya akan menentukan secara acak mengenai siapa dari pedagang yang berbeda tersebut akan memanggil tukang ojek yang nantinya akan mengambil pesanan pembeli mulai dari pedagang A, kemudian pedagang B. Dengan adanya hal tersebut, maka bisa adil terhadap pedagang yang mana bisa dicegah mengenai kasus yang mana hanya pedagang A saja yang akan selalu memanggil tukan ojek. Pada pembayaran, sebelumnnya telah dikomunikasikan dengan target masyarakat bahwa metode pembayarannya adalah COD (Cash On Delivery), sehingga nantinya orang yang akan menerima pembayaran dari pembeli adalah tukang ojek yang telah dipercayakan oleh pedagang. Setelah tukang ojek menerima pembayaran dari pembeli, maka akan diantarkan kembali ke pedagang untuk membayar pesanan dari pembelinya. 

    Dengan proyek telah selesai dibuat, maka tahap selanjutnya akan dilaksanankan adalah tahap pengujian yang mana saya akan mencoba melakuka pengujian terhadap keamana dari sistem tersebut untuk mencegah kemungkina bisa terbocor data kepada pihak yang tidak berwenang.