IMPLEMENTASI SISTEM SINKRONISASI STOK BARANG DENGAN APPLICATION PROGRAMMING INTERFACE (API)
TOKOPEDIA MENGGUNAKAN METODE AVERAGE PADA KAWAIDOLLSHOP
SKRIPSI
Diajukan untuk memenuhi salah satu syarat kelulusan Program Sarjana
ALDI ALMAJID NIM : 15170403
Program Studi Ilmu Komputer Kampus Kota Sukabumi Fakultas Teknik dan Informatika
Universitas Bina Sarana Informatika 2021
ii
LEMBAR PERSEMBAHAN
“Mahkota seseorang adalah akalnya. Derajat seseorang adalah agamanya.
Sedangkan kehormatan seseorang adalah budi pekertinya”.
(Umar bin Khattab)
Puji Syukur penulis panjatkan kepada Allah SWT, yang telah memberikan kesehatan, rahmat dan hidayah, sehingga penulis masih diberikan kesempatan untuk
menyelesaikan skripsi ini, sebagai salah satu syarat untuk mendapatkan gelar kesarjanaan. Walaupun jauh dari kata sempurna, namun penulis bangga telah mencapai pada titik ini, yang akhirnya skripsi ini bisa selesai diwaktu yang tepat.
Skripsi ini saya persembahkan untuk :
1. Orang Tua, Ibu Lilis Suryati dan Bapak Alm. Lelen Saleh terimakasih atas doa, semangat, motivasi, pengorbanan, nasehat serta kasih sayang yang tidak pernah henti sampai saat ini.
2. Istri dan Anak, Syavitri Damayanti Istri tercinta terimakasih atas doa, dukungan, semangat, motivasi dan anaku Alsya Elmira Utami yang menjadi motivasi saya untuk selalu berjuang tanpa henti sampai saat ini.
3. Saudara-saudaraku Rika, Deri, Rita, Henda, Cevi dan Eva, terimakasih atas doa, dukungan, nasehat, motivasi sampai saat ini.
4. Dosen Pembimbing, Bapak Denny Pribadi, M.Kom dan Ibu Desi Susilawati, M.Kom yang telah membimbing serta memberi masukan dan saran selama ini, sehingga saya dapat menyelesaikan skripsi ini.
5. Semua teman program studi ilmu computer kelas 15.8B.28
6. Kepada semua saudara, teman dan rekan lain nya yang tidak bisa saya sebutkan saya persembahkan skripsi ini untuk kalian semua.
iii
LEMBAR PERNYATAAN KEASLIAN SKRIPSI
Yang bertanda tangan di bawah ini:
Nama : Aldi Almajid
NIM : 15170403
Jenjang : Strata Satu (S1)
Program Studi : Ilmu Komputer Kampus Kota Sukabumi Fakultas : Teknik dan Informatika
Perguruan Tinggi : Universitas Bina Sarana Informatika
Dengan ini menyatakan bahwa Skripsi yang telah saya buat dengan judul:
“Implementasi Sistem Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop”, adalah asli (orisinal) atau tidak plagiat (menjiplak) dan belum pernah diterbitkan/dipublikasikan dimana pun dan dalam bentuk apa pun.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya dan tanpa ada paksaan dari pihak mana pun. Apabila dikemudian hari ternyata saya memberikan keterangan palsu dan atau ada pihak lain yang mengklaim bahwa Skripsi yang telah saya buat adalah hasil karya seseorang atau badan tertentu, saya bersedia diproses baik secara pidana maupun perdata dan kelulusan saya dari Universitas Bina Sarana Informatika dicabut/dibatalkan.
Dibuat di : Sukabumi Pada tanggal : 23 Agustus 2021
Yang menyatakan,
Materai
Aldi Almajid
iv
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
Yang bertanda tangan di bawah ini:
Nama : Aldi Almajid
NIM : 15170403
Jenjang : Strata Satu (S1)
Program Studi : Ilmu Komputer Kampus Kota Sukabumi Fakultas : Teknik dan Informatika
Perguruan Tinggi : Universitas Bina Sarana Informatika
Dengan ini menyetujui untuk memberikan izin kepada pihak Universitas Bina Sarana Informatika, Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty- Free Right) atas karya ilmiah kami yang berjudul “Implementasi Sistem Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop”, beserta perangkat yang diperlukan (apabila ada).
Dengan Hak Bebas Royalti Non-Eksklusif ini pihak Universitas Bina Sarana Informatika berhak menyimpan, mengalih media atau memformatkan, mengelolanya dalam pangkalan data (database), mendistribusikannya dan menampilkan atau mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari kami selama tetap mencantumkan nama kami sebagai penulis/pencipta karya ilmiah tersebut.
Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Bina Sarana Informatika, segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Sukabumi Pada tanggal : 23 Agustus 2021
Yang menyatakan,
Materai
Aldi Almajid
v
LEMBAR PERSETUJUAN DAN PENGESAHAN SKRIPSI
Skripsi ini diajukan oleh
Nama : Aldi Almajid
NIM : 15170403
Jenjang : Strata Satu (S1)
Program Studi : Ilmu Komputer Kampus Kota Sukabumi
PSDKU : Kota Sukabumi
Perguruan Tinggi : Universitas Bina Sarana Informatika
Judul Skripsi : Implementasi Sistem Sinkronisasi Stok Barang Dengan API Tokopedia Menggunakan Metode Average
Telah dipertahankan pada periode I-2020 di hadapan penguji dan diterima sebagai bagian persyaratan yang diperlukan untuk memperoleh Sarjana Ilmu Komputer (S.Kom) pada Program Sarjana Program Studi Ilmu Komputer Kampus Kota Sukabumi di Universitas Bina Sarana Informatika.
Sukabumi, Agustus 2020 PEMBIMBING SKRIPSI
Dosen Pembimbing I : Denny Pribadi, M.Kom ...
Dosen Pembimbing II : Desi Susilawati, M.Kom ...
DEWAN PENGUJI
Penguji I : ... ...
Penguji II : ... ...
vi
LEMBAR PEDOMAN PENGGUNAAN HAK CIPTA
Skripsi sarjana yang berjudul “Implementasi Sistem Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop” adalah hasil karya tulis asli Aldi Almajid dan bukan hasil terbitan sehingga peredaran karya tulis hanya berlaku di lingkungan akademik saja, serta memiliki hak cipta. Oleh karena itu, dilarang keras untuk menggandakan baik sebagian maupun seluruhnya karya tulis ini, tanpa seizin penulis.
Referensi kepustakaan diperkenankan untuk dicatat tetapi pengutipan atau peringkasan isi tulisan hanya dapat dilakukan dengan seizin penulis dan disertai ketentuan pengutipan secara ilmiah dengan menyebutkan sumbernya.
Untuk keperluan perizinan pada pemilik dapat menghubungi informasi yang tertera di bawah ini:
Nama : Aldi Almajid
Alamat : Jl. Bhayangkara No. 195a, RT/RW 002/005, Kel, Selabatu, Kec. Cikole, Kota Sukabumi, 43114
No. Hp : 085863222544
e-mail : aldialmajid@gmail.com
vii
KATA PENGANTAR
Puji syukur ke hadirat Allah SWT atas segala nikmat, rahmat dan karunianya, sehingga pada akhirnya penulis dapat menyelesaikan tugas ini dengan baik. Skripsi pada Program Sarjana (S1) ini penulis sajikan dalam bentuk buku yang sederhana.
Adapun judul Skripsi yang penulis ambil sebagai berikut, “Implementasi Sistem Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop”.
Tujuan penulisan Skripsi pada Program Sarjana (S1) ini dibuat sebagai salah satu syarat kelulusan Program Sarjana Universitas Bina Sarana Informatika. Sebagai bahan penulisan diambil berdasarkan hasil penelitian (eksperimen), observasi dan beberapa sumber literatur yang mendukung penulisan ini. Penulis menyadari bahwa tanpa bimbingan dan dorongan dari semua pihak, maka penulisan Skripsi ini tidak akan berjalan lancar. Oleh karena itu pada kesempatan ini, izinkanlah penulis menyampaikan ucapan terimakasih kepada:
1. Rektor Universitas Bina Sarana Informatika.
2. Dekan Fakultas Teknologi Informasi Universitas Bina Sarana Informatika.
3. Ketua Program Studi Ilmu Komputer Kampus Kota Sukabumi Universitas Bina Sarana Informatika Kampus Sukabumi.
4. Bapak Denny Pribadi, M.Kom selaku Dosen Pembimbing Skripsi.
5. Ibu Desi Susilawari, M.Kom selaku Dosen Pembimbing Asisten I Skripsi.
6. Staff / karyawan / dosen di lingkungan Universitas Bina Sarana Informatika Kampus Sukabumi.
7. Bapak Ujang Ikhlas, selaku Owner Kawaidollshop
viii 8. Staff / karyawan KawaidOllshop
9. Orang tua tercinta yang telah memberikan dukungan moral maupun spiritual.
10. Rekan-rekan mahasiswa kelas 15-8A.28.
Serta semua pihak yang terlalu banyak untuk disebut satu persatu sehingga terwujudnya penulisan ini. Penulis menyadari bahwa penulisan Skripsi ini masih jauh dari sempurna, untuk itu penulis mohon kritik dan saran yang bersifat membangun demi kesempurnaan penulisan di masa yang akan datang.
Akhir kata semoga Skripsi ini dapat berguna bagi penulis khususnya dan bagi para pembaca yang berminat pada umumnya.
Sukabumi, 3 Agustus 2020
Penulis
Aldi Almajid
ix
ABSTRAK
Aldi Almajid 15170403, Implementasi Sistem Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop.
Persediaan barang merupakan salah satu aktivitas perusahaan yang sangat penting bagi perkembangan perusahaan. Permasalahan yang sering dihadapi oleh perusahaan adalah sering terjadi kesalahan dalam pencatatan data transaksi pemesanan dan penjualan barang, sehingga kesulitan dalam pengontrolan persediaan barang.
Semakin bertambahnya jumlah jenis barang, timbul beberapa permasalahan yaitu informasi persediaan barang tidak dapat disajikan dengan cepat, tepat dan akurat.
Sinkronisasi data merupakan proses pembentukan konsistensi data antara database utama sebagai target penyimpanan data dan database cabang sebagai target tujuan atau sebaliknya, sehingga terbentuk konsistensi data dari waktu ke waktu antar keduanya. Dalam proses sinkronisasi, data urutan aktivitas tertentu yang terjadi didasarkan pada urutan dan ketentuan yang berlaku sehingga integritas data akan tetap terjaga. metode Average lebih cocok digunakan karena penentuan harga perolehan persediaan tidak didasarkan pada harga persediaan yang pertama masuk atau yang terakhir masuk melainkan di antara keduanya. Tidak cukup hanya dengan metode Average saja untuk menyelesaikan permasalahan perusahaan Kawaidollshop, diperlukan juga sistem sinkronisasi agar stok barang pada toko daring dan luring berjalan optimal. Namun karena Kawaidollshop menjual produk secara daring dan luring maka timbul suatu permasalahan, yakni stok barang tidak sesuai dengan kenyataan yang membuat operasional perusahaan terhambat.
Kata Kunci: Sinkronisasi, API, Kawaidollshop
x
ABSTRACT
Aldi Almajid 15170403, Implementation of Stock Synchronization System with Tokopedia Application Programming Interface (API) Using Average Method On Kawaidollshop
Inventory of goods is one of the company's activities that are very important for the development of the company. The problem that is often faced by companies is that there are often errors in recording data on order transactions and sales of goods, so that difficulties in controlling goods inventory. The increasing number of types of goods, there are several problems, namely information on inventory of goods cannot be presented quickly, precisely and accurately. Data synchronization is the process of establishing data consistency between the main database as a data storage target and a branch database as the target destination or vice versa, so that data consistency is formed over time between the two. In the synchronization process, the data sequence of certain activities that occur is based on the order and applicable provisions so that the integrity of the data will be maintained. The Average method is more suitable to be used because the determination of the acquisition price of inventory is not based on the price of the first entered inventory or the last to enter but in between the two. It is not enough just with the Average method to solve the problems of the Kawaidollshop company, it is also necessary to synchronize the synchronization system so that the stock of goods in online and offline stores runs optimally. But because Kawaidollshop sells products online and offline, there is a problem, namely the stock of goods is not in accordance with the reality that makes the company's operations hampered.
Keywords: Sync, API, Kawaidollshop
xi
DAFTAR ISI
LEMBAR JUDUL ... i
LEMBAR PERSEMBAHAN ... ii
LEMBAR PERNYATAAN KEASLIAN SKRIPSI ... iii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH . iv LEMBAR PERSETUJUAN DAN PENGESAHAN SKRIPSI ... v
LEMBAR PEDOMAN PENGGUNAAN HAK CIPTA ... vi
KATA PENGANTAR ... vii
ABSTRAK ... ix
DAFTAR ISI ... xi
DAFTAR SIMBOL ... xiii
DAFTAR GAMBAR ... xviii
DAFTAR TABEL... xix
DAFTAR LAMPIRAN ... xx
BAB I PENDAHULUAN ... 1
1.1.Latar Belakang Masalah ... 1
1.2.Identifikasi Masalah ... 3
1.3.Perumusan Masalah ... 3
1.4.Tujuan dan Manfaat ... 3
1.5.Metode Penelitian ... 4
1.5.1. Teknik Pengumpulan Data ... 5
1.5.2. Model Pengembangan Aplikasi ... 5
1.6.Ruang Lingkup ... 7
BAB II LANDASAN TEORI ... 8
2.1.Tinjauan Pustaka ... 8
2.1.1. Konsep Dasar Sistem ... 8
2.1.2. Metode Pengembangan Average ... 13
2.1.3. Pengujian Sistem ... 13
2.1.4. Peralatan Pendukung ... 13
2.2.Penelitian terkait ... 15
BAB III ANALISIS SISTEM BERJALAN ... 17
3.1.Tinjauan Institusi / Organisasi ... 17
3.1.1. Sejarah Institusi / Organisasi... 17
3.1.2. Struktur Organisasi ... 19
3.2.Proses Bisnis Sistem ... 21
3.3.Spesifikasi Dokumen Sistem Berjalan ... 23
xii
3.3.1. Spesifikasi Bentuk dokumen Masukkan ... 23
3.3.2. Spesifikasi Bentuk dokumen Keluaran ... 23
BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN... 24
4.1.Analisis Kebutuhan Software ... 24
4.1.1. Tahapan Analisis ... 24
4.1.2. Use Case Diagram ... 25
4.1.3. Activity Diagram... 26
4.2.Desain ... 28
4.2.1. API ... 28
4.2.2. Arsitektur Perangkat Lunak ... 31
4.2.3. Antarmuka Pengguna ... 33
4.3.Code Generation ... 35
4.4.Pengujian ... 45
4.5.Pendukung ... 45
4.5.1. Publikasi Web ... 45
4.5.2. Spesifikasi Hardware dan Software ... 45
4.6.Spesifikasi Dokumen dan Sistem Usulan ... 47
BAB V PENUTUP ... 48
5.1.Kesimpulan ... 48
5.2.Saran ... 48
DAFTAR PUSTAKA ... 49
DAFTAR RIWAYAT HIDUP ... 51
LEMBAR KONSULTASI BIMBINGAN ... 52
SURAT KETERANGAN RISET ... 54
LAMPIRAN ... 55
xiii
DAFTAR SIMBOL
a Simbol UML
Daftar Simbol Usecase Diagram
GAMBAR KETERANGAN
ACTOR
Menspesifikasikan himpunan peran yang pengguna mainkan ketika berinteraksi dengan use case.
DEPENDENCY
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent).
GENERALIZATION
Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
INCLUDE
Menspesifikasikan bahwa use case sumber secara eksplisit.
EXTEND
Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan.
ASSOCIATION 11
pa yang menghubungkan antara objek satu dengan objek lainnya.
SYSTEM
Menspesifikasikan paket yang menampilkan sistem secara terbatas.
USE CASE
Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor
xiv Daftar Simbol Activity Diagram
GAMBAR KETERANGAN
ACTIFITY
Memperlihatkan bagaimana kelas-kelas interface yang saling berinteraksi.
ACTION
State dari sistem yang memperlihatkan eksekusi apa dari suatu aksi tersebut.
INITIAL NODE
Bagaimana objek awal dibentuk atau start.
ACTIFITY FINAL NODE
Bagaimana objek tersebut dibentuk dan dihancurkan.
FORK NODE
Satu aliran yang pada tahap tertentu berubah menjadi dua atau lebih aliran.
DECISION
Dimana ada suatu pilihan untuk mengambil suatu keputusan.
RAKE
Menunjukan adanya sebuah komposisi.
SWIMLINE
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
xv Daftar Simbol Sequence Diagram
SIMBOL KETERANGAN
OBJECT
Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal.
Digambarkan sebagai sebuah class (kotak) dengan nama obyek
didalamnya yang diawali dengan sebuah titik koma
ACTOR
Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom.
Simbol Actor sama dengan simbol pada Actor Use Case Diagram.
LIFELINE
Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah obyek.
ACTIVATION
Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline.
Activation mengindikasikan sebuah obyek yang akan melakukan sebuah aksi.
MESSAGE
Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara object- object.
xvi
Daftar Simbol Component Diagram
SIMBOL KETERANGAN
KOMPONEN
Sebuah komponen melambangkan sebuah entitas software dalam sebuah sistem.
Sebuah komponen dinotasikan sebagai sebuah kotak segiempat dengan dua kotak kecil tambahan yang menempel disebelah kirinya.
DEPEDENCY
Sebuah Dependency digunakan untuk menotasikan relasi antara dua komponen.
Notasinya adalah tanda panah putus-putus yang diarahkan kepada komponen tempat sebuah komponen itu bergantung.
Daftar Simbol Deployment Diagram
SIMBOL KETERANGAN
KOMPONEN
Pada deployment diagram,
komponenkomponen yang ada diletakkan didalam node untuk memastikan keberadaan posisi mereka
NODE
Node menggambarkan bagian-bagian hardware dalam sebuah sistem. Notasi untuk node digambarkan sebagai sebuah kubus 3 dimensi.
ASSOCIATION
Sebuah association digambarkan sebagai sebuah garis yang menghubungkan dua node yang mengindikasikan jalur komunikasi antara element-elemen hardware.
xvii b Simbol Entity Relationship Diagram (ERD)
SIMBOL KETERANGAN
HIMPUNAN ENTITAS
Digunakan untuk menggambarkan objek yang dapat didefinisikan dalam lingkungan pemakai
ATRIBUT
Menggambarkan elemen elemen dari satu entity yang menggambarkan entity
RELASI
Entity dapat berhubungan satu sama lain.
Hubungan ini disebut relationship
LINK
Digunakan untuk menghungkan entity dengan relasi dan entity dapat atribut
xviii
DAFTAR GAMBAR
Gambar III. 1 Struktur Organisasi ... 18
Gambar III. 2 Activty diagram proses bisnis sistem ... 21
Gambar IV. 1 Use Case Diagram ... 24
Gambar IV. 2 Activity Diagram Login ... 25
Gambar IV. 3 Activity Diagram Produk ... 26
Gambar IV. 4 Activity Diagram Stok Barang ... 27
Gambar IV. 5 Class Diagram ... 30
Gambar IV. 6 Component Diagram ... 31
Gambar IV. 7 Deployment Diagram ... 31
Gambar IV. 8 Tampilan Login ... 32
Gambar IV. 9 Tampilan Produk ... 32
Gambar IV. 10 Tampilan Update stok barang ... 33
Gambar IV. 11 Tampilan opsi stok barang ... 33
Gambar IV. 12 Tampilan Tambah produk ... 34
xix
DAFTAR TABEL
Tabel IV. 1 Pengujian Form Login ... 45
xx
DAFTAR LAMPIRAN
Lampiran A. keadaan dan lokasi toko ... 55
Lampiran B. Input data penjualan online/marketplace masih manual ... 56
Lampiran C. Input data penjualan toko offline masih manual ... 57
Lampiran D. Input dan report stok barang masih manual ... 58
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Persediaan atau stok merupakan salah satu unsur yang paling aktif dalam operasi lembaga atau organisasi yang secara terus menerus diperoleh, diubah kemudian dijual kembali. Persediaan barang merupakan salah satu aktivitas perusahaan yang sangat penting bagi perkembangan perusahaan. Permasalahan yang sering dihadapi oleh perusahaan ini adalah sering terjadi kesalahan dalam pencatatan data transaksi pemesanan dan penjualan barang, sehingga kesulitan dalam pengontrolan persediaan barang. Semakin bertambahnya jumlah jenis barang, timbul beberapa permasalahan yaitu informasi persediaan barang tidak dapat disajikan dengan cepat, tepat dan akurat (Fauziah & Ratnawati, 2018).
Sinkronisasi data merupakan proses pembentukan konsistensi data antara database utama sebagai target penyimpanan data dan database cabang sebagai target tujuan atau sebaliknya, sehingga terbentuk konsistensi data dari waktu ke waktu antar keduanya. Dalam proses sinkronisasi, data urutan aktivitas tertentu yang terjadi didasarkan pada urutan dan ketentuan yang berlaku sehingga integritas data akan tetap terjaga (Pamuji et al., 2020).
Metode LIFO (Last In First Out) merupakan metode penetapan harga pokok persediaan berdasarkan asumsi bahwa harga pokok terjual harus dibebankan ke pendapatan menurut biaya yang paling akhir terjadi, dengan menggunakan LIFO, biaya unit yang dijual merupakan biaya pembelian paling akhir (Vidiana et al., 2021).
2
Metode FIFO cenderung menghasilkan persediaan yang nilainya tinggi dan berdampak pada nilai aktiva perusahaan yang dibeli. Metode FIFO sangat cocok digunakan untuk perusahaan-perusahaan yang menjual barang yang sejenis, cepat kadaluwarsa dan model yang cepat berubah (D. I. Sari, 2018).
Dengan asumsi tersebut penggunaan metode LIFO dan FIFO kurang cocok digunakan pada Kawaidollshop. Oleh karena itu metode Average lebih cocok digunakan karena penentuan harga perolehan persediaan tidak didasarkan pada harga persediaan yang pertama masuk atau yang terakhir masuk melainkan di antara keduanya (Solikin, 2017). Tidak cukup hanya dengan metode Average saja untuk menyelesaikan permasalahan perusahaan Kawaidollshop, diperlukan juga sistem sinkronisasi agar stok barang pada toko daring dan luring berjalan optimal.
Kawaidollshop merupakan sebuah Usaha Mikro, Kecil, dan Menengah (UMKM) retail modern yang bergerak dibidang kosmetik atau skincare. Namun karena Kawaidollshop menjual produk secara daring dan luring maka timbul suatu permasalahan, yakni stok barang tidak sesuai dengan kenyataan yang membuat operasional perusahaan terhambat.
API (Application Programming Interface) merupakan bahasa dan format pesan yang digunakan untuk berkomunikasi dengan Data Base Management System (Julio & Eliyani, 2017). Oleh karena itu diperlukan juga sistem sinkronisasi dengan penggunaan API Tokopedia agar stok barang pada Marketplace dan luring ritel dapat diselaraskan.
Dengan adanya permasalahan yang telah disebutkan sebelumnya mendorong penulis untuk memperbaiki dan melakukan perancangan sinkronisasi persediaan barang berbasis web untuk membantu perusahaan dalam menjalankan usahanya agar lebih optimal. Sehingga penulisan skripsi ini diberikan judul “Implementasi Sistem
3
Sinkronisasi Stok Barang Dengan Application Programming Interface (API) Tokopedia Menggunakan Metode Average Pada Kawaidollshop”.
1.2. Identifikasi Masalah
Berdasarkan latar belakang diatas, maka dapat disimpulkan identifikasi masalah yang ada sebagai berikut :
1. Stok barang masih memakai sistem manual yang memungkinkan data dapat dimanipulasi.
2. Kawaidollshop memiliki toko daring dan luring yang menyebabkan tidak sinkronnya data stok barang.
1.3. Perumusan Masalah
Berdasarkan uraian yang telah disampaikan melihat dan mengkaji latar belakang di atas, maka penulis menyimpulkan pokok permasalahan yang dihadapi adalah:
1. Bagaimana menerapkan metode Average dalam pengendalian sinkronisasi stok barang pada toko Kawaidollshop?
2. Bagaimana membuat rancang bangun sinkronisasi stok barang berbasis web di toko Kawaidollshop menggunakan metode Average?
3. Bagaimana menerapkan sistem API pada metode Average?
1.4. Tujuan dan Manfaat
Tujuan penyusunan skripsi ini di antaranya:
1. Mengetahui cara penerapan metode Average dalam pengendalian sinkronisasi persediaan stok barang di toko Kawaidollshop.
2. Memudahkan ketika mengelola dan mengontrol data barang yang masuk dan barang yang keluar.
4
3. Mempermudah pegawai saat melakukan cek stok barang.
4. Mempermudah pegawai dalam proses membuat laporan masukan dan keluaran.
Sedangkan manfaat dari penyusunan Skripsi ini adalah:
1. Manfaat untuk penulis:
Sebagai salah satu syarat yang sudah ditentukan untuk mencapai kelulusan Program Sarjana (S1) pada Program Studi Ilmu Komputer Kampus Kota Sukabumi Universitas Bina Sarana Informatika.
2. Manfaat untuk objek penelitian:
a. Memberikan inovasi baru kepada perusahaan tempat penelitian mengenai pengendalian persediaan untuk setiap bulan
b. Membantu perusahaan untuk menentukan persediaan barang yang optimal.
3. Manfaat untuk pembaca:
Memberikan referensi yang bermanfaat untuk para pembaca khususnya untuk yang mempunyai kepentingan yang serupa, juga dapat dijadikan sebagai perbandingan dengan konsep atau model lain dalam pengembangan sistem.
1.5. Metode Penelitian
Metode Penelitian sangat penting dalam proses penelitian karena mengarahkan peneliti pada cara yang benar dalam mengumpulkan data, pengembangan sistem yang akan diteliti sampai pada membuat kesimpulan dari penelitian yang dilakukan.
Adapun metode penelitian yang penulis gunakan untuk menyelesaikan masalah adalah sebagai berikut:
5
1.5.1. Teknik Pengumpulan Data 1. Observasi
Pada metode ini penulis melakukan pengamatan dan kunjungan secara langsung untuk mencari dan mengumpulkan data terkait dengan masalah sistem persediaan yang terjadi di Toko Kawaidoshop.
2. Wawancara
Pada metode ini penulis melakukan tanya jawab secara langsung dengan pemilik usaha yaitu bapak Ujang Ikhlas guna mendapatkan informasi meliputi kegiatan dan sistem pencatatan persediaan yang terjadi di Toko Kawaidoshop.
3. Studi Pustaka
Pada metode ini penulis mengumpulkan referensi yang terdapat dari berbagai macam buku, jurnal, dan media daring yang kemudian dikaji lebih lanjut untuk membahas proses penulisan Skripsi ini.
1.5.2. Model Pengembangan Aplikasi
Dalam penyusunan Skripsi ini berdasarkan data-data yang telah diperoleh maka penulis akan menggunakan metode pengembangan aplikasi Prototipe dan metode manajemen stok barang Average (rata-rata). Adapun tahapan dalam metode Prototipe yang telah penulis kumpulkan adalah sebagai berikut:
1. Analisa Kebutuhan Sistem
Pada tahap ini penulis melakukan wawancara terkait informasi kebutuhan user dengan sistem. Yang dibutuhkan dalam pengolahan data persediaan mencakup beberapa menu antara lain: Menu User mencakup Halaman Login untuk admin, staf gudang dan direktur, Halaman Beranda Staf mencakup
6
Halaman Menu Master Data dengan submenu Data Barang, Menu Laporan untuk mengelola Laporan Barang Masuk, Barang Keluar dan Laporan Stok Barang, halaman pengaturan sistem, dan halaman pengguna. Pada Halaman Beranda direktur, direktur hanya bisa melihat submenu Laporan Barang masuk, Laporan Barang Keluar dan Laporan Stok Barang tanpa bisa mengubah datanya.
2. Desain
Tahapan desain pada permasalahan penelitian ini dengan menggunakan pemodelan rekayasa perangkat lunak diagram hubungan entitas seperti Entity Relantionship Diagram (ERD), Logical Record Structure (LRS) dan rancangan sistem yang digunakan antara lain Activity Diagram, Use Case Diagram, dan Deployment Diagram.
3. Code Generation
Pada tahapan ini program komputer yang telah sesuai dengan desain yang telah dibuat akan di implementasikan dengan bahasa pemrograman personal home page (PHP) memakai konsep terstruktur dengan menggunakan software Adobe Dreamweaver dan Visual Studio Code sebagai text editor.
4. Pengujian (Testing)
Setelah tahapan mengkodekan program berhasil dibuat maka perlu dilakukan pengujian dengan menggunakan metode blackbox testing. Metode pengujian ini dilakukan untuk mengecek apakah sistem yang digunakan penulis sudah sesuai dengan penggunaannya atau belum.
5. Pemeliharaan (support)
Pada rancangan program yang telah jadi perlu dilakukan tahapan pemeliharaan secara berkala seperti melakukan pengembangan sistem dengan
7
memperbaharui source code yang dibutuhkan oleh user dan melakukan backup data agar data tidak rusak ataupun terjadi kehilangan data.
1.6. Ruang Lingkup
Mengingat luasnya cakupan sistem persediaan stok barang, maka penulis akan membuat batasan terhadap masalah tersebut agar mencapai hasil yang optimal yang meliputi:
1. Data produk skincare yang disinkronisasikan dengan API Tokopedia 2. Data laporan stok barang
3. Data laporan barang masuk dan keluar
4. API yang digunakan untuk sinkronisasi adalah API Tokopedia.
5. Web yang hanya dapat diakses oleh staf dan direktur.
8
BAB II
LANDASAN TEORI
2.1. Tinjauan Pustaka
Teori yang digunakan sebagai landasan mengenai Sistem Sinkronisasi Stok barang berbasis web. Dengan menggunakan API Marketplace dan metode average akan dikemukakan sebagai berikut:
2.1.1. Konsep Dasar Sistem 1. Sistem
Sistem merupakan sekelompok unsur yang erat berhubungan satu dengan lainnya, yang berfungsi bersama - sama untuk mencapai tujuan tertentu (Afifah & Setyantoro, 2021).
a. Karakteristik Sistem
Ada Beberapa Karakteristik di dalam Sistem, di antaranya komponen- komponen (components), batas sistem (boundary), lingkungan luar dari sistem tersebut (environments), media penghubung dalam sistem (interface), masukan-masukan (input), pengolahan (process), keluaran (output), dan sasaran (objective) atau tujuan dari sistem tersebut (Negara et al., 2021).
Berikut ini masing-masing penjelasan mengenai karakteristik sistem:
1) Komponen (components) di dalam sistem dapat disebut juga sebagai sub sistem, yaitu suatu sistem dengan skala yang lebih kecil di mana sub sistem ini bekerja sama dan membentuk suatu kesatuan yang terorganisir sehingga dapat mencapai tujuan bersama. Bagi suatu sistem, bagian di luar sistem tersebut dapat disebut sebagai lingkungan (environment), akan
9
tetapi bisa disebut juga sebagai supra sistem, di mana supra sistem ini merupakan bagian dari suatu sistem yang lebih besar lagi.
2) Batas Sistem (boundary) merupakan suatu area yang memberikan pembahasan di antara suatu sistem dengan sistem yang lain atau dengan lingkungan di luar sistem tersebut. Batas sistem ini menjadikan suatu sistem dapat dilihat sebagai suatu kesatuan. Batas dari suatu sistem akan menunjukkan ruang lingkup (scope) dari sistem tersebut.
3) Modal lingkungan luar sistem (environments) yaitu segala sesuatu yang berada di luar batasan sistem yang memberikan pengaruh terhadap operasional sistem tersebut. Lingkungan luar dari suatu sistem dapat bersifat mendukung atau menguntungkan sistem tersebut. Environments yang menguntungkan harus selalu dijaga dan dirawat atau dipelihara karena merupakan energi sistem, sedangkan environments yang merugikan harus tetap ditahan dan dikendalikan agar tidak menyebabkan kerugian yang berlebih terhadap sistem.
4) Penghubung Sistem (interface) adalah media yang menjadi perantara atau penghubung antara sub sistem yang satu dengan sub sistem yang lain.
Melalui media inilah sumber daya dapat mengalir dari sebuah sub sistem kepada sub sistem yang lainnya. Hasil dari suatu sub sistem akan menjadi masukan pada sub sistem yang lain, sehingga dengan melalui media penghubung ini semua sub sistem dapat saling berinteraksi dan bekerja sama membentuk satu kesatuan.
5) Masukan (input) yaitu berupa energi atau data yang di masukan ke dalam sistem, dan dapat berupa sumber daya utama yang di masukan agar
10
sistem tersebut dapat beroperasi, atau suatu masukan yang akan diproses di dalam sistem sehingga menghasilkan sesuatu yang baru (output).
6) Pengolahan ata proses (process) merupakan tahapan dalam sistem yang bertugas memroses suatu masukan menjadi suatu keluaran yang diharapkan.
7) Keluaran (outuput) merupakan hasil dari suatu proses di dalam sistem yang berasal dari masukan, yang sebelumnya diolah dan diklasifikasikan agar menghasilkan suatu keluaran.
b. Klasifikasi Sistem
Menurut Edi Surya Negara (Negara et al., 2021) menjelaskan bahwa jenis- jenis sistem dapat diklasifikasikan berdasarkan beberapa sudut pandang berikut:
1) Sistem Abstrak dan Sistem Fisik
Sistem abstrak (abstract system) merupakan suatu sistem yang berupa pemikiran-pemikiran atau gagasan yang tidak dapat dilihat atau tapak secara fisik.
2) Sistem Alamiah dan Sistem Buatan Manusia
Sistem alamiah yaitu suatu sistem yang terjadi karena adanya proses alam, yang secara langsung terbentuk tanpa campur tangan manusia.
3) Sistem Deterministic dan Sistem Probabilistic
Sistem deteministic merupakan suatu sistem yang bekerja atau berjalan sesuai dengan tingkah laku sistem yang bisa ditebak atau dapat diproduksi dengan cepat, serta interaksi yang terjadi di antara bagian- bagiannya dapat dideteksi dengan pasti.
4) Sistem Terbuka dan Sistem Tertutup
11
Sistem terbuka yaitu sistem yang mempunyai keterhubungan dengan lingkungan luar dari sistem tersebut sehingga dapat terpengaruh dengan kondisi lingkungan luarnya.
C. Syarat-syarat Sistem
Berdasarkan definisi dan karakteristik sistem, beberapa syarat yang harus dimiliki suatu sistem bisa disimpulkan adalah sebagai berikut (Negara et al., 2021) :
1) Sistem harus dibangun untuk melakukan dan menyelesaikan tujuan tertentu.
2) Elemen suatu sistem haruslah mempunyai rencana.
3) Elemen di dalam sistem harus keterhubungan.
4) Unsur dari suatu proses informasi, material ataupun energi dari suatu sistem lebih penting daripada elemen itu sendiri.
5) Sistem harus merepresentasikan tujuan organisasi. Di mana tujuan organisasi ini lebih penting daripada tujuan elemen dalam sistem.
2. Pengertian Informasi
Informasi adalah olahan data ke dalam bentuk yang dapat memberikan arti bagi penerima dan dapat dijadikan sebagai dasar pengambilan keputusan saat ini atau mendatang (Admin, 2020).
3. Pengertian Sistem Informasi
Sistem informasi menyiratkan penggunaan teknologi dengan komputer dalam organisasi atau perusahaan yang dapat menyediakan informasi bagi pihak- pihak yang membutuhkan dan pengguna (Admin, 2020).
12
4. Pengertian Stok barang
Stok atau persediaan merupakan suatu aktivitas yang meliputi barang-barang milik perusahaan dengan maksud untuk dijual dalam periode usaha yang normal (Hanik Mujiati 2014). Stok barang merupakan barang-barang yang sesuai dengan bisnis yang dijalankan dan tersimpan pada gudang perusahaan (Pahlevi et al., 2021).
5. Pengertian Sinkronisasi
Sinkronisasi merupakan bagian dari replikasi database, merupakan sebuah teknik dalam pendistribusian dan penyalinan data antar database sehingga ketetapan atau konsistensi data pada suatu database terjaga. Fungsi sinkronisasi memungkinkan pendistribusian data dilakukan secara periodik pada rentang waktu tertentu atau real-time ke host yang berbeda melalui jaringan komputer. Sinkronisasi database dapat mendukung berjalannya fungsi dari aplikasi bisnis, pendistribusian data untuk berbagai keperluan, di antaranya meningkatkan kinerja transaksi bisnis, sistem pengambilan keputusan atau pengolahan sistem terdistribusi pada server yang berbeda (Abhisena et al., 2017).
6. Pengertian Marketplace
Marketplace merupakan media daring berbasis internet (web-based) tempat melakukan kegiatan bisnis dan transaksi antara pembeli dan penjual. Pembeli dapat mencari supplier sebanyak mungkin dengan kriteria yang diinginkan, sehingga memperoleh sesuai harga pasar. Sedangkan Menurut Brunn, Jensen,
& Skovgaard, marketplace adalah wadah komunitas bisnis interaktif secara elektronik yang menyediakan pasar di mana perusahaan dapat ambil andil dalam B2B e-Commerce dan atau kegiatan e-Business lain. Dari beberapa
13
definisi tersebut, dapat dikatakan bahwa marketplace merupakan sebuah wadah pemasaran produk secara elektronik yang mempertemukan banyak penjual dan pembeli untuk saling bertransaksi (Zhang et al., 2016).
2.1.2. Metode Pengembangan Average
Metode Average merupakan metode yang mempunyai teknik pemberian bobot yang berbeda atas data yang tersedia dengan demikian bahwa data yang paling akhir adalah data yang paling relevan untuk peramalan sehingga diberi bobot yang lebih besar. Metode ini digunakan jika terdapat data masa lalu merupakan data yang tidak memiliki unsur tren atau faktor musiman (Erwina, 2020).
2.1.3. Pengujian Sistem
Dalam sebuah penelitian ada beberapa jenis pengujian di antaranya (Hidayat
& Muttaqin, 2018).
1. Black Box Testing
Pengujian yang fokus pada spesifikasi fungsional, tester dapat diartikan sebagai kumpulan kondisi input serta melakukan pengetesan. Dan pada pengujian ini tanpa mengetahui struktur internal kode.
2. White Box Testing
Pengujian pada detail perancangan, yang secara prosedural menggunakan struktur pengendali dari sebuah desain program, dan pengujian ini mengharuskan untuk tahu internal tentang kemampuan sistem dan pemrogramannya.
2.1.4. Peralatan Pendukung
1. UML (Unified Modeling Language)
UML merupakan sebuah model perancangan sistem yang mempunyai kelebihan dapat memudahkan developer sistem dalam merancang sistem
14
yang akan dibuat karena sifatnya yang berorientasi kan pada objek (M Teguh Prihandoyo, 2018).
a. Activity diagram
Activity diagram merupakan diagram yang menggambarkan aktivitas pengguna sistem dari keseluruhan menu yang ada pada sistem (Nugroho et al., 2021).
b. Use case diagram
Use case diagram adalah sesuatu yang penting untuk mendokumentasikan perilaku sistem. Use case diagram digunakan untuk menjelaskan kegiatan apa saja yang dapat dilakukan oleh Aktor terhadap sistem (Tanjung, 2021).
c. Deployment diagram
Deployment diagram adalah diagram yang digunakan memetakan software ke processing node. Menunjukkan konfigurasi elemen pemroses pada saat runtime dan software yang ada di dalamnya (Ubaidillah & Fatmawati, 2021).
d. Component diagram
Component Diagram menggambarkan struktur dan hubungan antar komponen perangkat lunak dalam sistem dan hubungan antar mereka, Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan di antara kumpulan komponen dalam sebuah sistem (Ubaidillah & Fatmawati, 2021).
e. Sequence Diagram
Sequence diagram adalah suatu diagram yang menggambarkan interaksi antara objek dan mengindikasikan komunikasi di antara objek-objek tersebut, Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh
15
objek-objek yang melakukan suatu tugas atau aksi tertentu (Simanjuntak, 2021).
f. Entitiy Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) merupakan pemodelan awal basis data yang paling banyak digunakan dalam merancang basis data dan ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. Pada sistem ini, ERD digunakan untuk merancang pemodelan awal basis data dan kemudian di implementasikan ke dalam sebuah database (Ubaidillah &
Fatmawati, 2021).
g. Logical Record Structure (LRS)
LRS( Logical Record Structure) adalah representasi dari struktur record- record pada tabel-tabel yang terbentuk dari hasil antar himpunan entitas (Oktaviani, 2021).
2.2. Penelitian terkait
Penelitian dari Tri Anggara Mukti, Muharir (Monitoring et al., n.d.) yang berjudul “ Aplikasi Monitoring Transaksi Pembelian, Penjualan Dan Stok Barang Distributor Barang Berbasis Web Pada PT. Sejahtera Sukses Sejati”
Penelitian ini dibuat untuk membantu perusahaan dalam melakukan transaksi pembelian, penjualan dan stok kepada admin dan manajer, sehingga pembuatan laporan akan menjadi lebih efisien.
Penelitian selanjutnya dibuat oleh Tirta ayu, Didik Wiguna, Sutrisno (T. A.
R. Sari et al., 2021) yang berjudul “Sistem Aplikasi Desktop Pengolahan Data Stok Barang pada CV Ridho Fishing” Penelitian ini dilakukan untuk
16
membantu pegawai/staf dalam melakukan pengelolaan stok barang, mengambil keputusan dan mendapatkan laporan penjualan.
Selanjutnya, penelitian yang dilakukan oleh Fathia, Ardianto Moenir (Moenir
& Engineering, 2021) yang berjudul “Pembuatan Aplikasi Stok Barang Berbasis Web Di Gudang Filter Element Pada PT. Progo Tehnik” Penelitian ini bertujuan untuk meminimalkan kesalahan dalam pengelolaan dan pengolahan barang-barang sehingga pembuatan laporan lebih cepat dan tepat.
Berdasarkan penelitian terkait di atas, maka pada penelitian ini dikembangkanlah Implementasi Sistem Sinkronisasi Stok Barang Dengan API Tokopedia Menggunakan Metode Average pada Kawaidollshop.
17
BAB III
ANALISIS SISTEM BERJALAN
3.1. Tinjauan Institusi / Organisasi 3.1.1. Sejarah Institusi / Organisasi
Kawaidollshop merupakan sebuah UMKM retail modern yang bergerak di bidang kosmetik atau skincare. Lebih dari 30 merek produk yang dijual secara daring dan luring, untuk daring Kawaidollshop menjual di marketplace dan media sosial, untuk toko luring Kawaidollshop terletak di Jl. Sriwidari No.95, Sriwidari, Kec.
Gunungpuyuh, Kota Sukabumi, Jawa Barat 43121. Dalam memenuhi kebutuhan dan keamanan pelanggan kawaidollshop menjual merek produk yang aman dan sudah mendapat izin dari Badan Pengawasan Obat dan Makanan (BPOM). Kawaidollshop didirikan pada tahun 2014, oleh seorang anak muda yang saat itu masih duduk di bangku SMA kelas 10. Usaha awal Kawaidollshop hanya memanfaatkan media sosial untuk menjual produknya secara daring yang kemudian beranjak ke marketplace, sampai sekarang Kawaidollshop sudah memiliki toko luring dan sudah mengantongi izin usaha dari tahun 2017. Saat ini Kawaidollshop sudah dikenal cukup luas terutama oleh masyarakat Sukabumi berkat promosi yang intens melalui media sosial.
Kawaidollshop Memiliki visi dan misi sebagai berikut:
Visi : Menjadi pilihan utama bagi konsumen dan terpercaya dalam menyediakan produk kosmetik yang aman dan berkualitas.
18
19
Misi:
1. Memberikan kenyamanan dan pelayanan yang berkualitas kepada seluruh konsumen.
2. Menjual produk yang sudah mendapat izin dari BPOM.
3.1.2. Struktur Organisasi
Owner Ujang Ikhlas
Direktur Syavtri
Direktur Keuangan Ernawati N
Manajer Bag Luring Ernawati N
Manaer Bag Daring Nazifah Sipa
Staf Gudang Miki, Nazar
Staf Toko Nopi, Ifanny,
Ulfi
Staf Desain Visual
Majid
Staf Packing Sri, Risa
Staf Daring Risa
Sumber: (Kawaidollshop,2021) Gambar III. 1 Struktur Organisasi 1. Owner (Pemilik)
a. Menyediakan atau mencarikan dana untuk Anggaran Biaya perusahaan.
b. Mengawasi jalannya perusahaan.
c. Melakukan Review Action Plan, RAB, dan strategi perusahaan.
d. Mengevaluasi laporan akhir cashflow perusahaan.
e. Menjalin kerja sama antar supplier barang.
2. Direktur
a. Menyusun strategi untuk mengarahkan bisnis menjadi lebih maju.
b. Mengorganisasi visi dan misi perusahaan secara keseluruhan.
20
c. Menunjuk orang untuk memimpin divisi tertentu dan mengawasi pekerjaannya.
d. Menyampaikan laporan atas kinerja perusahaan.
e. Mengawasi kompetisi bisnis internal dan eksternal.
f. Order barang.
3. Direktur Keuangan
a. Pengukuran dan laporan.
b. Meminimalkan risiko.
c. Memimpin kinerja keuangan perusahaan.
4. Manajer bagian toko luring
a. Mengatur penjualan toko luring.
b. Evaluasi kinerja bagian staf gudang, staf toko luring.
c. Cek hasil stokan barang.
d. Mengatur jadwal kerja staf gudang dan toko.
5. Manajer bagian toko daring
a. Mengatur penjualan toko daring.
b. Mencetak resi di marketplace.
c. Konfirmasi kiriman daring.
6. Staf gudang
a. Memastikan barang tersusun rapi di gudang.
b. Memastikan stok sesuai selalu tersedia.
7. Staf toko luring
a. Melayani Pelanggan.
b. Memajang barang yang kosong.
21
8. Staf Visual Design
a. Membuat konten promosi.
b. Visualisasi toko luring.
9. Staf pengiriman
a. Pengepakan barang kiriman toko daring.
10. Staf toko online (daring) a. Cek kiriman barang.
b. Menyiapkan barang kiriman daring.
3.2. Proses Bisnis Sistem
Setelah melakukan observasi dan analisis pada Kawaidollshop dapat diketahui sistem yang sedang berjalan selama ini masih kurang efektif, dikarenakan pendataan untuk pengolahan data masih dicatat manual. Analisis prosedur yang sedang berjalan menguraikan secara sistematis aktivitas-aktivitas yang terjadi dalam proses pendataan sinkronisasi stok barang-barang pada Toko Kawaidolshop. Agar tahapan proses pembangunan sistem berjalan baik dan lancar, untuk lebih jelasnya menggunakan Activity diagram dan penjelasan sebagai berikut.
22
Gambar III. 2 Activty diagram proses bisnis sistem
Menjelaskan bahwa setiap barang yang datang atau yang masuk dari supplier (pemasok), supplier mengkonfirmasi ke kepala gudang dengan memberikan surat jalan yang berisikan jumlah dan barang apa saja yang di bawa, kemudian staf gudang akan mengecek barang tersebut dan staf gudang memberikan surat jalan tersebut ke admin gudang untuk mencatat barang yang masuk ke gudang ke dalam buku yang nantinya akan dibuat laporan barang masuk, kemudian laporan tersebut akan disalin kembali oleh bagian kantor sebagai arsip. Setelah melakukan pengecekan, kepala gudang mengonfirmasikan ke staf gudang untuk melakukan pemuatan dan pengawasan barang yang masuk ke gudang.
Activity proses bisnis sistem
supplier kepala gudang staf gudang
menerima surat jalan
memberikan surat jalan
pengecekan barang
menerima kwitansi Konfirmasi
pemesanan
pengiriman barang
memberikan kwitansi
membuat laporan data stok masuk
memelakukan pemuatan dan pengawasan barang
mberikan kwitansi
23
3.3. Spesifikasi Dokumen Sistem Berjalan 3.3.1. Spesifikasi Bentuk dokumen Masukkan Nama dokumen : Pemesanan barang Fungsi : Sebagai data stok barang
Sumber : Supplier
Tujuan : Staf Gudang
Media : Kertas
Jumlah : 1 buku
Frekuensi : Setiap 7 hari
Bentuk : Lampiran A1
3.3.2. Spesifikasi Bentuk dokumen Keluaran Nama dokumen : Laporan stok barang
Fungsi : Kumpulan daftar transaksi stok barang
Sumber : Staf gudang
Tujuan : Direktur
Media : Kertas
Jumlah : 1 buku
Frekuensi : Setiap akhir bulan
Bentuk : Lampiran B1
24
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisis Kebutuhan Software
Analisa kebutuhan software yang akan dikembangkan dalam penelitian ini yaitu untuk mengetahui cara kerja sinkronisasi stok barang yang akan digunakan di toko Kawaidollshop.
4.1.1. Tahapan Analisis
Dalam penelitian ini agar program sesuai dengan keinginan pengguna dan bisa dijalankan dengan baik, maka diperlukan analisa terhadap sistem. Dengan tujuan memperjelas konsep dan rancangan dengan unsur-unsur yang terlihat, berikut spesifikasi kebutuhan dari sinkronisasi stok barang :
A1 : user dapat melakukan login ke aplikasi A2 : user dapat mengatur produk
A3 : user dapat mengatur stok A4 : user dapat mencetak laporan
25
4.1.2. Use Case Diagram
Berikut adalah rancangan Use Case diagram pada sinkronisasi stok barang Kawaidollshop
1. Use Case Diagram
user
memanage produk
memanage stok Login
Mencetak Laporan
Gambar IV. 1 Use Case Diagram
26
4.1.3. Activity Diagram 1. Activity Diagram Login
Login Activity
system user
Phase
Masuk Aplikasi Tampil Form Login
Masukan Username
dan Password benar?
Tampil Menu Utama
tidak
ya
Gambar IV. 2 Activity Diagram Login
27
2. Activity Diagram produk
Produk Activity
system user
Phase
Masuk Halaman Utama
Tampil Halaman Utama
Memilih Halaman Produk
Tampil Halaman Produk
Memilih Tambah Produk
Tampil Halaman Produk
Memasukan Data Produk
Menyimpan Data Produk
Produk tersimpan Simpan?
Gambar IV. 3 Activity Diagram Produk
28
3. Activity Diagram Stok
Stok Activity
system user
Phase
Masuk Halaman Utama
Tampil Halaman Utama
Memilih Halaman Produk
Tampil Halaman Produk
Memilih Ubah Stok Tampil Form Ubah Stok
Memasukan Data Stok
Menyimpan Data Stok
Stok tersimpan Simpan?
Gambar IV. 4 Activity Diagram Stok Barang 4.2. Desain
4.2.1. API
GETgetAllProducts
29
http://pro.junandia.id/api/public/index.php/v1/tokopedia/products/getAll POSTAddProducts
http://pro.junandia.id/api/public/index.php/v1/tokopedia/products/createProdu cts
BODY Raw {
"name": "Graphic Designer 4222",
"category_id": "840",
"price_currency": "IDR",
"price": 20000,
"status": "LIMITED",
"min_order": 1,
"weight": 1,
"weight_unit": "KG",
"condition": "NEW",
"stock": 0 }
POSTUpdate Stock
http://pro.junandia.id/api/public/index.php/v1/tokopedia/products/update_stok HEADERS
30
Authorization
Bearer avK2WV5pSda4HlxC5mLrFA Content-Type
application/json BODYraw {
"product_id": 1978091740,
"jenis_update": "1",
"jumlah": 181 }
GETgetCategory
http://pro.junandia.id/api/public/index.php/v1/tokopedia/category/getCategory
?keyword=sejarah PARAMS
keyword sejarah
31
4.2.2. Arsitektur Perangkat Lunak 1. Class Diagram
Gambar IV. 5 Class Diagram
32
2. Component Diagram
<<component>>
Controller
<<component>>
View
<<component>>
Model INPUT
PI1RI1
PI2
PI3
RI2
RI3
PI8
PI9
User Input
Gambar IV. 6 Component Diagram 3. Deployment Diagram
Controller
Model
View Apache
MySQL Server Use
Gambar IV. 7 Deployment Diagram
33
4.2.3. Antarmuka Pengguna
Gambar IV. 8 Tampilan Login
Gambar IV. 9 Tampilan Produk
34
Gambar IV. 10 Tampilan Update stok barang
Gambar IV. 11 Tampilan opsi stok barang
35
Gambar IV. 12 Tampilan Tambah produk
4.3. Code Generation
<?php
namespace App\Classes;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ClientException;
/**
* Tokopedia Api Manager */
class TokopediaApiManager{
public function get_access(){
$headers = [
36
'Authorization' => 'Basic
ODQzOWRlYzJlYzE4NDA2YWJhZTYzMWVkMjE3MzMzZmM6OTk5O GU5YjRiZDU4NDAzMDhlYzVhY2I5NmJkOWRlN2I=',
'Content-Length' => 0,
'User-Agent' => 'PostmanRuntime/7.17.1' ];
$client = new Client(["headers"=> $headers]);
try {
$send = $client->request("POST",
'https://accounts.tokopedia.com/token?grant_type=client_credentials');
$res = $send->getBody()->getContents();
$result = json_decode($res);
$response['access_token'] = $result->token_type.' '.$result->access_token;
} catch (ClientException $e) {
$err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson;
} catch (RequestException $e) {
37
$response['code'] = 500;
$response['response'] = "";
$response['message'] = 'Please check Tokopedia server.';
}
return $response;
}
public function getCategory($keyword) {
$keyword = ($keyword) != null ? '?keyword='.rawurlencode($keyword) : '';
$url =
env('TOPED_URL').'inventory/v1/fs/'.env('FS_ID').'/product/category/'.
$keyword;
$headers = [
'Authorization' => $this->get_access() ];
$client = new Client(['headers' => $headers]);
try {
$send = $client->request("GET", $url);
$res = $send->getBody()->getContents();
$result = json_decode($res);
38
$response['code'] = $send->getStatusCode();
$response['data'] = $result->data;
$response['message'] = 'Successfully Get Data';
} catch (ClientException $e) { $err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson->header->reason;
} catch (RequestException $e) {
$response['code'] = 500;
$response['data'] = "";
$response['message'] = 'Please check Tokopedia server.';
}
return $response;
}
public function getAllProducts($product_id = null){
$product_id = ($product_id) != null ? '?product_id='.rawurlencode ($product_id) : '';
39
$url =
env('TOPED_URL').'v2/products/fs/'.env('FS_ID').'/1/200/'.$product_id;
$headers = [
'Authorization' => $this->get_access() ];
$client = new Client(['headers' => $headers]);
try {
$send = $client->request("GET", $url);
$res = $send->getBody()->getContents();
$result = json_decode($res);
$response['code'] = $send->getStatusCode();
$response['data'] = $result->data;
$response['message'] = 'Successfully Get Data';
} catch (ClientException $e) { $err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson;
} catch (RequestException $e) {
40
$response['code'] = 500;
$response['data'] = "";
$response['message'] = 'Please check Tokopedia server.';
}
return $response;
}
public function create_product($data){
$url =
env('TOPED_URL').'v3/products/fs/'.env('FS_ID').'/create?shop_id='.env('SH OP_ID');
$headers = [
'Authorization' => $this->get_access(), 'Content-Type' => 'application/json' ];
$client = new Client(['headers' => $headers]);
try {
$send = $client->request("POST", $url, ['json' => $data]);
$res = $send->getBody()->getContents();
$result = json_decode($res);
$response['code'] = $send->getStatusCode();
41
$response['data'] = $result->data;
$response['message'] = $result->header->messages;
} catch (ClientException $e) { $err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson;
} catch (RequestException $e) {
$response['code'] = 500;
$response['data'] = "";
$response['message'] = 'Please check Tokopedia server.';
}
return $response;
}
public function getLogistic(){
$url = env('TOPED_URL').'v1/logistic/fs/'.env('FS_ID').'/active- info?shop_id='.env('SHOP_ID');
$headers = [
'Authorization' => $this->get_access()
42
];
$client = new Client(['headers' => $headers]);
try {
$send = $client->request("POST", $url, ['products' => $data]);
$res = $send->getBody()->getContents();
$result = json_decode($res);
$response['code'] = $send->getStatusCode();
$response['data'] = $result->data;
$response['message'] = $result->header->messages;
} catch (ClientException $e) { $err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson;
} catch (RequestException $e) {
$response['code'] = 500;
$response['data'] = "";
$response['message'] = 'Please check Tokopedia server.';
43
}
return $response;
}
public function updateStock($data, $version, $action=null){
if ($version == 1) {
$url =
env('TOPED_URL').'inventory/v1/fs/'.env('FS_ID').'/stock/update?shop_id='.
en ('SHOP_ID');
} else {
$url =
env('TOPED_URL').'inventory/v2//fs/'.env('FS_ID').'/stock/'.$action.'?shop_i d=' env('SHOP_ID');
}
$headers = [
'Authorization' => $this->get_access(), 'Content-Type' => 'application/json' ];
$client = new Client(['headers' => $headers]);
try {
$send = $client->request("POST", $url, ['json' => array($data)]);
44
$res = $send->getBody()->getContents();
$result = json_decode($res);
$response['code'] = $send->getStatusCode();
$response['data'] = $result->data;
$response['message'] = $result->header->messages;
} catch (ClientException $e) { $err = $e->getResponse();
$responseJson = json_decode($err->getBody()->getContents());
$response['code'] = $e->getResponse()->getStatusCode();
$response['data'] = "";
$response['message'] = $responseJson;
} catch (RequestException $e) {
$response['code'] = 500;
$response['data'] = "";
$response['message'] = 'Please check Tokopedia server.';
}
return $response;
} }
45
?>
4.4. Pengujian
1. Pengujian Form Login Tabel IV. 1 Pengujian Form Login
NO Skenario
Pengujian Test Case Hasil yang diharapkan
Hasil
Pengujian Keterangan 1 Melakukan login Login Dapat
melakukan login ke halaman selanjutnya
Sesuai yang diharapkan
valid
4.5. Pendukung 4.5.1. Publikasi Web
Rancang bangun Website stok barang yang penulis buat, akan dipublikasikan secara online dan bisa diakses menggunakan web browser seperti Google Chrome, Microsoft Edge, Opera, Uc browser dan lain-lain.
4.5.2. Spesifikasi Hardware dan Software 1. Spesifikasi Hardware
Perangkat keras yang dimaksud di sini adalah seperangkat alat atau elemen elektronik yang dapat membantu sistem yang diusulkan sehingga program yang diusulkan oleh penulis dapat bekerja dengan baik:
46
a. Processor : Dual xeon e5-2689 b. Motherboard : X79 LGA 2011
c. Memory : 32Gb
d. Monitor : SPC 19inch 1440 x 900 e. Hard disk : 256GB NVME SSD f. keyboard : Standard keyboard g. mouse : Standard mouse h. printer : Epson L120 2. Spesifikasi software
Keberadaan perangkat lunak selalu menyertai perangkat keras yang ada.
Perangkat lunak yang dibutuhkan sebagai berikut:
a. sistem operasi : Debian 10, ubuntu 20.04, Cloudlinux b. software aplikasi : Cyberpanel
c. software database : MySql server
47
4.6. Spesifikasi Dokumen dan Sistem Usulan Spesifikasi Dokumen Masukan
Nama Dokumen : Pemesan barang
Fungsi : Sebagai data stok barang Sumber : Staf Gudang
Tujuan : Supplier Frekuensi : Setiap 7 hari
Media : Kertas
Bentuk : Lampiran A1
Spesifikasi Dokumen Keluaran
Nama Dokumen : Laporan stok barang
Fungsi : Kumpulan daftar transaksi stok barang Sumber : Staf gudang
Tujuan : Direktur
Frekuensi : Setiap akhir bulan
Media : Kertas
Bentuk : Lampiran B1