Operator logika NOT Pengurutan String
2008 | Direktorat Pembinaan SMK
303 {
const int PANJANG_NAMA =
30 ;
char name1[PANJANG_NAMA], name2[PANJANG_NAMA]; cout
Masukan Nama last Name:
; cin.getlinename1, PANJANG_NAMA;
cout Masukan
Nama Lain: ;
cin.getlinename2, PANJANG_NAMA; cout
Disini nama akan di urutkan berdasarkan alphabet:\n
;
if strcmpname1, name2
cout name1 endl name2 endl; else if strcmpname1, name2
cout name2 endl name1 endl; else
cout Anda
memasukan nama yang SAMA\n ;
getch; return
; }
Keluaran program diatas adalah sebagai berikut: Masukan
Nama last Name: suprapto Masukan
Nama Lain: anwar Disini
nama akan di urutkan berdasarkan alphabet: anwar
suprapto setelah mempelajari beberapa program string diatas, dibawah ini merupakan
tabel ringkasan sebuah penanganan fungsi string.
Tabel 8.1. Fungsi untuk menangani string
FUNGSI PENJELASAN
strlen Menerima
string sebagai argumen. Pernyataan panjang string tidak termasuk
null terminator. Contoh Penggunaan: len = strlen nama;
strcat Menerima
dua string sebagai argumen. Fungsi menambahkan isi string kedua
untuk pertama string. Yang pertama adalah string diubah, kedua string
tersebut dibiarkan tidak berubah. Contoh
Penggunaan: strcat string1, string2;
strcpy
Menerima dua string sebagai argumen. Fungsi salinan kedua string untuk
pertama string. String miliknya kedua string dibiarkan tidak berubah.
Contoh Penggunaan: strcpy string1, string2;
strncpy Menerima
dua string dan argumen integer. Argumen yang ketiga, sebuah
304
Direktorat Pembinaan SMK| 2008
integer, menunjukkan berapa banyak karakter yang dicopy dari string
kedua menuju string pertama. Jika kurang dari string2 sebanyak n
karakter, string1 adalah ditambahkan dengan dengan karakter \ 0.
Contoh Penggunaan: strncpy string1, string2, n;
strcmp Menerima
dua string argumen. Jika string1 dan string2 sama, fungsi ini memberikan
hasil 0. Jika string2 alfabetnya lebih besar dari string1, ia kembali
angka negatif. jika String2 alfabetnya kurang dari string1, ia kembali
angka positif. Contoh
Penggunaan: if strcmp string1, string2
strstr Pencarian
untuk pertama terjadinya string2 dalam string1. Jika terjadinya string2
ditemukan, fungsi akan mengembalikan pointer string pertama. Jika
tidak, ia akan mengembalikan NULL pointer alamat 0. Contoh Penggunaan:
cout strstr string1, string2;
Fungsi yang terakhir dalam tabel diatas adalah strstr, yang digunakan
untuk mencari sebuah string dalam dari sebuah string yang penjang.
Sebagai contoh, misalnya digunakan untuk mencari string tujuh didalam
sebuah string kalimat yang lebih besar Nilai Empat dan tujuh pada
tahun yang lalu. Fungsi argumentasi yang pertama adalah
string dicari, dan argumentasi yang kedua adalah string untuk mencari.
Jika fungsi menemukan string dalam string yang kedua terlebih dulu hal
tersebut kembalikan ke alamat kejadian string didalam string yang
kedua. Sebaliknya jika hal tersebut tidak dikembalikan alamat 0, atau
alamat NULL. Di bawah ini adalah contoh pengunaan fungsi tersebut:
char
array[] = Nilai
empat pada tujuh tahun
yang lalu ;
char
strPtr; cout
array endl; strPtr
= strstrarray, tujuh
; mencari string tujuh
cout strPtr endl;
Dalam segmen program yang sebelumnya, strstr akan
menempatkan string tujuh di dalam string Nilai Empat pada tujuh tahun
yang lalu”. Hal tersebut akan kembalikan kealamat dari karakter
yang pertama didalam tujuh, yang selanjutnya akan disimpan dalam
variabel penunjuk pointer strPtr. Jika menjalankan bagian dari suatu
program engkap, segmen tersebut akan menampilkan sebagai berikut:
Nilai Empat pada tujuh tahun yang lalu
tujuh pada tahun yang lalu
Fungsi strstr dapat bermanfaat dalam setiap program yang harus
menempatkan informasi didalam string satu atau lebih. Program
dibawah merupakan contoh, menyimpan suatu database sejumlah
produk dan penjelasan dalam satu array pada string. Hal tersebut
memperbolehkan pengguna untuk mengetahui penjelasan sebuah
produk dengan memasukan semua atau bagian dari nomor produknya.
2008 | Direktorat Pembinaan SMK
305 Program 8.9
includeconio.h include
iostream include
string
using namespace std;
int
main {
const int N_ITEMS =
5 ,
S_LENGTH = 31
;
char prods[
5 ][S_LENGTH]
= { TV311
televisi 31 inch ,
CD111 CD Player
, MC123
Mesin Cuci ,
TM456 tape Mobil
, PC955
Personal Computer };
char lookUp[S_LENGTH], strPtr = NULL; int index;
cout
\tProduct Database\n\n
; cout
Masukan Kode angka product untuk mencari data:
; cin.getlinelookUp, S_LENGTH;
for index =
; index N_ITEMS; index++
{ strPtr = strstrprods[index], lookUp;
if strPtr = NULL break;
} if strPtr == NULL
cout
kode tidak sesuai dengan produk.\n
;
else cout prods[index] endl;
getch; return
; }
Keluaran program diatas adalah: Product
Database Masukan
Kode angka product untuk mencari data: CD111[Enter]
CD111 CD Player
Product Database
306
Direktorat Pembinaan SMK| 2008
Masukan
Kode angka product untuk mencari data: GJ987[Enter]
kode tidak sesuai dengan produk.
Dalam program tersebut diatas, karena pengulangan tiap putaran
melalui string dalam pemanggilan array maka pernyataannya adalah
sebagai berikut: strPtr
= strstrprods[index], lookUp; Fungsi strstr mencari string yang
sesuai oleh prods[index] karena nama yang dimasukkan oleh
pengguna, yang mana disimpan dalam lookUp. Jika lookUp ditemukan
di dalam prods[index], fungsi akan mengembalikan alamatnya. Dalam
kasus tersebut, statemen if menyebabkan pengulangan akan
berakhir. if
strPtr = NULL break;
Di luar pengulangan tersebut, sesuai statemen IF-ELSE untuk menentukan
jika string dimasukkan oleh pengguna ditemukan dalam array. Jika tidak,
maka akan menginformasikan kepada pengguna bahwa tidak ada
produk yang sesuai ditemukan. Sebaliknya, nomor produk dan
deskripsi akan ditampilkan:
if
strPtr == NULL cout
kode tidak sesuai dengan
produk.\n ;
else
cout prods[index] endl;