Teknologi
Back-End dan Arsitektur Web
Back
End
Back-end adalah bagian dari pengembangan aplikasi
yang bekerja di sisi server untuk menangani logika bisnis, pengelolaan data,
dan komunikasi antar server. Sederhananya, back-end bertanggung jawab atas
segala proses yang terjadi di belakang layar untuk mendukung fungsi aplikasi
agar berjalan dengan baik dan sesuai permintaan pengguna.
Contoh peran back-end dalam aplikasi web:
- Mengelola
data yang disimpan dalam database.
- Memastikan
keamanan data melalui autentikasi pengguna.
- Memproses
permintaan pengguna, seperti menyimpan atau menampilkan data tertentu.
Perbedaan antara Front-End dan Back-End:
- Front-End:
Bagian aplikasi yang terlihat dan dapat digunakan langsung oleh pengguna
(disebut juga client-side).
- Back-End:
Bagian aplikasi yang bekerja di server dan tidak terlihat oleh pengguna.
Ini termasuk server, database, dan API.
Komponen Utama Teknologi Back-End
- Server:
Tempat penyimpanan file aplikasi dan data yang mengelola permintaan klien.
- Database:
Tempat penyimpanan data aplikasi (misalnya, data pengguna, produk,
transaksi).
- API:
Interface yang memungkinkan komunikasi antara front-end dan back-end.
- Server-Side
Programming: Bahasa pemrograman yang digunakan untuk menulis kode di
sisi server.
Bahasa Pemrograman untuk Back-End
- PHP:
Sering digunakan di berbagai aplikasi web, terutama CMS seperti WordPress.
- Python
(Django, Flask): Memiliki sintaks yang mudah dipelajari, dengan Django
sebagai framework populer.
- JavaScript
(Node.js): Memungkinkan JavaScript untuk berjalan di server dengan
performa yang baik.
- Ruby
(Ruby on Rails): Fokus pada kemudahan dan produktivitas pengembang.
- Java:
Banyak digunakan di aplikasi perusahaan besar dan berbasis Android.
- C#
(.NET Core): Sangat cocok untuk aplikasi berbasis Windows dan sering
digunakan dalam skala besar.
Contoh Framework
Back-End
- Express.js
(Node.js): Minimalis, fleksibel, dan mendukung aplikasi server-side
JavaScript.
- Django
(Python): Framework "baterai terpasang" dengan banyak fitur
bawaan.
- Laravel
(PHP): Memiliki fitur lengkap untuk pengembangan aplikasi web PHP
dengan struktur yang rapi.
- Spring
Boot (Java): Memudahkan pengembangan aplikasi Java dengan konfigurasi
minimal.
- ASP.NET
Core (C#): Dikembangkan oleh Microsoft dan mendukung aplikasi
cross-platform.
Database yang Sering Digunakan
- SQL
Databases: MySQL, PostgreSQL, SQL Server – berorientasi pada data
terstruktur.
- NoSQL
Databases: MongoDB, Cassandra – cocok untuk data tidak terstruktur,
cocok untuk aplikasi besar atau real-time.
Contoh Studi Kasus
E-commerce Platform
- Fitur
Utama: Pengelolaan produk, keranjang belanja, dan transaksi.
- Bahasa
& Framework: PHP dengan Laravel atau Python dengan Django.
- Database:
MySQL untuk data produk dan pengguna.
- API:
RESTful API untuk menghubungkan front-end dengan back-end.
Peranan
Back-End dalam Arsitektur Web
Dalam sebuah aplikasi web, back-end memiliki peranan yang
penting untuk menjalankan berbagai logika dan alur yang kompleks. Berikut
adalah beberapa peran utama dari back-end dalam arsitektur web:
a. Mengelola Data dengan Database
Back-end terhubung dengan database untuk menyimpan dan
mengambil data yang dibutuhkan oleh aplikasi. Contoh data yang sering dikelola
adalah:
- Informasi
pengguna (username, password, profil)
- Data
produk atau layanan (dalam aplikasi e-commerce)
- Konten
artikel atau berita (dalam portal berita)
Teknologi database yang umum digunakan:
- SQL
Databases: Seperti MySQL, PostgreSQL, yang menyimpan data dalam bentuk
tabel.
- NoSQL
Databases: Seperti MongoDB, yang menyimpan data dalam bentuk dokumen
JSON.
b. Proses Logika Bisnis
Logika bisnis adalah aturan dan proses yang mengatur
bagaimana aplikasi bekerja. Misalnya:
- Menghitung
harga akhir setelah diskon dan pajak dalam aplikasi e-commerce.
- Memverifikasi
status pembayaran sebelum menampilkan informasi layanan yang aktif.
c. Otentikasi dan Keamanan Data
Back-end bertanggung jawab atas keamanan data pengguna
dengan menerapkan sistem autentikasi, seperti:
- Token-based
Authentication (menggunakan JSON Web Token atau JWT).
- OAuth
untuk akses terhubung ke aplikasi pihak ketiga (misalnya login dengan akun
Google). Ini memastikan bahwa hanya pengguna yang sah yang dapat mengakses
data dan fungsi tertentu.
d. Menyediakan API untuk Berkomunikasi dengan Front-End
Back-end menyediakan Application Programming Interface
(API), yaitu perantara yang memungkinkan front-end untuk mengambil atau
mengirim data ke server. API biasanya disusun dalam bentuk:
- RESTful
API: Menggunakan HTTP untuk komunikasi dan sering kali bekerja dengan
data JSON.
- GraphQL:
Membolehkan klien untuk menentukan jenis data yang dibutuhkan dalam satu
permintaan.
Arsitektur
Web dan Hubungan antara Front-End dan Back-End
Arsitektur web adalah kerangka yang mendefinisikan
cara komponen back-end dan front-end berinteraksi dalam sebuah aplikasi web.
Arsitektur ini melibatkan:
- Client
(Browser): Di mana pengguna mengakses aplikasi (front-end).
- Server:
Di mana logika aplikasi dijalankan dan data diolah (back-end).
- Database:
Penyimpanan data aplikasi.
Interaksi antara Front-End dan Back-End:
Front-end mengirim permintaan ke back-end untuk mengambil
atau memanipulasi data. Proses ini terjadi dalam beberapa langkah, yaitu:
- Permintaan
(Request) dari Front-End ke Back-End
Ketika pengguna melakukan tindakan, seperti mengklik tombol “Lihat Produk”, front-end akan mengirim permintaan HTTP ke back-end. - Pemrosesan
di Back-End
Back-end menerima permintaan tersebut dan menjalankan logika bisnis yang sesuai, misalnya mengambil daftar produk dari database. - Pengiriman
Balasan (Response) dari Back-End ke Front-End
Setelah data diproses, back-end mengirim respons berisi data (misalnya daftar produk) kembali ke front-end untuk ditampilkan ke pengguna.
Contoh jenis permintaan HTTP yang digunakan:
- GET:
Untuk mengambil data.
- POST:
Untuk menambah data baru.
- PUT/PATCH:
Untuk memperbarui data.
- DELETE:
Untuk menghapus data.
Contoh Skenario Interaksi Back-End dan Front-End
Misalkan kita memiliki aplikasi e-commerce sederhana dengan
fitur pencarian produk. Ketika pengguna mengetik kata kunci produk dan menekan
tombol "Cari", berikut langkah yang terjadi:
- Front-End:
- Front-end
mengambil input kata kunci dari pengguna.
- Front-end
mengirim permintaan (request) GET ke endpoint API di back-end,
misalnya /api/products?query=keyword.
- Back-End:
- Back-end
menerima permintaan, memeriksa apakah query ada di database.
- Jika
data produk ditemukan, back-end mengirim hasilnya kembali ke front-end
dalam format JSON.
- Kembali
ke Front-End:
- Front-end
menerima data produk dari back-end.
- Front-end
menampilkan daftar produk ke pengguna.
55 komentar
komentarNama : Wisnu
ReplyNRP : 05111740000170
Kelas: PWEB C
Link : linknya
Nama : Shawn Timothy Mulya Putra
ReplyNRP : 05111740000095
Kelas: PWEB C
Link : form tagihan
Nama : Yuki Yanuar Ratna
ReplyNRP : 05111740000023
Kelas : PWEB C
Link : Form Pembayaran Air
Nama : Christine Amelia
ReplyNRP : 05111740000174
Kelas : PWEB C
Link : http://chrstnamelia.blogspot.com/2018/10/tugas-pweb-tugas-rumah-4.html
Nama : Bobbi Aditya
ReplyNRP : 05111740000099
Kelas : PWEB C
Link : ini linknya
Nama : Zaky Thariq H
ReplyNRP : 05111740000140
Kelas : PWEB C
Link : Listrik Donggala
Nama : Ghannie Wijaya
ReplyNRP : 05111640000048
Kelas : PWEB C
Link : Formulir Pembayaran
Nama : Reza Adipatria Maranatha
ReplyNRP : 05111740000186
Kelas : PWEB C
Link : Form Tagihan
Nama: Ayu Mutiara Sari
ReplyNRP: 05111740000149
Kelas: PWEB C
Link: Form Tagihan
Nama : Jeremy Vijay Wongso
ReplyNRP : 05111740000062
Kelas : PWEB C
Link : Form Tagihan
Nama : Ersad Ahmad Ishlahuddin
ReplyNRP : 05111740000016
Kelas : PWEB C
Link : Form Tagihan
Nama : Zico Ritonda Bahen
ReplyNRP : 05111740000064
Kelas : P WEB C
Link : Link
Nama : Ifta Jihan N
ReplyNRP : 05111740000034
Kelas : PWEB C
Link : Link Tugas
Nama : Hafidz Firman Asqalany
ReplyNRP : 05111740000195
Kelas: PWEB C
link :form-pembayaran-listrik
Nama : Yusran Hadi
ReplyNRP : 05111740000105
Kelas: PWEB C
link Bayar Listrik
Nama: Indira Nursyamsina Hazimi
ReplyNRP: 05111740000082
Kelas: PWEB C
Link: Form Pembayaran
Nama: Ahmad Syauqi
ReplyNRP: 05111740000093
Kelas: PWEB C
Link: Form Pembayaran
Nama : Karina Soraya P
ReplyNRP : 05111740000003
Kelas : PWEB - C
Link : PDAM
Nama: Faqih Fathan Irfani
ReplyNRP : 05111740000175
Kelas : PWEB-C
LINK : LINK
Nama: Carlo Win Marshal
ReplyNRP : 05111740000098
Kelas : PWEB-C
LINK : http://enlightechtc.blogspot.com/2018/10/pweb-c-php-form.html
Nama : Bastian Farandy
ReplyNRP : 05111740000190
Kelas : PWEB C
Link : Form Tagihan
Nama : Anggar Wahyu Nur Wibowo
ReplyNRP : 05111740000052
Kelas : PWEB C
Link : Payment Processing
Nama : Adzra Zaky Haura
ReplyNRP : 05111740000037
Kelas : PWEB C
Link : Link Blog
Nama : Kevin Ashil Faadilah
ReplyNRP : 05111740000178
Kelas : PWEB C
Link : Payment Form
Nama: Donny Fitrado
ReplyNRP: 05111740000171
Kelas: PWeb C
Link: Link Tugas
Nama : Muhammad Harits Fadlilah
ReplyNRP : 05111740000102
Kelas : Pemrograman Web C
Link : Form Pembayaran PDAM
nama : Nandha Himawan
ReplyNRP : 05111740000180
Kelas : PWEB C
Link : link pembayaran
Nama : Zaky Thariq H
ReplyNRP : 05111740000140
Kelas : Pemrograman Web C
Link : link bayar air
Nama : Fitrah Arie Ramadhan
ReplyNRP : 05111940000025
Kelas : PWEB D
Tahun : 2021
Link Blogspot : Dokumentasi Blog
Link Website : Website Pendaftaraan Siswa
Nama : Muhammad Arif Faizin
ReplyNRP : 05111940000060
Kelas : PWEB D
Tahun : 2021
Link Blogspot : Dokumentasi Blog
Nama : Muhammad Naufaldillah
ReplyNRP : 05111940000202
Kelas : PWEB A
Tahun : 2021
Link Blogspot: Link Blog
Nama : Christopher Baptista
ReplyNRP : 05111940000001
Kelas : PWEB-D
Tahun : 2021
Link Blog : Blog Here
Link Web : ITS Coding
Nama : I Kadek Agus Ariesta Putra
ReplyNRP : 05111940000105
Kelas : PWEB-D
Tahun : 2021
Link Hasil Tugas : Pendaftaran Sekolah
Link Dokumentasi Tugas : Klik disini
Nama: Farhan Arifandi
ReplyNRP: 05111940000061
Kelas: PWEB B 2021
Link Tugas: Pendaftaran Siswa Baru
Link Blog: Blog post
Nama : Ramadhan Arif Hardijansyah
ReplyNRP : 05111940000162
Kelas : PWEB A
Tahun : 2021
Link Blogspot : Dokumentasi Blog
Nama : Junaedi Akbar
ReplyNRP : 05111940000041
Kelas : PWEB B
Tahun : 2021
Link Blogspot :Dokumentasi Blog
Nama : Timotius Wirawan
ReplyNRP : 05111940000161
Kelas : PWEB B
Tahun : 2021
Dokumentasi Blogspot : Blogspot
Link Web: Website
Nama : Julietta Anastasia Rodiah Boru Panjaitan
ReplyNRP : 05111940000033
Kelas : PWEB D 2021
Link : Dokumentasi Blog & Website
Nama : Muhammad Farhan Haykal
ReplyNRP : 05111940000141
Kelas : PWEB D
Tahun : 2021
Link :
Blog
Website
Nama : Dwinanda Bagoes Ansori
ReplyNRP : 05111940000010
Kelas : PWeb - B
Tahun : 2021
Link blog : blog
Link web : web
Nama : Tsania Az Zahra
ReplyNRP : 05111940000032
Kelas : PWEB-D
Link Dokumentasi : Dokumentasi
Nama : Muhammad Raihan
ReplyNRP : 05111940000100
Kelas : PWEB - D
Tahun : 2021
Link blog : blog
Link web : web
Nama : Christoffer Ivano
ReplyNRP : 05111940000091
Kelas : PWEB A 2021
Link blog : blog
Link web : web
Nama : Daffa Amanullah Setyawan
ReplyNRP : 05111940000071
Kelas : PWEB D
Tahun : 2021
Link : Blog
Nama : Muhammad Subhan
ReplyNRP : 05111940000204
Kelas : PWEB D
Dokumentasi : Dokumentasi
Nama : Fais Rafii Akbar Hidiya
ReplyNRP : 05111940000026
Kelas : PWEB D
Tahun : 2021
Link Blogspot : Dokumentasi
Nama: Ishaq Adheltyo
ReplyNRP: 05111940000167
Kelas: PWEB D
Tahun : 2021
Link Blog: Blog
Nama : Andymas Narendra Bagaskara
ReplyNRP : 05111940000192
Kelas : PWEB D
Link Blog : Dokumentasi
Nama : Arkan Aulia Farhan
ReplyNRP : 05111940000128
Kelas : PWEB D
Link Blog : blog
Nama : Rahadian Adjie Mahesa
ReplyNRP : 05111940000221
Kelas : PWEB D
Tahun : 2021
Link Blog : Dokumentasi
Nama : Alfarabi Muzli
ReplyNRP : 05111940000039
Kelas: PWEB D
Tahun: 2021
Blog : Tugas
Nama : Ifanu Antoni
ReplyNRP : 05111940000064
Kelas: PWEB D
Tahun: 2021
Blog : blog