Berkenalan dengan Scala

Yusuf Aji W
SkyshiDigital
Published in
4 min readApr 3, 2017

--

Tahukah kita, sebenarnya ada lebih dari 500 bahasa pemrograman yang ada di dunia. Dari sekian banyak tersebut, berapa yang sudah kita kuasai?. :)

Ya, mari belajar!.

Sejarah Scala

Kali ini kita akan belajar Scala, sebuah bahasa pemrograman yang diciptakan oleh Martin Odersky. Beliau seorang Profesor di École Polytechnique Fédérale de Lausanne, sebuah kampus di Lausanne, Swiss. Beliau juga salah satu orang yang ikut andil dalam pengembangan generic dan compiler javac di Java.

Kata Scala sendiri merupakan kependekan dari “Scalable Language”. Penamaan ini dengan harapan bahwa Scala dapat berkembang sebagai sebuah program sederhana maupun sistem yang besar sesuai ide dan kebutuhan penggunanya. Karena berjalan diatas Java Virtual Machine (JVM), Scala memiliki performa yang relatif cepat dan juga memungkinkan untuk menggabungkan kode di Scala dengan di Java. Termasuk library, framework dan tool yang ada di Java, bisa kita gunakan di Scala. Jadi bagi yang sudah menguasai Java, tentu akan lebih mudah untuk belajar.

Mengapa Scala?

Scala menggabungkan konsep Object Oriented Programming (OOP) yang kita kenal di Java dengan konsep Functional Programming (FP). Adanya konsep FP inilah yang menjadikan Scala sangat ekspresif, nyaman dan menyenangkan untuk digunakan walaupun untuk memahami konsep FP sendiri menurut saya cukup sulit. Mungkin perlu penjelasan lebih lanjut mengenai konsep ini, yang jelas sangatlah menarik. Hasil dari Stackoverlow Developer Survery 2017 yang baru-baru ini dirilis menempatkan Scala di 9 besar untuk bahasa yang paling disenangi. Dan bahkan di Amerika Serikat, Scala menjadi bahasa dengan bayaran paling tinggi (setara dengan Go). Yeah, mungkin karena developernya terbatas sedangkan kebutuhannya semakin banyak. :p

Di Scala kita bisa menulis kode lebih ringkas dibandingkan di Java (penuh dengan boilerplate) untuk sebuah hasil yang sama. Contoh ketika kita ingin membuat sebuah kelas di Java.

class MyClass {

private int index;
private String name;

public MyClass(int index, String name) {
this.index = index;
this.name = name;
}
}

Sedangkan di Scala kita hanya perlu menuliskan seperti ini

class MyClass(index: Int, name: String)

Keringkasan kode yang ada di Scala sangat berguna saat kita bertemu kasus-kasus yang rumit, terutama pada perulangan (for, while). Di Scala kita bisa menggunakan map, flatMap, filter, exists dan sebagainya tanpa harus berpusing ria dengan perulangan. Seperti contoh dibawah ini, saat kita ingin menemukan sebuah String berisi karakter uppercase atau tidak, mungkin kita akan menuliskan kode seperti ini di Java.

boolean nameHasUpperCase = false;
for (int i = 0; i < name.length(); ++i) {
if (Character.isUpperCase(name.charAt(i))) {
nameHasUpperCase = true;
break;
}
}

Sedangkan di Scala kita hanya perlu menuliskan seperti ini.

val nameHasUpperCase = name.exists(_.isUpperCase)

Terlihat ringkas bukan?. Hal ini membuat kesalahan syntax menjadi minimal, penulisan lebih cepat dan tentunya lebih mudah untuk dibaca.

https://uploads.toptal.io/blog/image/548/toptal-blog-image-1409691715906.png

Saat ini Scala banyak digunakan pada platform web seperti pada Akka dan Play Framework. Selain itu perkembangan Scala menjadi signifikan akhir-akhir ini juga akibat dari perkembangan teknologi-teknologi Big Data seperti Apache Spark, sebuah framework untuk komputasi data berbasis klaster. Apache Spark dibuat dan digunakan menggunakan bahasa Scala. Beberapa perusahaan besar juga sudah menggunakan Scala seperti Twitter, LinkedIn, dan Netflix.

Instalasi Scala

Untuk menggunakan Scala pastikan Java environment sudah terinstal di komputer kita, dengan minimal versi 6. Untuk Scala versi 2.12 dibutuhkan minimal Java versi 8. Selanjutnya kita bisa mencoba Scala dengan tiga cara, yaitu mengunduhnya, menggunakan sbt maupun menggunakan Scala IDE (Eclipse) atau IntelliJ IDEA dengan plugin Scala. Tetapi kali ini saya akan mengunduhnya langsung di mesin GNU/Linux saya.

$ wget http://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz

Scala 2.12.1 adalah versi terakhir saat artikel ini ditulis.

$ tar -xvf scala-2.12.1.tgz
$ mv scala-2.12.1 /usr/local/share/scala

Setelah itu kita bisa mengatur path menuju direktori Scala dengan menambahkan skrip ini pada file .bashrc atau .zshrc .

export SCALA_HOME=/usr/local/share/scala
export PATH=$PATH:$SCALA_HOME/bin

Kemudian kita bisa langsung menggunakan Scala interpreter atau REPL di terminal kita.

$ scala
Welcome to Scala 2.12.1 (OpenJDK 64-Bit Server VM, Java 1.8.0_121).
Type in expressions for evaluation. Or try :help.
scala>

Yey, kita bisa belajar dan bermain hal-hal sederhana di Scala dengan melalui terminal.

scala> print("Halo dunia")
Halo dunia
scala>

Selain itu, kita juga bisa mencoba Scala di peramban kita tanpa perlu menginstal apapun. Silakan kunjungi http://www.scalakata.com/, https://scastie.scala-lang.org.

https://scastie.scala-lang.org/

Referensi Online

Sebagai referensi, Scala menyediakan dokumentasi yang sangat lengkap. Silakan kunjungi http://www.scala-lang.org/documentation/.

Jika tertarik dan ingin memahami Scala lebih jauh, kita bisa mengikuti beberapa course online gratis seperti di bawah ini.

Terima kasih, dan selamat belajar. :D

--

--