Tab Bar — apa itu, panel tab di aplikasi seluler

Penulis: IT Sectr Diterbitkan: 2026-02-22 Waktu membaca: 12 mnt

Tab Bar — elemen navigasi yang terletak di bagian bawah layar aplikasi seluler yang menyediakan akses cepat ke bagian-bagian utama. Di iOS diimplementasikan melalui UITabBarController, di Android — melalui BottomNavigationView Material Design. Baca lebih lanjut tentang prinsip navigasi di Human Interface Guidelines Apple.

Poin Utama

  • Tab Bar — panel navigasi bawah untuk beralih antar 3–5 bagian utama aplikasi
  • UITabBarController — komponen standar iOS untuk mengelola tab dengan tampilan sistem
  • BottomNavigationView — komponen Android dari Material Design Library untuk navigasi bawah
  • Lencana — indikator numerik pada ikon tab untuk menampilkan notifikasi
  • Kustomisasi — ikon, warna, font, dan animasi peralihan dikonfigurasi melalui API platform

Apa itu Tab Bar?

Tab Bar (panel tab) — elemen antarmuka grafis yang terletak di bagian bawah layar aplikasi seluler. Ini menyediakan akses cepat ke 3–5 bagian utama aplikasi. Setiap bagian diwakili oleh ikon dan label teks. Pengguna mengetuk tab untuk beralih ke bagian yang sesuai. Tab Bar tetap terlihat di semua layar dalam setiap bagian, menyediakan titik masuk yang konstan.

Apple merekomendasikan penggunaan Tab Bar untuk bagian aplikasi dengan tingkat kepentingan yang sama. Human Interface Guidelines (2026) menyatakan: «Tab Bar menampilkan 3–5 tab. Jika diperlukan lebih — tab terakhir menjadi titik «Lainnya» dengan sisanya di dalam». Material Design Google (2026) merekomendasikan Bottom Navigation untuk tujuan yang sama — 3–5 titik, tab aktif ditandai dengan warna dan animasi.

Tidak seperti tab atas (Top Tab Bar), panel bawah lebih nyaman untuk dioperasikan dengan satu tangan — ibu jari secara alami mencapai bagian bawah layar. Penelitian Nielsen Norman Group (2025) menunjukkan bahwa navigasi bawah mengurangi waktu penyelesaian tugas sebesar 22% dibandingkan dengan navigasi atas pada ponsel cerdas dengan diagonal mulai dari 6 inci.

UITabBarController di iOS

UITabBarController — pengontrol bawaan iOS untuk mengatur navigasi melalui tab. Setiap tab mengelola set layarnya sendiri, biasanya diatur dalam UINavigationController. UITabBarController secara otomatis membuat Tab Bar di bagian bawah layar dengan latar belakang semi-transparan sistem dan animasi saat peralihan.

swift
import UIKit

class MainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let homeVC = HomeViewController()
        let searchVC = SearchViewController()
        let profileVC = ProfileViewController()

        homeVC.tabBarItem = UITabBarItem(
            title: "Beranda",
            image: UIImage(systemName: "house.fill"),
            tag: 0
        )
        searchVC.tabBarItem = UITabBarItem(
            title: "Cari",
            image: UIImage(systemName: "magnifyingglass"),
            tag: 1
        )
        profileVC.tabBarItem = UITabBarItem(
            title: "Profil",
            image: UIImage(systemName: "person.circle.fill"),
            tag: 2
        )

        let homeNav = UINavigationController(rootViewController: homeVC)
        let searchNav = UINavigationController(rootViewController: searchVC)
        let profileNav = UINavigationController(rootViewController: profileVC)

        viewControllers = [homeNav, searchNav, profileNav]
    }
}

Setiap tab dalam contoh berisi UINavigationController, yang memungkinkan penggunaan navigasi bertumpuk di dalam bagian. tabBarItem mengonfigurasi ikon, judul, dan lencana. Sistem secara otomatis menerapkan gaya SF Symbols untuk ikon — simbol standar Apple dengan dukungan tipe dinamis dan multiwarna.

BottomNavigationView di Android

