Struktur Data (Pertemuan 1)
Data dikategorikan menjadi 2 yaitu :
ü Tipe data tunggal (data primitif)
Ex: Integer, Real, Boolean dan karakter
ü Tipe data majemuk (data campuran)
Ex: string (untai)
Tipe Data dalam pemprograman ada 3 yaitu :
Ø Sederhana
Ø Ordinal, ex: Integer, Boolean, char
Ø Real
Ø Terstrukur
Ø Array
Ø Record
Ø Set
Ø File
Ø Pointer
TIPE DATA TUNGGAL
#Integer
v Suatu integer adalah anggota dari himpunan bilangan
v Operasi – operasi dasar yang ada dalam integer adalah : penjumlahan, pengurangan, perkalian, pembagian dsb
v Operator yang bekerja terhadap sepasang integar (operand) disebut sebagai Binary Operator
v Operator yang hanya bekerja pada satu operand saja disebut sebagai Unary Operator
v Contoh Unary Operator adalah operator negasi. Berfungsi untuk mengubah tanda suatu operand
Operator
|
Operand
|
+
|
Penjumlahan
|
*
|
Perkalian
|
-
|
Pengurangan
|
DIV
|
Hasil Pembagian Bilangan Bulat
|
MOD
|
Sisa Pembagian
|
#Real
v Data Numerik yang bukan termasuk integer, digolongkan dalam jenis data real
v Jenis data ini ditulis menggunakan titik desimal (atau koma desimal)
v Bilangan real dimasukkan ke dalam memori komputer memakai sistem Floating Point, merupakan versi yang disebut Scientific Notation
v Penyajian terdiri atas 2 bagian, yaitu : Mantissa (Pecahan) dan Eksponen
Ex: bilangan 199000 = 0,199 * 106
Disini 0,199 adalah mantissa (pecahan) sedangkan 6 adalah eksponen
v Secara Umum suatu bilangan real X dituliskan M * RE
Operator
|
Operand
|
+
|
Penjumlahan
|
*
|
Perkalian
|
-
|
Pengurangan
|
/
|
Pembagian
|
#Boolean
· Jenis data ini disebut juga jenis data logical
· Elemen dari jenis data ini mempunyai nilai salah satu dari true atau false
· Operator yang dikenal adalah:
Operator logika yaitu NOT, AND dan OR
§ Operator OR akan menghasilkan nilai true jika salah satu/ kedua operand bernilai true
§ Operator AND akan menghasilkan nilai true jika kedua operand benilai true
§ Operator NOT akan menghasilkan nilai true jika operand bernilai false dan sebaliknya
§ Operator NOT merupakan precedence dari operator AND dan OR
§ Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR
Operator Relasional yaitu > , <, <= , >=, <> dan =
P
|
Q
|
P dan Q
|
P OR Q
|
NOT Q
|
T
|
T
|
T
|
T
|
F
|
T
|
F
|
F
|
T
|
T
|
F
|
T
|
F
|
T
|
F
|
F
|
F
|
F
|
F
|
T
|
#Karakter
Jenis data karakter merupakan elemen dari suatu himpunan simbol aksara yang terdiri atas bilangan, abjad, dan simbol – simbol khusus
#String
ü Jenis data string merupakan jenis data campuran karena elemen dibentuk dari karakter – karakter
ü String adalah barisan hingga simbol yang diambil dari himpunan karakter
ü Ada beberapa string yang dapat di bentuk, antara lain :
ü CDI, CDD, DDC, CDC, CDCI, termasuk juga “ null string “ , “ empyt string “.
ü Vocabulary, himpunan yang anggotanya adalah semua string yang dapat di bentuk dari suatu himpunan alphabet.
ü Bitstring, suatu string yang terbentuk dari alphabet
ü Dalam suatu string terdapat beberapa operasi utama yaitu :
o Lenght : Menghitung panjang string (Integer)
Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string.Panjang dari string di definisikan sebagai banyak karakter dan dapat diltulis S=N atau Lenght (S)=N
o Concatenation : menggabungkan
§ Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut
§ Jika S1 dan S2 masing – masing adalah suatu string, maka bentuk operasi concatenation dinotasikan dengan CONCAT “(S1,S2)
o Sub String = Mengambil
§ Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang diketahui
§ Notasinya adalah SUBSTR (s,i,j)
s = string yang diketahui
i dan j adalah int
i = posisi awal substring 0 ≤ i ≤ length (S)
j = banyak karakter yang diambil 0 ≤ j ≤ length (S) dan
0 ≤ i+j-1≤ lenght (S)
Catatan :
1. Length ( SUBTR (s, i, j)) = j
2. SUBSTR (CONCAT (S1 , S2), 1, length (S1))= S1
3. SUBSTR (CONCAT (S1,S2), length (S1)+1, length (S2)) = S2
Ex : S1 = STIMIK
S2 = ASIA
S1 = Indonesia ? Substring (Concate (Stimik, Asia), 1, lenght (stimik))
Subtring ((Stimik Asia ), 1 ,6) = stimik (terbukti)
o Insert = Menyisihkan
· Operasi ini adalah untuk menyisipkan suatu string ke dalam string lain
· Bentuk umum adalah : INSERT (S1, S2, i )
· S1 dan S2 masing – masing adalah suatu string dan i adalah posisi awal S2 pada S1
· Misalkan S1 = ‘a1a2 ....an’
S2 = ‘b1b2....bm’
INSERT (S1, S2, 3)= ‘a1a2b1b2 ....bma3a4....an’
Ex : S1 = Stimik
S2 = Asia
INSERT (S1, S2, 2) = Sasia Timik
o Delete = Menghapus
· Operasi ini digunakan untuk menghapuskan sebagaian karakter dalam suatu string
· Bentuk umum adalah DELETE (s, i, j)
· Maksudnya adalah menghapuskan sebagaian karakter dalam string S, mulai dari posisi i dan panjang j
Pemetaan integer ke storage
Bentuk mapping ke storage dari int dapat dilakukan dengan beberapa cara yaitu :
ü Skema sign dan magnitude (bentuk konvesional)
o Disini representasi bilangan pos dan neg hanya dibedakan dengan tanda saja
o Biasanya tanda pos/neg ditunjukkan oleh digit terdepan dari bentuk binernya untuk representasi dengan jumlah digit tertentu
ü Skema One’s complement dan Skema Two’s complement
o Diberikan bilangan int non neg x,x’ dan R di definisi bahwa
x’ adalah complement dari x relatif terhadap R jika x+x’ = R
x disebut sebagai bentuk true sedangkan x’=R-x disebut bentuk complement
o Bentuk complement x’= R-x menyatakan bilangan int neg x sedangkan bentuk true x menyatakan int pos x
o Skema 2 complement menggunakan R = 2N
o Skema 1 complement menggunakan R = 2N – 1
Pemetaan karakter ke storage
v Pada umumnya skema yang paling banyak digunakan adalah
ü Exended Binary Coded Decimal Interchange Code (EBCDIC)
ü American Standard Code for Information Interchange (ASCII)
ü Selain kedua skema tersebut ada skema yang disebut dengan kode Huffman
Pemetaan String ke Storage
v Untuk mengetahui bentuk mapping pada storage dari suatu string perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan
v Letak posisi awal start dan posisi akhir (terminal) suatu pointer yang menunjukkan lokasi storage