Sabtu, Januari 16, 2016

Pengertian dan Fungsi Kode ASCII Beserta Contoh Program (C Language)

Standard
ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dansimbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 7 bit. Namun, ASCII disimpan sebagai sandi 8 bit dengan menambakan satu angka 0 sebagai bit significant paling tinggi. Bit tambahan ini sering digunakan untuk uji prioritas. Karakter control pada ASCII dibedakan menjadi 5 kelompok sesuai dengan penggunaan yaitu berturut-turut meliputi logical communication, Device control, Information separator, Code extention, dan physical communication. Code ASCII ini banyak dijumpai pada papan ketik (keyboard) computer atau instrument-instrument digital.


Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII untuk manipulasi teks; sedangkan kode ASCII 128..255 merupakan kode ASCII untuk manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa bagian :

  1. Kode yang tidak terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return), 8(Tab), 32(Space)
  2. Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus (~!@#$%^&*()_+?:”{})
  3. Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk kode-kode grafik.
Dalam pengkodean kode ASCII memanfaatkan 8 bit. Pada saat ini kode ASCII telah tergantikan oleh kode UNICODE (Universal Code). UNICODE dalam pengkodeannya memanfaatkan 16 bit sehingga memungkinkan untuk menyimpan kode-kode lainnya seperti kode bahasa Jepang, Cina, Thailand dan sebagainya.

Pada papan keyboard, aktifkan numlock, tekan tombol ALT secara bersamaan dengan kode karakter maka akan dihasilkan karakter tertentu. Misalnya: ALT + 44 maka akan muncul karakter koma (,). Mengetahui kode-kode ASCII sangat bermanfaat misalnya untuk membuat karakter-karakter tertentu yang tidak ada di keyboard.

sumber :
https://id.wikipedia.org



Tabel Karakter ASCII

KarakterNilai Unicode
(heksadesimal)
Nilai ANSI ASCII
(desimal)
Keterangan
NUL00000Null (tidak tampak)
SOH00011Start of heading (tidak tampak)
STX00022Start of text (tidak tampak)
ETX00033End of text (tidak tampak)
EOT00044End of transmission (tidak tampak)
ENQ00055Enquiry (tidak tampak)
ACK00066Acknowledge (tidak tampak)
BEL00077Bell (tidak tampak)
BS00088Menghapus satu karakter di belakang kursor (Backspace)
HT00099Horizontal tabulation
LF000A10Pergantian baris (Line feed)
VT000B11Tabulasi vertikal
FF000C12Pergantian baris (Form feed)
CR000D13Pergantian baris (carriage return)
SO000E14Shift out (tidak tampak)
SI000F15Shift in (tidak tampak)
DLE001016Data link escape (tidak tampak)
DC1001117Device control 1 (tidak tampak)
DC2001218Device control 2 (tidak tampak)
DC3001319Device control 3 (tidak tampak)
DC4001420Device control 4 (tidak tampak)
NAK001521Negative acknowledge (tidak tampak)
SYN001622Synchronous idle (tidak tampak)
ETB001723End of transmission block (tidak tampak)
CAN001824Cancel (tidak tampak)
EM001925End of medium (tidak tampak)
SUB001A26Substitute (tidak tampak)
ESC001B27Escape (tidak tampak)
FS001C28File separator
GS001D29Group separator
RS001E30Record separator
US001F31Unit separator
SP002032Spasi
 !002133Tanda seru (exclamation)
"002234Tanda kutip dua
#002335Tanda pagar (kres)
$002436Tanda mata uang dolar
 %002537Tanda persen
&002638Karakter ampersand (&)
002739Karakter Apostrof
(002840Tanda kurung buka
)002941Tanda kurung tutup
*002A42Karakter asterisk (bintang)
+002B43Tanda tambah (plus)
,002C44Karakter koma
-002D45Karakter hyphen (strip)
.002E46Tanda titik
/002F47Garis miring (slash)
0003048Angka nol
1003149Angka satu
2003250Angka dua
3003351Angka tiga
4003452Angka empat
5003553Angka lima
6003654Angka enam
7003755Angka tujuh
8003856Angka delapan
9003957Angka sembilan
 :003A58Tanda titik dua
 ;003B59Tanda titik koma
<003C60Tanda lebih kecil
=003D61Tanda sama dengan
>003E62Tanda lebih besar
 ?003F63Tanda tanya
@004064A keong (@)
A004165Huruf latin A kapital
B004266Huruf latin B kapital
C004367Huruf latin C kapital
D004468Huruf latin D kapital
E004569Huruf latin E kapital
F004670Huruf latin F kapital
G004771Huruf latin G kapital
H004872Huruf latin H kapital
I004973Huruf latin I kapital
J004A74Huruf latin J kapital
K004B75Huruf latin K kapital
L004C76Huruf latin L kapital
M004D77Huruf latin M kapital
N004E78Huruf latin N kapital
O004F79Huruf latin O kapital
P005080Huruf latin P kapital
Q005181Huruf latin Q kapital
R005282Huruf latin R kapital
S005383Huruf latin S kapital
T005484Huruf latin T kapital
U005585Huruf latin U kapital
V005686Huruf latin V kapital
W005787Huruf latin W kapital
X005888Huruf latin X kapital
Y005989Huruf latin Y kapital
Z005A90Huruf latin Z kapital
[005B91Kurung siku kiri
\005C92Garis miring terbalik (backslash)
]005D93Kurung sikur kanan
^005E94Tanda pangkat
_005F95Garis bawah (underscore)
`006096Tanda petik satu
a006197Huruf latin a kecil
b006298Huruf latin b kecil
c006399Huruf latin c kecil
d0064100Huruf latin d kecil
e0065101Huruf latin e kecil
f0066102Huruf latin f kecil
g0067103Huruf latin g kecil
h0068104Huruf latin h kecil
i0069105Huruf latin i kecil
j006A106Huruf latin j kecil
k006B107Huruf latin k kecil
l006C108Huruf latin l kecil
m006D109Huruf latin m kecil
n006E110Huruf latin n kecil
o006F111Huruf latin o kecil
p0070112Huruf latin p kecil
q0071113Huruf latin q kecil
r0072114Huruf latin r kecil
s0073115Huruf latin s kecil
t0074116Huruf latin t kecil
u0075117Huruf latin u kecil
v0076118Huruf latin v kecil
w0077119Huruf latin w kecil
x0078120Huruf latin x kecil
y0079121Huruf latin y kecil
z007A122Huruf latin z kecil
{007B123Kurung kurawal buka
¦007C124Garis vertikal (pipa)
}007D125Kurung kurawal tutup
~007E126Karakter gelombang (tilde)
DEL007F127Delete
0080128Dicadangkan
0081129Dicadangkan
0082130Dicadangkan
0083131Dicadangkan
IND0084132Index
NEL0085133Next line
SSA0086134Start of selected area
ESA0087135End of selected area
0088136Character tabulation set
0089137Character tabulation with justification
008A138Line tabulation set
PLD008B139Partial line down
PLU008C140Partial line up
008D141Reverse line feed
SS2008E142Single shift two
SS3008F143Single shift three
DCS0090144Device control string
PU10091145Private use one
PU20092146Private use two
STS0093147Set transmit state
CCH0094148Cancel character
MW0095149Message waiting
0096150Start of guarded area
0097151End of guarded area
0098152Start of string
0099153Dicadangkan
009A154Single character introducer
CSI009B155Control sequence introducer
ST009C156String terminator
OSC009D157Operating system command
PM009E158Privacy message
APC009F158Application program command
00A0160Spasi yang bukan pemisah kata
¡00A1161Tanda seru terbalik
¢00A2162Tanda sen (Cent)
£00A3163Tanda Poundsterling
¤00A4164Tanda mata uang (Currency)
¥00A5165Tanda Yen
¦00A6166Garis tegak putus-putus (broken bar)
§00A7167Section sign
¨00A8168Diaeresis
©00A9169Tanda hak cipta (Copyright)
ª00AA170Feminine ordinal indicator
«00AB171Left-pointing double angle quotation mark
¬00AC172Not sign
00AD173Tanda strip (hyphen)
®00AE174Tanda merk terdaftar
¯00AF175Macron
°00B0176Tanda derajat
±00B1177Tanda kurang lebih (plus-minus)
²00B2178Tanda kuadrat (pangkat dua)
³00B3179Tanda kubik (pangkat tiga)
´00B4180Acute accent
µ00B5181Micro sign
00B6182Pilcrow sign
·00B7183Middle dot
sumber :
https://id.wikipedia.org

Contoh Program ASCII Pada Bahasa Pemrograman C


Penjelasan :

 

Deklarasi variabel hrf dengan nilai A bertipe data character dan hrf2 dengan nilai 97 bertipe data integer.


Pada baris pertama, mencetak hrf sebagai character (%c) dan hrf2 sebagai character (%c). Pada baris kedua, mencetak hrf sebagai desimal (%d) dan hrf2 sebagai desimal (%d). Arti dari "\n" adalah memposisikan kursor pada baris dibawahnya atau sama dengan "Enter".


Nilai variabel hrf ditambah 2 dan hrf2 dikurang 32. Kemudian cetak hrf sebagai character (%c) dan hrf2 sebagai character (%c). 

Maka Outputnya akan seperti ini : 


Baris pertama mencetak hrf dengan nilai A dan hrf2 dengan a.
Seperti pada tabel kode ASCII diatas, code ASCII untuk huruf a kecil adalah 97, maka hrf2 dengan nilai 97 jika dicetak sebagai character akan menjadi huruf a kecil. Sekarang lihat baris ke 2, hrf = 65. Kenapa 65? karena code ASCII untuk huruf A kapital adalah 65. hrf dengan nilai A jika di cetak sebagai angka desimal maka akan menjadi 65.

Kemudian pada codingan yg sebelumnya ada penambahan dan pengurangan nilai pada variabel hrf dan hrf2. hrf + 2 yg berarti A + 2 = C (sesuai susuan abjad, C adalah huruf ke 3), sedangkan hrf2 - 32 yg berarti 97-  32 = 65 (65 adalah code ASCII untuk huruf A kapital).

Oke, cukup sekian. Semoga bermanfaat :)