BottomNavigationView — komponen Android dari Material Design Library yang mengimplementasikan panel navigasi bawah. Di Android 13+ digunakan NavigationBarView — penerusnya dengan animasi yang ditingkatkan dan perilaku adaptif. BottomNavigationView mengikuti spesifikasi Material Design 3 (Material You) dan mendukung tema aplikasi, warna dinamis, dan animasi saat peralihan.

kotlin
class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        val navView: NavigationBarView = binding.navView
        val navController = findNavController(R.id.nav_host_fragment)

        // Menghubungkan BottomNavigation ke NavController
        navView.setupWithNavController(navController)

        // Konfigurasi lencana pada tab notifikasi
        val badge = navView.getOrCreateBadge(R.id.navigation_notifications)
        badge.isVisible = true
        badge.number = 12
    }
}

Komponen BottomNavigationView mendukung Material Design 3 dengan tiga gaya: default (label + ikon), labeled (label diperbesar), dan unlabeled (hanya ikon). Metode setupWithNavController menghubungkan panel ke Navigation Component, secara otomatis memperbarui tab aktif saat layar berubah. Lencana dibuat melalui getOrCreateBadge dan mendukung indikator numerik dan titik.

Lencana dan indikator pada Tab Bar

Lencana — indikator numerik atau titik pada ikon tab yang menampilkan jumlah notifikasi, pesan baru, atau tugas. Di iOS lencana diatur melalui properti badgeValue pada UITabBarItem. Di Android lencana dikelola melalui BadgeDrawable (Material 3) atau getOrCreateBadge di NavigationBarView.

Lencana adalah alat keterlibatan yang kuat: penelitian Localytics (2025) menunjukkan bahwa aplikasi dengan lencana memiliki retention 18% lebih tinggi pada hari ke-7. Namun, penyalahgunaan lencana (lebih dari 3 sekaligus) menurunkan CTR sebesar 12%. Apple dan Google merekomendasikan menampilkan lencana hanya untuk notifikasi yang relevan dan meresetnya saat membuka bagian.

PlatformKomponenPengaturan lencana
iOSUITabBarItem.badgeValuetabBarItem.badgeValue = "5"
AndroidBadgeDrawablebadge.number = 5
iOSLencana titiktabBarItem.badgeColor = .red
AndroidIndikator titikbadge.isVisible = true

Kustomisasi Tab Bar: ikon, warna, animasi

Kedua platform menawarkan kemungkinan kustomisasi yang luas untuk Tab Bar. Di iOS Anda dapat mengubah warna latar belakang, warna tint tab aktif, font label, dan menambahkan ikon kustom melalui SF Symbols atau aset sendiri. Di Android kustomisasi mencakup gaya Material 3, animasi peralihan, efek ripple, dan warna dinamis berdasarkan wallpaper.

swift
// Kustomisasi Tab Bar di iOS
let appearance = UITabBarAppearance()
appearance.backgroundColor = .systemBackground
appearance.stackedLayoutAppearance.normal.titleTextAttributes = [
    .foregroundColor: UIColor.secondaryLabel,
    .font: UIFont.systemFont(ofSize: 11)
]
appearance.stackedLayoutAppearance.selected.titleTextAttributes = [
    .foregroundColor: UIColor.systemBlue,
    .font: UIFont.boldSystemFont(ofSize: 12)
]
tabBar.standardAppearance = appearance.

Di Android kustomisasi BottomNavigationView dilakukan melalui atribut XML atau secara terprogram. Material 3 memperkenalkan konsep warna dinamis: palet dihasilkan dari wallpaper pengguna dan diterapkan secara otomatis ke komponen. Pengembang dapat menimpa warna melalui tema, mengatur animasi garis bawah kustom (indicator), dan mengonfigurasi efek ripple.

kotlin
// Kustomisasi BottomNavigationView di Android
val navView = findViewById<NavigationBarView>(R.id.nav_view)

with (navView) {
    labelVisibilityMode = NavigationBarView.LABEL_VISIBILITY_LABELED
    itemActiveIndicatorStyle = R.style.CustomIndicator
    itemRippleColor = ColorStateList.valueOf(
        Color.valueOf("#FFE0B2")
    )
}

// Di XML: app:menu="@menu/bottom_nav_menu"
// Di XML: app:itemActiveIndicatorStyle="@style/Widget.Material3.BottomNavigationView.ActiveIndicator"

Praktik terbaik navigasi bawah

Saat mendesain Tab Bar penting untuk mengikuti rekomendasi platform dan penelitian kegunaan. Apple HIG: tidak lebih dari 5 tab, teks ringkas, ikon semantik. Material Design: 3–5 titik, titik aktif ditandai, penghitung lencana tidak lebih dari 99. NN Group (2025): navigasi bawah harus tetap terlihat di semua layar bagian, jika tidak pengguna kehilangan konteks.

Kesalahan utama: 6+ tab (memaksa penggunaan «Lainnya» — mengurangi discoverability), perubahan urutan tab saat navigasi (membingungkan), menyembunyikan Tab Bar di layar bersarang (kehilangan jangkar navigasi). Praktik terbaik — urutan tetap, ikon seragam dan label teks, lencana hanya untuk tindakan pengguna (bukan untuk pemasaran).

  • 3–5 tab — jumlah optimal untuk pemilihan cepat tanpa kelebihan beban
  • Urutan tetap — tab harus stabil, tanpa penataan ulang dinamis
  • Ikon + label — kedua elemen wajib untuk memahami bagian
  • Tab aktif — harus berbeda secara visual dalam warna, ikon, atau animasi
  • Lencana — gunakan untuk notifikasi, reset saat membuka bagian

Pertanyaan yang Sering Diajukan

Berapa banyak tab yang harus dimiliki Tab Bar?

Apple dan Google merekomendasikan 3–5 tab. Kurang dari tiga — tidak cukup bagian untuk membenarkan panel bawah. Lebih dari lima — kelebihan beban perhatian, tab terakhir menjadi titik «Lainnya». Jumlah optimal menurut data NN Group (2025) — 4 tab.

Apa perbedaan antara Tab Bar dan Bottom Navigation?

Tab Bar — istilah Apple untuk panel bawah iOS (UITabBarController). Bottom Navigation — padanannya di Android (BottomNavigationView). Secara fungsional identik: akses cepat ke 3–5 bagian. Perbedaan dalam gaya visual: iOS — latar belakang semi-transparan dengan efek blur, Android — warna tetap dengan efek ripple.

Bisakah Tab Bar disembunyikan di beberapa layar?

Ya, tetapi dengan hati-hati. Di iOS — hidesBottomBarWhenPushed = true pada UIViewController. Di Android — View.GONE pada BottomNavigationView. Praktik terbaik — sembunyikan hanya di layar layar penuh (melihat foto, video), tetapi kembalikan saat kembali. Penyembunyian lama membingungkan pengguna.

Bagaimana cara menambahkan lencana ke tab Tab Bar?

Di iOS atur tabBarItem.badgeValue = "N" (sebagai string). Di Android gunakan getOrCreateBadge(resId) pada NavigationBarView. Lencana secara otomatis ditampilkan sebagai lingkaran merah dengan angka. Reset: badgeValue = nil (iOS), removeBadge(resId) atau badge.isVisible = false (Android).

Mengapa Tab Bar disembunyikan di iPhone X+?

Pada perangkat dengan Home Indicator (iPhone X dan lebih baru) Tab Bar secara otomatis naik di atas indikator. Sistem menambahkan Safe Area Insets di bagian bawah layar. Pengembang tidak perlu menyesuaikan margin secara manual — UIKit dan Android SystemUI menangani ini secara otomatis.

Kesimpulan

  • Tab Bar — panel navigasi bawah untuk 3–5 tab, elemen standar iOS dan Android
  • UITabBarController (iOS) dan BottomNavigationView (Android) — implementasi platform
  • Lencana — indikator numerik pada tab untuk notifikasi, meningkatkan retention sebesar 18%
  • Kustomisasi mencakup warna, ikon, font, dan animasi peralihan di kedua platform
  • Praktik terbaik — urutan tetap, ikon + label, 3–5 tab, visibilitas di semua layar
  • Tab Bar + Navigation — setiap tab biasanya berisi navigator tumpukan untuk layar bersarang
  • Safe Area — panel bawah secara otomatis beradaptasi dengan Home Indicator di perangkat tanpa bingkai

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga