preloader

Mengenal Bahasa Pemograman SCALA

Hallo sahabat Powercode, semoga kalian selalu semangat menjalani hari-hari yang penuh rintangan ini ya. Nah pada kesempatan kali ini kita akan membahas tentang Mengenal Bahasa Pemograman SCALA.

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 (forwhile). Di Scala kita bisa menggunakan mapflatMapfilterexists 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)

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.

Simak artikel kami yang lain di bawah ini :

Ingin membuat sebuah Website tapi bingung mau bikin nya? tenang Powercode Solusi nya! Pembuatan website anda akan ditangani oleh programmer terbaik kami Silahkan kunjungi pembuatan website kami

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *