Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pengenalan Struktur Data
Teknik Informatika S1
2
Tipe Data Elementer dan Struktur Data
Data dapat dikelompokkan menjadi [1]: Tipe Data Elementer Tunggal Karakter, Integer (Bil Bulat), Real (Pecahan), Boolean Tipe Data Elementer Majemuk String (Kumpulan Karakter) Struktur Data Sederhana Array: sekumpulan data yg memiliki tipe data yg sama Record: sekumpulan data yg memiliki tipe data yg beda Struktur Data Majemuk - Linier: stack, queue, linier linked list - Non Linier: tree, binary tree
3
Macam-macam Tipe Data [2]
Tipe data dasar Bilangan Boolean Bilangan Bulat Bilangan Riil Karakter Tipe Data String Tipe data Enumerasi Tipe data Bentukan
4
Review Array Array atau Larik adalah Type Data yang memungkin sebuah Variabel MAMPU Menampung BANYAK DATA Artinya : BANYAK DATA tapi DAPAT ditampung dalam SATU VARIABEL Setiap Data akan disimpan menurut NOMER INDEX/URUTAN nya
5
Review Array (Lanjut) Larik/Array digunakan untuk menangani data yang banyak dan bertipe sama
6
Tipe Data Bentukan Type Data Bentukan adalah TYPE DATA Yang DIBENTUK oleh Programmer itu sendiri ANDA…KITA… SEMUA… dapat membuat Type Data DILUAR Type data Standar (char, int, float) Contoh: type point yang terdiri dari X dan Y
7
Tipe Data Bentukan (Lanjut)
Kapan harus membuat type? Jika data yang diolah dapat diabstraksikan menjadi suatu data yang merupakan kesatuan. Misalnya: Point, Jam, Date, Orang, Pegawai, SIM, Kartu, Window, Figure, dll Pembuatan Type dimaksudkan: Untuk mempermudah berfikir dalam abstraksi lebih tinggi Dengan memberi nama Type, pengolahan jadi lebih jelas Biasanya nama tipe mewakili nama ‘benda’ dengan ciri tertentu
8
Tipe Data Bentukan (Lanjut)
Membentuk type berarti menentukan struktur data! Type adalah himpunan nilai dan sekumpulan operator yang terdefinisi Untuk membuat tipe data baru, kita bisa menggunakan Struct (Structure)
9
Structure / Struct Structure adalah kumpulan dari variable yang berkaitan yang sering digunakan untuk mendefinisikan object – orang, tempat, atau record dalam database atau file Ingat kembali Hierarki Data : Character (Huruf, angka dan Spesial character) Variabel/Field yang menampung Character Record, Kumpulan Variabel File, yang menampuing Record Database, yang menampung File
10
Structure / Struct - Lanjut
Perhatikan Contoh berikut : Terdapat Data Teman yang terdiri dari Nama Teman Sex Umur Indah P 25 Maka ada 3 Buah Variabel yaitu : Nama Teman, SEX dan Umur
11
Structure / Struct - Lanjut
Sehingga Dituliskan (misal dalam Pemrograman C) char nama_teman[30]; char sex; int umur
12
Structure / Struct - Lanjut
Jika DiKumpulkan menjadi { char nama_teman[30]; char sex; int umur };
13
Structure / Struct - Lanjut
Karena PERKUMPULAN, maka HARUS Bertype Data RECORD (dalam bahasa C disebut STRUCT) disertai nama RECORD-nya struct teman { char nama_teman[30]; char sex; int umur };
14
Structure / Struct - Lanjut
Sehingga dalam menentukan KAMUS… kita dapat membuat sebuah variabel kuliah dengan Type data teman (misalkan dalam bahasa C) main() { struct teman kuliah; } Artinya Variabel kuliah bertype data teman
15
Structure / Struct - Lanjut
Mengakses elemen/member Struct Dalam proses manipulasi data dari Struct yang dibuat, maka diperlukan cara untuk mengakses elemen/member Struct tsb, Prosedurnya adalah nama variable diikuti oleh operator dot ( . ) dan nama member Kuliah.nama_teman :: mengakses elemen nama_teman dari variabel Kuliah Kuliah.sex :: mengakses elemen sex dari variabel Kuliah Kuliah.umur :: mengakses elemen umur dari variabel Kuliah
16
Inisialisasi Nilai Elemen Struct
struct hitung{ int x; int y; }; struct hitung Jumlah; Jumlah.x=10; Jumlah.y=20;
17
Operasi Pada Member Struct
struct hitung { int x,y,jml; }; int main(){ struct hitung jumlah; jumlah.x=10; jumlah.y=20; jumlah.jml=jumlah.x + jumlah.y; printf(“hasil %d + %d = %d”, jumlah.x,jumlah.y,jumlah.jml); }
18
Array of Structure Jika Datanya seperti ini :
Terdapat Data Teman yang terdiri dari Nama Teman SEX Umur Indah P 25 Bagus L 24 Haris L 23 Budiman L 22 dst…. Bagaimana membentuk struktur datanya?
19
Array of Structure - Lanjut
Variabel KULIAH dapat ditambahkan Array Dapat Menampung Banyak DATA main() { struct teman kuliah[100]; } Artinya Variabel kuliah bertype data teman dengan ARRAY
20
Penggunaan Typedef Pada Struct
Dalam deklarasi variable dari sebuah structure, harus menyertakan keyword struct. Typedef merupakan alternative dalam deklarasi variable tanpa harus menulis struct. Perintah typedef berguna untuk membuat alias dari suatu tipe data struct hitung{ int x,y; }; typedef struct hitung operasi; operasi Jumlah; operasi Kali; struct hitung{ int x,y; }; struct hitung Jumlah; struct hitung Kali;
21
Penggunaan Typedef Pada Struct (2)
Letakkan typedef pada awal definisi structure Pada akhir definisi structure, letakkan nama alias untuk melengkapi pendefinisian menggunakan typedef Deklarasi variable menggunakan typedef, memungkinkan deklarasi sama seperti deklarasi menggunakan type data int, char, double typedef struct hitung operasi Definisi structure Nama alias typedef type data operasi
22
Penggunaan Typedef Pada Struct (3)
23
Typedef Pada Tipe Data Elementer
Perintah typedef berguna untuk membuat alias dari suatu tipe data. Tidak hanya pada tipe data bentukan Struct, namun juga tipe data elementer. Typedef int Time; Time hours, minutes, seconds; Time merupakan alias dari tipe dasar int (integer). Hours, minutes, seconds bertipe Time
24
Typedef Pada Tipe Data String
Sama halnya juga pada contoh berikut : typedef char * String; String namaMhs, alamatMhs; Dalam C, pointer ke character merupakan satu-satunya cara mendeklarasi tipe data string. Pada contoh di atas, dengan menggunakan typedef, sebuah tipe data baru dengan nama String dideklarasikan
25
Typedef Pada Data Array
int x[100]
26
Pointer Variabel yang dapat menyimpan alamat disebut dengan ‘pointer’, dan alamat yang disimpan dalam pointer biasanya adalah variabel lain
27
Pointers of Structures
Sama seperti materi pointer, penggunaan pointer pada structure digunakan untuk mengakses alamat yang ada pada structure Pointer pdata menyimpan alamat dari jumlah Hitung jumlah={10,20,30}; pdata = &jumlah;
28
Pointers of Structures - Lanjut
typedef struct pekerja{ int id; char nama[20]; }emp; main(){ emp data; emp *pdata; //create a pointer of structure type pdata=&data; //assign address to pointer of structure type strcpy(pdata->nama, “Adi”); pdata->id = 1; printf(“%d %s”, pdata->id,pdata->nama) } Operator -> digunakan untuk mengakses member dalam structure
29
Abstract Data Type (ADT)
Type dan sekumpulan primitif (operasi dasar) terhadap type tersebut Definisi type dari ADT dapat mengandung definisi ADT lain. Contoh : ADT Waktu ; ADT Jam, ADT Date ADT Garis ; 2 Point ADT Segi4 ; 2 Point (Top/Left) , (Bottom/Right)
30
ADT POINT {*Definisi Abstract Data Type POINT*}
type point: <x: integer, {absis} y: integer {ordinat}> {*Konstruktor POINT*} Function MakePoint (x:integer, y:integer) point {membentuk sebuah point dari x dan y dengan x sebagai absis dan y sebagai ordinat} {*Selektor POINT*} Function GetAbsis (P: point) integer {mengirimkan komponen absis dari P} Function GetOrdinat (P: point) integer {mengirimkan komponen ordinat dari P} {*Predikat*} Function IsOrigin ?(P: point) boolean {mengirimkan nilai benar jika P adalah titik origin yaitu titik <0,0>}
31
Terima Kasih
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.