1 / 40

Struktur Data

Struktur Data. Review Pointer, Pointers of Structures, Typedef , ADT, Fungsi dan Parameter Teknik Informatika S1. Content. Pointer Pointers of Structures Penggunaan Typedef ADT Fungsi dan Parameter. Pointer.

pavery
Download Presentation

Struktur Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. StrukturData Review Pointer, Pointers of Structures, Typedef, ADT, Fungsidan Parameter TeknikInformatika S1

  2. Content • Pointer • Pointers of Structures • PenggunaanTypedef • ADT • Fungsidan Parameter

  3. Pointer • Variabel yang dapatmenyimpanalamatdisebutdengan‘pointer’, danalamat yang disimpandalampointerbiasanyaadalahvariabel lain

  4. Pointers of Structures • Samasepertimateri pointer, penggunaan pointer pada structure digunakanuntukmengaksesalamat yang adapada structure • Pointer pdatamenyimpanalamatdarijumlah Hitungjumlah={10,20,30}; pdata = &jumlah;

  5. Pointers of Structures structpekerja{ int id; char nama[20]; }emp; main(){ structpekerja data; structpekerja *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 -> digunakanuntukmengakses member dalam structure

  6. PenggunaanTypedefPadaStruct • Dalamdeklarasi variable darisebuah structure, harusmenyertakan keyword struct. • Typedefmerupakanalternativedalamdeklarasi variable tanpaharusmenulisstruct. Perintah typedef berguna untuk membuat alias dari suatu tipe data structhitung{ intx,y; }; typedefstructhitungoperasi; operasiJumlah; operasi Kali; structhitung{ intx,y; }; structhitungJumlah; structhitung Kali;

  7. PenggunaanTypedefPadaStruct (2) • Letakkantypedefpadaawaldefinisi structure • Padaakhirdefinisi structure, letakkannama alias untukmelengkapipendefinisianmenggunakantypedef • Deklarasi variable menggunakantypedef, memungkinkandeklarasisamasepertideklarasimenggunakan type data int, char, double type data operasi typedefstructhitungoperasi typedef Definisi structure Nama alias

  8. PenggunaanTypedefPadaStruct(3)

  9. PenggunaanTypedefpada Pointers of Structures typedefstructpekerja{ 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 -> digunakanuntukmengakses member dalam structure

  10. TypedefPadaTipe Data Elementer • Perintah typedef berguna untuk membuat alias dari suatu tipe data. Tidakhanyapadatipe data bentukanStruct, namunjugatipe data elementer. • Typedefint Time; • Time hours, minutes, seconds; • Time merupakan alias daritipedasarint (integer). Hours, minutes, seconds bertipe Time

  11. TypedefPadaTipe 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 diatas, dengan menggunakan typedef, sebuah tipe data baru dengan nama String dideklarasikan

  12. TypedefPada Data Array • int x[100]

  13. Abstract Data Type (ADT) • Type dansekumpulanprimitif (operasidasar) terhadap type tersebut • Definisi type dari ADT dapatmengandungdefinisi ADT lain. Contoh : • ADT Waktu ; ADT Jam, ADT Date • ADT Garis ; 2 Point • ADT Segi4 ; 2 Point (Top/Left) , (Bottom/Right)

  14. ADT POINT

  15. Alokasi MemoriSecaraStatis int x; x 100 113

  16. Alokasi MemoriSecaraStatis int x; x=10; x 100 113

  17. Alokasi MemoriSecaraStatis int x; x=10; x 100 113

  18. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; x 100 113

  19. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; 101 a x 100 113

  20. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; a[2]=8; 101 a x 100 113

  21. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; a[2]=8; 101+(2x4) = 109 101 a x 100 113

  22. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; a[2]=8; 101+(2x4) = 109 101 a x 100 109 113

  23. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; a[2]=8; 101+(2x4) = 109 101 a x 100 109 113

  24. Alokasi MemoriSecaraStatis int x; x=10; int a[3]; a[2]=8; 101 a x 100 109 113

  25. Alokasi MemoriSecaraStatis int x; x=10; x 100 113

  26. Alokasi MemoriSecaraStatis int x; x=10; int a[5]; x 100 113

  27. Alokasi MemoriSecaraStatis int x; x=10; int a[5]; ? ? x 100 113

  28. Alokasi MemoriSecaraStatis int x; x=10; int a[5]; x 117 a 100 113

  29. Alokasi MemoriSecaraStatis int x; x=10; int a[5]; x 117 a 100 113

  30. FungsiAlokasi Memory (Malloc) Mallocadalahfungsiuntukmengalokasikanmemory Contoh dari malloc() : int *x; x = (int*) malloc (3 * sizeof(int)); if(x==NULL) { printf(“Error di malloc\n”); exit(0); } else { printf(“Lakukan operasi memori dinamis”); }

  31. FungsiDealokasi Memory (free) • Penggunaanfungsi free() digunakanuntukmendealokasikanpenggunaan data padamemori void Dealokasi(address *P) { free(*P); }

  32. MembuatFungsiSendiri • Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu. • Bentuk umum pendeklarasian fungsi adalah : tipe_fungsi nama_fungsi(parameter_fungsi); • Bentuk umum pendefinisian fungsi adalah : tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement ………... }

  33. StrukturFungsi tipe_fungsi nama_fungsi(parameter1, parameter2,..) { statement fungsi; } Contoh: int tambah(int x, int y) { return(x+y); }

  34. Prototype Fungsi • Bagaimanafungsimenerima input, bagaimanafungsimelakukan return dannilaiapa yang dikembalikan • Prototype = pendeklarasianfungsi tipe_fungsi nama_fungsi(parameter_fungsi); Contoh: intjumlah(int a, int b);

  35. ContohPenggunaanFungsi #include <stdio.h> #include <stdlib.h> int jumlah(int a, int b);//prototipefungsi int a,b,c; main() { printf("masukkan a: ");scanf("%d",&a); printf("masukkan b: ");scanf("%d",&b);//program utama c=jumlah(a,b); printf(“Hasil Penjumlahan= %d",c); } int jumlah(int x, int y) { //fungsi return(x+y); }

  36. Parameter • Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. • Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi.

  37. Parameter Formal • Variable yang adapadadaftar parameter dalamdefinisifungsi Parameter Formal intjumlah(int x, int y){ return (x+y); }

  38. Parameter Aktual • Parameter yang dipakaidalampemanggilanfungsi main(){ . . . . . . c=jumlah(a,b); . . . } Parameter Aktual

  39. TUGAS • Buatlah program untukmendatasuatuKendaraandengan data yang perludiinputmeliputiJenisKendaraanbertipeString, Jumlah BanbertipeInt, danJumlah GearbertipeInt. Buatprosedur/fungsiuntukmelakukan input data tersebutdanmencetaknya. Tentukanstrukturnya (struct) terlebihdahulu. • Compress/zip-kan project yang dibuatkirimmelaluiedmodo. • Deadline tugas: H-1 pertemuanselanjutnya

  40. TerimaKasih

More Related