SlideShare a Scribd company logo
Tingkatkan Performa Website
dengan Bantuan DevTools
Nasrul Gunawan
Software Engineer - Nutrifood Indonesia
Pembuat: Panuwat Sikham | Kredit: Getty Images/iStockphoto
Apakah performa itu
penting?
Performa adalah tentang
mempertahankan pengguna.
01
Performa adalah tentang user
experience.
03
Performa adalah tentang
people.
04
Performa adalah tentang
meningkatkan konversi.
02
Performa adalah tentang mempertahankan
pengguna.
01
800ms
COOK reduced
average page load
time by
7%
Increased
conversions by
7%
Decreased bounce
rates by
10%
Increased pages
per session by
40%
Pinterest reduced
perceived wait
times by
15%
Increased search
engine traffic and
sign-ups by
1)*
The BCC found they lost an additional
10%of users for every additional
second their site took to load. 2)*
3)*
1) https://medium.com/@Pinterest_Engineering/driving-user-growth-with-performance-improvements-cfc50dafadd7
2) https://www.creativebloq.com/features/how-the-bbc-builds-websites-that-scale
3) https://www.nccgroup.trust/globalassets/resources/uk/case-studies/web-performance/cook-case-study.pdf
02
AutoAnything reduced page load time by half, they saw
a boost of 12%to 13%in sales.
1) https://www.digitalcommerce360.com/2010/08/19/web-accelerator-revs-conversion-and-sales-autoanything/
Performa adalah tentang meningkatkan konversi.
Situs lambat berdampak negatif pada pendapatan, dan situs cepat terbukti
meningkatkan rasio konversi.
03
Sebuah studi konsumen yang dilakukan ericsson.com menunjukkan bahwa
respons stres terhadap penundaan dalam kecepatan seluler mirip dengan
saat menonton film horor atau memecahkan masalah matematika, dan lebih
besar daripada menunggu di antrean pembayaran di toko ritel.
Performa adalah tentang user experience.
“When it comes to user experience, speed matters”
04
Performa adalah tentang people.
Situs dan aplikasi yang memiliki performa buruk dapat menimbulkan kerugian nyata
bagi orang yang menggunakannya.
Kenapa website lemot/lambat?
Performa Server
Tidak Optimal
Ukuran gambar yang
besar
Banyak redirect dan
http request
Load assets yang
tidak dibutuhkan
...
Bagaimana cara meningkatkan
performa dengan bantuan DevTools?
Fitur DevTools yang dapat digunakan..
Lighthouse
Coverage
Network
Performance
Lighthouse
Lighthouse is an open-source,
automated tool for improving the
performance, quality, and correctness
of your web apps.
Lighthouse di Chrome versi terbaru
● Ekstensi Browser
(Chrome/Firefox)
● Lighthouse CLI
● web.dev/measure
● PageSpeed Insights
Hasil audit
Before After
Skor Performa Lighthouse naik
66 poin
Metriks Performa Lighthouse Terbaru
First Contentful Paint
Mengukur waktu yang dibutuhkan
browser untuk merender bagian
pertama konten DOM setelah
pengguna membuka halaman
website.
Speed Index
Mengukur seberapa cepat konten
ditampilkan secara visual selama
pemuatan halaman.
Largest Contentful Paint
Mengukur saat elemen konten
terbesar di viewport dirender ke
layar. Ini mendekati saat konten
utama halaman dapat dilihat oleh
pengguna.
Time to Interactive
Mengukur berapa lama halaman
menjadi interaktif sepenuhnya.
Total Blocking Time
Mengukur jumlah total waktu
antara First Contentful Paint
(FCP) dan Time to Interactive
(TTI).
Cumulative Layout Shift
Indikator yang mengukur
seberapa banyak perubahan
layout halaman website yang
terjadi saat dimuat.
Meningkatkan performa
Optimasi Gambar
● Serve Responsive Images
○ Gunakan srcset
○ Gunakan media queries
● Optimasi kompresi gambar
● Gunakan gambar dengan next-gen format
● Gunakan Lazy Loading
● Icon? SVG atau Font?
Gunakan srcset
Agar ukuran gambar yang ditampilkan dapat menyesuaikan
sesuai lebar layar yang telah ditentukan
Gunakan media queries untuk background images
Gunakan gambar dengan next-gen format
Sumber: https://youtu.be/8VoCua-dEu0
● YouTube menghasilkan
pemuatan halaman 10% lebih
cepat setelah beralih ke
thumbnail WebP.
● Facebook mengalami
penghematan ukuran file
25-35% untuk JPEG dan 80%
penghematan ukuran file
untuk PNG ketika mereka
beralih menggunakan WebP.
Sumber: https://web.dev/serve-images-webp/
Gunakan Lazy Loading
1. Level Browser
https://web.dev/browser-level-image-lazy-loading/
Gunakan Lazy Loading
1. Lazy Load-Level Browser (Browser Support)
Gunakan Lazy Loading
2. Plugin/library LazySizes
lazysizes is the most popular library for lazy-loading images. It is a script that intelligently loads images
as the user moves through the page and prioritizes images that the user will encounter soon.
<- Tambahkan script lazysizes
<- Tambahkan class=”lazyload”
Gunakan Lazy Loading
https://web.dev/browser-level-image-lazy-loading/
Gunakan Lazy Loading
2. Lazy load Carousel/Image Slider
a. Slick Carousel b. Owl Carousel
Hapus kode yang tidak digunakan dan hapus
library yang tidak dibutuhkan
Minify dan gabungkan file-file assets
Fix render-blocking
Javascript Load Parse Execute
Proses load javascript
1. Gunakan library loadCSS untuk load CSS secara asynchronous
2. Three Levels of Goodness (Tiga teknik untuk mengoptimalkan kinerja situs web dengan memuat JavaScript
selambat mungkin)*
Solusi
Good
Don't let scripts
block content
Better
Use async and defer
attributes
Extreme
Load scripts last
*Google Chrome Developers
Fix render-blocking
Good
Don't let scripts
block content
Better
Use async and defer
attributes
Extreme
Load scripts last
Fix render-blocking
Good
Don't let scripts
block content
Better
Use async and defer
attributes
Extreme
Load scripts last
https://www.josefzacek.cz/
Fix render-blocking
Good
Don't let scripts
block content
Better
Use async and defer
attributes
Extreme
Load scripts last
1. With JQuery
2. Without JQuery
Enable Kompresi Gzip/Brotli
Gzip Brotli
● Enable via Web Server (Nginx/Apache)
● Enable menggunakan plugin/library
● Cloudflare
Cek Gzip dan Brotli
Akses: https://www.giftofspeed.com/gzip-test/
Rekap
● Penyebab Website lambat
○ Performa server yang tidak optimal
○ Menggunakan gambar ukuran besar
○ Banyak redirect dan http request
○ Banyak menggunakan assets/library yang tidak
digunakan dan dibutuhkan
Rekap
● Tools yang dapat digunakan untuk cek dan optimasi website
○ DevTools
■ Lighthouse
■ CSS/JS Coverage
■ Network Tab
■ Performance Tab
○ Cloudflare
○ https://www.giftofspeed.com/gzip-test/
Rekap
● Improve performa website
○ Optimasi gambar
○ Hapus kode/assets/library yang tidak digunakan/dibutuhkan
○ Minify dan gabungkan file-file asset
○ Enable kompresi Gzip/Brotli
○ Jalankan aplikasi dengan mode production
Pelajari lebih jauh tentang performa
website di..
● https://web.dev
● Google Chrome Developers
● https://www.youtube.com/watch?v=vgUJuqQO4fo&list=PLNYkxO
F6rcICVl6Vb-AFlw81bQLuv6a_P
● https://www.crazyegg.com/blog/speed-up-your-website/
● https://www.thinkwithgoogle.com/marketing-resources/data-me
asurement/mobile-page-speed-new-industry-benchmarks/
Nasrul Gunawan
Software Engineer at Nutrifood Indonesia
Surel: search.nasrul@gmail.com
IG: @nasrul.gunawan
Terima Kasih

