Operator logika NOT

8.5. Operator logika NOT

Beberapa para programmer lebih ada untuk menyimpan nama dan suka menggunakan operator logika alamat pelanggan dalam sebuah file. NOT dengan strcmp ketika menguji Nama-nama tersebut tidak akan persamaan string-string. Karena muncul dalam file yang berurutan logika 0 dipertimbangkan sebagai menurut abjad tetapi dalam order logika salah, operator ! akan atau pesanan, dimana sesuai mengkonversi nilai tersebut menjadi operator memasukkan mereka. benar. Ekspresi strcmp (string1,

Jika suatu daftar tersebut dicetak string2) akan kembali benar jika dalam urutan pesanan tersebut, kedua string adalah sama, dan salah

maka akan menjadi sangat sulit untuk ketika string berbeda. Pada kedua menempatkan setiap nama tersebut. statemen berikut melaksanakan Daftar tersebut mau tidak mau harus operasi yang sama:

diurutkan sebelum dicetak. Karena nilai yang dikembalikan oleh strcmp

if (strcmp(firstString, secondString) == 0) berdasarkan pada urutan alfabet if (!strcmp(firstString, secondString))

relative pesanan dari kedua string yang sedang dibandingkan, maka hal tersebut dapat digunakan dalam

program untuk jenis string pendek. Program sering ditulis dengan Program dibawah akan meminta

8.6. Pengurutan String

dicetak berurutan menurut daftar pemakai untuk memasukan dua abjad. Misalnya penggunaan sistem nama, yang kemudian dicetak dalam komputer pada sebuah toko serba secara urutan alfabet pemesan.

Program 8.8 #include<conio.h> #include <iostream> #include <cstring>

using namespace std;

int main() 302

Direktorat Pembinaan SMK| 2008

Operasi String Bahasa Pemrorgraman

const int PANJANG_NAMA = 30 ;

char name1[PANJANG_NAMA], name2[PANJANG_NAMA];

cout << "Masukan Nama (last Name): " ; cin.getline(name1, PANJANG_NAMA); cout << "Masukan Nama Lain: " ; cin.getline(name2, PANJANG_NAMA); cout << "Disini nama akan di urutkan berdasarkan alphabet:\n" ;

if (strcmp(name1, name2) < 0 )

cout << name1 << endl << name2 << endl;

else if (strcmp(name1, name2) > 0 )

cout << name2 << endl << name1 << endl;

else

cout << "Anda memasukan nama yang SAMA!\n" ; getch();

return 0 ; }

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

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Operasi String

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 Dalam segmen program yang diatas adalah strstr, yang digunakan

sebelumnya, strstr akan untuk mencari sebuah string dalam menempatkan string "tujuh" di dalam dari sebuah string yang penjang. string "Nilai Empat pada tujuh tahun Sebagai contoh, misalnya digunakan

yang lalu”. Hal tersebut akan untuk mencari string "tujuh" didalam kembalikan kealamat dari karakter sebuah string kalimat yang lebih yang pertama didalam "tujuh", yang besar "Nilai Empat dan tujuh pada selanjutnya akan disimpan dalam tahun yang lalu". Fungsi variabel penunjuk pointer strPtr. Jika argumentasi yang pertama adalah menjalankan bagian dari suatu string dicari, dan argumentasi yang program engkap, segmen tersebut kedua adalah string untuk mencari. akan menampilkan sebagai berikut: Jika fungsi menemukan string dalam string yang kedua terlebih dulu hal Nilai Empat pada tujuh tahun yang lalu tersebut kembalikan ke alamat tujuh pada tahun yang lalu kejadian string didalam string yang

kedua. Sebaliknya jika hal tersebut Fungsi strstr dapat bermanfaat tidak dikembalikan alamat 0, atau dalam setiap program yang harus

alamat NULL. Di bawah ini adalah menempatkan informasi didalam contoh pengunaan fungsi tersebut:

string satu atau lebih. Program dibawah merupakan contoh,

char array[] = "Nilai empat pada tujuh menyimpan suatu database sejumlah tahun yang lalu" ; produk dan penjelasan dalam satu

char *strPtr; array pada string. Hal tersebut cout << array << endl;

memperbolehkan pengguna untuk strPtr = strstr(array, "tujuh" ); mengetahui penjelasan sebuah

// mencari string "tujuh" produk dengan memasukan semua cout << strPtr << endl;

atau bagian dari nomor produknya.

Direktorat Pembinaan SMK| 2008

Operasi String Bahasa Pemrorgraman

Program 8.9 #include<conio.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.getline(lookUp, S_LENGTH);

for (index = 0 ; index < N_ITEMS; index++) { strPtr = strstr(prods[index], lookUp); if (strPtr != NULL) break; } if (strPtr == NULL) cout << "kode tidak sesuai dengan produk.\n" ;

else

cout << prods[index] << endl; getch();

return 0 ; }

Keluaran program diatas adalah: Product Database

Masukan Kode angka product untuk mencari data: CD111[Enter] CD111 CD Player

Product Database

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Operasi String

Masukan Kode angka product untuk mencari data: GJ987[Enter] kode tidak sesuai dengan produk.

Dalam program tersebut diatas, if (strPtr == NULL) karena pengulangan tiap putaran

cout << "kode tidak sesuai dengan melalui string dalam pemanggilan

produk.\n" ; array maka pernyataannya adalah else

sebagai berikut: cout << prods[index] << endl;

strPtr = strstr(prods[index], lookUp);