Skip to main content

Mengenal Tipe Data Calculated di MS Access

Pada Access 2010 ke atas, Microsoft melakukan penambahan tipe data yang sama sekali baru dibandingkan dengan Access 2007 ke bawah. Di Access 2010, Microsoft menambahkan tipe data sebuah field bernama Calculated.

Tipe data Calculated tidak bisa digunakan begitu saja, seperti tipe data Number, Text, Date/Time, dan Currency. Selama pemilihan tipe data adalah bagian dari perancangan table, maka kita harus memikirkan efek jangka panjang dalam memilih sebuah tipe data. Jangan sampai, karena kesalahan pemilihan tipe data, maka penulisan program menjadi lebih rumit, bahkan bisa mengalami kegagalan. Demikian pula halnya dengan tipe data Calculated.

Tipe data Calculated diciptakan untuk membantu pengguna, baik itu pengguna awam maupun programmer, meminimalkan kesalahan perhitungan selama pembuatan database. Di Access, kesalahan perhitungan mungkin terjadi di berbagai macam objek, seperti di query, form, report, bahkan sampai ke module. Nah, penggunaan tipe data Calculated ini membantu kita membuat field yang merupakan hasil perhitungan ke dalam sebuah tabel. Dengan menyimpan data ke dalam field dengan tipe data Calculated ke dalam sebuah tabel, maka kita bisa menggunakan hasil perhitungan yang ada di tabel untuk ditampilkan di query, form, report, atau module tanpa perlu menuliskan kode yang rumit berulang kali.

Ada situasi tertentu di mana menggunakan tipe data Calculated menjadi hal yang seharusnya.(menjadi masuk akal). Umumnya, tipe data Calculated digunakan untuk menghitung (maka dari itu disebut "Calculate"). Contohnya:
  1. Menghitung jumlah total rupiah yang merupakan hasil perkalian kuantitas dan harga per unit pada sebuah tabel tagihan. Misal: 200 Kg x Rp 13.000/Kg = Rp 2.600.000
  2. Menghitung konversi mata uang asing ke mata uang lokal, yaitu hasil perkalian dari nilai mata uang asing dan kurs. Misal: $US 10 x Rp 13.200/$US = Rp 132.000
  3. Menghitung luas yang merupakan hasil perkalian panjang x lebar. Misalnya: 10 m x 10 m = 100 m2
  4. Menghitung Penghasilan Tidak Kena Pajak (PTKP) sebulan dari sebuah tabel PTKP. Misalnya: PTKP untuk TK0 (tidak kawin dan tidak mempunyai tanggungan) setahun adalah Rp 54.000.000, berarti sebulan = Rp 54.000.000 / 12 bulan = Rp 4.500.000 per bulan
  5. Mencantumkan alamat lengkap yang merupakan gabungan dari nama alamat, wilayah, kode pos, dan propinsi. Misalnya: "Jl Jendral Sudirman 31" & " " & "Jakarta Selatan " & " " & "12012" & " " & "Jakarta"
Semua contoh di atas, dalam jangka panjang, tidak akan berubah. jadi, kita bisa menggunakan tipe data Calculated pada sebuah field di tabel.

Cara membuat field dengan tipe data Calculated


Untuk membuat field dengan tipe data Calculated cukup mudah. Kita hanya memerlukan, setidaknya, sebuah field lain dalam satu tabel yang sama sebagai sumber perhitungan. Misalkan, pada tabel PTKP seperti contoh di atas yang cara membuat fieldnya adalah sebagai berikut:

  1. Sisipkan Field Name= PTKP, Data Type= Short Text, Field Size=10, Field Caption= PTKP
  2. Sisipkan Field Name= Keterangan, Data Type= Short Text, Field Size=100, Field Caption= Keterangan
  3. Sisipkan Field Name= jumlahSetahun, Data Type= Currency, Format= Standard, Field Caption= Jumlah Setahun
  4. Sisipkan Field Name= jumlahSebulan, Data Type= Calculated, Expression=[jumlahSetahun]/12, Result Type= Currency, Format= Standard, Field Caption= Jumlah Sebulan.
Pada nomor 4, saat memilih Data Type = Calculated, Access akan membuka jendela Expression Builder seperti di bawah ini:

Jika di bagian kotak Expression Categories pada gambar Expression Builder di atas sudah ada nama field yang tersedia, maka kita bisa memilih field yang diinginkan. Dalam hal ini, field yang diinginkan adalah jumlahSetahun. Double clik mouse pada field itu supaya ditempatkan pada kotak Expression seperti gambar di atas. Setelah itu, kita bisa menuliskan formula yang diingikan, seperti pada langkah nomor 4 di atas. Klik OK untuk mengakhiri.

Bila belum ada nama field yang tersedia di kotak Expression Categories, maka kita harus menuliskan nama field yang diinginkan,beserta formulanya, secara manual.

Kesalahan yang mungkin terjadi saat membuat field dengan tipe data Calculated


Saat membuat field dengan tipe data Calculated mungkin akan muncul pesan kesalahan. Kesalahan yang mungkin terjadi saat membuat field dengan tipe data Calculated:
  1. Muncul pesan kesalahan "You cannot set [nama field]  to the Calculated data type. You can add a new field instead.", seperti gambar di bawah:

    Hal ini terjadi karena kita ingin mengubah sebuah field - dengan tipe data selain Calculated yang sudah dibuat - ke tipe data Calculated. Jadi, misalkan field jumlahSebulan mempunyai tipe data Short Text. Lalu, kita ingin mengubah tipe data dari field itu ke Calculated. Saat tipe data diubah, dari Short Text ke Calculated, maka pesan kesalahan di atas akan muncul.

    Bila pesan kesalahan itu muncul, maka kita bisa menghapus field jumlahSebulan, untuk kemudian membuat field baru dengan nama yang sama, tetapi tipe data Calculated.
  2. Tanda koma, persen, penggunaan tanda kurung yang tidak lengkap/tidak sesuai, atau tanda petik yang tidak sesuai bisa juga menyebabkan kesalahan seperti pada gambar di bawah ini:


    Pesan kesalahan "The expression you entered contains invalid syntax. You omitted an operand or operator, you entered invalid syntax or comma, or you entered text without surrounding it in quotation marks" ditampilkan bila kita menggunakan tanda titik atau koma yang tidak tepat dalam penulisan sebuah formula. Tidak seperti data, yang bisa menampilkan desimal (koma) atau persen, rumus/formula yang dituliskan melalui expression builder harus menggunakan operand yang bisa dibaca oleh Access.

    Bila numerik, datanya harus integer (tidak boleh ada koma desimal). Bila ingin membuat desimal, tetapi tidak seperti yang diinginkan, maka kita bisa menggunakan operator bagi (tanda "/"), misall 15 / 100 untuk menyatakan 0,15 atau 15%, demikian pula 1,15 atau 115% maka penulisannya adalah 115 / 100.  Demikian juga, lebih baik menuliskan 2/3 (dua dibagi 3) untuk menuliskan 0,66, karena angka 0,66 bisa diintepretasikan 66%

    Bila text/string, datanya harus ditulis di antara dua tanda petik dua (tanda kutip dua = ""), yaitu petik buka dan petik tutup. Misalnya: Iif([jenisKelamin]=1,"Laki-laki", "Perempuan") untuk menjelaskan bila nilai data field jenisKelamin=1, maka field dengan tipe data Calculated diisi "Laki-laki", bila nilai datanya buka 1, diisi "Perempuan".
  3. Muncul pesan kesalahan "The expression cannot be saved because it refers to another table" seperti gambar di bawah ini.

    Pesan kesalahan itu muncul karena kita menggunakan field yang berasal dari tabel lain. Penjelasannya ada di bawah.
  4. Bila ingin menggunakan pembagi dalam sebuah tipe data Calculated, maka pastikan terlebih dahulu bahwa bilangan pembagi (atau penyebut) tidak boleh sama dengan 0 karena akan muncul kesalahan #Div. Jadi gunakan fungsi Iif untuk menyatakan nilai nol (atau kosong ("", Null)) bila penyebutnya sama dengan nol. Misal: Iif([penyebut]=0,0,[pembilang]/[penyebut]), atau Iif([penyebut]=0,"",[pembilang]/[penyebut]). Seperti kita tahu, bilangan yang dibagi nol akan sama dengan tak didefinisikan, atau dalam pengertian di MS Access akan menghasilkan #Div. Oleh karena itu, supaya tidak muncul #Div, gunakan fungsi Iif seperti contoh di atas.

Hal yang harus diperhatikan saat ingin membuat field dengan tipe data Calculated


Bila ingin membuat field dengan tipe data Calculated, maka kita harus memastikan bahwa:

  1. MS Access yang digunakan adalah MS Access 2010 ke atas. MS Access 2007 ke bawah tidak bisa membaca tipe data Calculated. Bila file Access 2010 ke atas berisi sebuah tabel  dan field dengan tipe data Calculated dibuka di Access 2007, maka tabel itu tidak bisa dibuka. Untuk tabel yang tidak berisi field dengan tipe data Calculatesd, maka tabel itu bisa dibuka.
  2. Tidak ada fungsi buatan sendiri (user-defined function) dalam sebuah formula yang ada di field dengan tipe data Calculated. Hanya fungsi yang disediakan oleh Access (built-in function) saja yang bisa digunakan, seperti: Iif, Is Null, CStr, Val, Year, Day, dan sebagainya. Dalam menggunakan built-in function ini, semua parameter yang tersedia harus diisikan, termasuk parameter yang sifatnya optional.
  3. Field yang digunakan hanya berasal dari tabel yang sama. Field yang berasal dari tabel yang berbeda tidak bisa dilibatkan dalam membuat sebuah formula pada tipe data Calculated. Baca pesan kesalahan di atas.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access