Skip to main content

Fungsi Asc, AscB, dan AscW di MS Access

Di Access, fungsi Asc digunakan untuk menampilkan angka yang mewakili kode karakter pertama pada sebuah teks. Angka yang dihasilkan oleh fungsi Asc mempunyai tipe data Integer. Karakter pertama bisa bermacam-macam, seperti huruf, angka bahkan simbol.
Sintaks penulisan fungsi Asc adalah sebagai berikut:

Asc (String)

Keterangan:

String (teks): wajib diisi, merupakan teks yang bisa dibaca oleh Access. Jika String tidak berisi karakter apapun, fungsi Asc akan menghasilkan run-time error.

Nilai yang bisa dihasilkan adalah angka 1 sampai dengan 255 untuk sistem non DBCS, dan angka -32768 sampai dengan 32768 untuk sistem DBCS. DBCS singkatan dari Double-Byte Character Set. DBCS umumnya digunakan pada sistem komputer untuk menangani bahasa seperti bahasa Jepang dan China. Huruf Kanji, Katakana, Hiragana, Hànzì, dan Hanja mempunyai DBCS. Jadi sistem DBCS kebanyakan berlaku di negara Asia Timur. Sedangkan bahasa yang menggunakan angka yang mewakili 255 karakter saja dinamakan Single-Byte Character Set.

Selain fungsi Asc, ada fungsi lain yang bernama AscW dan AscB. Fungsi AscW menghasilkan angka urutan karakter Unicode. Urutan karakter unicode dihitung secara hexadecimal, dimulai dari 0000 dan diakhiri di FFFF. Secara desimal angka 0000 mewakili 0 dan FFFF mewakili 65.535. Selengkapnya bisa dilihat di sini: http://jrgraphix.net/r/Unicode/0000-00F8.

Fungsi AscB digunakan untuk menentukan urutan karakter Unicode secara Single-Byte. Jadi ururan pertama dimulai dari 0 dan urutan terakhir ada di 255, setelah itu dimulai lagi dari 0. Jadi, bila nilainya 257, maka AscB akan bernilai 1 (256 untuk AscB bernilai 0). Bila nilainya 514, maka AscB akan bernilai 2 (512 untuk AscB bernilai 0). Demikian dan seterusnya.

Berikut ini contoh penggunaan Asc, AscB, dan AscW:

Asc("Æ’")  hasilnya 131
AscW("Æ’") hasilnya 402
AscB("Æ’")  hasilnya 146

penjelasannya sebagai berikut:
Pada tabel ASCII, karakter  Æ’ berada di urutan 131, sementara untuk tabel Unicode, karakter Æ’ berada di urutan ke 402, secara decimal.

atau secara hexadecimal berada di urutan ke:
     402
16 ----- 2
       25
16 ----- 9
        1
16 ----- 1
        0
dibaca dari bawah ke atas: 0192
Pada tabel Latin Extended-B di gambar bawah, karakter unicode dengan nomor hexadecimal 0192 adalah Æ’ (baris kedua kolom ketiga).


Untuk AscB, urutan 402 pada karakter Unicode yang diperoleh dari AscW kemudian dibagi dengan 256 sehingga terdapat sisa 146. Jadi, berapa pun nilai karakter Unicode dari AscW, nilai AscB tidak akan pernah lebih besar dari 255. Cara sederhananya, rumus AscB adalah sisa dari nilai AscW dibagi 256. Jadi misal, nilai AscW adalah 256, maka sisa dari 256 dibagi 256 adalah 0. Bila AscW nilainya 1050, maka nilai AscB adalah sisa dari 1050 dibagi 256 yaitu 26.

Berikut ini adalah contoh lain dari Asc, AscW, dan AscB:
Asc("desimal") hasilnya 100
Asc("dan") hasilnya 100
Asc("d") hasilnya 100 
AscW("desimal") hasilnya 100
AscB("desimal") hasilnya 100

Pada contoh di atas, karakter pertama dari "desimal" adalah "d". Dalam tabel karakter ASCII, huruf "d" berada di nomor 100. Hal yang sama terjadi pada tabel karakter Unicode, karakter "d" ada di nomor urut 100. Demikian pula dengan AscB, sisa dari 100 dibagi 256 adalah 100.

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