Variable dan tipe data | Operator | Percabangan | Loop / perulangan

Variable dan tipe data

Variable merupakan tempat penyimpanan data sementara. Variable dapat diberi nama apapun selain nama yang merupakan kata kunci yang digunakan oleh bahasa pemrograman.

Beberapa bahasa tidak memperbolehkan penggunaan nama variable dengan format tertentu, misalkan nama variable tidak dapat diawali dengan angka.

Tipe data standar yang biasa digunakan:

  1. Integer : atau Int, merupakan data bilangan bulat. Dapat digunakan untuk operasi aritmatika. Varian lainnya dengan nilai minimal atau maksimal berbeda: tinyint, bigint, unsigned int
  2. Float : atau Floating point, merupakan data bilangan dengan desimal. Dapat digunakan untuk operasi aritmatika. Varian lainnya: decimal, long, unsigned long
  3. String : data text. Tidak dapat digunakan untuk operasi aritmatika namun memiliki operasi untuk manipulasi text seperti penambahan di depan / belakang, pembagian / split, dll
  4. Symbol : spesifik ruby. Tidak dapat digunakan untuk operasi apapun, hanya digunakan sebagai key comparison
  5. Boolean : atau bool, merupakan data yang hanya memiliki 2 nilai: true dan false. Di beberapa bahasa mungkin dapat digantikan int dengan nilai 1 / 0 (kecuali ruby dimana 0 adalah true).
  6. Array : data yang merupakan gabungan data secara berurutan (bayangkan gerbong kereta dengan isi yang berbeda2). Tergantung dari bahasa yang digunakan array mungkin hanya dapat menerima 1 tipe data yang sama untuk setiap isinya. Array dapat berisi array lagi, dan biasa disebut dengan istilah array 2 dimensi. Isi dari array dapat diakses menggunakan angka index yang normalnya dimulai dari 0.
  7. Hash : atau dictionary, merupakan gabungan data seperti array namun tidak selalu berurutan dan dengan index yang merupakan data yang tidak selalu berupa angka.

Contoh variable dengan berbagai tipe data

 1angka1 = 5 # int
 2angka2 = 3
 3angka1 + angka2 # -> 8
 4
 5angka3 = 2.5 # float
 6angka1 + angka3 # -> 7.5
 7
 8str1 = "hello"
 9str2 = "world"
10str1 + " " + str2 # -> "hello world"
11str2.split("o") # -> ["w", "rld"]
12
13sym1 = :learn # symbol
14sym2 = :code
15sym1 == sym2 # -> false
16
17arr1 = [1, 2, angka2, 4]
18arr1.length # -> 4
19arr1 # -> [1, 2, 3, 4]
20arr1[1] # -> 2
21arr1.push(10)
22arr1 # -> [1, 2, 3, 4, 10]
23
24hsh = {
25  "a" => "hello",
26  :b => "world",
27  3 => 5
28}
29hsh.keys # -> ["a", :b, 3]
30hsh[:b] # -> "world"
31hsh[3] # -> 5

Operator

Aritmatika

Digunakan untuk operasi aritmatika pada tipe data angka (int, float, dan sejenisnya).

13 + 2 # -> 5
25 - 1 # -> 4
32 * 4 # -> 8
410 / 2 # -> 5

Boolean

Digunakan untuk operasi antara tipe data boolean.

  1. && / and : menghasilkan nilai true hanya bila kedua operand adalah true.
  2. || / or : menghasilkan nilai false hanya bila kedua operand adalah false.
  3. ! / not : negasi, menghasilkan nilai false untuk nilai true, dan sebaliknya.
1true && false # -> false
2true && true # -> true
3true || false # -> true
4false || false # -> false
5!true # -> false

Comparison

Digunakan untuk membandingkan 2 tipe data dan menghasilkan boolean.

  1. == : sama dengan, menghasilkan true bila kedua operand memiliki nilai yg sama.
  2. != : tidak sama dengan, menghasilkan true bila kedua operand memilki nilai yg berbeda.
  3. < : lebih kecil, menghasilkan true bila operand pertama lebih kecil dari operand kedua.
  4. > : lebih besar.
  5. <= : lebih kecil atau sama dengan, menghasilkan true bila operand pertama lebih kecil atau sama dengan operand kedua.
  6. >= : lebih besar atau sama dengan.
110 == 5 # -> false
2'hi' == 'hi' # -> true
31 == '1' # -> false
4true != false # -> true
5'ok' != 'ok' # -> false
65 < 10 # -> true
75 > 5 # -> false
85 >= 5 # -> true

