Artikel Terbaru

8 Pertimbangan yang Harus Dilakukan untuk Memilih Wallet Bitcoin

Wallet Bitcoin adalah program yang digunakan untuk mengirim dan menerima data transaksi Bitcoin, menyimpan catatan Bitcoin, dan memantau saldo Bitcoin. Sama seperti ketika seseorang memerlukan program email yang digunakan untuk mengelola data email -nya, pada Bitcoin juga terdapat program sejenis yang dapat digunakan untuk mengelola data Bitcoin tersebut, berupa wallet interface pada setiap node blockchain Bitcoin. Wallet digunakan untuk memantau alamat Bitcoin pada blockchain dan juga dapat digunakan untuk memperbarui saldo Bitcoin pada setiap transaksi.

4 Jenis Utama Kelas Penyimpanan pada Bahasa C

Kelas penyimpanan digunakan untuk mendeksripsikan fitur dari variabel atau fungsi. Fitur ini pada dasarnya mencakup scope, visibilitas, dan life-time yang membantu untuk melacak keberadaan dari variabel tertentu selama program dijalankan.

Bahasa C menggunakan empat kelas penyimpanan seperti diperlihatkan pada gambar 1, yang bernama:

Kelas Penyimpanan Bahasa C
Gambar 1 Kelas Penyimpanan Bahasa C

  • satu, auto: Merupakan kelas penyimpanan default (storage default class) untuk segala deklarasi variabel di dalam sebuah fungsi atau sebuah blockKeyword auto biasanya digunakan ketika membuat program dalam bahasa C. Variabel auto hanya bisa diakses dengan block atau fungsi yang telah dideklarasikan dan tidak berada diluar dari scope-nya. Keyword ini hanya bisa diakses dengan block bersarang bersamaan parent block atau fungsi pada variabel auto yang telah dideklarasikan. Namun, auto juga bisa diakses dari luar scope-nya jika menggunakan konsep pointer, dengan cara melakukan pointing atau penunjukkan pada lokasi memori yang tepat dimana variabel berada. Keyword ini diberi nilai sisa secara otomatis dimanapun keyword dideklarasikan.
  • dua, extern: Kelas penyimpanan extern secara sederhana memberitahukan bahwa variabel telah didefinisikan dan tidak berada pada block sama dengan block yang menggunakannya. Sederhanya, nilai yang telah ditetapkan terhadap kelas penyimpanan tidak berada bersama pada block dimana kelas tersebut digunakan. Nilai yang ditetapkan berada pada block berbeda dan dapat dilakukan ovewritten atau perubahan pada block yang berbeda pula. Sehingga variabel extern tidak lain adalah variabel global yang diinisialisasi dengan nilai legal dimana variabel tersebut dideklarasikan sesuai perintah dimana variabel tersebut akan digunakan. Variabel ini dapat diakses dengan fungsi atau block apapun. Juga, sebuah variabel global normal dapat membuat extern pula dengan menambahkan keyword 'extern' sebelum pendeklarasian atau pendefinisian oleh fungsi atau block apapun. Pada dasarnya hal ini menandakan bahwa, tidak dilakukan inisialisasi sebuah variabel baru melainkan hanya menggunakan atau melakukan akses kepada variabel global semata. Tujuan utama dari penggunakan variabel extern adalah variabel tersebut dapat diakses antara dua file berbeda yang menjadi satu bagian dari program.
  • tiga, static: Kelas penyimpanan digunakan untuk mendeklarasikan variabel static yang secara populer digunakan ketika membuat program dalam bahasa C. Variabel static memiliki properti dari penyimpanan nilai bahkan setelah nilai tersebut keluar dari scope-nya. Karena hal tersebut, variabel static hanya menggunakan nilai terakhir yang digunakan pada scope-nya. Sehingga bisa dikatakan bahwa variabel ini hanya diinisialisasi sekali dan akan tetap exist sampai proses atau program telah berhenti dijalankan. Sehingga, tidak ada memori baru yang dialokasikan karena memori tersebut tidak dideklarasikan ulang. Scope dari variabel ini bersifat lokal pada fungsi dimana variabel tersebut didefinisikan. Variabel static global dapat diakses dimanapun pada bagian program. Secara otomatis, ditetapkan nilai 0 oleh kompilator ketika variabel ini dideklarasikan.
  • empat, register: Kelas penyimpanan yang mendeklarasikan variabel register memiliki fungsi sama seperti variabel auto. Perbedaannya adalah kompilator mencoba untuk menyimpan variabel ini pada register dari mikroprosesor jika free register tidak tersedia. Hal ini membuat penggunaan dari variabel register lebih cepat daripada variabel yang disimpan pada memori selama waktu runtime dari program. Jika sebuah free register tidak tersedia, maka nilainya akan disimpan pada bagian memori saja. Umumnya beberapa variabel dapat diakses lebih sering pada sebuah program yang dideklarasikan dengan keyword register akan memiliki waktu running yang lebih baik terhadap sebuah program. Alamat register tidak bisa didapatkan dengan menggunakan pointer.

Untuk menyederhanakan kelas penyimpanan untuk sebuah variabel, perhatikan sintak program berikut ini:

sintak:
storage_class var_data_type var_name;

Fungsi berikut mengikuti sintak yang sama seperti yang diberikan pada variabel sebelumnya. Perhatikan contoh program bahasa c berikut untuk lebih memahami:

// Sebuah program bahasa C

// untuk mendemonstrasikan

// perbedaan class storage

#include <stdio.h>

 

// Mendeklarasikan variabel

// yang akan dibuat eksternal

// dengan nilai awal juga da-

// pat diinisialisasi ke x

int x;

 

