## Spesifikasi Data Timbangan Digital ### A. Parameter Yang diukur | Parameter | Deskripsi | Satuan | Ketentuan |Range | | -------- | -------- | -------- | -------- | -------- | | version | Versi format data | - | 1.0 | - | | device | ID perangkat | - | - | - | | weight | Berat badan | Kg | - | 0 &le; weight &le; 20 | | height | Tinggi badan | cm | - | 0 &le; height &leq; 100 | | timestamp | Epoch time | detik | - | T > 1577836800 | ### B. Format Data Mentah Data ditulis dalam format teks yang mengikuti ketentuan berikut 1. Data diawali dan diakhiri oleh tanda petik dua `"` 2. Nilai setiap parameter mengikuti urutan : `version`, `device`, `weight`, `height` dan `timestamp`. 4. Nilai antara parameter dipisah dengan tanda `titik koma` (`;`) ```text Format data : "<version>;<device>;<weight>;<height>;<timestamp>" ``` 3. Contoh : - Data yang diukur oleh device = 0000001, pada 18 Maret 2022 14:02:52, dengan berat badan = 12.2 Kg dan tinggi = 69.8 cm ``` "1.0;0000001;12.2;69.8;1647586972" ``` - Data yang diukur oleh device = 0000001, dengan berat badan = 12.2 Kg dan tinggi = 69.8 cm ``` "1.0;0000001;12.2;69.8;" ``` ### C. Encoding 1. Format data teks diubah ke dalam bentuk baseURL64. 2. Contoh ```text data = "1.0;0000001;12.2;69.8;1647586972" base64Url = MS4wOzAwMDAwMDE7MTIuMjs2OS44OzE2NDc1ODY5NzI data = "1.0;0000001;12.2;69.8;" base64Url = MS4wOzAwMDAwMDE7MTIuMjs2OS44Ow ``` 4. Beberapa link terkait dengan base64url - [Base64URL Encoder & Decoder online](https://base64.guru/standards/base64url/). (catatan copy-paste nilai data tanpa menggunakan tanda petik) > Untuk melakukan encoding base64url bisa menggunakan library base64, kemudian disesuaikan dengan ketentuan base64url yakni dengan mengubah karakter : a. `+` dengan `-` b. `/` dengan `_` c. `=` dengan string kosong ### D. QR Code Generate QR Code dari format data yang telah diencode dengan menggunakan Base64URL | Item | Ketentuan | | -------- | -------- | | Ukuran QR Code | +- 1.5 inch | | Warna QR Code | Hitam | | Background QR Code | Putih | | Durasi Pembacaan | +- 2 Detik | - Contoh 1 : `MS4wOzAwMDAwMDE7MTIuMjs2OS44OzE2NDc1ODY5NzI` ![](https://i.imgur.com/DC6KPaO.png) - Contoh 2 : `MS4wOzAwMDAwMDE7MTIuMjs2OS44Ow` ![](https://i.imgur.com/u7gL8lM.png) ### E. Lain-lain 1. Jika perangkat tidak memiliki RTC untuk menggenerate waktu unix, maka aplikasi yang melakukan pemindaian QR Code perlu mencatat kapan dilakukan pengukuran. 2. Sebelum melakukan pemindaian QR, baiknya aplikasi memilih dulu profil dari pengguna. Sehingga setelah dilakukan pemindaian data bisa dihubungkan dengan profil pasien. 3. Data yang memuat data pengukuran dan id pasien dikirim ke cloud server untuk disimpan di dalam database.