BAB II String
BAB II String
STRING
Tujuan :
1. Menjelaskan tentang konsep string
2. Menjelaskan operasi I/O pada string.
3. Menjelaskan cara mengakses elemen string
4. Menjelaskan berbagai fungsi mengenai string
“ABCDE”
Bila string hanya berisi karakter NULL, maka disebut
string kosong dan ditulis : ՝՝ ՛՛
Nilai string ini disimpan dalam memori secara
berurutan dengan komposisi sebagai berikut:
3.1.2Variabel String
Variabel string adalah variabel yang dipakai utuk menyimpan nilai
string, variabel string memungkinkan pemrogram
dengan mudah menemukan informasi dalam kodenya dan
menggunakan kembali nilai dalam programnya. Variabel
dapat berubah- berbeda-beda- dan string memudahkan
pemrogram untuk membaca dan mengubah nilai yang
ditetapkan ke variabel berbeda di seluruh program mereka
Misalnya :
3.3Inisialisasi String
Variabel string dapat diinisialisasi seperti array lainnya.
Namun tentu saja elemen terakhir harus berupa
karakter NULL. Sebagai contoh :
#include <stdio.h>
gets(nama_array); atau
printf("\nHalo, %s.
Selamat belajar string.\n",name);
}
Contoh eksekusi :
name :
Setelah data yang dimasukkan berupa : ALJAZAIRI name :
karakter NULL
A L Z A J AI RI \0
byte sisa tak dipakai Gambar 2.2 Variabel string dan data
string Pada gambar di atas nama array tanpa kurung siku
(name) menyatakan alamat dari lokasi data string. Dan dengan
pemasukan data seperti di atas, lokasi memori yang terletak
sesudah lokasi yang berisi ‘N’ akan secara otomatis terisi
karakter NULL (lihat gambar 2.2)
Perlu diketahui bahwa fungsi get() akan membaca semua
karakter yang dimasukkan melalui keyboard hingga tombol
ENTER ditekan. Dalam hal ini, tidak ada pemeriksaan
terhadap batas panjang argumen array. Jika string input
melebihi ukuran array, sisa string (panjang string input
dikurangi ukuran array ditambah karakter NULL) akan
ditempatkan setelah akhir array. Tentu saja kejadian seperti ini
dapat menyebabkan hal-hal yang tidak diharapkan, misalnya
mengubah isi variabel yang dideklarasikan setelah array
karena diisi dengan string yang diketik (ditimpa), atau program
benar-benar berbeda dari yang diinginkan pengguna array,
dalam hal ini ada sebuah kesalahan. Pemantauan
(debugging) sangat sulit dilakukan, bahkan terjadi gangguan
program yang tidak normal.
Untuk mengatasi hal itu, disarankan untuk menggunakan
fungsi fgets() untuk menggantikan fungsi gets() dalam
memasukkan data string.
Bentuk umum pemakaian fgets() adalah :
#include <stdio.h>
fgets(nama_array, sizeof nama_array, stdin);
puts(var_string);
atau
printf("%s",var_
string);
printf("%s\n", var_string);
main()
{
bentuk1(); bentuk2();
}
void bentuk1(void)
{
char kompiler_c[] =
{'V','i','s','u','a','l',' ','C','+','+','\0'};
puts(kompiler_c);
}
void bentuk2(void)
{
char kompiler_c[] = "VisualC++"; printf("%s\n", kompiler_c);
}
Contoh eksekusi :
*/
Contoh eksekusi :
Jumlah karakter = 26
Menghitung jumlah karakter suatu string teks dapat
dilakukan dengan memeriksa elemen string mulai dari posisi
pertama (indeks ke-0) hingga ditemukan karakter NULL.
Elemen ke-i dari teks direpresentasikan sebagai
teks[i]
jumkar++;
teks[i] != ‘\0’;
i=0;
while (asal[i] != ‘\0’)
{
hasil[i] =asal[i]; i++;
}
hasil[i] = ‘\0’; /* beri karakter NULL */ printf(“Isi hasil : %s\
n”, hasil);
}
Contoh eksekusi :
i=0;
while (keterangan[i] != ‘\0’)
{
kalimat[i] =keterangan[i]; i++;
}
i=0;
while (kalimat[i] = keterangan[i]) i++;
kalimat[i] = ‘\0’;
3.6 Fungsi-Fungsi Mengenai String
Di bawah ini kita akan membahas beberapa fungsi
perpustakaan yang biasa disediakan oleh kompiler C untuk
beroperasi pada nilai string. Pustaka fungsi manipulasi string,
prototipenya ada di file header string.h. Beberapa fungsi
perpustakaan untuk operasi string akan dibahas di bawah ini.
main()
{
char str1[MAKS]; charstr2[]="ABCDE";
main()
{
char salam[] = "Halo";
karakter\n", strlen(salam));
}
Contoh eksekusi :
Panjang string = 4 karakter
3.6.3 Fungsi strcat() untuk Menggabung Nilai String
Bentuk pemakaian :
Contoh eksekusi :
<string.h>
main()
{
char str1[]="HALO”; char str2[]="Halo"; char str3[]="HALO”;
Contoh eksekusi :
main()
{
char str[]="ABcde”; /*
inisialisasi string*/ char *hasil1,*hasil2;
/* var bertipe pointer to char, agar bisa ditampilkan
isi dari alamat yang ditunjuk oleh hasil1 & hasil2*/
Contoh eksekusi :