More Related Content

What's hot

Rekayasa web
Rekayasa webRekayasa web
Rekayasa web
reksa eka
 
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
DicodingEvent
 
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
Suryo Atmojo
 
Beginner's Guide to React & Redux Development
Beginner's Guide to React & Redux DevelopmentBeginner's Guide to React & Redux Development
Beginner's Guide to React & Redux Development
Yoza Aprilio
 
Presentation1
Presentation1Presentation1
Presentation1esuctudy
 
Review Udemy Course #1
Review Udemy Course #1Review Udemy Course #1
Review Udemy Course #1
BintangRamadhan25
 
J query.
J query.J query.
J query.
musliminstimik
 
J query
J queryJ query
J query
mihyidi
 
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
RizkyCrown
 
Beginners Guide to React and Redux
Beginners Guide to React and ReduxBeginners Guide to React and Redux
Beginners Guide to React and Redux
Trimikha Valentius
 
Tugas 6 rekayasa web
Tugas 6 rekayasa webTugas 6 rekayasa web
Tugas 6 rekayasa web
rizkyripai
 
Rekweb tugas 1
Rekweb tugas 1Rekweb tugas 1
Rekweb tugas 1
ikasulistiyani
 
Tugas 6 individu rekayasa web 0316
Tugas 6  individu rekayasa web 0316Tugas 6  individu rekayasa web 0316
Tugas 6 individu rekayasa web 0316
septianarul
 
Java web application 1
Java web application 1Java web application 1
Java web application 1
Doni Andriansyah
 
Tugas rekweb 4
Tugas rekweb 4Tugas rekweb 4
Tugas rekweb 4
ricoadityaputra
 
jQuery
jQueryjQuery

What's hot (19)

Rahmaaaa
RahmaaaaRahmaaaa
Rahmaaaa
 
Rekayasa web
Rekayasa webRekayasa web
Rekayasa web
 
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
Dicoding Developer Coaching #14: Android | Menjalankan Proses di Background T...
 
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)1.suryo_atmojo-materi react-native 1 (mengenal react-native)
1.suryo_atmojo-materi react-native 1 (mengenal react-native)
 
Beginner's Guide to React & Redux Development
Beginner's Guide to React & Redux DevelopmentBeginner's Guide to React & Redux Development
Beginner's Guide to React & Redux Development
 
Annatia ndisay
Annatia ndisayAnnatia ndisay
Annatia ndisay
 
Presentation1
Presentation1Presentation1
Presentation1
 
Review Udemy Course #1
Review Udemy Course #1Review Udemy Course #1
Review Udemy Course #1
 
J query.
J query.J query.
J query.
 
J query
J queryJ query
J query
 
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
 
Beginners Guide to React and Redux
Beginners Guide to React and ReduxBeginners Guide to React and Redux
Beginners Guide to React and Redux
 
Tugas 6 rekayasa web
Tugas 6 rekayasa webTugas 6 rekayasa web
Tugas 6 rekayasa web
 
Rekweb tugas 1
Rekweb tugas 1Rekweb tugas 1
Rekweb tugas 1
 
Risma aja
Risma ajaRisma aja
Risma aja
 
Tugas 6 individu rekayasa web 0316
Tugas 6  individu rekayasa web 0316Tugas 6  individu rekayasa web 0316
Tugas 6 individu rekayasa web 0316
 
Java web application 1
Java web application 1Java web application 1
Java web application 1
 
Tugas rekweb 4
Tugas rekweb 4Tugas rekweb 4
Tugas rekweb 4
 
jQuery
jQueryjQuery
jQuery
 

Similar to Tingkatkan Performa Website dengan Bantuan DevTools - Nasrul Gunawan

Bab 1 Teknologi Web
Bab 1   Teknologi WebBab 1   Teknologi Web
Bab 1 Teknologi Web
YUSRA FERNANDO
 
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdfMemahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Beon Intermedia
 
Tugas individu Rekweb 1
Tugas individu Rekweb 1Tugas individu Rekweb 1
Tugas individu Rekweb 1
dendyalfianisatrio
 
Presentation1 rekweb
Presentation1 rekwebPresentation1 rekweb
Presentation1 rekweb
septianarul
 
