Rangkuman Pengenalan Back-End

 Daftar Modul

Rangkuman Pengenalan Back-End

Selamat! Anda sudah berada di penghujung modul Pengenalan Back-End. Mari kita uraikan materi yang sudah Anda pelajari untuk menyegarkan ingatan Anda tentang materi tersebut.


Berkenalan dengan Back-End

Bagian pertama adalah tampilan dari sebuah aplikasi yang dapat Anda lihat dan berinteraksi dengannya atau biasa disebut dengan Front-End. Bagian kedua adalah bagian yang mengelola data dan logika bisnis dari sebuah aplikasi, atau biasa disebut dengan Back-End.

Developer yang bertanggung jawab untuk Front-End disebut sebagai Front-End Developer, sedangkan developer yang bertanggung jawab untuk Back-End disebut sebagai Back-End Developer. Mari kita lihat contoh apa saja yang dapat dibuat oleh Front-End Developer dan Back-End Developer. Front-End Developer biasanya membuat aplikasi berbasis web, desktop, dan mobile (native) yang langsung digunakan oleh end-user. Back-End Developer mengelola aplikasi yang berjalan di sisi server, mulai dari API, database, hingga aspek keamanan untuk mendukung fungsionalitas aplikasi Front-End.

Meskipun Back-End tidak terlihat dan tidak disadari oleh pengguna, perannya sangatlah vital. Bayangkan jika coffe shop tidak memiliki barista, kopi pesanan pelanggan tidak akan tersedia dan mereka enggan mampir ke coffee shop tersebut. Begitu pun peran Back-End di aplikasi, tanpa Back-End, data yang ada di aplikasi tidak akan tersimpan dan fungsionalitas dari aplikasi tidak akan bisa dijalankan.


Hi, Server!

Seperti yang sudah Anda ketahui, Back-End memiliki tanggung jawab terhadap fungsionalitas dari aplikasi, terutama yang berbasis web erat kaitannya dengan server. Anda sebagai calon Back-End Developer harus memiliki pemahaman terkait server. 

Server adalah program komputer (sistem) yang dapat menyediakan kebutuhan seperti data, layanan, dan program untuk client. Client adalah komputer atau perangkat yang mengonsumsi resources atau layanan dari server. Dalam model jaringan, client-server terdiri dari dua komponen utama, yaitu client dan server.

Server bertugas untuk melayani permintaan client seperti mengelola dan menyimpan data, sedangkan client hanya meminta dan menerima resources dari server. Satu server dapat melayani banyak client, contohnya seperti server Dicoding yang dapat melayani ratusan ribu pengguna (siswa) yang sedang belajar. Satu client bisa meminta dan menerima resources dari banyak server. 


Web Server vs Web Service

Sebelumnya Anda sudah mengetahui pengertian dari Web Server. Kini, kita akan lihat bagaimana cara untuk berkomunikasi dengan Web Server. Untuk berkomunikasi dengan Web Server dapat melalui internet menggunakan protokol HTTP (Hypertext Transfer Protocol).

Ternyata, tak cukup hanya Web Server untuk melayani kebutuhan Front-End. Web Server saat ini baru bisa menerima permintaan HTTP, tetapi ia belum mampu untuk berinteraksi dan menyediakan kebutuhan dari Front-End. Untuk mengatasi hal itu, muncullah Web Service.

Web Service adalah program yang dijalankan di Web Server agar kebutuhan bisnis terpenuhi. Web Service berjalan di dalam Web Server sehingga ia dapat diakses melalui internet dengan protokol HTTP. Melalui Web Service inilah aplikasi Front-End (client) dan Back-End dapat bertransaksi dan bertukar data.

Jadi, kesimpulannya adalah untuk melayani dan memenuhi kebutuhan Front-End (client), Back-End membutuhkan Web Server dan Web Service. Sebagai tambahan, Web Service tak hanya digunakan untuk bertransaksi antara aplikasi berbasis web, tetapi juga dapat digunakan pada aplikasi atau sistem yang berbeda.


Arsitektur Web Service

Dalam mengembangkan Web Service, Anda perlu menetapkan arsitektur apa yang hendak diadaptasi agar pengembangannya tidak terlalu liar. Dengan menetapkan arsitektur, komunikasi antara client dan server akan lebih mudah karena memiliki pola atau gaya yang konsisten. Salah satu arsitektur Web Service yang banyak digunakan saat ini adalah REST.

REST (REpresentational State Transfer) adalah salah satu gaya arsitektur yang dapat diadaptasi ketika membangun Web Service. Arsitektur ini sangat populer digunakan karena pengembangannya yang relatif mudah. REST menggunakan pola request-response dalam berinteraksi, artinya ia memanfaatkan protokol HTTP.

Arsitektur REST benar-benar memisahkan peran client dan server, bahkan keduanya tidak harus saling mengetahui. Artinya ketika terjadi perubahan besar di sisi client, tidak akan berdampak pada sisi server, begitu pun sebaliknya.


Menyelami Komunikasi Client-Server

Seperti yang kita ketahui, komunikasi client dan server memiliki pola request dan response. Hal ini sama seperti skenario coffee shop di materi sebelumnya, masih ingat, kan? Untuk mendapatkan kopi, Anda harus memesan terlebih dahulu ke kasir (ini dapat kita anggap sebagai request). Setelah kopi dibuat, pelayan akan mengantarkan kopi yang Anda pesan (response dari request yang kita lakukan).

dos-ec97ae712e703d82cafaea91ee3d180620241101145721.jpeg

Begitu pun pola yang sama terjadi pada komunikasi antara client dengan server. Client-lah yang akan menginisiasi komunikasi. Server tidak akan mengirimkan data apa pun apabila tidak ada permintaan dari client (sama seperti barista, ia tidak akan membuat kopi jika tidak diminta).

dos-6424054260ded623670d8440decf5b9020241101145721.jpeg

Client akan melakukan request ke server, server menerima request tersebut dan memprosesnya. Setelah memproses, server akan mengirimkan hasil ke client yang disebut dengan response. Request yang dilakukan oleh client haruslah jelas dan mengandung informasi yang dibutuhkan oleh server untuk menangani request client.

Jika request yang Anda lakukan kurang jelas, server kemungkinan besar gagal untuk memprosesnya, sama seperti di coffee shop. Jika Anda menyampaikan pesan yang kurang jelas seperti “Saya ingin pesan kopi”, kasir tidak akan paham karena ada banyak jenis kopi dan ia tidak bisa memproses pesanan Anda.


Merancang URL dengan Baik

URL (Uniform Resources Locator) adalah alamat resources yang unik di internet. URL adalah salah satu cara untuk mengambil resources yang digunakan melalui Browser. Masih ingatkah Anda di contoh sebelumnya kita mengambil resources berupa daftar kopi? Kita meminta daftar kopi dengan melakukan HTTP request dan menuliskan URL-nya.

URL terbentuk dari beberapa bagian, ada bagian yang wajib dan opsional. Bagian pertama yang membentuk URL adalah scheme, berikutnya nama domain, dan path. Untuk bagian opsional yang membentuk URL adalah port, query parameter (akan dibahas di modul berikutnya).


Comments

Popular posts from this blog

IT Dev

cara menginstal dan menggunakan npm dotenv