Di Access, kita menggunakan fungsi DVar dan DVarP untuk menghitung varians dari sekumpulan nilai yang terdapat pada record. Kita dapat menggunakan fungsi DVar dan DVarP dalam sebuah modul, macro, query, atau formula yang ada dalam sebuah control di form atau report.
Fungsi DVarP digunakan untuk menghitung varians dari sebuah populasi, sedangkan fungsi DVar digunakan untuk menghitung varians dari sebuah sampel populasi.
Sintaks penulisan fungsi DVar dan DVarP adalah sebagai berikut:
Keterangan:
Expr (Ekspresi): wajib diisi, merupakan ekspresi yang menunjukkan nama field dengan tipe data Numeric. Nilai pada nama field inilah yang akan dihitung variansnya. Nama field ini bisa diperoleh secara langsung dengan menuliskan nama field atau merupakan proses dari formula tertentu yang menghasilkan nama field dengan tipe data Numeric.
Domain (Domain): wajib diisi, merupakan ekspresi string yang menunjukkan sekumpulan record. Domain bisa berupa sekumpulan record dari sebuah query atau dari sebuah tabel.
Criteria (Kriteria): tidak wajib diisi, merupakan ekspresi yang digunakan untuk membatasi record yang ada di Domain. Jika kosong, maka fungsi DVar dan DVarP akan menghitung varians dalam keseluruhan Domain. Jika mempunyai nilai, maka field yang ada dalam Kriteria harus ada dalam Domain. Jika field dari Kriteria tidak ada dalam Domain, maka fungsi DVar dan DVarP akan bernilai Null.
Untuk diketahui, rumus varians pada populasi adalah sebagai berikut:
σ² = (Σ(Xi-X)²)/n
Untuk sampel populasi, rumusnya adalah sebagai berikut:
s² = (Σ(Xi-X)²)/(n-1)
Perbedaannya terletak pada penyebut. Pada varians populasi, penyebutnya sejumlah n, sedangkan pada varians sampel, penyebutnya sejumlah n-1.
Jika domain hanya berisi kurang dari dua record, fungsi DVar dan DVarP memberikan nilai Null, artinya, varians tidak bisa dihitung.
Supaya fungsi DVar dan DVarP bisa dijalankan dengan benar, kita harus menuliskan kriterianya dengan teliti. Dalam hal ini, nilai dari tipe data field yang ada dalam Domain akan mempengaruhi penulisan kriteria. Nilai dari tipe data teks atau string selalu ditulis di antara tanda '' (dua tanda kutip tunggal), tipe data tanggal selalu ditulis di antara tanda ## (dua tanda pagar). Untuk tipe data angka, nilai dari kriteria tidak memerlukan tanda apapun.
Aturan penulisan nama field pada Ekspresi atau Kriteria
Secara umum, bagi pemula yang masih belajar MS Access, penulisan nama field pada Ekspresi atau Kriteria adalah sebagai berikut:
Seperti telah dijelaskan di awal, kita dapat menjalankan fungsi DVar dan DVarP di modul, query, macro, maupun kontrol yang ada di form ataupun report. Berikut ini berbagai macam contoh pengunaan fungsi DVar dan DVarP.
Ada sebuah tabel (atau query) seperti di bawah ini:
Untuk menghitung varians dari field VouchAmount di query qryContohDVar yang mempunyai tanggal 31/01/2016 di Immediate Window, caranya sebagai berikut:
Pada gambar query di atas, kita ingin menghitung varians dengan Voucher ID (nama field=vouchID) dari nomor 31 sampai dengan 35. Penulisannya adalah sebagai berikut:
Fungsi DVarP digunakan untuk menghitung varians dari sebuah populasi, sedangkan fungsi DVar digunakan untuk menghitung varians dari sebuah sampel populasi.
Sintaks penulisan fungsi DVar dan DVarP adalah sebagai berikut:
DVar (Expr, Domain [, Criteria]) DVarP (Expr, Domain [, Criteria])
Keterangan:
Expr (Ekspresi): wajib diisi, merupakan ekspresi yang menunjukkan nama field dengan tipe data Numeric. Nilai pada nama field inilah yang akan dihitung variansnya. Nama field ini bisa diperoleh secara langsung dengan menuliskan nama field atau merupakan proses dari formula tertentu yang menghasilkan nama field dengan tipe data Numeric.
Domain (Domain): wajib diisi, merupakan ekspresi string yang menunjukkan sekumpulan record. Domain bisa berupa sekumpulan record dari sebuah query atau dari sebuah tabel.
Criteria (Kriteria): tidak wajib diisi, merupakan ekspresi yang digunakan untuk membatasi record yang ada di Domain. Jika kosong, maka fungsi DVar dan DVarP akan menghitung varians dalam keseluruhan Domain. Jika mempunyai nilai, maka field yang ada dalam Kriteria harus ada dalam Domain. Jika field dari Kriteria tidak ada dalam Domain, maka fungsi DVar dan DVarP akan bernilai Null.
Untuk diketahui, rumus varians pada populasi adalah sebagai berikut:
σ² = (Σ(Xi-X)²)/n
Untuk sampel populasi, rumusnya adalah sebagai berikut:
s² = (Σ(Xi-X)²)/(n-1)
Perbedaannya terletak pada penyebut. Pada varians populasi, penyebutnya sejumlah n, sedangkan pada varians sampel, penyebutnya sejumlah n-1.
Jika domain hanya berisi kurang dari dua record, fungsi DVar dan DVarP memberikan nilai Null, artinya, varians tidak bisa dihitung.
Supaya fungsi DVar dan DVarP bisa dijalankan dengan benar, kita harus menuliskan kriterianya dengan teliti. Dalam hal ini, nilai dari tipe data field yang ada dalam Domain akan mempengaruhi penulisan kriteria. Nilai dari tipe data teks atau string selalu ditulis di antara tanda '' (dua tanda kutip tunggal), tipe data tanggal selalu ditulis di antara tanda ## (dua tanda pagar). Untuk tipe data angka, nilai dari kriteria tidak memerlukan tanda apapun.
Aturan penulisan nama field pada Ekspresi atau Kriteria
Secara umum, bagi pemula yang masih belajar MS Access, penulisan nama field pada Ekspresi atau Kriteria adalah sebagai berikut:
- Bila nama field terdiri dari 2 atau lebih suku kata yang terpisah, maka penulisan field menggunakan tanda kurung siku ([ ]), misalnya field Nama Kota ditulis [Nama Kota], field Tanggal Lahir ditulis [Tanggal Lahir], dan sebagainya.
- Bila nama field hanya terdiri dari satu suku kata, penulisan nama field tidak harus menggunakan tanda kurung siku.
- Bila nama field terdiri dari 2 atau lebih suku kata tetapi digabung menjadi satu suku kata, penulisan nama field tidak harus menggunakan tanda kurung siku, namun hendaknya ditulis dengan lebih jelas, misalnya dengan metode CamelCase.
Seperti telah dijelaskan di awal, kita dapat menjalankan fungsi DVar dan DVarP di modul, query, macro, maupun kontrol yang ada di form ataupun report. Berikut ini berbagai macam contoh pengunaan fungsi DVar dan DVarP.
Ada sebuah tabel (atau query) seperti di bawah ini:
vouchDate | vouchId | vouchType | vouchAmount |
---|---|---|---|
31/01/2016 | 630 | CD | 924765 |
31/01/2016 | 634 | BD | 1000 |
31/01/2016 | 1124 | BD | 1000 |
31/01/2016 | 673 | CD | 2196400 |
31/01/2016 | 629 | CD | 3186400 |
01/02/2016 | 36 | BD | 1374000 |
01/02/2016 | 1550 | CD | 7500 |
01/02/2016 | 31 | BD | 560000 |
01/02/2016 | 37 | BD | 1000000 |
01/02/2016 | 352 | CD | 241650 |
01/02/2016 | 35 | BD | 840000 |
01/02/2016 | 229 | CD | 1405200 |
01/02/2016 | 34 | BD | 965000 |
01/02/2016 | 33 | BD | 1292500 |
01/02/2016 | 32 | BD | 735000 |
01/02/2016 | 227 | CD | 5500 |
01/02/2016 | 676 | CD | 5876200 |
01/02/2016 | 351 | CD | 140000 |
01/02/2016 | 185 | CD | 9700 |
01/02/2016 | 270 | BD | 17836500 |
Untuk menghitung varians dari field VouchAmount di query qryContohDVar yang mempunyai tanggal 31/01/2016 di Immediate Window, caranya sebagai berikut:
? DVar("VouchAmount","qryContohDVar","vouchDate=#31/01/2016#") 1967597031845 ? DVar("[VouchAmount]","qryContohDVar","[vouchDate]=#31/01/2016#") 1967597031845Untuk menghitung varians dari field VouchAmount di query qryContohDVar yang mempunyai tanggal 31/01/2016 dan vouchType sama dengan CD di Immediate Window, caranya sebagai berikut:
? DVar("VouchAmount","qryContohDVar","vouchDate=#31/01/2016# and vouchType='CD'") 1285358074408,33 ? DVar("[VouchAmount]","qryContohDVar","[vouchDate]=#31/01/2016# and vouchType='CD'") 1285358074408,33Gambar di awal posting ini adalah cara menggunakan fungsi DVar di form. Saat berada di Design View, pada properti dari control source, sisipkan =DVar("VouchAmount","qryContohDVar","vouchDate=#31/01/2016# and vouchType='CD'"). Setelah itu, jalankan form secara Form View, maka hasilnya seperti di gambar di atas.
Pada gambar query di atas, kita ingin menghitung varians dengan Voucher ID (nama field=vouchID) dari nomor 31 sampai dengan 35. Penulisannya adalah sebagai berikut:
? DVar("VouchAmount","qryContohDVar","vouchID Between 31 And 35") 75598750000 ? DVarP("VouchAmount","qryContohDVar","vouchID Between 31 And 35") 60479000000
Comments
Post a Comment