Kursus
Pendahuluan

Scala dirancang oleh Martin Odersky, seorang profesor di École Polytechnique Fédérale de Lausanne (EPFL) di Swiss dan ilmuwan komputer asal Jerman. Martin mulai mengembangkan Scala pada tahun 2001, dan pertama kali dirilis pada tahun 2004.
Scala adalah singkatan dari Scalable Language. Ini adalah bahasa tujuan umum yang berorientasi objek dan memiliki beberapa kesamaan dengan bahasa pemrograman Java. Scala juga mendukung pemrograman fungsional. Banyak keputusan desain Scala ditujukan untuk mengatasi kekurangan dalam bahasa pemrograman Java.
Beberapa fitur yang ditawarkan Scala antara lain:
-
Kode sumber Scala dapat dikompilasi ke bytecode Java dan karena itu dapat dieksekusi pada Java Virtual Machine (JVM).
-
Scala menyediakan interoperabilitas bahasa dengan Java sehingga pustaka yang ditulis dalam salah satu bahasa dapat dirujuk di basis kode Scala atau Java.
-
Seperti Java, Scala juga menggunakan sintaks kurung kurawal.
-
Scala memiliki banyak fitur bahasa pemrograman fungsional seperti Scheme, Standard Machine Learning, dan Haskell, termasuk currying, inferensi tipe, imutabilitas, evaluasi malas, dan pencocokan pola.
-
Dukungan untuk aplikasi Web menggunakan JavaScript.
-
Tidak seperti Java, Scala juga mendukung operator overloading, parameter opsional, parameter bernama, dan raw string.
Satu fakta menarik tentang Scala adalah bahasa ini banyak digunakan oleh perusahaan seperti Apple, Twitter, Walmart, dan Google karena skalabilitasnya dan kemampuannya digunakan dalam operasi backend.
Menyiapkan Scala di Jupyter Notebook
Jupyter Notebook adalah salah satu alat yang paling luas digunakan dalam ilmu komputer, khususnya di bidang data science. Jupyter juga mendukung pengembangan Scala dengan bantuan spylon-kernel.
Catatan: Bagi Anda yang baru mengenal Jupyter Notebook, silakan lihat tutorial komprehensif ini.
Menyiapkan lingkungan Scala di Jupyter Notebook tidaklah rumit. Mari kita atur dengan cepat dalam beberapa langkah saja.
-
Pertama, Anda akan memasang
spylon-kernel.pip install spylon-kernel(Python 2)pip3 install spylon-kernel(Python 3) -
Selanjutnya, Anda akan membuat spesifikasi kernel yang memungkinkan Anda memilih
scala-kerneldi Jupyter Notebook.python -m spylon_kernel install(Python 2)python3 -m spylon_kernel install(Python 3) -
Kemudian, sebagai langkah penting, Anda akan memasang
pysparkdanfindsparkkarenaspylon-kerneljuga memasang beberapa komponenspark.pip install pyspark findspark(Python 2)pip3 install pyspark findspark(Python 3) -
Terakhir, jalankan Jupyter Notebook Anda dan pilih kernel
spylon-kerneldan Anda siap memulai!

- Mari jalankan sedikit potongan kode untuk menguji apakah kernel Scala sudah dikonfigurasi dengan benar atau belum.
val x = 2
val y = 3
x*y
x: Int = 2
y: Int = 3
res1: Int = 6
Hebat! Seperti yang terlihat dari keluaran di atas, Anda berhasil mengonfigurasi lingkungan Scala di Jupyter Notebook.
Sintaks Dasar
Mari mulai dengan mencetak Hello, World! di Scala.
print("Hello, World!")
Hello, World!
Seperti yang Anda lihat, ini sangat sederhana, hanya perintah print diikuti masukan sebagai argumen.
Sekarang, mari lihat beberapa detail terkait Sintaks di Scala:
-
Scala peka huruf besar-kecil, yang berarti pengenal
DataCampdandataCampakan memiliki makna berbeda di Scala. -
Di Scala, huruf pertama semua nama kelas harus
Huruf Besar. Jika banyak kata digabungkan untuk membentuk nama kelas, huruf pertama setiap kata harus Huruf Besar. Contohnya,class MyScalaDataCampTutorial. -
Nama metode di Scala bekerja sedikit berbeda dibandingkan dengan
nama kelasterutama untuk membedakannama metodedarinama kelas. Nama metode harus diawali dengan huruf kecil (Sumber). Jika beberapa kata digabungkan untuk membentuk nama metode, maka huruf pertama setiap kata di dalamnya harus Huruf Besar. Contohnya,def firstDatacampScalaTutorial() -
Di Scala, nama berkas program harus persis sama dengan nama objek. Saat menyimpan berkas, Anda harus menyimpannya menggunakan nama objek dan menambahkan
.scaladi akhir nama. Misalnya, katakanlahScalaTutorialadalah nama objek. Maka berkas harus disimpan sebagaiScalaTutorial.scala.Catatan: Jika nama berkas dan nama objek tidak cocok, program Anda bahkan tidak akan dapat dikompilasi.
-
Terakhir, seperti kebanyakan bahasa pemrograman, pemrosesan program Scala juga dimulai dari metode
main(), yang merupakan bagian krusial dari setiap Program Scala.
Gambar di bawah menunjukkan kata-kata yang dicadangkan di Scala yang tidak dapat digunakan sebagai konstanta atau variabel atau sebagai pengenal lainnya.
Tipe Data
Tipe data di Scala hampir identik dengan banyak bahasa pemrograman lain seperti C, C++, Java, Python, dll. dengan jejak memori dan presisi yang serupa.
Terakhir, mari kita lihat beberapa tipe data yang ada di Scala:
-
Int: Nilai bertanda 32-bit (dapat bernilai positif maupun negatif) memiliki rentang dari $2^{-31}$ hingga $2^{31} - 1$
-
Byte: Nilai bertanda 8-bit memiliki rentang dari $2^{-7}$ hingga $2^{7} - 1$
-
Short: Nilai bertanda 16-bit memiliki rentang dari $2^{-15}$ hingga $2^{15} - 1$
-
Long: Nilai bertanda 64-bit memiliki rentang dari $2^{-63}$ hingga $2^{63} - 1$
-
Float: Baik 32-bit (float presisi tunggal) maupun 64-bit (float presisi ganda)
-
Char: Karakter Unicode 16-bit tak bertanda (hanya dapat bernilai positif).
Beberapa tipe data lainnya adalah String, Boolean, Null.
Kesimpulan
Selamat telah menyelesaikan tutorial ini.
Ini adalah titik awal yang baik bagi pemula yang tertarik mempelajari Scala.
Untuk mempelajari lebih lanjut, lihat tutorial Scala dari DataCamp:
Dasar-dasar Fungsi dan Metode di Scala
Masih banyak informasi terkait Scala yang belum dibahas seperti if/else, for loop, berbagai operator di Scala, dan lain-lain, yang akan dibahas dalam tutorial mendatang, jadi nantikan terus!
Referensi:
Jangan ragu untuk mengajukan pertanyaan apa pun terkait tutorial ini di kolom komentar di bawah.
