Dasar-Dasar Bahasa Pemograman

Jul 18, 2021 | CODING | 1 comment

Saya tidak pernah ingat kapan kali pertama 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.


Tools/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 Pemograman 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. 😀

Fungsi Bahasa Pemograman

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

Dengan bahasa pemograman, 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 pemograman, 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. 😀


Pengertian dan Jenis-Jenis Bahasa Pemograman

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

Pengertian Bahasa Pemograman

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

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

Jenis-Jenis Bahasa Pemograman

Sejak diciptakan pertama kali di awal tahun 1950-an (beberapa sumber mengatakan tahun 1943-an), bahasa pemograman 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 pemograman yang pernah ada di dunia, tapi berikut beberapa di antaranya:

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

Beberapa di antaranya pasti pernah Anda dengar.

“Waduh, ada banyak geuningan. Kumaha atuh?”

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

SundaIndonesiaInggris
naonapawhat

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

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

Contoh:

PHPJavascriptPython
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 pemograman apa yang paling bagus?”

Tergantung. Pertimbangan ketika memakai bahasa pemograman 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 pemograman 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 pemograman? Ya, tapi bukan bahasa pemograman 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 pemograman 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 pemograman 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.

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

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

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 pemograman native dulu. Ini agar kita punya pemahaman fundamental dan pondasi yang cukup sebelum belajar memakai framework atau library.


HTML dan CSS

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

Ya, HMTLM dan CSS bukan bahasa pemograman.

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 pemograman, CSS juga punya framework. Misalnya Bootstrap, Tailwind, Bulma, dan Materialize. Fungsi dan pengertiannya sama dengan framework dalam bahasa pemograman.

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


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

Salam,
~eL

Traktir Kopi!

 

Suka dan merasa konten di blog ini berguna buat Anda?

Traktir saya kopi supaya saya bisa terus membuat konten-konten yang bermanfaat.

Thank you. 🙂

 

Nih buat jajan

Related Articles

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

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. NGODING, bukan membuat web memakai page builder seperti Divi atau Elementor. Ini juga bukan tentang framework seperti...

Rekomendasi Code Editor untuk Ngoding

Rekomendasi Code Editor untuk Ngoding

Bagi para programmer dan developer, code editor merupakan tools/software utama untuk ngoding. Namun, tool ini tak melulu digunakan oleh developer -katakanlah- pro, Anda yang baru mulai belajar coding autodidak atau sekadar mengedit template blog sendiri pun bisa...

Mau Belajar Coding Gratis? Di Sini Tempatnya

Mau Belajar Coding Gratis? Di Sini Tempatnya

Belajar coding sering terdengar menyeramkan, terutama bagi para pemula atau yang baru mulai belajar. Karena, terus terang, itu pula yang saya rasakan ketika baru belajar dulu. Ternyata, setelah benar-benar terjun, saya justru lebih suka ngoding daripada mendesain atau...

Comments

1 Comments

1 Comment

  1. Tikno

    Anda menganalogikan sesuatu yang rumit menjadi mudah dipahami. Ini menunjukan Anda sangat menguasai materi yang ingin disampaikan.
    Posting ini membuat pikiran saya kembali mengingat ke masa lalu saat saya belajar pemrograman. Saat itu yang pertama kali saya pelajari adalah bahasa pemrograman Pascal, kemudian Visual Basic dan Foxpro. Cukup ribet karena masih berbasis DOS, jadi harus meguasai command line. OS yang digunakan masih Windows 95.
    Saat ini dunia pemrograman sudah jauh lebih maju.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *