pengenalan kepada algoritma & struktur data

23
Pengenalan Kepada Algoritma & Struktur Data (Part II) By Suzila Yusof

Upload: deanne

Post on 12-Jan-2016

96 views

Category:

Documents


1 download

DESCRIPTION

Pengenalan Kepada Algoritma & Struktur Data. (Part II) By Suzila Yusof. Struktur Data Dalam Pengaturcaraan. Struktur ( Structure) dalam bahasa C++ diwakili oleh kata kunci struct yang menunjukkan kepada struktur data untuk membenarkan pelbagai jenis data disimpan dalam satu nama. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pengenalan Kepada Algoritma & Struktur Data

Pengenalan Kepada Algoritma & Struktur Data

(Part II)

By Suzila Yusof

Page 2: Pengenalan Kepada Algoritma & Struktur Data

Struktur Data Dalam Pengaturcaraan Struktur ( Structure) dalam bahasa C++

diwakili oleh kata kunci struct yang menunjukkan kepada struktur data untuk membenarkan pelbagai jenis data disimpan dalam satu nama.

Walaupun jenis data ini berbeza, ttp ia saling berkait antara satu sama lain.

Page 3: Pengenalan Kepada Algoritma & Struktur Data

Struktur Data Dalam Pengaturcaraansamb… Tatasusunan merupakan satu bentuk struktur

data tetapi data yang disimpan adalah dari jenis yg sama.

Contoh struktur data :- tatasusunan (array)

- senarai berpaut (linked list) - pepohon (tree) - tindanan (stack) - baris gilir (queue)

Page 4: Pengenalan Kepada Algoritma & Struktur Data

Istilah-istilah yang digunakan dalam struktur data Data : merupakan nilai/set nilai-nilai tertentu Item Data : merujuk kepada satu unit nilai Item Kumpulan : Item yang dipecahkan kpd sub-sub

item Item Elementary : Item data yang tidak dipecahkan Contoh :

Nama (Item Kumpulan) boleh dipecahkan kepada NamaPertama dan NamaAkhir tetapi noKP (Item Elementary) wujud sebagai satu item tunggal yg tidak boleh dipecahkan.

Page 5: Pengenalan Kepada Algoritma & Struktur Data

Definisi Struktur

Struktur adalah koleksi data yang berkaitan menggunakan satu nama yang sama.

Elemen struktur dikenali sebagai ahli, dan boleh terdiri drp jenis yang sama

Setiap struktur yang ditakrifkan boleh mempunyai nama struktur yang sama yang dikenali sebagai tag struktur

Penyataan struct digunakan bagi menakrifkan struktur. Ia menakrifkan jenis data baru dan mempunyai lebih drp 1 ahli.

Page 6: Pengenalan Kepada Algoritma & Struktur Data

Definisi Struktur samb…

Sintaks

struct [tag_struktur]

{

takrifan_ahli

}pembolehubahStruktur;

Page 7: Pengenalan Kepada Algoritma & Struktur Data

Definisi Struktur samb…

Setiap takrifan ahli adalah takrifan pembolehubah normal seperti int i atau float sales [20]

Atau sebarang penakrifan pembolehubah yang sah termasuklah pointer sekiranyaa struktur tersebut memerlukan pointer

Pada akhir penakrifan struktur sebelum (;) terakhir, anda boleh menyatakan satu atau lebih pembolehubah struktur.

Ini akan meminta pemproses menyediakan ruang untuk pembolehubah tersebut dan jenis pembolehubah di dalam struktur.

Page 8: Pengenalan Kepada Algoritma & Struktur Data

Definisi Struktur samb…

Rekod PelajarRekod PekerjaRekod PelangganRekod PenumpangRekod Inventori

Dalam Bahasa C/C++Rekod = StrukturMedan/Lokasi = ahli data (p/u)

Rekod Pekerja-No Pekerja-Nama Penuh-Jawatan-Gaji Pokok

Setiap REKOD mempunyai MEDAN/LOKASI data yang tersendiri

REKOD

Page 9: Pengenalan Kepada Algoritma & Struktur Data

Contoh

Rekod Pelajar Pengisytiharan pembolehubahMedan : No KP Nama Penuh Kursus Semester HPNM

char NoKP[15];char NamaPenuh[35];char Kursus[15];int Semester;float HPNM;

struct RekodPelajar{ char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM;} pelajar_JTMK;

Takrifan StrukturTag struktur

Ahli data

Pembolehubah Struktur

Page 10: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Struktur & Pembolehubah Struktur Secara Berasinganstruct RekodPelajar

{ char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM;};struct RekodPelajar pelajar_JTMK;

Page 11: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Struktur & Pembolehubah Struktur Secara Serentak

struct RekodPelajar{ char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM;} pelajar_JTMK;

Page 12: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Pembolehubah pelajar_JTMK Tanpa Nama Struktur

