Minggu, 26 Oktober 2014

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