Assalamualaikum Wr. Wb.
Halo sobat redaksi, kembali lagi dengan saya ADI PRASETYO dan disini saya akan berbagai ilmu yang saya peroleh i kampus pens. Tidak jauh dari materi sebelumnya, disini saya akan membahas tentang variabel struktur. sebelemu menguju ketopik pembahasan alangkah baiknya kita harus mengerti tujuannya apa itu variabel struktur. Jadi tujuannya yaitu 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.
Setelah kita mengetahui tujuannya, mari langsung saja ketopik pembahasanya. 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.
Selanjutnya mari kita membuat program menggunakan variabel struktur.
- TUGAS 1
Rumusnya :
#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);
}
Hasilnya :
- TUGAS 2
Rumusnya :
#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);
}
Hasilnya :
- TUGAS 3
Rumusnya :
#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();
}
Hasilnya :
Recent Comments