GSP1019

Ringkasan
Looker adalah platform data modern di Google Cloud yang dapat Anda gunakan untuk menganalisis dan memvisualisasikan data secara interaktif. Developer LookML menyeleksi data yang digunakan pengguna bisnis dengan membuat kolom, tabel, tampilan, dan Eksplorasi baru untuk menyesuaikan dan mengatur data.
Di lab ini, Anda akan mempelajari cara memecahkan masalah dan mendiagnosis kode LookML menggunakan SQL Runner, LookML Validator, dan Content Validator di Looker.
Yang akan Anda lakukan
- Menggunakan SQL Runner untuk mengeksplorasi tabel data dan memecahkan masalah kueri SQL.
- Menggunakan LookML Validator untuk memvalidasi sintaksis objek dan relasi yang telah didefinisikan.
- Mendiagnosis dan menyelesaikan pesan error dari kueri Eksplorasi.
- Mendiagnosis dan menyelesaikan pesan error dari proses eksekusi Validator Konten.
Prasyarat
Pemahaman tentang LookML diperlukan. Sebaiknya Anda menyelesaikan Memahami LookML di Looker sebelum memulai lab ini.
Penyiapan dan kebutuhan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.
Cara memulai lab dan login ke Looker
-
Jika sudah siap, klik Start lab.
Panel Lab Details akan muncul dengan kredensial sementara yang harus Anda gunakan untuk lab ini.
Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.
Perhatikan kredensial lab Anda di panel Lab Details. Anda akan menggunakannya untuk login ke instance Looker untuk lab ini.
Catatan: Jika Anda menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.
-
Klik Open Looker.
-
Di kolom Email dan Password, masukkan Nama Pengguna dan Sandi yang disediakan.
Nama pengguna:
{{{looker.developer_username | Username}}}
Sandi:
{{{looker.developer_password | Password}}}
Penting: Anda harus menggunakan kredensial dari panel Lab Details di halaman ini. Jangan menggunakan kredensial Google Cloud Skills Boost. Jika Anda memiliki akun Looker pribadi, jangan gunakan akun tersebut untuk lab ini.
-
Klik Log In.
Setelah login berhasil, Anda akan melihat instance Looker untuk lab ini.
Alat untuk memecahkan masalah kode LookML dan kasus penggunaan umum
Di bagian ini, Anda akan mempelajari berbagai alat dan metode yang dapat digunakan untuk memecahkan masalah kode LookML dan kasus penggunaan umum tiap alat dan metode tersebut.
Catatan: Lab ini menyimulasikan error dalam sintaksis dan definisi objek LookML di tiap tugas untuk membantu Anda mempelajari cara memecahkan masalah error yang mungkin terjadi di instance Looker. Selesaikan lab ini secara menyeluruh untuk melihat sintaksis yang benar dan menyelesaikan error sepenuhnya sebelum menerapkan perubahan ke produksi.
LookML Validator
LookML Validator digunakan untuk memvalidasi model secara penuh. Beberapa error, seperti referensi kolom yang tidak valid karena suatu gabungan terlewat, perlu peninjauan model secara menyeluruh sehingga hanya muncul saat LookML Validator dijalankan. LookML Validator memeriksa semua kode LookML dalam sebuah model, seperti sintaksis definisi objek (misalnya, dimensi dan ukuran) dan relasi yang telah didefinisikan (misalnya, gabungan). Namun, alat ini tidak memeriksa parameter SQL objek LookML (misalnya, tabel turunan SQL).
Menjalankan kueri di Eksplorasi
Setelah mendefinisikan objek LookML baru, Anda dapat menjalankan kueri di Eksplorasi. Tindakan ini membantu memecahkan masalah kode LookML karena menampilkan error SQL yang disediakan database dasarnya (misalnya, izin yang tidak memadai, referensi objek SQL yang salah, atau agregasi yang tidak valid).
SQL Runner
SQL Runner menyediakan cara untuk mengakses database secara langsung dan berguna untuk memeriksa error SQL dalam kueri. Dengan alat ini, Anda dapat menguji SQL kustom yang ingin disertakan dalam parameter SQL objek LookML. Anda juga dapat melihat daftar tabel database, menjalankan kueri ad hoc, menulis kueri untuk tabel turunan SQL, dll.
Validator Konten
Validator Konten memvalidasi semua referensi yang dibuat oleh Look dan dasbor ke model, Eksplorasi, tampilan, dan kolom LookML, serta menampilkan error referensi apa pun yang dibuat konten ke objek LookML yang tidak diketahui. Alat ini juga memeriksa Look dan dasbor yang dibuat di instance untuk memastikan bahwa referensi ke objek LookML valid (misalnya, nama suatu dimensi atau ukuran yang mungkin telah diubah oleh Eksplorasi seiring waktu).
Katalog error Looker
Belum yakin tentang lokasi kemunculan error? Katalog error Looker menyediakan daftar pesan error umum, penyebabnya, dan lokasi kemunculan pesan di Looker.
Tugas 1. Menggunakan SQL Runner untuk mengeksplorasi data yang tersedia dan memecahkan masalah kueri SQL
SQL Runner menyediakan akses langsung ke tabel dasar dalam koneksi database. Dalam SQL Runner, Anda dapat melihat daftar tabel dan kolom data yang tersedia, dan menjalankan kueri SQL kustom pada data. Dalam tugas ini, Anda akan membuat tabel turunan SQL baru di SQL Runner setelah mengeksplorasi data yang tersedia dan memecahkan masalah kueri SQL.
Memulai koneksi ke set data BigQuery di SQL Runner
-
Klik tombol untuk masuk ke Development mode.
-
Di tab Develop, pilih SQL Runner.
-
Klik Settings (
), lalu klik Search public projects.
Kotak untuk Project masih kosong.
-
Ketik cloud-training-demos, lalu tekan ENTER.
-
Untuk Dataset, pilih looker_ecomm.
Daftar tabel yang tersedia di set data BigQuery ini akan ditampilkan.
-
Tambahkan kueri berikut ke jendela SQL Query:
SELECT
orders.user_id as user_id
,COUNT(*) as lifetime_orders
,SUM(orders.order_price) as lifetime_sales
FROM cloud-training-demos.looker_ecomm.orders
GROUP BY user_id
LIMIT 10
Catatan: Kueri SQL yang disediakan berisi informasi yang salah, yang akan Anda koreksi di langkah berikutnya.
- Klik Run.
Pesan error berikut akan muncul:
Query execution failed: - Not found: Table cloud-training-demos:looker_ecomm.orders was not found in location US
Mengidentifikasi nama tabel yang benar untuk kueri SQL
- Dalam daftar nama tabel di bagian Tables, pilih tabel yang berisi informasi pesanan.
- Perbarui nama tabel dalam kueri SQL:
SELECT
order_items.user_id as user_id
,COUNT(*) as lifetime_orders
,SUM(order_items.order_price) as lifetime_sales
FROM cloud-training-demos.looker_ecomm.order_items
GROUP BY user_id
LIMIT 10
- Klik Run.
Pesan error baru akan muncul:
Query execution failed: - Name order_price not found inside order_items at [5:19]
- Di bagian Tables, klik order_items.
Daftar kolom tabel akan muncul.
- Perbarui nama kolom dalam kueri SQL:
SELECT
order_items.user_id as user_id
,COUNT(*) as lifetime_orders
,SUM(order_items.sale_price) as lifetime_sales
FROM cloud-training-demos.looker_ecomm.order_items
GROUP BY user_id
LIMIT 10
- Klik Run.
Hasil kueri akan ditampilkan tanpa error. Anda sekarang dapat menyimpan kueri ini sebagai tabel turunan SQL.
Menyimpan kueri sebagai tabel turunan SQL
-
Klik Settings (
) di samping Run, lalu klik Add to Project.
-
Untuk Project, pilih qwiklabs-ecommerce.
-
Untuk View Name, ketik user_order_lifetime.
-
Klik Add.
-
Di File Browser, tarik user_order_lifetime.view ke folder views.
-
Di file user_order_lifetime.view, hapus baris kode untuk LIMIT 10 dari parameter sql.
Catatan: Saat ini, Anda tidak sedang mendefinisikan primary_key untuk tampilan.
- Klik Save Changes, lalu klik Validate LookML.
Tidak ada error LookML, dan file akan terlihat seperti berikut:

