Title: STRING
1STRING
2Konstanta String
- Setiap karakter pada konstanta string menempati
memori sebesar 1 byte - Selalu diakhiri dengan karakter NULL atau \0
- Bila string hanya berisi karakter NULL, maka
disebut dengan string kosong dan ditulis
3STRING
- Adalah suatu tipe data yang digunakan untuk
menangani data teks (kumpulan karakter) - Deklarasi String
- char Variabel_stringltPanjanggt
- Contoh
- - char nama25
- Spesifikasi
- Setiap data string harus diapit dengan tanda
petik ganda - Setiap data string selalu diakhir dengan
karakter NULL (\0) yang mempunyai nomor ASCII 0
4Inisialisasi String
- Suatu variabel string dapat diberi nilai awal
pada saat deklarasi. Ada 2 cara untuk memberi
nilai awal, yaitu - Pemberian nilai awal dilakukan per karakter
- Contoh char nama6 P,a,n,c,a,\0
-
- Pemberian nilai awal dilakukan langsung
- Contoh char nama6 Panca
5Variabel String
- Dipakai untuk menyimpan string
- a. Deklarasi variabel
- char nama_variabelpanjang_karakter
- Contoh
- char nama_mhs20
- Pernyataan diatas mendeklarasikan variabel string
dengan panjang maksimal 20 karakter terdiri dari
19 karakter data dan 1 karakter NULL - Deklarasi string seperti deklarasi pada array.
Hal ini karena string adalah array of character
6Variabel String
- b. Menangkap nilai masukan pada variabel string
- Menggunakan cin
- cin tidak bisa membaca spasi, tab maupun enter
- Menggunakan gets
- - gets bisa membaca spasi, tab enter
- - sintaks gets(nama_variabel)
- - contoh gets(nama_mhs)
- - menggunakan file header stdio.h
7Variabel String
- Menggunakan cin.getline
- untuk membaca sejumlah baris hingga suatu
karakter yang telah ditentukan dijumpai - sintaks
- cin.getline(nama_variabel, jumlah_karakter,
karakter_pengakhir) - contoh
- cin.getline(nama_mhs, sizeof(nama_mhs), _at_)
8Variabel String
- c. Inisialisasi string
- Contoh inisialisasi
- char nama_mhs Candra Nursari
- String yang sudah berisi data tidak bisa diubah
isinya. Yang bisa dilakukan hanya mengubah
elemen dari string - Contoh
- nama_mhs Amir ? salah
- nama_mhs0 R ? mengubah elemen 0 dari
huruf C menjadi R
9Variabel String
- d. Menyalin string
- Tidak bisa dilakukan dengan menggunakan operator
seperti pada menyalin bilangan - Digunakan untuk memberi nilai (assignment) pada
variabel string atau mengubah isi variabel string - i. Membuat program sendiri
- Misal variabel string nama01 dan nama02
- for (i 0 nama01i i)
- nama02i nama01i ? karakter NULL tidak
ikut disalin - nama02i \0 ? memberi karakter NULL
10Variabel String
- ii. Menggunakan fungsi strcpy()
- - Sintaks
- strcpy(string_target, string_asal)
- - Menggunakan file header string.h
- - Contoh strcpy(nama02, nama01)
11STRING - 60
- Buat Algoritma, Pseudocode dan programnya untuk
menampilkan Pergantian karakter pertama yang
semula C menjadi R, dimana nama01Candra
Nursari
12STRING .. Contoh 60
PSEUDOCODE Algoritma pergantian karakter
pertama C menjadi RKAMUS/DEKLARASI
VARIABEL nama charALGORITMA/DESKRIPSI
namaCandra Nursari print(nama)
nama0 R print(nama)
13Contoh 60 - Algoritma
- nama Candra Nursari
- Mencetak/menampilkan nama
- Nama0 R
- Mencetak/menampilkan nama
- Selesai
14Contoh - 60
15STRING - 61
- Buat Algoritma, Pseudocode dan programnya untuk
menampilkan Salinan/copy String versi 1
16STRING .. Contoh 61
PSEUDOCODE Algoritma menyalin String versi
1KAMUS/DEKLARASI VARIABEL nama01 ,
nama0230 char i integerALGORITMA/DESKRI
PSInama01Candra Nursarifor(i0nama01i
i) nama02i nama01i nama02i
\0endfor print(nama02)
17Contoh 61 - Algoritma
- nama01 Candra Nursari
- i0
- Selama nama01i, maka kerjakan baris 4 s.d. 7
- nama02i nama01i
- Nama02i \0
- Mencetak/menampilkan nama02
- i ? i1
- Selesai
18Contoh
19STRING - 62
- Buat Algoritma, Pseudocode dan programnya untuk
menampilkan Salinan/copy String versi 2
20STRING .. Contoh 62
PSEUDOCODE Algoritma menyalin String versi
2KAMUS/DEKLARASI VARIABEL nama01 ,
nama0230 charALGORITMA/DESKRIPSInama01C
andra Nursaristrcpy(nama02, nama01)
print(nama02)
21Contoh 62 - Algoritma
- nama01 Candra Nursari
- Copy String nama01 menjadi nama02
- Mencetak/menampilkan nama02
- Selesai
22Contoh
23Tugas
- Copy Nama Anda menggunakan perintah string dengan
2 versi
24Fungsi dan Makro Berbasis Karakter
- Untuk mengecek karakter pada string
- Menggunakan file header ctype.h
- Contoh
- - isalpha() apakah karakter berupa alfabet
- - isdigit() apakah karakter berupa digit
- - islower() apakah karakter berupa huruf kecil
- - ispunct() apakah karakter berupa tanda baca
- - isspace() apakah karakter berupa spasi
- - isupper() apakah karakter berupa huruf besar
- Memberikan nilai balik benar atau salah
25toupper() dan tolower()
- Fungsi toupper berguna untuk memperoleh huruf
kapital dari suatu huruf kecil. Nilai balik
fungsi adalah huruf besar - Fungsi tolower adalah kebalikan dari toupper.
Nilai balik fungsi adalah huruf kecil - Menggunakan file header ctype.h
26STRING - 63
- Buat Algoritma, Pseudocode dan programnya untuk
menampilkan Merubah huruf menjadi besar dan
kecil - String
27STRING .. Contoh 63
PSEUDOCODE Algoritma merubah hurufKAMUS/DEKLAR
ASI VARIABEL nama01 char i,j
integerALGORITMA/DESKRIPSInama01Candra
Nursariprint(nama01) for(i0nama01i i)
nama01i toupper(nama01i)
print(nama01)endforfor(j0nama01j j)
nama01i tolower(nama01i)
print(nama01)endforif(islower(nama010))
print(Huruf Kecil)else print(Huruf
Besar)endif
28Contoh 63 - Algoritma
- nama01 Candra Nursari
- i0 j0
- Mencetak/menampilkan nama01
- Selama nama01i, maka kerjakan baris 5 s.d. 7
- nama01i toupper(nama01i)
- Mencetak/menampilkan nama01
- i ? i1
- Selama nama01j, maka kerjakan baris 9 s.d. 11
- nama01j tolower(nama01j)
- Mencetak/menampilkan nama01
- j ? j1
- Jika (islower(nama010), maka mencetak/menampilka
n Huruf Kecil - Kalau tidak akan mencetak/menampilkan Huruf
Besar - Selesai
29Contoh
30Fungsi-fungsi untuk Operasi String
- a. Mencari panjang string
- - Menggunakan strlen()
- - Menggunakan file header string.h
- - Sintaks strlen(nama_variabel)
- - Contoh strlen(nama_mhs)
- b. Menggabungkan string
- - Menggunakan strcat()
- - Menggunakan file header string.h
- - Sintaks strcat(string_hasil,
string_tambahan)
31Fungsi-fungsi untuk Operasi String
- String_tambahan akan ditambahkan di belakang
string_hasil - String_tambahan bisa berupa variabel atau bukan
- Contoh
- strcat (teks1, teks2)
- strcat( teks1, halo)
32Fungsi-fungsi untuk Operasi String
- c. Membandingkan dua buah string
- - Menggunakan strcmp()
- - Menggunakan file header string.h
- - Sintaks strcmp(string_1, string_2)
- - Nilai balik bertipe int dengan
- - nilai negatif string_1 lt string_2
- - nilai nol string_1 string_2
- - nilai positif string_1 gt string_2
33Fungsi-fungsi untuk Operasi String
- Pembandingan dilakukan berdasarkan urutan
karakter dalam tabel ASCII - Fungsi perbandingan lain stricmp() dan
strncmp() - Fungsi stricmp() digunakan untuk membandingkan
dua buah string tanpa membedakan huruf kecil
ataupun huruf kapital - Contoh stricmp(HALO, halo)
- Keduanya dianggap sama
- Fungsi strncmp() digunakan untuk membandingkan
dua buah string dan jumlah karakter yang
dibandingkan maksimal sebanyak nilai argumen
ketiga - Contoh strncmp(Selamat pagi, Selamat
siang, 7) - Keduanya dianggap sama karena yang dibandingkan
hanya 7 karakter dari depan yaitu Selamat
34Fungsi-fungsi untuk Operasi String
- d. Merubah huruf besar menjadi huruf kecil
- - Menggunakan strlwr
- - Menggunakan file header string.h
- - Sintaks strlwr(string)
- - Contoh strlwr(ABCD)
- Hasil abcd
- e. Merubah huruf kecil menjadi huruf besar
- - Menggunakan strupr()
- - Menggunakan file header string.h
- - Sintaks strupr(string)
- - Contoh strupr(abcd)
- Hasil ABCD
35Fungsi-fungsi untuk Operasi String
- f. Mencari sebuah karakter pada string
- - Menggunakan strchr
- - Menggunakan file header string.h
- - Sintaks strchr(string, karakter)
- - Contoh strchr(ABCD, C)
- - Nilai balik berupa pointer yang menunjuk ke
karakter pertama pada string yang sesuai dengan
karakter - g. Mencari substring
- - Menggunakan strstr
- - Menggunakan file header string.h
- - Sintaks strstr(string, substring)
- - Contoh strstr(Bersama,sama)
- - Nilai balik berupa pointer yang menunjuk pada
elemen pada string dimana substring dimulai
36Fungsi-fungsi untuk Operasi String
- h. Membalik string
- - Menggunakan strrev
- - Menggunakan file header string.h
- - Sintaks strrev(string)
- - Contoh strrev(halo)
- Hasil olah
- i. Konversi string ke angka
- - Menggunakan file header stdlib.h
- - atoi() konversi string ke int
- - atof() konversi string ke float
37Fungsi-fungsi untuk Operasi String
- j. Konversi angka ke string
- - Menggunakan file header stdlib.h
- - itoa() konversi int ke string
- - ltoa() konversi long int ke string
- - Sintaks itoa(angka, string, basis_bil)
- - Contoh itoa(123, teks1, 10)
- Hasil 123
- k. Memformat keluaran satu atau lebih data
menjadi sebuah string - - Menggunakan sprintf
- - Menggunakan file header stdio.h
- - Sintaks
- sprintf(string, nm_var1 format1 nmvar2
format2, nm_var1, nm_var2)
38Fungsi-fungsi untuk Operasi String
- - Contoh
- int vint double vdbl
- char teks10
- sprintf(teks,vint d vdbl f, vint, vdbl)
- - Jumlah variabel tergantung jumlah variabel
yang mau dicetak - - Simbol
- - d data bertipe integer
- - f data bertipe double
- - c data bertipe char
- - ld data bertipe long integer
- - lf data bertipe long double
- - s data bertipe string
39Contoh - 64
40Tugas 2
- Menggabungkan nama Anda berdasarkan kata
- Apabila nama Anda hanya 2 kata, maka tambahkan
Halo didepan Nama - Apabila nama Anda hanya 1 kata, maka tambahkan
Halo dan Apa Kabar didepan Nama
41Contoh 64 - Algoritma
- Kata1
- Kata2
- Menggabungkan Kata1 dan/dengan Kata2
- Menggabungkan Kata1 dan/dengan Kabar
- Mencetak/menampilkan Kata1
- Selesai
42STRING .. Contoh 64
PSEUDOCODE Algoritma menggabungkan
stringKAMUS/DEKLARASI VARIABEL Kata1 ,
Kata2 charALGORITMA/DESKRIPSIKata1Halo
Kata2Apastrcat(Kata1, Kata2)strcat(Kata1,
Kabar)print(Kata1)
43Contoh - 65
44Contoh 65 - Algoritma
- Teks110
- Teks210
- Hasil strcmp(Teks1, Teks2) /atau
HasilMembandingkan Teks1 dengan Teks2 - Jika Hasil gt 0, maka akan mencetak/menampilkan
Teks 2 gt Teks1 - Kalau tidak, Jika Hasil lt 0, maka akan
mencetak/menampilkan Teks1 gt Teks2 - Kalau tidak, maka akan mencetak/menampilkan
Teks1 Teks2 - Selesai
45STRING .. Contoh 65
PSEUDOCODE Algoritma membandingkan
StringKAMUS/DEKLARASI VARIABEL Teks110,
Teks210 char Hasil integerALGORITMA/DE
SKRIPSIHasil strcmp(Teks1, Teks2)if(Hasil gt
0) print(Teks2 gt Teks1)else if (Hasil Hasil
lt 0) print(Teks1 gt Teks2)else print(Teks1
Teks2endifendif
46Contoh - 66
47Contoh 66 - Algoritma
- Teks ABCD
- Karakter B
- Hasil strchr(Teks, Karakter) /atau
HasilMencari Karakter pada Teks - Jika Hasil tidak sama dengan NULL, maka akan
mencetak/menampilkan Ada dan - Mencetak/menampilkan Hasil
- Kalau tidak, akan mencetak/menampilkan Tidak
Ada dan - Mencetak/menampilkan Hasil
- Selesai
48STRING .. Contoh 66
PSEUDOCODE Algoritma mencari hurufKAMUS/DEKLAR
ASI VARIABEL Hasil char Teks
char Karakter char ALGORITMA/DESKRIPSI
TeksABCD Karakter B Hasil
strch(Teks, Karakter) if(Hasil ! NULL)
print(Ada) print(Hasil) else
print(Tidak Ada) print(Hasil)endif
49Contoh - 67
50Algoritma.........?????Pseudocode.......??????
51Contoh - 68
52Algoritma.........?????Pseudocode.......??????
53Latihan
- Buatlah program untuk mencari panjang string tapi
tidak memakai fungsi strlen() - Buatlah program untuk membalik string tapi tidak
memakai fungsi strrev() - Buatlah program untuk mengenkripsi sebuah pesan
yaitu dengan mengganti masing-masing karakter
dengan karakter lain - Buatlah program untuk mengkonversi bilangan
desimal ke bilangan biner - Buatlah program untuk mengkonversi bilangan
desimal ke bilangan hexadesimal (No. ASCII 0-9
48-57, A-F 65-70)
54Latihan
- Buatlah program untuk menentukan apakah sebuah
kata adalah palindrom atau tidak. Kata yang
palindrom adalah kata yang bisa dibaca dari kiri
maupun kanan. Contoh kata palindrom adalah
malam, katak.