Uploaded by common.user152724

Laporan Tugas: Pengembangan Aplikasi Web dengan ReactJS Sistem Data Mahasiswa

advertisement
PENGEMBANGAN APLIKASI WEB
MENGGUNAKAN REACTJS
SISTEM DATA MAHASISWA
Laporan Tugas Pengembangan Aplikasi Web
Nama Mahasiswa : ........................................
NIM
: ........................................
Mata Kuliah : Pengembangan Aplikasi Web
Dosen
: ........................................
Tanggal
: 10 Agustus 2026
PROGRAM STUDI ........................................
UNIVERSITAS ........................................
2026
BAB I PENDAHULUAN
1.1 Latar Belakang
Perkembangan aplikasi web mendorong penggunaan teknologi yang mampu
menghasilkan antarmuka interaktif, terstruktur, dan mudah dikembangkan. ReactJS
merupakan library JavaScript yang menggunakan pendekatan component sehingga
bagian antarmuka dapat dipisahkan menjadi unit yang dapat digunakan kembali.
Pendekatan tersebut membantu pengembang mengelola aplikasi web yang memiliki
banyak bagian dan interaksi pengguna.
Pada tugas ini dikembangkan Sistem Data Mahasiswa berbasis ReactJS. Aplikasi dipilih
karena memiliki alur yang sederhana tetapi dapat menunjukkan konsep utama
pengembangan aplikasi web modern, yaitu component, state, routing, event handling,
form, pencarian, penyimpanan data pada Local Storage, serta tampilan responsif.
1.2 Rumusan Masalah
1. Bagaimana merancang aplikasi web sederhana menggunakan ReactJS?
2. Bagaimana menerapkan component, state, dan routing pada aplikasi?
3. Bagaimana mengimplementasikan fitur pengelolaan data mahasiswa dan
pencarian?
4. Bagaimana menjaga struktur kode dan performa aplikasi agar tetap sederhana dan
terorganisasi?
1.3 Tujuan
Tujuan pengembangan aplikasi adalah menerapkan konsep ReactJS dalam aplikasi
web dinamis, memahami pengelolaan state dan routing, membuat fitur CRUD
sederhana, serta menganalisis penerapan praktik pengembangan yang mendukung
struktur dan performa aplikasi.
1.4 Manfaat
Aplikasi dapat menjadi contoh implementasi ReactJS untuk pengelolaan data
sederhana. Bagi mahasiswa, tugas ini memberikan pengalaman dalam merancang
komponen, mengelola state, membuat navigasi halaman, dan mendokumentasikan
proses pengembangan.
BAB II LANDASAN TEORI
2.1 ReactJS
ReactJS adalah library JavaScript untuk membangun antarmuka pengguna. React
menggunakan component sebagai unit penyusun UI. Dengan pendekatan ini, bagian
aplikasi seperti navigasi, tabel, form, dan kartu informasi dapat dikembangkan secara
terpisah dan digunakan kembali.
2.2 Component
Component merupakan bagian mandiri dari antarmuka yang menerima data dan
menghasilkan tampilan. Pada aplikasi ini Layout, Dashboard, Mahasiswa,
FormMahasiswa, Profil, dan NotFound dipisahkan menjadi component/page sehingga
tanggung jawab kode lebih jelas.
2.3 State dan Hook
State menyimpan data yang dapat berubah selama aplikasi berjalan. useState
digunakan untuk menyimpan daftar mahasiswa dan nilai form. useEffect digunakan
untuk menyimpan perubahan data ke Local Storage. useMemo digunakan pada daftar
mahasiswa untuk menghitung hasil pencarian dan jumlah jurusan secara lebih
terkontrol.
2.4 Routing
Routing mengatur perpindahan antarmuka berdasarkan URL. Aplikasi menggunakan
React Router untuk menyediakan rute Dashboard, Data Mahasiswa, Tambah Data, Edit
Data, Profil, dan 404.
2.5 Local Storage
Local Storage digunakan sebagai penyimpanan sederhana pada browser. Data
mahasiswa diserialisasi menjadi JSON sehingga perubahan data tetap tersedia setelah
halaman dimuat kembali pada browser yang sama.
2.6 Optimasi Performa
Optimasi sederhana dilakukan dengan memisahkan component berdasarkan fungsi,
menggunakan key pada daftar hasil render, dan memakai useMemo pada proses
filtering. Pendekatan tersebut membantu menghindari pekerjaan perhitungan yang tidak
perlu ketika state lain berubah.
BAB III METODE / LANGKAH KERJA
3.1 Perencanaan Aplikasi
Aplikasi dirancang dengan empat bagian utama: Dashboard, Data Mahasiswa, Form
Tambah/Edit, dan Profil. Fitur utama meliputi melihat data, menambah data, mengedit
data, menghapus data, mencari data, routing, penyimpanan Local Storage, dan halaman
404.
3.2 Tools yang Digunakan





