Upload
gunadarma
View
1
Download
0
Embed Size (px)
Citation preview
Struktur Data 2Pengenalan
BUKU SUMBER
Bambang Wahyudi. 2004. Struktur Data dan Algoritma. Yogyakarta : Andi Offset
Dwi Sanjaya. 2001. Bertualang dengan Struktur Data di Planet Pascal. Yogyakarta : JJ Learning
Inggriani Liem. 2003. Diktat Kuliah Struktur Data. Bandung : ITB
Suryadi H.S. Pengantar Struktur Data, Gunadarma
Seymour,lipschutz. Data Structure, Schaum Series
Dll
Struktur Data 4Pengenalan
Pengertian
Data : adalah representasi dari fakta dunia nyata
Fakta : adalah kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol
DataData Sederhana
Struktur Data
Klasifikasi Data
Struktur Data 5Pengenalan
Pengertian
Struktur Data, adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta dapat dioperasikan sesuai dengan definisi yang diberikan terhadapnya dikomputer dapat diartikan sebagai suatu susunan, bentuk, pola atau bangunan.
Struktur Data, adalah cara penyimpanan dan pengorganisasian data pada memori komputer maupun file pada media penyimpanan secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya
Struktur Data 6Pengenalan
1.Data Sederhanaa. Data Sederhana Tunggal, yaitu Integer, real,
boolean dan karakter
b. Data Sederhana Majemuk, yaitu String
2.Struktur Dataa. Struktur data sederhana, yaitu array dan
recordb. Struktur data Majemuk, terdiri dari
Linier, yaitu Stack, Queue, List dan Multilist Non Linier, yaitu Pohon Biner dan Graph
Katagori Data
Struktur Data 7Pengenalan
1. Integer, adalah data numerik yang tidak mengandung pecahan. Penulisan dalam Pascal var a: integer; , dalam C++ int a;
2. Real, adalah data numerik yang mengandung pecahan digolongkan dalam jenis data Real (floating point). Penulisan dalam Pascal var a: real; , dalam C++ float a;Operasi yang dapat dilaksanakan;
Data Sederhana
Nama Operasi Operator Integer
Operator Real
Pemangkatan ^ ^Pekalian * *Pembagian DIV /Penjumlahan + +Pengurangan - -
Struktur Data 8Pengenalan
3. Boolean, type ini dikenal pula sebagai “ Logical Data Types”, digunakan untuk melakukan pengecekan suatu kondisi dalam suatu program.Elemen datanya hanya ada 2 yaitu True dan False, biasanya dinyatakan pula sebagai 1 dan 0. Operasi yang dapat dilaksanakan;Operasi yang dapat dilaksanakan;a. Operasi Logika
Data Sederhana
Nama Operasi
Operator Penulisan Pascal
Penulisan C++
Tidak NOT NOT !Dan AND AND &&Atau OR OR ||
Struktur Data 9Pengenalan
b. Operasi Relasi
Data Sederhana
Nama Operasi Operator
Penulisan
Pascal
Penulisan C++
Sama Dengan = = ==Kecil < < <Besar > > >Kecil Sama dgn
<= <= <=
Besar sama dgn
>= >= >=
Tidak sama dgn
<> <> !=
Struktur Data 10Pengenalan
4. Karakter, Type karater mempunyai elemen sebagai berikut : (0,1,2,3,…,9,A,B,C,…,X,Y,Z,?,*,/,…)
5. String, Suatu string adalah barisan hingga simbol yang diambil dari himpunan karakter yang digunakan untuk membentuk string dinamakan Alfabet.Secara umum suatu string S dinyatakan : S : a1, a2, a3,… an,Panjang dari string dilambangkan S =N atau Length (S) = N dimana N adalah banyaknya karakter pembentuk string.Untuk string Null = 0, untuk blank (spasi)=1.
Data Sederhana
Struktur Data 11Pengenalan
Operasi yang berlaku terhadap string1. LENGTH(S) berfungsi untuk menghitung panjang
suatu stringContoh : S1 adalah string = a1,a2,a3…anS2 adalah string = b1, b2, b3,…bkLen(s2) = n , Len(s1) = k
2. CONCAT (S1 , S2) yaitu concatenation adalah penyambungan 2 buah string atau lebihContoh : concat(s1,s2) = a1, . . . , an , b1 , . . . , bkatau dalam bentuk lain : s1 // s2 , s1 + s2
3. SUBSTR (S, i, j) yaitu operasi pengambilan beberapa karakter dari stringS = adalah stringi = adalah posisi karakter awal yang diambilj = adalah banyaknya karakter yang diambil
Data Sederhana
Struktur Data 12Pengenalan
4. RIGHT(S , j); adalah operasi pengambilan beberapa karakter dari string dimulai dari sisi kanan string
5. LEFT (S , j); adalah operasi pengambilan beberapa karakter dari string dimulai dari sisi kiri string
6. INSERT ( S1, S2, i); adalah operasi penyisipan string kedalam suatu string.
7. DELETE (S, i, j); adalah operasi penghapusan string
Data Sederhana
Struktur Data 13Pengenalan
Data dalam storage dalam bentuk binerInteger:Bentuk mapping ke storage dapat dilakukan dengan beberapa cara, yaitu :1. Skema Sign and Magnitude2. Skema One’s Complement3. Skema Two’s Complement
Skema Sign and MagnitudeRepresentasi bilangan positif dan negatif hanya dibedakan dengan tanda saja
MAPPING KE STORAGE
Struktur Data 14Pengenalan
Contoh: +5 + 101 atau 101 -5 - 101Kelemahan :
Mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya.
Skema One’s ComplementJika x bilangan bulat positif, maka x` bilangan binary negatif dari x sedemikian sehingga x + x` = R x` = R - xCatatan :
R = 2N - 1N = Jumlah Digit Maksimum
MAPPING KE STORAGE
Struktur Data 15Pengenalan
Contoh: Bila N = 4, maka R = 24 - 1 = 15 Jika x = 5 0101 x’ = R - x = 15 - 5 = 10 1010 (-
5)
Skema Two’s ComplementJika x bilangan bulat positif, maka x` bilangan binary negatif dari x sedemikian sehingga x + x` = R x` = R - x
Catatan :R = 2N - 1N = Jumlah Digit Maksimum
MAPPING KE STORAGE
Struktur Data 16Pengenalan
Contoh: Bila N = 4, maka R = 24 = 16 Jika x = 5 0101 x’ = R - x = 16 - 5 = 11 1011 (-
5)
CatatanUntuk R = 2N dan R = 2N - 1, bilangan bulat
yang dapat disimpan dalam storage untuk ke-2 cara ini adalah :
Untuk R = 24, bilangan bulat terbesar = 23 -1, maka R = 24 merepresentasikan bilangan dari -7 sampai dengan +7
MAPPING KE STORAGE
2(N-1) - 1
INTEGERSkema Sign
and Magnitude
Skema One’s
Complement
Skema Two’s
Complement-7 -111 1000 1001-6 -110 1001 1010-5 -101 1010 1011-4 -100 1011 1100-3 -011 1100 1101-2 -010 1101 1110-1 -001 1110 11110 000 0000 00001 001 0001 00012 010 0010 00103 011 0011 00114 100 0100 01005 101 0101 01016 110 0110 01107 111 0111 0111
Struktur Data 17Pengenalan
Struktur Data 18Pengenalan
Skema yang paling banyak digunakan adalah :1. Extended Binary Coded Decimal Interchange
(EBCDIC)Digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya : 28 = 256.
2. American Standard Code for Information Interchange (ASCII)Digunakan kode 7 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya : 27 = 128.
MAPPING KARAKTER KE STORAGE
Struktur Data 19
perlu diketahui beberapa hal yang menyangkut ruang untuk string antara lain :1. letak posisi awal (start) dan posisi akhir
(terminal)2. suatu pointer yang menunjukkan lokasi pada
storage
A. Metode mapping suatu string ke dalam storage dengan menggunakan Tabel Informasi yang umum ada tiga cara yaitu;
Misal ada dua String yaitu S1 = ‘ABCDEF’ dan S2 = ‘BCD’
1. Cara Pertama
MAPPING STRING KE STORAGE
Nama String
Start Panjang String
S1 PTR1S 6S2 PTR2S 3Pengenalan
Struktur Data 20
MAPPING STRING KE STORAGE
20
Format Penyimpanannya sbb;
ABCDEFBCD atau ABCDEFPTR1S PTR2S PTR1S PTR2S
2. Cara Kedua Nama String
Start Term
S1 PTR1S PTR1TS2 PTR2S PTR23Format Penyimpanannya sbb;
PTR1S
PTR2S
PTR1S PTR2S
ABCDEFBCD atau ABCDEF
PTR1T
PTR2T
PTR2S PTR2T
Pengenalan
Struktur Data 21
3. Cara Ketiga
MAPPING STRING KE STORAGENama
StringStart Tanda Pemisah
SS1 PTR1S #S2 PTR2S #
Format Penyimpanannya sbb;
ABCDEF#BCD#
PTR1S
PTR2S
B. Metode PackedSuatu string yang direpresentasikan dalam bentuk packed terbagi atas beberapa word. Banyaknya karakter (K) untuk masing-masing word tergantung dari kode yang digunakan oleh mesin (bit-nya). Maka
KStringWord
MAPPING STRING KE STORAGEContoh: Suatu String yaitu; Sistem_Informasi, jika jumlah karakter setiap word adalah 4 maka Represntasinya sbb
Sist
em_I
nfor
masi
C. Metode UnpackedSuatu string yang direpresentasikan dalam word, setiap word terdiri hanya satu karakter, berarti jumlah word yang diperlukan untuk merepresentasikan suatu string S adalah : LENGTH(S)Contoh:
Suatu String yaitu; Gunadarma, maka Representasinya sbb;
G u n a d a r m a
Struktur Data 22Pengenalan