-
Buka file training_ecommerce.model.
-
Dalam definisi explore: events, pada baris baru sebelum join: event_session_facts, gunakan kode berikut untuk mendefinisikan gabungan baru:
join: user_order_lifetime {
type: left_outer
sql_on: ${events.user_id} = ${user_order_lifetime.user_id};;
relationship: many_to_one
}
- Klik Save Changes, lalu klik Validate LookML.
Tidak ada error LookML.
Melakukan perubahan dan men-deploy ke produksi
-
Klik Validate LookML, lalu klik Commit Changes & Push.
-
Tambahkan pesan commit, lalu klik Commit.
-
Terakhir, klik Deploy to Production.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menggunakan SQL Runner untuk mengeksplorasi data yang tersedia dan memecahkan masalah kueri SQL
Tugas 2. Menggunakan LookML Validator untuk menguji sintaksis dan memvalidasi relasi yang telah didefinisikan dalam model
LookML Validator membantu Anda menguji sintaksis objek yang telah didefinisikan (misalnya, dimensi dan ukuran) dan memvalidasi relasi (misalnya, gabungan) dalam model. Dalam tugas ini, Anda akan membuat dimensi baru dengan sintaksis LookML yang salah, yang merujuk tampilan lain yang belum digabungkan ke tampilan dasar Eksplorasi. Kemudian, Anda akan menggunakan LookML Validator untuk mengidentifikasi dan mengoreksi kedua masalah tersebut.
Membuat dimensi baru dengan merujuk dimensi di tampilan lain
-
Di project qwiklabs-ecommerce, buka users.view.
-
Temukan dimensi terakhir, lalu tambahkan kode berikut (sekitar baris 88) untuk membuat dimensi baru:
dimension: average_sales {
type: ${number}
sql: user_order_lifetime.lifetime_sales /
user_order_lifetime.lifetime_orders ;;
value_format_name: usd
}
Perhatikan bahwa dimensi baru merujuk dimensi dari tampilan yang baru dibuat bernama user_order_lifetime.
Catatan: Kode LookML ini berisi sintaksis yang salah, yang akan Anda koreksi di langkah berikutnya.
- Klik Save Changes, lalu klik Validate LookML.
Empat error akan muncul:
- Item pertama mengidentifikasi lokasi error sintaksis sebagai “Invalid LookML syntax near line 89”.
- Item kedua mengidentifikasi error sintaksis spesifik “Expecting ‘keyword’, ‘}’, got ‘identifier’”
Karena berisi sintaksis yang tidak valid, tampilan tidak lagi dianggap sebagai tampilan yang valid. Oleh karena itu, error lain diidentifikasi di file model karena tampilan tidak dapat ditemukan:
-
“Join name must match a view name” dan “Could not find a field named users.id”
Setelah sintaksis untuk dimensi baru di file tampilan dikoreksi, error file model ini juga akan teratasi karena tampilannya kembali valid.
Mengidentifikasi dan mengoreksi error sintaksis dalam dimensi baru
Sekarang Anda akan memecahkan masalah error dalam kode LookML.
-
Lihat dimensi lain di file users.view.
-
Baca dokumentasi tentang Jenis dimensi, filter, dan parameter.
- Perbarui kode LookML untuk dimensi:
dimension: average_sales {
type: number
sql: ${user_order_lifetime.lifetime_sales} /
${user_order_lifetime.lifetime_orders} ;;
value_format_name: usd
}
-
Klik Save Changes, lalu klik Validate LookML.
Karena sintaksisnya telah diperbarui, tampilan menjadi valid kembali, dan error model juga telah diselesaikan. Namun, sekarang ada error baru:

-
Lihat pesan error Inaccessible view di katalog error Looker.
Ada beberapa opsi yang perlu diselidiki:
- Tampilan tidak ada.
- Tampilan tidak digabungkan dengan benar ke eksplorasi.
-
Lihat daftar tampilan di File Browser. Perhatikan bahwa tampilan bernama user_order_lifetime benar-benar ada di File Browser.
-
Buka dan tinjau training_ecommerce.model.
Perhatikan bahwa tampilan baru bernama user_order_lifetime tidak digabungkan ke tampilan dasar Eksplorasi di file model. Perhatikan juga bahwa users.view digabungkan ke Eksplorasi order_items dan event. Oleh karena itu, tampilan baru untuk user_order_lifetime juga harus digabungkan ke kedua Eksplorasi agar dimensi baru dapat didefinisikan dengan benar dalam users.view.
-
Dalam definisi explore: order_items, pada baris baru sebelum join: users, gunakan kode berikut untuk mendefinisikan gabungan baru:
join: user_order_lifetime {
type: left_outer
sql: ${order_items.user_id} = ${user_order_lifetime.user_id};;
relationship: many_to_one
}
Catatan: Salah satu gabungan ini salah didefinisikan, yang akan Anda koreksi di bagian berikutnya.
- Klik Save Changes, lalu klik Validate LookML.
Biarkan tab browser IDE ini tetap terbuka saat Anda memulai tugas berikutnya.
Melakukan perubahan dan men-deploy ke produksi
-
Klik Validate LookML, lalu klik Commit Changes & Push.
-
Tambahkan pesan commit, lalu klik Commit.
-
Terakhir, klik Deploy to Production.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat dimensi baru
Tugas 3. Menggunakan jendela kueri Eksplorasi untuk mendiagnosis objek yang terlewat dan pesan error
Salah satu cara mudah untuk menguji perubahan kode LookML adalah dengan menjalankan kueri di Eksplorasi sehingga Anda dapat mengetahui bagaimana pengguna bisnis akan melihat dan berinteraksi dengan kode yang telah dimodifikasi. Dengan menjalankan kueri di Eksplorasi, Anda dapat mengidentifikasi objek LookML yang terlewat atau tidak valid (misalnya, primary_key yang terlewat) dan melihat error SQL yang disediakan database dasar, seperti izin yang tidak memadai atau referensi objek SQL yang salah (misalnya, gabungan yang salah didefinisikan).
Dalam tugas ini, Anda akan menjalankan kueri di Eksplorasi untuk mengidentifikasi gabungan yang salah ditentukan dan ukuran yang terlewat. Anda juga akan mengoreksi LookML untuk gabungan yang baru didefinisikan dan menambahkan primary_key ke tampilan baru agar agregasi (yaitu, ukuran) berhasil.
Meninjau tampilan baru di Eksplorasi
-
Buka jendela Looker baru di tab baru.
-
Buka Explore > Order Items.
-
Perluas tampilan User Order Lifetime.
Tiga dimensi ditampilkan (lifetime_orders, lifetime_sales, user_id), tetapi tidak ada ukuran.
Biarkan tab browser ini tetap terbuka saat Anda melanjutkan ke langkah berikutnya.
Mengidentifikasi dan mengoreksi parameter yang terlewat untuk agregasi dalam suatu tampilan
-
Kembali ke tab browser Looker IDE, lalu kembali ke user_order_lifetime.view. Ukuran bernama count seharusnya muncul di Eksplorasi.
-
Baca dokumentasi tentang persyaratan untuk agregat simetris. Persyaratan pertama adalah bahwa semua tampilan yang terkait dengan gabungan harus memiliki primary_key yang telah didefinisikan.
-
Tinjau kembali user_order_lifetime.view.
Tidak ada primary_key yang telah didefinisikan.
- Di user_order_lifetime.view, perbarui dimensi
user_id untuk mendefinisikannya sebagai primary_key untuk tampilan tersebut:
dimension: user_id {
primary_key: yes
type: number
sql: ${TABLE}.user_id ;;
}
-
Klik Save Changes, lalu klik Validate LookML.
-
Kembali ke tab browser Order Items Explore, lalu muat ulang halaman.
-
Perluas tampilan User Order Lifetime.
Setelah Anda mendefinisikan primary_key untuk tampilan, ukuran count sekarang muncul.
Di langkah berikutnya, Anda tetap berada di Order Items Explore untuk menguji dimensi baru yang didefinisikan di users.view (Average Sales) yang bergantung pada dimensi di user_order_lifetime.view.
Menjalankan kueri Eksplorasi untuk menguji dimensi baru
- Di bagian Users > Dimensions, klik Average Sales, lalu klik Run.
Pesan error akan muncul bersama dengan kueri SQL yang dikirimkan Eksplorasi ke database dasar. Pesan error tersebut mengidentifikasi masalah pada baris 13: Query execution failed: - Syntax error: Expected end of input but got identifier "order_items" at [13:1].
- Di panel Data, buka tab SQL untuk mempermudah peninjauan kueri yang gagal, lalu periksa baris 13:
order_items.user_id =user_order_lifetime.user_id
Meskipun tidak banyak informasi diberikan tentang error ini, ingat bahwa Anda juga menggabungkan tampilan baru ini ke Events Explore. Di langkah berikutnya, Anda akan menjalankan kueri yang sama di Events Explore untuk menguji tampilan di Eksplorasi tersebut.
-
Biarkan tab browser Order Items Explore ini tetap terbuka, lalu buka jendela Looker baru di tab baru.
-
Buka Explore > Events.
-
Di bagian Users > Dimensions, klik Average Sales, lalu klik Run.
-
Di panel Data, buka tab SQL untuk melihat kueri yang berhasil.
-
Tinjau baris 13 dalam kueri ini.
Tidak seperti kueri di Order Items Explore, sintaksis kueri di baris 13 menyebutkan gabungan antara events dan user_order_lifetime:
LEFT JOIN user_order_lifetime ON events.user_id =
user_order_lifetime.user_id
Mengidentifikasi dan mengoreksi parameter yang tidak valid dalam sebuah model
-
Kembali ke tab browser Looker IDE, lalu buka training_ecommerce.model.
-
Periksa gabungan untuk user_order_lifetime di Eksplorasi order_items dan Eksplorasi events.
-
Periksa parameter berdasarkan Referensi parameter LookML menurut fungsi.
- Dalam definisi
explore: order_items, perbarui gabungan untuk user_order_lifetime:
join: user_order_lifetime {
type: left_outer
sql_on: ${order_items.user_id} = ${user_order_lifetime.user_id};;
relationship: many_to_one
}
-
Klik Save Changes, lalu klik Validate LookML.
Tidak ada error LookML.
-
Kembali ke tab browser Order Items Explore, lalu muat ulang halaman.
Setelah Anda mendefinisikan gabungan untuk user_order_lifetime dengan benar dalam Eksplorasi order_items, kueri akan berjalan lancar.
Menyimpan kueri Eksplorasi sebagai Look
-
Klik sekali di kolom Average Sales untuk mengurutkan secara menurun.
-
Perluas kueri dengan mengklik dimensi lain: ID, State, Country, dan Age.
-
Untuk Row Limit, masukkan: 10.
-
Klik Run.
-
Perluas panel Visualisasi, lalu pilih visualisasi Table.
-
Klik Settings (
).
-
Klik Save > As a Look.
-
Beri nama Look Top 10 Users With Highest Average Sales.
-
Klik Save & View Look.
Visualisasi Anda akan terlihat seperti berikut:

- Tutup tab Eksplorasi lainnya, dan biarkan tab browser ini tetap terbuka saat Anda memulai tugas berikutnya.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat Look
Tugas 4. Menggunakan Validator Konten untuk menguji dan memperbarui konten setelah objek LookML berubah
Validator Konten membantu Anda memeriksa Look dan dasbor yang dibuat di instance untuk memastikan bahwa referensinya ke objek LookML valid. Pemeriksaan ini sangat membantu jika nama dimensi, ukuran, tabel, Eksplorasi, atau model telah dimodifikasi. Baca dokumentasi Sebelum menggunakan Validator Konten untuk mengetahui informasi selengkapnya tentang kemungkinan pengaruh alat ini terhadap konten dan objek di instance.
Dalam tugas ini, Anda akan memodifikasi nama objek LookML (misalnya, dimensi) agar lebih mudah dipahami, lalu menggunakan Validator Konten untuk memvalidasi dan memperbarui referensi ke objek LookML dalam konten yang ada (misalnya, Look).
Mengubah nama dimensi yang ada
- Buka users.view, temukan dimensi bernama
average_sales, dan ubah nama dimensi agar lebih spesifik untuk pengguna bisnis:
dimension: average_order_price {
type: number
sql: ${user_order_lifetime.lifetime_sales} / ${user_order_lifetime.lifetime_orders} ;;
value_format_name: usd
}
-
Klik Save Changes, lalu klik Validate LookML.
Tidak ada error LookML.
-
Biarkan tab browser IDE ini tetap terbuka, kembali ke tab browser Look, dan muat ulang halaman.
Perhatikan bahwa sekarang ada peringatan: 'users.average_sales' no longer exists on Order Items, or you do not have access to it, and it will be ignored.
-
Buka jendela Looker baru di tab baru.
-
Buka Develop > Content Validator.
-
Klik Validate.
Tab Error aktif, dan ada error “Unknown field "users.average_sales" untuk Look bernama Top 10 Users With Highest Average Sales yang Anda buat di tugas sebelumnya.
-
Klik Find & Replace in All Content.
-
Untuk Type, pilih Field.
-
Untuk Field Name, ketik users.average_sales.
-
Untuk Replacement Field Name, ketik users.average_order_price.
-
Klik Replace Field Name.
-
Klik OK.
-
Klik Validate.
Tab Error sekarang kosong karena nama dimensi telah diperbarui di semua konten yang merujuknya (dalam kasus ini, Look bernama Top 10 Users With Highest Average Sales).
-
Kembali ke tab browser Look, lalu muat ulang halaman.
Look telah diperbarui dan berhasil merender visualisasi, sehingga Anda sekarang dapat menerapkan perubahan LookML ke produksi.
-
Kembali ke tab browser IDE.
-
Klik Validate LookML. Seharusnya tidak ada error LookML.
Melakukan perubahan dan men-deploy ke produksi
-
Klik Validate LookML, lalu klik Commit Changes & Push.
-
Tambahkan pesan commit, lalu klik Commit.
-
Terakhir, klik Deploy to Production.
Klik Periksa progres saya untuk memverifikasi tujuan.
Memodifikasi nama dimensi yang ada
Selamat!
Di lab ini, Anda pertama-tama menggunakan SQL Runner untuk memecahkan masalah kueri SQL dan menggunakan LookML Validator untuk memvalidasi sintaksis objek dan relasi yang telah didefinisikan. Kemudian, Anda menggunakan jendela kueri Eksplorasi untuk mendiagnosis objek yang terlewat dan pesan error, lalu menggunakan Validator Konten untuk menguji dan memperbarui konten setelah mengubah objek LookML.
Langkah berikutnya untuk belajar lebih lanjut
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 23 April 2024
Lab Terakhir Diuji: 9 Februari 2023
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.