Menu
CoddyTech

Konversi Tipe Bagian 1

Termasuk bagian Dasar-Dasar dalam perjalanan C++ di Coddy. Pelajaran 14 dari 74.

Type casting adalah proses mengubah nilai dari satu tipe data ke tipe data lainnya.

Dalam C++, kita dapat mengonversi bilangan bulat menjadi bilangan desimal, bilangan desimal menjadi bilangan bulat, dan lainnya. Ada dua jenis casting: implisit (otomatis) dan eksplisit (manual).

Sebagai contoh, Integer to Double:

Konversi tipe implisit (otomatis):

int number = 5;
double decimal = number; // otomatis menjadi 5.0

// dengan perhitungan
int x = 7;
double result = x / 2.0; // result bernilai 3.5

Catatan: Saat membagi dua nilai int, C++ melakukan pembagian bilangan bulat: bagian desimalnya dihilangkan. Misalnya, 7 / 2 menghasilkan 3, bukan 3.5. Untuk mendapatkan hasil desimal, setidaknya satu operand harus berupa double (misalnya, 7 / 2.0 menghasilkan 3.5).

Konversi eksplisit (manual) Double to Integer:

double decimal = 9.7;
int number = (int) decimal;  // menjadi 9 (bagian desimal dipotong)

// dengan perhitungan
double price = 19.99;
int roundedPrice = (int) price;  // menjadi 19

Gaya C++ modern yang disarankan: Alih-alih menggunakan cast bergaya C (int) decimal, sebaiknya gunakan static_cast<>(), yang lebih aman dan menunjukkan maksudmu dengan lebih jelas:

double decimal = 9.7;
int number = static_cast<int>(decimal);  // menjadi 9 (bagian desimalnya dipotong)

double price = 19.99;
int roundedPrice = static_cast<int>(price);  // menjadi 19

Catatan: (int) value dan static_cast<int>(value) menghasilkan nilai yang sama di sini, tetapi static_cast<>() adalah pendekatan yang disarankan dalam C++ modern karena konversinya terlihat jelas dan diperiksa oleh compiler.

challenge icon

Tantangan

Pemula

Tulis program C++ yang menunjukkan konversi tipe. Lakukan hal berikut:

Konversikan variabel price ke int dan simpan hasilnya dalam variabel baru bernama intPrice.

Coba sendiri

#include <iostream>

int main() {
    // Deklarasikan dan inisialisasi variabel
    double price = 99.99;
    int intPrice = ?; // Konversi tipe eksplisit dari double ke int
    
    
    // Tampilkan nilai-nilainya
    std::cout << "Price: " << price << std::endl;
    std::cout << "Int Price: " << intPrice << std::endl;
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler C++ online