Deskripsi Fungsi Karakter OPERASI STRING

312 Direktorat Pembinaan SMK| 2008 Program dibawah akan menampilkan sebuah aplikasi praktis mengenai fungsi uji karakter. Program tersebut menguji tujuh karakter nomor pelanggan untuk menentukan apakah sesuai dengan format atau bentuk yang tepat. Program 8.12 include conio.h include iostream include cctype using namespace std; bool testNumchar []; const int NUM_LENGTH = 8 ; const int ALPHA_LENGTH = 3 ; int main { char customer[NUM_LENGTH]; cout masukan nomer pelanggan dalam Form ; cout LLLNNNN\n ; cout LLL = huruf dan NNNN = angka: ; cin.getlinecustomer, NUM_LENGTH; if testNumcustomer cout Nomer pelanggan yang dimasukan valid\n ; else { cout hal tersebut tidak sesuai dengan format ; cout angka pelanggan.\n contohnya adalah seperti dibawah ini:\n ; cout ABC1234\n ; } getch; return ; } Mendefinisikan Fungsi TestNumb. bool testNumchar custNum[] { for int count = ; count ALPHA_LENGTH; count++ { if isalphacustNum[count] 2008 | Direktorat Pembinaan SMK 313 return false; } for int count = ALPHA_LENGTH; count NUM_LENGTH ‐ 1 ; count++ { if isdigitcustNum[count] return false; } return true; } Keluaran program diatas adalah sebagai berikut: masukan nomer pelanggan dalam Form LLLNNNN LLL = huruf dan NNNN = angka: ABC1235 Nomer pelanggan yang dimasukan valid Keluaran program diatas jika yang dimasukan salah adalah sebagai berikut: masukan nomer pelanggan dalam Form LLLNNNN LLL = huruf dan NNNN = angka: sasfewfrw hal tersebut tidak sesuai dengan formatangka pelanggan. contohnya adalah seperti dibawah ini: ABC1234 Dalam program diatas, nomor pelanggan diharapkan terdiri dari huruf alfabet yang diikuti oleh digit- digit. Kemudian fungsi testNum menerima sebuah array dan menguji karakter awal sesuai dengan pengulangan berikut ini: for count = ; count ALPHA_LEN; count++ { if isalphacustNum[count] return false; } Fungsi isalpha untuk mengembalikan kondisi benar jika argumentasi adalah satu karakter alfabet. operator digunakan didalamnya, jika statemen tersebut untuk menentukan apakah karakter yang diuji bukan berupa alfabet. Jika hal ini terjadi pada beberapa dari tiga yang karakter pertama, fungsi testNum akan salah. Demikian juga, karakter keempat berikutnya diuji dengan pengulangan berikut ini: for count = ALPHA_LEN; count NUM_LENGTH ‐ 1 ; count++ { if isdigitcustNum[count] return false; } Fungsi isdigit akan bernilai benar jika argumentasi merepresentasikan karakter tentang semua digit 0 sampai 9. Operator digunakan untuk menentukan jika karakter yang diuji bukan sebuah digit. Ini terjadi biasanya pada empat karakter 314 Direktorat Pembinaan SMK| 2008 terakhir, fungsi testNum akan bernilai salah. Jika nomor pelanggan mengggunakan bentuk yang tepat, fungsi tersebut akan melalui siklus kedua pengulangan tanpa ada hasil yang nilai salah. Di kasus tersebut, garis terakhir dalam fungsi tersebut adalah statemen dengan hasil yang benar, dimana hal tersebut menandai bahwa nomor pelanggan adalah valid.

8.10. Konversi Karakter

Library Bahasa C++ menyediakan dua fungsi, toupper dan tolower. Untuk mengubah kasus dari sebuah karakter. Fungsi tersebut digambarkan pada Tabel dibawah ini. Fungsi ini merupakan prototype dalam file header cctype, maka pastikan untuk memasukkan dua fungsi didalamnya. Tabel 8.4. Fungsi Pengubah Karakter FUNGSI DEFINISI toupper Mengembalikan huruf besar setara dengan argumen. tolower Mengembalikan lowercase setara dengan argumen Keduanya dari fungsi pada tabel diatas akan menerima sebuah representasi bilangan integer kode ASCII dari suatu karakter yang dikonversi dan mengembalikan representasikan bilangan integer Kode ASCII dari huruf besar atau huruf kecil setara. Tiap fungsi hanya mengembalikan argumentasinya, jika konversi tidak bisa dibuat atau tak diperlukan. Sebagai contoh, jika argumentasi tersebut pada toupper bukan surat huruf kecil, lalu toupper hanya kembalikan argumentasi yang ada tanpa mengubahnya. Prototipe fungsi-fungsi tersebut adalah: int toupperint ch; int tolowerint ch; kenyataannya fungsi dua veriabel ini mengkembalikan pada sebuah bilangan integer pernyataan sebagai berikut: cout touppera; prints 65 pada potongan program diatas akan mencetak bilangan integer Kode ASCII dari A’. Untuk mendapatkan cetakan karakter, maka dapat memasukan hasil kenilai tipe data char, seperti dalam potongan program dibawah ini: cout static_castchartouppera; prints A atau dapat juga dengan memberi hasil ke nilai sebuah variabel karakter pertama dan kemudian karakter tersebut dicetak: char ch = touppera; 2008 | Direktorat Pembinaan SMK 315 cout ch; prints A Sebagaimana telah disebutkan diatas, fungsi toupper akan mengembalikanya tanpa perubahan, jika hal tersebut buka berupa huruf: cout static_castchartoupper; prints atau suatu huruf tetapi itu sudah merupakan huruf besar: cout static_castchartoupperB; prints B Karena uraian mengenai toupper dan tolower dilewati oleh nilai, fungsi tersebut tidak akan mengubah parameter yang mereka miliki: Sebagai gantinya, mereka hanya mengembalikan ekivalensi huruf besar atau huruf kecil. Sebagai contoh, di dalam sebuah segmen program yang berikut, variabel huruf diatur menjadi nilai A. Fungsi tolower untuk mengembalikan karakter a’, ketika huruf masih berisi A. char letter = ‘A’; char ch = tolowerletter; cout ch endl; cout letter; potongan program diatas kalau di compile menampilkan hasil sebagai berikut: a A Program berikut dibawah untuk mendemontrasikan fungsi toupper dalam sebuah pengulangan sampai ada kemungkian user memasukan salah satu huruf Y atau N. Program 8.13 include conio.h include iostream include cctype include iomanip using namespace std; int main { const double PI = 3.14159 ; double radius; char go; cout Program untuk menghitung luas lingkaran\n ; cout setprecision 2 ; cout fixed; do {