Bismillahirrahmanirrahim…

Assalamualaikum Wr.Wb

Haiii gaess welcome back to my post hehehhe 😀

Seperti sebelum-sebelumnya saya akan membahas bahasa c, kali ini tentang “sruktur”.

Struktur adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang berada dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, struktur bisa memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau strukur itu sendiri. Variabel-variabel yang menjadi anggota struktur disebut dengan elemen struktur.

Dari perbedaan array dan struktur diatas, kita dapat mengambil contoh :

Array namaSiswa[]={“budi”, “toni”, “andi”, “ani”, “sinta”};

Struct Siswa {

int noabsen;

char nama[100];

int nilai;

}

Array hanya menyimpan data dengan tipe data yang sama. Sedangkan struktur bisa juga dikatakan sebagai tipe data baru yang dapat menampung berbagai tipe data lain yang berbeda.

Agar lebih meahami mari kita lihat contoh berikut ini :

 

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

struct tanggal {

int skrng, bsok;

};

 

void main(){

struct tanggal tgl;

printf(“Masukkan tanggal sekarang: “);

scanf(“%d”, &tgl.skrng);

 

if(tgl.skrng<1 || tgl.skrng > 31)

printf(“tanggal tidak ada di kalender\n”);

 

else{

tgl.bsok = tgl.skrng + 1;

if (tgl.bsok == 32)

tgl.bsok = 1;

printf(“setelah tanggal %d adalah tanggal %d\n”,tgl.skrng, tgl.bsok);

}

 

getch();

 

}

 

Hasil percobaan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

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

 

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

 

}

 

Hasil percobaan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

 

3. Membuat 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();

}

 

Hasil percobaan

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest
Nah gimana gaes sedikit rumit sih memang, tapi saya yakin kalian pasti bisa. Saya disini juga masih belajar kok, sama kayak kalian hehehe :D. Sekian dulu ya dari saya
Semoga artikel ini bermanfaat kepada yang membacanya, Aamiin…
Jangan bosan-bosan untuk belajar ya gaess, Tetap Semangatttt…..
Wassalamualaikum Wr. Wb,….
You can do it !!!