Tuesday, June 2, 2026

Rest API

 




REST API

REST API (Representational State Transfer Application Programming Interface) adalah standar komunikasi antara client (Android App) dan server menggunakan protokol HTTP.

Ilustrasi:

Android App
|
| HTTP Request
v
REST API Server
|
| JSON Response
v
Android App

Contoh:

Aplikasi berita mengambil data dari server.

GET https://newsapi.org/v2/top-headlines

Server mengembalikan:

{
"status":"ok",
"articles":[
{
"title":"Android 16 Released",
"author":"Google"
}
]
}

Android kemudian menampilkan data tersebut ke layar.




Latihan

  1. News App adalah aplikasi Android modern yang digunakan untuk menampilkan berita terkini dari REST API menggunakan arsitektur MVVM, Kotlin Coroutines, Retrofit, StateFlow, dan Jetpack Compose.
  2. Project ini dirancang untuk melatih mahasiswa memahami pengembangan aplikasi Android profesional yang terintegrasi dengan web service.
  3. Panduan Implementasi https://drive.google.com/file/d/1_92ryNB0FJeyUHSA4lu1wlU_DMzEu02w/view?usp=drive_link
  4. API yang bisa dipakai https://newsapi.org/




API

GET https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_API_KEY
GET https://newsapi.org/v2/everything?q=android&apiKey=YOUR_API_KEY

{
  "status":"ok",
  "totalResults":100,
  "articles":[
    {
      "title":"Android 16 Released",
      "author":"Google",
      "urlToImage":"https://..."
    }
  ]
}


Referensi








Tuesday, May 19, 2026

Room Database - Registrasi Siswa



Dalam pengembangan aplikasi Android modern, penyimpanan data lokal merupakan bagian penting untuk menyimpan data pengguna secara permanen.

Android menyediakan SQLite sebagai database bawaan. Namun penggunaan SQLite secara langsung cukup kompleks karena developer harus menulis query SQL manual dan mengelola database secara detail.

Untuk mempermudah pengelolaan database lokal, Android menyediakan Room Database.

Room adalah bagian dari Android Jetpack yang berfungsi sebagai abstraction layer di atas SQLite.




Latihan

Buatlah aplikasi Registrasi Siswa dengan fungsi CRUD data siswa menggunakan Room Database.







Referensi :


Link Pengumpulan Tugas


Absensi





Tuesday, May 12, 2026

Arsitektur MVVM

 






Arsitektur MVVM dan Room Database 1. 

Dalam pengembangan aplikasi Android modern, Google merekomendasikan penggunaan:

  • Kotlin
  • Jetpack Compose
  • MVVM Architecture
  • Room Database
  • Coroutine
  • Flow

Tujuan penggunaan teknologi tersebut adalah:

  • Membuat aplikasi lebih scalable
  • Mudah maintenance
  • Reactive UI
  • Clean Architecture
  • Mudah dikembangkan oleh tim

Kombinasi MVVM dan Room menjadi standar pengembangan aplikasi Android modern.






Latihan

Buat aplikasi login sederhana yang memiliki fitur:

  • Input username
  • Input password
  • Tombol login
  • Validasi login
  • Menampilkan pesan sukses/gagal
  • Data user disimpan di Room Database

Referensi


Link Pengumpulan Tugas


Absensi




Video






Tuesday, May 5, 2026

Material - Studi Kasus Marketplace Siswa


Material Design adalah sistem desain yang dikembangkan oleh Google untuk membantu developer dan designer menciptakan UI yang:

  • Konsisten
  • Responsif
  • Menarik secara visual
  • Mudah digunakan (user-friendly)

Versi terbaru dikenal sebagai Material You (Material Design 3) yang lebih personal dan dinamis.

Prinsip Material Design

1. Material is the metaphor

  • UI dianalogikan seperti benda nyata (kertas, bayangan, layer)
  • Memberikan kesan depth (elevation)

Contoh:

  • Card memiliki bayangan
  • Floating Action Button (FAB) terlihat “mengambang”

2. Bold, graphic, intentional

  • Gunakan warna kontras
  • Tipografi jelas
  • Layout tidak berantakan

 Fokus:

  • Hierarki visual
  • Penekanan pada konten penting

3. Motion provides meaning

  • Animasi bukan sekadar estetika
  • Membantu user memahami perubahan UI

Contoh:

  • Transition antar halaman
  • Ripple effect saat tombol ditekan



Referensi


Latihan


Membuat Marketplace Siswa





Link Pengumpulan Tugas


Absensi




Video








Tuesday, April 14, 2026

Arsitektur dan Activity

 



Arsitektur Android terdiri dari beberapa lapisan (layer) komponen yang saling bekerja sama untuk mendukung kebutuhan berbagai perangkat Android. Sistem Android dibangun di atas kernel Linux open-source, serta dilengkapi dengan berbagai library C/C++ yang diakses melalui application framework.

Di dalam arsitektur ini, Linux Kernel berperan sebagai inti sistem operasi (mengatur hardware, memori, proses, dll), sedangkan Android Runtime (termasuk Dalvik Virtual Machine/DVM atau ART) menyediakan lingkungan untuk menjalankan aplikasi Android.

1. Applications (Aplikasi)

Lapisan paling atas adalah aplikasi yang langsung digunakan oleh pengguna.

Contohnya:

  • Aplikasi bawaan (Contacts, SMS, Camera)
  • Aplikasi pihak ketiga (WhatsApp, Instagram, dll)

Aplikasi ini dibangun menggunakan bahasa seperti Java atau Kotlin dan berjalan di atas Android Runtime.

2. Application Framework

Lapisan ini menyediakan berbagai layanan (services) yang dapat digunakan oleh aplikasi.

Beberapa komponen penting:

  • Activity Manager → mengatur siklus hidup aplikasi
  • Window Manager → mengatur tampilan layar
  • Content Provider → berbagi data antar aplikasi
  • Resource Manager → mengelola resource (layout, string, dll)

Framework ini memudahkan developer karena tidak perlu mengakses hardware secara langsung.

3. Android Runtime

Lapisan ini bertanggung jawab untuk menjalankan aplikasi Android.

Terdiri dari:

  • Core Libraries → menyediakan fungsi dasar seperti struktur data, utilitas, dll
  • Dalvik Virtual Machine (DVM) atau ART (Android Runtime) → menjalankan bytecode aplikasi Android

Setiap aplikasi berjalan dalam proses terpisah untuk keamanan dan stabilitas.

4. Platform Libraries (Native Libraries)

Berisi kumpulan library berbasis C/C++ yang digunakan oleh berbagai komponen Android.

Contohnya:

  • SQLite → database
  • WebKit → engine browser
  • OpenGL → grafis
  • Media Framework → audio & video

Library ini memberikan performa tinggi untuk fungsi-fungsi penting.

Ada beberapa komponen dasar yang diperlukan dalam sebuah aplikasi Android. Komponen-komponen ini bersifat loosely coupled (tidak saling bergantung secara ketat) dan dihubungkan oleh file manifest aplikasi (AndroidManifest.xml), yang berisi deskripsi setiap komponen serta bagaimana mereka saling berinteraksi.

File manifest juga memuat berbagai informasi penting seperti:

  • Metadata aplikasi
  • Konfigurasi perangkat keras (hardware)
  • Kebutuhan platform (versi Android)
  • Library eksternal yang digunakan
  • Izin (permissions) yang diperlukan aplikasi

5. Linux Kernel

Lapisan paling bawah yang menjadi inti dari sistem operasi Android.

Fungsinya:

  • Manajemen memori
  • Manajemen proses
  • Driver perangkat (kamera, audio, display, dll)
  • Keamanan sistem

Kernel Linux memastikan komunikasi antara hardware dan software berjalan dengan baik.

Adapun komponen utama dalam sebuah aplikasi Android adalah sebagai berikut:

1. Activities
2. Services
3. Content Providers
4. Broadcast Receivers
5. Intents
6. Widgets
7. Notifications

Referensi


Latihan



Pengisian Form



Absensi





Tuesday, March 10, 2026

Jet Pack Compose - Text

 Jetpack Compose adalah toolkit modern untuk membangun user interface (UI) aplikasi Android menggunakan bahasa Kotlin secara deklaratif tanpa menggunakan XML layout.

Framework ini dikembangkan oleh Google sebagai bagian dari Android Jetpack untuk mempermudah pengembangan UI Android agar lebih sederhana, cepat, dan modern.

1. Struktur Utama Program

Kode ini terdiri dari dua bagian utama:

  1. MainActivity → Entry point aplikasi Android

  2. Composable Function (MyTextView) → Fungsi UI yang menampilkan teks

Arsitektur Jetpack Compose biasanya seperti ini:

MainActivity

setContent{}

Composable Function

UI Components (Text, Column, Row, dll)

2. Penjelasan Class MainActivity

class MainActivity : ComponentActivity() {
  • MainActivity adalah activity utama pada aplikasi Android.

  • ComponentActivity adalah class dasar yang mendukung Jetpack Compose.

Pada sistem Android lama biasanya:

Activity → setContentView(XML)

Sedangkan pada Jetpack Compose:

Activity → setContent { Composable }



Rest API

  https://drive.google.com/file/d/1gklVpX5ZmOqFcuCToYSBznjpvT1tJRjo/view?usp=drive_link REST API REST API ( Representational State Transfer ...