Lewati ke konten utama

Variabel dalam Scala

Pelajari variabel Scala, aturan mendefinisikan variabel, berbagai jenis variabel dengan deklarasi dan penugasan berganda serta cakupan variabel.
Diperbarui 29 Sep 2026  · 10 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Lihat kursus Scala terbaru dari DataCamp: Introduction to Scala.

Scala banyak digunakan oleh data scientist saat menangani volume data besar bersama Apache Spark di bidang Big Data. Ini adalah bahasa pemrograman berorientasi objek sekaligus fungsional dengan banyak fitur penting lainnya sebagai berikut:

  1. Scala dikenal sebagai bahasa bertipe statis, di mana tipe data untuk variabel didefinisikan sebelum digunakan. Pemeriksaan tipe dilakukan saat kompilasi, bukan saat runtime.
  2. Ini juga merupakan bahasa "Strongly Typed" di mana variabel diperiksa sebelum dilakukan operasi di dalamnya.
  3. Scala juga mendukung Type Inference, di mana kompiler menyimpulkan tipe dari ekspresi atau literal, sehingga deklarasi tipe variabel bersifat opsional.

Dalam tutorial ini, Anda akan membahas topik-topik berikut:

Variabel

Variabel adalah ruang bernama dalam memori, dan kompiler mengalokasikan lokasi yang dipesan sesuai dengan tipe data dari variabel terkait. Variabel dideklarasikan dengan sintaks berikut dalam Scala sebagai berikut:

val or val variable_name: variable_datatype = value;

Pada sintaks di atas, variabel dapat didefinisikan dengan dua cara menggunakan kata kunci 'var' atau 'val'. Ini terdiri dari 'variable_name' sebagai variabel baru Anda, diikuti dengan titik dua. Tipe data variabel adalah 'variable_datatype' yang dapat berupa tipe data apa pun yang valid. Setelah itu 'value' akan diisikan ke 'variable_name'.

Contoh:

val varValue: Byte = 8;

'val' adalah kata kunci untuk mendefinisikan variabel, dan 'varValue' adalah nama variabel. Tipe datanya adalah 'Byte' dan berisi nilai 8. 'Byte' adalah nilai bertanda 8-bit, yang berkisar dari 2−7 hingga 27−1.

'variable_datatype' di atas dapat berupa tipe data apa pun yang ada di Scala, di antaranya sebagai berikut.

  1. Int: Tipe bertanda 32 bit (nilai positif atau negatif), dengan rentang dari 2−31 hingga 231−1.
  2. Byte: Nilai bertanda 8-bit dengan rentang dari 2−7 hingga 27−1.
  3. Short: Nilai bertanda 16-bit dengan rentang dari 2−15 hingga 215−1.
  4. Float: Dapat berupa 32 bit atau 64 bit.

Demikian pula, tipe data lain seperti Long, Char, Boolean, Char, String, Boolean, Null memiliki rentang masing-masing, dan penjelasan terperinci diberikan dalam tutorial Beginner’s Guide to Scala. Selain itu, 'variable_datatype' harus diawali huruf kapital, misalnya Int diawali 'I', yang menunjukkan semua tipe data di atas adalah objek dalam Scala.

Aturan Mendefinisikan Variabel dalam Scala

Aturan dan konvensi untuk mendefinisikan variabel dalam Scala adalah sebagai berikut:

  1. Nama variabel menggunakan lower camel case. Misalnya, pada nama variabel 'nameOfGirl,' huruf 'n' kecil. Selanjutnya, kapitalisasi huruf awal setiap kata seperti 'O' dan 'G'.
  2. Nama variabel tidak boleh mengandung kata cadangan atau kata kunci yang didefinisikan dalam Scala.
  3. Nama variabel dapat mengandung tanda dolar ('$') dan garis bawah ('_'). Namun, karakter khusus lain seperti '#','&', dll., tidak diperbolehkan. Selain itu, penggunaan garis bawah tidak dianjurkan.
  4. Spasi putih (tab, spasi) tidak diperbolehkan dalam nama variabel.
  5. Nama variabel harus diawali huruf dan tidak boleh diawali angka atau karakter lain.

Variabel Mutable

Variabel mutable memungkinkan perubahan nilai variabel bahkan setelah variabel dideklarasikan.

