-->
KOMPUTER67
Lebih dari sekedar belajar !

Tipe Data Character | Belajar Struktur Data C & C++



Tipe Data Character | Belajar Struktur Data C & C++
Tipe Data Character | Belajar Struktur Data C & C++
Apa itu tipe data character atau karakter ? Tipe data karakter adalah sebuah data yang disimpan dengan menggunakan memori sebesar 1 Byte (8 bit), yang hanya bisa diisi dengan 1 karakter. Karena hanya menggunakan satu byte, maka tipe data ini disebut dengan tipe data character.

Tipe Data Character dibedakan menjadi 2 yaitu :


- Signed Char

Signed Char adalah tipe data character yang nilainya berkisar antara -128 hingga 127. Ingat tipe data character selalu mempunyai 255 kemungkinan (karena 1 byte berisi 8 bit, dan 8 bit dikombinasi menghasilkan 255 kombinasi 0 dan 1). Sekarang dihitung : 127- (-128) + 1 = 256. Mengapa +1 ? Karena 127 termasuk dalam kombinasi tersebut.

Nah mungkin kita sudah biasa mendeklarasikan variable char di C/C++ seperti


#include <stdio.h>

int main()
{
    char x;
    x = 'b';
}

Tanpa kita sadari bahwa jika kita hanya menuliskan "char x" maka secara otomatis tipe data tersebut adalah Signed Char bukan Unsigned Char.
Kita tahu bahwa semua variable di dalam pemrograman C/C++ itu disimpan di dalam memori. Lalu apa bentuknya bila kita mendeklarasikan
    char x;
    x = 'b'; 

Untuk melihat bagaimana penyimpanan variable x di dalam memori maka kita harus mengkonvert variable x menjadi biner. Caranya seperti ini :
x berisi karakter 'b'. Karakter 'b' mempunyai ASCII 98. Setelah itu kita konvert 98 ke biner.
Maka didapat hasil
01100010
Tepat 8 bit. Nah biner itulah yang disimpan di dalam memori.

Contoh lain yang membuktikan bahwa jika kita mendeklarasikan "char x" itu sama dengan kita mendeklarasikan "signed char" :
#include <stdio.h>

int main()
{
    char x;
    x = 225;
    printf("%i", x);
}
Output :
-31
Wow ! Kok bisa jadi -31 ? Mengapa tidak 225. Seperti yang saya katakan diatas. Bila kita mendeklarasikan "char x" maka secara otomatis variable 'x' memiliki tipe data signed character.
Lalu bagaimana bisa jadi -31 ?
Oke, kita jelaskan dari awal.
=> Pertama variabel x di set bernilai 225
=> Padahal x tipe data signed char, maka -1 * (255 - 225 + 1) = -31
=> Lalu cetak variabel x dengan format %i atau integer dan menghasilkan output -31
-
Bagaimana jika kita membuat variabel x bernilai 255, maka output yang dihasilkan seharusnya -127 dong, karena 255 adalah batas dan -127 juga batas. Mari kita buktikan
-1 * (255 - 255 + 1) = -1

Dan Anda bisa buktikan sendiri lewat compiler C++/C.

- Unsigned Char

Langsung saja kita ke contoh berikut :


#include <stdio.h>

int main()
{
    unsigned char c;
    c = 255;
    printf("%d", c);
}
Outputnya adalah :
255
Mengapa tetap 255 ? Ya karena unsigned char adalah tipe data character yang memiliki range dari 0 - 255.

Inti Perbedaan Signed Char dan Unsigned Char

Signed char bila diisi nilai 128 maka bila di print menggunakan format %i maka outputnya -127
Unsigned char bila diisi nilai 128 maka bila di print menggunakan format %i maka outputnya 128

Mudah kan ? Untuk lebih memudahkan lagi kita buat seperti ini saja
Signed Char     : 0,1,2,3,...,126,127,-128,-127,-126,-125,...,-3,-2,-1
Unsigned Char: 0,1,2,3,...,126,127, 128, 129, 130, 131,......,253,254,255

Itu adalah 2 macam tipe data character di C/C++ 

INGIN LIVE CHAT ? INGIN TANYA JAWAB GRATIS ? YUK LANGSUNG SAJA CHAT DENGAN KAMI DI FANSPAGE KOMPUTER67

    Blogger Comment
    Facebook Comment

0 komentar :

Post a Comment