SlideShare a Scribd company logo
1 of 15
Download to read offline
Menampilkan Jutaan Data
dengan Paging
Khrisna Indrawan Eka Putra
Google Associate Android Developer, Code Reviewer Dicoding
Architecture Component
● Database lokal, yang berfungsi sebagai salah satu sumber data yang
disajikan kepada pengguna dan aksi yang telah dilakukan pengguna
akan mempengaruhi data tersebut.
● Layanan web API.
● Repository yang berfungsi dengan database dan layanan API,
menyediakan antarmuka data terpadu.
● ViewModel yang menyediakan data khusus untuk UI.
● UI, yang menunjukkan representasi visual dari data dalam ViewModel.
Paging
Paging membantu kita memuat data dan menampilkan
data-data tersebut secara bertahap (sebagian kecil
dalam satu waktu).
Memuat data secara berkala/seperlunya akan
mengurangi penggunaan sumber daya, terutama
Network Bandwidth dan System Resources.
Data
Setiap instance PagedList, memuat data snapshot
terbaru dari obyek DataSource. Data berasal dari
backend atau database, kemudian disampaikan ke
obyek PagedList.
PagedList
● PagedList, adalah komponen yang memuat potongan data atau
halaman-halaman pada aplikasi Anda.
UI
● Kelas PagedList bekerja dengan PagedListAdapter untuk memuat item
ke dalam RecyclerView.
Paging Library mendukung
arsitektur data berikut:
● Data hanya berasal dari server
backend.
● Disimpan hanya ke database
pada perangkat.
● Kombinasi dari sumber lain,
menggunakan basis data di
perangkat sebagai cache.
Guideline
● Define a data source/arsitekturnya.
● Menambahkan library Paging dan library lain yang dibutuhkan.
● Menerapkan DataSource pada layer Repository.
● Implementasi PagedList & PagedListAdapter.
● Menghubungkan Adapter dengan View/Activity.
Dependencies
DataSource
Dao Class
Repository Class
PagedList &
PagedListAdapter
ViewModel Class
Adapter Class
Activity
Contact:
khrisna@dicoding.com
THANKS!
Follow us: @dicoding

More Related Content

Similar to Dicoding Developer Coaching #28: Android | Menampilkan Jutaan Data dengan Paging

8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
hajarharike
 
Pengenalan power designer
Pengenalan power designerPengenalan power designer
Pengenalan power designer
pia_13
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objek
Febriyani Syafri
 
Membuat Project Web Service
Membuat Project Web ServiceMembuat Project Web Service
Membuat Project Web Service
Annisa Shabrina
 
30914906 pengertian-database
30914906 pengertian-database30914906 pengertian-database
30914906 pengertian-database
Tri Atsumori
 

Similar to Dicoding Developer Coaching #28: Android | Menampilkan Jutaan Data dengan Paging (20)

Basis data (_database_)
Basis data (_database_)Basis data (_database_)
Basis data (_database_)
 
8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
8.Sistem-Informasi-Manajemen-Pertemuan-8.ppt
 
Pengenalan power designer
Pengenalan power designerPengenalan power designer
Pengenalan power designer
 
SDD
SDDSDD
SDD
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objek
 
database.ppt
database.pptdatabase.ppt
database.ppt
 
13 dasar dasar intelijen bisnis
13 dasar dasar intelijen bisnis13 dasar dasar intelijen bisnis
13 dasar dasar intelijen bisnis
 
Cara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NETCara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NET
 
Membuat Project Web Service
Membuat Project Web ServiceMembuat Project Web Service
Membuat Project Web Service
 
kelompok.pptx
kelompok.pptxkelompok.pptx
kelompok.pptx
 
Android Fundamentals #1.pptx
Android Fundamentals #1.pptxAndroid Fundamentals #1.pptx
Android Fundamentals #1.pptx
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Database For Software Development Trend
Database For Software Development TrendDatabase For Software Development Trend
Database For Software Development Trend
 
30914906 pengertian-database
30914906 pengertian-database30914906 pengertian-database
30914906 pengertian-database
 
Makalah database
Makalah databaseMakalah database
Makalah database
 
Bab ii
Bab iiBab ii
Bab ii
 
Laporan Revisi Function Point (Website Ekonomi Pembangunan)
Laporan Revisi Function Point (Website Ekonomi Pembangunan)Laporan Revisi Function Point (Website Ekonomi Pembangunan)
Laporan Revisi Function Point (Website Ekonomi Pembangunan)
 
ikd312-02-three-schema
ikd312-02-three-schemaikd312-02-three-schema
ikd312-02-three-schema
 
Konsep Sistem Manajemen BasisData
Konsep Sistem Manajemen BasisDataKonsep Sistem Manajemen BasisData
Konsep Sistem Manajemen BasisData
 
Gis Bab8
Gis Bab8Gis Bab8
Gis Bab8
 

More from DicodingEvent

More from DicodingEvent (20)

Developer Coaching #114.pdf
Developer Coaching #114.pdfDeveloper Coaching #114.pdf
Developer Coaching #114.pdf
 
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
 
Mengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchatMengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchat
 
Membangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWSMembangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWS
 
IDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational ThinkingIDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational Thinking
 
Membuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup UnicornMembuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup Unicorn
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
 
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur RohmanMembuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
 
Potensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depanPotensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depan
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew KurniadiTeknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusPengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
 
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
 
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
 
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
 

Dicoding Developer Coaching #28: Android | Menampilkan Jutaan Data dengan Paging