Bagaimana Karakter atau String di Simpan Di Memori


Okay, teman pembaca sekalianūüôā

Kali ini saya akan menjelaskan sebuah logika bagaimana sebenarnya Tipe Karakter atau Tipe String itu di simpan di memori komputer. Untuk Logika Tipe Lainnya seperti integer, float, dan lain sebagainya, akan saya bagikan pada artikel saya yang berikutnya.

Agar tidak terlalu jauh pembahasan, maka saya akan memilih satu bahasa sebagai patokan kita, yakni Bahasa C. tentu saja pemilihan bahasa ini karena bahasa ini sudah sangat terkenal. Bagi teman-teman yang tidak mengerti sama skali tentang Bahasa ini dan hanya mengenal Bahasa Pemrograman Lain, tenang saja. Pada dasarnya, semua Bahasa Pemrograman sama, dan cara/logika menyimpan tipe data di memori juga pasti sama.

OK, sebelumnya saya akan menerangkan tipe data yang ada pada Bahasa C, perhatikan gambar berikut:

Nama Ukuran Jangkauan Keterangan
Void 0   Kosong
Char 1 Byte 0 sampai 255 Karakter
Int 4 Byte -2,147,483,648 sampai 2,147,483,647 Integer
Float 4 Byte 3.4E-38 sampai 3.4E+38 Pecahan Ketepatan Tunggal
Double 8 Byte 1.7E-108 sampai 1.7E+108 Pecahan Ketepatan Ganda

ohh ya,,, pada komputer sy saya menggunakan Ubuntu 32 bit, dengan compiler gcc version 4.6.3, karena jangkauan nilai dan ukurannya sangat tergantung dengan arsitektur komputer kita dan compiler yang kita gunakan, jadi untuk lebih jelas selahkan coba mengecek ukuran dari tipe data di atas pada komputer anda dengan menggunakan fungsi sizeof() di C. Namun pada dasarnya, perbedaan tipe data itu, tidak akan mempengaruhi apa yang akan kita bahas kali ini.

langsung saja, dalam setiap bahasa pemrograman, lebih khususnya bahasa C, tipe char (karakter) hanya dapat menampung angka 0 sampai 255. Yang jadi permasalahan sekarang, mengapa dalam program kita bisa menyimpan data karakter pada tipe data char??

Pada saat menyimpan pada tipe data char, maka secara otomatis compiler akan mengkonversi data angka yang tersimpan ke dalam bentuk kode ASCII. Dengan kata lain, karakter yang di simpan sebenarnya adalah angka namun saat diimplementasikan dalam program, dapat digunakan sebagai karakter karena mengacuh pada kode ASCII tersebut. sebagai contoh, jika kita menyimpan karakter ‘A’, maka yang disimpan dalam memori adalah desimal 65 atau dengan kata lain, 1 byte (8 bit) yang ada dimemori, akan disimpan dalam bentuk biner sebagai 0100 0001. dan biner inilah yang mewakili karakter A tadi…. pada dasarnya, saat program mengambil data untuk ditampilkan dalam bentuk karakter, maka biner tadi akan dikonversi ke kode ASCII, sedangkan jika mengaksesnya dengan format numerik, maka yang akan ditemukan adalah nilai 65. jika kita paham dengan cara penyimpanan karakter seperti demikian, maka kita dapat memanfaatkannya sebagai pencacah pada perulangan dengan jangkauan 0-255.. hehehehehe…..

ascii-codes-tablesumber : http://www.theasciicode.com.ar/

Lalu bagaimana dengan string pada pemrograman di pascal misalnya????

seperti kita ketahui, string adalah kumpulan karakter, contohnya: “hello”. Pada dasarnya string ini disimpan sama dengan format pada tipe data karakter di atas tadi. semisal, kita ingin menyimpan kata “hello” pada variabel A. maka lebar variabel a akan menjadi 6×8 bit. 8 bit karena setiap 1 karakter adalah 8 bit. dan angka 6 di dapat dari jumlah string di tambah 1. kenapa di tambahkan dengan 1?? karena pada dasarnya, akhir dari sebuah string disimpan dengan karakter null sebagai tanda dari akhir string tersebut. sebagai contoh, string “hello” dalam memori akan disimpan dengan “hello\n” dengan aturan yang sama dengan penyimpanan karakter di atas tadi.. jadi yang disimpan di memori adalah¬†68656C6C6F\n dalam bentuk heksa, atau dalam bentuk biner¬†01101000 01100101 01101100 01101100 01101111 dan diakhiri dengan karakter null (\n). Pada dasarnya sebuah string adalah Larik Karakter 1 dimensi… yang bagaimana lagi Larik itu?? hehehhe, mungkin sya akan share tentang Larik pada artikel-artikel saya selanjutnya, yahūüôā

Terima kasih, jika terdapat kekeliruan, tolong dimaafkan, dan tolong di koment di bawah, biar bisa di jadikan bahan koreksi dan membetulkan yang keliru, terima kasih sudah membacaūüôā

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s