0Pricing
Swift Academy · Pelajaran

Koleksi

Koleksi

Koleksi adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 1. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 1 pelajaran total.

Pendahuluan

Halo,

Dalam pelajaran ini, kita akan mempelajari tipe koleksi di Swift, yang merupakan salah satu topik terpenting.

Jadi, mari kita mulai.

Ada 3 tipe koleksi di Swift.

Larik → Tipe koleksi berurutan.

Himpunan → Tipe koleksi yang tidak berurutan dan unik.

Kamus → Tipe koleksi yang tidak berurutan dan terdiri atas pasangan kunci-nilai.

Dapat diubah - Tidak dapat diubah

Apakah tipe koleksi kita tidak dapat diubah atau dapat diubah ditentukan oleh definisinya.

Jika kita mendefinisikannya dengan pernyataan let, koleksi tersebut tidak dapat diubah, sedangkan jika didefinisikan dengan var, koleksi tersebut dapat diubah.

Jika nilai yang kita definisikan tidak akan berubah setelahnya, penggunaan let akan memberikan keuntungan performa karena memungkinkan kompiler berjalan lebih optimal.

Larik

Larik

Larik adalah tipe koleksi yang digunakan untuk menyimpan data secara berurutan. Sejak Swift versi 3, semua elemen dalam larik tidak harus memiliki tipe yang sama.

Sintaks definisi larik sederhana ditunjukkan dalam contoh di bawah ini.

// Let's create an empty array.
var someInts = [Int]()
print("someInts is of type [Int] with \(someInts.count) items.")
// Prints "someInts is of type [Int] with 0 items."

Buat larik dengan nilai bawaan

Buat larik dengan nilai bawaan

Dalam beberapa kasus, kita mungkin ingin membuat larik dengan nilai bawaan dan ukuran tertentu. Untuk itu, kita perlu meneruskan dua argumen ke konstruktor larik.

Argumen ini menentukan nilai bawaannya dan jumlah elemen yang akan dimiliki larik tersebut.

var threeDoubles = Array(repeating: 0.0, count: 3)
print(threeDoubles)
// threeDoubles is of type [Double], and equals [0.0, 0.0, 0.0]

var anotherThreeDoubles = Array(repeating: 2.5, count: 3)
// anotherThreeDoubles is of type [Double], and equals [2.5, 2.5, 2.5]
print(anotherThreeDoubles)

var sixDoubles = threeDoubles + anotherThreeDoubles
print(sixDoubles)
// sixDoubles is inferred as [Double], and equals [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

Membuat Larik Menggunakan Literal Larik

Membuat Larik Menggunakan Literal Larik

Pada contoh sebelumnya, kita telah mempelajari cara membuat larik kosong. Namun, dalam beberapa kasus, kita mungkin ingin membuat larik dengan literal larik.

Mari kita pelajari penggunaannya melalui contoh.

/*
We have defined a variable named catList, 
and with the [String] statement we specified 
that its type is an Array containing String elements.
*/
var catList: [String] = ["Garfield", "Tom"]
print(catList)
/*
It will understand that the array is an Array containing
String statements, since we assign a value that 
defines the variable. (Swift type inference)
*/
var shoppingList = ["Eggs", "Milk"]
print(shoppingList)

Mengakses Nilai Larik

Mengakses Nilai Larik

Saat ingin mengakses elemen pada indeks tertentu dalam suatu urutan, kita cukup memanggilnya dengan sintaks berikut.

myArray [index]

Mari kita lihat contohnya.

// We have defined an array with 3 elements of type Int.
var numbers:[Int] = [1, 5, 21]

// Arrays start from Index 0. For example, in order to reach the value 5, which is the 2nd element, we need to access the 1st index.
var a = numbers[1]
print( "Value of numbers at index 1 is \(a)" )

Menambahkan Elemen Baru ke Larik

Menambahkan Elemen Baru ke Larik

