Karakter Dan String (11)

21
Karakter dan String

Transcript of Karakter Dan String (11)

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 ‘h’

1 ‘e’

2 ‘l’

3 ‘l’

4 ‘o’

5

0

1

2

3 ‘h’

4 ‘e’

5 ‘l’

6 ‘l’

7 ‘o’ Perintah gets()

Perintah cgets()

Nilai ASCII-nya 6

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

Fungsi Penanganan Karakter • Pada Bahasa C/C++ terdapat library khusus yang menangani

karakter.