Anda di halaman 1dari 12

MODUL KULIAH

SEKOLAH TINGGI TEKNOLOGI INFORMASI NIIT

Mata Kuliah Algoritma dan Pemograman


Semester Genap 2021/2022
Dosen Hari Setiyani, ST, MKom

Modul 1 (Satu)
Pertemuan 1 (Satu)
Topik String
Sub Topik Pengenalan String
Materi  Definisi String
 Variabel String
 Inisialisasi String
 Manipulasi String
Tujuan Dapat memahami mengenai tentang string

1
STRING

Pendahuluan
String merupakan suatu kumpulan karakter yang terangkai secara
bersamaan. Dalam bahasa C, string bukan merupakan tipe data tersendiri,
namun merupakan jenis khusus dari tipe array.
Tipe string dapat digunakan sebagai konstanta, yang ditulis dengan
diawali dan diakhiri tanda petik ganda. Misalnya:“ Teknik Informatika”.
Konstanta string seperti di atas disimpan dalam memori secara berurutan,
dengan komposisi sebagai berikut:
T E K N I K I N F O R M A T I K A

Setiap karakter akan menempati memori sebesar 1 byte, dan byte terakhir
otomatis akan berisi karakter NULL. Untuk setiap pendeklarasian string kita juga
harus mengalokasikan ruang untuk menempatkan karakter null tersebut. Contoh
lain apabila kita ingin menyimpan teks “Cheri”, maka kita membutuhkan suatu
array dengan 6 buah elemen. Hal ini artinya kita akan menempatkan 6 buah
karakter, yaitu 5 buah karakter untuk teks “Cheri” dan 1 karakter untuk karakter
null. Dibawah ini gambar yang akan merepresentasikannya.
C h e r i \0

S[0]

S[1]

S[2]

S[3]

S[4]

S[5]

2
Pada gambar diatas elemen S[5] berisi karakter null yang menunjukkan bahwa
string tersebut telah berakhir.

Variabel String
Variabel string digunakan untuk menyimpan data string.
Misalnya: char nama[15];
Contoh diatas merupakan instruksi untuk mendeklarasikan variabel tipe string
dengan panjang maksimal mengandung 15 karakter (termasuk karakter NuLL).
Deklarasi di atas sebenarnya adalah deklarasi array bertipe char.
Untuk memasukkan data string ke dalam suatu variabel dapat dilakukan dengan
menggunakan instruksi gets( ), dengan bentuk umum pemakaiannya adalah:
gets(nama_array);
Jika menggunakan statemen scanf( ), maka instruksinya akan menjadi:
scanf(“%”,nama_array);
Di depan nama array tidak perlu ada operator &(operator alamat), karena nama
array tanpa kurung siku sudah menyatakan alamat. Jika menggunakan scanf( ),
data string masukan tidak bisa mengandung spasi. Prototipe gets( ) terdapat
pada file stdio.h.

#include <stdio.h>
main()
{
char nama[15];
printf("Nama anda: ");
gets(nama);
printf("Halo, %s. Selamat datang di Informatika.\n",nama);
}

Bila dijalankan akan didapatkan output:


Nama anda : gadisa aulia
Halo, gadisa aulia Selamat datang di informatika

3
Pada program di atas, setelah deklarasi char nama[15], maka komputer akan
menyediakan ruang pada memori sebanyak 15 karakter. Setelah pengguna
memasukkan data nama : gadisa aulia, maka data string yang dimasukkan akan
diletakkan pada area memori yang sudah dipesan. Karena data yang
dimasukkan kurang dari 15 karakter, maka otomatis setelah karakter terakhir
akan diisi dengan karakter NULL.
Instruksi gets( ) akan membaca seluruh karakter yang diketik pada
keyboard sampai tombol ENTER ditekan. Dalam hal ini tidak ada pengecekan
terhadap batasan dari array yang merupakan argumennya. Jika string yang
dimasukkan melebihi ukuran array, maka sisa string (panjang string dikurangi
ukuran array plus karakter NULL) akan ditempatkan ke lokasi sesudah bagian
akhir array.

Inisialisasi String
Suatu variabel string dapat diinisialisasi seperti halnya variabel array yang
lain, namun pada elemen terakhir harus berupa karakter NULL. Sebagai contoh:
char kota[ ] = {‘Y’, ’o’, ’g’, ’y’, ’a’, ’k’, ’a’, ’r’, ’t’, ’a’, ’\0’};
Contoh diatas menyatakan bahwa variabel kota adalah variabel string dengan
nilai awal berupa string “Yogyakarta”.
Bentuk inisialisasi yang lebih singkat adalah:
char kota[ ] = “Yogyakarta”;
Pada bentuk ini, karakter NULL tidak perlu ditulis, karena secara implisit akan
disisipkan oleh kompiler.

Menampilkan isi variabel string ke layar


Untuk menampilkan isi variabel string, dapat digunakan salah satu dari
pernyataan berikut:
o puts(var_string);
o printf(“%s”,var_string);
o printf(var_string);

4
Contoh program berikut ini akan menampilkan isi variabel kota, berdasarkan dua
bentuk inisialisasi string.
#include <stdio.h>
Char bentuk1();
Char bentuk2();
main()
{
bentuk1();
bentuk2();
}
Char bentuk1()
{
char kota[]=
{'Y','o','g','y','a','k','a','r','t','a','\0'};
puts(kota);
}
Char bentuk2()
{
char kota[] = "Solo";
puts(kota);
}

Bila dijalankan akan didapatkan output:


Yogyakarta
Solo

Manipulasi String
Dalam manipulasi string terdapat proses pencarian, penyalinan,
pembandingan, konversi yang dilakukan terhadap string dan proses-proses yang
lainnya.

5
Menggabungkan String
Bahasa C telah menyediakan dua buah fungsi yang berguna untuk
melakukan penggabungan string, yaitu fungsi strcat() dan strncat().
1. Fungsi strcat()
Fungsi strcat() akan menambahkan salinan dari string str2 ke bagian akhir
string str1.
Contoh:

#include <stdio.h>
#include <string.h>
main()
{
char s1[50] = "STTI";
char s2[21] = "NIIT";
strcat(s1, s2);
printf("%s",s1);
return 0;
}

Bila dijalankan akan didapatkan output:


STTI NIIT

2. Fungsi strncat()
Fungsi ini juga berguna untuk menambahkan string dari string str2 ke dalam
str1. namun disini kita diizinkan menentukan berapa banyak karakter (n) dari str2
yang digabungkan ke str1.

6
Contoh:
#include <stdio.h>
#include <string.h>
main()
{
char s1[50] = "STTI";
char s2[21] = "NIIT";
strncat(s1, s2, 3);
printf("%s",s1);
return 0;
}

Bila dijalankan akan didapatkan output:


STTI NII

Menentukan Panjang String


Fungsi pustaka strlen() dapat digunakan untuk menghasilkan panjang dari
suatu string.
Contoh:

#include<stdio.h>
#include<string.h>
main()
{
char *Nama1 = "Widya Astuti";
char Nama2[7] = "Gadisa";
printf("Panjang string Nama1 = %d\n", strlen(Nama1));
printf("Panjang string Nama2 = %d\n", strlen(Nama2));
return 0;
}

7
Bila dijalankan akan didapatkan output:
Panjang string Nama1 = 12
Panjang string Nama2 = 6

Menyalin String
Untuk menyalin nilai suatu string ke string yang lainnya tidak dapat
dilakukan seperti halnya di kompiler yang lainnya. Misalnya S adalah variabel
yang sudah dideklarasikan sebagai tipe string, maka S=”ABCDE” di bahasa C
merupakan hal yang tidak benar. Untuk bahasa yang lain, hal ini dimungkinkan,
karena bahasa tersebut menyediakan operator pengerjaan untuk nilai string.
Akan tetapi C tidak menyediakan operator pengerjaan untuk string, sehingga
proses penyalinan atau mengerjakan suatu nilai string ke variabel string yang
lain harus dilakukan dengan fungsi pustakan strcpy().
Contoh:
#include<stdio.h>
#include<string.h>
main()
{
char String1[80];
char String2[]="ABCDE";
strcpy(String1, String2);
printf("String pertama adalah : %s\n",String1);
printf("String kedua adalah : %s\n",String2);
}

Bila dijalankan akan didapatkan output:


String pertama adalah : ABCDE
String kedua adalah : ABCDE

8
Contoh lain:
#include <stdio.h>
#include <string.h>
main()
{
char string[10];
char *str1 = "abcdefghi";
strcpy(string,str1);
printf("%s\n",string);
return 0;
}

Bila dijalankan akan didapatkan output:


Abcdefghi

Membandingkan Dua Nilai String


Fungsi ini akan mengembalikan nilai bilangan bulat (integer) sebagai hasil
perbandingan dua buah string. Adapun nilai yang akan dikembalikan dari
perbandingan dua string diatas adalah seperti yang terdapat pada tabel berikut:
Nilai Arti
< 0 (negatif) str1 lebih kecil dari str2
0 str1 sama dengan str2
> 0 (positif) str1 lebih besar dari str2

9
Contoh:
#include <stdio.h>
#include <string.h>
main()
{
char *s1 = "Bahasa c";
char *s2 = "Bahasa c++";
char *s3 = "Bahasa c";

printf("nilai yang dikembalikan : %i\n", strcmp(s1,s2));


printf("nilai yang dikembalikan : %i\n", strcmp(s1,s3));
printf("nilai yang dikembalikan : %d\n", strcmp(s2,s1));
}

Bila dijalankan akan didapatkan output:


Nilai yang dikembalikan : -1
Nilai yang dikembalikan : 0
Nilai yang dikembalikan : 1

1. Melakukan Pencarian String


Hal yang sering dilakukan dalam proses manipulasi string adalah suatu
pencarian, dimana kita melakukan pencarian terhadap suatu string maupun
karakter tertentu apakah terdapat dalam string lain atau tidak yaitu menggunakan
fungsi pustaka strchr()

10
Contoh:
#include<stdio.h>
#include<string.h>
main()
{
char str[100] = "GADISA";
char karakter = 'D';
char *hasil;
hasil = strchr(str,karakter);
printf("Nilai kembalian : %s\n",hasil);
printf("Karakter %c ditemukan pada indeks ke%d", karakter,(hasil - str));
return 0;
}

Bila dijalankan didapatkan output:


Nilai kembalian : DISA
Karakter D ditemukan pada indeks ke-2

2. Melakukan Konversi String


Dalam bahasa C untuk melakukan konversi string menggunakan fungsi
strlwr() dan strupr().
a. Fungsi strlwr()
Fungsi ini akan merubah string menjadi huruf kecil.
Contoh:

#include <stdio.h>
#include <string.h>
main()
{
char str[20]="GADISA AULIA";
strlwr(str);
printf("kalimat setelah proses strlwr : %s\n",str);
}
11
Bila dijalankan akan didapatkan output:
Kalimat setelah proses strlwr : gadisa aulia

b. Fungsi strupr()
Fungsi ini merupakan kebalikan dari fungsi strlwr(), dimana fungsinya adalah
untuk mengubah suatu string ke dalam bentuk huruf besar (kapital).
Contoh:

#include <stdio.h>
#include <string.h>
main()
{
char str[20]="Gadisa Aulia";
strupr(str);
printf("kalimat setelah proses strupr : %s\n",str);
}

Bila dijalankan akan didapatkan output:


Kalimat setelah proses strupr : GADISA AULIA

12

Anda mungkin juga menyukai