Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG) Annisa, S.Kom., M.Kom. (ANN) Hendra Rahmawan, S.Kom., MT (HRW) Departemen Ilmu Komputer.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG) Annisa, S.Kom., M.Kom. (ANN) Hendra Rahmawan, S.Kom., MT (HRW) Departemen Ilmu Komputer."— Transcript presentasi:

1 STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG) Annisa, S.Kom., M.Kom. (ANN) Hendra Rahmawan, S.Kom., MT (HRW) Departemen Ilmu Komputer Institut Pertanian Bogor

2 Who am I ?  Staf Dept Ilkom, Ibu rumah tangga, 1 suami, 2 anak, umur 4 tahun dan 4 bulan  Address: Bukit cimanggu city blok X2 no.6  Telpon:  Moto: Selalu menjadi orang yang bermanfaat dan membawa kebahagiaan bagi orang lain

3 Kontrak Perkuliahan Klik Here

4 Peraturan Kuliah  Kehadiran Paling lambat 15 menit setelah dosen masuk kelas/lab  Berpakaian Rapih  Handphone silahkan dinonaktifkan/di-silent

5 Kejujuran Akademis  Kecurangan  Setiap kecurangan Akan diberikan imbalan nilai 0 pada mata kuliah ini Menyontek ataupun bekerja sama pada saat ujian Menyalin tugas hasil pekerjaan yang lain Titip tanda tangan kehadiran  Sanksi akan diberikan untuk si pelaku maupun yang memberikan kesempatan

6 Motivation: Which Filing System? This one? OR This one? WHY?

7 Motivation: cluster or queue? This one? OR This one? WHY?

8 Motivation: logistics case This one? OR This one? WHY?

9 Mengapa Struktur Data Penting? #include main() { int n, i, x[100]; scanf("%d", &n); for (i=0 ; i

10 Mengapa Struktur Data Penting?  Mengapa data disimpan?  Supaya bisa diakses diproses untuk masa yang akan datang  Mengapa dalam penyimpanan membutuhkan struktur data?  Supaya lebih mudah/efisien dalam pengaksesan/pemrosesas data tersebut  Mengapa belajar teknik pembentukan struktur data, toh ada bahasa pemrograman yang sudah menyediakan struktur data tersebut?  Ada tapi tidak semua

11 Mengapa Kuliah ini Penting?  Untuk dapat memilih struktur data yang tepat, harus mengetahui kelebihan dan kekurangan dari masing-masing struktur data.  Untuk dapat memahami struktur data, caranya adalah dengan belajar membuatnya dan menerapkannya dalam berbagai kasus

12 STRUKTUR DATA  Struktur adalah cara sesuatu disusun;susunan, bangunan;pengaturan susunan dengan pola tertentu……(KBBI)  Struktur data adalah suatu cara menyusun atau memodelkan data sehingga memudahkan pemrogram dalam melakukan pengolahan sesuai dengan kebutuhan.  Struktur Data dalam bahasa pemrograman diimplementasikan dalam tipe data

13 Tipe Data Dasar Pointer SkalarInteger, Riil, char, Boolean Terstruktur Set Array Record File Tipe data dasar adalah tipe data yang telah tersedia secara default dalam suatu bahasa pemrograman (mis: pascal)

14 Abstract Data Type (ADT)  Tipe data abstrak : Tipe data yang tidak tersedia secara default dan didefinisikan sendiri oleh pemrogram.  Linked List, Queue, Stack, Tree, Graph.

15 Tipe data dasar pada C  Untuk C  Int  Float  Char  String

16 Representasi struktur Data  Representasi struktur data yang sederhana dapat dibentuk dari:  Record  Array  Pointer  linked list

17 Record / struct  Tipe data bentukan, tipe data baru (kreasi) yang tersusun atas beberapa elemen yang memiliki tipe data dasar ataupun tipe data bentukan yang telah di buat sebelumnya.  Pada C dikenal dengan struct

18 Record/struct  Record / struct:  tipe data terstruktur  elemen-elemen data didalamnya memiliki tipe data yang berbeda  Masing-masing record merepresentasikan suatu obyek Struct nilai_akhir { int nilai; float rataan } ; nilai_akhir x; int nilai; float rataan;

19 Array Suatu struktur data yang memiliki tipe data sejenis namun dapat menampung lebih dari satu buah nilai Penyimpanan pada memory secara terurut Pengaksesannya dengan indeks (ilustrasi di papan tulis) Sifatnya statis (dari aspek kapasitas) Pengaksesan relatif cepat

20  baca 1000 angka dan lakukan operasi yang sama terhadap masing-masing angka (?)  Array :  tipe data terstruktur  terdiri dari beberapa elemen data  setiap elemen data memiliki tipe data yang sama  Pengaksesan elemen array menggunakan nama array dan index  namaarray [index] Array Angka[1] Angka[2] Angka[3] Angka[4] Angka[5] Angka[6]

21 How to represent a Table ? X [1] Nama: Tini Nama: Tina Nama: Tino Nama: Toni Nama: Tito IPK : 2.68 IPK : 3.65 IPK : 4.00 IPK : 3.21 IPK : 2.89 Status : Lulus X [2] X [3] X [4] X [5] Array of record !!

22 Pointer  Tipe data yang berisi alamat memory sebagai nilainya  Berisi alamat memory dari variabel yang mempunyai nilai tertentu

23 Pointer Pada variabel statis, lokasi memory ditempati oleh data/nilai sesungguhnya, Pada variabel dinamis, lokasi memory ditempati oleh alamat memori yang menyimpan data sesungguhnya A 100 A a. A adalah variabel statisb. A adalah variabel dinamis Variabel dinamis dikenal dengan nama pointer (yang berarti menunjuk ke sesuatu) Lokasi yang ditunjuk biasa dibebut node

24 Linked List  Definisi Linked list atau senarai berantai struktur berupa rangkaian elemen saling berkait, setiap elemen dihubungkan ke elemen lain melalui pointer.

25 Linked List Himpunan kosong, satu ataupun lebih dari elemen (node) yang saling terhubung membentuk suatu deretan (list) Setiap elemen dialokasikan pada alamat memory yang belum tentu terurut Penelusuran dari node ke node Sifatnya dinamis dari aspek kapasitas Relatif lebih rumit dibandingkan array

26 Review  Operasi Variabel Pointer  Array dan operasinya  Array of Record  Array dan Pointer  Linked List

27 Review Pointer1  Deklarasi int *ip  ``address-of'' operator & int i = 5; ip = &i;  ``contents-of'' operator * printf("%d\n", *ip); 5  ``set whatever ip points to to 7.'' *ip = 7;

28 Review Pointer2  int j = 3; ip = &j;  int *ip2; ip2 = ip;

29 Review Pointer3  ip = &i;  ip2 = ip; *ip2 = *ip; different?  ip = 5; or *ip = 5; ? Which one is correct?  printf("%d\n", ip); or printf("%d\n", *ip); ? Which one is correct?

30 Variabel Statis  Banyaknya data terbatas sesuai dengan saat pendeklarasian int Tabel[1..100]  Hanya mampu menampung 100 data maksimal  Jika kurang, maka untuk menambahkannya dengan mengubah deklarasinya Trouble !!!! Bagaimana bila banyak datanya tidak bisa dipastikan, apakah harus terus menerus merubah deklarasinya ??????

31  Untuk mengalokasikan tempat (menciptakan) yang ditunjuk pertama kali, menggunakan perintah malloc/calloc. Implementasi Pointer sebagai variabel dinamis x=(int*)calloc(1,sizeof(int)); K=(int*)calloc(1,sizeof(int)); X K X K

32 Implementasi Pointer  Untuk menghapus alokasi tempat yang ditunjuk pointer menggunakan perintah free.  X K free (X); free (K);

33 Record dan Array  Kumpulan data dengan record dan array. struct datamhs { int no_urut ; char nama[20] ; }; struct datamhs mhs[5]; mhs[1] mhs[2] mhs[3] mhs[4] mhs[5] ganjar deny indri mira dwi Statis, data tidak dapat ditambahkan secara langsung, alokasi memori juga statis

34 Record dan Pointer  Record dan pointer struct simpul{ int no_urut ; char nama[20]; struct simpul *next; }; struct simpul awal, akhir, baru; no_urutnama awal akhir baru null Implementasi kumpulan data dinamis menggunakan struktur diatas terdapat pada linked list

35 Linked List  Komponen-komponen Linked List 1. Simpul, terdiri dari dua bagian, data dan pointer data 2.Pointer penunjuk untuk awal, akhir, pencarian dan elemen baru dari linked list 3.Nil atau null, untuk menyatakan bahwa pointer tidak menunjuk kemanapun 4. Elemen akhir linked list adalah simpul yang pointernya bernilai nil

36 Linked List  Operasi-operasi pada Linked List 1. Penambahan Simpul : awal, tengah, akhir 2. Penghapusan Simpul : awal, tengah, akhir 3. Pencarian Simpul 4. Pembacaan Simpul  Bentuk Linked List Awal Akhir


Download ppt "STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG) Annisa, S.Kom., M.Kom. (ANN) Hendra Rahmawan, S.Kom., MT (HRW) Departemen Ilmu Komputer."

Presentasi serupa


Iklan oleh Google