• Tidak ada hasil yang ditemukan

Data Structures. Class 3 Pengenalan Struktur Data dan ADT. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Data Structures. Class 3 Pengenalan Struktur Data dan ADT. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved."

Copied!
26
0
0

Teks penuh

(1)

Data Structures

Class 3 – Pengenalan Struktur Data dan ADT

Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

(2)

“I will, in fact, claim that the difference

between a bad programmer and a good

one is whether he considers his code or

his data structures more important. Bad

his data structures more important. Bad

programmers worry about the code. Good

programmers worry about data structures

and their relationships.”

Linus Torvalds, 2006

(3)

Definisi

• Struktur Data

• adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer secara efektif

sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.

• Data

• Data

• adalah representasi dari fakta dunia nyata.

• Data serangkaian item-item dasar.

• Fakta

• adalah keterangan tentang kenyataan yang

dapat disimpan, direkam atau direpresentasikan

dalam bentuk tulisan, suara, gambar, sinyal atau

simbol.

(4)

Organizing Data

Any organization for a collection of records

can be searched, processed in any order, or

modified.

The choice of data structure and algorithm

can make the difference between a program

running in a few seconds or many days.

(5)

Efficiency

• A solution is said to be efficient if it

solves the problem within its resource

constraints.

• Space

• Space

• Time

• The cost of a solution is the amount of

resources that the solution consumes.

(6)

Selecting a Data Structure

Select a data structure as follows:

1. Analyze the problem to determine the

basic operations that must be

supported.

supported.

2. Quantify the resource constraints for

each operation.

3. Select the data structure that best

meets these requirements.

(7)

Costs and Benefits

• Each data structure has costs and

benefits.

• Rarely is one data structure better than

another in all situations.

another in all situations.

• Any data structure requires:

• space for each data item it stores,

• time to perform each basic operation,

• programming effort.

(8)

Costs and Benefits (cont)

• Each problem has constraints on

available space and time.

• Only after a careful analysis of

problem characteristics can we know

problem characteristics can we know

the best data structure for the task.

• Bank example:

• Start account: a few minutes

• Transactions: a few seconds

• Close account: overnight

(9)

• Programmer perlu memahami :

1. Bagaimana struktur data diciptakan dalam komputer. 2. Terdapat perbedaan antara bayang difikiran kita

tentang data, dan cara data tersebut tersimpan dalam memory komputer sebagai sebuah struktur data.

3. Banyak kelebihan dan kekurangan dari bermacam 3. Banyak kelebihan dan kekurangan dari bermacam

struktur data yang harus dipertimbangkan programmer ketika menulis program.

4. Setiap struktur data memiliki operasi-operasi tertentu yang secara alami sesuai dengan struktur data

tertentu.

5. Seringkali operasi-operasi yang dapat dilakukan pada struktur data terpaket langsung dengan struktur data tersebut (data type).

(10)

Manfaat

• Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan :

1. Algoritma yang lebih jelas dan tepat, sehingga

menjadikan program secara keseluruhan lebih efisien dan sederhana.

2. Membuat program lebih ringkas, lebih bersih, lebih

elegan, lebih mudah dan lebih mampu berkinerja tinggi (karena efisien dalam penggunaan memori dan waktu).

E.g. satu program berjalan membutuhkan waktu beberapa detik, di mana struktur yang lain mungkin akan

membutuhkan ribuan detik.

3. Supaya data yang disimpan dapat lebih mudah/efisien dalam pengaksesan/pemrosesan data tersebut.

(11)

• Secara umum struktur data diklasifikasikan atas :

1. Primitive data structures

(12)

1. Primitive data structure

:

• adalah data structures yang dapat dimanipulasi secara langsung oleh machine instructions.

• Dalam bahasa C, beberapa primitive data structures adalah int, float, char, double.

12

2. Non primitive data structures

:

• Tidak dapat dimanipulasi langsung oleh instruksi mesin. • E.g. linked lists, files dll.

• Diklasifikasikan menjadi 2 jenis :

a. linear data structures dan, b. non-linear data structures.

(13)

Klasifikasi Struktur Data Dasar

(14)

Linear Data Structure

:

Data structure dimana setiap elemennya

memiliki akses paling banyak pada satu

elemen sebelum dan satu elemen

sesudahnya.

sesudahnya.

(15)

• Linear Data Structures :

(16)

Non-linear Data Structure

:

data structure dimana setiap elemennya

dapat mengakses data sebelum dan data

sesudahnya dalam jumlah yang tidak

terbatas.

terbatas.

(17)

• Non Linear Data Structures :

(18)

Static VS Dynamic Data Structures

Static Data Structure:

data structure dimana jumlah elemen-elemen

penyusunnya bersifat tetap.

Example: Arrays

Dynamic Data Structure:

data structure dimana jumlah

elemen-elemen penyusunnya bersifat tidak tetap.

(19)

