Last Updated on September 13, 2021 by
Swift 4 dictionaries digunakan untuk menyimpan unordered list atau daftar yang tidak berurutan dari nilai dari tipe yang sama. Swift 4 melakukan pemeriksaan ketat yang tidak memungkinkan kamu memasukkan jenis yang salah dalam dictionary bahkan karena kesalahan.
Pada Seri Tutorial Swift kali ini, Codekey akan membahas tentang Swift Dictionary. Jika Kamu tertarik untuk mengetahui tentang Swift Dictionary pastikan Kamu menyimak artikel ini sampai selesai.
Table of Contents
Swift Dictionary : Sebuah Penjelasan
Swift 4 dictionaries adalah unordered collection atau koleksi yang tidak dipesan. Ia menyimpan pasangan elemen key/value. Swift dictionary menggunakan identifier unik yang dikenal sebagai key untuk menyimpan nilai yang kemudian dapat direferensikan dan dapat dilihat sebagai kunci yang sama.
Tidak seperti item dalam array, item dalam dictionary tidak memiliki urutan tertentu. Kamu dapat menggunakan dictionrary saat Kamu perlu mencari nilai berdasarkan pengidentifikasinya.
Dictionary key dapat berupa bilangan bulat atau string tanpa batasan, tetapi harus unik dalam dictionary. Jika Kamu menetapkan dictionary yang dibuat ke variabel, maka dictionary itu selalu bisa berubah yang berarti Kamu dapat mengubahnya dengan menambahkan, menghapus, atau mengubah itemnya. Tetapi jika Kamu menetapkan dictionary ke konstanta, maka dictionary itu tidak dapat diubah, dan ukuran serta isinya tidak dapat diubah.
Membuat Dictionary
Kamu bisa membuat sebuah dictionary kosong dengan menggunakan tipe yang pasti dengan syntax initializer seperti di bawah ini.
var test = [KeyType: ValueType]()
Kamu dapat menggunakan syntax sederhana untuk membuat sebuah dictionary kosong yang kuncinya bertipe Int dan nilai terkaitnya adalah string.
var test = [Int: String]()
Berikut ini adalah contoh membuat sebuah dictionary dari sebuah set yang diberikan nilai:
var test = [Int:String] = [10:"Sepuluh", 100:"Seratus", 1000:"Seribu"]
Inisialisasi Berbasis Sequence
Swift 4 memungkinkan kamu untuk membuat dictionary dari array atau pasangan Key-Value.
var Negara = ["Indonesia", "Jerman", "Rusia"]
Kamu bisa menggunakan syntax sederhana di bawah ini untuk membuat dictionary kosong yang kuncinya bertipe Int dan nilai terkaitnya adalah string.
var lokasi = [10, 100, 1000]
Berikut ini adalah contoh penggunakan syntax sederhana yang dibuat dari set dengan nilai yang diberikan:
let lokasiNegaraDict = Dictionary(uniqueKeysWithValues: zip(Negara, Lokasi))
Baris di atas merupakan kode yang akan membuat dictionary dengan Cities sebagai key dan Distance sebagai Value.
Filtering
Swift 4 memungkinkan kamu untuk memfilter nilai dari suatu dictionary.
var negaraTerdekat = lokasiNegaraDict.filter { $0.value < 50 }
Jika kita menjalankan kode di atas closeCities Dictionary akan menjadi:
["Indonesia"]
Dictionary Grouping
Swift 4 memungkinkan kamu membuat group atau kelompok dari nilai Dictionary.
var provinsi = ["Bali","Jawa Timur","Jawa Barat","Kalimantan Barat"]
Kamu bisa menggunakan syntax sederhana untuk mengelompokkan nilai dari dictionary berdasarkan alphabet pertama.
var GroupProvinsi = Dictionary(grouping: provinsi ) { $0.first! }
Berikut hasil dari kode di atas.
["B": ["Bali"], "J": ["Jawa Timur", "Jawa Barat"], "K": ["Kalimantan Barat"]]
Mengakses Dictionary
Kamu bisa mengambil nilai dari dictionary dengan menggunakan sintaks subskrip, meneruskan kunci nilai yang ingin Kamu ambil dalam tanda kurung siku segera setelah nama dictionary sebagai berikut.
var test = testDict[key]
Lihatlah contoh berikut ini untuk membuat, menginisialisasi, dan mengakses nilai dari dictionary:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var test = testDict[1] print( "Nilai dari dictionary pertama adalah \(test)" ) print( "Nilai dari dictionary kedua adalah \(testDict[2])" ) print( "Nilai dari dictionary ketiga adalah \(testDict[3])" )
Kode di atas akan menghasilkan output seperti di bawah ini ketika dikompilasikan dan dieksekusi:
Nilai dari dictionary pertama adalah Optional("Satu") Nilai dari dictionary kedua adalah Optional("Dua") Nilai dari dictionary ketiga adalah Optional("Tiga")
Memodifikasi Dictionaries
Kamu bisa menggunakan metode updateValue(forKey: ) untuk menambahkan nilai yang ada serta untuk memberi key dari dictionary. Metode di bawah ini mengembalikan nilai opsional dari nilai tipe dictionary. Berikut adalah contoh gampangnya:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var oldVal = testDict.updateValue("Value baru", forKey: 1) var test = testDict[1] print( "Nilai dari dictionary lama adalah \(oldVal)" ) print( "Nilai dari dictionary pertama adalah \(test)" ) print( "Nilai dari dictionary kedua adalah \(testDict[2])" ) print( "Nilai dari dictionary ketiga adalah \(testDict[3])" )
Ketika kode di atas dikompilasikan dan dieksekusi, maka akan menghasilkan output seperti di bawah ini:
Nilai dari dictionary lama adalah Optional("Satu") Nilai dari dictionary pertama adalah Optional("Value baru") Nilai dari dictionary kedua adalah Optional("Dua") Nilai dari dictionary ketiga adalah Optional("Tiga")
Kamu bisa memodifikasi elemen yang ada dengan menetapkan nilai baru pada kunci yang diberikan seperti contoh berikut ini:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var oldVal = testDict[1] testDict[1] = "Value baru" var test = testDict[1] print( "Nilai dari dictionary lama adalah \(oldVal)" ) print( "Nilai dari dictionary pertama adalah \(test)" ) print( "Nilai dari dictionary kedua adalah \(testDict[2])" ) print( "Nilai dari dictionary ketiga adalah \(testDict[3])" )
Ketika kode di atas dikompilasikan dan dieksekusi, maka ia akan menghasilkan output seperti di bawah ini:
Nilai dari dictionary lama adalah Optional("Satu") Nilai dari dictionary pertama adalah Optional("Value baru") Nilai dari dictionary kedua adalah Optional("Dua") Nilai dari dictionary ketiga adalah Optional("Tiga")
Menghilangkan Pasangan Key-Value
Kamu bisa menggunakan metode removeValueForKey() untuk menghilangkan pasangan key-value dari dictionary. Berikut ini adalah metode untuk menghilangkan pasangan key-value jika hal tersebut ada dan mengembalikan nilai yang sudah dihilangkan atau mengembalikan nil jika nilai no ada. Berikut adalah contoh mudahnya:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var removedValue = testDict.removeValue(forKey: 1) print( "Nilai dari dictionary pertama adalah \(testDict[1])" ) print( "Nilai dari dictionary kedua adalah \(testDict[2])" ) print( "Nilai dari dictionary ketiga adalah \(testDict[3])" )
Ketika kode di atas dikompilasikan dan dieksekusi, jika sudah diproduksi ia akan menghasilkan output seperti di bawah ini:
Nilai dari dictionary pertama adalah nil Nilai dari dictionary kedua adalah Optional("Dua") Nilai dari dictionary ketiga adalah Optional("Tiga")
Kamu bisa menggunakan syntax subscript untuk menghilangkan pasangan key-value dari dictionary dengan menetapkan nilai nil untuk key tersebut. Berikut adalah contoh sederhananya:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] testDict[3] = nil print( "Nilai dari dictionary pertama adalah \(testDict[1])" ) print( "Nilai dari dictionary kedua adalah \(testDict[2])" ) print( "Nilai dari dictionary ketiga adalah \(testDict[3])" )
Ketika kode di atas dikompilasikan dan dieksekusi, kemudian kode di atas akan menghasilkan output seperti berikut ini:
Nilai dari dictionary pertama adalah Optional("Satu") Nilai dari dictionary kedua adalah Optional("Dua") Nilai dari dictionary ketiga adalah nil
Iterasi Lebih dari Satu Dictionary
Kamu bisa menggunakan loop for-in untuk mengiterasikan lebih dari satu pasang key-value secara keseluruhan di dalam dictionary sebagaimana yang ditunjukan di bawah ini:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] for (index, keyValue) in testDict.enumerated() { print("Indeks dictionary \(index) – nilai dictionary \(keyValue)") }
Ketika kode di atas dikompilasikan dan dieksekusi serta menghasilkan output berikut ini:
Indeks dictionary 0 – nilai dictionary (key: 2, value: "Dua") Indeks dictionary 1 – nilai dictionary (key: 3, value: "Tiga") Indeks dictionary 2 – nilai dictionary (key: 1, value: "Satu")
Kamu bisa menggunakan fungsi enumerate() yang mengembalikan index dari item bersamaan dengan sepasang key-value sebagaimana yang ditunjukan di bawah ini:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] for (key, value) in someDict.enumerated() { print("Key dictionary \(key) – nilai dictionary \(value)") }
Ketika kode di atas dikompilasikan dan dieksekusi akan menghasilkan output seperti di bawah ini:
Key dictionary 0 – nilai dictionary (key: 2, value: "Dua") Key dictionary 1 – nilai dictionary (key: 3, value: "Tiga") Key dictionary 2 – nilai dictionary (key: 1, value: "Satu")
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] for (key, value) in testDict.enumerated() { print("Key dictionary \(key) – nilai dictionary \(value)") }
Mengkonversi ke Array
Kamu bisa mengekstrak daftar dari pasangan key-value dari dictionary yang diberikan untuk membangun array yang berbeda untuk key dan value. Berikut adalah contohnya:
var testDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] let dictKeys = [Int](testDict.keys) let dictValues = [String](testDict.values) for (key) in dictKeys { print("\(key)") } print("--------------") for (value) in dictValues { print("\(value)") }
Ketika kode di atas di kompilasi dan dieksekusi, maka akan menghasilkan output seperti di bawah ini:
2
3
1
————–
Dua
Tiga
Satu
Properti Count
Kamu dapat menggunakan properti count read-only dari dictionary untuk mengetahui jumlah item dalam dictionary seperti yang ditunjukkan di bawah ini:
var firstDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var secondDict:[Int:String] = [4:"Empat", 5:"Lima"] print(firstDict.count) print(secondDict.count)
Ketika kode di atas dikompilasikan dan dieksekusi akan menghasilkan output seperti berikut ini:
3
2
Property Kosong
Anda dapat menggunakan properti read-only kosong dari kamus untuk mengetahui apakah kamus kosong atau tidak, seperti yang ditunjukkan di bawah ini:
var firstDict:[Int:String] = [1:"Satu", 2:"Dua", 3:"Tiga"] var secondDict:[Int:String] = [Int:String]() var thirdDict:[Int:String] = [4:"Empat", 5:"Lima] print(firstDict.isEmpty) print(secondDict.isEmpty) print(thirdDict.isEmpty)
Ketika kode di atas dikompilasikan dan dieksekusi akan menghasilkan output seperti di bawah ini:
firstDict = false secondDict = true thirdDict = false
Demikianlah penjelasan tentang Swift 4 dictionary yang harus Kamu ketahui. Jika kamu tertarik untuk belajar tentang Swift, pastikan Anda tidak melewatkan materi tentang dictionary swift ini dan kunjungi semua seri tutorial Swift yang ada di Codekey.
Situs Codekey merupakan situs untuk Anda belajar bahasa pemrograman secara gratis. Tidak hanya bahasa pemrograman Swift, tetapi juga bahasa pemrograman lainnya. Pastikan Anda mendapatkan update terbaru dari situs kami.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.