Laporan Akhir Msib Binar Academy Aufa Alaina Adhar 16090154 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN AKHIR STUDI INDEPENDEN BERSERTIFIKAT BACKEND JAVA DI BINAR ACADEMY



Diajukan untuk memenuhi persyaratan kelulusan Program MSIB MBKM



oleh : Aufa Alaina Adhar/ 16090154



PROGRAM STUDI TEKNIK INFORMATIKA POLITEKNIK HARAPAN BERSAMA TEGAL 2022



1



Lembar Pengesahan Program Studi Teknik Informatika Politeknik Harapan Bersama Tegal Studi Independen Bersertifikat Backend Java Di Binar Academy



oleh : Aufa Alaina Adhar / 16090154



disetujui dan disahkan sebagai Laporan Studi Independen Bersertifikat Kampus Merdeka



Tegal, 20 Juli 2022 Pembimbing Studi Independen Informatika Politeknik Harapan Bersama Tegal



M. Nishom, M.Kom NIPY. 09.017.337



i



LEMBAR PENGESAHAN COURSE BACKEND JAVA Di PT. LENTERA BANGSA BENDERANG (Binar Academy)



oleh : Aufa Alaina Adhar / 16090154



disetujui dan disahkan sebagai Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka



Tangerang, 18 Juli 2022 PIC PT. Lentera Bangsa Benderang



Bagus Prakoso Gunawan 32201258



ii



Abstraksi



PT Lentera Bangsa Benderang bergerak di Bidang Future Education yang menyediakan kursus-kursusyang mendukung perkembangan inovasi dan teknologi pendidikan di Indonesia. Laporan ini bertujuan untuk menjelaskan mekanisme pembuatan API untuk aplikasi berbasis E-commerce. Untuk menyempurnakan final project ini , penulis sebagai tim backend akan bekerja sama dengan tim frontend. Dalam proses pelaksanaan program kegiatan studi independen kampus merdeka Binar Academy, pembelajaran di kelas yang dirancang dan dibuat khusus berdasarkan tantangan nyata yang dihadapi oleh mitra/industri serta melatih kemampuan dari mahasiswa.



Kata Kunci : Second Gadget, E-commerce, Studi Independen, Binar Academy.



iii



Kata Pengantar Dengan mengucapkan segala Puji Syukur kepada Tuhan Yang Maha Esa karena atas Karunia dan Anugerah-Nya penulis dapat menyelesaikan proposal Laporan Akhir ini yang berjudul Pembuatan Rest API pada Second Gadget E-commerce ini sebatas pengetahuan dan kemampuan yang dimiliki sehingga mampu mengerjakan tugas laporan akhir Studi Independen Bersertifikat Backend Java di PT. Lentera Bangsa Benderang. Laporan akhir ini di ajukan untuk memenuhi persyaratan kelulusan program MSIB MBKM. Penyusunan laporan akhir ini baik dalam proses maupun hasil jauh dari kata sempurna. Oleh karena itu, saya memohon maaf yang sebesarbesarnya apabila terdapat kata maupun tulisan yang kurang berkenan. Penulis mengucapkan terima kasih dan apresiasi yang tidak terhingga kepada semua pihak telah memberikan bantuan dan motivasi sehingga laporan akhir ini dapat terselesaikan dalam kegiatan MSIB MBKM. Penulis menyadari bahwa banyak sekali kekurangan dalam menyelesaikan laporan akhir ini, baik dalam pengungakapan, penyajian dan pemilihan kata-kata maupun pembahasan laporan akhir ini masih jauh kata kesempurnaan. Oleh karena itu dengan penuh kerendahan hati penulis mengharapkan saran dan kritik semua pihak untuk perbaikan laporan akhir ini. Akhir kata, penulis berharap semoga laporan ini dapat diterima dan bermanfaat bagi semua pihak. .



Tegal , 28 Juli 2022



Aufa Alaina Adhar



iv



Daftar Isi Lembar Pengesahan Program Studi Teknik Informatika



i



Lembar Pengesahan Course Backend Java Script Di Pt. Lentera Bangsa Benderang



ii



Abstraksi



iii



Kata Pengantar



iv



Daftar Isi



v



Bab I



v



I.1 Error! Bookmark not defined. I.2 2 I.3 Error! Bookmark not defined. Bab II Binar Academy9 II.1 9 II.2 Error! Bookmark not defined. II.3 11 II.4 Error! Bookmark not defined. Bab III



13



III.1



13



III.2



13



III.3



13



Bab IV



27



IV.1 27 IV.2 Error! Bookmark not defined. Referensi



vi



Bab V v 1 Lampiran A. TOR



A-1



Lampiran B. Log Activity



B-1



Lampiran C. Dokumen Teknik



C-1



v



Bab I Pendahuluan I.1



Latar belakang Dalam rangka menyiapkan mahasiswa menghadapi perubahan sosial,



budaya, dunia kerja dan kemajuan teknologi yang pesat, kompetensi mahasiswa harus disiapkan untuk lebih gayut dengan kebutuhan zaman. Link and match tidak cukup dilakukan dalam dunia industri dan dunia kerja tetapi juga dengan masa depan yang sangat pesat. Perguruan Tinggi dituntut untuk dapat merancang dan melaksanakan proses pembelajaran yang inovatif agar mahasiswa dapat meraih capaian pembelajaran mencakup aspek sikap, pengetahuan, dan keterampilan secara optimal dan selalu relevan. Kebijakan Merdeka Belajar - Kampus Merdeka diharapkan dapat menjadi jawaban atas tuntutan tersebut. Kampus Merdeka merupakan wujud pembelajaran di perguruan tinggi yang otonom dan fleksibel sehingga tercipta kultur belajar yang inovatif, tidak mengekang, dan sesuai dengan kebutuhan mahasiswa. Program utama yaitu: kemudahan pembukaan program studi baru, perubahan sistem akreditasi perguruan tinggi, kemudahan perguruan tinggi negeri menjadi PTN berbadan hukum, dan hak belajar tiga semester di luar program studi. Mahasiswa diberikan kebebasan mengambil SKS di luar program studi, tiga semester yang dimaksud berupa 1 semester kesempatan mengambil mata kuliah di luar program studi dan 2 semester melaksanakan aktivitas pembelajaran di luar perguruan tinggi. Proses pembelajaran dalam Kampus Merdeka merupakan salah satu perwujudan pembelajaran yang berpusat pada mahasiswa (student centered learning) yang sangat esensial. Pembelajaran dalam Kampus Merdeka memberikan tantangan dan kesempatan untuk pengembangan inovasi, kreativitas, kapasitas, kepribadian, dan kebutuhan mahasiswa, serta mengembangkan kemandirian dalam mencari dan menemukan pengetahuan melalui kenyataan dan dinamika lapangan seperti persyaratan kemampuan, permasalahan riil, interaksi sosial, kolaborasi, manajemen diri, tuntutan kinerja, target dan pencapaiannya. Melalui program merdeka belajar yang dirancang dan diimplementasikan dengan baik, maka hard dan soft skills mahasiswa akan terbentuk dengan kuat. Program Merdeka Belajar-Kampus 1



Merdeka diharapkan dapat menjawab tantangan Perguruan Tinggi untuk menghasilkan lulusan yang sesuai perkembangan zaman, kemajuan IPTEK, tuntutan dunia usaha dan dunia industri, maupun dinamika masyarakat. Berdasarkan hal tersebut penulis turut serta mengikuti salah satu dari Program Merdeka Belajar-Kampus Merdeka yaitu Magang Bersertifikat. Pada kesempatan ini penulis mendapat kesempatan untuk mengikuti Studi Independen di salah satu mitra Kampus Merdeka, PT. Lentera Bangsa Benderang atau yang biasa dikenal dengan sebutan Binar Academymerupakan pelopor startup edutech yang fokus pada pengembangan skill dan talente digital dengan meningkatkan pengalaman belajar. Binar Academy didirikan pada tahu 2017 oleh Amanda Shantika bersama 2 alumnus Gojek lainnya, bernama Dita Aisyah dan Seto Lareno. Melalui program pelatihannya, yaitu Digital Talent Accelerator serta layanan Talent Placement. Binar Academy berupaya mendukung pertumbuhan sumber daya yang ada terutama diberbagai sektor perusahaan. Berdiri sejak tahun 2017, Binar Academy menawarkan sejumlah layanan seputar pengembangan kemampuan digital seperti bootcamp, pelatihan karyawan perusahaan, lokakarya, hingga menghubungkan peserta bootcamp dengan perusahaan.



I.2



Lingkup Program Studi Independen Bersertifikat ini akan dilakukan secara remote



