Study
← Semua Kategori

Scala

Pengenalan Scala

Pengertian Scala, gabungan paradigma OOP & functional programming, dan menjalankan kode Scala di JVM.

Variabel: val & var di Scala

Perbedaan val (immutable) dan var (mutable) di Scala, serta preferensi kuat memakai val.

Tipe Data & Type Inference

Tipe data dasar Scala (Int, Double, String, Boolean) dan bagaimana compiler menebak tipe otomatis.

Operator di Scala

Operator aritmatika, perbandingan, dan logika di Scala.

Percabangan di Scala (if sebagai Ekspresi)

if/else di Scala sebagai ekspresi yang mengembalikan nilai, bukan sekadar statement.

Perulangan & For-Comprehension di Scala

Perulangan for dan while di Scala, termasuk for-comprehension dengan yield.

Fungsi di Scala

Mendefinisikan fungsi dengan def, parameter, return type, dan fungsi tanpa nama (anonymous function).

Higher-Order Function & Lambda di Scala

Fungsi yang menerima atau mengembalikan fungsi lain, dan sintaks anonymous function (lambda).

Collection: List & Array

Struktur data List (immutable) dan Array di Scala, serta operasi umum penambahan dan penggabungan.

Collection: Map & Set

Struktur data Map (key-value) dan Set (elemen unik tanpa duplikat) di Scala.

Class & Object Dasar di Scala

Mendefinisikan class dengan constructor primer, dan object sebagai singleton bawaan Scala.

Case Class di Scala

Case class sebagai cara ringkas membuat data model immutable, lengkap dengan equals, toString, dan copy otomatis.

Object & Companion Object

Object sebagai singleton, dan companion object yang berbagi nama dengan class untuk method/factory statis.

Trait di Scala

Trait sebagai cara berbagi perilaku antar class, mirip interface tapi bisa punya implementasi default.

Pattern Matching di Scala

match/case sebagai switch yang jauh lebih kuat — bisa mencocokkan tipe, struktur, dan kondisi sekaligus.

Option di Scala

Menghindari null dengan Option[T] — Some(value) atau None, dan cara aman mengakses isinya.

Inheritance di Scala

Pewarisan class dengan extends, override method, dan pemanggilan constructor induk lewat super.

Exception Handling di Scala

Menangani error di Scala dengan try/catch/finally, dan pattern matching pada tipe exception.

Tugas Akhir

Latihan akhir menggabungkan case class, pattern matching, Option, dan higher-order function dalam satu program Scala.