DEV Community

Faris Han
Faris Han

Posted on • Updated on

Gabut Mode On: Bikin Aplikasi Inventaris Kosan (Bagian 2 - Analisa Tipe Data)

Halo lagi.

Pada bagian sebelumnya, saya sudah sampai ke fitur apa saja yang akan masuk ke dalam MVP. Yaitu:

  1. Mencatat barang-barang
  2. Menampilkan daftarnya
  3. 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'
Enter fullscreen mode Exit fullscreen mode

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'
Enter fullscreen mode Exit fullscreen mode

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?
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
  }
Enter fullscreen mode Exit fullscreen mode

Lebih enak lagi kalau di-bahasa-inggris-in. Bener deh. Nih:

  let thing = {
    name: 'Meja',
    price: 100000
  }
Enter fullscreen mode Exit fullscreen mode

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
  }
Enter fullscreen mode Exit fullscreen mode

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]
Enter fullscreen mode Exit fullscreen mode

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)