selama 5 bulan dengan proses pembelajaran akan dijalankan menggunakan 5 (empat) acuan yang telah ditetapkan meliputi: 1. Proses Onboarding sebagai tahap pengenalan terhadap PT. Lentera Bangsa Benderang sebagai perusahaan penyelenggara Studi Independen, yang terdiri atas pemaparan company profile serta nilai-nilai Binar Academy secara keseluruhan. 2. Penjelasan mengenai peraturan akademik yang berlaku pada program Studi Independen.



2



3. Penjelasan mengenai proses evaluasi dan penilaian peserta selama proses Studi Independen. 4. Touch base sebagai tahap pengenalan kepada mentor profesional yang akan mendampingi para peserta secara intensif selama program Studi Independen berjalan dan juga tutor/ahli yang akan memberikan materi pengajaran. 5. Proses pembelajaran dimulai sesuai dengan kerangka silabus program oleh pengajar ahli, diikuti dengan mentoring/pendampingan rutin peserta oleh mentor dedikatif.



I.3



Tujuan



Tujuan yang dalam mengikuti program Studi Independen ini, peserta diharapkan : 1.



Memberi



kesempatan



kepada



mahasiswa



untuk



belajar



dan



mengembangkan diri melalui aktivitas di luar kelas perkuliahan namun tetap diakui sebagai bagian dari perkuliahan. 2. Memberikan peluang bagi mahasiswa yang ingin melengkapi dirinya dengan menguasai kompetensi spesifik dan praktis yang juga dicari oleh dunia usaha dan dunia industri. 3. Menyiapkan mahasiswa dalam menghadapi perubahan sosial, budaya, dunia kerja dan kemajuan teknologi yang pesat. 4. Untuk meningkatkan kompetensi lulusan, baik soft skills maupun hard skills, agar lebih siap dan relevan dengan kebutuhan zaman. 5. Menyiapkan lulusan sebagai pemimpin masa depan bangsa yang unggul dan berkepribadian.



3



Bab II Binar Academy



II.1



Struktur Organisasi



Gambar 2.1 Logo Binar Academy Binar Academy didirikan 2017 oleh Alamanda Shantika bersama dua alumnus Gojek lainnya, yaitu Dita Aisyah dan Seto Lareno. Sebagai pelopor startup edutech di bidang digital skil, Binar fokus pada pengembangan skil dan talenta digital dengan meningkatkan pengalaman belajar melalui tahapan pembelajaran yang jelas dan metode pembelajaran yang beragam, seperti kelas online dan berbagai macam konten. Melalui program pelatihannya, yaitu Digital Talent Accelerator serta layanan talent placement (Job Connect), Binar Academy berupaya mendukung pertumbuhan sumber daya yang ada terutama di berbagai sektor perusahaan, agar dapat bertahan dan bersaing di era transformasi teknologi digital. Pada tahun lalu, Binar Academy berhasil bekerjasama dengan beberapa perusahaan ternama melalui program Binar Bootcamp, kursus intensif bagi pemula, dan Binar Insight, berbagai seri webinar interaktif. Di tengah pandemi sekalipun, perusahaan tetap gencar melakukan pelatihan seiring penyesuaian mereka dengan transformasi teknologi digital.



9



Pilar, Visi dan Misi Binar Academy: •



Pilar :



Pelopor teknologi edukasi yang berfokus pada pengembangan kemampuan digital lewat jalur pembelajaran yang jelas dan terarah dengan pembelajaran yang dipersonalisasi serta pengajar yang ahli di bidangnya. •



Visi :



Menjadi pemimpin market platform pengembangan kemampuan digital di Asia Tenggara •



Misi :



Menata ulang lanskap pendidikan tinggi. Memberikan akses ke pendidikan yang paling terjangkau dan berkualitas terbaik untuk generasi talenta digital berikutnya.



Strukur Organisasi Binar Academy dapat dilihat pada gambar berikut :



Gambar 2.2 Struktur Organisasi Binar Academy



10



II.2



Lingkup Pekerjaan



Dalam program ini, terdapat 3 (tiga) pihak yang terlibat secara intensif untuk menjadi fasilitator: 1. Program Manager: •



Manajemen seluruh proses dalam program, mulai dari seleksi mahasiswa, perekrutan, administrasi dengan pemerintah dan pihak kampus, proses belajar dan asesmen, hingga pemberian nilai dan sertifikat







Pusat koordinasi dan komunikasi dari seluruh pihak







Mensinkronisasi seluruh pihak, baik dari segi silabus pengajaran maupun timeline program







Memastikan program berjalan dengan kualitas baik dan sejalan dengan standar yang ditetapkan Kementerian Pendidikan, Kebudayaan, Riset dan Teknologi Republik Indonesia



