Dicoding 6

Run Settings
LanguageSwift
Language Version
Run Command
import Foundation var listFruits = [String]() var isRunning = true func getInput(message: String) -> String?{ print(message, terminator: ": "); return readLine() } func getInputInt(message: String) -> Int?{ if let inputString = getInput(message: message){ return Int(inputString) } else{ return nil } } func showAllFruits(){ if listFruits.isEmpty { print("Belum ada item di dalam daftar") }else{ for (index, value) in listFruits.enumerated() { print("[\(index + 1)] \(value)") } } } func insertFruit(){ if let name = getInput(message: "Masukkan nama buah") { listFruits.append(name) }else{ insertFruit() print("Input tidak valid") } } func editFruit(){ showAllFruits() print("----------------------------------") if let position = getInputInt(message: "Pilih posisi buah yang akan diganti"), position<=listFruits.count && position>0, let name = getInput(message: "Masukkan nama buah") { listFruits[position-1] = name }else{ editFruit() print("Input tidak valid") } } func deleteFruit() { showAllFruits() if let position = getInputInt(message: "Pilih posisi buah yang akan dihapus"), position<=listFruits.count && position>0{ listFruits.remove(at: position-1) }else{ deleteFruit() print("Input tidak valid") } } func showMenu(){ print("Selamat Datang di Dicoding Market") print("---------------MENU---------------") print("[1] Tampilkan semua buah") print("[2] Tambah item buah") print("[3] Ubah item buah") print("[4] Hapus item buah") print("[5] Keluar") if let position = getInputInt(message: "Silakan pilih menu di atas"), position<=5 && position>0{ print("----------------------------------") switch position { case 1: showAllFruits() break case 2: insertFruit() break case 3: editFruit() break case 4: deleteFruit() break case 5: isRunning = false print("Terima kasih, silakan datang kembali!") break default: print("Pilihan Anda salah") } } else { print("Item menu tidak valid") } print("----------------------------------") } while isRunning { showMenu() }
Editor Settings
Theme
Key bindings
Full width
Lines