struct { char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM;} Pelajar_JTMK;

Page 13: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Struktur & Pembolehubah Struktur Dengan Umpukan Nilai Awal

struct RekodPelajar{ char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM;} pelajar_JTMK = {001122115533, “Ahmad Ali Abu”, “DIP”,5, 3.99};

Page 14: Pengenalan Kepada Algoritma & Struktur Data

Perwakilan Memori

Pelajar_JTMK

NoKPNamaPenuhKursusSemesterHPNM

001122115533Ahmad Ali AbuDIP53.99

Page 15: Pengenalan Kepada Algoritma & Struktur Data

Rujukan Lokasi

Lokasi bagi ahli struktur dirujuk menggunakan dot operator

Sintaks :

contoh

pembolehubahStruktur.ahliStruktur

NoKPNamaPenuhKursusSemesterHPNM

Lokasi ini dirujuk sebagai : pelajar_JTMK.Kursus

Page 16: Pengenalan Kepada Algoritma & Struktur Data

Gambaran 2 p/u struktur RekodPelajar dengan umpukan nilai awal

001101111001Dollah Dolly DIP53.33

990110115566Minah Molly DTP63.77

NoKP

Kursus

HPNM

NamaPenuh

Semester

NoKP

Kursus

HPNM

NamaPenuh

Semester

Pelajar_JTMK

Pelajar_JKE

Page 17: Pengenalan Kepada Algoritma & Struktur Data

Contoh-contoh Operasi Ke Atas Unsur Struktur

OperasiPenyataan

Mencetak nama penuh pelajar JTMKCout << pelajar_JTMK.NamaPenuh;

Menukarkan no kad pengenalan pelajar JTMK

pelajar_JTMK.NoKP = 001111111011;

Menukarkan ejaan nama pelajar JKEpelajar_JKE.NamaPenuh[11]=‘i’;

Menukar rekod pelajar JTMK untuk menyamai rekod pelajar JKE

pelajar_JTMK = pelajar_JKE;

Page 18: Pengenalan Kepada Algoritma & Struktur Data

Struktur Tersarang

Keadaan di mana dalam struktur yang sama terdapat unsur atau ahli struktur yang lain.

Tujuannya adalah untuk menstrukturkan rekod mengikut klasifikasi tertentu

Page 19: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Struktur Dengan Banyak Unsur

Struct pelajar{ char nama; int no_pend; char KodJab; int umur; char jantina; int marka_ kuiz1; int markah_kuiz2; int markah_kuiz3; int markah_tugasan1; int markah_tugasan2; int markah_amali1; int markah amali2; char gred;} rekodPelajar;

Page 20: Pengenalan Kepada Algoritma & Struktur Data

Pengisytiharan Struktur Dengan Struktur Tersarang

Struct peribadi_pelajar{ char nama; int no_pend; char KodJab; int umur; char jantina;};struct markah_pelajar{ int markah_ kuiz1; int markah_kuiz2; int markah_kuiz3; int markah_tugasan1; int markah_tugasan2; int markah_amali1; int markah amali2;};struct pelajar{struct peribadi_pelajar peribadi;Struct markah_pelajar markah;char gred;};

Page 21: Pengenalan Kepada Algoritma & Struktur Data

Cara Lain Pengisytiharan Struktur Dengan Struktur TersarangStruct pelajar

{ struct { char nama; int no_pend; char KodJab; int umur; char jantina; } peribadi; struct { int markah_ kuiz1; int markah_kuiz2; int markah_kuiz3; int markah_tugasan1; int markah_tugasan2; int markah_amali1; int markah amali2; } markah; char gred;};

Page 22: Pengenalan Kepada Algoritma & Struktur Data

Struktur Tersarang samb…

Pengisytiharan p/u dan umpukan nilai awal bagi struktur tersarang adalah sama seperti pengisytiharan p/u struktur biasa. Contoh:

untuk memperkemaskan umpukan bg struktur tersarang,

penggunaan tan ‘{‘ dan ‘}’ untuk kumpulan struktur yang sama amat digalakkan. Contoh :

struct pelajar pAli = {“Ali Abu”, 722, “JTMK”, 20, ‘L’, 5, 4, 4, 8, 8, 7, 6, ‘B+’};

struct pelajar pAli = {{“Ali Abu”, 722, “JTMK”, 20, ‘L’ }, {5, 4, 4, 8, 8, 7, 6}, ‘B+’};

Page 23: Pengenalan Kepada Algoritma & Struktur Data

Contoh Rujukan Unsur Bagi Struktur Tersarang

cout <<“NAMA:” <<pAli.peribadi.nama<<“\n;

cout <<“MARKAH KUIZ 3:” <<pAli.markah.markah_kuiz3<<“\n;

cout <<“GRED:” <<pAli.gred<<“\n;