Artikel untuk belajar bahasa pemrograman C kali ini akan membahas tentang variable dan tipe data serta operator. Sekilas tentang variable, variable dapat diibaratkan wadah untuk menyimpan, untuk membuat suatu wadah penyimpanan kita butuh untuk menentukan jenis apa saja yang bisa disimpan dalam suatu wadah penyimpanan (variable), jenis apa yang disimpan ini disebut tipe data. Sehingga dalam bahasa pemrograman C, variable tidak bisa di pisahkan dengan tipe data.
Untuk tahap awal mari kita berkenalan dengan macam-macam tipe data dari bahasa pemrograman C, terdapat setidaknya 4 kelompok tipe data standart dari bahasa pemrograman C. Antara lain:
- benar salah (boolean), berisikan nilai True atau False
- bilangan bulat (short int, int, long int),
- bilangan pecahan (float, double, long double),
- karakter/string (char, char*),
sudah berkenalan teman-teman???... :) kalau sudah mari kita coba untuk mendeklarasikan suatu variable dalam bahasa pemrograman C, adapun formatnya sebagai berikut:
<tipe data> <nama variable>; atau,
<tipe data> <nama variable> = <isi data>;
<tipe data> <nama variable> = <isi data>;
Mari kita coba pada program hallo world minggu lalu;
#include <stdio.h> int main() { char* nama = "PintarCoding.com"; printf("Hallo %s!!!\n", nama); return 0; }baris perintah diatas akan menghasilkan "Hallo PintarCoding.com!!!\n".
perhatikan string "Hallo %s!!!\n" pada printf, pada string ini terdapat "%s", "%s" ini berfungsi untuk menandakan bahwa pada posisi tersebut akan di sisipkan suatu string, dan stirng yang disisipkan ada pada variable "nama", "s" pada "%s" sendiri dapat diganti-ganti sesuai dengan tipe data pada variable yang akan kita sisipkan.
Contoh lainnya :
#include <stdio.h> int main() { int tambah = 1 + 1; char* ket = "satu tambah satu"; printf("%s = %d\n", ket, tambah); return 0; }baris perintah diatas akan menghasilkan "satu tambah satu = 2\n".
Dalam hal ini terdapat 2 variable yang akan disisipkan, “%s” untuk ket (char*), sedangkan “%d” untuk "tambah" (int). Variable-variable di belakang string yang akan diprint akan bertambah sesuai dengan data yang akan disisipkan. Bagaimana dengan tipe-tipe data yang lain, berikut table sederhana yang dapat membantu untuk menjelaskan tipe-tipe data yang lainnya,
Bagaimana setelah berkenalan dengan tipe-tipe data, lumayan bersahabat kan???... :) oke minggu depan akan membahas lebih dalam lagi untuk variable, tipe data dan operator.
Berikut saya sertakan percobaan soal tipe data bilangan bulat dan pecahan buat teman-teman yang ingin mengetahui lebih dalam soal jangkauan nilai yang bisa di isi pada tipe-tipe data tersebut sesuai table diatas.
No | Kelompok | Tipe data | Keterangan | Printf specifier | |
1 | Bilangan bulat | short int (16 bit) | signed | -32 768 s/d 32 767 | d |
2 | unsigned | 0 s/d 65 535 | u | ||
3 | int (32 bit) | signed | -2 147 483 648 s/d 2 147 483 647 |
d | |
4 | unisigned | 0 s/d 4 294 967 296 | u | ||
5 | long int (32 bit) | signed | -2 147 483 648 s/d 2 147 483 647 |
ld | |
6 | unsigned | 0 s/d 4 294 967 296 | lu | ||
7 | Bilangan pecahan | float (32 bit) | ± 7 digit desimal | f | |
8 | double (64 bit) | ± 15 digit desimal | f | ||
9 | long double (64 bit) | ± 15 digit desimal | Lf | ||
10 | Benar Salah | boolean | |||
11 | Karakter / string | char | 1 karakter | c | |
12 | char* | >= 1 karakter (String) | s |
Bagaimana setelah berkenalan dengan tipe-tipe data, lumayan bersahabat kan???... :) oke minggu depan akan membahas lebih dalam lagi untuk variable, tipe data dan operator.
Berikut saya sertakan percobaan soal tipe data bilangan bulat dan pecahan buat teman-teman yang ingin mengetahui lebih dalam soal jangkauan nilai yang bisa di isi pada tipe-tipe data tersebut sesuai table diatas.
#include <stdio.h> void main() { short int var_shortint; int var_normalint; long int var_longint; float var_floatnum; double var_doublenum; long double var_longdouble; var_shortint = 32767; var_normalint = 2147483647; var_longint = 2147483647; var_floatnum = 2147.483647123456789; var_doublenum = 2147.483647123456789; var_longdouble = 2147.483647123456789; printf("short int = %d\n", var_shortint); printf("int = %d\n", var_normalint); printf("long int = %ld\n", var_longint); printf("float = %.20f\n", var_floatnum); printf("double = %.20f\n", var_doublenum); printf("long double = %.20Lf\n", var_longdouble); }
short int = 32767 int = 2147483647 long int = 2147483647 float = 2147.48364257812500000000 double = 2147.48364712345664884197 long double = 2147.48364712345664884197
jika angka-angka short int, int, dan long int ditambah 1 maka angka yang dihasilkan akan tidak sesuai lagi, bisa dicoba sendiri, dan perhatikan untuk float, double dan long double, angka2 diluar range desimalnya menjadi berbeda dengan nilai awal. Oke demikian intermesonya, sampai jumpa dipostingan berikutnya... :)
Terima Kasih, Semoga bermanfaat.
Reff :
https://id.wikipedia.org/wiki/C%2B%2B
http://www.cplusplus.com/reference/cstdio/printf/
apa bedanya char* ket = "Botak"; sama char ket[30] = "Botak", apakah ada perbedaan?
BalasHapushalo benyamin, secara penggunaan sih memang sama, hanya "char* ket" akan lebih flksibel dibandng "char ket[30]", yang mana "char ket[30]" hanya bisa di isi dengan 29 karakter saja, karena dalam hal ini hanya terisi 5 karakter sehingga 24 sisahnya akan bernilai kosong...
HapusNamun secara cara penempatannya dalam memori berbeda, jika ingin mengetahui lebih detail masalah penempatannya dalam memori bisa baca-baca disini http://www.cs.bu.edu/teaching/cpp/string/array-vs-ptr/
mohon dikoreksi jika ada yang salah... jika masih belum jelas bisa diskusikan disini biar nanti bisa banyak yang bantu juga... :)
Thanks.