var letters = Set()
print("letters adalah variable Set dengan panjang \(letters.count)")
letters.insert("a")
letters = [] // kita bisa menggunakan array literal kosong untuk mengembalikan letters ke set kosong!
// membuat set dengan array literal kosong
var favorite: Set<string> = ["Horror", "Thriller", "Action", "Sci-Fi"]
// atau jika kita sudah menetapkan set menjadi satu tipe, code bisa disingkat:
var favoriteNew: Set = ["Pass any strings in here", "Anything"]
// fungsi-fungsi:
favoriteNew.count
if favorite.isEmpty {
print("looks like the set is empty")
} else {
print("you have value(s) on the set")
}
favoriteNew.insert("Yeah, anything")
if let dropGenre = favorite.remove("Action") {
print("\(dropGenre)? I'm over it.")
} else {
print("Actually doesn't really care about it.")
}
if favorite.contains("Horror") {
print("OH! So scary in here!")
} else {
print("It's not too scary for me")
}
for genre in favorite.sorted() {
print("\(genre)")
} // code akan mengurutkan set secara ascending: default
let odd: Set = [1,3,5,7,9]
let even: Set = [0,2,4,6,8]
let primeNumber: Set = [2,3,5,7]
print(odd.union(even).sorted())
print(odd.intersection(even))
print(odd.symetricDifference(primeNumber))
// membandingkan set, superset dan subset, intersection
let pets: Set = ["dog", "cat", "fish"]
let farmAnimal: Set = ["cow", "chicken", "lamb", "dog", "cat"]
let cityAnimal: Set = ["mouse", "bird", "crow"]
if pets.isSubset(of: farmAnimal) {
print(String(true))
} else {
print(String(false))
}
print(farmAnimal.isSuperset(of: pets))
print(farmAnimal.isDisjoint(with: cityAnimal))
// cara membuat dictionaries: 1) inisialisasi dictionary kosong
var integerNames: [Int: String]()
integerNames[15] = "fifthteen"
integerNames = [:] // mengosongkan integerNames
// 2) menggunakan dictionary literal
var airports: [String: String] = ["KNO": "Kualanamu", "CGK": "Soekarno-Hatta", "HLP": "Halim Perdanakusuma"]
// bisa juga tanpa menulis tipe dari dictionaries, sbb:
var airports = ["KNO": "Kualanamu", "CGK": "Soekarno-Hatta", "HLP": "Halim Perdanakusuma"]
// accessing and modifying dictionary
print(airports.count)
print(airports.isEmpty)
// menambahkan item baru ke dalam dictionary
airports["LHR"] = "London" // mengubah nilai:
airports["LHR"] = "London Heathrow"
if let oldValue = airports.updateValue("Kualanamu Airport", forKey: "KNO") {
print("the old value for KNO was \(oldValue).")
}
if let airportName = airports["KNO"] {
print("The name of the airport is: \(airportName).")
} else {
print("We don't have the airport on our databases.")
}
// removing values
if let removedValues = airports.removeValue(forKey: "KNO") {
print("The removed values is \(removedValues).")
} else {
print("None of the airports is removed")
}
// mengakses dengan for loop
for airportCode in airports {
for airportName in airports {
print("\(airportCode) is \(airportName)")
}
}
// mengakses kunci bisa dengan:
print(airports.keys)
print(airports.values) // untuk mengakses values
// jika menggunakan kunci atau nilai dictionary dnegan API yang memakai array:
let airportCodeNew = [String](airports.keys)
let airportValuesNew = [String](airports.values)
print("Latihan Resep Makanan dengan Menggunakan Swift")
print("==============================================================")
print("Selamat Datang di Dicoding Restaurant!")
print("Let's make some foods!")
print("==============================================================")
print("Apa yang ingin Anda buat?"); let food = readLine()
print("Banyak bahan", terminator: ": "); let banyakBahan = readLine() ?? "0"
print("==============================================================")
if let totalItem: Int = Int(banyakBahan) {
var recipe = [String]()
for index in 1...totalItem {
print("Masukkanlah item ke \(index)", terminator: ": "); let quantity = String(readLine() ?? "")
recipe.append(quantity)
}
print("==============================================================")
print("berapa lama proses memasak dilakukan?"); let time = readLine() ?? ""
print("==============================================================")
recipe.sort()
print("Anda akan membuat \(food) selama \(time)")
for (index, value) in recipe.enumerated() {
print("\(index + 1). \(value)")
}
} else {
print("Input tidak valid bos!")
}
print("==============================================================")