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

}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

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

}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

 

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

}

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest