Integrasi Chatbot Berbasis GPT Terhadap Website E-Commerce (Studi Kasus Toko JSA)
on
JNATIA Volume 1, Nomor 3, Mei 2023
Jurnal Nasional Teknologi Informasi dan Aplikasinya
p-ISSN: 2986-3929
Integrasi Chatbot Berbasis GPT Terhadap Website ECommerce (Studi Kasus Toko JSA)
1aMade Putra Teguh Pramana, 2aI Gede Surya Rahayuda
aProgram Studi Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana
Jalan Raya Kampus Udayana, Bukit Jimbaran, Kuta Selatan, Badung, Bali Indonesia 1a[email protected]
Abstract
A website is a series of sites with related hyperlinks that individual, organization, company, or government made. E-commerce websites are websites that have features for transaction through online services. Toko jsa emas perak is one of the companies that want to develop its company’s presence on the internet using e-commerce websites. uniqueness is important to have an edge between online competition. By implementing chatbot system in the e-commerce websites it can increase the effect on user in each interaction. the propose of this research is to implement a chatbot service in the toko jsa websites.
Keywords: balckbox, e-commerce websites, chatbot, GPT.
Perkembang teknologi di dalam zaman sekarang semakin cepat dan banyak. Mulai dari perkembangan internet yang makin cepat menggunakan sinyal 5G hingga perkembangan dari artificial intelligence yang semakin cerdas dalam menangani pekerjaan-perjaan yang makin sulit. Terlebih lagi menurut laporan survei yang dilakukan oleh Asosiasi Penyelenggara Jasa Internet Indonesia pengguna internet di Indonesia mencapai dengan jumlah 143,26 juta pada tahun 2017 atau sama dengan 54,68% jumlah penduduk Indonesia [1]. Oleh karena itu perusahaan – perusahaan perlu mengikuti perkembangan zaman dengan mengikuti perkembang teknologi tersebut. Toko Jsa merupakan toko yang menyediakan jasa dalam menjual dan pemesanan perhiasaan – perhiasaan. Demi meningkatkan brand online usaha sekaligus membuat pemesanan berbasis online, Toko jsa dapat membuat website e-commerce. Website tersebut dapat menyediakan pilihan perihiasaan-perhiasaan yang ada pada toko serta bisa dijadikan sebagai tempat pemesanan barang dengan pilihan perhiasaan dan opsi – opsi dari kustomisasi yang disediakan. Terlalu banyak opsi – opsi dan Langkah-langkah pemesanan dapat membingungkan pelangan yang kurang mahir di dalam bidang teknologi. Oleh sebab itu website ini patut memiliki cara untuk menjelaskan alur dari Langkah – Langkah pemesanan dan opsi – opsi kustomisasi perhiasaan. Salah satu caranya adalah dengan menggunakan customer service menggunakan chatbot. Chatbot dapat membantu interaksi antara manusia dan computer serta memiliki keemampuan untuk memerikasa dan mempengaruhi perliaku pengguna dengan memberikan pertanyaan dan menanggapi terhadap pertanyaan pengguna [2].
Pengertian dari chatbot sudah ada sejak tahun 19-a yang didefinisikan sebagai suatu system software yang berguna untuk mensimulasi dan membuat pembicaran antara AI dan user [3]. Zaman sekarang chatbot sudah semakin canggih dikarenakan adanya AI yang mampu membaca dan memberikan dialog yang semakin mirip dengan manusia. Sehingga chatbot sering digunakan di dalam bidang industri agar mendapatkan kelebihan dari competitor. Chatbot biasanya paling berguna di dalam customer service, dikarenakan chatbot mampu mengelola jumlah data yang sangat banyak [3].
Database adalah suatu kumpulan data yang normal berukuran besar dengan racangan yang dibuat untuk pencarian cepat dan pengembalian [4] . Database memiliki berbagai macam struktur yang dapat dimiliki untuk menyimpan data. Struktur database diatur dengan bahasa yang popular yaitu SQL dan NOSQL. Database SQL diatur dengan table atau entitas yang terdiri dari kolom – kolom yang merepresentasikan suatu attribute dan element-element dari data tersebut. SQL beruguna untuk melakukan query untuk memasukan data, membuat schema dan table, menghapus data-data tersebut. Query digunakan agar mendapatkan komputasi yang efektif dan efisien karena data – data memiliki relasi dari attribute – attributenya.
Web site adalah kumpulan dari halaman World Wide Web (WWW) yang memiliki hyperlink terhadap masing – masing halaman dibuat oleh Individu, Perusahaan, Lembaga Pendidikan, Pemerintah, atau Organisasi [5].
Django merupakan sebuah framework web python yang menggunakan rapid development dan clean, pragmatic design [6]. Django didesign dengan algoritma yang sering digunakan oleh developer agar developer yang menggunakan Django akan lebih cepat mendevelop software yang akan dibuatnya. Django memiliki architecture model-view-controller (MVC) dengan beberapa perbedaan dimana Django menggunakan model-view-template (MVT) atau model yang menggunakan structure dari template model. Django menyediakan access pada banyak sekali feature seperti (ORM) dan Engine yang dapat digunakan untuk membuat html template yang dinamis.
Postgresql adalah salah satu jenis open-source object-relational database system yang menggunakan dan menambahkan Bahasa pemerograman SQL dengan kombinasi berbagai macam fitur yang mampu dengan aman menyimpan dan mengskala pekerjaan data [7]. Postgresql merupakan database yang cocok untuk menyimpan data dengan jumlah besar atau kecil karena Postgresql memiliki kecepatan yang lebih cepat dalam melakukan query pada data besar.
Generative pre-trained transformers (GPT) adalah suatu large language model (LLM) dan framework untuk melakukan generative artificial intelligence [8]. GPT dibuat oleh OpenAI yaitu suatu artificial intelligence research laboratory yang bisa digunakan untuk menjawab pertanyaan, translate pertanyaan, dan membuat text menjawab [8].
Dalam metodeloginya penelitian ini penulis menggunakan metodelogi agile. Agile merupakan metodelogi yang fleksibel dan dapat dilakukan dalam jangka waktu yang pendek. Namun apabila terjadi perubahaan developer harus dapat bertidak dengan cepat untuk menangani perubahan tersebut. Berikut adalah langkah – langkah dari pengembangan aplikasi mengunakan metodelogi agile:
Observasi adalah tekni memperoleh data primer dengan cara mengamati objek data secara langsung [9]. Observasi dilakukan di dalam tempat penelitian yaitu toko jsa emas perak dengan cara melihat proses dari bisnis berlanjut antara pelanggan, penjual , dan tukang di toko.
Wawancara adalah bentuk komunikasi dua arah untuk mendapatkan data dari narasumber [9]. Wawancara merupakan bagian penting untuk dapat menvalidasi hasil dari proses observasi. Wawancara akan dilaksanakan kepada penjual, pembeli, dan tukang di toko.
Adapun tahapan – tahapan dari agile development untuk pengembangan website e-commerce yang dapat dilihat pada gambar 1.
AGILE
-
Gambar 1 . Agile Development Source: Krasamo
Planing atau analisis sistem adalah tahapan dilakukan asesmen terhadap user untuk mengetahui secara detail kebutuhan dan kemampuan perangkat lunak user [9]. Analysis yang dilakukan berkaitan dengan dua hal yaitu analisis dari kemampuan perangkat keras dan kemampuan user lalu analisis tetang kebutuhan dan kemampuan perangkat keras server. Analisis system ini akan menghasilkan data tetang keperluan spesifikasi dari perangkat keras dan lunak yang dibutuhkan.
Pada Tahapan perancangan atau Designing terdapat perancangan design arsitektur, perancangan proses bisnis dan perancangan desain database [9]. Percangan ini akan dibuat menggunakan pemodelan Entity Relationship Diagram (ERD). Pemodelan
pendekatan secara OOP juga dilakukan dengan menggunakan pemodelan use case diagram.
Development aplikasi adalah proses pengimplementasian dari perancangan aplikasi yaitu pengkodean dan database [9]. Pengimplemtasikan peracangan aplikasi ini akan menggunakan Django sebagai framework fullstack. Database yang digunakan dalam percangan aplikasi ini akan menggunakan database Postgresql. Library OpenAI api merupakan salah satu cara openai memberikan endpoint untuk mengakses AI dari Chatgpt. Kita dapat menggunakan library langchain untuk memasukan prompt agar chatbot mendapatkan data yang harus dilatihnya.
Dalam testing dapat dilakukan beberapa hal untuk mengecek kelayakan dari suatu aplikasi atau websites. Salah satu yang dapat dilakukan adalah dengan menggunakan blackbox testing. Blackbox testing merupakan teknik pengujian perangkat lunak yang berfokus pada spesifikasi fungsional dari perangkat lunak [10]. Hasil pengujian nantinya akan ditampilkan di dalam table yang memuat keberhasilan dari fungsionalitas suatu feature.
Deploy aplikasi merupakan tahapan dimana aplikasi yang dibuat akan dapat diakses oleh user. Pembukaan akses tersebut dapat dilakukan dengan berbagai macam cara . salah satu cara tersebut adalah menggunakan web hosting yang membuat website dapat diakses dengan internet.
Review berguna sebagai penjaga dari kualitas yang paling efektif di dalam bidang software engineering [11]. Ada berbagai macam tipe review yang memiliki kegunaannya masing – masing. Untuk membuat feedback dari penguna diperlukan review yang dihasilkan oleh pengguna. Review yang didapatkan maka akan dievaluasi dan dikembangkan.
Pada fase maintance terjadi loop dimana aplikasi akan secara terus menerus mengalami perbaikan kesalahan atau kelemahan yang dimiliki. Selain itu aplikasi mungkin mengalami perubahaan apabila mendapatkan perubahaan update dari salah satu dependency nya.
Adapun hasil yang telah didapatkan oleh penelitian ini. Berikut adalah hasil dari penelitian tersbeut:
Pada peracanaan aplikasi suatu sistem akan dijabarkan secara utuh ke dalam seluruh komponen sistem dengan tujuan mengindentifikasi masalah atau hambatan yang dapat terjadi serta kebutuhuan yang dilakukan untuk memperbaiki hal-hal tersebut. Telah dilakukan observasi yang telah diverifikasi dengan wawancara untuk menghasilkan data kemampuan perangkat keras yang dimiliki oleh pelanggan. Berdasarkan observasi pelanggan kebanyakan tidak memiliki perangkat computer dan lebih dominan menggunakan handphone. Sehingga dapat perkiraan standar minimal yang dimiliki oleh end-user.
Tabel 1. Spesifikasi Minimal Perangkat User
Spesifikasi |
Keterangan |
Processor |
MT6769H Helio G85 (12nm) |
Ram |
3 GB |
Ukuran Layar |
6.71 inch |
OS |
Android OS 10 |
ROM |
32GB |
Selanjutnya adalah analisis hosting yang akan digunakan untuk mengetahui infrastruktur yang digunakan oleh backend dari server website. Hosting yang digunakan sudah sesuai dengan aplikasi yaitu server yang dibuat dengan backend Django sekaligus viewnya, SSH, FTP, Postgresql. adapaun spesifikasi dari hositngan yang digunakan dapat dilihat pada table 2.
Tabel 2. Spefikasi dari Hostingan
Spesifikasi |
Keterangan |
Domain |
Include |
Disk Space |
100GB |
Ram |
2 GB |
OS |
Linux |
Fitur Tambahan |
SSH Akses, FTP Akses, Docker |
Design pertama dilakukan dengan membuat arsitekutur model dari UML yaitu usecase diagram dan schema diagram, lalu akan dibuatkan perancangan database menggunakan entity relational diagram (ERD).
Usecase Diagram digunakan untuk menggambarkan penggunaan pada sistem yang terkait dengan beberapa pengguna. Adapun usecase diagram yang digunakan pada website e-commerce Toko JSA emas perak yang dapat dilihat pada gambar 2. Di dalam usecase diagram terdapat empat buah actor yaitu Pengguna, Admin, Penjual, Tukang. Terdapat activity juga yang berada pada sistem di usecase diagram yaitu melihat list barang dan login yang dapat diakses oleh semua actor. Pengguna memiliki activity yang dapat digunakan oleh pengguna yaitu bertanya pada ai dan melakukan pemesanan, dimana melakukan pemesanan harus melakukan login terlebih dahulu. Activity melihat pesanan dapat dilakukan oleh actor penjual dan tukang jika harus menghetahui pesanan yang ada.
Gambar 2. Usecase Diagram
Schema diagram merupakan notasi untuk emnggambarkan model logis basis data. Model ini digunakan untuk mendeskripsikan basis data yang terdapat pada aplikasi website e-commerce. Schema Diagram dijelaskan pada gambar 3.
Gambar 3. Schema Diagram Server
Schema diagram terdiri dari 3 enitty atau table yang akan di terapkan pada database di dalam aplikasi. Nama dari table ketiga database tersebut adalah user, pesanan, barang. Kardinatlitas dari diagram ada pada tabel 3.
Tabel 3. Kardinalistas Pada Entity
Tabel 1 |
Tabel 2 |
Kardinalitas (foreign Key) |
user |
pesanan |
One to many (tukang_id) |
user |
pesanan |
One to many (pembeli_id) |
baramg |
pesanan |
One to many(barang_id) |
ERD merupakan himpunan entitas dan himpunan relasi yang digambarkan lehbih jauh melalui sejumlah atribut-atribut yang menggambarkan seluruh fakta dari sistem yang ada. Adapun ERD dari aplikasi website toko jsa emas perak yang ada pada gambar 4.
Gambar 4. Enitity Realtionship Diagram
Proses development aplikasi terbagi menjadi dibagi menjadi tiga bagian yaitu pembuatan kode di atas framework Django berdasarkan usecase yang telah dibuat , pembuatan database menggunakan schema dari ERD dan Schema diagram , pelatihan chatbot yang dilatih menggunakan data dari barang dan alur – alur pemesanaan. Django memiliki fitur migration yang lasung terkoneksi kedalam database tampa harus membuka atau terkoneksi dengan database secara lansung.
Didalam implementasi frontend websites dibuat berdasarkan alur yang ada pada usecase diagram. Pertama, fitur login harus memiliki fitur registrasi untuk menyimpan data email, password, nama, password, no hp. untuk attribute role di dalam tabel user akan disi element pelanggan dan hanya bisa dirubah oleh admin. Nantinya setelah data tersimpan ada pemberian authorization token yang beruna untuk mengingat status login pada server.
Pada alur melakukan pesanan terjadi pembuatan MVT untuk pengumpulan dari form pemesanan dari barang yang ingin dipesan. Itu akan meminta data yang seperti barang ,jumlah, besar barang. Nantinya pemesanan akan masuk ke dalam database server dan dapat dilihat oleh actor tukang dan penjual di dalam activity melihat pesanan. Activity
melihat pesanan akan memiliki MVTnya sendiri yang akan digunakan ketika ingin melihat pemesanan.
Komfirmasi pemesanan adalah activity yang hanya bisa dilakukan oleh tukang. Pesanan yang dimintak oleh pelanggan nantinya akan diberikan kepada salah satu tukang. Tukang dapat melihat pesanan mana saja yang merupakan tugasnya dia dan melakukan komfirmasi apabila pekerjaan tersebut telah selesai melalui MVT.
Perkerjaan admin adalah mengelola data dan menjaga kerberlangsungan dari server. Salah satu perkerjaan yang dilakukan oleh admin pada usecase diagram adalah melatih data barang pada AI. Setiap ada perubahaan baru atau penambahan barang agar ai dapat mengukuti perubahan tersebut admin harus memasukan data dari barang yang dapat membuat AI mengeluarkan data yang diinginkan.
Process pelatihan AI dilakukan dengan awalnya mencari data-data barang yang akan ditaruh ke dalam database websites. Setelah itu menggunakan API yang telah disediakan oleh OpenAI dan library langchain AI dapat mempelajari barang-barang yang kita berikan. AI tersebut sekarang dapat menjawab tentang hal-hal sekitar data yang telah kita berikan. Setelah AI dibilang cukup mahir menjawab pertanyaan maka AI akan di launch ke dalam suatu container dari docker yang dapat ditanyakan oleh user melalui API.
Pada tahap testing website aplikasi akan digunakan metode black box dalam menguji fungsionalitas dari website yang telah dibuat. Skenario pengujian black box menggunakan inputan data masuk dan memiliki tujuan hasil dari data yang harusnya dikeluarkan.
Tabel 4. Skenario Pengujian Black Box.
Skenario (input) |
Pengamatan |
Data benar |
Output Benar |
Data Salah |
Output Salah |
Data kosong |
Output kosong |
Setelah semua inputan data blackbox dan hasil yang dikeluarkan oleh program sama dengan harapan keluaran hasil dari blackbox sama pada saat itu baru dapat dibilang bahwa program sudah lolos dari uji blackbox.
Website dan struktur database yang sudah deprogram akan nantinya di deploy dalam sebuah hostingan. Langkah – langkah dari mendeploy website yang akan dibuat adalah menkonfigurasi hostingan atau vps yang telah disewa agar dapat terhubung dengan computer kita, melakukan kongufurasi file-file yang ada, melakukan pembuatan dan setup dari schema di server.
Konfigurasi dari hostingan biasanya cloud server akan memintak untuk menentukan service apa saja yang diperlukan dalam suatu virtual environment. Setelah itu akan dilakukan pembuatan ssh kay agar dapat dilakuakn pengaksesan virtual environment tersebut.
Setelah melakukan hal tersebut kita selanjutnya mengclone semua file yang telah dikoding kedalam server yang kita miliki. File ini nantinya akan di run untuk menjadi server dari backend dan frontend kita. Akan tetapi untuk melakukan hal tersebut perlunya mengaktifasi database server terlebih dahulu.
Database di deploy kedalam server yang kita miliki apabila menggunakan VPS atau harus di aktifkan apabila menggunakan hostingan. Database yang di deploy masih belum isi table atau schema apapun sehingga harus dilakukan migration yang ada pada file Django. Untuk melakukan migration cukup dengan menjalankan command migrasi di Django. Setelah semua ini maka server harusnya sudah dapat dijalankan.
Pada tahapan ini akan terjadi evaluasi dan perbaikan apabila terjadi kesalahan atau kelemahan didalam program. Perubahan kodingan dapat dilakukan melalui apliakasi seperti git untuk dapat melakukan Version Control.
Maintance (pemeliharaan) adalah serangkaian tindakan yang dilakukan untuk memelihara atau meningkatkan kondisi optimal suatu sistem atau objek agar tetap berfungsi dengan baik. Tujuan pemeliharaan adalah untuk mencegah kerusakan, memperpanjang umur dan menjaga peralatan atau barang dalam kondisi terbaiknya.
Kesimpulan yang didapatkan dari hasil penelitian yang dilkakukan pada penjelasan sebelumnya yaitu, Intergrasi dari chatgpt dalam pembuatan websites dapat dilakukan dengan process pembaruan AI yang cukup effisien. Website juga dapat dibilang cukup effiesien dalam implementasinya.
Daftar Pustaka
-
[1] Sakin Rakhma Diah Setiawan, “Pengguna Internet di Indonesia Mencapai 143,26 Juta
Orang,” https://ekonomi.kompas.com, 19 Februari 2018.
-
[2] S. A. dan Dr. John, “Survey on Chatbot Design Techniques in Speech Conversation
Systems,” International Journal of Advanced Computer Science and Applications, vol. 6, no. 7, 2015, doi: 10.14569/IJACSA.2015.060712.
-
[3] S. Di Gaetano dan P. Diliberto, “Chatbots and conversational interfaces: Three domains
of use,” 2018. Diakses: 10 Juni 2023. [Daring]. Tersedia pada: https://ceur-ws.org/Vol-2101/paper8.pdf
-
[4] Merriam-webster, “Database,” Merriam-Webster Online Dictionary. https://www.merriam-
webster.com/dictionary/database (diakses 10 Juni 2023).
-
[5] Merriam-Webster, “Website,” Merriam-Webster Online Dictionary. https://www.merriam-
webster.com/dictionary/websites (diakses 10 Juni 2023).
-
[6] Django Software Foundation, “Django.” 2019. [Daring]. Tersedia pada:
-
[7] PostgreSQL Global Development Group (or the organization responsible for PostgreSQL),
“PostgreSQL.” PostgreSQL Global Development Group, 10 Juni 2023.
-
[8] cambridge, “GPT,” Cambridge Dictonary.
https://dictionary.cambridge.org/us/dictionary/english/gpt (diakses 10 Juni 2023).
-
[9] I. Mahendra dan D. T. Eby Yanto, “Sistem Informasi Pengajuan Kredit Berbasis Web
Menggunakan Agile Development Methods Pada Bank Bri Unit Kolonel Sugiono,” Jurnal Teknologi Dan Open Source, vol. 1, no. 2, hlm. 13–24, Des 2018, doi: 10.36378/jtos.v1i2.20.
-
[10] S. R. Jan, S. T. U. Shah, Z. U. Johar, Y. Shah, dan F. Khan, “An innovative approach to investigate various software testing techniques and strategies,” International Journal of Scientific Research in Science, Engineering and Technology (IJSRSET), Print ISSN, vol. 23951990, 2016.
-
[11] M. Ciolkowski, O. Laitenberger, S. Vegas, dan S. Biffl, Practical experiences in the design and conduct of surveys in empirical software engineering. Springer, 2003.
Halaman ini sengaja dibiarkan kosong
994
Discussion and feedback