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 data dasar dan penentu formatnya
TipeContoh nilaiFormat printfUkuran umum
char'A'%c1 byte
int42%d4 byte
long long9000000000%lld8 byte
float3.14f%f4 byte
double3.14159%f atau %lf8 byte
C
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}
Keluaran
Huruf: B
Umur: 19 tahun
Penduduk: 280000000 jiwa
IPK: 3.67
Ukuran int: 4 byte, double: 8 byte
  • %.2f menampilkan dua angka di belakang koma. Hasilnya 3.67, karena 3.675 tidak bisa disimpan persis dalam biner dan nilainya sedikit di bawah 3.675.
  • sizeof mengembalikan 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

C
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}
Keluaran
[   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.

C
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}
Keluaran
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.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler C online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi