Monday, 23 March 2015

6.String

Ketika kita bercerita tentang text, maka di kepala kita terbayang hurup, angka, simbol seperti kita menulis sms yang panjang tapi dibuat singkat. Tapi, komputer tidak menanggapinya demikiaan, komputer menggunakan bit dan byte. Semua yang kita lihat disini juga merupakan bit dan byte, jadi apa yang kita lihat pada blog ini, tidak sama dengan apa yang dilihat oleh komputer. 

Pemetaan karakter yang paling sering digunakan adalah ASCII karena pemetaanya merupakan pemetaan dari bahasa ingris. Dan bahasa karakter bahasa ingris dan bahasa indonesia tidak jauh berbeda. ASCII memiliki 128 karakter, dari 0 sampai 127.


Bin
Octal
Dec
Hex
Print form[a]
000 0000
000
0
00
000 0001
001
1
01
000 0010
002
2
02
000 0011
003
3
03
000 0100
004
4
04
000 0101
005
5
05
000 0110
006
6
06
000 0111
007
7
07
000 1000
010
8
08
000 1001
011
9
09
000 1010
012
10
0A
000 1011
013
11
0B
000 1100
014
12
0C
000 1101
015
13
0D
000 1110
016
14
0E
000 1111
017
15
0F
001 0000
020
16
10
001 0001
021
17
11
001 0010
022
18
12
001 0011
023
19
13
001 0100
024
20
14
001 0101
025
21
15
001 0110
026
22
16
001 0111
027
23
17
001 1000
030
24
18
001 1001
031
25
19
001 1010
032
26
1A
001 1011
033
27
1B
001 1100
034
28
1C
001 1101
035
29
1D
001 1110
036
30
1E
001 1111
037
31
1F
010 0000
040
32
20
010 0001
041
33
21
!
010 0010
042
34
22
"
010 0011
043
35
23
#
010 0100
044
36
24
$
010 0101
045
37
25
%
010 0110
046
38
26
&
010 0111
047
39
27
'
010 1000
050
40
28
(
010 1001
051
41
29
)
010 1010
052
42
2A
*
010 1011
053
43
2B
+
010 1100
054
44
2C
,
010 1101
055
45
2D
-
010 1110
056
46
2E
.
010 1111
057
47
2F
/
011 0000
060
48
30
0
011 0001
061
49
31
1
011 0010
062
50
32
2
011 0011
063
51
33
3
011 0100
064
52
34
4
011 0101
065
53
35
5
011 0110
066
54
36
6
011 0111
067
55
37
7
011 1000
070
56
38
8
011 1001
071
57
39
9
011 1010
072
58
3A
:
011 1011
073
59
3B
;
011 1100
074
60
3C
<
011 1101
075
61
3D
=
011 1110
076
62
3E
>
011 1111
077
63
3F
?
100 0000
100
64
40
@
100 0001
101
65
41
A
100 0010
102
66
42
B
100 0011
103
67
43
C
100 0100
104
68
44
D
100 0101
105
69
45
E
100 0110
106
70
46
F
100 0111
107
71
47
G
100 1000
110
72
48
H
100 1001
111
73
49
I
100 1010
112
74
4A
J
100 1011
113
75
4B
K
100 1100
114
76
4C
L
100 1101
115
77
4D
M
100 1110
116
78
4E
N
100 1111
117
79
4F
O
101 0000
120
80
50
P
101 0001
121
81
51
Q
101 0010
122
82
52
R
101 0011
123
83
53
S
101 0100
124
84
54
T
101 0101
125
85
55
U
101 0110
126
86
56
V
101 0111
127
87
57
W
101 1000
130
88
58
X
101 1001
131
89
59
Y
101 1010
132
90
5A
Z
101 1011
133
91
5B
[
101 1100
134
92
5C
\
101 1101
135
93
5D
]
101 1110
136
94
5E
^
101 1111
137
95
5F
_
110 0000
140
96
60
`
110 0001
141
97
61
a
110 0010
142
98
62
b
110 0011
143
99
63
c
110 0100
144
100
64
d
110 0101
145
101
65
e
110 0110
146
102
66
f
110 0111
147
103
67
g
110 1000
150
104
68
h
110 1001
151
105
69
i
110 1010
152
106
6A
j
110 1011
153
107
6B
k
110 1100
154
108
6C
l
110 1101
155
109
6D
m
110 1110
156
110
6E
n
110 1111
157
111
6F
o
111 0000
160
112
70
p
111 0001
161
113
71
q
111 0010
162
114
72
r
111 0011
163
115
73
s
111 0100
164
116
74
t
111 0101
165
117
75
u
111 0110
166
118
76
v
111 0111
167
119
77
w
111 1000
170
120
78
x
111 1001
171
121
79
y
111 1010
172
122
7A
z
111 1011
173
123
7B
{
111 1100
174
124
7C
|
111 1101
175
125
7D
}
111 1110
176
126
7E
~
111 1111
177
127
7F


Pada python 3.x ini string memiliki tiga (3) tipe, yaitu:
  1. str digunakan oleh ASCII dan Unicode.
  2. bytes digunakan untuk data binier dan,
  3. bytearray yang merupakan variasi dari bytes.

String merupakan bagian dari hampir semuanya yang bisa dikodekan sebagai text atau bytes, symbol dan kata, sebuah text file (sebuah file yang berisi text), alamat internet, dan lain-lain.

Pada python, string memiliki karakter pembacaan dari kiri ke kanan dan tidak dapat ditukar penempatan karakternya. 

String bisa diisi dengan kosong, a=''
Single (')atau double (") tanda petik tidak ada bedanya. Tapi bila diawali dengan single tanda petik harus diakhiri dengan single juga, begitu juga sebaliknya, jadi bila kita ingin menuliskan sebuah string budi's , maka tulis dengan double tanda petik ("). 

  • >>> a="budi's"
  • >>> a
  • "budi's"
  • >>> print(a)
  • budi's
  • >>> b='budi"s'
  • >>> b
  • 'budi"s'
  • >>> print(b)
  • budi"s
  • >>> 
Pada dasarnya penggunaan single atau double petik tergantung pada pengguna, dan sangat subjektif. Saya pribadi lebih prefer menggunakan single petik. 

String yang lain adalah unicode (saya tidak suka topik ini) merupakan tool yang berguna untuk beberapa programer, misalnya untuk domain internet. Unicode juga sering kita jumpai di halaman-halaman web, pada email, FTP, HTML, XML, JSON, dan sebagainya. Unicode juga bisa menjadi sesuatu yang sangat berat untuk memulai (jadi kita yang punya masalah dengan unicode, kita tidak sendiri lho), dan banyak juga yang melewatkan topik ini. Jadi sebaiknya sekedar tahu sedikit banyak dari unicode ini, apakah ini akan berguna? Tidak ada orang yang tahu. Tapi dengan sedikitnya orang yang mau memahami unicode, akan memberi keuntungan sendiri bila kita memahaminya. 

Unicode didesign untuk pemetaan setiap karakter dari semua bahasa yang menggunakan 4 bytes, karena ada bahasa yang memiliki lebih dari 65535 (2 bytes) karakter. Unicode dan ASCII dalam hal pemetaan karakternya sama. Jadi Unicode sama seperti cincin Lord of the ring, 'Satu cincin menguasai semua cincin'. Kelihatanya keren kan? Tapi bila kita menggunakan 4 bytes untuk setiap karakter ascii, adalah pemborosan.

Uncode yang menggunakan 4 bytes untuk setiap karakternya disebut UTF-32, karena 4 bytes sama dengan 32 bits. UTF-16 menggunakan 2 bytes (0-65535). UTF-8, yang sama dengan ASCII dan ada penambahan untuk karakter bahasa latin.

No comments:

Post a Comment