Assalamu’alaikum Warahmatullahi Wabarakatuh.

Haii sobat hidup !! Salam hidup !!

Pada kesempatan kali ini, kita akan membahas materi selanjutnya setelah materi VARIABEL POINTER. Uwaww materi apakah ituuu??

Yakk benar sekali, kita akan membahas materi tentang VARIABEL STRUKTUR. Tapi tunggu duluu.. seperti biasa, sebelum masuk ke dalam pembahasan teori, ada tujuan yang ingin kita capai dalam belajar mengenai materi ini, sobat hidup. Apasih tujuannya?

TUJUAN dari percobaan kali ini ialah mempelajari penggunaan variabel struktur dimana dipadukan dengan variabel yang pernah dibaca sebelumnya, yaitu meliputi pointer dan array serta dipadukan dengan fungsi. Bagaimana mendeklarasi, mengidentifikasi, dan mengakses dari suatu struktur.

Nah setelah mengetahui tujuan dari percobaan kali ini, baru deh kita masuk ke dalam pembahasan teori VARIABEL STRUKTUR.

Struktur adalah salah satu fitur bahasa pemrograman C/C++, merupakan keyword yang memungkinkan kita untuk membuat sebuah deklarasi untuk membuat pengelompokan variabel dengan tipe data yang berbeda.

Nahh sobat hidup, berakhir sudah pembahasan teori dari VARIABEL STRUKTUR itu, sekarang agar lebih jelas dan lebih paham, kita langsung saja melakukan percobaannya. Let’s go…

  1. Program menggunakan struktur tanggal, yang digunakan untuk menentukan tanggal berikutnya (besok), dengan memasukkan dari keyboard berupa tanggal hari ini (tanggal sekarang).

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

Ketiklah program di atas, kemudian klik Build and Run, maka akan muncul output seperti berikut :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Kemudian masukkan tanggal sekarang, lalu masukkan jumlah hari berikutnya. Maka akan muncul tanggal setelah dijumlahkan dengan hari

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

2. Program untuk menentukan selisih antara dua waktu yang berbeda, dimana kedua               waktu tersebut dimasukkan melalui keyboard.

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

Ketiklah program diatas , lalu klik Build and Run. Maka akan muncul hasil seperti gambar dibawah :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Masukkan waktu sekarang, kemudian ENTER. Lalu masukkan waktu nanti, lalu ENTER. Maka akan muncul hasil seperti gambar di bawah :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3. Program untuk menentukan selisih antara dua tanggal yang berbeda, dimana kedua tanggal tersebut dimasukkan melalui
keyboard.

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

Ketik program di atas, lalu klik Build and Run, maka akan muncul hasil seperti gambar di bawah :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Wahaiii sobat hidup, selesai sudah pembahasan kita mengenai VARIABEL STRUKTUR ini, kiranya pembahasan kali ini cukup sampai disini dulu sobat hidup. Sampai ketemu lagi di pembahasan selanjutnya… baaaaayyyy..

SALAM HIDUP!!!

Wassalamu’alaikum Wr.Wb