Tutorial ini cocok untuk non-programmer yang ingin mengetahui lebih jauh tentang programming. Walaupun judulnya agak mengerikan untuk dibaca, saya akan coba menjelaskan semuanya dengan bahasa yang dipahami oleh orang awam.
Sebelum mempelajari bahasa pemprograman, anda musti tahu dasar-dasar komputer, apa itu command line, GUI, operating sistem, dan lain-lain. Tidak perlu mempelajarinya terlalu jauh, cukup mengenal definisinya.
Bahasa Programming itu ya sesuai namanya, sekedar bahasa. Bahasa ini memfasilitasi perbedaan manusia dan komputer, ingat, komputer cuma mengerti bentuk binari, kumpulan angka 0 dan 1, sesuai dasar-dasar elektronika. Karena komputer tidak mengerti bahasa manusia, maka perlu adanya compiler atau penterjemah bahasa manusia ke bahasa instruksi yang dikenal oleh komputer.
Lalu apa itu Compiled, Interpreted language?
Compiled language adalah bahasa yang terkompilasi. Skrip bahasa yang dipahami manusia akan di-compile, yang menghasilkan sebuah file object yang dikenal komputer. Di Windows, biasanya ini adalah file berekstensi .exe.
Keuntungan dari bahasa compiled adalah kecepatan eksekusi, karena file yang dihasilkan adalah file executable yang berisi instruksi dalam bahasa komputer langsung.
Kelemahan: ribet, harus mengkompilasi ulang kode sumber di platform lain. Misalnya kita harus mengkompilasi kode sumber di sistem Windows jika kita ingin menggunakannya di windows.
Contoh: Visual Basic, C, C++, Java.
Interpreted language adalah bahasa yang dieksekusi langsung tanpa dikompilasi. Skrip program akan dibaca oleh interpreter yang langsung di kompilasi dan dijalankan pada saat itu juga.
Keuntungan dari bahasa interpreted adalah bahasa pemprograman menjadi lebih portable (bisa dieksekusi di berbagai platform tanpa harus di kompile sesuai dengan sistemnya).
Kelemahannya adalah kecepatannya yang agak lambat.
Contoh: Python, Ruby, Javascript (Node.js)
TRIVIA
Bahasa pemprograman bisa dibagi lagi menjadi 3 level.
Low Level Language adalah bahasa pemprogramman yang mendukung fitur untuk mengatur hingga ke level hardware (memory) komputer. Contoh: C, C++, dan Golang.
Tingkatan bahasa yang lebih tinggi, tidak ada fitur untuk berinteraksi dengan hardware secara langsung. Biasanya bahasa programming seperti ini punya lebih banyak fitur. Contoh: Java, Ruby, dan Python.
Statement adalah sebuah ekspresi di dalam bahasa pemprogramman, bisa merupakan sebuah instruksi, deklarasi variable, atau lainnya.
Contohnya dalam C
printf("Hello World\n");
Sebuah statement biasanya diakhiri dengan tanda ;
(contoh C,C++, PHP )atau akhir baris (contoh: Python, Ruby).
Variable, seperti di dalam aljabar, adalah sebuah nama yang mendefinisikan sebuah nilai. Dalam programming, variable sangat penting karena mampu menyimpan informasi berupa data, object, atau bahkan memory address/pointer.
Tergantung apa bahasa programmingnya, variable kadang kala harus di deklarasikan tipe datanya sebelum bisa digunakan.
Contoh dalam C/C++
int answerForEverything = 42;
Dalam contoh diatas, variable memiliki nama answerForEverything
bertipe data int
atau integer, dan memiliki nilai 42
.
Variable yang nilainya tidak bisa diubah atau biasanya berupa nilai standard yang tidak perlu diubah. Biasanya disebut dengan konstanta (constant).
Komputer menyimpan variable tidak dengan cara yang sama, ada beberapa jenis tipe data berbeda.
Integer adalah data berupa bilangan. Misalnya 1000
atau 2948
. Tipe yang mirip dengan integer adalah Fixnum, Bignum, long, short, dll. Semuanya integer, hanya rangenya yang berbeda.
Float dan/atau Double adalah bilangan pecahan desimal. Contoh 3.14
(ingat, di barat, angka pecahan tidak menggunakan koma, melainkan tanda titik).
Char atau Character adalah tipe data yang menyimpan data simbol huruf dalam hexadesimal atau binari berisi 1 karakter huruf. Kumpulan dari beberapa char disebut String.
Boolean adalah tipe data yang hanya berisi True
atau False
. Diambil dari nama matematikawan bernama George Boole.
Bisa disebut dengan List, atau Vector. Adalah kumpulan dari beberapa nilai data. Pada bahasa programming tertentu, nilai-nilai dalam sebuah Array harus mempunyai data tipe yang sama. Biasanya deklarasi tipe array dibatasi dengan koma dan ditutup dengan square bracket. Contoh [1,24,948,9394]
Disini kita bicara tentang operasi aritmatik di dalam programming.
Penjumlahan cukup dengan menggunakan tanda +
, contoh: x = 4 + 4
.
Pengurangan menggunakan tanda -
, contoh: y = 98 - 130
.
Perkalian menggunakan tanda *
(asteriks atau shift+8 di keyboard). Contoh: yen_rupiah = yen * 116
Pembagian menggunakan tanda /
. Contoh: potongan_kue = 100 / 8
Ada satu lagi tanda unik yakni menggunakan %
atau divisor. Ini mirip pembagian, hanya saja hasil yang ditampilkan adalah sisa angka yang tidak dapat dibagi. Contoh: 100 % 3
akan menghasilkan 1
.
Dalam programming, anda bisa membandingkan suatu keadaan dengan menggunakan operator pembandingan. Perbandingan akan menghasilkan nilai boolean (true atau false).
Persamaan, menggunakan tanda ==
. Akan menghasilkan TRUE jika kedua pernyataan sama-sama benar. Contoh 5 == 5
menghasilkan TRUE.
Pertidaksamaan, menggunakan tanda !=
. Akan menghasilkan TRUE jika kedua pernyataan tidak sama. Contoh 5 != 10
menghasilkan TRUE, dan 5 != 5
menghasilkan FALSE.
Lebih Besar, menggunakan tanda >
. Menghasilkan TRUE jika pernyataan pertama lebih besar dari pernyataan kedua. Contoh 10 > 5
menghasilkan TRUE, dan 5 > 10
menghasilkan FALSE.
Lebih Kecil, menggunakan tanda <
. Menghasilkan TRUE jika pernyataan pertama lebih kecil dari pernyataan kedua. Contoh 5 < 10
menghasilkan TRUE, dan 10 < 5
menghasilkan FALSE.
Anda bisa menambahkan tanda sama dengan =
setelah lebih kecil atau lebih besar. Contoh 1 <= 1
dan 1 <= 2
menghasilkan TRUE.
Dalam beberapa hal, ===
dan !==
perlu dilakukan, ini untuk mengetes apakah kedua objek adalah sama (atau benar-benar tidak sama), bisa ditemui di Javascript dan Java.
Dalam programming, programmer bakal menemui kejadian dimana dia harus memberikan pilihan berdasarkan kondisi atau kriteria data (file, variabel, dll) yang ada.
if
adalah bentuk percabangan dalam programming dengan mengetes atau membandingkan suatu kondisi. Jika kondisi tersebut dipenuhi, maka statement di dalam bracket if
akan dieksekusi.
Contoh dalam Python:
if pi == 3.14:
perfect_round = True
Anda bisa membuat beberapa percabangan. Biasanya cukup menggunakan else if
(C++,Ruby) atau elsif
(Lua) atau elif
(Python).
Contoh dalam Python:
if nilaiUjian >= 70:
remidi = True
elif nilaiUjian < 70:
remidi = False
Jika tidak ada nilai yang cocok, anda bisa menuliskannya dalam else
. Contoh (Python):
if nilaiUjian >= 70:
remidi = True
elif nilaiUjian < 70 && nilaiUjian >= 50:
remidi = False
else:
tidakNaikKelas = True
Switch adalah bentuk lain dari if else if
yang lebih sederhana. Yang dibandingkan bukanlah kondisi, melainkan nilai.
Contoh dalam PHP
$mark = 3;
switch($nilai) {
case 0:
echo "Persiapan!";
break;
case 1:
echo "Bersedia!";
break;
case 2:
echo "Siap!";
break;
case 3:
echo "Go!";
break;
}
Dalam programming, kadangkala kita harus melakukan beberapa pekerjaan yang sama beberapa kali atau bahkan seterusnya. Anda bisa menggunakan perulangan untuk melakukan hal ini.
Contoh kasus perulangan: Di dalam membuat game, inti code dari game adalah sebuah perulangan abadi, tugas yang diulang biasanya adalah untuk menampilkan grafis.
Perulangan paling mudah. Kode akan dieksekusi selama kondisinya terus menghasilkan TRUE.
Contoh dalam Ruby:
angka = 1
while angka <= 5 do
puts angka
angka += 1
end
Contoh diatas akan menghasilkan:
1
2
3
4
5
Komputer akan terus mengeksekusi kode di dalam bracket selama kondisi angka <= 5
menghasilkan TRUE.
Perulangan Do While adalah perulangan yang mirip dengan While, tapi kode yang akan diulang ditulis lebih dahulu dan kondisinya ada dibawahnya.
Do While akan mengeksekusi kode dalam bracket paling tidak satu kali, walaupun kondisinya tidak cocok.
Contoh dalam Javascript:
var angka = 10;
do {
console.log("Nomor "+angka);
angka++;
}while (angka <= 5);
Hasilnya dalam console:
Nomor 10
Contoh diatas, variable angka
tidak cocok dengan kondisi perulangan angka <= 5
, tapi komputer akan tetap mengeksekusi kode dalam square bracket satu kali.
For
adalah salah satu bentuk perulangan yang cukup membingungkan bagi pemula.
Formatnya seperti ini:
for(inisialisasi ; kondisi; ekspresi terakhir){
// kode yang diulang
}
Contoh penggunaan:
for(var i = 1 ; i <= 5; i++){
console.log("Nomor "+i);
}
Inisialisasi adalah ekspresi awal yang biasanya berupa deklarasi variable. Variable yang di deklarasikan disini masih cuma bisa diakses dalam lingkup perulangan ini sendiri.
Kondisi, seperti dalam While, ini adalah kondisi dimana jika menghasilkan TRUE, loop akan terus dijalankan
Ekspressi Terakhir (Final Expression) biasanya berupa incrementasi/penambahan atau pengurangan dari variable yang diinisialisasi tadi.
For Loop adalah fitur perulangan paling tua, sebelum while, do while diperkenalkan.
For Each loop terdapat dalam beberapa bahasa programming tertentu. Foreach mencacah suatu collection seperti array atau hash/dict.
Contoh dalam PHP:
$raport = ["adi"=>100,"bagus"=>98,"dudu"=>75]
foreach($raport as $nama => $nilai){
echo "$nama mendapatkan nilai $nilai";
}
Menghasilkan:
adi mendapatkan nilai 100
bagus mendapatkan nilai 98
dudu mendapatkan nilai 75
Dalam programming, fungsi (function atau method) berguna untuk menyederhanakan kode daripada harus mengulang-ulang menulis kode yang sama.
Contoh dalam Javascript:
var luas_balok1 = 12 * 12 * 12
var luas_balok2 = 14 * 14 * 14
console.log(luas_balok1);
console.log(luas_balok2);
Dengan fungsi, kita bisa menyederhanakan kode diatas:
function balok(panjang_sisi){
var luas = panjang_sisi ^ 3;
console.log(luas);
return luas;
}
var luas_balok1 = balok(12);
var luas_balok2 = balok(14);