Welcome to My Blog!

Created By Bagus KusumajayaSebagai anak bangsa yang cerdas, hendaknya kita harus selalu tetap semangat di dalam setiap situasi, terus belajar dan belajar, demi mengejar cita cita, oleh karena itu haruslah kita memotivasi diri kita sendiri, agar alasan kita untuk mendapatkan kesuksesan itu menjadi kuat, sehingga lingkunganpun ikut mendukung cita cita kita, jauhkan diri dari sifat malas yang amat merugikan, pikirkan masa depan, dan lakukan hal hal yang terbaik setiap waktu. InsyaAllah semua cita cita serta hasrat akan tercapai dengan mudah
Follow Me

Casting Tipe Data dalam Pemrograman Bahasa C



By  Bagus     4:44:00 PM    Label: 

Casting Tipe Data

Pada post sebelumnya sudah dijelaskan mengenai masing masing tipe data.
Dalam pemrograman kita terkadang dihadapkan suatu masalah, dimana kita diharuskan untuk mengganti tipe data tersebut dengan tipe data yang dapat ditampung oleh hasil pengoperasian yang kita lakukan.
Contoh langsung lihat codenya saja.

Contoh 1...

Code: 
#include <stdio.h>

int main()
{
    int alas, tinggi;
    float Luas;

    printf("Masukkan Alas: ");
    scanf("%d", &alas); // input alas
    printf("Masukkan Tinggi: ");
    scanf("%d", &tinggi); // input tinggi
    //Proses menghitung Luas segitiga.
    Luas = (alas * tinggi)/2; // sama saja seperti 1/2 * (alas * tinggi)
    printf("Hasil: %f\n", Luas); // menampilkan Hasil perhitungan

    return 0;
}
Output :
Bisa kita lihat bahwa
4 x 5 = 20 lalu dibagi 2 = 10
Hasilnya Benar.

Tetapi jika kita masukkan Alas = 3, dan tinggi = 3.
Seharusnya kita mendapat nilai 4.5, akan tetapi hasil yang kita harapkan berbeda..
Kenapa ?
Tentu saja karna nilai Alas dan Tinggi tersebut berupa Integer.
Jika kita mengoperasikan dua buah bilangan bulat, maka compiler otomatis akan mendeteksi bahwa hasil yang kita inginkan berupa bilangan bulat juga.


Contoh 2....

Code:
#include <stdio.h>

int main()
{
    float a = 2 / 10;
    printf("%f\n", a);

    return 0;
}
Apa outputnya ?
Tentu saja 0.00000

Tetapi jika kita mengubahnya dengan menambahkan angka 0 dibelakang koma menjadi
Code:
#include <stdio.h>

int main()
{
    float a = 2.0 / 10.0;
    printf("%f\n", a);

    return 0;
}
Maka hasilnya

Tapi apakah mungkin jika kita melakukan hal tersebut kepada Contoh kita yang pertama tadi ?
gak mungkinkan kita menyuruh user untuk nambahin .0 disetiap angka yg mereka input ? Repot banget.

Maka, untuk mempermudah kita dapat melakukan casting.
apa itu Casting ?
Mengganti ? Mengubah ?
Apa sajalah, Casting adalah suatu cara untuk mengubah tipe data dari variabel ke tipe data lain.

Caranya ?

Code:
#include <stdio.h>

int main()
{
    int alas, tinggi;
    float Luas;

    printf("Masukkan Alas: ");
    scanf("%d", &alas); // input alas
    printf("Masukkan Tinggi: ");
    scanf("%d", &tinggi); // input tinggi
    //Proses menghitung Luas segitiga.
    Luas = (float) (alas * tinggi)/2; // sama saja seperti 1/2 * (alas * tinggi)
    printf("Hasil: %f\n", Luas); // menampilkan Hasil perhitungan
    return 0;
}
Output jika kita input alas dan tinggi = 3:
Perhatikan Code Contoh1 tadi dan Code diatas.
apa yang beda ???

    Luas = (float) (alas * tinggi)/2;
iyak, ada syntax (float) sebelum (alas * tinggi)/2.
hal tersebutlah yang dinamakan casting. Jika sebelumnya yang kita proses itu adalah int, maka kita mengubah tipe data dari variabel alas dan tinggi menjadi float, agar bisa menghasilkan nilai berkoma.

Jika ada yang kurang dimengerti, bisa bertanya melalui Komentar dibawah Artikel ini.
Sekian dan Terima Kasih..

About Bagus

Blog ini berisi tentang semua apa yang ingin anda cari, yang isinya mulai dari permainan, video, informasi, programming, web dan masih banyak lagi. Semoga teman-teman semua suka dengan isi dari blog ini

No comments:

Post a Comment


Contact Form

Name

Email *

Message *

Translate

logo

Blog ini berisi tentang semua apa yang ingin anda cari, yang isinya mulai dari permainan, video, informasi, programming, web dan masih banyak lagi.

Jika blog ini masih banyak kesalahan dan kekurangan, silahkan kasih saran anda dan akan saya perbaiki semaksimal mungkin. Terima Kasih atas perhatiannya.