2. AAO •



Mempersiapkan dan melakukan sinkronisasi silabus yang terkait dengan spesialisasi







Menyampaikan bahan ajar, baik dalam bentuk synchronous (penyampaian secara langsung/daring) maupun asynchronous (memberikan materi atau referensi untuk dipelajari)







Melakukan asesmen untuk mengukur capaian belajar dan proyek final untuk melatih peserta untuk dapat langsung mempraktikkan ilmu dan keahlian yang dipelajari







Berkoordinasi dengan Program Manager dan Mentor



3. Mentor •



Mendampingi proses belajar peserta dengan melakukan mentoring dengan jadwal yang sudah ditetapkan, baik secara berkelompok dan individu sebanyak 1 (satu) kali sebulan







Memonitor progres belajar peserta dan menindaklanjuti apabila ada peserta yang tertinggal dalam proses belajar maupun nilai asesmen







Membantu Program Manager dan Subject Matter Expert untuk melakukan pengecekan tugas/asesmen. 11



II.3 Deskripsi Pekerjaan Berikut adalah deskripsi pekerjaan student sebelum pengerjaan PA: 1.



Mengikuti seluruh rangkaian kegiatan program, pembelajaran oleh Subject Matter Expert serta mentoring yang diadakan oleh mentor dedikatifnya sesuai dengan jadwal yang ditetapkan



2.



Mengikuti keseluruhan program dari awal hingga akhir periode untuk dapat menyelesaikan program sesuai dengan standar dan rubrik penilaian yang sudah ditetapkan.



3.



Mengikuti dan mengerjakan segala bentuk asesmen yang diberikan oleh pengajar ahli dan mentor, baik dalam bentuk, esai, studi kasus, proyek maupun bentuk lainnya. Lingkup pekerjaan student adalah mengikuti kelas bersama homeroom atau domain coach, sesuai agenda kelas, hingga program selesai. Sedangkan pekerjaan saya dalam kelompok selama pengerjaan Proyek Akhir ini yakni membuat database sampai API.



II.4



Jadwal Kerja Program ini berlangsung dari bulan Februari 2022 hingga bulan Juli 2022



pada hari Senin sampai dengan Jumat) selama 3 jam per harinya yakni pukul 19.00 s.d 22.00 WIB.



12



BAB III SECOND GADGET III.1



Deskripsi Project Second Gadget adalah platform yang berguna sebagai tempat jual-beli



barang secara online, khususnya barang bekas. Platform ini membuka dan menyediakan berbagai jenis kategori kebutuhan. User yang mendaftarkan diri pada aplikasi ini dapat berperan sebagai seller dan buyer dengan menggunakan 1 (satu) akun yang sama. Platform ini akan mempertemukan seller dan buyer untuk dapat melakukan negosiasi barang dan melakukan transaksi langsung di luar platform. User yang berperan sebagai seller akan menjual barang pada website Second Gadget dan mengupload barang tersebut pada website. Selanjutnya user lain yang berperan sebagai seller akan membeli barang tersebut dengan cara menawar barang pada website. Jika seller menyetujui tawaran buyer, maka akan dilanjutkan pada chat yang ditautkan ke platform lain. Jika transaksi berhasil dilakukan, seller dapat menghapus barang pada website Second Gadget. Dalam project ini output yang diharapkan adalah Front End website Second Gadget yang terintegrasi dengan API dan juga Back End yaitu API dari website tersebut.



III.2



Pengerjaan Project Dalam menjalankan project ini penulis akan melakukan kolaborasi antara



course Back End dengan Front End. Adapun pembagian komposisinya yaitu Back End membuat API yang akan diintegrasikan oleh Front End pada website. Penulis memiliki role sebagai Back End, maka penulis bertugas mengerjakan API untuk website Second Gadget tersebut. III.2.1 Stack untuk API Second Gadget Pada pembuatan API untuk website Second Gadget, digunakan framework



Spring Boot Java dengan ORM JPA. Spring Boot adalah



framework dengan cara kerja efisien serta dibekali berbagai keunggulan, 13



seperti integrasi dengan arsitektur lain. Hal ini membuat Express.js lebih menonjol dibanding framework yang lain. Sequelize adalah ORM database untuk mempermudah pemetaan database entry menjadi object, sehingga akan mempercepat dan mempermudah proses interaksi dengan database. Arsitektur pembuatan API Second Gadget adalah Model Controller Route. Model Controller Route atau yang dapat disingkat MCR adalah sebuah pola arsitektur dalam membuat sebuah aplikasi dengan cara memisahkan kode menjadi tiga bagian. Pertama adalah Model yang bertugas



