Panduan Back End Development Bagi Pemula
Pada tahun 2020 kebutuhan industri untuk melakukan digitalisasi guna optimasi maupun efisiensi proses bisnis sangatlah besar. Dalam kondisi seperti ini seorang digital talent sangatlah dicari. Software Engineer / Programmer adalah salah satu digital talent yang sedang banyak dibutuhkan, termasuk Back-end Developer.
Jika kamu tertarik menjadi seorang backend developer, kamu perlu mengetahui hal apa saja yang harus dikuasai oleh backend developer agar bisa menghasilkan web-service yang handal. Sebelum itu, mari kita pahami dulu apa itu backend developer.
Apa sih Backend Developer itu?
Singkatnya, seorang backend developer adalah seseorang yang membuat suatu web-service yang menghasilkan data yang mana akan dikelola dan ditampilkan di halaman suatu aplikasi. Contohnya, apabila kita membuka aplikasi email seperti gmail akan tampil list email baik di kotak masuk, kotak keluar maupun draft, data-data yang ditampilkan pada aplikasi tersebut merupakan data yang diambil dari suatu web-service / API (Application Programming Interface) yang dibuat oleh Back-end Developer.
Berbeda dengan seorang front-end developer yang bekerja untuk menghasilkan tampilan yang dilihat dan berinteraksi dengan pengguna, back-end developer bekerja dibelakang layar, berinteraksi dengan database, mengelola data untuk ditampilkan kepada pengguna melalui tampilan yang sudah disediakan oleh front-end developer, dan masih banyak lagi hal yang dapat dikerjakan oleh seorang backend developer.
Hal-hal Dasar yang Wajib Dikuasai Oleh Seorang Backend Developer
1. Bahasa Pemrograman
Hal paling awal yang harus dikuasai oleh seorang back-end developer tentunya bahasa pemrograman. Terdapat banyak bahasa pemrograman yang dapat menjadi pilihan seorang backend developer. Beberapa bahasa pemrograman yang sering diimplementasikan atau digunakan adalah sebagai berikut:
- PHP
- Javascript (NodeJS)
- Python
- Golang
- Java
- C#
- Rust
- Ruby
Seorang back-end developer harus menentukan salah satu bahasa yang ingin untuk dikuasai terlebih dahulu, mayoritas bahasa pemrograman pertama yang dapat dipelajari adalah PHP. Saat kita sudah mulai mengerti atau menguasai bahasa pemrograman PHP kita bisa melanjutkan untuk ke bahasa pemrograman lain seperti javascript / python atau lainnya.
Tips: Tidak perlu berusaha untuk menguasai banyak bahasa sekaligus pada suatu waktu, terapkan mindset it’s nice-to-have, not must-have.
Fokuslah pada satu bahasa pemrograman tertentu, misalnya Javascript, pelajari bagaimana javascript bekerja dibagian server-side (back-end) dengan menggunakan nodeJS, pelajari framework yang ada. Jika kita terlalu banyak mempelajari bahasa pemrograman namun tidak pernah sampai ke titik kita benar-benar menguasai bahasa tersebut rasanya akan percuma. Jadi pilihlah salah satu bahasa yang cocok dan kita sukai, lalu kuasai bahasa tersebut.
2. Database
Bekerja menjadi seorang back-end developer tentunya tidak lepas dari banyak data. Tugas dari seorang back-end developer tentunya mengelola dan menyajikan data yang nantinya akan ditampilkan kepada pengguna aplikasi. Data-data yang dikelola kadang tidak hanya berupa data sementara yang hanya digunakan sekali, namun ada beberapa data yang harus disimpan ditempat yang aman dan dapat diambil kembali oleh fungsi yang ada pada bagian server-side atau back-end. Database sendiri dibagi menjadi dua jenis database yaitu:
- Relational Database / SQL Database
- Non-Relational Database / NoSQL Database
Berbeda dengan bahasa pemrograman dimana kita memilih salah satu untuk dikuasai terlebih dahulu, untuk bagian database ini kita harus mengenal dua karakter dasar dari database ini, dikarenakan dengan mengenal kedua database ini kita bisa memilih database yang mana yang akan lebih cocok untuk diimplementasikan kepada data pada aplikasi kita.
SQL merupakan sebuah bahasa yang digunakan dalam mengelola database, yang merupakan kepanjangan dari Structure Query Language. Dimana setiap perintah yang dijalankan dalam database ini dinamakan sebagai query. Secara lisan sintak atau perintah-perintah yang ada di bahasa ini sangat mudah dibaca oleh manusia, contohnya SELECT, FROM, WHERE dll.
Metode penyimpanan data pada database jenis SQL ini disimpan pada bentuk tabel. Dimana sebuah data disimpan sebagai record yang disimpan dalam bentuk baris.
Hal dasar yang harus diketahui sebelum menggunakan database ini adalah:
- DDL ( Data Definition Language ): Digunakan untuk membuat struktur tabel.
- DML ( Data Manipulation Language ): Digunakan untuk mengelola data dalam tabel.
SQL sangat cocok digunakan untuk mengelola data yang saling berhubungan atau berkaitan (mempunyai relasi). Relasi yang ada pada SQL dapat menghubungkan tabel satu dengan yang lainnya.
Sedangkan NoSQL bukanlah bahasa seperti SQL, NoSQL adalah sebuah mekanisme penyimpanan dan pengambilan data pada sebuah database. Berbeda dengan SQL, pada NoSQL tidak membutuhkan data model relasional yang harus didefinisikan terlebih dahulu. NoSQL menggunakan metadata pada database kita dan memanfaatkan index dari data tersebut. Untuk penjelasan dan pembahasan lebih dalam mengenai perbedaan dari kedua jenis database silahkan menuju link berikut ini: SQL vs NoSQL.
3. Version Control System
Version Control System merupakan hal mendasar yang juga sangat penting untuk dikuasai bagi seorang developer. Sama seperti namanya VCS merupakan sebuah sistem yang digunakan untuk mengontrol dan mencatat setiap perubahan yang terjadi pada suatu berkas atau file. Kenapa kita perlu memahami dan menguasai system ini? Guna dari VCS ini agar kita dapat melakukan pencatatan apa saja yang telah kita ubah dan perbedaan dengan kode sebelumnya. Sehingga saat terjadi error pada versi kode kita saat ini kita dapat melihat apa yang telah kita rubah atau bahkan dapat kembali kepada kode kita sebelumnya. Selain itu, VCS yang sudah terpusat atau yang disimpan pada pihak ketiga di internet dapat memungkinkan kita untuk bisa berkolaborasi dengan rekan kerja kita dengan nyaman. Git merupakan salah satu VCS yang paling sering digunakan dan umum digunakan oleh banyak developer sehingga wajib rasanya untuk bisa menguasai cara kerja VCS dengan menggunakan Git.
4. RESTful API
Salah satu hasil kerja dari seorang backend developer adalah menghasilkan API atau web-service yang menghasilkan data dan dimanfaatkan oleh aplikasi tertentu. Salah satu API dasar yang paling sering di gunakan sampai saat ini adalah RESTful API. RESTful API dapat menghubungkan berbagai macam aplikasi dari web, mobile, maupun aplikasi desktop. API ini dirancang dan dibuat oleh seorang backend developer.
Pada Gambar 4.1 terdapat aktivitas client application (Desktop, Android, iOS, maupun Web) melakukan request kepada RESTful API yang kemudian diteruskan dan diproses oleh web server / server-side / back-end. Lalu melalui RESTful API juga diberikan response ke tiap-tiap client. Client application meminta data (request) kepada server melalui protokol HTTP yang sering dikenal sebagai RESTful API yaitu dengan cara mengakses URL yang telah ditentukan dengan beberapa method dasar seperti:
- GET: Biasanya digunakan untuk meminta data.
- POST: Mengirim data.
GET dan POST merupakan 2 method dasar yang sering digunakan, ada juga dua method lain yang sering digunakan yaitu PUT dan DELETE.
Request yang diterima melalui protokol ini maka akan diteruskan dan diolah permintaannya oleh bagian server side. Pada bagian inilah fungsional yang merupakan produk dari seorang backend developer digunakan. Bagian server-side akan mengolah data / request yang diterima dengan langsung mengirimkan response ataupun berinteraksi dengan database terlebih dahulu lalu memberikan respons yang berupa data berbentuk JSON yang nantinya akan diolah dan ditampilkan oleh client application.
Konsep RESTful API ini merupakan hal yang sangat wajib dikuasai oleh seorang back-end developer, karena ini merupakan salah satu produk utama yang dihasilkan oleh seorang back-end developer. Konsep lebih lanjut mengenai RESTful API dapat dipelajari di berbagai sumber salah satunya bisa cek melalui video: REST API.
Kesimpulan
Seorang back-end developer mempunyai peran yang sangat vital dalam sebuah aplikasi, dimana seorang back-end developer akan menghandle mulai dari bisnis proses dan pengolahan data yang terhubung dengan database. Performa aplikasi yang cepat ataupun lambat juga dapat dipengaruhi oleh kualitas API yang telah dihasilkan oleh seorang back-end developer.
Setelah berbagai hal wajib yang telah dijabarkan diatas, silahkan mulai pilih dan fokus mempelajari satu bahasa pemrograman yang sekiranya cocok dengan karakter anda. Mulai buat sebuah aplikasi sederhana yang menghasilkan sebuah API dan integrasikan dengan database mulai dari database SQL seperti mysql / postgreSQL dan jangan lupa mencoba untuk menggunakan version control system. Terus berlatih dan explore hal-hal baru untuk mempercepat proses development dengan menggunakan framework dan menghasilkan suatu API yang mempunyai performa yang cepat dan stabil.
Terus belajar dan tetap semangat!
Contributor : Samuel Ricko Perdana Putra