Langsung ke konten utama

Iklan





Tipe Konversi pada Bahasa C

Sebuah type cast pada dasarnya adalah konversi dari satu tipe ke tipe yang lainnya. Terdapat dua tipe dari tipe konversi seperti pada gambar 1.


satu, Konversi tipe implisit

Dikenal juga dengan istilah konversi tipe otomatis (automatic type conversion).
satu, Dilakukan oleh kompilator itu sendiri, tanpa ada trigger eksternal dari pengguna.
dua, Umumnya konversi terjadi pada ekspresi data yang ditampilkan lebih dari satu. Seperti kondisi konversi tipe (type promotion) yang mengambil tempat untuk menghindari kehilangan data.
tiga, Semua tipe data dari variabel diperbarui ke tipe data dari variabel dengan tipe data yang lebih besar.

       bool -> char -> short int -> int ->
       unsigned int -> long -> unsigned ->
       long long -> float -> double -> long double

empat, Sangat mungkin pada konversi implisit terjadi kehilangan informasi, sign yang hilang (ketika sign secara implisit dikonversi ke unsigned), dan overflow juga dapat terjadi ketika tipe data long long secara implisit dikonversi ke tipe data float.

Contoh dari konversi tipe implisit:

// Contoh program untuk kon

// versi implisit pada bahasa C

#include<stdio.h>

 

int main()

{

int x = 10; // integer x

char y = 'a'; // character c

 

// y dikonversi secara impli

// sit ke tipe data int.

 

// Nilai ASCII dari 'a'

// adalah 97

x = x + y;

 

// x dikonversi secara impli

// sit ke tipe data float

float z = x + 1.0;

 

printf("x = %d, z = %f", x, z);

return 0;

}

Output:
x = 107, z = 108.000000

dua, Konversi tipe eksplisit


Proses ini juga memanggil tipe type casting dan didefinisikan oleh pengguna. User atau pengguna dapat mengetik hasil untuk membuat sebuah tipe data tertentu seperti diperlihatkan pada gambar 2.

Sintak pada bahasa C:
(type) expression

Type mengindikasikan tipe data untuk hasil akhir dari konversi.

// Program bahasa C untuk

// mendemonstrasikan type

// casting secara eksplisit

#include<stdio.h>

 

int main()

{

double x = 1.2;

 

// Konversi eksplisit dari

// tipe data double ke tipe

// data int

int sum = (int)x + 1;

printf("sum = %d", sum);

return 0;

}

Output:
sum = 2

Kelebihan dari tipe konversi:
satu, Hal ini dilakukan untuk memanfaatkan fitur tertentu dari hirarki tipe data atau representasi tipe data.
dua, Membantu untuk mengkomputasi ekspresi yang mengandung variabel dengan tipe data yang berbeda.


Iklan

Komentar

  1. Apa yang dimaksud dengan typecast pada bahasa C?

    BalasHapus
    Balasan
    1. Type Casting merupakan cara untuk mengkonversi variabel dari satu tipe data ke tipe data lainnya. Contoh, jika dilakukan penyimpanan nilai dengan tipe data long kemudian ingin diubah menjadi tipe data int, maka proses perubahan atau konversi tersebut dapat dilakukan dengan menggunakan typecast pada bahasa C. Proses konversi juga dapat dilakukan secara eksplisit dari satu jenis tipe data ke jenis tipe data lainnya secara eksplisit menggunakan operator cast.

      Hapus
  2. Type casting pada bahasa C mengacu pada makna perubahan variabel dari satu tipe data ke tipe data lainnya. Kompilator secara otomatis akan melakukan perubahan tipe data dari tipe data lainnya yang sesuai. Contoh, jika ditetapkan nilai integer dari variabel tertentu ke tipe data float, maka kompilator akan mengubah nilai int pada variabel tersebut ke dalam tipe data float.

    BalasHapus
  3. Apa perbedaan antara type casting dan type conversion pada bahasa C?

    BalasHapus
    Balasan
    1. Pada type casting, tipe data diubah menjadi tipe data lain oleh programmer menggunakan operator casting. Sedangkan dalam type conversion, tipe data diubah menjadi tipe data lain oleh kompilator itu sendiri. Jenis casting dapat diterapkan pada jenis data yang kompatibel, dan juga pada jenis data yang tidak kompatibel.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D