26 June 2021

Dasar-Dasar Bahasa Pemrograman

Coding
Dasar-dasar bahasa pemrograman
Foto: Python icons created by Freepik - Flaticon

Saya tidak pernah ingat kapan pertama kali belajar ngoding secara autodidak dan random, mungkin dua tahun, mungkin tiga tahun lalu. Yang jelas, bulan Mei 2019 menjadi titik awal saya mulai belajar dengan roadmap yang benar.

Artikel ini saya rangkum dari kelasnya Pak Dhika dan berbagai sumber sebagai upaya untuk mengasah kemampuan saya dalam memahami hal-hal paling fundamental. Topik yang sama juga pernah saya bahas di Twitter , tapi kali ini saya tulis ulang dengan lebih komprehensif.


Device & Software yang Dibutuhkan

1. Laptop/PC

Sayangnya saya tidak pernah mencoba atau menemukan referensi ngoding via smartphone, so Anda perlu punya laptop atau PC untuk bisa belajar ngoding.

  • Operating system (OS): Windows, Linux, Mac.
  • Minimum RAM: 2GB.
  • Untuk Windows: Windows 10.

2. Web Browser

Anda bisa menggunakan web browser apa saja, tapi saya menyarankan Chrome atau Mozilla for Developer.

3. Code editor

Anda juga perlu code editor untuk ngoding .

4. Jaringan Internet

Untuk “sekadar” ngoding web HTML, CSS, dan JS native, memang tidak diperlukan jaringan internet karena bisa offline. Tapi jaringan internet tetap diperlukan jika kita memakai source dari luar, misalnya Google Fonts, framework seperti Bootstrap, dan mengakses dokumentasi atau video tutorial.


Bahasa Pemrograman untuk Pemula

Manusia berbicara dengan bahasa manusia, sedangkan mesin atau komputer dan software berbasis komputer menggunakan bahasa mesin. Lebih tepatnya, binary code seperti di bawah ini.

Lalu bagaimana kita memberikan instruksi agar komputer/mesin mengerti apa yang harus dilakukan? Misal, “Hey, kamu. Kalau saya pijit tombol ‘publish’, yang harus kamu lakukan adalah abcdefgh.”

Apakah kita harus ngomong bahasa mesin? Ya bisa aja, tapi peupeus sirah. :D

Fungsi Bahasa Pemrograman

Nah, di sinilah FUNGSI BAHASA PEMOGRAMAN: untuk menjembatani antara bahasa manusia dengan bahasa mesin.

Dengan bahasa pemrograman, komputer atau mesin akan mengerti apa yang harus dilakukan dan kita pun mengerti apa yang harus diperintahkan.

Pengertian Program

Pada dasarnya, semua aplikasi, peralatan komputasi, bahkan blog WordPress yang sedang kita gunakan sekarang adalah sekumpulan program. Ada program yang sangat sederhana, ada pula yang sedemikian rumit.

Program adalah kumpulan/serangkaian INSTRUKSI yang kita berikan ke komputer.

Semakin rumit task yang harus dilakukan oleh komputer, maka semakin rumit pula program atau instruksi yang harus kita perintahkan.

Contoh: Kita ingin mengubah background web kita dari yang tadinya putih menjadi hitam. Bagaimana caranya?

Kita tidak bisa mengatakan begitu saja pada mesin (dalam hal ini theme dan browser), dengan, “Hey, browser, ubah bacgkround web saya menjadi hitam.”

Sebaliknya, kita menulis serangkaian program/code di theme seperti ini:

body {
	background-color: #000;
}

Browser akan membaca dan mengerti perintah ini sehingga akan mengubah background web kita menjadi hitam (hex code #000).

Kode di atas bukanlah bahasa pemrograman, hanya beberapa baris kode CSS, but you got the point. Coba bayangkan andai kita harus menulis serangkaian binary code untuk memerintahkan mesin, ripuh pisan pastina. :D


Pengertian dan Jenis-Jenis Bahasa Pemrograman

Sebagaimana bahasa manusia, mesin juga punya berbagai bahasa. Ada berapa banyak bahasa pemrograman? Ratusan, ada yang masih digunakan sampai sekarang, ada pula yang sudah ditinggalkan. Tidak menutup kemungkinan pula bahwa di masa depan akan lahir bahasa pemrograman baru.

Pengertian Bahasa Pemrograman

Jika program adalah sekumpulan instruksi, maka bahasa pemrograman adalah serangkaian instruksi dalam bahasa program tertentu.

Bahasa pemrograman yang saya maksud di sini disebut juga bahasa pemrograman native atau asli. Semakin tinggi tingkat sebuah bahasa pemrograman, maka semakin dekat dengan bahasa manusia. Begitu juga sebaliknya, semakin rendah maka semakin dekat dengan bahasa mesin.

Jenis-Jenis Bahasa Pemrograman

Sejak diciptakan pertama kali di awal tahun 1950-an (beberapa sumber mengatakan tahun 1943-an), bahasa pemrograman telah berkembang. Ada yang hilang, ada pula yang masih dipergunakan sampai sekarang. Perkembangannya semakin pesat sejak dunia memasuki abad digital.

Saya tidak hafal seluruh bahasa pemrograman yang pernah ada di dunia, tapi berikut beberapa di antaranya:

  • Javascript
  • PHP
  • Java
  • Pyhton
  • Ruby
  • C++
  • C#
  • R
  • Kotlin
  • Golang

Beberapa di antaranya pasti pernah Anda dengar.

“Waduh, ada banyak geuningan. Kumaha atuh?”

Untuk pemula, cara paling baik agar mudah memahami bahasa pemrograman adalah itu tadi, menganalogikan bahasa pemrograman seperti bahasa manusia. Misalanya, ada bahasa Inggris, Indonesia, Prancis, Jerman, dll.

Sunda Indonesia Inggris
naon apa what

Coba lihat contoh di atas. Maknanya sama, bukan? Bahasanya saja yang berbeda.

Nah, begitu juga dengan bahasa pemrograman. Setiap bahasa pemrograman memiliki instruksi sendiri saat memerintahkan mesin. Kadang, antara satu bahasa memiliki kemiripan dengan bahasa pemrograman lainnya. Persis seperti bahasa manusia.

Contoh:

PHP JavaScript Python
echo "Hello world!" console.log("Hello world!"); print("Hello World")

Ketiganya menginstruksikan hal yang sama: menampilkan tulisan “Hello world!” ke layar. Instruksinya saja yang berbeda.

“Bahasa pemrograman apa yang paling bagus?”

Tergantung. Pertimbangan ketika memakai bahasa pemrograman tertentu adalah: MASALAH APA YANG INGIN KITA PECAHKAN? Tugas/instruksi seperti apa yang ingin kita perintahkan? Sekompleks apa tugas yang harus dilaksanakan oleh mesin?

Karena ini untuk pemula, kita tidak akan membahas lebih jauh tentang masing-masing bahasa pemrograman tersebut. Kita akan ngobrol-ngobrol lagi tentang itu di artikel lainnya.


Library dan Framework

Teman-teman pasti pernah mendengar nama jQuery, Laravel, Vue, React, atau MongoDB. Apa, sih, itu? Apakah nama-nama tersebut juga bahasa pemrograman? Ya, tapi bukan bahasa pemrograman aslinya melainkan library dan framework.

Jadi gini, ngomong sama mesin/komputer itu enggak gampang. Kadang, untuk memerintahkan komputer melakukan satu tugas tertentu, dibutuhkan puluhan bahkan ratusan baris kode program. Ini jelas tidak efektif. Kami para developer dan programmer bisa jomblo di balik meja.

So, masing-masing bahasa pemrograman biasanya punya library dan framework untuk mempermudah proses developing. Fungsinya hampir mirip dengan template yang bisa dipergunakan dan dimodifikasi.

Library

Ada perumpaan bagus dari voidcanvas. Library (sepemahaman saya) adalah sekumpulan kode/sintaks dalam bahasa pemrograman tertentu.

A library is meant to do a specific task only. A library doesn’t force you to go its own flow, but you can call any api of a library and use it the way you want.

If we take the previous example of coffee making, a library will be like a utensil in your kitchen. It’s you who decide which utensil to use when and while making the coffee, you decide if you want to put milk first or water, whether to add sugar or honey, how much to boil and every other thing. While making a coffee in your kitchen using the utensils; it’s you who have the control. You decide what should be the flow.

A library is meant to do a specific task only. A library doesn’t force you to go its own flow, but you can call any api of a library and use it the way you want.

Void Canvas

If we take the previous example of coffee making, a library will be like a utensil in your kitchen. It’s you who decide which utensil to use when and while making the coffee, you decide if you want to put milk first or water, whether to add sugar or honey, how much to boil and every other thing. While making a coffee in your kitchen using the utensils; it’s you who have the control. You decide what should be the flow.

https://www.voidcanvas.com/

Library ibarat sekumpulan peralatan dan bahan yang ada di dapur kita. Komposisi dan takaran yang akan kita gunakan, terserah kita. Misal, kita mau membuat secangkir kopi. Di dapur sudah tersedia cangkir, gelas, kopi, krimer, gula, SKM, UHT, gula merah. Kita bisa membuat kopi memakai cangkir (bukan gelas), komposisi kopinya terdiri dari 2 sendok kopi, 3 sendok gula merah.

Di lain kesempatan kita bisa menggunakan library yang sama untuk membuat kopi, tapi kali ini kita ingin menambahkan krimer dan menggunakan SKM alih-alih gula merah seperti pertama.

Contoh library:

  • Javascript: jQuery
  • Python: NumPy, Pandas
Mau Belajar Coding Gratis? Di Sini Tempatnya
BACA JUGA

Mau Belajar Coding Gratis? Di Sini Tempatnya

Belajar coding autodidak sering terdengar menyeramkan, terutama bagi para pemula atau yang baru mulai belajar. Karena, terus terang, itu pula yang …

Baca Selengkapnya

Framework

Sedikit berbeda dengan library, framework ibarat vending machine. Cara penggunaannya lebih simpel, tapi kita tidak punya kebebasan penuh atas komposisinya. CMIIW.

A framework is a reusable design or architecture which runs in a particular flow and executes the code you wrote with it. It is more like an aggregator which glues many libraries or even sometimes other languages and has the control to run things by its own order and priority.

For an example; you can think a framework as a coffee vending machine and the coffee power, milk, sugar etc are your code. The machine knows how to prepare the final output which is a drinkable coffee. It compiles the code of yours which are coffee powder, milk etc and also determines when to pour milk, when to add sugar and when the coffee powder. So the control remains with the vending machine and you have to put your ingredients in the right places; then only you will get coffee.

https://www.voidcanvas.com {:blockquote}

Contoh framework:

  • Javascript: Angular, Vue, React
  • PHP: Laravel, CodeIgniter (CI), Symfony
  • Python: Pyramid, Django

Belajar yang Mana Dulu?

“Belajar yang mana dulu? Native atau langsung framework?”

Pertanyaan ini kerap diajukan, terutama oleh mereka yang baru mau belajar. Sebetulnya tidak ada jawaban pasti, tapi jika mengacu pada programmer path dan saran dari Pak Dhika, lebih baik belajar bahasa pemrograman native dulu. Ini agar kita punya pemahaman fundamental dan pondasi yang cukup sebelum belajar memakai framework atau library.

Mau Jadi WordPress Theme Developer? Kuasai Dulu Hal-Hal Ini
BACA JUGA

Mau Jadi WordPress Theme Developer? Kuasai Dulu Hal-Hal Ini

Apa, sih, yang dimaksud dengan WordPress theme developer? Secara sederhana, developer yang membuat theme WordPress (WP). Theme WP from scratch, ya. …

Baca Selengkapnya

HTML dan CSS

Berbicara bahasa pemrograman tak akan lengkap tanpa HTML dan CSS. Banyak calon developer (termasuk saya dulu) yang menganggap HTML dan CSS sebagai bahasa pemrograman, PADAHAL BUKAN.

Ya, HMTLM dan CSS bukan bahasa pemrograman.

HTML adalah standard markup language yang dipergunakan untuk membangun sebuah halaman website.

Jika website adalah sebuah bangunan, maka HTML adalah kerangkanya, dinding, jendela, dan segala macam elemen yang membuat website itu berbentuk sebagaimana sebuah web.

CSS adalah bahasa yang dipergunakan untuk mengatur tampilan HTML.

CSS-lah yang memberi warna cat, warna kusen, dan segala elemen yang bersifat estetika. Pada praktiknya, CSS juga kerap digunakan untuk mengatur letak dan urutan elemen HTML (CSS layouting).

Selain bahasa pemrograman, CSS juga punya framework. Misalnya Bootstrap, Tailwind, Bulma, dan Materialize. Fungsi dan pengertiannya sama dengan framework dalam bahasa pemrograman.

Karena artikel ini sudah cukup panjang dan memang dikhususkan untuk bahasa pemrograman, pembahasan mengenai HTML dan CSS akan dibahas lebih lengkap di artikel lainnya.


Sampai di sini ngobrol-ngobrol kita kali ini, semoga bermanfaat.(eL)

S H A R E:

Langit Amaravati

Langit Amaravati

Web developer, graphic designer, techno blogger.

Aktivis ngoding barbar yang punya love-hate relationship dengan JavaScript. Hobi mendengarkan lagu dangdut koplo dan lagu campursari. Jika tidak sedang ngoding dan melayout buku, biasanya Langit melukis, belajar bahasa pemrograman baru, atau meracau di Twitter.

Komentar