Assalamualaikum kembali lagi bersama saya Dendy Meireza dari kelas 1 D3 Elka A, kali ini kita akan membahas variabel struktur, apa itu varibel struktur?  Suatu variabel bertipe data  struktur adalah dapat terdiri dari bermacam tipe variabel yang ada. Jadi suatu struktur dapat berisi integer, float, char, dan sebagainya.

Yuks kita langsung mengaplikasikannya.

Latihan 1

Membuat program menggunakan struktur tanggal, yang digunakan untuk menentukan tanggal berikutnya, dengan memasukkan tanggal hari ini

 

struct tanggal {

int skrng, bsok;

};

 

void main(){

struct tanggal tgl;

printf(“Masukkan tanggal sekarang: “);

scanf(“%d”, &tgl.skrng);

 

if(tgl.skrng<1 || tgl.skrng > 31)

printf(“tanggal tidak ada di kalender\n”);

 

else{

tgl.bsok = tgl.skrng + 1;

if (tgl.bsok == 32)

tgl.bsok = 1;

printf(“setelah tanggal %d adalah tanggal %d\n”,tgl.skrng, tgl.bsok);

}

 

getch();

 

}

 

Hasil percobaan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Latihan 2

 

Membuat program menghitung selisih jam

 

struct waktu{

int jam1, menit1, jam2, menit2, jamx, jamy;

};

void main()

{

struct waktu skr;

printf(“masukkan jam ke-1 (jj:mm)= “);

scanf(“%d:%d”, &skr.jam1, &skr.menit1);

printf(“masukkan jam ke-2 (jj;mm)= “);

scanf(“%d:%d”, &skr.jam2, &skr.menit2);

skr.jamx = (skr.jam1*60+skr.menit1);

skr.jamy = (skr.jam2*60+skr.menit2);

printf(“selisihnya adalah %d menit”, skr.jamx-skr.jamy);

 

}

 

Hasil percobaan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Latihan 3

 

Membuat program menghitung selisih hari

 

#include<stdio.h>

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

}

 

Hasil percobaan

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest