Postingan

Aplikasi Android: Sign Up dengan OTP & Login

Gambar
Aplikasi Android: Sign Up dengan OTP & Login Deskripsi Proyek Aplikasi ini merupakan implementasi autentikasi pengguna di Android menggunakan Jetpack Compose dan Navigation Component . Terdapat dua fitur utama: Sign Up (Pendaftaran) dengan verifikasi kode OTP Login untuk pengguna yang sudah terdaftar Alur Navigasi Navigasi antar layar dikelola menggunakan sealed class Screen dan NavHost . Berikut daftar layarnya: LayarMuat : Halaman splash screen LamanDepan : Tampilan awal dengan tombol "Masuk" dan "Daftar" Masuk : Form login pengguna Daftar : Form pendaftaran OTP : Verifikasi kode OTP (4 digit) Aplikasi : Tampilan utama setelah berhasil login Struktur Navigasi Kode sealed class Screen(val route: String) { data object LayarMuat : Screen("layarmuat") data object LamanDepan : Screen("lamandepan") data object Masuk : Screen("masuk") ...

Membuat aplikasi konversi mata uang

Gambar
Aplikasi Currency Converter (Jetpack Compose) Aplikasi ini digunakan untuk mengonversi nilai mata uang dari satu jenis ke jenis lainnya berdasarkan nilai tukar tetap (static rates). Dibuat menggunakan Jetpack Compose , aplikasi ini memiliki tampilan bersih dan mudah digunakan. Tampilan Aplikasi Contoh: Konversi 300 USD ke IDR menghasilkan 4.615.384,62 Fitur Aplikasi Input jumlah mata uang yang ingin dikonversi Dropdown untuk memilih mata uang asal dan tujuan Tombol Convert untuk menghitung hasil Tombol Clear untuk menghapus input Penjelasan Kode 1. Struktur Utama ( MainActivity.kt ) setContent { CurrencyConverterTheme { CurrencyConverterApp() } } Mengatur UI menggunakan Jetpack Compose dengan memanggil fungsi CurrencyConverterApp() . 2. UI Aplikasi ( CurrencyConverterApp ) Menampilkan komponen input dan dropdown untuk memilih mata uang serta menampilkan hasil konversi. var inputAmount by remember { muta...

Aplikasi Dice Roller

Gambar
Aplikasi Dice Roller Menggunakan Jetpack Compose Aplikasi ini merupakan simulasi lempar dadu yang dibuat menggunakan Jetpack Compose di Android Studio. Setiap kali tombol "Acak" ditekan, gambar dadu akan berubah secara acak menampilkan angka 1 hingga 6, bersamaan dengan teks yang menunjukkan angka yang didapatkan. Hasil Tampilan Aplikasi Contoh tampilan aplikasi: pengguna mendapat angka 1 Penjelasan Kode 1. MainActivity.kt class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { DiceRollerTheme { Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { DiceRollerApp() } } } } } Penjelasan: Bagian ini adalah titik awal aplikasi. Fungsi setContent digunakan untuk menam...

Aplikasi Unscramble (ViewModel dan Status)

Gambar
Penjelasan Aplikasi Game "Unscramble" (Tebak Kata) Aplikasi ini merupakan game sederhana berbasis Jetpack Compose di Android yang meminta pengguna untuk menebak kata dari huruf-huruf yang diacak. Berikut ini adalah penjelasan dari file MainActivity.kt yang berfungsi sebagai titik masuk utama aplikasi. Struktur Project Berikut adalah struktur folder project yang terlihat pada Android Studio: data/WordsData.kt : Menyimpan kumpulan kata-kata yang akan digunakan untuk permainan. ui/MainActivity.kt : Kode utama yang menjalankan UI. ui/GameScreen.kt : Tempat logika tampilan permainan berlangsung (seperti input, skor, dan kata yang diacak). Kode MainActivity.kt class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { enableEdgeToEdge() super.onCreate(savedInstanceState) setContent { UnscrambleTheme { Surface( modifier = Modifier...

Aplikasi Dessert Clicker (Activity dan Intent)

Gambar
Dessert Clicker App dengan Jetpack Compose Dessert Clicker adalah aplikasi Android sederhana berbasis Jetpack Compose yang menampilkan gambar dessert dan menghitung total pendapatan berdasarkan jumlah dessert yang telah diklik oleh pengguna. Aplikasi ini cocok digunakan untuk mempelajari konsep dasar Jetpack Compose seperti state management, layout, serta pemisahan concerns menggunakan Composable functions . 1. Struktur Proyek MainActivity.kt : Berisi logika utama aplikasi dan lifecycle logging. Datasource.kt : Menyediakan daftar dessert sebagai data statis. Dessert.kt : Data model yang merepresentasikan setiap dessert. ui.theme : Berisi file Theme.kt dan Color.kt untuk pengaturan tema Material3. 2. Tampilan Aplikasi Tampilan menunjukkan sebuah dessert di atas meja dan dua informasi penting: Desserts sold: Jumlah dessert yang telah dijual (klik oleh user). Total Revenue: Total pendapatan berdasarkan harga setiap dessert yang dijual. 3. Penjelasan Ko...

Aplikasi Woof (Material Design)

Gambar
Aplikasi Woof - Jetpack Compose Showcase Aplikasi Woof adalah aplikasi berbasis Android yang dibuat menggunakan Jetpack Compose dan Material 3 . Aplikasi ini dirancang untuk menampilkan daftar anjing (dog list) lengkap dengan nama, umur, gambar, dan hobi mereka. Cocok digunakan sebagai proyek pembelajaran UI deklaratif dengan animasi dan tema. 🛠️ Teknologi yang Digunakan Jetpack Compose (UI deklaratif modern) Material 3 untuk desain UI Kotlin sebagai bahasa pemrograman Android Studio sebagai lingkungan pengembangan 📱 Tampilan Aplikasi Setiap item dalam daftar menampilkan informasi berikut: 📷 Foto Anjing (berbentuk bulat) 🐶 Nama anjing dan usia 🔽 Tombol expand/collapse untuk menampilkan deskripsi hobi 📂 Struktur File com.example.woof │ ├── data │ └── Dog.kt (model data anjing) │ └── DogData.kt (data dummy anjing) │ ├── ui.theme │ └── Theme.kt (pengaturan tema Material 3) │ └── Color.kt, Type.kt, Shape.kt │ ├── MainAct...

Membuat Aplikasi Login Sederhana

Gambar
Membuat Aplikasi Login Page Sederhana dengan Jetpack Compose Dalam tutorial ini, kita akan membuat aplikasi Login Page sederhana menggunakan Jetpack Compose . Aplikasi ini memungkinkan pengguna untuk memasukkan username dan password, lalu menampilkan notifikasi apakah login berhasil atau gagal. ✨ Fitur Utama Input field untuk username dan password Password field dilengkapi masking Tombol Login Validasi sederhana dan notifikasi login 📦 Dependencies Pastikan project Anda menggunakan Material 3 . Tambahkan ini ke file build.gradle (Module) : implementation "androidx.compose.material3:material3:1.1.2" 📝 Kode Lengkap MainActivity.kt package com.example.loginpage import android.os.Bundle import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.* import androidx.compose.material3.* import androidx.compose.runtim...