SESI 3 FE.pptx
SESI 3 FE.pptxSESI 3 FE.pptx
SESI 3 FE.pptx
FerdinandAlberthLima
 
Materi 10-rekayasa-web-tahapan-proyek
Materi 10-rekayasa-web-tahapan-proyekMateri 10-rekayasa-web-tahapan-proyek
Materi 10-rekayasa-web-tahapan-proyekYan Bali
 
Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...
Kanaidi ken
 
laporan aplikasi
laporan aplikasilaporan aplikasi
laporan aplikasiFitra Sani
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt
044249
 
Membuat aplikasi pengolahan citra dengan open cv
Membuat aplikasi pengolahan citra dengan open cvMembuat aplikasi pengolahan citra dengan open cv
Membuat aplikasi pengolahan citra dengan open cv
DnD Sandy Ra
 
Tugas 1 rekayasa web
Tugas 1 rekayasa webTugas 1 rekayasa web
Tugas 1 rekayasa web
Rizki Wahyu
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesikaRCH_98
 
bootstrap.pptx
bootstrap.pptxbootstrap.pptx
bootstrap.pptx
febriyantisihotang
 
Tugas rekayasa web
Tugas rekayasa webTugas rekayasa web
Tugas rekayasa web
Aditya Indraprasti
 
M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034
AHMATT SFDN
 
Tigas rekayasa web 1412510016
Tigas rekayasa web 1412510016Tigas rekayasa web 1412510016
Tigas rekayasa web 1412510016
muslim rohadi
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandani
Arie Firmandani
 

Similar to Tingkatkan Performa Website dengan Bantuan DevTools - Nasrul Gunawan (20)

Bab 1 Teknologi Web
Bab 1   Teknologi WebBab 1   Teknologi Web
Bab 1 Teknologi Web
 
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdfMemahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
 
Tugas individu Rekweb 1
Tugas individu Rekweb 1Tugas individu Rekweb 1
Tugas individu Rekweb 1
 
Presentation1 rekweb
Presentation1 rekwebPresentation1 rekweb
Presentation1 rekweb
 
SESI 3 FE.pptx
SESI 3 FE.pptxSESI 3 FE.pptx
SESI 3 FE.pptx
 
Materi 10-rekayasa-web-tahapan-proyek
Materi 10-rekayasa-web-tahapan-proyekMateri 10-rekayasa-web-tahapan-proyek
Materi 10-rekayasa-web-tahapan-proyek
 
Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...Technical Aspects of Website and Information System Development _Training "IN...
Technical Aspects of Website and Information System Development _Training "IN...
 
Cover
CoverCover
Cover
 
laporan aplikasi
laporan aplikasilaporan aplikasi
laporan aplikasi
 
Cover
CoverCover
Cover
 
Laporan tugas besar_web
Laporan tugas besar_webLaporan tugas besar_web
Laporan tugas besar_web
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt
 
Membuat aplikasi pengolahan citra dengan open cv
Membuat aplikasi pengolahan citra dengan open cvMembuat aplikasi pengolahan citra dengan open cv
Membuat aplikasi pengolahan citra dengan open cv
 
Tugas 1 rekayasa web
Tugas 1 rekayasa webTugas 1 rekayasa web
Tugas 1 rekayasa web
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesika
 
bootstrap.pptx
bootstrap.pptxbootstrap.pptx
bootstrap.pptx
 
Tugas rekayasa web
Tugas rekayasa webTugas rekayasa web
Tugas rekayasa web
 
M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034
 
Tigas rekayasa web 1412510016
Tigas rekayasa web 1412510016Tigas rekayasa web 1412510016
Tigas rekayasa web 1412510016
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandani
 

More from DicodingEvent

Developer Coaching #114.pdf
Developer Coaching #114.pdfDeveloper Coaching #114.pdf
Developer Coaching #114.pdf
DicodingEvent
 
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...
DicodingEvent
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
DicodingEvent
 
Mengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchatMengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchat
DicodingEvent
 
Membangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWSMembangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWS
DicodingEvent
 
IDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational ThinkingIDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational Thinking
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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
DicodingEvent
 
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 ...
DicodingEvent
 
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...
DicodingEvent
 
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
DicodingEvent
 
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 ...
DicodingEvent
 
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...
DicodingEvent
 
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
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 #32: Android | Reactive Programming dengan RxJava...
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
 

Tingkatkan Performa Website dengan Bantuan DevTools - Nasrul Gunawan

  • 1. Tingkatkan Performa Website dengan Bantuan DevTools Nasrul Gunawan Software Engineer - Nutrifood Indonesia Pembuat: Panuwat Sikham | Kredit: Getty Images/iStockphoto
  • 2.
  • 4. Performa adalah tentang mempertahankan pengguna. 01 Performa adalah tentang user experience. 03 Performa adalah tentang people. 04 Performa adalah tentang meningkatkan konversi. 02
  • 5. Performa adalah tentang mempertahankan pengguna. 01 800ms COOK reduced average page load time by 7% Increased conversions by 7% Decreased bounce rates by 10% Increased pages per session by 40% Pinterest reduced perceived wait times by 15% Increased search engine traffic and sign-ups by 1)* The BCC found they lost an additional 10%of users for every additional second their site took to load. 2)* 3)* 1) https://medium.com/@Pinterest_Engineering/driving-user-growth-with-performance-improvements-cfc50dafadd7 2) https://www.creativebloq.com/features/how-the-bbc-builds-websites-that-scale 3) https://www.nccgroup.trust/globalassets/resources/uk/case-studies/web-performance/cook-case-study.pdf
  • 6. 02 AutoAnything reduced page load time by half, they saw a boost of 12%to 13%in sales. 1) https://www.digitalcommerce360.com/2010/08/19/web-accelerator-revs-conversion-and-sales-autoanything/ Performa adalah tentang meningkatkan konversi. Situs lambat berdampak negatif pada pendapatan, dan situs cepat terbukti meningkatkan rasio konversi.
  • 7. 03 Sebuah studi konsumen yang dilakukan ericsson.com menunjukkan bahwa respons stres terhadap penundaan dalam kecepatan seluler mirip dengan saat menonton film horor atau memecahkan masalah matematika, dan lebih besar daripada menunggu di antrean pembayaran di toko ritel. Performa adalah tentang user experience. “When it comes to user experience, speed matters”
  • 8. 04 Performa adalah tentang people. Situs dan aplikasi yang memiliki performa buruk dapat menimbulkan kerugian nyata bagi orang yang menggunakannya.
  • 9. Kenapa website lemot/lambat? Performa Server Tidak Optimal Ukuran gambar yang besar Banyak redirect dan http request Load assets yang tidak dibutuhkan ...
  • 10. Bagaimana cara meningkatkan performa dengan bantuan DevTools?
  • 11. Fitur DevTools yang dapat digunakan.. Lighthouse Coverage Network Performance
  • 12. Lighthouse Lighthouse is an open-source, automated tool for improving the performance, quality, and correctness of your web apps.
  • 13. Lighthouse di Chrome versi terbaru ● Ekstensi Browser (Chrome/Firefox) ● Lighthouse CLI ● web.dev/measure ● PageSpeed Insights
  • 15. Before After Skor Performa Lighthouse naik 66 poin
  • 16. Metriks Performa Lighthouse Terbaru First Contentful Paint Mengukur waktu yang dibutuhkan browser untuk merender bagian pertama konten DOM setelah pengguna membuka halaman website. Speed Index Mengukur seberapa cepat konten ditampilkan secara visual selama pemuatan halaman. Largest Contentful Paint Mengukur saat elemen konten terbesar di viewport dirender ke layar. Ini mendekati saat konten utama halaman dapat dilihat oleh pengguna. Time to Interactive Mengukur berapa lama halaman menjadi interaktif sepenuhnya. Total Blocking Time Mengukur jumlah total waktu antara First Contentful Paint (FCP) dan Time to Interactive (TTI). Cumulative Layout Shift Indikator yang mengukur seberapa banyak perubahan layout halaman website yang terjadi saat dimuat.
  • 17. Meningkatkan performa Optimasi Gambar ● Serve Responsive Images ○ Gunakan srcset ○ Gunakan media queries ● Optimasi kompresi gambar ● Gunakan gambar dengan next-gen format ● Gunakan Lazy Loading ● Icon? SVG atau Font?
  • 18. Gunakan srcset Agar ukuran gambar yang ditampilkan dapat menyesuaikan sesuai lebar layar yang telah ditentukan
  • 19. Gunakan media queries untuk background images
  • 20. Gunakan gambar dengan next-gen format Sumber: https://youtu.be/8VoCua-dEu0 ● YouTube menghasilkan pemuatan halaman 10% lebih cepat setelah beralih ke thumbnail WebP. ● Facebook mengalami penghematan ukuran file 25-35% untuk JPEG dan 80% penghematan ukuran file untuk PNG ketika mereka beralih menggunakan WebP. Sumber: https://web.dev/serve-images-webp/
  • 21. Gunakan Lazy Loading 1. Level Browser https://web.dev/browser-level-image-lazy-loading/
  • 22. Gunakan Lazy Loading 1. Lazy Load-Level Browser (Browser Support)
  • 23. Gunakan Lazy Loading 2. Plugin/library LazySizes lazysizes is the most popular library for lazy-loading images. It is a script that intelligently loads images as the user moves through the page and prioritizes images that the user will encounter soon. <- Tambahkan script lazysizes <- Tambahkan class=”lazyload”
  • 25. Gunakan Lazy Loading 2. Lazy load Carousel/Image Slider a. Slick Carousel b. Owl Carousel
  • 26. Hapus kode yang tidak digunakan dan hapus library yang tidak dibutuhkan
  • 27. Minify dan gabungkan file-file assets
  • 28. Fix render-blocking Javascript Load Parse Execute Proses load javascript 1. Gunakan library loadCSS untuk load CSS secara asynchronous 2. Three Levels of Goodness (Tiga teknik untuk mengoptimalkan kinerja situs web dengan memuat JavaScript selambat mungkin)* Solusi Good Don't let scripts block content Better Use async and defer attributes Extreme Load scripts last *Google Chrome Developers
  • 29. Fix render-blocking Good Don't let scripts block content Better Use async and defer attributes Extreme Load scripts last
  • 30. Fix render-blocking Good Don't let scripts block content Better Use async and defer attributes Extreme Load scripts last https://www.josefzacek.cz/
  • 31. Fix render-blocking Good Don't let scripts block content Better Use async and defer attributes Extreme Load scripts last 1. With JQuery 2. Without JQuery
  • 32. Enable Kompresi Gzip/Brotli Gzip Brotli ● Enable via Web Server (Nginx/Apache) ● Enable menggunakan plugin/library ● Cloudflare
  • 33. Cek Gzip dan Brotli Akses: https://www.giftofspeed.com/gzip-test/
  • 34. Rekap ● Penyebab Website lambat ○ Performa server yang tidak optimal ○ Menggunakan gambar ukuran besar ○ Banyak redirect dan http request ○ Banyak menggunakan assets/library yang tidak digunakan dan dibutuhkan
  • 35. Rekap ● Tools yang dapat digunakan untuk cek dan optimasi website ○ DevTools ■ Lighthouse ■ CSS/JS Coverage ■ Network Tab ■ Performance Tab ○ Cloudflare ○ https://www.giftofspeed.com/gzip-test/
  • 36. Rekap ● Improve performa website ○ Optimasi gambar ○ Hapus kode/assets/library yang tidak digunakan/dibutuhkan ○ Minify dan gabungkan file-file asset ○ Enable kompresi Gzip/Brotli ○ Jalankan aplikasi dengan mode production
  • 37. Pelajari lebih jauh tentang performa website di.. ● https://web.dev ● Google Chrome Developers ● https://www.youtube.com/watch?v=vgUJuqQO4fo&list=PLNYkxO F6rcICVl6Vb-AFlw81bQLuv6a_P ● https://www.crazyegg.com/blog/speed-up-your-website/ ● https://www.thinkwithgoogle.com/marketing-resources/data-me asurement/mobile-page-speed-new-industry-benchmarks/
  • 38. Nasrul Gunawan Software Engineer at Nutrifood Indonesia Surel: search.nasrul@gmail.com IG: @nasrul.gunawan Terima Kasih