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 hopKamus
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 itemsSubskrip
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.

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.