Data types atau tipe data adalah sebuah pengklasifikasian data berdasarkan jenis data tersebut. Untuk mengembangkan sebuah program, ada beberapa tipe data yang akan kita pelajari. Di antaranya
adalah Character, String, Array, Numbers dan Booleans. Semuanya akan kita bahas sejelas dan sesederhana mungkin di dalam modul ini.Namun sebelumnya, ada satu hal yang kita perlu tahu terlebih dahulu, yaitu Variabel. Umumnya variabel digunakan untuk menyimpan informasi atau nilai yang akan dikelola di dalam sebuah program. Sebuah variabel akan membutuhkan kata kunci var atau val, identifier, type dan initialization. Kira-kira strukturnya seperti berikut:
- var identifier: Type = initialization
Berikut adalah contoh variabel dengan tipe String:
- var company: String = "Dicoding"
Mari kita ulas setiap bagian pada struktur variabel di atas.
- var atau val
var atau val digunakan untuk mengontrol nilai dari sebuah variabel. Dengan kata kunci var kita bisa mengubah nilai yang sudah kita inisialisasikan. Sebagai contoh:Variabel company yang awalnya memiliki nilai “Dicoding” sekarang sudah diubah menjadi “Dicoding Academy”. Sedangkan jika kita menggunakan kata kunci val, kita tidak bisa mengubah nilai yang sebelumnya sudah kita inisialisasi. Jika kita memaksa untuk mengubahnya, maka akan terjadi eror seperti berikut:- var company: String = "Dicoding"
- company = "Dicoding Academy"
- val company: String = "Dicoding"
- company = "Dicoding Academy" //Val cannot be reassigned
- Identifier
Identifier merupakan nama dari sebuah variabel. Pada contoh kode di atas yang merupakan identifier adalah company. Perlu diketahui bahwa di dalam sebuah program kita tidak bisa membuat lebih dari 1 (satu) variabel dengan nama sama. - Type
Pada bagian inilah kita menentukan tipe data dari variabel tersebut. Tipe data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data akan digunakan. Tipe data dari contoh variabel di atas adalah String. Karena Kotlin merupakan statically typed programming language maka kita diperbolehkan untuk tidak menuliskan tipe data secara eksplisit:- val company = "Dicoding"
- InitializationDan yang terakhir adalah initialization atau nilai awal dari sebuah variabel. Pada contoh di atas yang berperan sebagai initialization adalah “Dicoding” dan “Dicoding Academy”.
Tipe data juga menentukan operasi apa saja yang dapat dilakukan pada sebuah variabel dan bagaimana nilai dari sebuah variabel disimpan. Contoh, ketika kita menggunakan operator + terhadap dua variabel yang bertipe String seperti berikut:
- fun main() {
- val firstWord = "Dicoding "
- val lastWord = "Academy"
- print(firstWord + lastWord)
- }
- /*
- output: Dicoding Academy
- */
Maka kedua nilai dari variabel firstName dan lastName akan digabungkan menjadi satu nilai. Berbeda ketika kita menggunakan operator + pada variabel yang bertipe Int seperti berikut:
- fun main() {
- val valueA: Int = 10
- val valueB = 20
- print(valueA + valueB)
- }
- /*
- output: 30
- */
Kompiler akan menjalankan operasi aritmatika, seperti pada contoh di atas di mana nilai dari variabel valueA dan valueB akan dijumlahkan lalu menghasilkan nilai baru