Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial Android Studio #6: Berpindah Antar Halaman dengan Intent di Android

Sejauh ini, kita telah fokus membangun tampilan untuk satu layar. Namun, hampir semua aplikasi modern terdiri dari beberapa layar atau halaman. Misalnya, dari halaman login ke halaman dashboard, atau dari daftar produk ke halaman detail produk. Di Android, mekanisme yang digunakan untuk berpindah antar Activity (halaman) atau bahkan untuk berinteraksi dengan aplikasi lain disebut Intent. 🚀

Artikel ini akan membahas apa itu Intent, dua jenis utamanya, dan bagaimana cara menggunakannya untuk membuat aplikasi Anda menjadi interaktif dan multi-halaman.


 

## Apa Itu Intent?

 

Secara sederhana, Intent adalah sebuah objek pesan yang bisa Anda gunakan untuk meminta suatu aksi dari komponen aplikasi lain. Anggap saja Intent seperti seorang kurir yang membawa pesan. Pesan ini bisa berisi permintaan sederhana seperti “Tolong buka HalamanB” atau permintaan yang lebih kompleks seperti “Tolong buka aplikasi kamera untuk mengambil foto.”

Tiga kasus penggunaan utama Intent adalah:

  1. Memulai sebuah Activity: Ini adalah penggunaan paling umum, yaitu untuk berpindah dari satu layar ke layar lain di dalam aplikasi Anda.
  2. Memulai sebuah Service: Untuk memulai layanan yang berjalan di latar belakang, seperti mengunduh file.
  3. Mengirim sebuah Broadcast: Untuk mengirim pesan ke seluruh sistem Android, yang bisa ditanggapi oleh aplikasi lain.

 

## Dua Jenis Intent

 

Ada dua jenis Intent yang perlu Anda ketahui, dan keduanya memiliki tujuan yang sangat berbeda.

 

1. Explicit Intent (Intent Eksplisit)

 

Intent ini sangat spesifik. Anda secara jelas menyebutkan nama komponen yang ingin Anda tuju. Ketika Anda ingin berpindah dari MainActivity ke DetailActivity, Anda menggunakan Intent eksplisit karena Anda tahu persis tujuan Anda.

  • Analogi: Mengirim surat ke alamat yang sangat lengkap dan spesifik, termasuk nama penerima, nomor rumah, jalan, kota, dan kode pos. Surat itu pasti akan sampai ke tujuan yang benar.
  • Penggunaan Utama: Navigasi antar halaman di dalam aplikasi Anda sendiri.

 

2. Implicit Intent (Intent Implisit)

 

Intent ini tidak menyebutkan nama komponen secara spesifik. Sebaliknya, Anda menyatakan aksi umum yang ingin Anda lakukan (misalnya, “buka browser”, “bagikan teks”, “pilih gambar”), dan membiarkan sistem Android yang mencari aplikasi mana yang bisa menangani aksi tersebut.

  • Analogi: Menulis di media sosial, “Saya butuh rekomendasi tempat makan di Malang.” Anda tidak menanyakannya kepada orang spesifik, tetapi siapa pun yang bisa memberikan rekomendasi (aplikasi browser, peta, atau kuliner) akan merespons.
  • Penggunaan Utama: Berinteraksi dengan aplikasi lain yang sudah terinstal di perangkat pengguna, seperti membuka URL di Chrome, memulai panggilan telepon, atau berbagi gambar ke Instagram.

 

## Praktik: Menggunakan Explicit Intent untuk Berpindah Halaman

 

Mari kita buat contoh paling umum: berpindah dari satu Activity ke Activity lain.

 

Langkah 1: Buat Activity Baru

 

Pertama, kita butuh halaman tujuan.

  1. Di jendela Project Android Studio, klik kanan pada direktori app > java > com.nama.projekanda.
  2. Pilih New > Activity > Empty Views Activity.
  3. Beri nama SecondActivity dan biarkan opsi lainnya secara default. Klik Finish.
  4. Android Studio akan secara otomatis membuatkan dua file untuk Anda: SecondActivity.java (atau .kt) dan activity_second.xml.

 

