Pinned

Tipe Data Konversi Bahasa C dan Fungsinya

Sebuah type cast pada dasarnya adalah konversi dari satu tipe ke tipe yang lainnya. Terdapat dua tipe dari tipe konversi utama pada bahasa C, yaitu:


2 Jenis Utama Tipe Konversi pada Bahasa C
Ilustrasi Tipe Konversi Bahasa C


satu, Konversi tipe implisit
Dikenal juga dengan istilah konversi tipe otomatis (automatic type conversion).
  • Dilakukan oleh kompilator itu sendiri, tanpa ada trigger eksternal dari pengguna.
  • Umumnya konversi terjadi pada ekspresi data yang ditampilkan lebih dari satu. Seperti kondisi konversi tipe (type promotion) yang mengambil tempat untuk menghindari kehilangan data.
  • 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

  • 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

Gambar 2 Konversi Tipe Eksplisit
Gambar 2 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

Contoh: 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:
  • Hal ini dilakukan untuk memanfaatkan fitur tertentu dari hirarki tipe data atau representasi tipe data.
  • Membantu untuk mengkomputasi ekspresi yang mengandung variabel dengan tipe data yang berbeda.


Artikel ini didedikasikan kepada: Mia Dwi Rahmawati, Muhammad Dohan Pratama, Nikmatul Jannah, Nur Lailatul Ma'Rifah, dan Oktavia Gita Prastiwi.

5 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

Hubungi admin melalui Wa : +62-896-2514-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -