Return to Video

05-39 Memperbaiki Tombol Order - Solusi

  • 0:00 - 0:03
    Ada banyak cara yang tepat
    untuk menjawab pertanyaan ini.
  • 0:03 - 0:07
    Itu tergantung apa yang paling berguna
    bagi Anda untuk mengenali perbedaan
  • 0:07 - 0:10
    antara perilaku aplikasi yang salah
    dan yang tepat.
  • 0:10 - 0:12
    Ini beberapa hal yang saya perhatikan.
  • 0:12 - 0:16
    Pada perilaku aplikasi yang salah,
    saat tombol Order diklik,
  • 0:16 - 0:20
    quantity selalu berubah ke nilai
    yang sama, padahal seharusnya tidak.
  • 0:20 - 0:23
    Berikutnya, saya juga perhatikan
    harganya tepat untuk nilai quantity ini.
  • 0:23 - 0:26
    Namun seharusnya harganya
    untuk quantity terakhir
  • 0:26 - 0:28
    yang dipilih dalam pemilih kuantitas.
  • 0:28 - 0:31
    Ini terkait dengan fakta
    bahwa quantity seharusnya tidak berubah.
  • 0:31 - 0:35
    Mari kita lihat kode yang ada
    untuk melihat penyebab ini terjadi.
  • 0:35 - 0:39
    Dalam fail layout activity_main,
    tombol Order dinyatakan di sini.
  • 0:39 - 0:41
    Saat tombol Order diklik,
  • 0:41 - 0:44
    kita akan menggunakan metode
    dalam MainActivity, disebut submitOrder.
  • 0:44 - 0:48
    Dalam fail MainActivity.java,
    ini metode submitOrder.
  • 0:48 - 0:51
    Ini kode lama yang belum kita ubah.
  • 0:51 - 0:54
    Namun kita buat variabel integer quantity
    dan memberinya nilai awal 5.
  • 0:54 - 0:56
    Kita menampilkannya di layar.
  • 0:56 - 1:00
    Kita juga menampilkan harga
    sebagai jumlah cangkir kopi kali 5 dolar.
  • 1:00 - 1:02
    Kode ini sudah kurang masuk akal
  • 1:02 - 1:06
    karena saat mencoba memasukkan pesanan,
    kita mencoba memperbarui quantity.
  • 1:06 - 1:10
    Masalah lainnya adalah kita membuat
    variabel integer quantity
  • 1:10 - 1:15
    padahal sudah ada variabel quantity global
    yang memantau jumlah cangkir kopi.
  • 1:15 - 1:18
    Dalam MainActivity,
    sudah ada variabel quantity global.
  • 1:18 - 1:22
    Jadi, metode apa pun di dalam sini
    bisa mengacu pada variabel quantity ini.
  • 1:22 - 1:27
    Namun dalam metode submitOrder,
    kita membuat variabel quantity lokal baru.
  • 1:27 - 1:29
    Secara teknis, kita bisa
    memiliki variabel lokal
  • 1:29 - 1:32
    yang namanya sama
    dengan variabel global.
  • 1:32 - 1:35
    Ini hanya berarti
    dalam konteks metode ini,
  • 1:35 - 1:38
    setelah variabel ini dinyatakan,
    setiap kali mengacu pada quantity,
  • 1:38 - 1:42
    sebenarnya mengacu pada variabel quantity
    lokal dengan nilai 5 ini,
  • 1:42 - 1:45
    bukan variabel quantity global
    yang bernilai 2.
  • 1:46 - 1:49
    Jadi, display(quantity)
    dan displayPrice(quantity*5)
  • 1:49 - 1:51
    mengacu pada nilai quantity ini.
  • 1:51 - 1:54
    Ini cakupan variabel lokal ini.
  • 1:54 - 1:55
    Di luar cakupan ini,
  • 1:55 - 1:59
    setiap kali mengacu pada quantity,
    berarti variabel quantity global ini.
  • 1:59 - 2:01
    Namun jika dipikir-pikir,
  • 2:01 - 2:03
    tidak begitu masuk akal
    jika saat kita memasukkan pesanan,
  • 2:03 - 2:07
    kita membuat quantity baru,
    lalu menampilkannya di layar.
  • 2:07 - 2:11
    Yang kita ingin lakukan hanyalah
    menggunakan quantity yang kita pantau
  • 2:11 - 2:15
    saat menambah dan mengurangi
    jumlah cangkir kopi.
  • 2:15 - 2:18
    Jadi, dari sanalah kita harus
    menghitung harganya.
  • 2:18 - 2:22
    Untuk memperbaiki kode, sebaiknya
    jangan menyatakan variabel quantity lokal.
  • 2:22 - 2:25
    Sebaiknya kita menggunakan
    variabel quantity global ini saja.
  • 2:25 - 2:28
    Sebaiknya kita juga berhenti
    memperbarui quantity di layar.
  • 2:28 - 2:33
    Tombol plus dan minus sudah memperbarui
    layar dengan nilai quantity yang tepat.
  • 2:33 - 2:37
    Namun kita ingin tombol submitOrder tetap
    memperbarui harganya.
  • 2:37 - 2:41
    Namun kali ini, kita akan menghitung
    harganya sebagai quantity * 5
  • 2:41 - 2:44
    dengan variabel quantity global.
  • 2:44 - 2:47
    Saya akan memperbarui kode ini
    agar mencerminkan yang kita bicarakan.
  • 2:47 - 2:51
    Perhatikan, variabel quantity telah
    berubah menjadi ungu.
  • 2:51 - 2:55
    Berarti kita menggunakan variabel quantity
    global dalam MainActivity.
  • 2:55 - 2:58
    Saat tombol ditekan,
    metode submitOrder akan terpicu.
  • 2:58 - 3:00
    Ini akan menampilkan harga pada layar
  • 3:00 - 3:04
    yang dihitung
    sebagai variabel quantity global kali 5.
  • 3:05 - 3:07
    Ini tampak tepat.
    Mari jalankan pada perangkat kita.
  • 3:07 - 3:09
    Sekarang tes terakhirnya.
  • 3:09 - 3:13
    Saya akan mengubah quantity menjadi 6,
    lalu mengklik tombol Order.
  • 3:13 - 3:14
    Hore, hasilnya 30 dolar!
  • 3:14 - 3:18
    Biar saya coba nilai lain juga
    agar saya tahu ini bukan kebetulan.
  • 3:18 - 3:20
    Itu tampak tepat.
  • 3:21 - 3:22
    Bagus, berhasil.
  • 3:22 - 3:26
    Anda baru memperbaiki bug pertama Anda.
    Kerja Anda sangat bagus pada tugas itu.
  • 3:26 - 3:29
    Fungsi aplikasi kita bekerja
    dengan sangat baik.
  • 3:29 - 3:32
    Namun harus saya akui,
    antarmuka penggunanya agak jelek.
  • 3:32 - 3:36
    Terutama, pemilih kuantitasnya butuh
    sentuhan antarmuka pengguna.
  • 3:36 - 3:38
    Mari kita mengerjakan itu berikutnya.
Title:
05-39 Memperbaiki Tombol Order - Solusi
Description:

05-39 Memperbaiki Tombol Order - Solusi

more » « less
Video Language:
English
Team:
Udacity
Project:
UD837 - Android for Beginners
Duration:
03:39

Indonesian subtitles

Revisions Compare revisions