Dasar Bahasa C · Pelajaran 2 dari 12
Tipe data, variabel, dan printf
9 menit baca · BelajarCode
Di C, setiap variabel harus dideklarasikan dengan tipenya sebelum dipakai. Tipe menentukan berapa byte memori yang dipakai dan jenis nilai yang bisa disimpan.
| Tipe | Contoh nilai | Format printf | Ukuran umum |
|---|---|---|---|
char | 'A' | %c | 1 byte |
int | 42 | %d | 4 byte |
long long | 9000000000 | %lld | 8 byte |
float | 3.14f | %f | 4 byte |
double | 3.14159 | %f atau %lf | 8 byte |
1#include <stdio.h>23int main(void) {4 char huruf = 'B';5 int umur = 19;6 long long penduduk = 280000000LL;7 double ipk = 3.675;89 printf("Huruf: %c\n", huruf);10 printf("Umur: %d tahun\n", umur);11 printf("Penduduk: %lld jiwa\n", penduduk);12 printf("IPK: %.2f\n", ipk);13 printf("Ukuran int: %zu byte, double: %zu byte\n", sizeof(int), sizeof(double));14 return 0;15}Huruf: B Umur: 19 tahun Penduduk: 280000000 jiwa IPK: 3.67 Ukuran int: 4 byte, double: 8 byte
%.2fmenampilkan dua angka di belakang koma. Hasilnya 3.67, karena 3.675 tidak bisa disimpan persis dalam biner dan nilainya sedikit di bawah 3.675.sizeofmengembalikan ukuran tipe dalam byte, ditampilkan dengan%zu.- Ukuran tipe bisa berbeda di komputer lain, tetapi nilai di atas berlaku pada kebanyakan komputer modern.
Lebar kolom dan rata kiri
1#include <stdio.h>23int main(void) {4 printf("[%5d]\n", 42);5 printf("[%-5d]\n", 42);6 printf("[%05d]\n", 42);7 printf("[%-10s][%8.2f]\n", "Kopi", 8000.0);8 printf("Diskon 15%%\n");9 return 0;10}[ 42] [42 ] [00042] [Kopi ][ 8000.00] Diskon 15%
Tanda %% dipakai untuk menampilkan karakter persen.
Batas nilai dan overflow
Tipe int 4 byte hanya bisa menyimpan nilai sampai 2.147.483.647. Melewati batas itu disebut overflow, dan pada bilangan bertanda hasilnya tidak terdefinisi menurut standar C. Gunakan long long untuk bilangan yang besar.
1#include <limits.h>2#include <stdio.h>34int main(void) {5 printf("INT_MAX = %d\n", INT_MAX);6 long long besar = (long long)INT_MAX + 1;7 printf("INT_MAX + 1 dengan long long = %lld\n", besar);8 return 0;9}INT_MAX = 2147483647 INT_MAX + 1 dengan long long = 2147483648
(long long)INT_MAX mengubah tipe sebelum dijumlahkan, sehingga penjumlahannya dihitung dengan long long.
Cek pemahaman
Format apa yang tepat untuk menampilkan variabel bertipe long long dengan printf?
Latihan
Struk sederhana
Tampilkan struk belanja dengan kolom nama barang rata kiri selebar 12 karakter dan harga rata kanan selebar 9 karakter dengan dua desimal. Barangnya: Pulpen 3500, Buku tulis 6000, Penghapus 2500. Tampilkan juga totalnya.
Pembahasan
1#include <stdio.h>23int main(void) {4 double pulpen = 3500, buku = 6000, penghapus = 2500;5 printf("%-12s%9.2f\n", "Pulpen", pulpen);6 printf("%-12s%9.2f\n", "Buku tulis", buku);7 printf("%-12s%9.2f\n", "Penghapus", penghapus);8 printf("%-12s%9.2f\n", "TOTAL", pulpen + buku + penghapus);9 return 0;10}Pulpen 3500.00 Buku tulis 6000.00 Penghapus 2500.00 TOTAL 12000.00
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler C online.