Materi 1
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:
- Integer : atau Int, merupakan data bilangan bulat. Dapat digunakan untuk operasi aritmatika. Varian lainnya dengan nilai minimal atau maksimal berbeda: tinyint, bigint, unsigned int
- Float : atau Floating point, merupakan data bilangan dengan desimal. Dapat digunakan untuk operasi aritmatika. Varian lainnya: decimal, long, unsigned long
- String : data text. Tidak dapat digunakan untuk operasi aritmatika namun memiliki operasi untuk manipulasi text seperti penambahan di depan / belakang, pembagian / split, dll
- Symbol : spesifik ruby. Tidak dapat digunakan untuk operasi apapun, hanya digunakan sebagai key comparison
- 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).
- 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.
- 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).
Boolean
Digunakan untuk operasi antara tipe data boolean.
&&/and: menghasilkan nilai true hanya bila kedua operand adalah true.||/or: menghasilkan nilai false hanya bila kedua operand adalah false.!/not: negasi, menghasilkan nilai false untuk nilai true, dan sebaliknya.
Comparison
Digunakan untuk membandingkan 2 tipe data dan menghasilkan boolean.
==: sama dengan, menghasilkan true bila kedua operand memiliki nilai yg sama.!=: tidak sama dengan, menghasilkan true bila kedua operand memilki nilai yg berbeda.<: lebih kecil, menghasilkan true bila operand pertama lebih kecil dari operand kedua.>: lebih besar.<=: lebih kecil atau sama dengan, menghasilkan true bila operand pertama lebih kecil atau sama dengan operand kedua.>=: lebih besar atau sama dengan.
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):
Contoh (javascript):
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:
forfor .. in ..whiledo .. while
for
syntax: for(initial_value; condition; increment) { ... }
kode dijalankan selama counter masih memenuhi kondisi dengan increment setiap kali jalan perulangan
contoh (javascript):
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):
while
syntax (ruby): while condition do ... end
kode dijalankan selama condition masih true
contoh (ruby):
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):
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:
- break: digunakan untuk keluar dari perulangan (lihat contoh
do .. whileuntuk ruby) - next: digunakan untuk lanjut ke perulangan selanjutnya tanpa menjalankan kode setelah next
contoh next: