Struct - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Struct

Description:

Tipe data dasar : int, float, double, char, void ... Kata Kunci typedef bukan tipe data tetapi untuk mendefinisikan suatu nama tipe ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 29
Provided by: EEPI7
Category:
Tags: firman | struct

less

Transcript and Presenter's Notes

Title: Struct


1
Struct
2
Struct
  • Pendeklarasian struct
  • Struct dalam struct
  • Array struct
  • Pointer untuk struct
  • Pengiriman struct ke fungsi by value dan by
    reference

3
Pendahuluan
  • Tipe data dasar int, float, double, char, void
  • Tipe data lain enumeration , structure, bit
    field, union
  • Kata Kunci typedef bukan tipe data tetapi untuk
    mendefinisikan suatu nama tipe data menjadi nama
    lain

4
Struct
  • pengelompokan variabel-variabel (dapat
    berbeda/sama tipe datanya) yang bernaung dalam
    satu nama yang sama
  • elemen2 dalam array memiliki tipe data yang sama

5
Pendeklarasian struct dan pendeklarasian variabel
struct Persediaan char Kode5 char
Nama30 int Unit float Harga
struct Persediaan char Kode5 char
Nama30 int Unit float Harga psd_pusat,
psd_cab C123,Sabun,5,1250.5
6
Pendeklarasian var dg tipe data struct
Struct Persediaan psd_pusat, psd_cab Struct
Persediaan psd_pusat, psd_cab C123,Sabun,5,1
250.5 struct char Kode5 char
Nama30 int Unit float Harga psd_pusat,
psd_cab C123,Sabun,5,1250.5
7
Struct dalam struct
main() struct Tanggal int hari, bulan,
tahun struct Alamat char
jalan30 char kota20
8
Struct dalam struct
struct char Nama40 struct Tanggal
Masuk struct Alamat Tinggal float Gaji
Karyawan "Arief Kurniawan",17,11,87,"Jalan
Raya 5","Yogyakarta",500000
9
Struct dalam struct
printf("Menampilkan Data Karyawan\n") printf("Nam
a Karyawan s\n", Karyawan.Nama) printf("Tangga
l Masuk 2d-2d-2d\n", Karyawan.Masuk.hari,
Karyawan.Masuk.bulan, Karyawan.Masuk.tahun) print
f("Alamat s-s\n", Karyawan.Tinggal.jalan
, Karyawan.Tinggal.kota) printf("Gaji/bulan
Rp 10f\n", Karyawan.Gaji)
10
Array struct
  • Elemen2 dari array dapat berupa struct
  • struct Persediaan
  • char Kode5
  • char Nama30
  • int Unit
  • float Harga
  • struct Persediaan Psd100
  • "M123","Monitor",5,1000000,
  • "D124","Disket",5,50000,
  • "P123","Printer",5,600000

11
Pointer untuk struct
struct Persediaan char Kode5 char
Nama30 int Unit float Harga
psd_pusat, p p psd_pusat
Cara mengakses Persediaan.Kode P-gtKode (p).Kode

12
Pointer untuk struct
P pointer yang menunjuk ke alamat variabel
Persediaan (p) menunjukkan nilai data dilokasi
yang ditunjuk oleh pointer p yaitu nilai variabel
struktur Persediaan (p).Kode menunjuk nilai
elemen Kode untuk variabel struktur Persediaan
13
Pointer untuk struct
typedef struct char jalan30 char
kota25 alamat struct char Nama25
alamat tinggal int jamkerja6 karyawan,
pk
Untuk mengakses jam kerja hari ke-4 karyawan.jamke
rja3 pk-gtjamkerja3 (pk).jamkerja3 (karyawa
n.jamkerja3) (pk-gtjamkerja3) ((pk).jamkerja3)

14
Pengiriman struct ke fungsi by value
main() struct date / definisi lokal dari
tipe date / int month int day int
year today printf("Enter the current date
(mm-dd-yyyy) ") scanf("d-d-d",
today.month, today.day, today.year) cetak_tan
ggal(today.month, today.day, today.year)
15
Pengiriman struct ke fungsi by value
void cetak_tanggal(int mm, int dd, int
yy) static char nama_bulan "Wrong
month", "January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October", "November",
"December"   printf("Todays date is s d,
d\n\n", nama_bulanmm,dd,yy)
16
Struct sbg parameter fungsi scr acuan
main() struct koordinat int x int y
posisi   printf("Masukkan koordinat posisi(x,y)
") scanf("d, d", posisi.x, posisi.y)    
17
printf("x, y semula d, d\n", posisi.x,
posisi.y) tukar_xy(posisi.x, posisi.y) printf(
"x, y sekarang d, d\n", posisi.x,
posisi.y) void tukar_xy(int a, int b) int
z   z a a b b z
18
Hasil
Enter the current date (mm-dd-yyyy)
5-29-2001 Todays date is May 29, 2001
Masukkan koordinat posisi (x, y) 34, 21 x, y
semula 34, 21 x, y sekarang 21, 34
19
Contoh program
main() struct Persediaan char
Kode5 char Nama30 int Unit float
Harga struct Persediaan p ,psd
"M123","Monitor",5,125000.00 p
psd Tampil(psd.Kode,p-gtNama,p-gtUnit,(psd.Harg
a))
20
Contoh program
void Tampil(char kode,char nama, int unit,
float harga) printf("Kode Persediaan
s\n",kode) printf("Nama Persediaan
s\n",nama) printf("Unit Persediaan
d\n",unit) printf("Harga Perunit
9.2f\n",harga)
21
Fungsi parameternya berupa pointer yg menunjuk ke
struktur
main() struct koordinat posisi   printf("Masukk
an koordinat posisi (x,y)") scanf("d, d",
posisi.x, posisi.y) printf("x, y semula
d, d\n", posisi.x, posisi.y)   tukar_xy(posi
si)   printf("x, y sekarang d, d\n",
posisi.x, posisi.y)
22
Fungsi parameternya berupa pointer yg menunjuk ke
struktur
void tukar_xy(struct koordinat pos_xy) int
z   z pos_xy-gtx pos_xy-gtx pos_xy-gty
pos_xy-gty z
23
Fungsi parameternya berupa pointer yg menunjuk ke
struktur
void tukar_xy(struct koordinat pos_xy) int
z   z (pos_xy).x (pos_xy).x
(pos_xy).y (pos_xy).y z (pos_xy).x
pos_xy-gtx
24
Pengiriman struct secara acuan
void Ubah(struct Persediaan p) p-gtUnit
p-gtUnit -1 return
void main() struct Persediaan psd
"M123","Monitor",5,125000.00 Ubah(psd)
25
Pengiriman struct secara nilai
struct Persediaan Ubah2(struct Persediaan
p) p.Unit p.Unit -1 return(p)
void main() struct Persediaan p,psd
"M123","Monitor",5,125000.00 psd
Ubah2(psd)
26
Variabel struktur sebagai var global
struct Persediaan psd "M123","Monitor",5,125000.
00 void main() Ubah() void Ubah(void)
psd.Unit psd.Unit 1 return
27
Struct yang berisi pointer
main() struct int_pointers int ptr1,
ptr2 struct int_pointers ptrs int i1
154, i2 ptrs.ptr1 i1 ptrs.ptr2
i2 ptrs.ptr2 -97 printf("i1 d,
ptrs.ptr1 d\n", i1, ptrs.ptr1) printf("i2
d, ptrs.ptr2 d\n", i2, ptrs.ptr2)
28
Struct yang berisi pointer
Write a Comment
User Comments (0)
About PowerShow.com