Pengertian Tipe Data [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Pengertian Tipe Data Sebelum sampai ke jenis-jenis tipe data di dalam bahasa C, ada baiknya membahas sedikit pengertian dari tipe data itu sendiri. Apa itu tipe data? Mengutip dari wikipedia (Data type): “A data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data”. Terjemahannya: “Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah pengelompokan data untuk memberitahu compiler atau interpreter bagaimana programmer ingin mengolah data tersebut” Secara sederhana, tipe data adalah cara kita memberitahu komputer untuk mengelompokkan data berdasarkan apa yang dipahami oleh komputer. Sebagai contoh, misalkan saya memiliki data berupa angka. Agar bisa dipahami oleh compiler bahasa C, data ini harus disimpan ke dalam variabel yang sudah di set agar bisa menyimpan angka. Di dalam bahasa C, terdapat tipe data integer dan float yang bisa diisi dengan angka. Sedangkan jika data tersebut berupa huruf, bisa disimpan ke dalam tipe data char.



Jenis-jenis Tipe Data dalam Bahasa C Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke dalam 4 kelompok besar: tipe data dasar, tipe data turunan, tipe data bentukan, dan tipe data void. 1. Tipe Data Dasar Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:   



Char: tipe data yang berisi 1 huruf atau 1 karakter. Integer: tipe data untuk menampung angka bulat. Float: tipe data untuk menampung angka pecahan.



Tipe data dasar dasar disebut juga sebagai Primary Data Type, Fundamental Data Types atau Basic Data Type. 2. Tipe Data Turunan Tipe data turunan berasal dari tipe data dasar yang dikelompokkan atau di modifikasi. Terdapat 3 tipe data turunan di dalam bahasa pemrograman C: Array: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data tersebut harus 1 jenis.  Structure: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data tersebut bisa lebih dari 1 jenis.  Pointer: Tipe data untuk mengakses alamat memory secara langsung. Tipe data turunan disebut juga sebagai Derived Data Type. 3. Tipe Data Bentukan (enum) Sesuai dengan namanya, tipe data bentukan adalah tipe data yang dibuat sendiri oleh kita (programmer). Isinya berupa data-data yang sudah ditentukan. Tipe data bentukan ini dikenal juga sebagai Enumerated Data Type atau disingkat sebagai enum. 4. Tipe Data Void Tipe data void adalah tipe data khusus yang menyatakan tidak ada data. Penggunaannya khusus untuk beberapa situasi seperti function yang tidak mengembalikan nilai (return void), atau mengisi argumen function dengan nilai kosong. 



Tanpa pengelompokan, berikut ke-8 tipe data dalam bahasa pemrograman C: 1. Char 2. Integer 3. Float 4. Array 5. Structure 6. Pointer 7. Enum Voidpe data char dalam bahasa C: 1



#include int main(void)



{ char huruf; huruf = 'Z'; printf("Huruf yang tersimpan adalah: %c",huruf); printf("\n"); return 0; }



2 3 4 5 6 7 8 9



1. menggunakan library khusus: stdbool.h. Sedangkan untuk string, di dalam bahasa C termasuk ke dalam array. String di defenisikan sebagai array dari tipe data char.



Penjelasan lebih lanjut tentang tipe data ini, termasuk contoh penggunaannya akan kita bahas secara bertahap dalam beberapa tutorial ke depan. Dalam contoh ini, saya mendefinisikan variabel huruf yang bertipe char. Huruf ini kemudian diisi dengan karakter ‘Z’ dan kemudian ditampilkan dengan perintah printf. Sangat sederhana. Untuk contoh kedua, saya akan buat konstanta dengan tipe data char: 1 2 3 4 5 6 7 8



#include int main(void) { const char huruf = 'a'; printf("Huruf yang tersimpan adalah: %c",huruf); printf("\n"); return 0; }



Disini huruf berupa sebuah konstanta bertipe char, bukan lagi variabel seperti sebelumnya. Mengenai perbedaan antara variabel dengan konstanta, sudah pernah kita bahas dalam beberapa tutorial sebelum ini: Cara Pembuatan Konstanta dalam Bahasa C, dan Pengertian Variabel dan Cara Penulisan Variabel Bahasa C. Sebagai contoh terakhir, saya akan kombinasikan dengan perintah scanf agar lebih dinamis: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18



#include int main(void) { char karakter1, karakter2, karakter3; printf("Input 3 karakter sembarang \n"); printf("========================== \n"); printf("\n"); printf("Karakter pertama: "); scanf(" %c",&karakter1); printf("Karakter kedua: "); scanf(" %c",&karakter2); printf("Karakter ketiga: "); scanf(" %c",&karakter3); printf("\n"); printf("karakter yang diinput adalah: %c %c %c", karakter1, karakter2, karakter3); printf("\n"); return 0; }



Di awal kode program, saya menyiapkan 3 buah variabel bertipe data char. Ketiga variabel ini bernama karakter1, karakter2 dan karakter3. Isi program akan meminta inputan dari user untuk 3 karakter tersebut, kemudian menampilkannya kembali. Yang juga patut diingat, karakter disini bisa terdiri dari huruf, angka, serta karakter khusus seperti ?, *, %, #. Jadi tidak masalah jika kita menginput angka ke dalam tipe data char. Namun angka tersebut tetap harus 1 digit. Angka yang diinput ke dalam tipe data char tidak bisa diolah, misalnya dipakai untuk perhitungan atau penambahan. Jika kita menginginkan hal ini, harus menggunakan tipe data khusus angka seperti integer atau float. Bagaimana dengan karakter yang lebih dari 1 digit, seperti kata atau kalimat? Di dalam bahasa C, kata atau kalimat (di kenal juga sebagai string) dianggap sebagai array dari tipe data char. Lebih lanjut akan kita pelajari setelah membahas tentang tipe data array nanti. Tipe data integer adalah tipe data yang dipakai untuk menampung angka bulat positif maupun negatif, seperti: 1, 99, dan -463. Di dalam bahasa C, terdapat beberapa sub-tipe integer yang dibedakan berdasarkan jangkauan angka yang bisa ditampung. Setidaknya terdapat 4 tipe data integer di dalam bahasa C:  



char short



int  long Loh, bukannya char adalah tipe data untuk karakter? Kenapa juga ada di dalam integer? Betul, inilah keunikan tipe data char di dalam bahasa C. Secara internal, char sebenarnya bertipe integer. Untuk membedakan apakah char ini berisi karakter atau huruf dilakukan pada saat menampilkannya. Jika di dalam perintah printf menggunakan kode %c, karakter lah yang akan ditampilkan. Sedangkan jika di dalam perintah printf menggunakan kode %d, maka akan menampilkan tipe data integer. Kita akan lihat perbedaannya dengan contoh kode program sesaat lagi. Tabel berikut merangkum jangkauan setiap tipe data integer dalam bahasa C: 



Jenis Tipe Data



Ukuran Memory Penyimpanan



Jangkauan



char



1 byte



-128 hingga 127



short



2 bytes



-32,768 hingga 32,767



int



2 bytes



-32,768 hingga 32,767



int



4 bytes



-2,147,483,648 hingga 2,147,483,647



long



4 bytes



-2,147,483,648 hingga 2,147,483,647



Ukuran Memory Penyimpanan adalah jumlah memory yang dibutuhkan untuk menyimpan angka tersebut. Semakin besar jangkauan, semakin banyak juga ruang memory yang dibutuhkan. Khusus untuk tipe data int, bisa terdiri dari 2 byte maupun 4 byte. Ini tergantung sistem komputer dan compiler bahasa C yang dipakai. Jangkauan tipe data diatas adalah untuk angka yang bertanda (signed). Maksudnya, setiap tipe data bisa menampung angka positif dan negatif. Kita bisa mengorbankan nilai negatif ini untuk memperbesar jangkauan angka positif dengan menambahkan keyword unsigned sebelum penulisan tipe data. Jika tipe data integer di-set sebagai unsigned (tidak bertanda), maka tipe data tersebut tidak bisa menampung angka negatif, namun jatah untuk angka negatif akan dialihkan kepada angka positif sehingga jangkauannya menjadi 2 kali lipat. Berikut tabel jangkauan setiap tipe data unsigned integer dalam bahasa C:



Jenis Tipe Data



Ukuran Memory Penyimpanan



Jangkauan



unsigned char



1 byte



0 hingga 255



unsigned short



2 bytes



0 hingga 65,53



unsigned int



2 bytes



0 hingga 65,53



unsigned int



4 bytes



0 hingga 4,294



unsigned long



4 bytes



0 hingga 4,294



Terlihat jangkauan angkanya menjadi lebih besar, tapi tidak bisa menampung angka negatif. Tipe data unsigned ini cocok untuk data yang tidak pernah negatif, seperti tinggi badan, berat badan, jumlah orang, dsb.



Contoh Kode Program Tipe Data Integer Bahasa C Cukup dengan teorinya, mari kita masuk ke contoh praktek. Dalam kode program berikut ini saya menampilkan ke-4 tipe data integer dalam bahasa C: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17



#include int main(void) { char angka1; short angka2; int angka3; long angka4; angka1 = 127; angka2 = 32767; angka3 = 2147483647; angka4 = 2147483647; printf("Isi variabel printf("Isi variabel printf("Isi variabel printf("Isi variabel printf("\n"); return 0; }



angka1 angka2 angka3 angka4



(char): %d \n",angka1); (short) %d \n",angka2); (int): %d \n",angka3); (long): %d \n",angka4);



18



Kode program ini cukup sederhana. Pertama, saya membuat 4 variabel: angka1, angka2, angka3dan angka4. Setiap variabel di-set dengan tipe data yang berbeda-beda, dimana variabel angka1sebagai char, variabel angka2 sebagai short, variabel angka3 sebagai int, dan variabel angka4sebagai long. Setelah pendefinisian variabel, setiap variabel diisi dengan angka. Angka yang ada sengaja saya set dengan nilai maksimum untuk setiap tipe data. Terakhir setiap variabel ditampilkan menggunakan perintah printf. Khusus untuk char, ini memang cukup unik. Karena fungsinya akan berbeda tergantung cara menampilkan tipe data ini. Berikut contoh perbedannya: 1 2 3 4 5 6 7 8 9 10 11 12 13



#include int main(void) { char foo = 65; char bar = 'Z'; printf("Isi variabel printf("Isi variabel printf("\n"); printf("Isi variabel printf("Isi variabel printf("\n"); return 0; }



foo (char): %d \n",foo); foo (char): %c \n",foo); bar (char): %d \n",bar); bar (char): %c \n",bar);