Assalamualaikum Wr. Wb.
Halo sobat kembali lagi bersama saya Achmad Hanif, Alhamdulillah kita dapat bertemu kembali dengan materi terakhir kita di semester 1 yakni Variabel Struktur.
Lalu apakah pengertian dari variabel struktur itu sendiri?
Suatu variabel bertipe data struktur adalah dapat terdiri dari bermacam tipe variabel yang ada, jadi suatu struktur dapat bertipe interger, float, char dan sebagainya. Penggunaan variabel struktur dipadukan dengan variabel yang pernah dicoba sebelumnya., yaitu meliputi pointer dan array serta dipadukan dengan fungsi dan mendeklarasi, menginisialisasi dan mengakses dari suatu struktur.
Untuk lebih jelasnya mari kita simak contoh program dibawah ini :
- Membuat program menggunakan struktur tanggal, yang digunakan untuk menentukan tanggal berikutnya (besok), dengan memasukkan dari keyboard berupa tanggal hari ini (tanggal sekarang).
Program :
#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 klik Build and Run, Klik Enter
2. Membuat program untuk menentukan selisih antara dua waktu yang berbeda, dimana kedua waktu tersebut dimasukkan melalui keyboard.
Program :
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 klik Build and Run, Klik Enter
3. Membuat program untuk menentukan selisih antara dua tanggal yang berbeda, dimana kedua tanggal tersebut dimasukkan melalui keyboard.
Program :
#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 klik Build and Run, Klik Enter
Sekian pembahasan dari saya, semoga bermanfaat..
Wassalamualaikum Wr. Wb
Recent Comments