bagaimanakah struktur data di-support dalam

bahasa pemrograman?

1. Sebagai fitur built-in pada bahasa

pemrograman.

• Arrays pada umumnya di-support oleh bahasa

tingkat tinggi.

• Linked list pada beberapa bahasa

pemrograman.

pemrograman.

• Classes pada OOP

2. Sebagai fitur yang didefinisikan dalam

library atau paket (package).

(20)

Tipe Data, Obyek Data & Struktur Data

• Tipe data adalah jenis data yang mampu ditangani

oleh suatu bahasa pemrograman pada komputer.

• Tiap-tiap bahasa pemrograman memiliki tipe data

yang memungkinkan:

• Deklarasi terhadap variabel tipe data tersebut. • Deklarasi terhadap variabel tipe data tersebut.

• Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut.

• Jenis obyek data yang mungkin.

(21)

Pascal :

Str25 = String[25];

TBookRec = Record

Title, Author, ISBN : Str25; Price : Real;

End;

End;

i : Integer;

myIntArray : Array[1..20] of Integer;

myBoolArray : Array[1..20] of Boolean;

C :

char name[100];

int age;

(22)

Tipe Data, Obyek Data & Struktur Data

• Obyek Data adalah kumpulan elemen yang mungkin

untuk suatu tipe data tertentu.

• Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf.

• Struktur Data adalah cara penyimpanan dan

pengorganisasian data-data pada memori komputer

secara efektif sehingga dapat digunakan secara

(23)

Tipe Data Standar

Tipe data standar merupakan tipe data yang tersedia

pada kebanyakan komputer sebagai

built-in features

.

Tipe data standar yaitu :

-Integer

-Integer

-Real

- Boolean

- Char

(24)

Tipe Data

• Bahasa pemrograman bisa memiliki tipe data:

1. Built-in (tipe data standar) :

• sudah tersedia oleh bahasa pemrograman tersebut

• Tidak berorientasi pada persoalan yang dihadapi. • Contoh : int, float, dll.

2. UDT : User Defined Type, dibuat oleh pemrogram.

• Mendekati penyelesaian persoalan yang dihadapi • Mendekati penyelesaian persoalan yang dihadapi

• Contoh: record pada Pascal, struct pada C, class pada Java

3. ADT : Abstract Data Type

• memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut.

(25)

ADT (Abstract Data Type) atau Tipe Data Bentukan

• ADT

adalah

sebuah

tipe

data

yang

propertinya

(yaitu

data

dan

operasi

)

dispesifikasikan

tanpa

tergantung

pada

implementasi tertentu.

• Contoh : Stack ADT.

• ADT dapat memiliki beberapa implementasi

berbeda.

• Implementasi yang berbeda dapat memiliki

efisiensi yang berbeda.

(26)

Abstract Data Types (ADTs)

• An abstract data

type (ADT) is an

abstraction of a

data structure

• An ADT specifies:

• Example: ADT modeling a

simple stock trading

system

• The data stored are buy/sell

orders

26

• An ADT specifies:

• Data stored

• Operations on the

data

• Error conditions

associated with

operations

orders

• The operations supported

are

• order buy(stock, shares, price) • order sell(stock, shares, price) • void cancel(order)

• Error conditions:

• Buy/sell a nonexistent stock • Cancel a nonexistent order

Referensi

Dokumen terkait

Penelitian ini menggunakan prinsip dasar etik yang menjadi landasan penelitian yaitu, menghormati orang (respect for person) yaitu peneliti tidak memaksa responden

Kode Kegiatan/ Output/ Sub Output/ Paket/ Sub Paket Vol Satuan Pemanfaat Tahun Atribut Kesiapan DED

• Lakukan gerak langkah arah mistar dan lakukan tolakan tegak lurus ke atas dengan posisi badan membelakangi mistar, lalu mendarat pada matras menggunakan punggung

Sesuai bunyi Pasal 2 ayat (1) Keputusan Presiden Nomor 56 Tahun 2004 bahwa "Organisasi, administrasi, dan financial pada Pengadilan dalam lingkungan Peradilan Militer

melaksanakan proses pembelajaran memiliki skor rata-rata 111,87 dan tergolong dalam kategori sangat baik, (2) kinerja guru sesudah bersertifikasi dalam melaksanakan

Merujuk kepada hukum internasional hak asasi manusia, ELSAM menilai penerapan eksekusi pidana mati adalah suatu tindakan yang bertentangan dengan kewajiban

Hasil penelitian yang telah dilakukan penulis, menemukan bahwa variabel Produk , Harga , Promosi , Pelayanan , Desain Toko, Lokasi , dan Suasana Toko berpengaruh secara

Untuk itu, pada tahun 2018 ini Direktorat Jenderal Anak Usia Dini dan Pendidikan Masyarakat melalui Direktorat Pembinaan Kursus dan Pelatihan menyelenggarakan program