Bikin Daftar Data Sederhana di iOS: Ngab, Yuk Pake SwiftUI List Biar Tampilan Kamu Kelihatan Rapi!

Bikin Daftar Data iOS Pake SwiftUI List: Gampang & Keren!

PPLG

PPLG

Penulis

16 Jun 2026
5 x dilihat

Gaes, siapa sih di sini yang nggak pernah liat list di aplikasi? Dari kontak, chat, daftar belanja, sampe to-do list, semua pasti pake list kan? Vibes-nya itu lho, bikin data jadi terorganisir dan gampang di-scroll. Nah, di dunia iOS Development modern, bikin list yang kece itu gampang banget, apalagi kalo kita pake SwiftUI. Dijamin anti pusing, deh!

List di SwiftUI: Superpower Buat Tampilan Data Kamu!

Dulu, kalo mau bikin daftar di iOS, kita harus berhadapan sama yang namanya UITableView atau UICollectionView yang kodingannya kadang bikin kepala puyeng, apalagi buat pemula. Tapi, berkat SwiftUI, sekarang kita punya List yang fungsinya mirip UITableView tapi dengan syntax yang super clean dan deklaratif.

List di SwiftUI ini punya banyak kelebihan, ngab:

  • Otomatis Scrollable: Nggak perlu pusing mikirin cara bikin scroll, List auto bisa di-scroll kalo kontennya melebihi layar.
  • Reusability: Dia cerdas dalam mengelola "sel-sel" atau baris datanya, jadi performanya tetap ngebut meski datanya bejibun.
  • Sintaks Simpel: Ini yang paling penting! Kodingannya minimalis banget dibanding framework lama.
  • Mendukung Interaksi: Gampang banget buat nambahin fitur tap, swipe, atau bahkan reorder.

Skuy, Kita Mulai Ngoding! Bikin List Makanan Favorit

Kita bakal bikin list sederhana yang menampilkan daftar makanan favorit lengkap dengan kalorinya. Yuk, siapkan Xcode kamu dan ikutin langkah-langkah ini:

Langkah 1: Bikin Proyek SwiftUI Baru

  1. Buka Xcode.
  2. Pilih Create a new Xcode project.
  3. Pilih template iOS -> App.
  4. Klik Next.
  5. Isi Product Name (misal: DaftarMakananApp).
  6. Pastikan Interface dipilih SwiftUI dan Language dipilih Swift.
  7. Klik Next dan pilih lokasi penyimpanan.

Langkah 2: Bikin Data Model (Struct) Setiap item di list kita butuh data, kan? Kita akan bikin struct bernama Makanan yang akan menampung nama dan jumlah kalori. Oya, penting banget nih, struct ini harus conform ke protokol Identifiable. Kenapa? Karena List (dan ForEach yang bakal kita pake) butuh cara buat mengidentifikasi setiap item secara unik, terutama pas datanya berubah atau di-update.

Buka file DaftarMakananAppApp.swift (atau ContentView.swift juga boleh, bebas) dan tambahkan kode ini di luar struct ContentView atau struct DaftarMakananApp:

import Foundation // Penting biar bisa pake UUID

// Data model untuk setiap item makanan
struct Makanan: Identifiable {
    let id = UUID() // Ini penting banget! UUID kasih ID unik otomatis
    let nama: String
    let kalori: Int
}

Langkah 3: Siapkan Data Contoh Sekarang kita bikin beberapa data contoh untuk ditampilkan di list kita. Ini bisa kamu taruh di dalam ContentView atau di tempat lain yang bisa diakses oleh ContentView. Untuk gampang, kita taruh di ContentView aja ya.

Buka file ContentView.swift, lalu update kodenya jadi kayak gini:

import SwiftUI

struct ContentView: View {
    // Data contoh daftar makanan favorit
    let daftarMakanan: [Makanan] = [
        Makanan(nama: "Nasi Goreng", kalori: 500),
        Makanan(nama: "Sate Ayam", kalori: 450),
        Makanan(nama: "Gado-gado", kalori: 300),
        Makanan(nama: "Bakso", kalori: 350),
        Makanan(nama: "Martabak Manis", kalori: 700),
        Makanan(nama: "Pempek Kapal Selam", kalori: 400),
        Makanan(nama: "Soto Ayam", kalori: 250),
        Makanan(nama: "Ayam Geprek", kalori: 600)
    ]