Sintaks variabel mutable ditunjukkan di bawah ini:

var variable_name : variable_datatype = value;

Sintaks variabel mutable juga dapat didefinisikan sebagai berikut:

var variable_name = value;

Contoh variabel mutable ditunjukkan di bawah ini:

var nameOfThing: String = "Car";

Contoh di atas berisi var sebagai kata kunci untuk mendefinisikan variabel mutable. Nama variabelnya adalah 'nameOfThing'. Diikuti titik dua dengan tipe data variabel 'String'. Nilainya yang tersimpan di memori adalah 'Car'.

Contoh variabel mutable dengan sintaks berbeda dapat dilakukan sebagai berikut:

var nameOfThing = "Car";

Anda dapat mendefinisikan variabel tanpa mencantumkan tipe datanya, seperti di atas. Kompiler Scala secara otomatis menentukannya sebagai tipe data 'String', yang disebut Type Inference.

Anda dapat dengan mudah mengubah nilai variabel seperti di bawah ini:

nameOfThing = "Bike";
print(nameOfThing)

Nilai variabel akan berubah dari "Car" menjadi "Bike." Keluaran akan berupa "Bike," karena kata kunci 'var' memungkinkan Anda mengubah nilai variabel (Sumber: Variables in Scala).

Variabel Immutable

Variabel immutable adalah variabel yang nilainya tidak dapat diubah setelah dibuat dan dideklarasikan menggunakan kata kunci 'val'.

Sintaks variabel immutable ditunjukkan di bawah ini:

val variable_name : variable_data type = value;

Sintaks variabel immutable juga dapat didefinisikan sebagai berikut:

val variable_name = value;

Contoh variabel immutable ditunjukkan di bawah ini:

val numberOfThing: Int = 2;

Contoh di atas berisi val sebagai kata kunci untuk mendefinisikan variabel immutable dan nama variabel 'numberOfThing.' Diikuti titik dua dengan tipe data variabel 'Int' dengan nilai yang disimpan di memori adalah 2.

Contoh variabel immutable dengan sintaks berbeda dapat dilakukan sebagai berikut:

val numberOfThing = 2;

Anda dapat mendefinisikan variabel tanpa tipe data seperti di atas, di mana kompiler Scala secara otomatis menentukan bahwa itu bertipe 'Int'. Proses ini disebut Type Inference (Sumber: Variables in Scala).

Anda tidak dapat mengubah nilai variabel seperti berikut:

numberOfThing = 7;

Contoh di atas akan menghasilkan galat seperti "error: not found: value numberOfThing", yang menunjukkan bahwa penetapan ulang nilai tidak memungkinkan seperti yang ditunjukkan di bawah ini:

error

Deklarasi dan Penugasan Berganda

Deklarasi berganda dimungkinkan di Scala menggunakan kata kunci 'var' dengan nama variabel dipisahkan oleh koma dan tanda "=" dengan nilai untuk variabel tersebut.

var (x, y, z) = (5, 4.5, "Sit")

Pada contoh di atas, Anda dapat melihat semua variabel x, y, dan z masing-masing diisikan nilai 5, 4.5 dan "Sit" sebagai berikut.

variables

Penugasan berganda juga dimungkinkan di Scala dalam satu baris menggunakan kata kunci 'val' dengan nama variabel dipisahkan koma dan tanda "=" dengan nilai untuk variabel.

val a, b, c = 1;

Pada contoh di atas, Anda dapat melihat semua variabel a, b, dan c diisikan nilai 1 seperti berikut.

variables

Cakupan Variabel

Cakupan adalah visibilitas variabel yang memiliki masa hidup di dalam blok kode tertentu. Variabel dapat didefinisikan dalam Cakupan Lokal atau Global. Contoh:

var globalVar = 10
def sub(){
var difference = 9-4;
}
print(difference)//Error
print(globalVar)//Valid

Pada kode di atas, variabel 'difference' berada dalam Cakupan Lokal karena dideklarasikan di dalam metode 'sub', dan operasi pengurangan akan menghasilkan nilai yang valid, tetapi mencetak nilainya di luar metode 'sub' akan menyebabkan galat. Ada juga Cakupan Global di mana variabel 'globalVar' dapat diakses di mana saja dalam program, dan operasi apa pun dapat dilakukan terhadapnya.

Ada tiga jenis cakupan untuk variabel dalam Scala (Sumber: Scala- Variables):

  1. Variabel lokal
  2. Field
  3. Parameter Metode

Variabel Lokal

Variabel lokal adalah variabel mutable atau immutable yang dideklarasikan di dalam sebuah metode dan hanya dapat diakses di dalam metode tersebut, tidak di luar.

Anda dapat melihat contoh sederhana di bawah untuk mengetahui tentang Variabel Lokal:

class Perimeter  
{
    def triangle()  
    {
        var side1 = 10;
        var side2 = 20;
        var side3 = 30;

        var total = side1+side2+side3;
        print("Perimeter of the  triangle is: " + total);
    }
}

object Test  
{

    def main(args:Array[String])  
    {
        val p1 = new Perimeter()
        p1.triangle()
    }
}
defined class Perimeter
defined object Test

Kode di atas memberikan hasil:

The perimeter of the triangle is: 60

Program di atas berisi kelas bernama 'Perimeter' dan objek bernama 'Test' di mana ada metode bernama triangle dengan tiga variabel mutable yaitu side1, side2, side3. Perhitungan dan pencetakan hasil akan dilakukan di dalam metode, yang akan memberikan keluaran yang benar.

Field

Variabel yang didefinisikan di dalam kelas disebut variabel field yang bisa berupa tipe apa pun, baik variabel mutable maupun immutable. Modifier akses akan otomatis menjadi public jika variabel dideklarasikan di dalam kelas, tetapi tidak boleh didefinisikan di dalam metode mana pun sehingga variabel dapat diakses di mana saja dalam program. Namun, variabel private dapat diakses di dalam kelas yang didefinisikan tetapi tidak dapat diakses di luar cakupan kelas atau bahkan di dalam objek.

class FieldExample
{
  var value1 = 10;
  private var value2 = 30;
  def operation()
  {
    println("Value of value1:"+value1)
  }
  println("Value of value2: "+value2);
}

object Demo
{
  def Main(args:Array[String])
  {
    val obj = new FieldExample()
    obj.operation()
    print(obj.value1)//Valid
    print(obj.value2)


  }
}
defined class FieldExample
defined object Demo

Kode di atas memberikan hasil:

Value of value2: 30
Value of value1:10
10

Program di atas berisi kelas bernama 'FieldExample,' objek bernama 'Demo' dan metode 'operation.' Variabel public value1 dapat diakses menggunakan notasi titik, dan nilainya tercetak sebagai 10. Variabel private value2 bernilai 30, di mana upaya mengakses variabel tersebut dan mencetaknya akan menyebabkan galat.

Parameter Metode

Parameter metode adalah variabel yang menerima nilai saat metode dipanggil, dan variabel harus immutable, yang didefinisikan menggunakan kata kunci 'val'. Selain itu, variabel dapat diakses di luar metode saat ada referensi yang dibuat kepadanya.

Anda dapat melihat contoh sederhana di bawah untuk mengetahui tentang Parameter Metode:

class Triangle
{
    def calculate(height: Int, width: Int)
    {
        var result = 0.5*(height+width);
        println("Area of triangle is: " + result);
    }
}

object Area  
{
     def main(args:Array[String])
    {
        val a = new Triangle()
        a.calculate(4,5);
    }
}
defined class Triangle
defined object Area

Kode di atas memberikan hasil:

Area of triangle is: 4.5

Program di atas berisi kelas bernama 'Triangle.' Di dalamnya terdapat metode bernama 'calculate' dengan dua parameter metode height dan width. Nilai integer 4 dan 5 diteruskan saat 'calculate' dipanggil menggunakan instance objek a.

Kesimpulan

Selamat, Anda telah mencapai akhir tutorial ini!

Dalam tutorial ini, Anda telah membahas variabel Scala, aturan untuk mendefinisikan variabel, berbagai jenis variabel dengan Deklarasi dan Penugasan Berganda serta Cakupan variabel di dalamnya.

Jika Anda ingin mempelajari lebih lanjut tentang Scala, ikuti kursus DataCamp Introduction to Scala.

Topik
Scala

Kursus untuk Python

Kursus

Introduction to Scala

3 jam
27.1K
Begin your journey with Scala, a popular language for scalable applications and data engineering infrastructure.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya