Anda di halaman 1dari 9

60

PERTEMUAN 11

STRING

A. TUJUAN

- Memahami konsep string.


- Memahami I/O pada string.
- Memahami cara mengakses elemen string.
- Memahami fungsi-fungsi pada string

B. TEORI DASAR

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 C, string bukanlah merupakan tipe data tersendiri, melainkan hanyalah
kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi satu.

1.Konstanta String

Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda.
Contoh :
“ABCDE”
2. Variabel String
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.
Contoh :
char name[15];
merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 15
karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya tidak lain merupakan
deklarasi array bertipe char.
61

3.Inisialisasi String

Suatu variabel string dapat diinisialisasi seperti halnya array yang lain. Namun tentu
saja elemen terakhirnya haruslah berupa karakter NULL.
Sebagai contoh :
char name[ ] = {'R','I','N', 'I',’\0’};
atau bisa dituliskan :
char name[ ] = “RINI”;
Pada bentuk ini, karakter NULL tidak perlu ditulis. Secara implisit akan disisipkan oleh
kompiler. Perlu diperhatikan, bila name dideklarasikan sebagai string, penugasan (assignment)
suatu string ke variabel string seperti :
name = “RINI”; // adalah tidak diperkenankan.

4. Input Output Data String

Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan fungsi gets( ) atau
scanf( ).
Bentuk umum pemakaiannya adalah sebagai berikut :
gets(nama_array);
atau
scanf(“%s”, nama_array);
Keterangan :
- nama_array adalah variabel bertipe array of char yang akan digunakan untuk
menyimpan string masukan.
- Di depan nama_array tidak perlu ada operator & (operator alamat), karena nama_array
tanpa kurung siku sudah menyatakan alamat yang ditempati oleh elemen pertama dari
array tsb.
- Kalau memakai scanf(), data string masukan tidak boleh mengandung spasi.

Untuk menampilkan isi variabel string, fungsi yang digunakan adalah puts( ) atau printf( ).
Bentuk umum pemakaiannya adalah sebagai berikut :
puts(var_string);
atau
printf("%s",var_string);
62

Keterangan :
- Dalam hal ini var_string adalah sebuah variabel yang berupa sebuah array of char.
- Fungsi puts() akan menampilkan isi dari var_string dan secara otomatis menambahkan
karakter '\n' di akhir string.
- Fungsi printf() akan menampilkan isi variabel string tanpa memberikan tambahan '\n'.
- Agar kedua pernyataan di atas memberikan output yang sama, maka pada pernyataan
printf( ) dirubah menjadi :
printf("%s\n", var_string);
Contoh program :
#include <stdio.h>
main()
{
char name[15];
printf("Masukkan nama Anda : ");

scanf("%s", name);
printf("\nHalo, %s. Selamat belajar string.\n", name);
}

5. Mengakses Elemen String

Variabel string merupakan bentuk khusus dari array bertipe char. Oleh karena itu,
elemen dari variabel string dapat diakses seperti halnya pengaksesan elemen pada array.
Perhitungan jumlah karakter dari string teks dapat dilakukan dengan memeriksa elemen
dari string dimulai dari posisi yang pertama (indeks ke0) sampai ditemukannya karakter NULL.
Contoh Program (Menghitung Jumlah Karakter)
#include <stdio.h>
#define MAKS 256
main()
{
int i, jumkar = 0;
char teks[MAKS];
puts("Ketikkan suatu kalimat (maks 255 karakter).");
puts("Saya akan menghitung jumlah karakternya.\n");
fgets(teks, sizeof teks, stdin);
for(i=1; teks[i]!='\0'; i++)
jumkar++;
printf("\nJumlah karakter = %d\n", jumkar);
}

6. Fungsi-Fungsi pada String


63

Berikut ini akan dibahas beberapa fungsi pustaka yang umumnya disediakan oleh
kompiler C untuk mengoperasikan suatu nilai string. Fungsi-fungsi pustaka untuk operasi
string, prototype-prototype nya berada di file judul string.h.
Fungsi tersebut antara lain :
 Fungsi strcpy ( ) : meng-copy string
 Fungsi strlen ( ) : memperoleh banyaknya karakter dalam string
 Fungsi strcat ( ) : menggabung nilai string
 Fungsi strrev ( ) : membalik urutan string
 Fungsi strcmp ( ) : membandingkan nilai string pertama dengan nilai string kedua
 Fungsi strcmpi ( ) : membandaydaaq3wwdingkan 2 nilai string secara non-case
sensitive
 Fungsi strchr ( ) : mencari nilai karakter dalam string

6.1 Fungsi strcpy ( )


Kegunaan : meng-copy string
Bentuk penulisannya :
#include<stdio.h>
strcpy(tujuan , asal);
Contoh program :
64

6.2 Fungsi strlen ( )


Kegunaan : memperoleh banyaknya karakter dalam string
Bentuk penulisannya :
#include<string.h>
strlen(var_string);
Contoh program strlen :

Gambar 10.3 : Contoh Program Strlen

6.3 Fungsi strcat ( )


Kegunaan : menggabung nilai string.
Bentuk penulisannya :
#include<string.h>
strcat(tujuan , asal);
Contoh program :
65

6.4 Fungsi strrev ( )


Kegunaan : membalik urutan string.
Bentuk penulisannya :
#include<stdio.h>
strrev(var_string);
Contoh program :

6.5 Fungsi strcmp ( )


Kegunaan : membandingkan nilai string pertama dengan nilai string kedua.
Bentuk penulisannya :
#include<stdio.h>
strcmp(str1,str2);
Output dari fungsi ini bertipe int yang berupa nilai :
 -1, jika str1 kurang dari str2
 0, jika str1 sama dengan str2
 1, jika str1 lebih dari str2
Pembandingan dilakukan untuk karakter pada posisi yang sama dari str1 dan str2, dimulai dari
karakter terkiri yang didasarkan oleh nilai ASCII nya.
Misal, karakter ‘A’lebih kecil daripada ‘B’dan karakter ‘B lebih kecil daripada ‘C’.
Contoh program :
66

6.6 Fungsi strcmpi ( )


Kegunaan : membandingkan 2 nilai string secara non-case sensitive
Bentuk penulisannya :
#include<stdio.h>
strcmpi(str1,str2);
Contoh program :

6.7 Fungsi strchr( )


Kegunaan : mencari nilai karakter dalam string.
Bentuk penulisannya :
67

#include<stdio.h>
strchr(var_string , kar);
Contoh program :

C. TUGAS

1. Jelaskan secara singkat dan jelas mengenai penyimpanan urutan nilai string ?
2. scanf(“%s”,nama_array);
Jelaskan mengapa tidak perlu operator “&” sebelum nama_array ?
68

D. PRAKTIKUM

1. Buatlah program yang dapat menampikan identitas anda, NIP, Nama.

Input:
NIP : 123123
Nama Anda : Andi
Output:
NIP : 123123
Nama : Andi

2. Buatlah program dengan menggunakan strrev, strlen dan strcat. Input sesuai user.

Dengan tampilan sebagai berikut :

3. Buatlah program untuk membandingkan dua buah kata yang di inputkan!

4. Buatlah program untuk mencopy nilai String pertama ke String kedua!

5. Buatlah SATU program yang menerima masukan nama Anda, rubah ke dalam huruf besar
semua, balikkan urutan hurufnya, selanjutnya tampilkan hasilnya di layar. Nilai tambah : pecah
menjadi fungsi-fungsi ubah(), balik(), dan tampil() dengan menjadikan array sebagai parameter
fungsi

E. ANALISA

(diisi mahasiswa)

F. KESIMPULAN

(diisi mahasiswa)

Anda mungkin juga menyukai