    var body: some View {
        // Konten utama view akan kita isi di sini
        Text("Hello, List!")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Langkah 4: Implementasi List dan Tampilkan Data

Nah, ini dia inti dari tutorial kita! Kita akan menggunakan List untuk menampilkan daftarMakanan kita.

Update bagian var body: some View di ContentView.swift jadi kayak gini:

import SwiftUI

struct ContentView: View {
    let daftarMakanan: [Makanan] = [
        Makanan(nama: "Nasi Goreng", kalori: 500),
        Makanan(nama: "Sate Ayam", kalori: 450),
        Makanan(nama: "Gado-gado", kalori: 300),
        Makanan(nama: "Bakso", kalori: 350),
        Makanan(nama: "Martabak Manis", kalori: 700),
        Makanan(nama: "Pempek Kapal Selam", kalori: 400),
        Makanan(nama: "Soto Ayam", kalori: 250),
        Makanan(nama: "Ayam Geprek", kalori: 600)
    ]

    var body: some View {
        NavigationView { // Penting buat ngasih judul di atas dan navigasi nanti
            List {
                // Iterasi setiap item di daftarMakanan
                // ForEach butuh data yang Identifiable, untungnya Makanan udah Identifiable!
                ForEach(daftarMakanan) { makanan in
                    // Tampilan setiap baris di list
                    HStack { // Biar nama dan kalori bisa sejajar
                        Text(makanan.nama)
                            .font(.headline) // Biar kelihatan lebih jelas
                        Spacer() // Dorong teks kalori ke kanan
                        Text("\(makanan.kalori) kcal")
                            .font(.subheadline)
                            .foregroundColor(.gray) // Bikin teks kalori agak pudar
                    }
                }
            }
            .navigationTitle("Menu Makanan Favorit") // Judul aplikasi di navigation bar
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Penjelasan Kode yang Baru Kita Tulis:

  1. NavigationView { ... }: Ini adalah container yang penting banget kalo kamu pengen punya navigation bar di atas layar. Di situ nanti bisa ada judul (seperti "Menu Makanan Favorit") dan tombol back kalo kita pindah ke layar lain.
  2. List { ... }: Ini dia View utama kita! Semua yang ada di dalam List akan ditampilkan sebagai baris-baris.
  3. ForEach(daftarMakanan) { makanan in ... }: Ini adalah loop SwiftUI. ForEach ini gunanya buat "melukis" setiap item dari koleksi daftarMakanan. Setiap kali iterasi, dia akan mengambil satu item Makanan dan menamainya makanan (bisa diganti apa aja kok!). Pentingnya Identifiable itu di sini, gaes, biar ForEach tahu item mana yang mana.
  4. HStack { ... }: Di dalam setiap baris list, kita mau nama makanan dan kalorinya sejajar. HStack (Horizontal Stack) adalah container yang pas buat menata View secara horizontal.
  5. Text(makanan.nama): Menampilkan nama makanan. Kita tambahin modifier .font(.headline) biar teksnya lebih tebal dan besar sedikit.
  6. Spacer(): Ini adalah trik rahasia di SwiftUI! Spacer() akan "mendorong" View di kirinya ke kiri dan View di kanannya ke kanan, jadi ada ruang kosong di tengah. Efeknya, Text(makanan.nama) jadi di kiri dan Text("\(makanan.kalori) kcal") jadi di kanan.
  7. Text("\(makanan.kalori) kcal"): Menampilkan jumlah kalori. Kita pakai string interpolation (\()) buat gabungin angka kalori dengan teks " kcal". Lalu kita kasih .font(.subheadline) dan .foregroundColor(.gray) biar tampilannya lebih manis.
  8. .navigationTitle("Menu Makanan Favorit"): Ini adalah modifier yang dipake di NavigationView buat mengatur teks judul yang muncul di bar paling atas.

Voila! Sekarang coba jalankan aplikasinya (pencet tombol Play di Xcode atau Command + R). Kamu bakal liat list makanan favorit yang rapi jali! Keren kan?

Tips & Trik Tambahan Biar List Kamu Makin Kece!

  • Custom Cell yang Lebih Kompleks: Kalo kamu pengen tampilan setiap barisnya lebih canggih (misal ada gambar, rating bintang, dll.), kamu bisa bikin View terpisah khusus buat setiap barisnya, lalu panggil View itu di dalam ForEach. Ini best practice banget buat menjaga kode tetap bersih.
  • List dengan Section: List juga bisa dipake buat mengelompokkan data berdasarkan Section. Misalnya, "Makanan Berat", "Minuman", "Cemilan". Tinggal tambahin Section { ... } di dalam List.
  • Interaktivitas (Tap, Swipe): Kamu bisa dengan mudah nambahin aksi pas user tap salah satu item di list (pake .onTapGesture atau NavigationLink) atau bahkan fitur swipe-to-delete/edit. Spill di tutorial lain mungkin ya, biar nggak kepanjangan!
  • Mengelola Data Dinamis (@State, @Observable): Kalo data kamu bisa berubah (nambah, kurang, edit), kamu harus pake State atau @Observable biar SwiftUI tahu kalo tampilannya perlu di-update. Contoh ini masih pake data statis (tetap).

Kesimpulan

Gimana gaes? Gampang banget kan bikin list data di iOS pake SwiftUI? Nggak pake ribet, kodenya bersih, dan hasilnya auto keren! Ini baru dasarnya, kamu bisa eksplor lebih jauh lagi kayak nambahin fitur edit, delete, atau bahkan bikin custom row yang lebih kompleks.

Jadi, jangan takut lagi ya buat bikin aplikasi yang penuh data. SwiftUI List siap jadi partner terbaik kamu! Skuy, terus belajar ya ngab, biar skill ngoding makin jago!

0.0

Berikan Rating

Komentar (0)

Silakan login untuk memberikan komentar.

Login Sekarang

Belum ada komentar. Jadilah yang pertama!

Menyukai Artikel (0)

Belum ada siswa yang menyukai artikel ini.

Pembaca (0)

Belum ada user yang membaca artikel ini.