Assalamualaikum Wr.Wb

Hallo sobat nusantara kembali lagi bersama saya Zidni Mahasiswa kampus perjuangan kampus tradisi juara siapa lagi kalau bukan Politeknik Elektronika Negeri Surabaya.Gimana kondisi sobat sekalian semoga selalu diberi kesehatan dan kelancaran dalam menghadapi kehidupan ini amiinn.Pada kesempatan ini saya akan berbagi sedikit ilmu mengenai pelajaran dalam kuliah saya yaitu pemrograman bahasa C.Dalam kesempatan ini saya akan membahas mengenai sebuah Varibael Struktur.

Suatu variabel bertipe data struktur adalah dapat terdiri dari bermacam tipe variabel yang ada jaddi suatu struktur dapat berisi interger,float,char dan sebagainya.Tujuan kita mempelajari ini penggunaan variabel struktur dimana dipadukan dengan variabel yang pernah dicoba sebelumnya meliputi pointer,array serta dipadukan menjadi fungsi.Bagaimana mendeklarasikan,menginilisiasi dan mengakses struktur dari struktur yang dicoba disini.Itulah sedikit teori mengenai variabel struktur dan kita masuk pada sebuah percobaan.

10.1 Tanggal Bulan Tahun

  • #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 Bulan Tahun Hari Ini adalah “);
    int tambah;
  • mulai:
    printf (“\nMasukan 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 Beberapa Hari Berikutnya : \n”);
    scanf(“%d”,&tambah);
    tanggalanbesok(skrg,tambah);
    }

  • Facebook
  • Twitter
  • Google+
  • Pinterest

10.2 Jam Menit Detik

  • #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

10.3 Hari Tanggal Detik dengan Selisih Jarak

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

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Itulah beberpa sebuah praktikum mengenai sebuah variabel struktur.Mohon maaf apabila terdapat kesalahan baik sebuah penulisan maupun program disini kita sama sama berbagi sebuah ilmu sehingga ilmu kita semakin luas.Inilah percobaan terakhir mengenai sebuah pemrograman semester ini semoga apa yang saya berikan selama ini selalu bermanfaat bagi sobat sekalin.Sampai jumpa disemester 2 sobat.Sekian dari saya

Wassalamualaikum Wr.Wb