p12 record struck

15
RECORD/STRUCT dan ARRAY OF RECORD Algoritma dan Pemrograman I

Upload: emil-fadillah

Post on 22-Nov-2014

306 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: P12 Record Struck

RECORD/STRUCT dan ARRAY OF RECORD

Algoritma dan Pemrograman I

Page 2: P12 Record Struck

Record/Struct mempunyai sejumlah elemen yang disebut field.

Kalau semua elemen array harus mempunyai tipe data yang sama, maka tiap-tiap elemen pada Record/Struct dapat memiliki tipe data yang berbeda.

Algoritma dan Pemrograman II

Page 3: P12 Record Struck

(algoritma) : namaVar : record

< namaField1 : tipeField1 , namaField2 : tipeField2 , … … namaFieldm : tipeFieldm ,

>(bahasa C) : struct namaTipeStruct

{ tipeField1 namaField1; tipeField2 namaField2;

… … tipeFieldm namaFieldm;

} namaVar;

namaVar bisa lebih dari satu

Page 4: P12 Record Struck

Namavar dapat dipisah dari deklarasi tiperecordnya, sehingga menjadi :

typedef struct {

tipeField1 namaField1;tipeField2 namaField2;… …tipeFieldm namaFieldm;

} namaTipeStruct;

namaTipeStruct namaVar;

Untuk mengakses elemen record/structur dilakukan dengan cara :

namaVar.namaField

Algoritma dan Pemrograman II

Page 5: P12 Record Struck

Contoh Algoritma

data_rekan:record

{

tanggal, bulan, tahun: int

nama:string

}

data_rekan info_rekan

Page 6: P12 Record Struck

#include<stdio.h>

#include<string.h>

typedef struct

{

int tanggal, bulan, tahun;

char nama[30];

} data_rekan;

data_rekan info_rekan;

Algoritma dan Pemrograman II

Page 7: P12 Record Struck

main(){ strcpy(info_rekan.nama,"Hanif"); info_rekan.tanggal = 30; info_rekan.bulan = 4; info_rekan.tahun = 2002; printf("Nama :%s “,info_rekan.nama); printf("\nTanggal lahir :“); printf(“%d”,

info_rekan.tanggal); printf("-%d“,info_rekan.bulan); printf("-%d"info_rekan.tahun); }

Algoritma dan Pemrograman II

Page 8: P12 Record Struck

*Menentukan nilai mahasiswa dengan cara record*/

#include <stdio.h>#include <string.h>typedef struct { int NIM; char Nama[20]; char KodeMK[10]; char NilaiHuruf; } Mahasiswa;Mahasiswa Mhs1,Mhs2;main(){ strcpy(Mhs1.Nama,"Hanif"); strcpy(Mhs1.KodeMK,"TIF2010"); Mhs1.NilaiHuruf= 'A'; strcpy(Mhs2.Nama,"Devvi"); strcpy(Mhs2.KodeMK,"TIF2010"); Mhs2.NilaiHuruf = 'B';

Page 9: P12 Record Struck

printf("-------------------------------------\n");

printf(" Mahasiswa 1 | Mahasiswa 2 |"); printf("\n-------------------------------------");

printf("\n %s %s ",Mhs1.Nama,Mhs2.Nama);

printf("\n %s %s ",Mhs1.KodeMK,Mhs2.KodeMK);

printf("\n %c %c ",Mhs1.NilaiHuruf,Mhs2.NilaiHuruf);

printf("\n-------------------------------------");

}

Page 10: P12 Record Struck

(algoritma) : Type namaTipeRecord : record < namaField1 : tipeField1 , namaField2 : tipeField2 , … … namaFieldm : tipeFieldm , > namaVar : array[rangeindex] of

namaTipeRecord

(bahasa C) : typedef struct

{ tipeField1 namaField1; tipeField2 namaField2; … … tipeFieldm namaFieldm;

} namaTipeStruct; namaTipeStruct namaVar[ukuran];

Untuk mengakses elemen record/structur dilakukan dengan cara :

Algo: namaVarindex.namaField

C : namaVar[index].namaField

Page 11: P12 Record Struck

(algoritma) : Deklarasi

Const Nmaks = 100;Type Mahasiswa : Record < NIM : integer,

Nama : string, IPK : real >

Mhs : MahasiswaArrayMhs : Array[1..Nmaks] of Mahasiswa

(bahasa C) : #define Nmaks 100

typedef struct { int NIM;

char Nama[25]; float IPK;

} Mahasiswa; Mahasiswa Mhs[Nmaks];

Algoritma dan Pemrograman

Page 12: P12 Record Struck

#include <stdio.h>

#include <string.h>

typedef struct

{

int nip;

char nama[30];

} rek_pegawai;

rek_pegawai peg[5];

Page 13: P12 Record Struck

main(){ int i; for(i=0;i<=4;i++){ printf("%d nama: ",i+1);scanf(" %s",&peg[i].nama);printf(" nip: ",i+1);scanf(" %d",&peg[i].nip);printf("\n");}

Page 14: P12 Record Struck

printf("-------------------------------");printf("\n No Nama NIP\n");

printf("-------------------------------\n");

for (i=0;i<=4;i++){printf(" %d %s %d\n",i+1,peg[i].nama,peg[i].nip);

}printf("--------------------------------");

}

Page 15: P12 Record Struck

Latihan

Buat program untuk menginput dan menampilkan 2 data mahasiswa.

NoMhs : 2345Nama : Hanif

Kode MKA Kelas NilaiUTS 1 A 95

Banyaknya mahasiswa = 2

Mhs[0].NoMhs = 2345Mhs[0].Nama = HanifMhs[0].BanyakMKA = 1 Mhs[0].MKA[0].KodeMKA = 1 Mhs[0].MKA[0].Kelas = A Mhs[0].MKA[0].NilaiUTS= 95

Mhs[1].NoMhs = 1230Mhs[1].Nama = FathimahMhs[1].BanyakMKA = 1 Mhs[1].MKA[0].KodeMKA = 3 Mhs[1].MKA[0].Kelas = A Mhs[1].MKA[0].NilaiUTS= 90

Input Data Output Data

No.Mhs : 1230Nama : Fathimah

Kode MKA Kelas NilaiUTS 3 A 90

Algoritma dan Pemrograman II