Swift: Variable & Constant

Variable dan Constant dalam pemrograman adalah suatu suatu wadah untuk menyimpan informasi. Dalam variable, isi dari wadah ini bisa diganti-ganti asal jenisnya sama. Sedangkan calam constant, sekali wadahnya diisi dia tidak bisa diganti lagi dengan nilai lain.

Tipe Variable dan Constant tergantung kepada jenis nilai yang akan menempatinya. Misalnya variable tipe Int akan menyimpan nilai bilangan integer, dan variable/constant tipe String akan menyimpan string. 

Variable dan Constant harus dideklarasikan terlebih dahulu sebelum bisa digunakan. Berikut cara menggunakan variable. Silakan buka playground.

import UIKit

//constant (konstanta) dideklarasikan dengan keyword 'let'
let nama = "Rustamaji"

//variable dideklarasikan dengan keyword 'var'
var umur = 30

umur = 44  //variable umur bisa diubah nilainya

nama = "Bukan Rustamaji"  //konstanta nama tidak bisa diubah (Error)

Seperti pada contoh di atas, variable umur bisa diubah nilainya sedangkan constant nama tidak bisa dan akan menyebabkan error

Tipe Variable dan Constant dapat dituliskan secara eksplisit atau implisit seperti contoh di atas, Swift akan menentukan tipenya berdasarkan nilai initialisasi awal. Seperti variable nama adalah String dan konstanta umur adalah Integer. 

Untuk menuliskan tipe variable/constant secara eksplisit, gunakan colon (titik dua) sebagai berikut:

TIpe Variable

Tipe variable bisa bisa dikelompokkan menjadi 2, yaitu:

  1. Tipe Primitive
  2. Tipe Collection
  3. Tipe Object

Yang termasuk tipe primitive adalah seperti bilangan (Integer/bulat dan Float/pecahan), character dan boolean. String adalah tipe collection karena merupakan collection dari character. Dalam bahasa Swift, integer terdiri dari beberapa macam tergantung jumlah bits nya dan apakah termasuk bilangan negative, seperti Int8, Int,16,Int32 dan Int64 adalah bilangan integer yang disusun dari 8,16,32, dan 64 bits. Sedangkan Uint8, Uint16, Uint32 dan Uint54 adalah bilangan integer non-negative (unsigned)

Usahakan selalu gunakan tipe generik Int kecuali kalau memang ada keperluan untuk menggunakan jenis Integer lainnya. Penggunaan tipe generic Int akan membuat program kita lebih kompatible ke depannya.

Jenis bilangan floating point ada dua yaitu Float dan Double. Perbedaannya terlaetak pada presisi dan nilai terbesar yang bisa digunakan. Double (64 bits) lebih presisi dan lebih besar angka yang bisa diberikan. daripada Float (32 bits).

Bahasa pemrograman Swift adalah termasuk jenis type safe, artinya kita harus benar-benar memperhatikan jenis/tipe variablenya ketika melakukan operasi. Kalau salah akan lansung menyebabkan compile error.

Tipe boolean (Bool) adalah tipe khusus yang nilainya hanya bisa true atau false.  seperti contoh di bawah ini:

import UIKit

let nama:String = "Rustamaji"

//variable boolean
var sehat:Bool = true
sehat = false

Variable tipe collection ada dua jenis, yaitu Array dan Dictionary. Array menyimpan beberapa informasi dalam satu kontainer array. Suatu array bisa menyimpan banyak informasi namun harus satu tipe, misalnya String adalah tipe koleksi yang berisi character.

Untuk mendeklarasikan Array bisa dilakukan dengan cara menginisiasinya sbb:

let siswa = ["Anang", "Annahl", "Isamu", "Izaz"]

var bilanganPrima = [2,3,5,7,11]

let primaPertama = bilanganPrima[0]

bilanganPrima += [13,17]

Pada contoh di atas konstanta siswa adalah suatu collection yang berisi 4 buah String dan variable bilanganPrima memiliki 5 anggota bilangan prima. Perhatikan penggunaan kurung siku untuk Array, sedangkan kurung lengkung kita gunakan untuk mendeklarasikan Tuple.

Perhatikan dalam Array, anggota pertama dinyatakan dengan indeks 0. Sebagai contoh di atas, bilangan prima pertama dinyatakan dengan anggota ke-0 dari variable bilanganPrima.

Tipe dictionary adalah variable/constant dengan pasangan key:value. Contohnya

var kota: [String:String] = ["JKT":"Jakarta"]

var umurSiswa: [String:Int] = ["Anang":16, "Ayya":17]

var namaSiswa : [Int:String] = [1: "Stephen", 2:"Rania", 3:"Fadhil"]

Variable/constant jenis Object akan dibahas nanti pada saat pembahasan class/structure