SlideShare a Scribd company logo
Struktur
1
STRUKTUR, UNION & PENOMBORAN
Objektif
!"Pengnalan kpdstruktur dlm bhs
pengaturcaran C
!"Memberi penekanan kpd bhg struktur yg
akan digunakan dgn fungsi & tts.
!"union & sistem penomboran
1.0 Pengenalan
• Struktur –
• satu kumpulan pembolehubah yg
dikumpulkan & dirujuk di bawah satu
nama @ pencam.
• jenis data yang ditakrif oleh pengguna
• data terdiri dari jenis yang berlainan yang
membentuk maklumat mengenai sesuatu
data
• berbeza dengan tatasusunan yang terdiri
dari jenis data yang sama
• Pengisytiharan:
struct <nama_struktur>
{
<jenis_data> <nama_unsur_1>;
<jenis_data> <nama_unsur_2>;
:
<jenis_data> <nama_unsur_n>;
} <senarai_p’ubah_struktur>;
Asas Komputeran Kejuruteraan
2
• Cth:
Seorang pensyarah hendak menentukan gred
kepada setiap pelajarnya pada setiap
semester. Pelajar-pelajar telah menjalani
projek, ujian dan peperiksaan akhir.
Nama Data Jenis Data C
No matrik Nilai integer int
Nama pelajar Tatasusunan
aksara 31
char [31]
Markah projek Nilai titik
terapung
float
Markah ujian Nilai integer int
Markah pep. akhir Nilai integer int
Gred Aksara char
• Saiz ingatan yg diperlukan utk struktur ini
dlm bait:
2
No matrik
31
Nama pelajar
4
Markah projek
2
Markah ujian
Markah pep. akhir
2
Gred
1
Struktur
3
struct
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
} rekod_pelajar;
struct pelajar
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
} rekod_pelajar;
struct pelajar
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
};
struct pelajar rekod_pelajar;
CthpengisytiharaniCthpengisytiharaniiCthpengisytiharaniii
Asas Komputeran Kejuruteraan
4
• Satu lagi pilihan pengisytiharan struktur
menggunakan typedef, cth:
typedef struct
{
int no_metrik;
char nama[31];
int markah_projek1;
int markah_projek2;
int markah_projek3;
int markah_ujian1;
int markah_ujian2
int markah_final;
char gred;
} JENISPELAJAR;
JENISPELAJAR rekod_pelajar;
1.1 Umpukan nilai awal kpd struktur
struct pelajar
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
} rekod_pelajar = {722, “Maimunah
Muhamad”, 30.5, 10, 50, ‘B’};
Struktur
5
Atau
struct pelajar
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
};
struct pelajar rekod_pelajar =
{722, “Maimunah Muhamad”, 30.5,
10, 50, ‘B’};
1.2 Operasi ke atas unsur struktur
• Setelah diisytiharkan, unsur struktur boleh
dirujuk spt berikut:
<p’ubah_struktur>.<nama_unsur>
• Contoh cetakan nama pelajar dibuat:
printf(“%s”, rekod_pelajar.nama);
• Contoh mengumpukan nilai ke no_metrik:
rekod_pelajar.no_metrik = 5443;
Asas Komputeran Kejuruteraan
6
• Untuk merujuk elemen tertentu didlm
tatasusuan subskrip @ indek perlu
didunakan. Cth menyalin nama pelajar:
struct pelajar p1, p11;
for (i=0; i<31; i++)
p11.nama[i] = p1.nama[i];
1.3 Latihan
Tulis satu aturcara yang menggunakan struktur
utk bagi tujuan penempahan tiket kapal
terbang. Minimum data yang perlu ada adalah :
Nama penumpang, tempat berlepas,
destinasi,no. penerbangan, jumlah yg. perlu
dibayar, status bayaran [telah dibayar|belum
dibayar] dan umur penumpang.
Struktur
7
2.0 Struktur Bersarang
• ahli struktur boleh terdiri dari struct yg lain.
• Perhatikan pengisytiharan struktur berikut:
struct struktur_pelajar
{
char nama[31];
int no_metrik;
char kod_fakulti[5];
int umur;
char jantina;
int markah_projek1;
int markah_projek2;
int markah_projek3;
int markah_ujian1;
int markah_ujian2
int markah_final;
char gred;
} rekod_pelajar;
• menstrukturkan semula rekod pelajar
menggunakan pengistiharan supaya data
boleh diklasifikasi mengikut kategorinya:
o peribadi pelajar
o markah pelajar
Asas Komputeran Kejuruteraan
8
Cara 1:
struct peribadi_pelajar
{
char nama[31];
int no_metrik;
char kod_fakulti[5];
int umur;
char jantina;
}
struct markah_pelajar
{
int markah_projek1;
int markah_projek2;
int markah_projek3;
int markah_ujian1;
int markah_ujian2
int markah_final;
}
struct pelajar
{
struct peribadi_pelajar
peribadi;
struct markah_pelajar
markah;
char gred;
};
Struktur
9
Cara 2:
struct pelajar
{
struct
{
char nama[31];
int no_metrik;
char kod_fakulti[5];
int umur;
char jantina;
} peribadi;
struct
{
int markah_projek1;
int markah_projek2;
int markah_projek3;
int markah_ujian1;
int markah_ujian2
int markah_final;
} markah;
char gred;
};
• Jika 2 p’ubah diisytiharkan:
struct pelajar p1, p2;
Asas Komputeran Kejuruteraan
10
Kenyatan2
berikut ada adalah sah:
p1.peribadi.umur =
p2.peribadi.umur;
p1=p2;
p1.peribadi.kod_fakulti[4] =
p2.peribadi.nama[9];
strcpy(p1.peribadi.nama,”Amirah
Iman”);
p1.gred = ‘A’;
2.1 Umpukan nilai awal kpd struktur
• Cth:
struct pelajar p1 = {{“Maimunah
Muhamad”, 722, FS, 20, P},{10,
10, 20,0,12,60}, ‘C’};
2.2 Latihan
Dari latihan 1.3, tambahkan fungsi berikut.
Setiap penempah boleh menempah lebih dari
1 tiket utk penerbangan yg sama, ttp utk orang
yg berbeza. Dengan menggunakan struktur
bersarang tambahkan data: no. telepon
penempah, nama penempah, tarikh & masa
tempahan dibuat.
Struktur
11
3.0 P’ubah struktur jenis tatasusunan
• Penisytiharan:
struct <n_struk> <n_tts>[dms];
• cth pengisytiharan:
struct pelajar
{
int no_metrik;
char nama[31];
float markah_projek;
int markah_ujian;
int markah_final;
char gred;
};
struct pelajar rekod_pelajar[3];
• Saiz tts boleh diabaikan jika nilai awal
diber, cth:
struct pelajar rekod_pelajar[] = {
{2332, “Zainab Ismail”,
10.2, 10, 20, ‘F’},
{2335, “Ali Mamat”, 51.4,
60, 60, ‘C’},
{2337, “Malia Azri”, 100.0,
99, 99, ‘A’}
};
Asas Komputeran Kejuruteraan
12
• Tts yg terbentuk:
2332 Zainab Ismail 10.2 10 20 F
2335 Ali Mamat 51.4 60 60 C
2337 Malia Azri 100.0 99 99 A
gred
no_metrik nama markah_projek
markah_ujian
markah_final
• Cth memasukkan maklumat kedlm tts
struktur:
struct pensyarah_fsksm
{ int no_pekerja;
struct
{ char nama_awal[15];
char nama_akhir[15];
} nama;
int umur;
float gaji;
} pensy[100];
Struktur
13
for (j=0; j<100; j++)
{
printf(“nmasukkan no pek, nama
awal, nama akhir umur dan gaji
%dn”,j+1);
scanf(“%d”, pensy[j].no_pekerja);
gets(pensy[j].nama.nama_awal);
gets(pensy[j].nama.nama_akhir);
scanf(“%d”, pensy[j].umur);
scanf(“%f”,pensy[j].gaji);
}
3.1 Latihan
Dari latihan 2.2, tambahkan fungsi berikut.
Boleh menyimpan 20 data dlm tts untuk tujuan:
• kiraan bil penumpang dlm pesawat
tertentu
• jumlah tambang yg telah dibayar &
belum dibayar.
4.0 P’ubah struktur jenis Penuding
• Pengisytiharan:
struct <n_struk> *<n_penuding>;
Asas Komputeran Kejuruteraan
14
• Perhatikan cth berikut:
struct pensyarah_fsksm
{ int no_pekerja;
struct
{ char nama_awal[15];
char nama_akhir[15];
} nama;
int umur;
float gaji;
}dayang = {777,{“Dayang”,
“Jawawi”},30, 1500};
struct pensyarah_fsksm *saya, *kami;
• Cth umpukan:
saya = &dayang;
• Cth merujuk ahli struktur menggunakan
penuding:
(*saya).no_pekerja
@
saya->no_pekerja
Struktur
15
• Sambungan cth di atas:
struct pensyarah_fsksm pblk162[]=
{
{777,{“Dayang”, “Jawawi”},20,
1500},
{666,{“Normal”, “Jusoh”},30,
2500}
}
printf(“Alamat #1: %u #2: %un”,
&pblk162[0], &pblk162[1]);
kami = &pblk162[0];
printf(“Penuding #1: %u #2: %un”,
kami, kami+1);
printf(“1. Kami adalah %s:”, kami-
>nama.nama_awal);
kami++;
printf(“2. Kami adalah %s:”, kami-
>nama.nama_awal);
• Lengkapkan rajah berikut & tulis
output dari cth aturcara di
atas.
Asas Komputeran Kejuruteraan
16
777 Dayang . . . . . . . 1500pblk162[0]
kami
666 Normal. . . . . . . . 2500pblk162[0]
4.1 Latihan
Dari latihan 3.1, tukar tts kepada penuding.
Struktur
17
5.0Operasi2
strukturdgnfungsi
structrekod_pelajar
{intno_id;
intTugasan;
intKuiz;
intUjian;
chargred;
};
main()
{
structrekod_pelajaramir,naim;
intjum_mar;
:
:
data_masuk(&amir);
jum_mar=kira_jumlah(amir);
if(jum_mar>=60)
amir.gred='L';
else
amir.gred='G';
cetak(amir.gred,amir.no_id);
naim=baca_data();
penghantaran
alamatstrukturke
fungsi
penghantaran
nilaistrukturke
fungsi
penghantaran
ahlikefungsi
menerimanilai
strukturdpdfungsi
AsasKomputeranKejuruteraan
18
voiddata_masuk(structrekod_pelajar*p)
{scanf("%d",&(*p).no_id);
scanf("%d%d",&p->Tugasan,&p->Kuiz);
scanf("%d",&p->Ujian);
}
intkira_jumlah(structrekod_pelajarp)
{intjum;
jum=p.Tugasan+p.Kuiz+p.Ujian;
returnjum;
}
voidcetak(chargred,intid)
{
printf("Gredpelajar%dialah%c",
id,gred);
}
structrekod_pelajarbaca_data()
{structrekod_pelajarp;
scanf("%d",&p.no_id);
scanf("%d%d",&p.Tugasan,&p.Kuiz);
scanf("%d",&p.Ujian);
returnp;
}
menerimastruktur
melaluialamat
menerimastruktur
melaluinilai
menerimaahli
penghantarannilaike
fungsimain
Struktur
19
5.1 Latihan
Dari latihan 3.1@ 4.1, anda dikehendaki
membentukan sekurang-kurangnya 3 fungsi
berikut:
• baca_masukan
• pengiraan
• cetak_laporan
6.0 Struktur: Apa seterusnya?
• Jelas struktur amat berguna utk membentuk
data jenis baru yg terdiri dpd jenis2
data
asas.
• Bentuk data yg berbagai jenis ini mewakili
data sebenar dlm. penyelesaian masalah
dgn komputer.
• Bentuk data ini akan distukturkan mengikut
struktur-struktur tertentu spt tindanan, baris
gilir & pehohon sebelum diproses.
Asas Komputeran Kejuruteraan
20
7.0 Union
•••• berfungsi lebih kurang sama seperti struktur
• diguna untuk menyimpan jenis data yang
berlainan didalam lokasi memori yang sama
• boleh menjimatkan ruang bila
pembolehubah tidak digunakan pada satu
masa
• hanya satu ahli dari satu jenis data diguna
pada satu masa
• pengguna menentukan bila setiap ahli
sesuai digunakan
• Cth mudah:
#include <stdio.h>
union nombor {
char x;
int y;};
main( )
{
union nombor nilai;
printf("saiz union ialah
%dn", sizeof(nilai));
nilai.x = 0x41;/*ASCII 'A'*/
printf("char: %X t int:
Struktur
21
%Xn", nilai.x, nilai.y);
printf("alamat bermula pada
%dn", &nilai.x);
nilai.y = 0x1234;
printf("char: %X t int:
%Xn", nilai.x, nilai.y);
printf("alamat bermula pada
%dn", &nilai.y);
return 0;
}
• Output:
saiz union ialah 2
char: 41 int: 41
alamat bermula pada 6692
char: 34 int: 1234
alamat bermula pada 6692
• Bila nilai.x diumpukkan:
00 41
nilai
6692
alamat
• Bila nilai.y diumpukkan:
12 34
nilai
6692
alamat
Asas Komputeran Kejuruteraan
22
8.0 Pernomboran @ Enumeration
• set nilai-nilai pemalar integer yagn diwakili
oleh pencam.
• Pengisytiharan:
enum <nama_jenis_enum>
{
senarai_enum
};
• Cth pengisytiharan jenis data BulanIslam
& p’ubah:
enum BulanIslam
{
muharram, safar, rabiulawal,
rabiulakhir, jamadilawal,
jamadilakhir, rejab,
syaaban, ramadhan, syawal,
zulkaedah, zulhijjah
};
enum BulanIslam Bulan;
• Apabila jenis data pernomboran
diisytiharkan, pencam-pencamnya akan
diumpukkan nilai integer secara automatik.
• Pencam yang pertama akan diumpukkan
nilai ‘0’, pecam kedua bernilai ‘1’ dan
begitulah seterusnya.
Struktur
23
• Pengaturcara boleh membuat
pengubahsuaian berdasarkan peraturan-
peraturan berikut:
• boleh mengumpukkan nilai pemalar
(constant) kepada senarai pernomboran
• boleh mengumpukkan nilai kepada
senarai pernomboran dengan
menggunakan pencam yang sebelumnya
dalam ungkapan aritmetik
• boleh mengumpukkan nilai yang sama
kepada lebih dari satu pencam dalam
senarai pernomboran
• Cth: Rekabentuk mesin jual air automatik.
enum siling
{
satusen = 1, limasen
=5,sepuluhsen= 10, samah =
limasen*sepuluhsen,serial =
2*samah
};
enum siling duitmasuk;
Untuk kira duit yg dimasukkan oleh pembeli
cukup @ tidak, diberi harga air sekotak
RM1.20:
Asas Komputeran Kejuruteraan
24
while (jum_duit<120) {
switch(duitmasuk) {
case satusen:
jum_duit++;
break;
case limasen:
jum_duit=jum_duit+
limasen;
break;
Case sepuluhsen:
jum_duit=jum_duit+
sepuluhsen;
break;
case samah:
jum_duit=jum_duit+
samah;
break;
case serial:
jum_duit=jum_duit+
serial;
break;
}
}

More Related Content

Similar to C programming language notes (9)

Pertemuan VI Teori
Pertemuan VI TeoriPertemuan VI Teori
Pertemuan VI Teorilembayungtirta
 
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571bRicky El-ikhsan
 
Tipe Data Terstruktur Materi Struktur Data
Tipe Data Terstruktur Materi Struktur DataTipe Data Terstruktur Materi Struktur Data
Tipe Data Terstruktur Materi Struktur Data
Raja Sakti Arief Daulay
 
Tipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptTipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.ppt
NafisClassic
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
Devi Apriansyah
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman strukturRoziq Bahtiar
 
Algoritma-dan-Pemrograman-C--(struct).ppt
Algoritma-dan-Pemrograman-C--(struct).pptAlgoritma-dan-Pemrograman-C--(struct).ppt
Algoritma-dan-Pemrograman-C--(struct).ppt
AdiYoung2
 
Resume praktikum 4__structure
Resume praktikum 4__structureResume praktikum 4__structure
Resume praktikum 4__structure
Deprilana Ego Prakasa
 
MatrikulasiJava.pdf
MatrikulasiJava.pdfMatrikulasiJava.pdf
MatrikulasiJava.pdf
FathiaAlishaFauzia
 
Nested struct
Nested structNested struct
Nested structYessy Asri
 
Pertemuan 12 : Algoritma & Pemrograman
Pertemuan 12 : Algoritma & PemrogramanPertemuan 12 : Algoritma & Pemrograman
Pertemuan 12 : Algoritma & Pemrograman
Tri Retna
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard LibraryRidwan Fadjar
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
Kelinci Coklat
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
Tenia Wahyuningrum
 
Bab ii keg pembel 6 array
Bab ii keg pembel 6  arrayBab ii keg pembel 6  array
Bab ii keg pembel 6 array
087dwi
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
FahriAkbar19
 
Array
ArrayArray
Array
formatik
 

Similar to C programming language notes (9) (20)

Tistrukdat1
Tistrukdat1Tistrukdat1
Tistrukdat1
 
Pertemuan VI Teori
Pertemuan VI TeoriPertemuan VI Teori
Pertemuan VI Teori
 
Structure
StructureStructure
Structure
 
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b
9366bcd2f7b5195a70c971b4cb5c2fe5bcfc571b
 
Tipe Data Terstruktur Materi Struktur Data
Tipe Data Terstruktur Materi Struktur DataTipe Data Terstruktur Materi Struktur Data
Tipe Data Terstruktur Materi Struktur Data
 
Tipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptTipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.ppt
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman struktur
 
Algoritma-dan-Pemrograman-C--(struct).ppt
Algoritma-dan-Pemrograman-C--(struct).pptAlgoritma-dan-Pemrograman-C--(struct).ppt
Algoritma-dan-Pemrograman-C--(struct).ppt
 
Resume praktikum 4__structure
Resume praktikum 4__structureResume praktikum 4__structure
Resume praktikum 4__structure
 
MatrikulasiJava.pdf
MatrikulasiJava.pdfMatrikulasiJava.pdf
MatrikulasiJava.pdf
 
Nested struct
Nested structNested struct
Nested struct
 
Pertemuan 12 : Algoritma & Pemrograman
Pertemuan 12 : Algoritma & PemrogramanPertemuan 12 : Algoritma & Pemrograman
Pertemuan 12 : Algoritma & Pemrograman
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard Library
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
 
Bab ii keg pembel 6 array
Bab ii keg pembel 6  arrayBab ii keg pembel 6  array
Bab ii keg pembel 6 array
 
Spt 3102(1112)
Spt 3102(1112)Spt 3102(1112)
Spt 3102(1112)
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
 
Array
ArrayArray
Array
 

More from nakomuri

Basic security concepts_chapter_1_6perpage
Basic security concepts_chapter_1_6perpageBasic security concepts_chapter_1_6perpage
Basic security concepts_chapter_1_6perpagenakomuri
 
Business entrepreneur presentation
Business entrepreneur presentationBusiness entrepreneur presentation
Business entrepreneur presentation
nakomuri
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)nakomuri
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)nakomuri
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)nakomuri
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)nakomuri
 
C programming language notes (2)
C programming language notes (2)C programming language notes (2)
C programming language notes (2)nakomuri
 
C programming language notes (1)
C programming language notes (1)C programming language notes (1)
C programming language notes (1)nakomuri
 
C programming language notes (8)
C programming language notes (8)C programming language notes (8)
C programming language notes (8)nakomuri
 
Atm flowchart
Atm flowchartAtm flowchart
Atm flowchartnakomuri
 
Nikah khitbah
Nikah khitbahNikah khitbah
Nikah khitbahnakomuri
 
Twitter
TwitterTwitter
Twitternakomuri
 
Senarai organisasi
Senarai organisasiSenarai organisasi
Senarai organisasi
nakomuri
 
Silibus stij3053 - Network Design
Silibus stij3053 - Network DesignSilibus stij3053 - Network Design
Silibus stij3053 - Network Design
nakomuri
 
Chapter 4 high-speed_network_design - Network Design
Chapter 4 high-speed_network_design - Network DesignChapter 4 high-speed_network_design - Network Design
Chapter 4 high-speed_network_design - Network Design
nakomuri
 
Chapter 3 1-network_design_with_internet_tools - Network Design
Chapter 3 1-network_design_with_internet_tools - Network DesignChapter 3 1-network_design_with_internet_tools - Network Design
Chapter 3 1-network_design_with_internet_tools - Network Design
nakomuri
 
Chapter 2 -_lan_network_design - Network Design
Chapter 2 -_lan_network_design - Network DesignChapter 2 -_lan_network_design - Network Design
Chapter 2 -_lan_network_design - Network Design
nakomuri
 
Chapter 1 overview-stij3053 - Network Design
Chapter 1 overview-stij3053 - Network DesignChapter 1 overview-stij3053 - Network Design
Chapter 1 overview-stij3053 - Network Design
nakomuri
 
Chapter 3 2-remote_network_design - Network Design
Chapter 3 2-remote_network_design - Network DesignChapter 3 2-remote_network_design - Network Design
Chapter 3 2-remote_network_design - Network Design
nakomuri
 
Sukatan pelajaran kursus_bwff1013 - Basic Finance
Sukatan pelajaran kursus_bwff1013 - Basic FinanceSukatan pelajaran kursus_bwff1013 - Basic Finance
Sukatan pelajaran kursus_bwff1013 - Basic Finance
nakomuri
 

More from nakomuri (20)

Basic security concepts_chapter_1_6perpage
Basic security concepts_chapter_1_6perpageBasic security concepts_chapter_1_6perpage
Basic security concepts_chapter_1_6perpage
 
Business entrepreneur presentation
Business entrepreneur presentationBusiness entrepreneur presentation
Business entrepreneur presentation
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)
 
C programming language notes (6)
C programming language notes (6)C programming language notes (6)
C programming language notes (6)
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
 
C programming language notes (2)
C programming language notes (2)C programming language notes (2)
C programming language notes (2)
 
C programming language notes (1)
C programming language notes (1)C programming language notes (1)
C programming language notes (1)
 
C programming language notes (8)
C programming language notes (8)C programming language notes (8)
C programming language notes (8)
 
Atm flowchart
Atm flowchartAtm flowchart
Atm flowchart
 
Nikah khitbah
Nikah khitbahNikah khitbah
Nikah khitbah
 
Twitter
TwitterTwitter
Twitter
 
Senarai organisasi
Senarai organisasiSenarai organisasi
Senarai organisasi
 
Silibus stij3053 - Network Design
Silibus stij3053 - Network DesignSilibus stij3053 - Network Design
Silibus stij3053 - Network Design
 
Chapter 4 high-speed_network_design - Network Design
Chapter 4 high-speed_network_design - Network DesignChapter 4 high-speed_network_design - Network Design
Chapter 4 high-speed_network_design - Network Design
 
Chapter 3 1-network_design_with_internet_tools - Network Design
Chapter 3 1-network_design_with_internet_tools - Network DesignChapter 3 1-network_design_with_internet_tools - Network Design
Chapter 3 1-network_design_with_internet_tools - Network Design
 
Chapter 2 -_lan_network_design - Network Design
Chapter 2 -_lan_network_design - Network DesignChapter 2 -_lan_network_design - Network Design
Chapter 2 -_lan_network_design - Network Design
 
Chapter 1 overview-stij3053 - Network Design
Chapter 1 overview-stij3053 - Network DesignChapter 1 overview-stij3053 - Network Design
Chapter 1 overview-stij3053 - Network Design
 
Chapter 3 2-remote_network_design - Network Design
Chapter 3 2-remote_network_design - Network DesignChapter 3 2-remote_network_design - Network Design
Chapter 3 2-remote_network_design - Network Design
 
Sukatan pelajaran kursus_bwff1013 - Basic Finance
Sukatan pelajaran kursus_bwff1013 - Basic FinanceSukatan pelajaran kursus_bwff1013 - Basic Finance
Sukatan pelajaran kursus_bwff1013 - Basic Finance
 

Recently uploaded

AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptxAKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
adelsimanjuntak
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
setiatinambunan
 
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
arianferdana
 
Modul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar IPS Kelas 7 Fase D Kurikulum MerdekaModul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
Fathan Emran
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
jodikurniawan341
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
ssuser289c2f1
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_
setiatinambunan
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdfEVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
Rismawati408268
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
penjelasan tentang tugas dan wewenang pkd
penjelasan tentang tugas dan wewenang pkdpenjelasan tentang tugas dan wewenang pkd
penjelasan tentang tugas dan wewenang pkd
jaya35ml2
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptxKarier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
adolfnuhujanan101
 

Recently uploaded (20)

AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptxAKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
AKSI NYATA TAHAP PERKEMBANGAN PESERTA DIDIK JENJANG SD USIA 6-12 TAHUN.pptx
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
 
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
2. Kerangka Kompetensi Literasi Guru SD_Rev.pptx
 
Modul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar IPS Kelas 7 Fase D Kurikulum MerdekaModul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar IPS Kelas 7 Fase D Kurikulum Merdeka
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdfEVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
EVIDENCE BASED DALAM PELAYANAN KB DAN KONTRASEPSI.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
penjelasan tentang tugas dan wewenang pkd
penjelasan tentang tugas dan wewenang pkdpenjelasan tentang tugas dan wewenang pkd
penjelasan tentang tugas dan wewenang pkd
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptxKarier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
Karier-Dan-Studi-Lanjut-Di-Bidang-Informatika.pptx
 

C programming language notes (9)

  • 1. Struktur 1 STRUKTUR, UNION & PENOMBORAN Objektif !"Pengnalan kpdstruktur dlm bhs pengaturcaran C !"Memberi penekanan kpd bhg struktur yg akan digunakan dgn fungsi & tts. !"union & sistem penomboran 1.0 Pengenalan • Struktur – • satu kumpulan pembolehubah yg dikumpulkan & dirujuk di bawah satu nama @ pencam. • jenis data yang ditakrif oleh pengguna • data terdiri dari jenis yang berlainan yang membentuk maklumat mengenai sesuatu data • berbeza dengan tatasusunan yang terdiri dari jenis data yang sama • Pengisytiharan: struct <nama_struktur> { <jenis_data> <nama_unsur_1>; <jenis_data> <nama_unsur_2>; : <jenis_data> <nama_unsur_n>; } <senarai_p’ubah_struktur>; Asas Komputeran Kejuruteraan 2 • Cth: Seorang pensyarah hendak menentukan gred kepada setiap pelajarnya pada setiap semester. Pelajar-pelajar telah menjalani projek, ujian dan peperiksaan akhir. Nama Data Jenis Data C No matrik Nilai integer int Nama pelajar Tatasusunan aksara 31 char [31] Markah projek Nilai titik terapung float Markah ujian Nilai integer int Markah pep. akhir Nilai integer int Gred Aksara char • Saiz ingatan yg diperlukan utk struktur ini dlm bait: 2 No matrik 31 Nama pelajar 4 Markah projek 2 Markah ujian Markah pep. akhir 2 Gred 1
  • 2. Struktur 3 struct { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; } rekod_pelajar; struct pelajar { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; } rekod_pelajar; struct pelajar { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; }; struct pelajar rekod_pelajar; CthpengisytiharaniCthpengisytiharaniiCthpengisytiharaniii Asas Komputeran Kejuruteraan 4 • Satu lagi pilihan pengisytiharan struktur menggunakan typedef, cth: typedef struct { int no_metrik; char nama[31]; int markah_projek1; int markah_projek2; int markah_projek3; int markah_ujian1; int markah_ujian2 int markah_final; char gred; } JENISPELAJAR; JENISPELAJAR rekod_pelajar; 1.1 Umpukan nilai awal kpd struktur struct pelajar { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; } rekod_pelajar = {722, “Maimunah Muhamad”, 30.5, 10, 50, ‘B’};
  • 3. Struktur 5 Atau struct pelajar { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; }; struct pelajar rekod_pelajar = {722, “Maimunah Muhamad”, 30.5, 10, 50, ‘B’}; 1.2 Operasi ke atas unsur struktur • Setelah diisytiharkan, unsur struktur boleh dirujuk spt berikut: <p’ubah_struktur>.<nama_unsur> • Contoh cetakan nama pelajar dibuat: printf(“%s”, rekod_pelajar.nama); • Contoh mengumpukan nilai ke no_metrik: rekod_pelajar.no_metrik = 5443; Asas Komputeran Kejuruteraan 6 • Untuk merujuk elemen tertentu didlm tatasusuan subskrip @ indek perlu didunakan. Cth menyalin nama pelajar: struct pelajar p1, p11; for (i=0; i<31; i++) p11.nama[i] = p1.nama[i]; 1.3 Latihan Tulis satu aturcara yang menggunakan struktur utk bagi tujuan penempahan tiket kapal terbang. Minimum data yang perlu ada adalah : Nama penumpang, tempat berlepas, destinasi,no. penerbangan, jumlah yg. perlu dibayar, status bayaran [telah dibayar|belum dibayar] dan umur penumpang.
  • 4. Struktur 7 2.0 Struktur Bersarang • ahli struktur boleh terdiri dari struct yg lain. • Perhatikan pengisytiharan struktur berikut: struct struktur_pelajar { char nama[31]; int no_metrik; char kod_fakulti[5]; int umur; char jantina; int markah_projek1; int markah_projek2; int markah_projek3; int markah_ujian1; int markah_ujian2 int markah_final; char gred; } rekod_pelajar; • menstrukturkan semula rekod pelajar menggunakan pengistiharan supaya data boleh diklasifikasi mengikut kategorinya: o peribadi pelajar o markah pelajar Asas Komputeran Kejuruteraan 8 Cara 1: struct peribadi_pelajar { char nama[31]; int no_metrik; char kod_fakulti[5]; int umur; char jantina; } struct markah_pelajar { int markah_projek1; int markah_projek2; int markah_projek3; int markah_ujian1; int markah_ujian2 int markah_final; } struct pelajar { struct peribadi_pelajar peribadi; struct markah_pelajar markah; char gred; };
  • 5. Struktur 9 Cara 2: struct pelajar { struct { char nama[31]; int no_metrik; char kod_fakulti[5]; int umur; char jantina; } peribadi; struct { int markah_projek1; int markah_projek2; int markah_projek3; int markah_ujian1; int markah_ujian2 int markah_final; } markah; char gred; }; • Jika 2 p’ubah diisytiharkan: struct pelajar p1, p2; Asas Komputeran Kejuruteraan 10 Kenyatan2 berikut ada adalah sah: p1.peribadi.umur = p2.peribadi.umur; p1=p2; p1.peribadi.kod_fakulti[4] = p2.peribadi.nama[9]; strcpy(p1.peribadi.nama,”Amirah Iman”); p1.gred = ‘A’; 2.1 Umpukan nilai awal kpd struktur • Cth: struct pelajar p1 = {{“Maimunah Muhamad”, 722, FS, 20, P},{10, 10, 20,0,12,60}, ‘C’}; 2.2 Latihan Dari latihan 1.3, tambahkan fungsi berikut. Setiap penempah boleh menempah lebih dari 1 tiket utk penerbangan yg sama, ttp utk orang yg berbeza. Dengan menggunakan struktur bersarang tambahkan data: no. telepon penempah, nama penempah, tarikh & masa tempahan dibuat.
  • 6. Struktur 11 3.0 P’ubah struktur jenis tatasusunan • Penisytiharan: struct <n_struk> <n_tts>[dms]; • cth pengisytiharan: struct pelajar { int no_metrik; char nama[31]; float markah_projek; int markah_ujian; int markah_final; char gred; }; struct pelajar rekod_pelajar[3]; • Saiz tts boleh diabaikan jika nilai awal diber, cth: struct pelajar rekod_pelajar[] = { {2332, “Zainab Ismail”, 10.2, 10, 20, ‘F’}, {2335, “Ali Mamat”, 51.4, 60, 60, ‘C’}, {2337, “Malia Azri”, 100.0, 99, 99, ‘A’} }; Asas Komputeran Kejuruteraan 12 • Tts yg terbentuk: 2332 Zainab Ismail 10.2 10 20 F 2335 Ali Mamat 51.4 60 60 C 2337 Malia Azri 100.0 99 99 A gred no_metrik nama markah_projek markah_ujian markah_final • Cth memasukkan maklumat kedlm tts struktur: struct pensyarah_fsksm { int no_pekerja; struct { char nama_awal[15]; char nama_akhir[15]; } nama; int umur; float gaji; } pensy[100];
  • 7. Struktur 13 for (j=0; j<100; j++) { printf(“nmasukkan no pek, nama awal, nama akhir umur dan gaji %dn”,j+1); scanf(“%d”, pensy[j].no_pekerja); gets(pensy[j].nama.nama_awal); gets(pensy[j].nama.nama_akhir); scanf(“%d”, pensy[j].umur); scanf(“%f”,pensy[j].gaji); } 3.1 Latihan Dari latihan 2.2, tambahkan fungsi berikut. Boleh menyimpan 20 data dlm tts untuk tujuan: • kiraan bil penumpang dlm pesawat tertentu • jumlah tambang yg telah dibayar & belum dibayar. 4.0 P’ubah struktur jenis Penuding • Pengisytiharan: struct <n_struk> *<n_penuding>; Asas Komputeran Kejuruteraan 14 • Perhatikan cth berikut: struct pensyarah_fsksm { int no_pekerja; struct { char nama_awal[15]; char nama_akhir[15]; } nama; int umur; float gaji; }dayang = {777,{“Dayang”, “Jawawi”},30, 1500}; struct pensyarah_fsksm *saya, *kami; • Cth umpukan: saya = &dayang; • Cth merujuk ahli struktur menggunakan penuding: (*saya).no_pekerja @ saya->no_pekerja
  • 8. Struktur 15 • Sambungan cth di atas: struct pensyarah_fsksm pblk162[]= { {777,{“Dayang”, “Jawawi”},20, 1500}, {666,{“Normal”, “Jusoh”},30, 2500} } printf(“Alamat #1: %u #2: %un”, &pblk162[0], &pblk162[1]); kami = &pblk162[0]; printf(“Penuding #1: %u #2: %un”, kami, kami+1); printf(“1. Kami adalah %s:”, kami- >nama.nama_awal); kami++; printf(“2. Kami adalah %s:”, kami- >nama.nama_awal); • Lengkapkan rajah berikut & tulis output dari cth aturcara di atas. Asas Komputeran Kejuruteraan 16 777 Dayang . . . . . . . 1500pblk162[0] kami 666 Normal. . . . . . . . 2500pblk162[0] 4.1 Latihan Dari latihan 3.1, tukar tts kepada penuding.
  • 9. Struktur 17 5.0Operasi2 strukturdgnfungsi structrekod_pelajar {intno_id; intTugasan; intKuiz; intUjian; chargred; }; main() { structrekod_pelajaramir,naim; intjum_mar; : : data_masuk(&amir); jum_mar=kira_jumlah(amir); if(jum_mar>=60) amir.gred='L'; else amir.gred='G'; cetak(amir.gred,amir.no_id); naim=baca_data(); penghantaran alamatstrukturke fungsi penghantaran nilaistrukturke fungsi penghantaran ahlikefungsi menerimanilai strukturdpdfungsi AsasKomputeranKejuruteraan 18 voiddata_masuk(structrekod_pelajar*p) {scanf("%d",&(*p).no_id); scanf("%d%d",&p->Tugasan,&p->Kuiz); scanf("%d",&p->Ujian); } intkira_jumlah(structrekod_pelajarp) {intjum; jum=p.Tugasan+p.Kuiz+p.Ujian; returnjum; } voidcetak(chargred,intid) { printf("Gredpelajar%dialah%c", id,gred); } structrekod_pelajarbaca_data() {structrekod_pelajarp; scanf("%d",&p.no_id); scanf("%d%d",&p.Tugasan,&p.Kuiz); scanf("%d",&p.Ujian); returnp; } menerimastruktur melaluialamat menerimastruktur melaluinilai menerimaahli penghantarannilaike fungsimain
  • 10. Struktur 19 5.1 Latihan Dari latihan 3.1@ 4.1, anda dikehendaki membentukan sekurang-kurangnya 3 fungsi berikut: • baca_masukan • pengiraan • cetak_laporan 6.0 Struktur: Apa seterusnya? • Jelas struktur amat berguna utk membentuk data jenis baru yg terdiri dpd jenis2 data asas. • Bentuk data yg berbagai jenis ini mewakili data sebenar dlm. penyelesaian masalah dgn komputer. • Bentuk data ini akan distukturkan mengikut struktur-struktur tertentu spt tindanan, baris gilir & pehohon sebelum diproses. Asas Komputeran Kejuruteraan 20 7.0 Union •••• berfungsi lebih kurang sama seperti struktur • diguna untuk menyimpan jenis data yang berlainan didalam lokasi memori yang sama • boleh menjimatkan ruang bila pembolehubah tidak digunakan pada satu masa • hanya satu ahli dari satu jenis data diguna pada satu masa • pengguna menentukan bila setiap ahli sesuai digunakan • Cth mudah: #include <stdio.h> union nombor { char x; int y;}; main( ) { union nombor nilai; printf("saiz union ialah %dn", sizeof(nilai)); nilai.x = 0x41;/*ASCII 'A'*/ printf("char: %X t int:
  • 11. Struktur 21 %Xn", nilai.x, nilai.y); printf("alamat bermula pada %dn", &nilai.x); nilai.y = 0x1234; printf("char: %X t int: %Xn", nilai.x, nilai.y); printf("alamat bermula pada %dn", &nilai.y); return 0; } • Output: saiz union ialah 2 char: 41 int: 41 alamat bermula pada 6692 char: 34 int: 1234 alamat bermula pada 6692 • Bila nilai.x diumpukkan: 00 41 nilai 6692 alamat • Bila nilai.y diumpukkan: 12 34 nilai 6692 alamat Asas Komputeran Kejuruteraan 22 8.0 Pernomboran @ Enumeration • set nilai-nilai pemalar integer yagn diwakili oleh pencam. • Pengisytiharan: enum <nama_jenis_enum> { senarai_enum }; • Cth pengisytiharan jenis data BulanIslam & p’ubah: enum BulanIslam { muharram, safar, rabiulawal, rabiulakhir, jamadilawal, jamadilakhir, rejab, syaaban, ramadhan, syawal, zulkaedah, zulhijjah }; enum BulanIslam Bulan; • Apabila jenis data pernomboran diisytiharkan, pencam-pencamnya akan diumpukkan nilai integer secara automatik. • Pencam yang pertama akan diumpukkan nilai ‘0’, pecam kedua bernilai ‘1’ dan begitulah seterusnya.
  • 12. Struktur 23 • Pengaturcara boleh membuat pengubahsuaian berdasarkan peraturan- peraturan berikut: • boleh mengumpukkan nilai pemalar (constant) kepada senarai pernomboran • boleh mengumpukkan nilai kepada senarai pernomboran dengan menggunakan pencam yang sebelumnya dalam ungkapan aritmetik • boleh mengumpukkan nilai yang sama kepada lebih dari satu pencam dalam senarai pernomboran • Cth: Rekabentuk mesin jual air automatik. enum siling { satusen = 1, limasen =5,sepuluhsen= 10, samah = limasen*sepuluhsen,serial = 2*samah }; enum siling duitmasuk; Untuk kira duit yg dimasukkan oleh pembeli cukup @ tidak, diberi harga air sekotak RM1.20: Asas Komputeran Kejuruteraan 24 while (jum_duit<120) { switch(duitmasuk) { case satusen: jum_duit++; break; case limasen: jum_duit=jum_duit+ limasen; break; Case sepuluhsen: jum_duit=jum_duit+ sepuluhsen; break; case samah: jum_duit=jum_duit+ samah; break; case serial: jum_duit=jum_duit+ serial; break; } }