Evaluasi Akhir Semester
Nama : Ike Norfaize
NRP : 5025221199
Kelas : PWeb E
1. Apa yang dimaksud dengan Back - End. Jelaskan ruang lingkup pekerjaan Back-End Engineer dan skill yang dibutuhkan.
Jawab :
Pengertian Back-End
Back-End adalah bagian dari sebuah sistem atau aplikasi yang tidak langsung terlihat oleh pengguna (user). Back-End bertanggung jawab atas logika aplikasi, pengolahan data, komunikasi dengan database, dan pengelolaan server untuk memastikan aplikasi berjalan dengan lancar. Back-End biasanya bekerja di "belakang layar," menangani semua proses yang terjadi setelah input diberikan oleh pengguna di antarmuka pengguna (front-end).
Ruang Lingkup Pekerjaan Back-End Engineer
Seorang Back-End Engineer bertugas membangun dan memelihara infrastruktur logika aplikasi, memastikan integrasi yang lancar antara front-end dan server, serta mendukung kebutuhan data dari aplikasi. Berikut adalah ruang lingkup pekerjaannya:
-
Pengembangan dan Pemeliharaan API (Application Programming Interface):
- Membuat endpoint untuk komunikasi antara front-end dan server.
- Mengimplementasikan protokol REST atau GraphQL untuk transfer data.
-
Manajemen Database:
- Merancang, membuat, dan memelihara database.
- Menulis query SQL atau mengelola database NoSQL.
- Menjamin efisiensi dan kecepatan akses data.
-
Pengelolaan Server dan Infrastruktur:
- Menyiapkan server untuk menjalankan aplikasi.
- Mengoptimalkan server untuk kecepatan dan keamanan.
- Memantau uptime dan menangani skalabilitas.
-
Keamanan:
- Mengamankan data pengguna dengan enkripsi.
- Mengimplementasikan otentikasi dan otorisasi.
- Menangani celah keamanan seperti SQL Injection, XSS, atau serangan DDoS.
-
Integrasi Layanan Pihak Ketiga:
- Menghubungkan aplikasi dengan layanan eksternal seperti pembayaran, email, atau media sosial.
-
Pengujian dan Debugging:
- Mengidentifikasi dan memperbaiki bug di sisi server.
- Melakukan tes kinerja untuk memastikan aplikasi mampu menangani lalu lintas yang tinggi.
-
Dokumentasi:
- Menulis dokumentasi API dan infrastruktur Back-End.
Skill yang Dibutuhkan Back-End Engineer
-
Penguasaan Bahasa Pemrograman Back-End:
- Bahasa populer: Python (Django, Flask), Java (Spring), JavaScript (Node.js), Ruby (Ruby on Rails), PHP (Laravel), atau Go.
-
Pemahaman Database:
- Relasional: MySQL, PostgreSQL, SQLite.
- Non-relasional: MongoDB, Redis, Cassandra.
-
Pemahaman API:
- RESTful API, GraphQL, dan WebSocket.
-
Pengetahuan Keamanan:
- Otentikasi (JWT, OAuth).
- HTTPS, SSL/TLS, enkripsi data.
-
Manajemen Server dan DevOps:
- Pengalaman dengan server (Apache, Nginx).
- Familiar dengan layanan cloud (AWS, Azure, GCP).
- Tools: Docker, Kubernetes, Jenkins.
-
Penggunaan Framework dan Tools:
- Framework seperti Express.js, Django, Spring Boot.
- Penggunaan alat pengembangan seperti Git, Postman, atau Swagger.
-
Pemahaman Arsitektur Aplikasi:
- Monolitik vs Microservices.
- Penggunaan caching (Redis, Memcached).
-
Soft Skills:
- Problem-solving yang kuat.
- Kemampuan berkomunikasi dengan tim front-end dan produk.
- Adaptasi terhadap teknologi baru.
2. Buatlah Rancangan aplikasi yang di ambil dalam dalam Fina Project.
Jawab :
3. Deskripsikan kegunaan dan ruang lingkup aplikasi
Jawab :
1. Deskripsi Kegunaan
Aplikasi PHP Bookstore Website adalah sistem berbasis web yang dirancang untuk memenuhi kebutuhan pengguna dalam membeli buku secara online. Dengan aplikasi ini, pengguna dapat mencari, memilih, dan membeli buku tanpa perlu datang ke toko fisik. Admin juga memiliki kemampuan untuk mengelola stok buku, kategori, dan pesanan secara efisien.
Aplikasi ini cocok untuk:
- Penjual buku: Mengelola inventaris buku, memproses pesanan, dan melacak transaksi.
- Pembeli buku: Memesan buku dengan mudah dari rumah dan melihat rekomendasi buku populer.
2. Ruang Lingkup Aplikasi
Aplikasi ini terdiri dari dua jenis pengguna utama: Customer (pengguna biasa) dan Admin (pengelola toko). Berikut adalah rincian ruang lingkup aplikasi:
2.1. Untuk Pengguna (Customer)
Fitur Utama:
-
Pendaftaran dan Login:
- Pengguna dapat membuat akun baru untuk akses personalisasi.
- Login menggunakan email dan password.
-
Pencarian Buku:
- Browsing katalog buku berdasarkan kategori.
- Pencarian buku berdasarkan nama, penulis, atau genre.
-
Detail Buku:
- Melihat detail buku seperti judul, penulis, deskripsi, harga, stok, dan ulasan.
-
Keranjang Belanja:
- Menambahkan buku ke keranjang belanja.
- Mengelola jumlah buku dalam keranjang.
- Melakukan checkout untuk menyelesaikan pembelian.
-
Riwayat Pembelian:
- Melihat pesanan yang telah selesai.
- Memantau status pesanan (diproses, dikirim, selesai).
2.2. Untuk Admin
Fitur Utama:
-
Manajemen Buku:
- Menambah, mengedit, atau menghapus buku.
- Mengunggah gambar buku dan mengatur stok.
-
Manajemen Kategori:
- Membuat kategori baru (contoh: Fiksi, Non-Fiksi, Teknologi).
- Menghubungkan buku ke kategori yang sesuai.
-
Manajemen Pesanan:
- Melihat semua pesanan dari pengguna.
- Mengubah status pesanan (pending, processed, shipped, completed).
-
Manajemen Pengguna:
- Melihat daftar pengguna yang terdaftar.
- Menonaktifkan atau mengaktifkan akun pengguna jika diperlukan.
-
Laporan dan Analisis (Opsional):
- Menyediakan data penjualan dan performa buku.
- Melihat buku dengan penjualan terbaik.
3. Kegunaan Khusus
-
Kemudahan untuk Customer:
- Memudahkan akses ke katalog buku tanpa batasan lokasi.
- Mengurangi waktu dan biaya untuk mendapatkan buku.
-
Efisiensi untuk Admin:
- Mempercepat pengelolaan stok dan pesanan tanpa sistem manual.
- Menyediakan data terstruktur untuk analisis penjualan.
4. Potensi Pengembangan
- Integrasi Pembayaran Online:
- Menambahkan gateway pembayaran (PayPal, Midtrans, atau Stripe) untuk transaksi langsung.
- Sistem Rekomendasi Buku:
- Memberikan rekomendasi berdasarkan riwayat pencarian atau pembelian pengguna.
- Multibahasa dan Multivaluta:
- Mendukung bahasa dan mata uang yang berbeda untuk memperluas pasar.
- Aplikasi Mobile:
- Membuat aplikasi versi Android/iOS untuk aksesibilitas lebih tinggi.
4. Implementasikan aplikasi yang telah di desain dengan menggunakan teknologi web tanpa framework
Jawab :
Komentar
Posting Komentar