Dipersiapkan oleh:
Mengetahui
Koordinator Kerja Praktik JIF
i
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan penyertaan-
Nya sehingga pelaksanaan kerja praktik dari bulan Agustus sampai Januari dapat
berjalan dengan lancar. Puji Syukur pula kepada Tuhan Yang Maha Esa karena
penulis dapat menyelesaikan laporan kerja praktik di Perusahaan Alterra Academy
dengan baik dan lancar serta tepat pada waktunya.
Kerja praktik merupakan salah satu dari mata kuliah wajib yang harus
ditempuh oleh setiap mahasiswa Program Studi Informatika Universitas
Pembangunana Veteran Yogyakarta. Penyusunan laporan kerja praktik ini
dilakukan untuk memenuhi mata kuliah wajib dan merupakan salah satu syarat
kelulusan akademik pada Program Studi Informatika Fakultas Teknologi Industri
Universitas Pembangunan Veteran Yogyakarta.
Melalui kerja praktik ini penulis banyak mendapatkan pengalaman,
bantuan, serta bimbingan baik dari pihak perusahaan maupun bimbingan dari
pihak kampus. Pada kesempatan ini penulis ingin mengucapkan terima kasih
kepada:
1. Bapak Nadiem Anwar Makarim, B.A., M.B.A selaku Menteri Pendidikan dan
pencetusnya program kampus merdeka
2. Dr. Awang Hendrianto Pratomo., S.T., M.T. selaku Ketua Jurusan Teknik
Informatika Universitas Pembangunan Nasional “Veteran” Yogyakarta
3. Dr. Heriyanto, A.Md., S.Kom., M.Cs selaku Koordinator Program Studi
Informatika Universitas Pembangunan Nasional “Veteran” Yogyakarta
4. Bapak Sylvert Prian Tahalea, S.Si., M.Cs. selaku Dosen Pembimbing yang telah
memberikan bimbingan dan dukungan dalam pelaksanaan kerja praktik serta
memberikan bimbingan dalam menyelesaikan laporan sehingga bisa berjalan
dengan baik.
5. Bapak Abdurrachman Kamil Dhermawan selaku mentor Back-end yang telah
membimbing serta memberikan dukungan terhadap kerja praktik Back-end
6. Bapak Muchson selaku mentor Front-end yang telah membimbing serta
memberikan dukungan terhadap kerja praktik Front-end
ii
7. Tim IT Alterra Academy, yang telah ikut serta membimbing dan memberi
pengarahan pengerjaan proyek untuk kerja praktik
8. Orang tua tercinta, yang selalu mendoakan dan mendukung penulis baik secara
moral maupun material selama kurang lebih lima bulan untuk melaksanakan
kerja praktik di Alterra Academy
9. Semua pihak yang tidak dapat disebutkan satu persatu yang selalu
memberikan doa, dukungan dan semangat
Penulis menyadari bahwa dalam pengerjaan laporan kerja praktik ini
masih banyak kekurangan dan kesalahan, oleh karena itu penulis mengharapkan
saran dan kritik yang sifatnya membangun. Akhir kata, semoga laporan kerja
praktik ini dapat bermanfaat bagi penulis sendiri dan pembaca laporan kerja
praktik ini.
iii
ABSTRAK
iv
DAFTAR ISI
v
4.3. Implementasi Fitur pada User .................................................................30
4.4. Implementasi Fitur pada Administrator ..................................................38
4.5. Implementasi API pada Website Diskusiin .............................................44
4.6. Hasil Pengujian Sistem ............................................................................48
BAB V PENUTUP ............................................................................................... 64
5.1 Kesimpulan ..............................................................................................64
5.2 Saran ........................................................................................................64
5.3 Keberlanjutan ..........................................................................................64
DAFTAR PUSTAKA ...........................................................................................65
LAMPIRAN..........................................................................................................66
vi
DAFTAR GAMBAR
vii
Gambar 4.3.6 Implementasi Fitur Unfollow User................................................. 32
Gambar 4.3.7 Implementasi Fitur Unfollow User................................................. 32
Gambar 4.3.8 Implementasi Fitur Lihat Thread dari User yang Diikuti .............. 33
Gambar 4.3.9 Implementasi Fitur Save Thread .................................................... 33
Gambar 4.3.10 Implementasi Fitur Delete Thread ............................................... 34
Gambar 4.3.11 Implementasi Fitur Input Thread ................................................. 34
Gambar 4.3.12 Implementasi Fitur Input Thread Langkah 2 ............................... 35
Gambar 4.3.13 Implementasi Fitur Input Thread Berhasil ................................... 35
Gambar 4.3.14 Implementasi Fitur Send Message to Administrator .................... 36
Gambar 4.4.1 Implementasi Fitur Login Administrator ....................................... 37
Gambar 4.4.2 Implementasi Fitur Delete User ..................................................... 37
Gambar 4.4.3 Implementasi Fitur Update User .................................................... 38
Gambar 4.4.4 Implementasi Fitur Tambah Kategori ............................................ 39
Gambar 4.4.5 Implementasi Fitur Delete Kategori ............................................... 39
Gambar 4.4.6 Implementasi Fitur Update Kategori.............................................. 39
Gambar 4.4.7 Implementasi Fitur Delete Thread ................................................. 41
Gambar 4.4.8 Implementasi Fitur Delete Message ............................................... 41
viii
DAFTAR TABEL
ix
BAB I
PENDAHULUAN
1.1. Latar Belakang
1
Di samping membutuhkan biaya untuk perjalanan dan menghabiskan
waktu yang lebih banyak. FGD yang dilakukan secara face to face tidak
dapat mengatasi permasalahan karakteristik seseorang. Misalnya seorang
introvert, penyendiri dan pemalu cenderung kehilangan suara mereka dalam
diskusi karena beberapa alasan seperti malu untuk berbagi
pendapat/perasaan di depan banyak orang secara tatap muka.
Ada tiga alasan utama FGD harus dibangun. Pertama, untuk
mendukung kebutuhan sistem pembelajaran. Kedua, untuk mempertajam
kemampuan perserta atau pengguna LMS dalam berbicara dengan lebih
terarah. Ketiga, attitude dalam mengutarakan pendapat sangat diperhatikan,
karena pada website Diskusiin ini terdapat moderator yang dapat
mengkontrol diskusi yang dilakukan oleh pengguna.
Selain itu, user yang membutuhkan pemahaman materi lebih dalam
dapat melemparkan pertanyaan atau bahan diskusi kedalam website
Diskusiin. Yang nantinya bahan diskusi yang dibuat akan dinamakan
thread. Pada thread yang telah dibuat harapannya pengguna yang lainnya
dapat melakukan interaksi serta diskusi yang memberikan jawaban bagi
pembuat thread.
2
1.3. Tujuan
1. Dapat memberikan wadah diskusi yang dapat menyelesaikan masalah
1.4. Manfaat
1. Mendapatkan jawaban dari permasalahan yang didapat
3
BAB II
2.1.1. Sejarah
Alterra Academy merupakan sebuah anak perusahaan dari alterra
Group yang telah berdiri sejak tahun 2018. Alterra Academy dulunya
bernama Alpha Tech Academy. Sebuah coding bootcamp dengan beasiswa
penuh yang memberikan pelatihan bagi pemula, baik dengan latar belakang
IT maupun non-IT, untuk menjadi talenta IT professional dalam waktu 3
bulan. Alpha Tech Academy dibuat sebagai salah satu bentuk konstribusi
dari alterra sebagai perusahaan teknologi untuk masyarakat luas.
Selama hampir 1 tahun, Alpha Tech Academy sudah berjalan dalam
2 batch dengan program Full Stack Engineer dan Qualiy Engineer. Dari
2.000 lebih orang yang antusias dan mendaftar pada program ini, per batch
hanya diambil 30 peserta untuk mengikuti pelatihan yang diadakan oleh
Apha Tech Academy
Sejalan dengan rebranding yang dilakukan oleh Alterra Group
sebagai perusahaan holding, per bulan April 2019, Aplha tech Academy
resmi berubah nama menjadi Alterra Academy dan efektif berjalan mulai
batch 3. Hingga saat ini, Alterra Academy terus melakukan pengembangan
dan inovasi terkait dengan program pelatihan IT yang diadakan. Salah
satunya dengan merilis Advancing Career Program yang dikhususkan bagi
talenta IT berpengalaman yang ingin membuat lompatan pada jenjang
karirnya. Alterra Academy juga telah bermitra dengan banyak perusahaan
ternama sebagai hiring partners yang siap merekrut alumni Alterra Academy
sesuai kebutuhannya.
2.1.2. Visi Misi
a) Visi
Melihat lebih banyak putra-putri indonesia menjadi tech professional
atau tech entrepreneur bertaraf global
b) Misi
1. Memberikan pendidikan tech yang berkualitas bagi siapapun orang
4
indonesia tanpa mempedulikan latar belakang mereka (lokasi, sosio
ekonomi, Pendidikan)
2. mencetak lulusan-lulusan terbaik yang dihormati di bidangnya
3. menjadi salah satu sumber referensi untuk perkembangan dan
pembelajaran teknologi di indonesia
2.1.3. Alamat
Kantor utama dari Alterra Academy berada di Jalan Raya Tidar,
Nomor 23, Karangbesuki, Kota Malang, Jawa Timur. 65146.
A. Academic
Bertanggung jawab untuk membuat kurikulum dan memberikan
pembelajaran pada program Advancing Career Preparation (ACP)
B. Immersive Program
Bertanggung jawab untuk membuat kurikulum dan memberikan
pembelajaran pada Immersive Program. Immersive Program merupakan
tech incubator untuk menciptakan Software Engineer yang berkualitas dan
siap kerja
C. Business Development
Divisi yang bertanggungjawab terhadap pendapatan untuk Alterra
Academy melalui berbagai macam inisiatif bisnis, serta membangun
kerjasama dengan berbagai macam pemangku kepentingan.
D. Engineer
Divisi yang berfokus untuk memberikan solusi kepada pengguna atau
pelanggan atau stakeholder. Prosesnya mulai dari identifikasi masalah
untuk menemukan akar permasalahan, hingga pembuatan dan pemberian
solusi kepada pengguna atau pelanggan atau stakeholder.
5
E. Project Management
Bertanggung jawab untuk mengkoordinasikan suatu proyek kerja sama
antara Alterra Academy dengan berbagai rekan bisnis dari berbagai sektor
F. POPS
Bertanggung jawab atas segala hal yang berkaitan dengan kepegawaian,
termasuk diantaranya Rekrutmen dan Seleksi, Budaya Organisasi, serta
Pelatihan dan Pengembangan diri karyawan
Pada kerja praktek kali ini penulis mendapat tugas untuk membangun
Front-End website Forum Group Discussion serta membuat rancangan Entity
Relational Database (ERD) dan Swagger untuk menentukan Endpoint yang
akan dibuat. Dalam dibuatnya website tersebut, penulis melakukan rancangan
dimulai dari perencanaan penyusunan Minimum Viable Product (MVP),
perancangan wireframe, pembuatan User Interface (UI) sehingga dari UI
yang didapat penulis mengubahnya kedalam bentuk Bahasa pemrograman
Javascript dengan penggunaan library ReactJs dan CSS yang berfungsi untuk
mengatur tampilan pada website. Setelah selesai mengubah kedalam bentuk
bahasa pemograman. Penulis diminta untuk melakukan integrasi Application
Programing Interface (API) yang telah dibuat oleh tim Back-End Developer
yang nantinya dari API tersebut, user dapat melakukan Create, Read, Update,
Delete (CRUD) untuk menggunakan Website Forum Group Discussion yang
telah dibuat.
6
Tabel 2.4.1 Jadwal Kerja
Week Backend
1-5 Service
Week Mini
Rachman 15.15- 15.15- 15.15- 15.15- 15.15-
6-7 Project
Kamil 18.40 18.40 18.40 18.40 18.40
Frontend
7
BAB III
METODOLOGI
8
Untuk analisa lebih lanjut, diperlukan analisis yang dapat membantu
dan memperjelas permasalah pokok yang dihadapi, oleh karena itu kelompok
kami menggunakan analisis SWOT (Strengths, Opportunities, Weakness, dan
Treats) untuk menganalisa permasalahan tersebut. Analisis SWOT ini dibuat
oleh Albert Humphrey pada tahun 1960-an. Analisi SWOT didasarkan pada
logika yang dapat memaksimalkan Strengths (kekuatan), Opportunities
(Peluang) dan dengan waktu secara bersamaan dapat meminimalisir
Weaknesses (kelemahan) serta Threats (ancaman). Proses yang kelompok kami
lakukan untuk mengambil keputusan didasari dengan visi, misi, tujuan serta
strategi dalam mengembangkan sebuah produk. Berikut adalah analisis SWOT
terkait produk website Diskusiin
9
3.2. Diagram Alur Perancangan Solusi
Dalam memberikan sebuah hasil yang maksimal diperlukan sebuah
perancangan sistem yang baik agar website Diskusiin dapat digunakan oleh
masyarakat secara efektif dan efisien. Untuk mewujudkan hal tersebut terdapat
beberapa metode solusi yang dilakukan untuk menyelesaikan produk.
10
konsultasi dengan pengguna yang kemudian didefinisikan secara
rinci dan berfungis sebagai spesifikasi sistem (Sasmito, 2017)
Requirement analysis yang dilakukan adalah dengan melakukan
video conference dengan kelompok serta mentor untuk dilakukan
diskusi agar menghasilkan cara terbaik untuk menghasilkan
produk.
b. System and software design
Tahapan perancangan sistem mengalokasikan
kebutuhankebutuhan sistem baik perangkat keras maupun
perangkat lunak dengan membentuk arsitektur sistem secara
keseluruhan (Sasmito, 2017). Perancangan perangkat lunak
melibatkan identifikasi dan penggambaran abstraksi sistem dasar
perangkat lunak dan hubungannya (Sasmito, 2017).
Pada tahap ini dilakukan proses perancangan wireframe
menggunakan Whimsical untuk mengetahui alur serta cara kerja
dari website Diskusiin. Selanjutnya dengan mendapatkan hasil
tersebut kelompok kami membuat Entity Relationship Diagram
(ERD) serta Relasi Antar Tabel (RAT). Selajutnya kelompok
kami membuat Swagger untuk menentukan endpoint yang akan
dibuat oleh tim Back-End developer. Endpoint ini nantinya akan
di gunakan oleh tim Front-End developer untuk mendapatkan
respon dari database. Selanjutnya kelompok kami
menyempurnakan wireframe kedalam bentuk user interface yang
dikerjakan di aplikasi figma.
c. Implementation and unit testing
Pada tahap ini, perancangan perangkat lunak direalisasikan
sebagai serangkaian program atau unit program (Sasmito, 2017).
Pengujian melibatkan verifikasi bahwa setiap unit memenuhi
spesifikasinya (Sasmito, 2017)
Pada tahap ini dilakukan proses implementasi dalam bentuk
website dari rancangan-rancangan yang sudah dilakukan pada
proses sebelumnya
d. Integration and system testing
Unit-unit individu program atau program digabung dan diuji
11
sebagai sebuah sistem lengkap untuk memastikan apakah sesuai
dengan kebutuhan perangkat lunak atau tidak (Sasmito, 2017).
Setelah pengujian, perangkat lunak dapat dikirimkan ke customer
(Sasmito, 2017)
Setelah Sebagian fitur selesai dibangun, maka dilakukan
proses testing pada sistem menggunakan mockery yang
digunakan pada bahasa pemrograman Golang. Testing ini
digunakan untuk mengetahui berapa angka keberhasilan dari
sistem yang telah dibangun, serta untuk mengetahui apakah
terdapat bug terhadap sistem yang telah dibuat.
e. Operation and maintenance
Biasanya (walaupun tidak selalu), tahapan ini merupakan
tahapan yang paling panjang. Sistem dipasang dan digunakan
secara nyata (Sasmito, 2017). Maintenance melibatkan
pembetulan kesalahan yang tidak ditemukan pada tahapan-
tahapan sebelumnya, meningkatkan implementasi dari unit
sistem, dan meningkatkan layanan sistem sebagai kebutuhan
baru (Sasmito, 2017).
Pada tahap ini, dilakukan presentasi kepada tim penilaian
yang telah disediakan oleh Alterra Academy, untuk di review
apakah terdapat kekurangan pada website yang telah dibangun.
14
3.3. Perancangan Solusi
Setelah Perancangan produk menggunakan metode Waterfall telah
ditentukan proses pengerjaan dapat dilakukan pada tahap pembuatan serta
produksi. Berikut merupakan penjelasan secara detail terkait implementasi serta
pengujian terhadap website Diskusiin
15
Gambar 3.3.1.1 Perancangan Database
17
sesuai dengan permintaan atau kebutuhan dari user (Nidhra & Dondeti,
2012) (Setiyani, 2019).
Salah satu metode dari black box testing adalah user acceptance
testing (UAT). UAT merupakan salah satu pengujian yang sangat
penting sebagai garis terakhir verifikasi untuk memeriksa kesiapan
perangkat lunak terhadap harapan dari pengguna (Jeong et al., 2015).
Kriteria dari UAT terdiri dari atribut kualitas dari requirement, atribut
kualitas sistem, fungsionalitas dan non-fungsionalitas dari sistem, dan
kesiapan operasional sistem. Metode UAT ini akan digunakan dalam
pengujian sistem ini.
18
Tabel 3.3.3.2. Skenario Pengujian Lanjutan 1
No Fungsional Rencana Pengujian Jenis
yang diuji Pengujian
6 Unfollow Melakukan proses unfollow user, Black Box
user dilanjutkan melakukan pengecekan
pada halaman following dan halaman
mengikuti thread
7 Lihat thread Melakukan pengecekan dari list thread Black Box
dari user yang muncul pada halaman mengikuti
yang diikuti thread
8 Save thread Melakukan proses save thread, Black Box
dilanjutkan dengan melakukan
pengecekan pada halaman profile
9 Delete Melakukan proses delete thread, Black Box
thread dilanjutkan dengan melakukan
pengecekan pada halaman profile
10 Input thread Melakukan proses input thread Black Box
dilanjutkan dengan melakukan
pengecekan pada halaman profile
11 Send Melakukan proses send message to Black Box
Message to administrator
administrator
12 Login Melakukan proses login administrator Black box
administrator dengan melakukan input data berupa
email dan password
13 Delete user Melakukan proses detele user dan Black box
dilanjutkan dengan melakukan
pengecekan pada halaman user
14 Update user Melakukan proses update user dan Black box
dilanjutkan dengan melakukan
pengecekan pada halaman user
15 Tambah Melakukan proses input kategori dan Black box
kategori dilanjutkan dengan melakukan
pengecekan pada halaman kategori
19
Tabel 3.3.3.3. Skenario Pengujian Lanjutan 3
No Fungsional Rencana Pengujian Jenis
yang diuji Pengujian
16 Delete Melakukan proses delete kategori dan Black box
kategori dilanjutkan dengan melakukan
pengecekan pada halaman kategori
17 Update Melakukan proses update kategori dan Black box
Kategori dilanjutkan dengan melakukan
pengecekan pada halaman kategori
18 Delete Melakukan proses delete thread dan Black box
Thread dilanjutkan dengan melakukan
pengecekan pada halaman diskusi
19 Delete Melakukan proses delete message dan Black box
Message dilanjutkan dengan melakukan
pengecekan pada halaman message
20
BAB IV
b. Halaman Register
Pada Halaman ini user dapat melakukan proses registrasi dengan
memasukkan data diri berupa username, password, email, phone dan
gender.
21
Gambar 4.1.2. Implementasi UI Halaman Register
c. Halaman Login
Pada halaman login ini, user diminta untuk memasukan email dan
juga password agar dapat menggunakan hak akses serta dapat
menggunakan halaman selanjutnya. Setelah proses login berhasil, maka
user akan langsung diarahkan ke halaman beranda, yang dimana pada
halaman ini terdapat thread dari user lainnya.
23
Gambar 4.1.6. Implementasi UI Halaman Thread Kategori
g. Halaman Ranking
Pada halaman ranking akan ditampilkan daftar user berdasarkan dari
jumlah like dan jumlah diskusi yang telah di input kedalam website
Diskusiin.
h. Halaman Profile
Pada halaman profile akan ditampilkan jumlah followers, jumlah
following dan jumlah diskusi yang telah di input serta detail dari thread
yang telah di input kedalam website Diskusiin.
24
Gambar 4.1.8. Implementasi UI Halaman Profile
j. Halaman Mengikuti
Pada halaman mengikuti ini, dapat di akses dengan melakukan klik
pada tulisan mengikuti di halaman profile, pada halaman ini user dapat
melihat siapa saja user lain yang telah diikuti.
25
Gambar 4.1.10. Implementasi UI Halaman Mengikuti
k. Halaman Pengikut
Pada halaman pengikut ini, dapat di akses dengan melakukan klik
pada tulisan pengikut di halaman profile, user dapat melihat siapa saja user
lain yang telah menjadi followers.
l. Halaman Favorite
Pada halaman ini akan ditampilkan thread yang telah dijadikan thread
favorite oleh user. Agar dapat menjadi thread favorite user hanya perlu
melakukan klik pada salah satu button yang terdapat di thread yang muncul pada
halaman beranda.
26
m. Halaman Input Komentar
Pada halaman input komentar, user bisa memasukkan komentar
terkait thread yang muncul di halaman beranda. User dapat memberikan
pendapat yang nantinya dapat ditampilkan di halaman beranda.
27
Gambar 4.1.1.15. Implementasi UI Halaman Send Message oleh Moderator
b. Halaman Dashboard
Halaman dashboard ini merupakan halaman yang muncul pertama
ketika proses login pada halaman login berhasil dilakukan. Pada halaman
28
dashboard administrator memiliki 4 halaman, yaitu halaman user, halaman
kategori, halaman diskusi dan halaman message.
c. Halaman User
Pada halaman user yang di akses melalui akun administrator, akan
ditampilkan seluruh pengguna baik user biasa, moderator maupun
administrator. Sedikit perbedaan dari moderator dengan user adalah,
seorang moderator bisa mengirimkan sebuah pesan kepada administrator
terkait pelanggaran yang dilakukan user dalam melakukan input sebuah
thread atau komentar.
d. Halaman Diskusi
Pada halaman diskusi ini akan ditampilkan seluruh thread yang telah
di input kedalam website Diskusiin. Pada halaman ini administrator dapat
menghapus thread yang memiliki unsur sara atau unsur yang dapat
menyinggung orang lain.
29
Gambar 4.2.4. Implementasi UI Halaman Diskusi
e. Halaman Message
Pada halaman message ini menampilkan seluruh pesan yang
dikirimkan oleh moderator, halaman ini dibuat untuk mempermudah
administrator mendapatkan report atau pesan yang telah dikirimkan oleh
moderator.
30
menekan button bertuliskan daftar agar dapat melanjutkan proses
registrasi.
b. Login
Pada fitur login, user menggunakan email dan password yang telah di
daftarkan pada proses register yang telah dilakukan. Setelah data email dan
password telah di masukan, maka langkah selanjutnya user dapat menekan
button yang bertuliskan masuk. Setelah itu server akan melakukan proses
pengecekan dengan data yang terdapat pada database. Ketika data cocok
dengan email dan password yang di masukan. Maka server akan
mengembalikan data berupa tsebuah token. Token ini merupakan salah satu
bentuk otentikasi yang digunakan pada website Diskusiin.
31
Gambar 4.3.2. Implementasi Fitur Login
c. Like Thread
Pada fitur like, user dapat melakukan like di setiap thread yang
muncul di beranda. User hanya perlu melakukan klik pada button love
berwarna merah sesuai dengan tanda biru yang telah terlihat pada gambar
4.3.3, ketika user sudah melakukan klik pada button love berwarna merah
maka user sudah berhasil melakukan like pada thread.
d. Unlike Thread
Pada fitur unlike thread, user dapat melakukan unlike di setiap thread
yang muncul di beranda. User hanya perlu melakukan klik pada button
32
tidak bewarna sesuai dengan tanda biru yang telah terlihat pada gambar
4.3.4, maka user sudah berhasil melakukan unlike pada thread yang tidak
disukai.
e. Follow User
Pada fitur follow, user dapat mengikuti user lain. Dengan adanya fitur
ini user dapat melihat thread sesuai dengan pengguna yang telah diikuti
pada halaman mengikuti. Untuk halaman mengikuti ini bisa diakses dengan
melakukan klik pada navbar yang bertuliskan mengikuti.
33
f. Unfollow User
Pada fitur unfollow, user dapat melakukan unfollow terhadap user
yang sudah pernah diikuti, Untuk melakukannya user bisa melakukan klik
pada lingkaran hitam pada gambar 4.3.6. untuk melakukan unfollow pada
user yang pernah diikuti atau dapat klik tulisan mengikuti pada profile.
Setelah dilakukan klik halaman akan berpindah kepada list user yang telah
diikuti.
Pada gambar 4.3.8. user dapat melihat thread berdasarkan user yang
telah diikuti, sehingga user bisa lebih fokus dan lebih mudah membaca
thread pada user yang telah diikuti.
34
Gambar 4.3.8. Implementasi Fitur Lihat Thread dari User yang Diikuti
h. Save Thread
User dapat menyimpan beberapa thread yang telah di input oleh user
lain. Untuk melakukan save thread, user dapat melakukan klik pada tulisan
save diatas kanan dari thread.
i. Delete Thread
Pada fitur ini, user dapat melakukan hapus pada thread yang telah
disimpan dengan cara pergi ke halaman profile, lalu klik pada tulisan
favorite, pada halaman ini akan ada daftar thread yang telah disimpan. Lalu
user dapat melakukan hapus dengan cara klik button hapus yang terletak di
sebelah username dari pengguna yang telah membuat thread tersebut.
35
Gambar 4.3.10. Implementasi Fitur Delete Thread Favorite
j. Input Thread
Pada fitur ini user dapat melakukan input Thread dengan cara
mengisi textarea form pada halaman beranda. Langkah ini merupakan
langkah awal bagi user agar dapat melakukan input pada website Diskusiin.
36
Gambar 4.3.12. Implementasi Fitur Input Thread Langkah 2
38
Gambar 4.4.1. Implementasi Fitur Login Administrator
b. Delete User
Pada fitur delete user, administrator dapat menghapus user ketika
user tersebut banyak melakukan pelanggaran. Dengan Melakukan klik pada
button hapus, maka user akan terhapus dari database.
c. Update User
Pada fitur Update user, administrator dapat menghapus update
terhadap user yang ingin diubah menjadi moderator pada sebuah kategori.
Dengan melakukan klik pada button update, maka akan muncul sebuah
modal untuk melakukan pengisian data user dan pemilihan kategori. Ketika
data tersebut sudah diisi, maka Langkah selanjutnya adalah melakukan klik
39
pada button update berwarna biru. Setelah itu maka user akan berubah
menjadi moderator pada kategori yang telah ditentukan.
d. Tambah Kategori
Pada fitur ini administrator dapat menambahkan kategori baru yang
nantinya dapat di gunakan oleh seluruh user. Cara menambahkan kategori
adalah dengan melakukan input pada textbox disebelah kanan. Setelah
mengisi kategori yang akan ditambahkan, selajutnya lakukan klik pada
button bertuliskan tambah. Ketika sudah berhasil maka kategori akan
muncul dan dapat digunakan oleh seluruh user yang menggunakan website
Diskusiin
40
Gambar 4.4.4. Implementasi Fitur Tambah Kategori
e. Delete Kategori
Pada fitur ini administrator dapat menghapus kategori yang ingin
dihapus. Untuk melakukan Delete kategori, administrator dapat melakukan
klik pada button bertuliskan hapus untuk menghapus kategori tersebut.
f. Update Kategori
Pada fitur ini administrator dapat melakukan update pada kategori.
Untuk melakukan update administrator dapat melakukan klik pada button
bertuliskan edit lalu mengisi textbox yang muncul. Setelah selesai dalam
mengisi textbox yang muncul. Langkah selanjutnya adalah dengan
melakukan klik pada button bertuliskan save untuk mengubah kategori
tersebut. Setelah langkah - langkah tersebut berhasil dilakukan, maka
kategori akan berubah.
41
Gambar 4.4.6. Implementasi Fitur Update Kategori
g. Delete Thread
Pada fitur Delete Thread, administrator dapat melakukan hapus pada
sebuah thread. Fitur ini disiapkan sebagai salah satu bentuk penyaringan
untuk thread yang di input oleh user. Untuk melakukan delete pada thread
user, administrator dapat melakukan klik pada button hapus diatas thread
pada halaman diskusi.
42
Gambar 4.4.7. Implementasi Fitur Delete Thread
h. Delete Message
Pada fitur Delete message, administrator dapat melakukan hapus
pada message yang telah dikirim oleh moderator. Untuk melakukan hapus
pada message, administrator dapat melakukan klik pada button bertuliskan
delete dibawah message
43
4.5. Implementasi API pada Website Diskusiin
Application Programing Interface (API) merupakan output dari team
backend. API yang dihasilkan ini nantinya akan digunakan untuk melakukan
komunikasi dengan database. API kali ini digunakan sebagai jembatan antara
Front-End dengan database. Berikut daftar-daftar API yang digunakan.
44
Tabel 4.5.2 Tabel API Lanjutan 1
No Method Nama Method Endpoint Keterangan
8 Get Get localhost:1234/c Endpoint ini digunakan
AllCategory ategory untuk mengambil seluruh
data kategori
9 Get Seach Category localhost:1234/t Endpoint ini digunakan
hread/search untuk mengambil data
melalui search
10 Get Get AllThread localhost:1234/t Endpoint ini digunakan
hread untuk mengambil seluruh
data thread
11 Get Get ThreadUser localhost:1234/u Endpoint ini digunakan
ser/:id/threads untuk mengambil seluruh
data thread berdasarkan
user
12 Get Get Followed localhost:1234/u Endpoint ini digunakan
ser/followed untuk mengambil data
followed user
13 Get Get localhost:1234/ Endpoint ini digunakan
MessagesBy message/admin untuk mengambil data
Admin message yang dikirimkan
oleh moderator
14 Get Get AllUser localhost:1234/a Endpoint ini digunakan
ll_user untuk mengambil data
seluruh user
15 Get Ranking localhost:1234/u Endpoint ini digunakan
ser/ranking untuk mengambil data
terkait ranking dari user
16 Get Get All localhost:1234/u Endpoint ini digunakan
FavoriteUser ser/favorite untuk mengambil data
favorite thread
berdasarkan user
17 Post Register localhost:1234/u Endpoint ini digunakan
ser untuk melakukan input
data dalam proses register
oleh user
45
Tabel 4.5.3 Tabel API Lanjutan 2
No Method Nama Method Endpoint Keterangan
18 Post Login localhost:1234/u Endpoint ini digunakan
ser/login untuk melakukan input
data dalam proses login
oleh user
19 Post Follow localhost:1234/u Endpoint ini digunakan
ser/follow untuk melakukan follow
antara user
20 Post Insert Thread localhost:1234/t Endpoint ini digunakan
hread untuk melakukan input
data dalam proses input
thread oleh user
21 Post Liking Thread localhost:1234/li Endpoint ini digunakan
ke untuk melakukan like
pada thread user
22 Post Thread localhost:1234/t Endpoint ini digunakan
Comment hread/comment untuk melakukan input
data comment pada
sebuah thread
23 Post Insert Category localhost:1234/c Endpoint ini digunakan
ategory untuk melakukan input
data kategori thread
24 Post Send Message localhost:1234/ Endpoint ini digunakan
To Admin message untuk melakukan input
data message yang akan
dikirimkan kepada
administrator
25 Post Upload Image localhost:1234/u Endpoint ini digunakan
ser/picture untuk melakukan input
data image
26 Post Insert Favorite localhost:1234/u Endpoint ini digunakan
ser/thread/follo untuk melakukan add
w favorite thread
46
Tabel 4.5.4 Tabel API Lanjutan 3
No Method Nama Method Endpoint Keterangan
47
Tabel 4.5.5 Tabel API Lanjutan 4
No Method Nama Method Endpoint Keterangan
35 Delete Delete Favorite http://localhost: Endpoint ini digunakan
1234/user/thread untuk melakukan hapus
/follow favorite thread
36 Put Edit Data user http://localhost: Endpoint ini digunakan
1234/user untuk melakukan update
data dari user
37 Put Edit Category http://localhost: Endpoint ini digunakan
1234/category/:i untuk melakukan update
d data kategori oleh
administrator
38 Put Upgrade User http://localhost: Endpoint ini digunakan
to moderator 1234/user/upgra untuk melakukan update
de user menjadi moderator
48
Tabel 4.6.2. Hasil Uji UAT
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Register User
Deskripsi Pengujian:
Melakukan pengujian register
user dengan memasukkan
username, password, email,
address, phone dan gender
Kasus Uji :
- username : Fikryar
- password : fikry123
1 - email : fikryar@gmail.com Berhasil Fatkur Rizal 27 Januari
- address : jl. Kacer belimbing Rochmadian Putra 2022
Yogyakarta no 222
- phone : 082377392264
- gender : Laki-Laki
49
Tabel 4.6.3. Hasil Uji UAT Lanjutan 1
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Login User
Deskripsi Pengujian:
Melakukan pengujian login user
dengan memasukkan password
dan email
Kasus Uji :
2 - email : fikryar@gmail.com Berhasil Fatkur Rizal 27 Januari
- password : fikry123 Rochmadian Putra 2022
50
Tabel 4.6.4. Hasil Uji UAT Lanjutan 2
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Like Thread
Deskripsi Pengujian:
Melakukan pengujian like thread
dengan melakukan klik pada
button love bewarna merah
dibawah thread
Nama Uji :
Unlike Thread
Deskripsi Pengujian:
Melakukan pengujian unlike
thread dengan melakukan klik
pada button love tidak bewarna
dibawah thread
51
Tabel 4.6.5. Hasil Uji UAT Lanjutan 3
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Follow User
Deskripsi Pengujian:
Melakukan pengujian follow user
dengan melakukan klik pada
button bertuliskan ikuti
Kasus Uji :
5 - username : Ivan Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka jumlah
following akan bertambah,
tulisan pada button ikuti
disebelah username Ivan akan
berubah menjadi mengikuti dan
pada halaman thread mengikuti
akan menampilkan thread dari
user Ivan
52
Tabel 4.6.6. Hasil Uji UAT Lanjutan 4
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Unfollow User
Deskripsi Pengujian:
Melakukan pengujian unfollow
user dengan melakukan klik pada
button bertuliskan mengikuti
Kasus Uji :
6 - username : Ivan Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka jumlah
following akan berkurang,
tulisan pada button mengikuti
disebelah username Ivan akan
berubah menjadi ikuti dan pada
halaman thread mengikuti tidak
lagi menampilkan thread dari
user Ivan
53
Tabel 4.6.7. Hasil Uji UAT Lanjutan 5
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Lihat thread dari user yang diikuti
Deskripsi Pengujian:
Melakukan pengecekan terhadap
thread yang muncul pada
halaman thread mengikuti.
Kasus Uji :
7 - Melakukan pengecekan Berhasil Fatkur Rizal 27 Januari
terhadap thread Rochmadian Putra 2022
54
Tabel 4.6.8. Hasil Uji UAT Lanjutan 6
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Save thread
Deskripsi Pengujian:
Melakukan pengujian save thread
dengan melakukan klik pada
button bertuliskan save diatas
kanan dari thread.
Deskripsi Pengujian:
Melakukan klik pada button
bertuliskan delete pada thread
Kasus Uji :
- Title Thread : Bahas tuntas
9 mega blacklist Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka thread tidak
lagi muncul di halaman home
dan halaman profile
- Jika gagal maka thread tetap
muncul di halaman home dan
halaman profile
55
Tabel 4.6.9. Hasil Uji UAT Lanjutan 7
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Input Thread
Deskripsi Pengujian:
Melakukan pengujian input
Thread dengan melakukan input
judul, diskusi dan kategori
Kasus Uji :
10 - Title : Mengapa Go lebih baik Berhasil Fatkur Rizal 27 Januari
- Diskusi : Go merupakan Bahasa Rochmadian Putra 2022
yang dikembangkan oleh
google, oleh karena itu…
- Kategori : Gaming
56
Tabel 4.6.10. Hasil Uji UAT Lanjutan 8
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Send Message to administrator
Deskripsi Pengujian:
Melakukan pengujian input pesan
menggunakan akun moderator
Kasus Uji :
Title: Mengapa Go lebih baik?
11 Message : message 1 merupakan.. Berhasil Fatkur Rizal 27 Januari
Kategori : Komputer Rochmadian Putra 2022
57
Tabel 4.6.11. Hasil Uji UAT Lanjutan 9
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Login Administrator
Deskripsi Pengujian:
Melakukan pengujian login
menggunakan akun administrator
Kasus Uji :
- Email : admin@gmail.com
12 - Password : pass5 Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka akan
diarahkan ke halaman home
administrator
- Jika gagal maka akan mucul
pop-up bertuliskan bahwa login
gagal
58
Tabel 4.6.12. Hasil Uji UAT Lanjutan 10
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Delete User
Deskripsi Pengujian:
Melakukan pengujian proses
delete user dengan melakukan
klik pada button bertuliskan hapus
Kasus Uji :
13 - username : faris Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka username
faris akan hilang dari halaman
user administrator
- Jika gagal maka username faris
tidak hilang dari halaman user
administrator
59
Tabel 4.6.13. Hasil Uji UAT Lanjutan 11
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Update User
Deskripsi Pengujian:
Melakukan pengujian proses
delete user dengan melakukan
klik pada button bertuliskan hapus
Kasus Uji :
14 - Id User : 1 Berhasil Fatkur Rizal 27 Januari
- Name : Zehan Rochmadian Putra 2022
- Kategori : 1
- Name Kategori : Politik
60
Tabel 4.6.14. Hasil Uji UAT Lanjutan 12
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Tambah Kategori
Deskripsi Pengujian:
Melakukan pengujian proses
Tambah Kategori dengan
melakukan input pada textfield
Kasus Uji :
15 - Kategori : Makanan Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka kategori
akan muncul pada halaman
kategori
- Jika gagal maka kategori baru
tidak muncul pada halaman
kategori
Nama Uji :
Delete Kategori
Deskripsi Pengujian:
Melakukan pengujian proses
Delete Kategori dengan
melakukan klik pada button
bertuliskan delete
61
Tabel 4.6.15. Hasil Uji UAT Lanjutan 13
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Update Kategori
Deskripsi Pengujian:
Melakukan pengujian proses
Update kategori.
Kasus Uji :
- Nama Kategori : Makanan
17 - Nama baru Kategori : Minuman Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka kategori
makanan akan berubah menjadi
minuman
- Jika gagal maka kategori
makanan akan tetap menjadi
kategori makanan
Nama Uji :
Delete Thread
Deskripsi Pengujian:
Melakukan pengujian proses
Delete Thread.
Kasus Uji :
- Title Thread : Mengapa Go
18 lebih baik Berhasil Fatkur Rizal 27 Januari
Rochmadian Putra 2022
Hasil yang diharapkan :
- Jika berhasil maka thread akan
hilang dari halaman diskusi
- Jika gagal maka thread tidak
akan hilang dari halaman
diskusi
62
Tabel 4.6.16. Hasil Uji UAT Lanjutan 14
No Use Case/Proses Berhasil / Penguji Tanggal
Gagal Test
Nama Uji :
Delete Message
Deskripsi Pengujian:
Melakukan pengujian proses
delete message dengan melakukan
klik pada button bertuliskan hapus
Kasus Uji :
19 - title message : Mengapa Go Berhasil Fatkur Rizal 27 Januari
lebih baik Rochmadian Putra 2022
- message : message 1
merupakan..
63
BAB V
PENUTUP
5.1. Kesimpulan
Solusi yang diusulkan pada permasalahan yang muncul terkait belum
adanya wadah yang tepat untuk melakukan diskusi dan bertukar informasi bagi
pengguna LMS dari Alterra Academy adalah perancangan website forum group
discussion menggunakan metode waterfall. Perancangan website Diskusiin ini
berdasarkan pada analisis SWOT dan telah digunakan metode waterfall untuk
melakukan proses pengembangan. Dengan adanya website Disuksiin ini,
pengguna LMS Alterra Academy akan memiliki sebuah wadah untuk
melakukan diskusi terkait pembelajaran yang tersedia di LMS Alterra
Academy.
5.2. Saran
Website Diskusiin telah dibuat, akan tetapi website Diskusiin dapat
dikembangkan kearah yang lebih baik dengan beberapa hal ini
- Perbaikan tampilan / user interface (UI) agar lebih menarik dan lebih
responsive ketika digunakan dalam bentuk mobile
5.2. Keberlanjutan
Website Diskusiin ini selanjutnya dapat dikembangkan untuk menjadi
sebuah wadah yang dapat digunakan dalam melakukan diskusi dari pengguna
LMS Alterra Academy atau dapat digunakan oleh masyarakat yang sedang
melakukan pembelajaran.
64
DAFTAR PUSTAKA
Nidhra, S., & Dondeti, J. (2012). Black Box and White Box Testing Techniques - A
Literature Review. International Journal of Embedded Systems and
Applications, 2(2), 29–50. https://doi.org/10.5121/ijesa.2012.2204
Sasmito, G. W. (2017). Penerapan Metode Waterfall Pada Desain Sistem Informasi
Geografis Industri Kabupaten Tegal. Jurnal Informatika:Jurnal
Pengembangan IT (JPIT), 2(1), 6–12.
Pramudita, R., Arifin, R. W., Alfian, A. N., Safitri, N., & Anwariya, S. D. (2021).
PENGGUNAAN APLIKASI FIGMA DALAM MEMBANGUN UI / UX
YANG INTERAKTIF PADA PROGRAM STUDI TEKNIK. Jurnal Buana
Pengabdian, 3(1), 149–154
Setiyani, L. (2019). Pengujian Sistem Informasi Inventory Pada Perusahaan Distributor
Farmasi Menggunakan Metode Black Box Testing. Techno Xplore : Jurnal Ilmu
Komputer Dan Teknologi Informasi, 4(1), 1–9.
https://doi.org/10.36805/technoxplore.v4i1.539
Velankar, S., & Mane, D. (2017). Comparative Analysis of Bootstrap and UIkit
framework. International Research Journal of Engineering and
Technology(IRJET), 4(6), 4–7.
https://irjet.net/archives/V4/i6/IRJET V4I6495.pd
65
LAMPIRAN
66
Lampiran 2 Surat Catatan Harian (LogBook)
No Tanggal Kegiatan
1 23 Agustus 2021 Pada pertemuan pertama dalam kelas Back-End
penulis mendapatkan bahan pembelajaran tentang
penggunaan dasar dari golang
2 24 Agustus 2021 Penulis mendapatkan pembelajaran mengenai dasar
dari penggunaan dari bahasa pemrograman golang
67
No Tanggal Kegiatan
16 13 September 2021 Penulis melakukan diskusi mengenai mini project
Back-End
68
No Tanggal Kegiatan
69
No Tanggal Kegiatan
48 28 Oktober 2021 Penulis mendapatkan pembelajaran mengenai
javascript mengenai control flow, promise, wait,
class dan DOM
49 29 Oktober 2021 Penulis mendapatkan pembelajaran mengenai materi
node js
70
No Tanggal Kegiatan
62 17 November 2021 Penulis mendapatkan pembelajaran mengenai
CRUD yang bisa dilakukan menggunakan hasura
71
No Tanggal Kegiatan
72
No Tanggal Kegiatan
95 03 Januari 2022 Penulis mendapatkan review materi mengenai
penggunaan docker yang nantinya akan digunakan
untuk deploy pada final project
96 05 Januari 2022 Penulis mengerjakan proses login pada Front-End,
hal ini bertujuan agar data yang dimasukkan bisa
sesuai dengan data yang berada di database, sehingga
dari Back-End dapat mengirim kembali token untuk
digunakan pada proses validasi
103 14 Januari 2022 Penulis mengerjakan integrasi dengan API yang telah
disediakan untuk proses input thread
73
No Tanggal Kegiatan
109 24 Januari 2022 Penulis menambahkan validasi login dan registrasi.
Selain itu penulis mengerjakan fitur like thread,
unlike thread, delete thread, get all thread dari user
yang diikuti
110 25 Januari 2022 Penulis melakukan integrasi dengan API yang telah
disediakan untuk proses user dapat menyimpan
thread dengan favorite, lalu unfavorite, input thread,
delete comment, send message, input komentar
74
Lampiran 3 Bukti Dokumentasi Bimbingan Pembimbing Lapangan
75
76
Lampiran 4 Screenshoot sistem bukti konsul bimbingan
77
Lampiran 5 Link Seminar / Vlog
https://drive.google.com/drive/folders/14yw5RattTbqTEn_BY7PXHHT77-
XBVr5s?usp=sharing
78
Lampiran 6 Daftar Relasi
Muhammad Ismail
Diana Yulinda
79
Nada Yasinta
Muchammad Muchson
80
Lampiran 7 Daftar Pengetahuan
No Kompetensi
SoftSkill:
1 Time & Task Management
2 Teamwork & Collaboration
3 Basic Leadership Skills
4 Basic Communication Skills
5 Public Speaking and Presentation Skills
6 Building Resume and CV
HardSkill:
1 Basic Programming
2 Big-O Time, Array, Slice & Function
3 String, Map, & Advance Function
4 String, Map, & Advance Function
5 Recursive, Number Theory, Sorting, Searching & Regex
6 Stack & Queue
7 Brute Force, Greedy and D&C
8 Dynamic Programming
9 Pointer, Method, Struct & Interface
10 Database Schema, DDL, DML
11 Join, Union, Agregasi, Subquery, Function (DBMS)
12 NoSQL & MongoDB
13 RESTful API & Echo Golang
14 ORM & Code Structure & Dependency Management
15 Middleware
16 Unit Testing
17 Hexagonal Architecture
18 Configuration Management
19 Clean Code & Code Review
20 Containerization Docker
21 Continuous Integration
22 Deployment
81
23 UI/UX
24 Prototype UI/UX using Figma
25 HTML/CSS
26 Javascript Refreshment
27 DOM & ES6
28 Node Js
29 React
30 React Fundamental - State, Props, Event Handling
31 React Fundamental - Router
32 React Fundamental - Form and Data Fetching
33 React Fundamental - Hook
34 Redux/Context
35 GraphQL, Mutation, Apollo, Subscription
36 Testing and Deployment
82
Lampiran 8 Sertifikat MSIB
83