Node.js dan npm
Visual Studio Code
ReactJS
Vite
React Router DOM

Google Chrome atau browser modern
3.3 Struktur Folder
Sistem-Data-Mahasiswa/
├── index.html
├── package.json
├── vite.config.js
├── README.md
└── src/
├── main.jsx
├── App.jsx
├── styles.css
├── components/
│ └── Layout.jsx
└── pages/
├── Dashboard.jsx
├── Mahasiswa.jsx
├── FormMahasiswa.jsx
├── Profil.jsx
└── NotFound.jsx
3.4 Tahapan Implementasi
5. Menyiapkan project ReactJS menggunakan Vite.
6. Memasang dependensi react-router-dom.
7. Membuat struktur folder components dan pages.
8. Membuat Layout sebagai kerangka halaman dan navigasi.
9. Membuat state daftar mahasiswa pada App.jsx.
10. Membuat halaman Dashboard, Data Mahasiswa, Form, Profil, dan 404.
11. Menerapkan routing menggunakan Routes dan Route.
12. Menerapkan tambah, edit, hapus, dan pencarian.
13. Menyimpan data ke Local Storage menggunakan useEffect.
14. Menguji navigasi, form, pencarian, CRUD, dan halaman 404.
3.5 Menjalankan Aplikasi
Setelah source code diekstrak, buka terminal pada folder project lalu jalankan npm
install. Selanjutnya jalankan npm run dev. Vite akan menampilkan alamat lokal aplikasi.
Untuk build produksi, jalankan npm run build.
BAB IV HASIL DAN PEMBAHASAN
4.1 Hasil Aplikasi
Aplikasi menghasilkan antarmuka Sistem Data Mahasiswa dengan navigasi
antarhalaman. Dashboard menampilkan jumlah mahasiswa dan jumlah jurusan.
Halaman Data Mahasiswa menyediakan tabel, pencarian, edit, dan hapus. Form
digunakan untuk menambah dan memperbarui data. Profil menjelaskan teknologi yang
digunakan dan halaman 404 menangani URL yang tidak tersedia.
4.2 Dashboard
Dashboard menjadi halaman awal aplikasi. Nilai total mahasiswa dan jumlah jurusan
diperoleh dari state utama. Tombol navigasi mengarahkan pengguna ke data atau form.
4.3 Data Mahasiswa
Halaman Data Mahasiswa menampilkan data dalam bentuk tabel. Pencarian
menggunakan useMemo untuk menyaring data berdasarkan NIM, nama, atau jurusan.
Tombol Edit mengarah ke form berdasarkan ID, sedangkan Hapus meminta konfirmasi
sebelum mengubah state.
4.4 Form Tambah dan Edit
Form menggunakan controlled input sehingga nilai field mengikuti state. Validasi dasar
memastikan NIM dan nama tidak kosong. Mode tambah dan edit menggunakan
component yang sama sehingga kode tidak perlu diduplikasi.
4.5 Profil dan 404
4.6 Analisis Implementasi
Penerapan component membuat struktur aplikasi lebih terorganisasi. State utama
ditempatkan pada App.jsx sehingga data dapat diberikan kepada halaman yang
membutuhkannya melalui props. Routing memisahkan fungsi setiap halaman tanpa
membuat seluruh aplikasi menjadi satu file. Penggunaan satu FormMahasiswa untuk
mode tambah dan edit mengurangi duplikasi kode.
Dari sisi performa, pencarian menggunakan useMemo dan daftar menggunakan key
yang stabil. Walaupun aplikasi masih berskala kecil, pola tersebut memberikan dasar
yang baik untuk pengembangan lebih lanjut. Untuk aplikasi produksi dengan jumlah data
besar, penyimpanan sebaiknya dipindahkan dari Local Storage ke database melalui API
dan proses pencarian dapat dilakukan pada sisi server.
4.7 Pengujian Fungsional
No
Skenario
1
2
Membuka /
Membuka
/mahasiswa
Menambah
mahasiswa
Mengedit
mahasiswa
Menghapus
mahasiswa
Mencari data
3
4
5
6
7
Membuka URL
tidak dikenal
Hasil yang
Diharapkan
Dashboard tampil
Tabel mahasiswa
tampil
Data baru masuk
ke tabel
Data berubah
sesuai input
Data terhapus
setelah konfirmasi
Tabel menampilkan
data yang sesuai
kata kunci
Halaman 404
tampil
Status
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan
Sistem Data Mahasiswa berhasil dirancang sebagai aplikasi web sederhana
menggunakan ReactJS. Aplikasi menerapkan component, state, props, routing,
controlled form, Local Storage, pencarian, serta operasi tambah, edit, dan hapus data.
Struktur halaman yang dipisahkan berdasarkan fungsi membuat kode lebih mudah
dipahami dan dikembangkan.
Hasil implementasi menunjukkan bahwa ReactJS dapat digunakan untuk membangun
antarmuka web dinamis dengan pengelolaan state dan navigasi yang terstruktur.
Penerapan useMemo, penggunaan component yang terpisah, dan penggunaan key
pada daftar menjadi bentuk optimasi sederhana yang sesuai dengan skala aplikasi.
5.2 Saran
Pengembangan berikutnya dapat menambahkan backend dan database agar data
tersimpan secara terpusat. Aplikasi juga dapat dilengkapi autentikasi, pagination,
validasi yang lebih kuat, notifikasi, serta pengujian otomatis. Jika jumlah data semakin
besar, proses pencarian dan pengelolaan data dapat dipindahkan ke API agar lebih
efisien.
DAFTAR PUSTAKA





Meta Platforms, Inc. (n.d.). React documentation. https://react.dev/
Vite Team. (n.d.). Vite documentation. https://vite.dev/
React Router. (n.d.). React Router documentation. https://reactrouter.com/
Mozilla Developer Network. (n.d.). Window: localStorage property.
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
Mozilla Developer Network. (n.d.). JavaScript guide. https://developer.mozilla.org/enUS/docs/Web/JavaScript/Guide
LAMPIRAN
Lampiran A — Source Code
Source code lengkap disertakan dalam file ZIP terpisah: Sistem-Data-MahasiswaReactJS.zip.
Lampiran B — Dokumentasi Visual
Gambar pada Bab IV merupakan mockup/screenshot dokumentasi visual yang
disiapkan berdasarkan tampilan yang diharapkan dari source code. Setelah
menjalankan aplikasi di komputer, ambil screenshot dari browser untuk mengganti
gambar dokumentasi tersebut jika dosen mensyaratkan screenshot runtime.
Lampiran C — Cara Menjalankan
1. Ekstrak ZIP project.
2. Buka terminal pada folder project.
3. Jalankan npm install.
4. Jalankan npm run dev.
5. Buka URL lokal yang diberikan Vite.
6. Uji semua menu dan fitur.
Download