untuk



menyiapkan,



mengatur,



memanipulasi,



dan



mengorganisasikan data yang ada di database. Kedua adalah Controller yang bertugas menghubungkan serta mengatur model dan route agar dapat saling terhubung. Ketiga adalah Route yang berfungsi sebagai penghubung ke beberapa controller dengan endpoint untuk berinteraksi dengan pengguna.



III.2.2 Perancangan Minimum Viable Product (MVP) Minimum Viable Product (MVP) adalah bentuk minimal aplikasi yang dirilis ke publik. Strategi pengembangan produk ini memungkinkan tim untuk memvalidasi aplikasi dan mempelajari target yang ingin dicapai. Sehingga dapat mengetahui apa saja kebutuhan system yang dibutuhkan agar platform yang dibuat (dalam hal ini adalah Second Gadget) dapat digunakan dengan fungsionalitas yang memenuhi kebutuhan. Berikut MVP dari website Second Gadget :



1. Registrasi User Registrasi user digunakan untuk membuat akun bagi user yang belum memiliki akun pada Second Gadget, dan di sini role user akan di set default sebagai Buyer 14



2. Registrasi Seller Registrasi seller digunakan untuk menambahkan status role pada user yang belum memiliki role sebagai seller pada Second Gadget, untuk ketentuan registrasi seller sendiri sebelumnya user harus melengkapi profilnya terlebih dahulu



3. Implementasi In App Notification (Fitur lonceng di dalam notifikasi) Dalam website Second Gadget, terdapat 2 hal yang mendapatkan notifikasi. Yang pertama adalah ketika seller mengupload barang, dan yang kedua adalah ketika barang tersebut ada buyer yang menawar.



4. Profil User Profil user digunakan untuk melengkapi data user sebelum user menjual barang ataupun untuk mengupdate data user sebelumnya.



5. Histori Transaksi Histori transaksi digunakan untuk melihat hasil transaksi suatu user



6. Fitur Wajib untuk Buyer -



Wishlist produk Wishlist produk adalah listing jualan dari seller (Produk, deskripsi, gambar produk dan lain lain) yang dijadikan favorite oleh buyer



7. Fitur Wajib untuk Seller -



Seller product list Seller product list adalah listing barang jualan yang dipunyai oleh user



-



Produk listing Produk listing adalah listing produk pada halaman home website yang memuat gambar, lokasi, harga deskripsi. Gambar 15



memiliki maksimum foto yaitu tiga. Barang yang dijual memiliki kategori dengan maksimum lima



Task Auth CRUD



Description



Design Pattern /Architectural Searching Filtering Role Deployment



Output Deliverable III.2.3



Akun untuk user - User - Produk (sesuai fitur minimum) - Transaksi Basic MVC, Monolith two layers (back end layer and front end layer) Searching Pagination and Sorting - Buyer - Seller Heroku (Staging and Production/Main) Pada heroku dibuat dua branch yaitu Staging dan Production/Main API yang bisa diconsume oleh Front End



Minimum Requirement for Back End



III.2.4 User Flow User flow adalah tahapan yang harus dilakukan oleh pengguna untuk menggunakan situs web. Dengan memahami alur dari website tersebut user yang dalam hal ini sebagai admin akan dapat dengan mudahnya



melakukan



pengelolaan



website,



sehingga



fitur-fitur



didalamnya dapat digunakan dengan baik sesuai dengan fungsionalitasnya.



Gambar 3.2.2.1 User Flow Second Gadget



-



User dapat melihat homepage 16



-



User dapat login/registrasi ketika mereka meng-klik tombol jual atau menu profil



-



Jika User telah memiliki akun, User dapat langsung meng-klik tombol jual atau menu profil, tidak harus login terlebih dahulu



-



Jika User belum memiliki akun, ia harus membuat akun baru untuk dapat mengklik tombol jual atau menu profil.



-



Seller klik tombol Jual



-



Jika Seller belum melengkapi profilnya, dia harus melengkapinya terlebih dahulu



-



Seller melengkapi detail produk yang terdiri dari: o Nama o Harga o Pilih Kategori o Keterangan



-



Unggah gambar (maksimal tiga gambar produk)



-



Seller dapat melihat halaman product



-



Seller dapat mem-published product