kita dapat menambahkan item baru ke larik. 

Pada contoh di bawah, sebuah larik bernama catList didefinisikan. Kemudian, pada langkah berikutnya, item baru ditambahkan ke larik ini menggunakan metode append. 

// The Array named catList was defined with 1 initial element.
var catList = ["Tom"]


/*
We are adding a new item with a Garfield 
value using the append method.
*/
catList.append("Garfield")
// Our array will now have 2 elements.


/*
With the + = operator, we can do the 
work that the append method does.
*/
catList += ["Sylvester"]

Menambahkan Data ke Indeks Tertentu dalam Larik

Menambahkan Data ke Indeks Tertentu dalam Larik

Nilai yang ditambahkan dengan metode append pada contoh sebelumnya akan ditambahkan ke akhir larik. Namun, terkadang kita mungkin ingin menambahkannya ke indeks tertentu. Untuk itu, kita akan menggunakan metode insert.

Sintaksnya akan terlihat seperti ini.

myArr.insert ("The data to add", at: index);

Mari kita cari tahu melalui sebuah contoh.

var catList = ["Tom"]

catList.insert("Garfield", at: 1)

print(catList)

Menghapus Elemen Tertentu dalam Larik

Menghapus Elemen Tertentu dalam Larik

Metode remove digunakan untuk menghapus elemen pada indeks tertentu dalam larik.

var shoppingList = ["Apple", "Cherry", "Cheese"]

let shoppingListOne = shoppingList.remove(at: 0)
// the item that was at index 0 has just been removed
// the mapleSyrup constant is now equal to the removed "Maple Syrup" string

let shoppingListTwo = shoppingList.removeLast()
// the last item in the array has just been removed

print(shoppingListTwo)

Iterasi Larik

Kita dapat melakukan iterasi pada larik yang kita miliki dengan for-in.

Mari kita lihat contohnya.

var shoppingList = ["Banana", "Orange", "Milk"]

for item in shoppingList {
    print(item)
}
// Six eggs
// Milk
// Flour
// Baking Powder
// Bananas

for (index, value) in shoppingList.enumerated() {
    print("Item \(index + 1): \(value)")
}
// Item 1: Six eggs
// Item 2: Milk
// Item 3: Flour
// Item 4: Baking Powder
// Item 5: Bananas

Himpunan

Himpunan

Digunakan untuk menyatukan kumpulan dengan jenis yang sama tanpa urutan tertentu.

Seperti yang dapat dipahami dari namanya, ini adalah himpunan. Tidak boleh ada dua elemen dengan nilai yang sama dalam satu himpunan.

Membuat Himpunan Kosong

Kita menggunakan contoh berikut untuk membuat himpunan kosong.

var catSet = Set<Character>()

Membuat Himpunan Menggunakan Literal Larik

Membuat Himpunan Menggunakan Literal Larik

Literal larik dapat digunakan untuk membuat himpunan. Perhatikan bahwa meskipun nilai yang ditetapkan di sini terlihat seperti larik, jenis variabelnya adalah himpunan yang berisi teks.

var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]

Peringatan

Dengan menggunakan literal larik, kita tidak dapat membuat himpunan tanpa menentukan jenisnya. Hal ini dapat menimbulkan kebingungan dengan larik. Oleh karena itu, kita perlu menentukan jenisnya. 

Setidaknya, kita harus menggunakannya seperti berikut.

var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]

Metode Himpunan

Metode Himpunan

Mari kita lihat contohnya.

var favoriteGenres = ["Funk"]

print("I have \(favoriteGenres.count) favorite music genres.")

if favoriteGenres.isEmpty {
    print("favoriteGenres is empty")
} else {
    print("I have particular music preferences.")
}

if favoriteGenres.contains("Funk") {
    print("Funk")
} 

Melakukan Iterasi pada Himpunan

Melakukan Iterasi pada Himpunan

