230 likes | 685 Views
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.
E N D
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. • Walaupun jenis data ini berbeza, ttp ia saling berkait antara satu sama lain.
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)
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.
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 structdigunakan bagi menakrifkan struktur. Ia menakrifkan jenis data baru dan mempunyai lebih drp 1 ahli.
Definisi Struktur samb… • Sintaks
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.
Definisi Struktur samb… REKOD Rekod Pelajar Rekod Pekerja Rekod Pelanggan Rekod Penumpang Rekod Inventori Setiap REKOD mempunyai MEDAN/LOKASI data yang tersendiri • Rekod Pekerja • No Pekerja • Nama Penuh • Jawatan • Gaji Pokok Dalam Bahasa C/C++ Rekod = Struktur Medan/Lokasi = ahli data (p/u)
Contoh Rekod Pelajar Pengisytiharan pembolehubah Medan : No KP Nama Penuh Kursus Semester HPNM char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM; Takrifan Struktur Tag struktur struct RekodPelajar { char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM; } pelajar_JTMK; Ahli data Pembolehubah Struktur
Pengisytiharan Struktur & Pembolehubah Struktur Secara Berasingan struct RekodPelajar { char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM; }; struct RekodPelajar pelajar_JTMK;
Pengisytiharan Struktur & Pembolehubah Struktur Secara Serentak struct RekodPelajar { char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM; } pelajar_JTMK;
Pengisytiharan Pembolehubah pelajar_JTMK Tanpa Nama Struktur struct { char NoKP[15]; char NamaPenuh[35]; char Kursus[15]; int Semester; float HPNM; } Pelajar_JTMK;
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};
Perwakilan Memori Pelajar_JTMK
Rujukan Lokasi • Lokasi bagi ahli struktur dirujuk menggunakan dot operator • Sintaks : • contoh pembolehubahStruktur.ahliStruktur Lokasi ini dirujuk sebagai : pelajar_JTMK.Kursus
Gambaran 2 p/u struktur RekodPelajar dengan umpukan nilai awal HPNM Semester Kursus NamaPenuh NoKP Pelajar_JTMK Pelajar_JKE HPNM Semester Kursus NamaPenuh NoKP
Struktur Tersarang • Keadaan di mana dalam struktur yang sama terdapat unsur atau ahli struktur yang lain. • Tujuannya adalah untuk menstrukturkan rekod mengikut klasifikasi tertentu
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;
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; };
Cara Lain Pengisytiharan Struktur Dengan Struktur Tersarang Struct 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; };
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+’};
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;