Langkah 2: Desain Tampilan

 

  1. Buka activity_main.xml. Tambahkan sebuah Button di tengah layar. Beri id @+id/btn_move dan text “Pindah ke Halaman Dua”.
  2. Buka activity_second.xml. Tambahkan sebuah TextView di tengah layar dengan text “Selamat Datang di Halaman Dua!”.

 

Langkah 3: Tulis Kode Intent

 

Sekarang, kita akan menambahkan logika agar tombol tersebut berfungsi.

  1. Buka MainActivity.java (atau MainActivity.kt).
  2. Di dalam method onCreate, setelah setContentView, kita akan mencari Button kita dan menambahkan listener padanya.

Untuk Kotlin (Direkomendasikan):

Kotlin

// Pastikan Anda sudah mengaktifkan ViewBinding di build.gradle
private lateinit var binding: ActivityMainBinding

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

    binding.btnMove.setOnClickListener {
        // Membuat object Intent
        // Parameter pertama: konteks (Activity saat ini)
        // Parameter kedua: kelas Activity tujuan
        val intent = Intent(this, SecondActivity::class.java)
        
        // Memulai Activity baru
        startActivity(intent)
    }
}

Untuk Java:

Java

Button btnMove;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnMove = findViewById(R.id.btn_move);

    btnMove.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Membuat object Intent
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            
            // Memulai Activity baru
            startActivity(intent);
        }
    });
}

 

Langkah 4: Jalankan Aplikasi

 

Jalankan aplikasi Anda. Saat Anda menekan tombol “Pindah ke Halaman Dua”, aplikasi akan berpindah ke SecondActivity dan menampilkan teks sambutan. Untuk kembali, Anda bisa menekan tombol “Back” pada perangkat.


 

## Praktik: Menggunakan Implicit Intent untuk Membuka Browser

 

Sekarang, mari kita coba berinteraksi dengan aplikasi lain. Kita akan membuat tombol yang membuka sebuah URL di browser.

  1. Di activity_main.xml, tambahkan Button baru di bawah tombol pertama. Beri id @+id/btn_share dan text “Buka Website”.
  2. Kembali ke MainActivity.java atau MainActivity.kt.

Untuk Kotlin:

Kotlin

// Di dalam onCreate, setelah listener pertama
binding.btnShare.setOnClickListener {
    val url = "https://www.google.com"
    val intent = Intent(Intent.ACTION_VIEW)
    intent.data = Uri.parse(url)
    startActivity(intent)
}

Untuk Java:

Java

// Di dalam onCreate, cari button baru
Button btnShare = findViewById(R.id.btn_share);

btnShare.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String url = "https://www.google.com";
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        startActivity(intent);
    }
});

Saat Anda menekan tombol ini, Android akan mencari aplikasi yang bisa menangani aksi ACTION_VIEW untuk data berupa URL (yaitu browser) dan membukanya.


 

## Kesimpulan 🎯

 

Intent adalah konsep fundamental yang membuat aplikasi Android menjadi dinamis. Dengan Intent eksplisit, Anda membangun alur navigasi di dalam aplikasi Anda, sementara dengan Intent implisit, Anda memanfaatkan ekosistem aplikasi yang ada di perangkat pengguna untuk menyediakan fungsionalitas yang lebih kaya.

Di tutorial selanjutnya, kita akan membahas cara mengirim data antar Activity menggunakan Intent, sehingga halaman tujuan bisa menampilkan informasi yang relevan dari halaman sebelumnya.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_q71t77q71t77q71t
Gemini_Generated_Image_sve0wdsve0wdsve0
Gemini_Generated_Image_ybrvbbybrvbbybrv

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek