import Foundation
print("Sellamat Datang di Dicoding Academy")
print("Mari bermain dengan kata!")
print("------------------------------")
print("Masukkan nama depan:"); let firstName = String(readLine() ?? "")
print("Nama belakang: "); let lastName = String(readLine() ?? "")
// Menggabungkan nama depan dan nama belakang
let fullName = firstName + " " + lastName
// Operator Concatenation
let concatenationString = firstName + lastName
print("String Concatenation Operator : \"\(concatenationString)\"")
// Operator Mutability
var mutabilityString = ""
mutabilityString += firstName
mutabilityString += lastName
print("String Mutability Operator : \"\(mutabilityString)\"")
// Fungsi isEmpty
let empty = firstName.isEmpty || lastName.isEmpty
print("Fungsi isEmpty : \"\(empty)\"")
// Fungsi startIndex
let startIndex = fullName[fullName.startIndex]
print("Fungsi startIndex : \"\(startIndex)\"")
// Fungsi index
let index = fullName[fullName.index(after: fullName.startIndex)]
print("Fungsi index : \"\(index)\"")
// Fungsi index Lainnya
let customIndex = fullName[fullName.index(fullName.startIndex, offsetBy: 5)]
print("Index ke lima : \"\(customIndex)\"")
// Fungsi endIndex
let endIndex = fullName[fullName.index(before: fullName.endIndex)]
print("Fungsi endIndex : \"\(endIndex)\"")
// Fungsi insert
var insert = fullName
insert.insert("!", at:insert.endIndex)
print("Fungsi insert : \"\(insert)\"")
// Fungsi remove
var remove = insert
remove.remove(at: remove.index(before: remove.endIndex))
print("Fungsi remove : \"\(remove)\"")
// Fungsi append
var append = firstName
append.append(lastName)
print("Fungsi append : \"\(append)\"")
// Fungsi count
let count = fullName.count
print("Fungsi lenght : \(count)")
print("----------------------------------")