Assalamualaikum Wr. Wb

Haloooooooooo teman teman pembaca setia redaksi PENS

Kembali lagi bertemu dengan saya ilham mahasiswa kampus perjuangan.Kali ini kita akan belajar tentang variabel struktur. Keyword dari variabel struktur sendiri adalah kumpulan variabel. Sedangkan untuk pengertian lebih jelasnya lagi , variabel struktur merupakan suatu variabel yang terdiri dari bermacam tipe variabel yang ada , misalnya suatu variabel struktur dapat berisi integer , float , char , dan sebagainya.

Pada materi ini kita akan mempelajari penggunaan variabel struktur dimana dipadukan dengan variabel yang pernah dicoba sebelumnya, yaitu meliputi pointer dan array serta dipadukan dengan fungsi. Bagaimana mendeklarasi,menginisialisasi, dan mengakses dri suatu struktur juga akan akan dipelajari pada materi ini.

Setelah mengenal variabel struktur secara umum ,sekarang kita akan membuat program menggunakan variabel struktur tersebut agar lebih paham.

Langsung cusss…

 

  • Program menggunakan struktur tanggal,yang digunakan untuk menentukan tanggal berikutnya, dengan masukkan dari keybord berupa tanggal hari ini

Ketiklah program berikut :

#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>bulann[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);

getch();

}

Lalu jalankan program dengan klik built dan run , lalu masukkan tanggal yang diinginkan , kemudian akan didapatkan hasil pemograman seperti berikut

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Pada program tersebut ,tanggal sekarang adalah 13 desember 2019 . Lalu untuk tanggal 19 hari kemudian adalah 1 januari 2020. Program ini menentukan tanggal berikutnya (besok) setelah tanggal sekarang diinputkan.

 

  • Program untuk menentukan selisih antara dua waktu yang berbeda

Ketiklah program berikut:

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

getch();

}

Lalu jalankan program dengan klik built dan run , lalu masukkan waktu yang diinginkan, kemudian akan didapatkan hasil pemograman seperti berikut

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Jam ke 1 adalah 19:27 sedangkan jam ke 2 adalah 18:00. Program ini menghitung selisih antara dua waktu yang berbeda . Selisih dari kedua jam tersebut adalah 87 menit.

 

  • Program untuk menentukan selisih antara dua tanggal yang berbeda

Ketiklah program berikut

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

}

Lalu jalankan program, lalu masukkan tanggal yang diinginkan , kemudian akan didapatkan hasil pemograman seperti berikut

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Program tersebut menampilkan selisih antara dua tanggal berbeda . Dimana selisih antara 1 januari 2020 dengan 13 desember 2019 adalah 19 hari.

 

Nah …kita sudah mempelajari bagaimana cara membuat program menggunakan variabel struktur dalam bahasa C, tidak sulit kan.! Semoga artikel ini bermanfaat. Dan sampai berjumpa di artikel selanjutnya.

 

See youuu

Wassalamualaikum WR.WB