Halo lagi.
Pada bagian sebelumnya, saya sudah sampai ke fitur apa saja yang akan masuk ke dalam MVP. Yaitu:
- Mencatat barang-barang
- Menampilkan daftarnya
- Menghapus data barang
TL;DR
Mau yang to the point? langsung scroll ke paling bawah aja.
Kata "barang" menjadi poin utama di aplikasi ini. Barang ini adalah data, yang tipe/bentuknya baru mau saya pikirkan. Yang paling sederhana itu string.
let barang = 'meja'
Tapi untuk berjaga-jaga kalau user minta yang aneh-aneh, misalnya mau mencatat harga barang tersebut, masuk ke daftar barang kapan, dan informasi tambahan lainnya, aneh kan kalau masuk ke string yang sama?
let barang = 'meja | 100 ribu'
// atau
let barang = 'meja, 100.000'
Selain aneh, malah ribet jadinya. Harus motong-motong string. Gimana kalau tipe data barang itu array?
let barang = ['meja'] // gini?
// kalau pakai informasi tambahan gimana?
let barang = ['meja', 100000] // gitu?
Lumayan keren sih, tapi gimana developernya tau kalau 100000 itu harga barangnya? Lupakan array. Coba string aja semua, tapi jelas.
let barang = 'meja'
let hargaBarang = 100000
Sejauh ini bentuk data di atas yang ternyaman untuk dipahami.
Bagaimana kalau masih ada bentuk data yang lebih nikmat?
Barang itu objek. Ada atributnya. Nama barangnya apa. Harganya berapa. Pasti lebih cocok kalau tipe datanya object dong? Nih:
let barang = {
nama: 'Meja',
harga: 100000
}
Lebih enak lagi kalau di-bahasa-inggris-in. Bener deh. Nih:
let thing = {
name: 'Meja',
price: 100000
}
Kenapa 'Meja' ga jadi 'Table'?
Karena yang akan masukin namanya bukan saya sebagai developer (yang keminggris) ini, tapi user. Hak user mau masukin barang dengan bahasa apa kesitu. Tapi kalau object dan attribute/properties-nya, itu saya usahakan selalu bahasa inggris. Lebih cocok sama syntax aja. Namanya juga selera. Maafkan ya. Hehe.
Kesimpulan. Seadanya.
Sudah ditetapkan bahwa barang adalah sebuah object, dengan bentuk tunggal seperti ini:
let thing = {
name: 'Meja',
price: 100000
}
Sedangkan untuk bentuk jamaknya, sudah pasti array. Jadinya array of objects.
let thing = {
name: 'Meja',
price: 100000
}
let thing2 = {
name: 'Kursi',
price: 20000
}
let things = [thing1, thing2]
Demikian analisa yang seadanya ini. Jalan panjang di depan akan selalu beraroma array of objects. Jangan pusing dulu karena masih bagian 2, sampai jumpa di bagian selanjutnya. Dadah.
Top comments (0)