Hello teman-teman, bertemu lagi dengan aku Oktavia Nur Rizky Angelina dari D3 Elka B. Kali ini aku akan membahas mengenai penggunaan variabel struktur dalam bahasa C. Dalam hal ini penggunaan variabel struktur dipadukan dengan variabel yang sudah pernah dicoba sebelumnya, yaitu meliputi pointer dan array serta fungsi yang lainnya. Semoga kalian semua dapat memahami apa yang aku paparkan yah.

Apa itu variabel struktur?

Dalam bahasa C, struct adalah tipe data bentukan yang terdiri dari kumpulan tipe data lain. Struct mirip seperti array, tapi struct bisa menampung lebih dari 1 jenis tipe data. Cara penggunaan tipe data struct yakni harus dibuat dulu seperti apa isi komponen dari struct, baru kemudian diakses dari kode program utama. Proses pembuatan tipe data struct ditulis sebelum main(). Setelah berhasil membuat sebuah deklarasi object. untuk mengakses variabel struct dari object tersebut  dibutuhkan Member Access Operator, di antara nama object dan nama anggota variabel struct.

Cara Inisialisasi Object

Inisialisasi adalah suatu tindakan untuk memberikan nilai awal pada suatu variabel. pada object kita dimungkinkan untuk memberikan nilai awal dengan beberapa cara yaitu, non-static member initialization, initializer list, dan uniform initialization.

  • Non-static Member adalah suatu tindakan memberikan nilai awal member structure kepada object dengan cara memberikan nilai di saat mendirikan member dari struct. Dengan cara tersebut, nilai inisialisasi akan berlaku ke semua object yang menggunakan tipe structure tersebut.
  • Initializer List adalah cara inisialisasi dengan memberikan nilai awal disaat mendirikan object, nilai tersebut hanya akan berlaku pada object itu sendiri.
  • Uniform Initialization merupakan inisialisasi yang masih sama seperti initializer list, hanya saja tidak menggunakan tanda = (sama dengan).

Deklarasi struct sama sekali tidak memakan memori, struct bisa dikatakan hanyalah sebuah rancangan, deklarasi struct dibuat untuk membuat tipe data yang dibuat oleh programmer. Yang memakan memori adalah Object yang didirikan menggunakan data structure sebagai tipe datanya. Jumlah memori dari object akan memiliki besar dari total besar memori member yang ada pada struct tersebut.

Untuk lebih jelasnya ikuti pembahasan selanjutnya.

Nah kali ini kita akan membahas mengenai beberapa soal yang dapat diselesaikan dengan menggunakan variabel struktur.

  • Membuat suatu program dengan menggunakan struktur tanggal yang digunakan untuk menentukan tanggal berikutnya dengan input dari keyboard berupa tanggal hari ini.

Berikut merupakan salah satu contoh bentuk program yang dapat digunakan untuk menyelesaikan permasalahan ini.

//Menentukan tanggal berikutnya dengan structur//
#include <stdio.h>

struct tanggal {
int sekarang;
int besok;
};

void main(){
struct tanggal tgl;

printf(“Masukkan sebuah tanggal “); scanf(“%d”, &tgl.sekarang);

if(tgl.sekarang < 1 || tgl.sekarang > 31) {
printf(“Tanggal tidak valid\n\n”);
}
else{
tgl.besok = tgl.sekarang + 1;

if(tgl.besok == 32) tgl.besok = 1;

printf(“Tanggal besok setelah tanggal %d adalah tanggal %d\n\n”, tgl.sekarang, tgl.besok);
}
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Menentukan selisih antara dua waktu yang berbeda, dimana kedua waktu tersebut diinputkan melalui keyboard.

Berikut merupakan salah satu contoh bentuk program yang dapat digunakan untuk menyelesaikan permasalahan ini.

//Menentukan selisih antara dua waktu yang berbeda//
#include <stdio.h>
struct waktu{
int jamp;
int menp;
int jamq;
int menq;
int jam1;
int jam2;
};
void main()
{
struct waktu now;
printf(“Masukkan jam ke-1 (jj:mm) = “); scanf(“%d:%d”, &now.jamp, &now.menp);
printf(“Masukkan jam ke-2 (jj:mm) = “); scanf(“%d:%d”, &now.jamq, &now.menq);

now.jam1 = now.jamp*60+now.menp;
now.jam2 = now.jamq*60+now.menq;

printf(“Selisih antara kedua waktu adalah %d menit”,now.jam2-now.jam1);
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Menentukan selisih antara dua tanggal yang berbeda, dimana kedua tanggal tersebut diinputkan melalui keyboard.

Berikut merupakan salah satu contoh bentuk program yang dapat digunakan untuk menyelesaikan permasalahan ini.

//Menentukan selisih antara dua tanggal yang berbeda//
#include <stdio.h>

struct tanggal {
int tanggal1;
int tanggal2;
int tanggals;
};

void main(){
struct tanggal tgl;

printf(“Masukkan tanggal\n”);
printf(“Tanggal 1 = “);
scanf(“%d”, &tgl.tanggal1);
printf(“Tanggal 2 = “);
scanf(“%d”, &tgl.tanggal2);

if(tgl.tanggal1 < 1 || tgl.tanggal1 > 31) {
printf(“Tanggal 1 tidak valid\n”);
}
else if(tgl.tanggal2 < 1 || tgl.tanggal2 > 31) {
printf(“Tanggal 2 tidak valid\n”);
}
else {
if(tgl.tanggal1 – tgl.tanggal2 < 0) tgl.tanggals = tgl.tanggal2 – tgl.tanggal1;
else tgl.tanggals = tgl.tanggal1 – tgl.tanggal2;

printf(“\nSelisih antara tanggal %d dan tanggal %d adalah %d\n\n”, tgl.tanggal1, tgl.tanggal2, tgl.tanggals);
}
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Kesimpulan

Jadi dari percobaan kali ini dapat disimpulkan bahwa variabel struktur adalah pengelompokkan variabel atau bisa dikatakan sebagai kumpulan variabel dengan beragam tipe data. Dengan adanya variabel struktur ini dapat memudahkan seorang programmer dalam menyelesaiakan suatu permasalahan yang didalamnya terdiri atas tipe data yang berbeda-beda. Pada kesempatan kali ini juga merupakan percobaan penutup dalam mata kuliah workshop algoritma dan pemrograman, semoga apa yang sudah dipaparkan sebelumnya bermanfaat bagi kalian semua.

Terima Kasih

Sampai jumpa kembali