Anda di halaman 1dari 15

RECORD/STRUCT

dan ARRAY OF RECORD

Algoritma dan Pemrograman I


Algoritma dan Pemrograman I

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) :
namaVar : record
< namaField1 : tipeField1 ,
namaField2 : tipeField2 ,
……
namaFieldm : tipeFieldm ,
>
(bahasa C) :
struct namaTipeStruct
{
tipeField1 namaField1;
tipeField2 namaField2;
……
namaVar
tipeFieldm namaFieldm; bisa lebih
} namaVar; dari satu
Algoritma dan Pemrograman I
 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
Contoh Algoritma

data_rekan:record
{
tanggal, bulan, tahun: int
nama:string
}
data_rekan info_rekan
Algoritma dan Pemrograman I

#include<stdio.h>
#include<string.h>
typedef struct
{
int tanggal, bulan, tahun;
char nama[30];
} data_rekan;
data_rekan info_rekan;
Algoritma dan Pemrograman I

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);

}

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';
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----------------------------------
---");
}
(algoritma) :
Type namaTipeRecord : record
< namaField1 : tipeField1 ,
namaField2 : tipeField2 ,
……
namaFieldm : tipeFieldm ,
>
namaVar : array[rangeindex] of namaTipeRecord

(bahasa C) :
Untuk mengakses elemen
typedef struct
record/structur dilakukan
{
tipeField1 namaField1; dengan cara :
tipeField2 namaField2;
…… Algo: namaVarindex.namaField
tipeFieldm namaFieldm;
} namaTipeStruct;
namaTipeStruct namaVar[ukuran]; C : namaVar[index].namaField
Algoritma dan Pemrograman
(algoritma) :
Deklarasi
Const Nmaks = 100;
Type Mahasiswa : Record < NIM : integer,
Nama : string,
IPK : real >
Mhs : Mahasiswa
ArrayMhs : Array[1..Nmaks] of Mahasiswa

(bahasa C) :
#define Nmaks 100
typedef struct
{ int NIM;
char Nama[25];
float IPK;
} Mahasiswa;

Mahasiswa Mhs[Nmaks];
#include <stdio.h>
#include <string.h>
typedef struct
{
int nip;
char nama[30];
} rek_pegawai;
rek_pegawai peg[5];
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");
}
 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("--------------------------------")
;
}
Algoritma dan Pemrograman I
Latihan
Buat program untuk menginput dan menampilkan 2 data mahasiswa.

Input Data Output Data


Banyaknya mahasiswa = 2 NoMhs : 2345
Nama : Hanif
Mhs[0].NoMhs = 2345
Mhs[0].Nama = Hanif Kode MKA Kelas NilaiUTS
Mhs[0].BanyakMKA = 1 1 A 95
Mhs[0].MKA[0].KodeMKA = 1
Mhs[0].MKA[0].Kelas = A
Mhs[0].MKA[0].NilaiUTS= 95
No.Mhs : 1230
Mhs[1].NoMhs = 1230 Nama : Fathimah
Mhs[1].Nama = Fathimah
Mhs[1].BanyakMKA = 1 Kode MKA Kelas NilaiUTS
Mhs[1].MKA[0].KodeMKA = 3 3 A 90
Mhs[1].MKA[0].Kelas = A
Mhs[1].MKA[0].NilaiUTS= 90

Anda mungkin juga menyukai