String

Operasi paling umum untuk string adalah concatenation untuk menggabungkan 2 string.

Tergantung bahasa yg digunakan, untuk menggabungkan string dapat menggunakan operator + atau mungkin membutuhkan fungsi khusus seperti concat.

Contoh (ruby):

1str1 = 'hello'
2str2 = 'world'
3str1 + ' ' + str2 # -> "hello world"

Contoh (javascript):

1const str = 'number: '
2const num = 10
3str + String(num) // -> "number: 10"

Percabangan

Biasanya terdapat 2 tipe: if dan switch case

Contoh if

 1user_input = gets # tunggu input dari user
 2
 3if user_input == 'hello' # bila input dari user adalah hello
 4  puts "HI!" # respon dengan HI!
 5elsif user_input == 'time' # bila input dari user adalah time
 6  puts Time.now.to_s # respon dengan waktu saat ini
 7else # untuk input user lainnya
 8  puts "Saya tidak mengerti." # respon tidak mengerti
 9end

Contoh switch case dengan kasus yang sama

 1user_input = gets # tunggu input dari user
 2
 3case user_input
 4when 'hello' # bila input dari user adalah hello
 5  puts "HI!" # respon dengan HI!
 6when 'time' # bila input dari user adalah time
 7  puts Time.now.to_s # respon dengan waktu saat ini
 8else # untuk input user lainnya
 9  puts "Saya tidak mengerti." # respon tidak mengerti
10end

switch case digunakan bila kondisi percabangan merupakan 1 variable yang di compare (==) dengan berbagai nilai

Loop / perulangan

Biasanya terdapat 4 tipe:

  1. for
  2. for .. in ..
  3. while
  4. do .. while

for

syntax: for(initial_value; condition; increment) { ... }

kode dijalankan selama counter masih memenuhi kondisi dengan increment setiap kali jalan perulangan

contoh (javascript):

 1for(let counter = 0; counter < 10; counter++) {
 2  console.log('Hitungan ke: ' + (counter + 1))
 3}
 4
 5/*
 6Output:
 7Hitungan ke: 1
 8Hitungan ke: 2
 9...
10Hitungan ke: 10
11*/

for .. in

syntax (ruby): for element in collection do ... end

syntax alternatif (javascript): for(element of collection) { ... }

kode dijalankan untuk setiap element pada collection

contoh (javascript):

 1const array1 = ['a', 'b', 'c'];
 2
 3for (const element of array1) {
 4  console.log(element);
 5}
 6
 7/*
 8Output:
 9a
10b
11c
12*/

while

syntax (ruby): while condition do ... end

kode dijalankan selama condition masih true

contoh (ruby):

 1foods = ['pizza', 'ramen', 'burger', 'fried egg']
 2
 3while !foods.empty? # foods not empty
 4  puts foods.pop # take last food
 5end
 6
 7# output:
 8# fried egg
 9# burger
10# ramen
11# pizza

do .. while

syntax (javascript): do { ... } while (condition)

kode dijalankan terlebih dahulu kemudian dicek bila condition true maka perulangan dilakukan. berbeda dengan while, do .. while akan menjalankan kode paling tidak 1x karena pengecekan dilakukan di akhir.

contoh (javascript):

 1let result = '';
 2let i = 0;
 3
 4do {
 5  i = i + 1;
 6  result = result + i;
 7} while (i < 5);
 8
 9console.log(result);
10// Output: "12345"

contoh (ruby):

1result = ''
2i = 0
3
4while true # ruby tidak memiliki loop do while, maka while dengan kondisi selalu true digunakan
5  i = i + 1
6  result = result + i.to_s # i dikonversi ke string dari integer menggunakan to_s
7  break unless i < 5 # unless merupakan kebalikan if di ruby. break untuk keluar dari loop
8end

fungsi kontrol

fungsi yang biasa digunakan untuk kontrol flow perulangan:

  1. break: digunakan untuk keluar dari perulangan (lihat contoh do .. while untuk ruby)
  2. next: digunakan untuk lanjut ke perulangan selanjutnya tanpa menjalankan kode setelah next

contoh next:

 1arr = [1, 2, 3, 4]
 2for i in arr
 3  next if i.odd? # skip untuk angka ganjil
 4  puts i # tampilkan angka
 5end
 6
 7# Output:
 8# 2
 9# 4

Latihan | Home