Lewati ke konten utama

List di Scala

Pelajari apa itu list dan bagaimana memanfaatkannya dalam Bahasa Pemrograman Scala.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Anda mungkin juga tertarik membaca tutorial berikut:

Pendahuluan

List (tipe data abstrak)
Sumber: Wikipedia - List (tipe data abstrak)

Struktur singly linked list yang mengimplementasikan list dengan 3 elemen bilangan bulat (Sumber: Wikipedia - List (tipe data abstrak)).

Secara umum, list adalah urutan tipe data abstrak yang merepresentasikan sejumlah nilai tetap. Nilai dapat dimanipulasi secara terprogram oleh sebuah program dan juga dapat muncul lebih dari sekali dalam sebuah list. Contoh instance dari list ditunjukkan pada gambar di atas sebagai singly linked list yang terdiri dari tiga nilai integer. List juga dianggap sebagai struktur data, dan salah satu contoh list sebagai struktur data adalah linked list.

Banyak bahasa pemrograman mendukung list, dan salah satu contoh di mana orang menggunakan list secara ekstensif adalah Python. Sebuah list sering kali dapat dibentuk dengan menulis item-item dalam suatu urutan, dipisahkan dengan koma, titik koma, atau spasi, di dalam sepasang pembatas seperti tanda kurung (), tanda kurung siku [], kurung kurawal {}, atau tanda kurung sudut <>. Beberapa bahasa seperti Python mungkin memungkinkan tipe list untuk diindeks atau diiris seperti tipe array, yang dalam hal tersebut tipe datanya lebih akurat digambarkan sebagai array (Sumber: Wikipedia - List (tipe data abstrak)).

Khusus Scala, list adalah koleksi yang berisi data immutable, yang berarti setelah list dibuat, maka list tersebut tidak dapat diubah. Di Scala, list merepresentasikan linked list.

Dalam list Scala, setiap elemen tidak harus memiliki tipe data yang sama. Implementasi list Scala menggunakan state yang mutable secara internal selama fase konstruksi. Di Scala, list didefinisikan di bawah paket scala.collection.immutable dan karenanya bersifat immutable. Terakhir, Scala List memiliki berbagai metode seperti add, prepend, max, min, dan lain-lain.

Sintaks untuk mendefinisikan Scala List

val variable_name: List[type] = List(item1, item2, item3) atau val variable_name = List(item1, item2, item3) Sebuah list di Scala sebagian besar mirip dengan array Scala. Namun, Scala List bersifat immutable dan merepresentasikan struktur data linked list. Di sisi lain, array Scala bersifat datar dan mutable.

Mari cepat pahami perbedaan di atas dengan bantuan contoh.

Scala List vs. Scala Array

Pertama-tama mari mendefinisikan sebuah array di Scala.

Lalu Anda akan memodifikasi nilai pada indeks ke-1 karena array Scala menggunakan indeks mulai dari nol dan lihat apakah Anda bisa memperbaruinya.

Scala Array

Jadi, seperti yang terlihat dari cuplikan kode di atas, array Scala memang memungkinkan Anda memodifikasi nilai pada indeks ke-1.

Sekarang, Anda akan mendefinisikan sebuah Scala List dan mencoba meniru hal yang sama seperti di atas.

Scala List

Nah, dari contoh di atas, Anda dapat menyimpulkan bahwa karena Scala List bersifat immutable, pembaruan nilai menghasilkan error.

Metode pada Scala List

  • head: Metode ini mengembalikan elemen pertama dari Scala List.

  • tail: Metode ini mengembalikan semua elemen kecuali yang pertama.

  • isEmpty: Metode ini memeriksa apakah list kosong; jika ya, mengembalikan True, jika tidak, False.

  • fill(): Metode ini membuat list seragam yang terdiri atas nol atau lebih salinan dari elemen yang ditentukan.

  • reverse: Metode ini membalik urutan elemen list.

  • $:::$ atau $.:::$ atau .concat(): Menggabungkan dua atau lebih list.

  • tabulate(): Metode ini dapat membuat list secara terstruktur. Semangatnya mirip dengan metode fill(), tetapi berbeda dengan fill(), metode ini menerima dua argumen. Argumen pertama menentukan dimensi list yang akan dibuat, sementara argumen kedua mendeskripsikan elemen-elemen list yang dihitung dari sebuah fungsi.

Jangan khawatir jika beberapa metode di atas belum begitu jelas bagi Anda, karena Anda akan mengimplementasikannya di Scala dengan bantuan contoh. Namun sebelum itu, mari pelajari cara mendefinisikan Scala List.

Anda akan membuat Scala List dengan tipe data string, integer (baik 1D & 2D). Anda juga akan belajar membuat list yang terdiri dari string dan integer sekaligus.

List Integer 1-D

List Integer 1-D

List 1-D dengan Integer dan String

List 1-D dengan Integer dan String

List String 1-D

List String 1-D

List 2-D

List 2-D

Operasi Aritmetika pada List

Pada contoh ini, Anda akan menggunakan list alih-alih hanya mendefinisikan variabel. Tidak seperti variabel, sebuah List dapat menampung sejumlah nilai n; Anda akan melakukan operasi aritmetika pada dua list alih-alih dua variabel.

Jadi, mari cepat pelajari bagaimana hal itu dilakukan.

Untuk menerapkan operasi aritmetika, Anda akan menggunakan fungsi zipped.map yang akan diikuti oleh list x dan y. Kemudian Anda akan menentukan di dalam metode zipped.map operasi yang ingin dilakukan sebagai argumen.

Operasi Aritmetika pada List
Operasi Aritmetika pada List

Terakhir, mari tulis kode yang akan memuat semua metode ini.

object Scala_List_Methods
{

def main(args: Array[String])
{
    // define two lists
    val x = List(1, 40, 10)
    val y = List(20, 25, 30)
    val z = List("DataCamp", "Tutorials", "Are", "The", "Best")

    //Head
    println();
    println("Head of list x, y, z = " + (x.head, y.head, z.head));
    println();

    //Tail
    println("Tail of list x, y, z = " + (x.tail, y.tail, z.tail));
    println();

    //isEmpty
    println("Is list x, y, z empty? = " + (x.isEmpty, y.isEmpty, z.isEmpty));
    println();

    //Concatenate
    println("Concatenating x, y, z lists with the first method = " + (x:::y:::z));
    println("Concatenating x, y, z lists with the second method = " + ((x).:::(y).:::(z)));
    println("Concatenating x, y, z lists with the third method = " + (List.concat(x,y,z)));
    println();

    //Reverse
    println("Reverse of x, y, z is = " + (x.reverse, y.reverse, z.reverse));
    println();

    //Fill
    println("Output of Fill method is = " + (List.fill(5)(z)));
    println();

    //Tabulate
    println("Output of Tabulate method is = " + (List.tabulate(5)(x => x * x * x)));
}
}
Operasi Aritmetika pada List

Kesimpulan

Selamat telah menyelesaikan tutorial Scala ini.

Silakan ajukan pertanyaan terkait tutorial ini di kolom komentar di bawah.

Topik
Scala

Kursus Scala

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

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

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

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

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

Lihat SelengkapnyaLihat Selengkapnya