Anda di halaman 1dari 21

Karakter dan String

String
String sering digunakan untuk menangani data bertipe teks. Misalnya : nama, alamat, kota, dll. String adalah suatu rangkaian karakter yang diakhiri null (\0).

Mendeklarasikan string
Deklarasi string sama dengan deklarasi array char nama_variabel[indeks] Contoh : char kota[15]
Berarti variabel string dengan nama kota, yang dapat menampung sampai 14 karakter.

Karakter ke 15, adalah null, karena string secara otomatis akan selalu ditmbahkan ke dalam string tersebut Karakter yang dapat ditampung adalah besarnya indeks dikurang satu

Inisialisasi string
Ada dua cara untuk menginisialisasi string.
Char kota[6] = {B,O,G,O,R,/0};
Char kota[6]=BOGOR;

Mencetak string
Sama seperti yang lainnya, string dapat dicetak menggunakan printf(); Penentu tipe (tipe specifier) dari string digunakan %s, contoh : Printf(kota hujan adalah : %s , BOGOR); Bila yang dicetak menggunakan variabel :
Char kota*6+=BOGOR; Printf(kota hujan adalah : %s, kota);

Bila mencetak 1 string :


Printf(kota hujan adalah : %s, kota[1]); Maka outputnya adalah kota hujan adalah : B.

Menginputkan String
#include <stdio.h> #include <conio.h> int main() { char nama[9]; printf("\nNama Anda: "); scanf("%s",nama); printf("Halo %s, senang berjumpa dengan Anda",nama); getch(); return 0; }

Perhatikan pada perintah : scanf("%s",nama); Yang digunakan adalah nama, bukan &nama. Ini terjadi karena pada array nama variabel yang tidak diikuti indeks menunjukkan alamat dari elemen pertama, jadi :
Nama sama artinya dengan &nama[0]; Catatan: data yg diinputkan menggunakan scanf(), tidak boleh mengandung spasi atau tab, karena data akan dianggap selesai bila scanf() menjumpai spasi atau tab.

Perintah I/O lainnya


Ada beberapa input/output khusus untuk string, yaitu : puts(),gets(), cputs(), dan cgets(). Puts()
Mirip dengan perintah printf(), yaitu digunakan untuk mencetak perintah di layar. Puts() berasal dari kata Put String. Bentuk umum fungsi ini : puts(string) String dapat berbentuk konstanta : puts(hello); Atau variabel : puts(nama);

Puts()
Setiap yang dicetak secara otomatis akan diakhiri dengan \n. String berikutnya akan dicetak pada baris bawahnya. Tidak memerlukan tipe specifier, karena fungsi ini dikhususkan untuk string. Gets() Digunakan untuk menginputkan data string. Bentuk umum : gets(nama_variabel_array); contoh :gets(nama); Berbeda dengan scanf(), fungsi ini dapat menerima data string yang mengandung spasi ataupun tab

Contoh
#include <stdio.h> #include <conio.h>

int main() { char nama[9]; puts("Nama Anda: "); gets(nama);


puts("Senang berjumpa dengan Anda,"); puts(nama); getch(); return 0; }

Cputs()
Perintah ini sama dengan puts(), hanya saja pada akhir string tidak diakhiri dengan \n. Contoh : cputs(apa kabar ); cputs(hello;

Cgets()
untuk menginputkan data string tunggal Mirip dengan gets(), tapi cara penyimpanannya berbeda Gets(), akan menyimpan karakter mulai dari yang pertama, Cgets() mulai menyimpan karakter mulai pada elemen yang ketiga, elemen kedua untuk menyimpan jumlah karakter

0 1 2 3 4 5

h e l l o

Perintah gets()

0 1 2 3 4 5 6 7

Nilai ASCII-nya 6

h e l l o

Perintah cgets()

Fungsi atoi() dan atof()


Fungsi ini digunakan untuk mengkonversi string menjadi numerik Fungsi ini sering digunakan terutama bila data numerik yang diinputkan menggunakan fungsi cgets() atau gets(). Atoi()
Merupakan singkatan dari ASCII to Integer

#include <stdio.h> #include <conio.h> int main() { char x[10]; int bil; printf("Inputkan sebuah bilangan integer: "); gets(x);

/* konversi string ke integer */ bil=atoi(x);


printf("\nBilangan tersebut : %d",bil); printf("\n %d + 10 = %d",bil,bil+10); getch(); return 0; } //simpan dengan format .C

Bila yang diinputkan angka 10, maka akan diterima sebagai string oleh gets(), kemudian akan dikonversi menjadi integer oleh atoi() Atof()
Fungsi ini digunakan untuk mengkonversi data string menjadi float Atof singkatan dari ASCII to Float

#include <stdio.h> #include <conio.h> int main() { float atof(); char x[10]; float bil; printf("Inputkan sebuah bilangan pecahan: "); gets(x);

/* konversi string ke integer */ bil=atof(x);


printf("\nBilangan tersebut : %.3f",bil); printf("\n %.3f + 10 = %.3f",bil,bil+10); getch(); return 0; } //simpan dengan format .C

Pada Bahasa C/C++ terdapat library khusus yang menangani karakter.

Fungsi Penanganan Karakter

Anda mungkin juga menyukai