23
Struktur Data

Modul Struktur data

Embed Size (px)

Citation preview

Struktur Data

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 3Pengenalan

DataAlgoritma

Input OutputProses

Sistem

Ilmu

amalkan

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

Struktur Data 23Pengenalan

Perhatikan Masalah berikut;a. 1 4 3 16 5 36 7 64 9 100b. 0.1 2 0.3 4 0.5 6 0.7 8 0.9

10c. 1 5 3 8 5 11 7 14 9 17Tentukan Strukturdatanya berserta operasinya dan buatkan alogoritma penyelesaiannya;

Tugas