Thursday, April 20, 2017

Backend dan PHP-Hypertext Prepocessor


Aspek Front-End Back-End
Definisi Bagian dari website yang dilihat dan diinteraksi oleh pengguna (user interface) Bagian dari website yang mengelola logika, database, dan server
Tujuan Memberikan tampilan dan pengalaman pengguna yang baik Mengelola data, autentikasi, dan logika bisnis
Bahasa Pemrograman HTML, CSS, JavaScript PHP, Python, Java, Ruby, Node.js
Framework/Library React, Angular, Vue.js, Bootstrap Laravel, Express.js, Django, Spring Boot
Peran Utama Mendesain layout, warna, tombol, navigasi Mengatur alur data, koneksi ke database
Berjalan di Browser pengguna Server
Alat Pengembangan Browser DevTools, Code Editor, Figma Server, API tools (Postman), Database tools
Contoh Aktivitas Membuat tampilan login, halaman produk Memproses login, menyimpan data produk ke database

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:

  1. 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.
  2. Pemrosesan di Back-End
    Back-end menerima permintaan tersebut dan menjalankan logika bisnis yang sesuai, misalnya mengambil daftar produk dari database.
  3. 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:
    1. Front-end mengambil input kata kunci dari pengguna.
    2. Front-end mengirim permintaan (request) GET ke endpoint API di back-end, misalnya /api/products?query=keyword.
  • Back-End:
    1. Back-end menerima permintaan, memeriksa apakah query ada di database.
    2. Jika data produk ditemukan, back-end mengirim hasilnya kembali ke front-end dalam format JSON.
  • Kembali ke Front-End:
    1. Front-end menerima data produk dari back-end.
    2. Front-end menampilkan daftar produk ke pengguna.

PHP


PHP adalah singkatan dari "PHP: Hypertext Prepocessor", yaitu bahasa pemrograman yang digunakan secara luas untuk penanganan pembuatan dan pengembangan sebuah situs web dan bisa digunakan bersamaan dengan HTML. PHP diciptakan oleh Rasmus Lerdorf pertama kali tahun 1994. 

Pada awalnya PHP adalah singkatan dari "Personal Home Page Tools". Selanjutnya diganti menjadi FI ("Forms Interpreter"). Sejak versi 3.0, nama bahasa ini diubah menjadi "PHP: Hypertext Prepocessor" dengan singkatannya "PHP". Berdasarkan survey Netcraft pada bulan Desember 1999, lebih dari sejuta website menggunakan PHP, di antaranya adalah NASA, Mitsubishi, dan RedHat.

PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client).

Pengguna PHP dari semua website dapat dilihat di bawah ini :




Materi



Php 1 from Fajar Baskoro


Buku



Studi kasus Aplikasi pendaftaran SBMPTN




Absensi






Latihan



Referensi :




55 comments:

  1. Nama : Wisnu
    NRP : 05111740000170
    Kelas: PWEB C
    Link : linknya

    ReplyDelete
  2. Nama : Shawn Timothy Mulya Putra
    NRP : 05111740000095
    Kelas: PWEB C
    Link : form tagihan

    ReplyDelete
  3. Nama : Yuki Yanuar Ratna
    NRP : 05111740000023
    Kelas : PWEB C
    Link : Form Pembayaran Air

    ReplyDelete
  4. Nama : Christine Amelia
    NRP : 05111740000174
    Kelas : PWEB C
    Link : http://chrstnamelia.blogspot.com/2018/10/tugas-pweb-tugas-rumah-4.html

    ReplyDelete
  5. Nama : Bobbi Aditya
    NRP : 05111740000099
    Kelas : PWEB C
    Link : ini linknya

    ReplyDelete
  6. Nama : Zaky Thariq H
    NRP : 05111740000140
    Kelas : PWEB C
    Link : Listrik Donggala

    ReplyDelete
  7. Nama : Ghannie Wijaya
    NRP : 05111640000048
    Kelas : PWEB C
    Link : Formulir Pembayaran

    ReplyDelete
  8. Nama : Reza Adipatria Maranatha
    NRP : 05111740000186
    Kelas : PWEB C
    Link : Form Tagihan

    ReplyDelete
  9. Nama: Ayu Mutiara Sari
    NRP: 05111740000149
    Kelas: PWEB C
    Link: Form Tagihan

    ReplyDelete
  10. Nama : Jeremy Vijay Wongso
    NRP : 05111740000062
    Kelas : PWEB C
    Link : Form Tagihan

    ReplyDelete
  11. Nama : Ersad Ahmad Ishlahuddin
    NRP : 05111740000016
    Kelas : PWEB C
    Link : Form Tagihan

    ReplyDelete
  12. Nama : Zico Ritonda Bahen
    NRP : 05111740000064
    Kelas : P WEB C
    Link : Link

    ReplyDelete
  13. Nama : Ifta Jihan N
    NRP : 05111740000034
    Kelas : PWEB C
    Link : Link Tugas

    ReplyDelete
  14. Nama : Hafidz Firman Asqalany
    NRP : 05111740000195
    Kelas: PWEB C
    link :form-pembayaran-listrik

    ReplyDelete
  15. Nama : Yusran Hadi
    NRP : 05111740000105
    Kelas: PWEB C
    link Bayar Listrik

    ReplyDelete
  16. Nama: Indira Nursyamsina Hazimi
    NRP: 05111740000082
    Kelas: PWEB C
    Link: Form Pembayaran

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
  18. Nama: Ahmad Syauqi
    NRP: 05111740000093
    Kelas: PWEB C
    Link: Form Pembayaran

    ReplyDelete
  19. Nama : Karina Soraya P
    NRP : 05111740000003
    Kelas : PWEB - C
    Link : PDAM

    ReplyDelete
  20. Nama: Faqih Fathan Irfani
    NRP : 05111740000175
    Kelas : PWEB-C
    LINK : LINK

    ReplyDelete
  21. Nama : Bastian Farandy
    NRP : 05111740000190
    Kelas : PWEB C
    Link : Form Tagihan

    ReplyDelete
  22. Nama : Anggar Wahyu Nur Wibowo
    NRP : 05111740000052
    Kelas : PWEB C
    Link : Payment Processing

    ReplyDelete
  23. Nama : Adzra Zaky Haura
    NRP : 05111740000037
    Kelas : PWEB C
    Link : Link Blog

    ReplyDelete
  24. Nama : Kevin Ashil Faadilah
    NRP : 05111740000178
    Kelas : PWEB C
    Link : Payment Form

    ReplyDelete
  25. Nama: Donny Fitrado
    NRP: 05111740000171
    Kelas: PWeb C
    Link: Link Tugas

    ReplyDelete
  26. This comment has been removed by the author.

    ReplyDelete
  27. Nama : Muhammad Harits Fadlilah
    NRP : 05111740000102
    Kelas : Pemrograman Web C
    Link : Form Pembayaran PDAM

    ReplyDelete
  28. nama : Nandha Himawan
    NRP : 05111740000180
    Kelas : PWEB C
    Link : link pembayaran

    ReplyDelete
  29. This comment has been removed by the author.

    ReplyDelete
  30. Nama : Zaky Thariq H
    NRP : 05111740000140
    Kelas : Pemrograman Web C
    Link : link bayar air

    ReplyDelete
  31. Nama : Fitrah Arie Ramadhan
    NRP : 05111940000025
    Kelas : PWEB D
    Tahun : 2021
    Link Blogspot : Dokumentasi Blog

    Link Website : Website Pendaftaraan Siswa

    ReplyDelete
  32. Nama : Muhammad Arif Faizin
    NRP : 05111940000060
    Kelas : PWEB D
    Tahun : 2021
    Link Blogspot : Dokumentasi Blog

    ReplyDelete
  33. Nama : Muhammad Naufaldillah
    NRP : 05111940000202
    Kelas : PWEB A
    Tahun : 2021
    Link Blogspot: Link Blog

    ReplyDelete
  34. Nama : Christopher Baptista
    NRP : 05111940000001
    Kelas : PWEB-D
    Tahun : 2021
    Link Blog : Blog Here
    Link Web : ITS Coding

    ReplyDelete
  35. Nama : I Kadek Agus Ariesta Putra
    NRP : 05111940000105
    Kelas : PWEB-D
    Tahun : 2021
    Link Hasil Tugas : Pendaftaran Sekolah
    Link Dokumentasi Tugas : Klik disini

    ReplyDelete
  36. Nama: Farhan Arifandi
    NRP: 05111940000061
    Kelas: PWEB B 2021
    Link Tugas: Pendaftaran Siswa Baru
    Link Blog: Blog post

    ReplyDelete
  37. Nama : Ramadhan Arif Hardijansyah
    NRP : 05111940000162
    Kelas : PWEB A
    Tahun : 2021
    Link Blogspot : Dokumentasi Blog

    ReplyDelete
  38. Nama : Junaedi Akbar
    NRP : 05111940000041
    Kelas : PWEB B
    Tahun : 2021
    Link Blogspot :Dokumentasi Blog

    ReplyDelete
  39. Nama : Timotius Wirawan
    NRP : 05111940000161
    Kelas : PWEB B
    Tahun : 2021
    Dokumentasi Blogspot : Blogspot
    Link Web: Website

    ReplyDelete
  40. Nama : Julietta Anastasia Rodiah Boru Panjaitan
    NRP : 05111940000033
    Kelas : PWEB D 2021
    Link : Dokumentasi Blog & Website

    ReplyDelete
  41. Nama : Muhammad Farhan Haykal
    NRP : 05111940000141
    Kelas : PWEB D
    Tahun : 2021
    Link :
    Blog
    Website

    ReplyDelete
  42. Nama : Dwinanda Bagoes Ansori
    NRP : 05111940000010
    Kelas : PWeb - B
    Tahun : 2021
    Link blog : blog
    Link web : web

    ReplyDelete
  43. Nama : Tsania Az Zahra
    NRP : 05111940000032
    Kelas : PWEB-D
    Link Dokumentasi : Dokumentasi

    ReplyDelete
  44. Nama : Muhammad Raihan
    NRP : 05111940000100
    Kelas : PWEB - D
    Tahun : 2021
    Link blog : blog
    Link web : web

    ReplyDelete
  45. Nama : Christoffer Ivano
    NRP : 05111940000091
    Kelas : PWEB A 2021
    Link blog : blog
    Link web : web

    ReplyDelete
  46. Nama : Daffa Amanullah Setyawan
    NRP : 05111940000071
    Kelas : PWEB D
    Tahun : 2021
    Link : Blog

    ReplyDelete
  47. Nama : Muhammad Subhan
    NRP : 05111940000204
    Kelas : PWEB D
    Dokumentasi : Dokumentasi

    ReplyDelete
  48. Nama : Fais Rafii Akbar Hidiya
    NRP : 05111940000026
    Kelas : PWEB D
    Tahun : 2021
    Link Blogspot : Dokumentasi

    ReplyDelete
  49. Nama: Ishaq Adheltyo
    NRP: 05111940000167
    Kelas: PWEB D
    Tahun : 2021
    Link Blog: Blog

    ReplyDelete
  50. Nama : Andymas Narendra Bagaskara
    NRP : 05111940000192
    Kelas : PWEB D
    Link Blog : Dokumentasi

    ReplyDelete
  51. Nama : Arkan Aulia Farhan
    NRP : 05111940000128
    Kelas : PWEB D
    Link Blog : blog

    ReplyDelete
  52. Nama : Rahadian Adjie Mahesa
    NRP : 05111940000221
    Kelas : PWEB D
    Tahun : 2021
    Link Blog : Dokumentasi

    ReplyDelete
  53. Nama : Alfarabi Muzli
    NRP : 05111940000039
    Kelas: PWEB D
    Tahun: 2021
    Blog : Tugas

    ReplyDelete
  54. Nama : Ifanu Antoni
    NRP : 05111940000064
    Kelas: PWEB D
    Tahun: 2021
    Blog : blog

    ReplyDelete