♥  بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ  ♥

 

 

 

 

Assalamu’alaikum Wr.Wb

 

Salam sejahtera bagi kita semua, semoga kita senantiasa berada dalam kebaikan dan rahmat-Nya

♥ Salam Redaksi

Kembali lagi bersama saya, pelajar biasa yang ingin terus menggapai cita demi membanggakan orang tua tentunya… ♥            – MR.R♥

Disini saya akan membahas materi berikutnya yaitu tentang VARIABEL STRUKTUR , mungkin disini banyak yang belum memahami atau bahkan baru mendengar dengan istilah VARIABEL STRUKTUR , yuks mimin akan jelasin secara lengkap apa itu VARIABEL , apa itu STRUKTUR serta mengenai seluk-beluknya… Stay Tuned ya !!!

VARIABEL STRUKTUR !!!

“VARIABEL”  adalah sebuah wadah yang berisi satu data dengan tipe data tertentu.

“STRUKTUR” adalah pengelompokan variabel – variabel yang berada dalam satu nama yang sama. Struktur dapat terdiri dari variabel-variabel yang berbeda tipenya dalam satu nama struktur. Struktur disebut juga Record , dan biasa dipakai untuk mengelompokkan informasi menjadi satu kesatuan. Variabel-variabel yang membentuk suatu struktur disebut elemen dari struktur atau Field. Struktur dapat berisi elemen data walaupun berbeda tipe seperti char, int, float, double dll.

Jadi VARIABEL STRUKTUR adalah kumpulan variabel dengan tipe data yang berbeda-beda.

Setelah memahami apa itu struktur, mari kita coba untuk membuat dan menjalankan programnya …

1. Membuat Struktur Tanggal

Struktur tanggal berisi variabel lain seperti variabel tanggal, bulan, dan tahun yang bertipe integer.

#include<stdio.h>

struct tanggal { /*definisi global dari tipe tanggal*/
int tgl;
int bulan;
int tahun;
};

main()
{
struct tanggal now;

now.tgl = 14;
now.bulan = 05;
now.tahun = 2003;

printf(“Sekarang Tanggal “);
printf(“%d/%d/%d\n”, now.tgl, now.bulan, now.tahun);

getch();
}

Setalah program dibuat klik BUILD And RUN

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Dan program akan muncul seperti diatas..

2. Suatu struktur digunakan di dalam struktur lain (nested)

struct tanggal { /* definisi global tipe tanggal */
int tgl;
int bln;
int thn;
};

struct orang { /* definisi global tipe orang */
char nama[30];
struct tanggal lahir;
};

struct orang siswa; /* deklarasi global variabel siswa */

void main()
{
/*memberikan nilai pada filed dari struktur siswa*/
strcpy(siswa.nama,”MUHAMMAD REZA SAPUTRA”);
siswa.lahir.tgl = 18;
siswa.lahir.bln = 9;
siswa.lahir.thn = 2000;
printf(“Nama : %s\n”,siswa.nama);
printf(“Tgl Lahir : %d-%d-%d\n”,
siswa.lahir.tgl,siswa.lahir.bln,siswa.lahir.thn);
getch();
}

Klik BUILD and RUN , dan program akan tampil sebagai berikut :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3. Menampilkan informasi waktu

struct waktu {
int jam;
int menit;
int detik;
};

struct waktu time_update(now)
struct waktu now;
{
struct waktu new_time;

new_time=now;
++new_time.detik;
if(new_time.detik==60) {
new_time.detik=0;
++new_time.menit;
if (new_time.menit==60) {
new_time.menit=0;
++new_time.jam;
if (new_time.jam==24)
new_time.jam=0;
}
}
return (new_time);
}
void main()
{
static struct waktu tes[5] = {
{11,59,59}, {12,0,0}, {1,29,59},
{23,59,59}, {19,12,27}
};

int i;
for(i=0; i<5; ++i){
printf(“Waktu adalah %.2d:%.2d:%.2d”,
tes[i].jam, tes[i].menit, tes[i].detik);
tes[i]=time_update(tes[i]);
printf(“… satu detik berikutnya %.2d:%.2d:%.2d\n\n”,
tes[i].jam, tes[i].menit, tes[i].detik);
}

getch();
}

Klik BUILD and RUN, dan program akan berjalan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4. Membuat program menggunakan struktur tanggal

#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”,”JANUARI”,”FEBRUARI”,”MARET”,”APRIL”,”MEI”,”JUNI”,”JULI”,”AGUSTUS”,”SEPTEMBER”,”OKTOBER”,”NOVEMBER”,”DESEMBER”};
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 (“\n\nMasukkan tanggal : (dd mm yy)\n\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(“\nFormat salah \nulangi\n”);
goto mulai;}
printf(“%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);
printf (“\n\nMasukkan jumlah hari berikutnya : “);
scanf(“%d”,&tambah);
tanggalanbesok(skrg,tambah);
}

Kemudian klik BUILD and RUN, dan kita lihat hasilnya..

  • Facebook
  • Twitter
  • Google+
  • Pinterest

5. Menentukan selisih antara dua waktu berbeda

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(“\nMasukkan 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(“\nSelisihnya adalah %d menit\n”, skr.jamy-skr.jamx);

}

Selanjutnya klik BUILD and RUN !!

  • Facebook
  • Twitter
  • Google+
  • Pinterest

6. Program menentukan selisih antara dua tanggal berbeda

#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”,”JANUARI”,”FEBRUARI”,”MARET”,”APRIL”,”MEI”,”JUNI”,”JULI”,”AGUSTUS”,”SEPTEMBER”,”OKTOBER”,”NOVEMBER”,”DESEMBER”};
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(“\nFormat salah ulangi\n”);
goto mulai;}
printf(“%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);
ulang:
printf (“\n\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(“%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(“\nSelisihnya adalah “);
printf(“%d hari \n”,selisih);
getch();
}

Kemudian klik BUILD and RUN

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

 

 

 

 

Baca juga artikel sebelumnya :

⇒ http://redaksi.pens.ac.id/2019/10/31/string-dan-si-cantik-c/

⇒ http://redaksi.pens.ac.id/2019/10/02/menanti-keputusan-si-cantik-c/

⇒ http://redaksi.pens.ac.id/2019/10/10/perulangan-si-cantik-c/

⇒ http://redaksi.pens.ac.id/2019/11/28/pointer-sang-penyimpan-alamat/

⇒ http://redaksi.pens.ac.id/2019/10/24/hubungan-array-dan-si-cantik-c/

 

 

Nah kita telah sampai pada penghujung materi,

Cukup sekian pembahasan kali ini, Semoga bermanfaat dan mohon maaf apabila ada kesalahan karena sejatinya kebenaran hanyalah milik Allah SWT semata

Tetap semangat !!! Karena hari esok yang indah telah menanti kita untuk dapat menikmatinya ♥♥

Wassalamu’alaikum Wr.Wb

Salam Redaksi !!!