Skip to main content

Fungsi TimeSerial di MS Access

Di Access, fungsi TimeSerial digunakan untuk memperoleh waktu/jam tertentu yang diinginkan. Waktu/jam ini diperoleh dengan menggunakan angka jam, menit, dan detik. Pada prakteknya, ketiga angka itu tidak harus dituliskan dalam bentuk angka murni seutuhnya, tetapi bisa berbentuk formula tertentu sehingga proses perhitungannya menjadi unik.
Sintaks penulisan TimeSerial adalah sebagai berikut:

TimeSerial (Hour, Minute, Second)

Keterangan:

Hour (jam): wajib diisi, berupa angka dengan tipe data Integer, rangenya antara 0 s.d. 23. Hour bisa berupa angka atau formula, yang penting hasilnya terletak antara 0 s.d. 23.

Minute (menit): wajib diisi, berupa angka dengan tipe data Integer, rangenya antara 0 s.d. 59. Minute bisa berupa angka atau formula, yang penting hasilnya terletak antara 0 s.d. 59.

Second (detik): wajib diisi, berupa angka dengan tipe data Integer, rangenya antara 0 s.d. 59. Second bisa berupa angka atau formula, yang penting hasilnya terletak antara 0 s.d. 59. 

Keunikan fungsi TimeSerial

Memasukkan angka di luar range yang disepakati

Kita dapat memasukkan angka di luar range yang disepakati di atas, tetapi hasilnya malah akan membingunkan, misalnya:

TimeSerial(20,61,60) akan memberikan nilai 9:02:00 PM   (jam 9 malam lewat 2 menit). Urutan perhitungannya sebagai berikut:
  1. Second ke-60 dianggap sebagai detik ke-1 atau 60-59=1, di mana 59 adalah angka maksimum detik dalam semenit. Karena sudah melebih detik ke 59 dalam semenit, maka angka 59 dianggap semenit dan ditambahkan ke menit 61 menjadi 62 sedangkan 1 sisanya dimasukkan sebagai angka ke-1 dalam urutan detik, yaitu angka 0. 
  2. Minute 61. Dari hasil no 1 di atas, angka ini sudah ditambahkan 1 menjadi 62 dan dianggap sebagai menit ke-3 atau 62-59=3, di mana 59 adalah angka maksimum menit dalam sejam. Karena sudah melebih menit ke 59 dalam sejam, maka angka 59 dianggap sejam dan ditambahkan ke jam 20 menjadi 21 sedangkan 3 sisanya dimasukkan sebagai angka ke-3 dalam urutan menit. Dalam hal menit, angka ke-3nya adalah 2. 
  3. Hour 20. Dari hasil no 2 di atas, angka ini sudah ditambahkan 1 menjadi 21 dan dianggap sebagai jam 21 atau jam 9 malam.
  4. Dengan demikian, hasil perhitungan TimeSerial di atas adalah (diurutkan dari nomor 3 ke 1): 21:02:00 atau 09:02:00 PM. Bingung bukan? Mabuk ya? 😓
    Conto lainnya:
    TimeSerial(25,1,1) menghasilkan jam 12/31/1899 1:01:01 AM 
    TimeSerial(11,-2,0) menghasilkan jam 10:58:00 AM (11 pagi kurang 2 menit)
    TimeSerial(0,-2,0) menghasilkan jam 12:02:00 AM  (12 malam lebih 2 menit)
    TimeSerial(24,-2,0) menghasilkan jam 11:58:00 PM  (12 malam kurang 2 menit)
    
    Bingung kan? Jadi supaya tidak membingunkan, masukkan angka sesuai dengan range yang disepakati di atas.

    Memasukkan angka dengan formula

    Berturut-turut, Access memproses TimeSerial dari Second, Minute, dan Hour. Jadi, bila kita memasukkan salah satu nilai dari Hour, Minute, atau Second dengan formula tertentu, Access memprosesnya dengan urutan itu. Misalnya seperti ini:

    TimeSerial (20-2, 12 - 2, 1 - 1) hasilnya adalah 18:10:00 (jam 6 sore lewat 10 menit), urutan perhitungannya seperti ini:
    1. Second, awalnya 1 kemudian dikurangi 1 menjadi 1-1=0.
    2. Minute, awalnya 12 kemudian dikurangi 2 menjadi 12-2=10
    3. Hour, awalnya 20 kemudian dikurangi 2 menjadi 20-2=18
      Berikut ini adalah beberapa contoh aplikasi TimeSerial:
      Fungsi Hasil
      TimeSerial (18, 1, 2) 06:01:02 PM
      TimeSerial (8, 1, 2) 08:01:02 PM
      TimeSerial (0, 1, 2) 12:01:02 AM
      TimeSerial (23, 51, 2) 11:51:02 PM
      TimeSerial (20,62-2,4)   9:00:04 PM
      TimeSerial (21,1,61-1)   9:02:00 PM
      TimeSerial (24-1,1,61-1) 11:02:00 PM
      TimeSerial (0-1,1,61-1) 12:58:00 AM
      TimeSerial (20,59+1,59+1)   9:01:00 PM
      Bila jam/waktu sekarang yang dinyatakan dengan fungsi Time = 22:13:50, maka:
      • 80 detik lalu ditulis: TimeSerial (Hour(Now()), Minute(Now()),Second(Now())-80), hasilnya adalah 10:12:30 PM.
      • 80 menit lalu ditulis: TimeSerial (Hour(Now()), Minute(Now())-80,Second(Now())), hasilnya adalah 8:53:50 PM .


      Comments

      Posting Terpopuler

      Normalisasi, Denormalisasi, dan Anomali Database

      Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

      Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access