-



Buyer dapat menjelajahi beranda, memfilter daftar produk dengan tombol kategori.



-



Buyer dapat melihat detail produk dengan mengklik salah satu kartu produk.



-



Memilih barang sesuai minat Buyer dan melakukan tawar menawar dengan Seller.



-



Buyer melihat bottom sheet / modal untuk memasukkan harga tawarannya, dan mengirimkannya ke penjual.



-



Buyer berhasil mengirimkan tawarannya dan melihat halaman update produk dengan CTA yang dinonaktifkan.



-



Seller mendapatkan notifikasi bahwa ada Buyer yang tertarik dengan produknya dan melakukan penawaran. Seller dapat mengaksesnya melalui halaman notifikasi dan Daftar Jual saya di halaman Diminati.



17



-



Seller dapat mengklik notifikasi tersebut untuk melihat detail “Info Penawar”.



-



Seller merespon penawaran dengan mengklik tombol Tolak atau Terima.



-



Jika Seller Terima, maka dia akan melihat lembar tombol Product Match dan dapat menghubungi Buyer melalui WhatsApp.



-



Buyer mendapatkan notifikasi jika bagaimana Seller menanggapi penawarannya.



-



Jika “Penawaran produk diterima”, Buyer tinggal menunggu Seller menghubunginya.



-



Jika “Penawaran produk ditolak”, Buyer dapat mengajukan kembali penawarannya di halaman detail.



-



Setelah bertransaksi di WhatsApp, Seller masuk ke “Info Penawar” dari tab.



-



“Diminati” di halaman “Daftar Jual Saya”.



-



Seller dapat mengupdate status “Berhasil dijual” atau “Batalkan Transaksi”.



-



Buka daftar jual saya untuk pertama kalinya dan akan melihat halaman kosong.



III.2.5 Perancangan Entity Relationship Diagram ERD (Entity Relationship Diagram) atau diagram hubungan entitas adalah diagram yang digunakan untuk perancangan suatu database dan menunjukan relasi antar objek atau entitas beserta atribut-atributnya secara detail. Berikut adalah ERD dari website Second Gadget :



18



Gambar 3.2.4.1 Requirement ERD Second Gadget III.2.6 User Interface (UI) User Interface (UI) adalah tampilan visual sebuah produk yang menjembatani sistem dengan pengguna (user). Tampilan UI dapat berupa bentuk, warna, dan tulisan yang didesain semenarik mungkin. Secara sederhana, UI adalah bagaimana tampilan sebuah produk dilihat oleh pengguna. Berikut adalah UI dari website Second Gadget.



Gambar 3.2.5.1 Requirement UI Website Second Gadget



19



III.2.7 Perancangan API Website Pengerjaan final project ini menggunakan metode Scrum dengan tiga Sprint. Metode Scrum merupakan metodologi yang termasuk dalam agile software development. Scrum dinilai dapat menghasilkan kualitas perangkat lunak yang baik sesuai dengan keinginan pengguna, dapat digunakan dalam proyek besar maupun kecil, dan mudah untuk mengadopsi perubahan. Sprint sendiri adalah serangkaian pekerjaan yang dilakukan untuk menyelesaikan suatu masalah khususnya penciptaan produk baru. 1. Sprint 1 (13 Juni – 24 Juni 2022). a. Pembuatan repository untuk mempermudah kerja tim Respository merupakan tempat yang dapat Anda gunakan untuk menyimpan berbagai file berupa source code. Pembuatan repository ini menggunakan website bernama GitHub. GitHub adalah sebuah aplikasi berbasis



website



menyediakan



dengan Version



layanan



untuk



Control



System (VCS)



yang



menyimpan repository dengan



gratis. Dengan adanya repository pada github, penulis dan tim bisa melakukan kolaborasi dalam mengerjakan final project ini. Berikut merupakan link repository https://github.com/adesug/SecondGadget. b. Perancangan database Pada perancangan database ini, output yang dihasilkan adalah ERD. Berikut adalah ERD dari API Second Gadget :



20



Gambar 3.2.6.1 ERD Second Gadget c. Create Table Pada tahap pembuatan table, penulis menggunakan model dan migration dari sequelize. Migration adalah blueprint dari database yang akan dibuat sedangkan Model adalah representasi dari entity atau tabel yang ada di database. d. Membuat Create, Read, Update dan Delete Dasar untuk semua table Pada sprint 1 ini, CRUD yang dibuat hanya dasar – dasarnya saja, hanya membuat controller dan route saja. Belum sampai membuat validasi input dan error handlers lanjutan. 2. Sprint 2 (25 Juni – 8 Juli 2022) a. Mengerjakan kebutuhan MVP dari final project Pada



