Posted June 12th 2023

Evaluasi Akhir Semester PWEB 2023

 Rayssa Ravelia / 5025211219 / PWEB (A)

1. Jelaskan perbedaan front end dan Back End

Frontend dan backend adalah dua komponen utama dalam pengembangan perangkat lunak atau aplikasi web. Berikut adalah penjelasan perbedaan antara frontend dan backend:

Frontend:

Frontend adalah bagian dari aplikasi yang berinteraksi langsung dengan pengguna. Ini mencakup segala sesuatu yang terlihat oleh pengguna dan dengan apa yang mereka dapat berinteraksi di browser atau antarmuka pengguna. Tugas utama frontend adalah menyajikan informasi secara visual dan memastikan pengalaman pengguna yang baik. Beberapa teknologi utama yang digunakan dalam pengembangan frontend adalah HTML (HyperText Markup Language) untuk struktur, CSS (Cascading Style Sheets) untuk tampilan dan desain, serta JavaScript untuk interaksi dan fungsionalitas.

Beberapa tugas dan tanggung jawab dalam pengembangan frontend termasuk:


Backend:

Backend adalah bagian aplikasi yang berjalan di sisi server dan mengelola logika bisnis, pemrosesan data, dan menyediakan API (Application Programming Interface) yang diperlukan untuk komunikasi dengan frontend. Backend bertanggung jawab atas pemrosesan permintaan dari frontend, mengakses dan memanipulasi database, serta menyediakan respons yang diperlukan untuk memenuhi permintaan tersebut. Bahasa pemrograman seperti Python, Java, Ruby, PHP, dan JavaScript (Node.js) sering digunakan untuk pengembangan backend.

Beberapa tugas dan tanggung jawab dalam pengembangan backend termasuk:


Perbedaan utama antara frontend dan backend:

Frontend berhubungan langsung dengan pengguna dan bertanggung jawab atas tampilan dan interaksi dengan aplikasi, sementara backend berjalan di sisi server dan mengelola logika bisnis serta pemrosesan data.

Frontend menggunakan bahasa markup (HTML) untuk struktur, stylesheet (CSS) untuk tampilan, dan JavaScript untuk interaksi, sedangkan backend menggunakan bahasa pemrograman seperti Python, Java, atau JavaScript (Node.js) untuk logika dan pemrosesan data.

Frontend fokus pada tampilan dan interaksi pengguna, sedangkan backend fokus pada pemrosesan data, validasi, dan pengelolaan sumber daya server.

Frontend dan backend bekerja sama dalam satu aplikasi untuk menyediakan pengalaman yang lengkap bagi pengguna.

2. Kompetensi apa saja yang harus dikuasai oleh Front End Engineer, dan Back End Developer?

Frontend Engineer:

Seorang Frontend Engineer harus menguasai beberapa kompetensi utama berikut:

1. HTML (HyperText Markup Language): Memahami dan mampu menggunakan markup language untuk membangun struktur halaman web.

2. CSS (Cascading Style Sheets): Menguasai CSS untuk mengatur tampilan dan desain halaman web, termasuk pemilihan warna, layout, responsivitas, dan animasi.

3. JavaScript: Menguasai bahasa pemrograman JavaScript untuk membuat interaksi dan fungsionalitas yang dinamis pada halaman web, seperti manipulasi DOM, penggunaan event, dan pengiriman permintaan ke server.

4. Responsive Web Design: Memahami prinsip-prinsip desain responsif untuk memastikan tampilan yang baik pada berbagai perangkat dan ukuran layar.

5. Framework Frontend: Pengalaman dalam menggunakan framework frontend populer seperti React, Angular, atau Vue.js untuk membangun aplikasi web yang kompleks dan mudah dikelola.

6. Pengujian (Testing): Memiliki pemahaman tentang teknik pengujian frontend seperti pengujian unit, pengujian integrasi, dan pengujian fungsional untuk memastikan kualitas dan keandalan aplikasi.

7. Version Control: Menggunakan sistem kontrol versi seperti Git untuk mengelola kode sumber dan kolaborasi dengan pengembang lain.


Back End Developer:

Seorang Back End Developer harus menguasai beberapa kompetensi utama berikut:

1. Bahasa Pemrograman: Menguasai satu atau lebih bahasa pemrograman yang digunakan dalam pengembangan backend, seperti Python, Java, Ruby, PHP, atau JavaScript (Node.js).

2. Framework Backend: Pengalaman dalam menggunakan framework backend seperti Django (Python), Spring (Java), Ruby on Rails (Ruby), atau Express.js (Node.js) untuk membangun aplikasi backend yang efisien dan stabil.

3. Database: Memahami konsep dasar database dan memiliki keahlian dalam mengelola dan memanipulasi data menggunakan bahasa query seperti SQL (Structured Query Language).

4. API (Application Programming Interface): Memahami konsep dasar dan mampu merancang dan mengimplementasikan API untuk menyediakan akses dan komunikasi antara frontend dan backend.

5. Keamanan: Memiliki pemahaman tentang praktik keamanan dalam pengembangan backend, seperti pengelolaan otentikasi, otorisasi, enkripsi data, dan pengendalian akses.

6. Pengoptimalan Kinerja: Mampu melakukan pengoptimalan kinerja dan skalabilitas pada aplikasi backend, termasuk penggunaan cache, pengindeksan database, dan peningkatan performa server.

7. Pengujian (Testing): Memiliki pemahaman tentang teknik pengujian backend seperti pengujian unit, pengujian integrasi, dan pengujian beban untuk memastikan kualitas dan keandalan aplikasi.

8. Deployment dan Infrastruktur: Familiar dengan konsep dan alat-alat untuk deployment aplikasi backend, termasuk penyebaran di lingkungan produksi dan pengelolaan infrastruktur server.


Tentu saja, selain kompetensi-kompetensi ini, keterampilan analitis, pemecahan masalah, kerja tim, dan kemampuan komunikasi yang baik juga sangat penting untuk pengembang frontend dan backend.

3. Buatlah struktur tabel dari aplikasi

Conceptual Data Model

Physical Data Model

4. Desainkan bentuk masing-masing menu!

5. Implementasikan seluruh modul!

Untuk final project, saya dan kelompok saya membuat website pemesanan tiket pesawat online. Di bawah ini link implementasi source code dan juga link deploynya:

Github : link github

Deploy web : link deploy

6. Buat video presentasi dan dokumentasikan keseluruhan program ke dalam blog

Berikut ini adalah video presentasi kelompok saya dan penjelasan seluruh kode yang ada di implementasi: