Praktikum 10 String
Praktikum 10 String
STRING
A. 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
B. DASAR TEORI
String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman untuk
keperluan menampung dan memanipulasi data teks. Misalnya untuk menampung
(menyimpan) suatu kalimat. Pada bahasa pemrograman C, string bukanlah sebagai tipe
data tersendiri, melainkan hanya jenis khusus dari array. String ditulis dengan diawali dan
diakhiri tanda petik ganda dan nilai string “selalu” diakhiri dengan tanda NULL (\0)
Misal : “ABCDE”
1. Konstanta String
Kostanta “ABCDE” disimpan dalam memory secara berurutan, dengan komposisi
sebagai berikut :
Memory rendah Memory tinggi
AA BB CC DD E E \0\0
Setiap karakter akan menempati memory sebesar 1 byte. Byte terakhir secara otomatis
akan berisi karakter NULL (\0).
2. Variabel String
Variabel string adalah variable yang dpakai untuk menyimpan string.
Misal :
char nama[15];
merupakan instruksi untuk mendeklarasikan variable string dengan panjang maksimal 15
karakter (termasuk karakter Null.
1
3. Input Data String dari Keyboard.
Untuk memasukkan data string ke dalam suatu variable dapat dilakukan dengan 2
jenis perintah / fungsi:
a. gets(nama_array);
b. scanf(“%s”,&nama_array);
Perhatikan :
Nama_array adalah variable bertipe array_of_char
Pada instruksi scanf(), di depan nama_array boleh diberi operator &, boleh tidak.
Prototype gets() ada pada file stdio.h
Gets() akan membaca seluruh karakter yang diketik sampai penekanan ENTER. Tidak
ada pengecekan terhadap batasan dari array. Jika string yang dimasukkan melebihi
ukuran array, sisa string berikutnya akan ditempatkan sesudah bagian terakhir dari
array. Hal ini akan menimbulkan kejadian yang tidak diinginkan, seperti berubahnya
isi variable.
4. Insialisasi String
Cara pengisian variable string dapat dilakukan dengan dua cara :
char kompiler_c[] = {’T’,’U’,’R’,’B’,’O’,’ ’,’C’,’\0’};
atau
char kompiler_c[]=”TURBO C”;
6. Fungsi-fungsi String
Merupakan kumpulan fungsi-fungsi pustaka string yang prototype-nya berada pada
file string.h
2
a. Fungsi strcpy() untuk menyalin nilai string
Bentuk penulisan :
#include<string.h>;
strcpy(tujuan, asal);
b. Fungsi strlen() untuk mengetahui panjang nilai string
Bentuk penulisan :
#include<string.h>;
strlen(var_string);
c. Fungsi strcat() untuk menggabungkan nilai string
Bentuk penulisan :
#include<string.h>;
strcat(tujuan, sumber);
d. Fungsi strcmp() untuk membandingkan dua nilai string
Bentuk penulisan :
#include<string.h>;
strcmp(str1, str2);
e. Fungsi strchr() untuk mencari nilai karakter dalam string
Bentuk penulisan :
#include<string.h>;
strchr(var_string, kar);
C. PERCOBAAN
#define MAKS 15
main()
{
char nama[MAKS];
3
2. Menghitung banyaknya karakter dari suatu string yang dimasukkan melalui keyboard.
main()
{
int i, jumkar = 0;
char teks[MAKS];
4
#include<stdio.h>
#define MAKS 30
main()
{
int i;
char asli[] = "Saya menyukai bahasa C";
char salinan[MAKS];
i=0;
while(asli[i] != '\0')
{
salinan[i]=asli[i];
i++;
}
salinan[i]='\0';
printf("Isi salinan adalah : %s\n",salinan);
}
main()
{
char str1[80];
5
char str2[]="ABCDE";
strcpy(str1,str2);
5. Menghitung jumlah karakter dari suatu string masukan menggunakan fungsi strlen().
#include <stdio.h>
#include <string.h>
main()
{
char kal[MAKS];
99
6. Menggabungkan isi string1 dengan string2 menggunakan fungsi strcat().
#include<stdio.h>
#include<string.h>
#define PJG 15
main()
{
char str1[PJG], str2[PJG];
100
main()
{
char str1[]="ABcde";
char str2[]="ABCDE";
int hasil;
hasil=strcmp(str1,str2);
if(hasil==0)
printf("String 1 sama dengan String 2\n");
else if(hasil < 0)
printf("String 1 lebih kecil dari String 2\n");
else
printf("String 1 lebih besar dari String 2\n")
}
101
C. SOAL
1. Buat program untuk membalik string masukan.
Input : string masukan
Output : hasil pembalikan string masukan
Contoh :
Kalimat yang mau dibalik : Saya sedang belajar C
Hasil pembalikan kalimat : C rajaleb gnades ayaS
(Petunjuk : gunakan fungsi strlen() untuk mendapatkan panjang kalimat)
102
KESIMPULAN
103