void autoStorageClass()

{

 

printf("\nDemonstrasi class"

" auto\n\n");

 

// Mendeklarasikan variabel

// otomatis (secara sederhana

// "int a=32;" juga dapat be-

// kerja secara baik)

auto int a = 32;

 

// Mencetak nilai variabel

// auto 'a'

printf("Nilai dari variabel "

"'a' dideklarasikan sebagai a"

"uto: %d\n",a);

 

printf("-------------------"

"-------------");

}

 

void registerStorageClass()

{

 

printf("\nDemonstrasi class"

" register\n\n");

 

// Mendeklarasikan sebuah

// variabel register

register char b = 'G';

 

// Mencetak nilai variabel

// register 'b'

printf("Nilai dari variabel "

"'b' dideklarasikan sebagai"

" register: %d\n",b);

 

printf("--------------------"

"------------");

}

 

void externStorageClass()

{

 

printf("\nDemonstrasi class"

" extern\n\n");

 

// Memberitahukan kompilator

// bahwa variabel z adalah

// variabel extern dan telah

// didefinisikan dibagian ma-

// napun (atau telah didekla-

// rasikan sebelum fungsi main)

extern int x;

 

// Mencetak variabel extern 'x'

printf("Nilai dari variabel "

"'x' dideklarasikan sebagai "

"extern: %d\n",x);

 

// Nilai dari variabel extern

// x dimodifikasi

x = 2;

 

// Mencetak nilai modifikasi

// dari variabel extern 'x'

printf("Nilai modifikasi dari"

" variabel 'x' dideklarasikan"

" sebagai extern: %d\n",x);

 

printf("---------------------"

"-----------");

}

 

void staticStorageClass()

{

int i = 0;

 

printf("\nDemonstrasi class"

" static\n\n");

 

// Dengan menggunakan sebuah

// variabel static 'y'

printf("Deklarasi 'y' sebagai"

" variabel static di dalam "

"looping.\n"

 

"Namun, deklarasi ini hanya "

"akan muncul satu kali seba"

"gai variabel static 'y'.\n"

 

"Jika tidak muncul, maka seti"

"ap kali looping atau perula"

"ngan nilai dari 'y' akan men"

"deklarasikan nilai 5 sebagai"

" nilai yang diterima dari va"

"riabel 'p'\n");

 

printf("\nMulai looping:\n");

 

for (i = 1; i < 5; i++) {

 

// Deklarasi variabel

// static 'y'

static int y = 5;

 

// Deklarasi variabel

// non-static 'p'

int p = 10;

 

// Melakukan penambahan nilai

// secara increment dari vari-

// abel y dan p sebesar 1 nilai

y++;

p++;

 

// Mencetak nilai dari y pada

// setiap kali looping atau

// perulangan

printf("\nNilai dari 'y', "

"dideklarasikan sebagai sta"

"tic, dalam %d perulangan a"

"dalah %d\n",i, y);

 

// Mencetak nilai dari p pada

// tiap kali perulangan

// atau looping

printf("Nilai dari variabel "

"non static 'p', dalam %d per"

"ulangan adalah %d\n",i, p);

}

 

printf("\nLooping berakhir:\n");

 

printf("---------------------"

"-----------");

}

 

int main()

{

 

printf("Sebuah program untuk "

"mendemonstrasikan kelas peny"

"impanan pada bahasa C\n\n");

 

// Untuk mendemonstrasikan

// storage class auto

autoStorageClass();

 

// Untuk mendemonstrasikan

// storage class register

registerStorageClass();

 

// Untuk mendemonstrasikan

// storage class extern

externStorageClass();

 

// Untuk mendemonstrasikan

// storage class static

staticStorageClass();

 

// Akhir program

printf("\n\nStorage Classes"

" telah didemonstrasikan");

 

return 0;

}

Komentar

  1. Apa yang dimaksud dengan kelas penyimpanan atau storage class pada bahasa C?

    BalasHapus
    Balasan
    1. Kelas penyimpanan dalam bahasa C digunakan untuk mewakili informasi tambahan tentang suatu variabel. Kelas penyimpanan mewakili ruang lingkup dan masa pakai sebuah variabel. Kelas penyimpanan juga memberitahukan siapa saja yang dapat mengakses variabel tersebut dan darimana sumber aksesnya. Auto, extern, register, static adalah empat kelas penyimpanan yang terdapat pada bahasa C.

      Hapus
  2. Kelas penyimpanan mana yang memiliki performa tercepat pada bahasa C?

    BalasHapus
    Balasan
    1. Untuk akses tercepat dari suatu variabel pada kelas penyimpanan, maka register memiliki kemampuan yang lebih baik daripada auto. Karena variabel register disimpan pada memori register sedangkan variabel auto disimpan pada memori CPU utama.

      catatan: hanya beberapa variabel saja yang dapat disimpan dalam memori register.

      Hapus
  3. Apakah typedef juga termasuk kelas penyimpanan pada bahasa C?

    BalasHapus
    Balasan
    1. Kelas penyimpanan variabel pada bahasa C digunakan untuk menentukan apakah item tersebut memiliki akses yang bersifat global ataukah lokal. Pada bahasa C, typedef dianggap sebagai kelas penyimpanan sama seperti kelas penyimpanan lainnya (auto, register, static, extern), namun penggunaan typedef adalah lebih spesifik untuk menentukan nama alternatif terhadap jenis tipe yang tersedia pada bahasa C.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Perbedaan stdio.h dan stdlib.h pada Bahasa C

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

Perbedaan Antara int main() dan int main(void) pada Bahasa C

Enkapsulasi pada Java

3 Jenis Utama Looping pada Java