Jenis himpunan di Swift tidak memiliki urutan. Namun, metode sorted dapat digunakan saat melakukan iterasi pada nilai himpunan. Metode ini mengurutkan elemen himpunan menjadi larik.

let favoriteGenres = ["Classical","Jazz", "Hip hop"]

for genre in favoriteGenres {
    print("\(genre)")
}
// Classical
// Jazz
// Hip hop

Kamus

Kamus

Kamus adalah jenis koleksi yang menyimpan nilai sebagai pasangan kunci-nilai dan tidak memiliki urutan tertentu.

Setiap nilai disimpan dengan kunci yang unik. Kunci ini mewakili ID nilai tersebut dalam kamus. Kamus tidak memiliki urutan seperti larik. Kita dapat membayangkannya seperti kamus di dunia nyata.

Jadi, identitas setiap nilai lebih penting daripada urutannya.

Jenis kamus dapat ditentukan dengan bentuk singkat [Kunci: Nilai]. Penggunaan bentuk singkat lebih disarankan.

var namesOfIntegers = [Int: String]()
// namesOfIntegers is an empty [Int: String] dictionary

namesOfIntegers[16] = "sixteen"
// namesOfIntegers now contains 1 key-value pair
namesOfIntegers = [:]
// namesOfIntegers is once again an empty dictionary of type [Int: String]

Metode Akses Kamus

Kita dapat mengetahui jumlah elemen dalam kamus melalui metode penghitung.

Selain itu, kita dapat memeriksa apakah kamus kosong dengan metode isEmpty.

Mari kita membuat beberapa contoh penggunaan metode ini.

var airports = ["LHR": "London", "IST": "Istanbul"]

print("The airports dictionary contains \(airports.count) items.")
// Prints "The airports dictionary contains 2 items."

if airports.isEmpty {
    print("The airports dictionary is empty.")
} else {
    print("The airports dictionary is not empty.")
}
// Prints "The airports dictionary is not empty."

airports["LHR"] = "London"
// the airports dictionary now contains 3 items

Subskrip

Proses memperoleh nilai menggunakan subskrip adalah sebagai berikut. Hasil yang dikembalikan bersifat opsional.

var airports = ["DUB":"Dublin"]

if let airportName = airports["DUB"] {
    print("The name of the airport is \(airportName).")
} else {
    print("That airport is not in the airports dictionary.")
}
// Prints "The name of the airport is Dublin Airport."



//Deletion
airports["APL"] = nil

if let removedValue = airports.removeValue(forKey: "DUB") {
    print("The removed airport's name is \(removedValue).")
} else {
    print("The airports dictionary does not contain a value for DUB.")
}
// Prints "The removed airport's name is Dublin Airport."

Memperbarui Kamus

Selain menggunakan subskrip di atas, tersedia metode untuk memperbarui kamus.

Keistimewaan metode ini adalah setelah proses pembaruan berlangsung, metode tersebut mengembalikan nilai lama sebelum diperbarui.

var airports = ["DUB": "Dublin"]

if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") {
    print("The old value for DUB was \(oldValue).")
}
// Prints "The old value for DUB was Dublin."

Contoh Konversi Kamus ke Larik

Berikut adalah contoh konversi kamus ke larik.


let airports = ["IST":"Istanbul Airport", "DUB":"Dublin Airport"]

let airportCodes = [String](airports.keys)
print(airportCodes)

let airportNames = [String](airports.values)
print(airportNames)

Selamat

Selamat 🎉

Dalam pelajaran ini, kita mempelajari cara menggunakan koleksi di Swift.

Sampai jumpa di pelajaran berikutnya.

Koleksi — ilustrasi 22

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Koleksi” gratis?

Ya — teks lengkap “Koleksi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 1 pelajaran total.

Apa yang akan aku pelajari di “Koleksi”?

Koleksi Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 1.

Berapa lama pelajaran “Koleksi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

← Kembali ke Swift Academy