STRUKTUR DATA - 3 SKS - 2011

Download Report

Transcript STRUKTUR DATA - 3 SKS - 2011

PERTEMUAN KE-1

Mata Kuliah STRUKTUR DATA

• • • SKS : 3 Penilaian: Tugas-Tugas, UTS, UAS Kehadiran, dll: Peraturan Akademik

REFERENSI

1. PENGANTAR STRUKTUR DATA, D. Suryadi H.S., Penerbit Gunadarma, 1991 2. PENGANTAR STRUKTUR DATA, Sumantri Slamet I.S., dkk, Penerbit Elex Media Komputindo 3. …

SUMBER-SUMBER ON LINE

• http://elearning.gunadarma.ac.id/docmodul/pengan tar_struktur_data/ • http://kur2003.if.itb.ac.id/file/Cover_SD_Konsep.htm

• http://kur2003.if.itb.ac.id/file/Cover_SD_StudiKasus.

htm

What is …. ?

• STRUKTUR Bagaimana bagian-bagian dari sesuatu berhubungan satu dengan lain atau bagaimana sesuatu tersebut disatukan. (id.wikipedia.org) • DATA Catatan atas kumpulan fakta. Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra. (id.wikipedia.org)

DEFINISI

Struktur Data adalah koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

A data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Wikipedia.org

Struktur Data adalah cara merepresentasikan data agar efisien dalam penyimpanan dan pengolahannya.

What for ?

• • • Apa tujuan data diatur dalam struktur tertentu?

Efisiensi waktu proses Efisiensi resources (RAM, storage)

Kemudahan pemrograman (karena lebih jelas)

Niklaus Wirth

Efisiensi Waktu Proses

• Non Index Index D E A B C A B C D E

Efisiensi Storage

• Matriks Ukuran Besar Yang Selnya Banyak Kosong (Sparse Matrix) 1 2 3 4 5 6 7 … 500 0 0

1

0 0 0 8 0 … 0 5 0

2

0 0 0 0 0 … 0 0 0

3

0 0 0 0 0 … 0 0 0

4

0 0 0 0 0 … 0 0 4

5

0 0 0 0 0 … 3 0 0

6

0 0 0 1 0 … 0 0 0

7

0 0 0 0 0 … 0

...

… … … … … … … … …

500

0 0 0 9 0 0 0 … 0

Efisiensi Storage

• Matriks Ukuran Besar Yang Selnya Banyak Kosong (Sparse Matrix) 1 2 3 4 5 6 7 … 500 0 0

1

0 0 0 8 0 … 0 5 0

2

0 0 0 0 0 … 0 0 0

3

0 0 0 0 0 … 0 0 0

4

0 0 0 0 0 … 0 0 4

5

0 0 0 0 0 … 3 0 0

6

0 0 0 1 0 … 0 0 0

7

0 0 0 0 0 … 0

...

… … … … … … … … …

500

0 0 0 9 0 0 0 … 0

Efisiensi Storage

• Hanya data yang tidak 0 yang disimpan 1 2

5

5 6 500 2 3 4 6 500

8 4 3 1 9

JENIS-JENIS DATA

• Tipe Data Sederhana - Data Sederhana Tunggal :

integer, real, boolean, karakter

- Data Sederhana Majemuk :

string

• Tipe Data Berstruktur - Struktur sederhana :

array, record

- Struktur majemuk - Linier :

stack (tumpukan), queue (antrian), linear linked list

- Non Linier :

tree (pohon), graph

• • • • • • • Integer Real Boolean Karakter String Array Record

Contoh-contoh

1, 10, -197205062000031007 0.009, -12.88938

true, false A, q, #, = “STMIK”, “Facebook” [“z”,”f”,”r”,”k”], [1,3,12,43,56] Mhs : {Nama=”Rudi”, Usia=23}

• Tree (pohon)

Contoh-contoh

AMIR BUDI CATUR RANGGA DESI BOB • Graph

Selain tipe data tersebut di atas, user dapat membuat tipe data baru (user defined type) sesuai kebutuhan.

Namun demikian, tipe data baru tersebut tetap diturunkan dari tipe yang sudah tersedia dalam bahasa pemrograman.

Misal:

Type Kelas = 1..12; Nama = string[100];

Bahasa pemrograman pada umumnya sudah menyediakan tipe data sederhana dan tipe data berstruktur sederhana, dan sudah pula terdefinisi operasi-operasi yang dapat dilakukan terhadap tipe data tersebut.

Contoh operator: Integer: +, -, x, ^, DIV, MOD Boolean: not, and, or

Sedangkan, untuk tipe data berstruktur majemuk tidak semua bahasa pemrograman menyediakan secara langsung, melainkan harus dibuat prosedur penanganannya.

“Struktur” yang terbentuk, misalnya tree (pohon), queue (antrian), graph hanya terbentuk dalam logika (programmer), sedangkan representasi fisiknya tetap memanfaatkan sistem memori sekuensial.

SILABI

1. Pengenalan Mata Kuliah Strukur Data 2. Konsep ADT (Abstract Data Type) 3. Alokasi memori dinamis 4. Stack 5. Queue 6. Linked list 7. Tree 8. Searching 9. Sorting 10. Hashing