assalamualaikum teman teman…
pada kesempatan ini kita akan belajar program bab STRUSTUR.
Variable Structur adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang berada dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, structur bisa memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau structur itu sendiri. Variabel-variabel yang menjadi anggota structur disebut dengan elemen structur.
Dari perbedaan array dan struktur diatas, kita dapat mengambil contoh:
Array namaSiswa[]={“budi”, “toni”, “andi”, “ani”, “sinta”};
Struct Siswa {
int noabsen;
char nama[100];
int nilai;
}
Array hanya menyimpan data dengan tipe data yang sama. Sedangkan structur bisa juga dikatakan sebagai tipe data baru yang dapat menampung berbagai tipe data lain yang berbeda.
- Penggunaan/pemakaian tipe data structur dilakukan dengan membuat suatu variabel yang bertipe data structur
- Pengaksesan elemen structur dilakukan secara individual dengan menyebutkan nama variabel structur diikuti dengan operator titik (.)
Berikut beberapa contoh program dari structure :
Tugas 1
#include<stdio.h>
struct tgl {
int d;
int m;
int y;};
int bulann [13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
struct tgl skrg;
static char *bulan[]={
“salah”,”jnr”,”feb”,”mrt”,”apr”,”mei”,”jun”,”jul”,”ags”,”sep”,”okt”,”nov”,”des”};
void tanggalanbesok(struct tgl bsk,int tambah)
{ bsk.d=bsk.d+tambah;
while (bsk.d>bulan[bsk.m]){
if (bsk.y%4==0)
bulann[2]=29;
else bulann[2]=28;
bsk.d=bsk.d-bulann[bsk.m];
bsk.m=bsk.m+1;
if (bsk.m>12)
{bsk.m=bsk.m-12;bsk.y=bsk.y+1;}}
printf (“\n%d-%d-%d”,bsk.d,bsk.m,bsk.y);
printf(“\n%d %s %d”,bsk.d,bulan[bsk.m],bsk.y);
}
int main()
{
printf(“Tanggal sekarang adalah “);
int tambah;
mulai:
printf (“masukan tanggal : (dd mm yy)\n”);
scanf(“%d %d %d”,&skrg.d,&skrg.m,&skrg.y);
if(skrg.y%4==0)
bulann[2]=29;
else bulann[2]=28;
if(skrg.d>bulann[skrg.m]||skrg.m>12||skrg.m<1){
printf(“\nForamat salah ulang\n”);
goto mulai;}
printf(“%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);
printf (“\nmasukan berapa jumlah hari berikutnya : “);
scanf(“%d”,&tambah);
tanggalanbesok(skrg,tambah);
}
Tugas 2
#include<stdio.h>
struct waktu {
int d;
int m;
int j;};
struct waktu selisih(skrg,nanti)
struct waktu skrg;
struct waktu nanti;
{
struct waktu selisihnya;
if(skrg.d>nanti.d){
nanti.d=nanti.d+60;
nanti.m=nanti.m-1;}
selisihnya.d=nanti.d-skrg.d;
if(skrg.m>nanti.m){
nanti.m=nanti.m+60;
nanti.j=nanti.j-1;}
selisihnya.m=nanti.m-skrg.m;
selisihnya.j=nanti.j-skrg.j;
return(selisihnya);
}
void main()
{
struct waktu now;
struct waktu later;
struct waktu beda;
printf(“Masukan waktu sekarang j:m:d\n”);
scanf(“%d%d%d”,&now.j,&now.m,&now.d);
printf(“Masukan waktu nanti j:m:d\n”);
scanf(“%d%d%d”,&later.j,&later.m,&later.d);
beda=selisih(now,later);
printf(“Selisih waktunya\n”);
printf(“%d jam:%d menit :%d detik”,beda.j,beda.m,beda.d);
}
Tugas 3
#include<stdio.h>
//belum fix
int main()
{
struct tgl {
int d;
int m;
int y;};
int bulann [13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
static char *bulan[]={
“salah”,”jnr”,”feb”,”mrt”,”apr”,”mei”,”jun”,”jul”,”ags”,”sep”,”okt”,”nov”,”des”};
struct tgl skrg;
struct tgl nanti;
int selisih=0;
mulai:
printf (“masukan tanggal sekarang: (dd mm yy)\n”);
scanf(“%d %d %d”,&skrg.d,&skrg.m,&skrg.y);
if(skrg.y%4==0)
bulann[2]=29;
else bulann[2]=28;
if(skrg.d>bulann[skrg.m]||skrg.m>12||skrg.m<1){
printf(“\nForamat salah ulang\n”);
goto mulai;}
printf(“\n%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);
ulang:
printf (“\nmasukan tanggal nanti : (dd mm yy)\n”);
scanf(“%d %d %d”,&nanti.d,&nanti.m,&nanti.y);
if(nanti.y%4==0)
bulann[2]=29;
else bulann[2]=28;
if(nanti.d>bulann[nanti.m]||nanti.m>12||nanti.m<1){
printf(“\nForamat salah ulang\n”);
goto ulang;}
printf(“\n%d %s %d\n”,nanti.d,bulan[nanti.m],nanti.y);
while(skrg.d!=nanti.d||skrg.m!=nanti.m||skrg.y!=nanti.y)
{
if(skrg.y%4==0)
bulann[2]=29;
else bulann[2]=28;
skrg.d=skrg.d+1;
selisih++;
if(skrg.d>bulann[skrg.m]){
skrg.m=skrg.m+1;
skrg.d=1;}
if(skrg.m==13){
skrg.m=skrg.m-12;
skrg.y=skrg.y+1;}
}
printf(“Selisihnya adalah “);
printf(“%d hari “,selisih);
getch();
}
Recent Comments