karakter dan string (11)
TRANSCRIPT
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