Menu
CoddyTech

Konversi Tipe Bagian 1

Termasuk bagian Dasar-Dasar dalam perjalanan C di Coddy. Pelajaran 13 dari 63.

Type casting di C memungkinkan kamu mengonversi nilai dari satu tipe data ke tipe data lainnya. Ini berguna saat kamu perlu melakukan operasi antara tipe data yang berbeda.

Ada dua jenis utama konversi tipe:

  1. Konversi implisit (otomatis)
  2. Konversi eksplisit (manual)

Mari kita mulai dengan konversi tipe implisit:

Konversi tipe secara implisit terjadi secara otomatis saat mengonversi dari tipe data yang lebih kecil ke tipe data yang lebih besar:

int num = 10;
double decimal_num;

// Konversi tipe implisit dari int ke double
decimal_num = num;

Setelah menjalankan kode di atas, decimal_num akan memiliki nilai 10.0

Ini berfungsi karena double dapat menyimpan semua nilai int yang mungkin tanpa kehilangan data apa pun. Konversi ini aman, jadi C melakukannya secara otomatis.

Jalur casting implisit yang umum:

  • char → int → long → float → double

Sekarang, mari kita lihat casting eksplisit:

Pemaksaan tipe data secara eksplisit dilakukan secara manual dengan menempatkan tipe data tujuan di dalam tanda kurung sebelum nilai yang ingin kamu konversi. Ini diperlukan saat mengonversi dari tipe data yang lebih besar ke tipe data yang lebih kecil, karena data mungkin hilang:

double decimal_num = 5.65;
int num;

// Konversi tipe secara eksplisit dari double ke int
num = (int)decimal_num;

Setelah menjalankan kode di atas, num akan memiliki nilai 5

Perhatikan bahwa bagian desimal dipotong, bukan dibulatkan, saat mengonversi double menjadi int. Sintaks untuk konversi eksplisit adalah:

(target_type) value

Karena konversi ini dapat menyebabkan kehilangan data, C mengharuskan kamu melakukannya secara eksplisit. Ini memberi tahu compiler bahwa kamu menyadari potensi kehilangan data.

challenge icon

Tantangan

Mudah

Buat program yang:

  1. Mendeklarasikan variabel double result dan mengaturnya ke 5.65
  2. Mendeklarasikan variabel int grade
  3. Menetapkan nilai result ke grade menggunakan casting eksplisit
  4. Mencetak nilai grade dengan pesan "The grade is: " menggunakan printf

Coba sendiri

#include <stdio.h>

int main() {
    double result = 5.65;
    int grade;
    
    // Gunakan casting eksplisit untuk mengonversi result (double) menjadi grade (int)
    
    printf("The grade is: %d\n", grade);
    
    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