sprint



ini,



mulai



dibuat



mekanisme



user



dan



authentication. Mulai dari membuat validasi input, upload gambar ke cloudinary, membuat error handlers, dan juga membuat function authentication sebagai pembuat dan pengurai token yang akan dipakai pada seluruh API. Begitu juga untuk table lainnya, seperti membuat kondisi tertentu pada saat mengakses data pada database. b. Membuat dokumentasi API



21



Gambar 3.2.6.2 Dokumentasi Swagger Second Gadget



Dokumentasi API dibuat menggunakan swagger.js yang memuat semua dokumentasi API mulai dari API untuk user sampai API untuk wishlist.



Penulis



membuat



SecondGadgetapp.herokuapp.com/



base



urlnya



dengan schema https.



adalah Untuk



dokumentasi sendiri terdiri dari User, Produk, Penawaran, Wishlist, Notifications, Category, dan Api Documentation.



3. Sprint 3 (11 Juli – 22 Juli 2022) a. Deployment Deployment



adalah



kegiatan



yang



bertujuan



untuk



menyebarkan aplikasi yang telah dikerjakan oleh para programmer. Dengan kata lain agar orang umum bisa mengakses website yang telah dibuat tersebut. Deployment untuk API Second Gadget menggunakan heroku dengan git action dari github. Penulis membuat dua branch yang terdiri



dari



branch



main



dan



juga



development.



Branch



development digunakan pada saat proses development dan codingan API masih bisa berubah – ubah sesuai revisi yang diminta oleh Front End. b. Membantu integrasi pada Front End



22



Penulis dan tim membantu Front End untuk mengintegrasikan API pada codingan Front End. Proses integrasi ini mulai dari API User sampai API wishlist. Pada saat integrasi, Front End meminta beberapa



bagian



response



untuk



diubah



dengan



tujuan



mempermudah proses integrasi. c. Revisi code berdasarkan permintaan Front End Penulis dan tim merevisi codingan API berdasarkan permintaan dari Front End. Revisi yang dilakukan adalah menata ulang response pada beberapa API, mengubah beberapa inputan pada API yang digunakan untuk post suatu data, serta mengubah response pada dokumentasi swagger. Untuk lebih detail kegiatan ada di table berikut : Table 3.3 Hasil Daily Scrum pada Sprint 1-3 Tgl 13/6



Kegiatan



Done Tema, Nama Kelompok, Filosofi, Scrum Master



Plan Sprint Planning



14/6



Sprint Planning



Create Register, Create Login Page



15/6 17/6



Spring Initialzr Create Register



Create Entity for User Deploy, Create Seller, Create Login



18/6



Spring Security, Login, Endpoint Registrasi, Endpoint Login Sprint 1



20/6



Spring Security, Endpoint Seller, Endpoint Buyer



Revisi Response Register dan Response Login



21/6



Deploy App for Register and Login



Revisi Response Register dan Register Login, Create Product



22/6



Table Product



Create Table Category, Revisi Response Register dan Response Login



23/6 24/6 27/6



-



Revisi Update User Revisi Response Body CRUD Product, Revisi Body



Sprint 2



23



Response Register 28/6



Revisi Pembahasan Awal Flow, Pembuatan ERD



29/6



ERD Flow



30/6 1/7 4/7 5/7



CRUD Product dan Category



6/7



Response Register Buyer



JSON Contract



7/8 8/7 11/7



Minor Update Bentuk Response Body pada User Updated Role Seller dan Buyer Status dan Message pada Response Body User Relasi Table antara Role dan User Revisi Response



12/7 13/7 14/7 15/7 18/7 Sprint 3



CRUD Bids, Table City Relation with User Table



Perbaikan Multiple Response Register dan Response Login Ulang pembuatan CRUD Product dan Category Pembuatan View Table JSON Contract Pembuatan Response Register Buyer, Penambahan Role Pembuatan Response Login Sukses Pembuatan Error Login Revisi Response Error Login dengan Bahasa Indonesia Revisi Role Seller dan Role Buyer Penambahan User Role (Admin) Perbaikan Relasi Table antara Role dan User Permintaan Response dari FE City Entity Relation with User Table, Add Bids Role Admin, Endpoint Admin



19/7



Role Admin, Endpoint Admin CRUD Carousel



20/7



CRUD Carousel



Fixing Bug, Power Point Final Project, CRUD Notification



21/7



CRUD Notification



Fixing Bug, Power Point Final Project



22/7



Power Point Final Project, Fixing Bug



24



-



III.3



Hasil Pengerjaan Project Dari proses serta tahapan perancangan dan pengembangan yang telah



dilalui maka akhirnya pembuatan website Second Gadget telah berhasil diselesaikan. Website Second Gadget ditujukan kepada user yang harapannya dapat digunakan sebagai platform yang berguna sebagai tempat jual-beli barang secara online, khususnya barang bekas. Platform ini membuka dan menyediakan berbagai jenis kategori kebutuhan. User yang mendaftarkan diri pada aplikasi ini dapat berperan sebagai seller dan buyer dengan menggunakan 1 (satu) akun yang sama. Platform ini akan mempertemukan seller dan buyer untuk dapat melakukan negosiasi barang dan melakukan transaksi langsung di luar platform.



Gambar 3.3.1 Website Second Gadget



Hasil dari pengerjaan ini adalah website yang terintegrasi dengan API yang dibuat oleh Back End. Setelah dilakukan proses deployment menggunakan heroku



dan



vercel



app,



website



dapat



diakses



melalui



link



https://secondgadget.herokuapp.com/. Untuk link API sendiri dapat diakses melalui link https://sec-gadget.herokuapp.com/ dengan endpoint yang dapat dilihat pada dokumentasi. Berikut merupakan link dokumentasi swagger https://sec-gadget.herokuapp.com/swagger-ui.html#/.



25



Gambar 3.3.2 Detail API Second Gadget



Gambar 3.3.3 Detail API Second Gadget



26



BAB IV Penutup 1. Kesimpulan Program Binar Academy Studi Independen Bersertifikat merupakan program yang diinisiasi oleh Binar bekerja sama dengan Kementerian Pendidikan, Kebudayaan, Riset dan Teknologi sebagai bagian dari implementasi Magang dan Studi Independen Bersertifikat Kampus Merdeka. Objektif program ini dibuat khusus bagi mahasiswa untuk dapat merasakan pengalaman pembelajaran di luar Kampus berdasarkan tantangan nyata dihadapi oleh mitra/industri untuk mempersiapkan para lulusan sarjana Indonesia untuk mampu berpikir kritis, ilmiah dan terampil sebelum masuk ke dunia kerja setelah lulus dari dunia perkuliahan.



Melakukan



proyek



ini



merupakan



pengalaman



yang



sangat



menyenangkan, terutama dalam hal ruang lingkup Backend Java. Tantangan besar mengambil langkah kecil. Ambil langkah kecil, karena perubahan besar tidak bisa dilakukan dalam semalam, apalagi hanya melalui antarmuka saja. Pertanyaan wawancara dipilih dengan persiapan yang baik. Saat melakukan penelitian, selalu bersiaplah untuk situasi tak terduga saat mendiskusikannya dengan pengguna. Terkadang kita lupa bahasanya dan tidak baik untuk menyebarkannya.



Program



Merdeka



Belajar-Kampus



Merdeka



Studi



Independen ini sangat membantu dalam memajukan pendidikan di Indonesia karena dengan hadirnya program ini juga membantu untuk meningkatkan taraf hidup dan mutu mahasiswa dalam dunia kerja. 2. Saran Salah satu dari 160 mitra yang bergabung dalam program MSIB adalah Binar Academy, yang memberikan pelatihan keterampilan dibidang Backend Java. Dengan melakukan pembelajaran full online dari hari senin hingga jumat yang didampingi oleh mentor-mentor hebat dan ahli dibidangnya, mahasiswa yang ikut bergabung dalam mitra ini diberikan pembelajaran tentang Backend



27



Java mulai dari ilmu dasar hingga ketahap yang lebih tinggi lagi yaitu pembuatan API aplikasi e-commerce. Sebagai seorang peserta, program ini sudah berjalan dengan sangat baik. Namun disayangkan waktu on boarding peserta mundur sedikit lama sehingga berdampak pada berakhirnya program ini sedikit mundur serta laporan nilai akhir yang mundur pula, dan berakibat pada laporan nilai konversi



ke



kampus



28



tertund



BAB V Lampiran A. TOR TERM OF REFERENCE (TOR) STUDI INDEPENDEN BERSERTIFIKAT BACKEND JAVA DI BINAR ACADEMY



29



30