Anda di halaman 1dari 11

FUNGSI STRING DAN KARAKTER ARRAY Because of the way string data types are handled, many of the

functions that use character arrays as function arguments were not discussed . Specifically, these functions are gets(), puts(), fgets(), fputs(), sprint(), stpcpy(), strcat(), strncmp(), and srlen(). All of the functions discussed in this section are predefined in the string.h header file expect null-terminated string parameters . Karena cara data string jenis ditangani, banyak fungsi yang menggunakan array karakter sebagai argumen fungsi tidak dibahas. Secara khusus, fungsi ini mendapat (), puts (), fgets (), fputs (), lari (), stpcpy (), strcat (), strncmp (), dan srlen (). Semua fungsi yang dibahas dalam bagian ini yang telah ditetapkan dalam file header string.h berharap diakhiri null-parameter string. mendapat (), puts (), fgets (), fputs (), sprintf () gets(), puts(), fgets(), fputs(), sprintf() The gets() function receives characters from standard input (stdin, the keyboard by default for most computers) and places them into the array whose name is passed to the function. When the gets() function receives this newline character, it changes it into a null character, thereby ensuring that the character array contains a string . Fungsi mendapat () menerima karakter dari input standar (stdin, keyboard secara default untuk kebanyakan komputer) dan menempatkan mereka ke dalam array yang namanya dilewatkan ke fungsi. Ketika fungsi mendapat () menerima ini karakter newline, berubah menjadi karakter null, sehingga memastikan bahwa array karakter mengandung string. The puts() function echoes to the terminal just what was entered with gets(). Adds anewline character on the end of the string in the place where the null character appeared. Therefor , string that are properly entered with gets() can be displayed with puts(). Menempatkan () gema fungsi untuk terminal hanya apa yang masuk dengan mendapat (). Menambahkan karakter anewline di ujung string di tempat di mana karakter null muncul. Oleh karena itu, string yang benar dimasukkan dengan mendapat () dapat ditampilkan dengan menempatkan (). The fgets() function stops reading the designated file stream when one fewer character is read than the second argument specifies. This function does not eliminate the newline character like gets() did; it merely adds the null character at the end so that a valid string is stored.

Para fgets () fungsi berhenti membaca file streaming yang ditunjuk ketika salah satu karakter sedikit dibaca daripada argumen kedua menentukan. Fungsi ini tidak menghilangkan karakter baris baru seperti mendapat () lakukan, itu hanya menambahkan karakter null di akhir sehingga string yang valid disimpan. Since fputs() does not add 1 back, the next fputs() output begins on the line where the previous output ended. Reliance was on the newline character read by fgets() and printed by fputs() to help control the display formatting . Sejak fputs () tidak menambahkan 1 kembali, fputs berikutnya () output dimulai pada baris di mana output sebelumnya berakhir. Reliance adalah pada karakter baris baru dibaca oleh fgets () dan dicetak oleh fputs () untuk membantu mengontrol format tampilan. The function sprint() stands for string printf(). It uses a control string with conversion characters in exactly the same way as does printf(). The additional feature is that sprint() place the resulting formatted data in a string rather than immediately sending the result to standard output . this can be beneficial if the exact same output must be created twice-for example, when the same string must be output to both the display monitor and the printer . Fungsi sprint () singkatan Menggunakan string kontrol dengan karakter konversi dengan cara yang persis sama seperti halnya printf () "string printf ().". Fitur tambahan adalah bahwa lari () menempatkan data diformat dihasilkan dalam sebuah string bukannya segera mengirimkan hasilnya ke output standar. ini dapat bermanfaat jika output yang sama harus dibuat dua kali-misalnya, ketika string yang sama harus menjadi output untuk kedua monitor layar dan printer. To review : 1) gets() converts newline to a null. 2) puts() converts null to a newline. 3) fgets() retains newline and appends a null. 4) fputs() drops the null and does not add a newline;instead, it uses the retained newline (If one was entered). Untuk meninjau: 1) mendapat () mengubah newline ke null. 2) menempatkan () mengkonversi null untuk baris baru. 3) fgets () mempertahankan nol newline dan menambahkan sebuah.

4) fputs () tetes nol dan tidak menambahkan baris baru, melainkan menggunakan baris baru ditahan (Jika seseorang dimasukkan). stpcpy(), strcat(), strncmp(), and srlen(). The function strcpy() copies the contents of one string, szsource_string, into a second string , szdestination_string. The preceding program initializes szsource_string with message,Initialized String! The first strcpy() function call actually copies String Constant into the szdestination_string, while the second call to the strcpy() function copies szsource_string into szdestination_string variable. stpcpy (), strcat (), strncmp (), dan srlen (). The strcpy function () salinan isi dari satu string, szsource_string, menjadi string kedua, szdestination_string. Program sebelumnya menginisialisasi szsource_string dengan pesan, "diinisialisasi String!" Sebut The strcpy pertama () fungsi sebenarnya salinan 'String Konstan' ke szdestination_string, sementara panggilan kedua untuk strcpy () fungsi szsource_string salinan ke variabel szdestination_string. The strcat() function appends two separate . both strings must be nullterminated and the result itself is null terminated. The strcat () fungsi menggabungkan dua string. kedua string harus diakhiri null-dan hasilnya itu sendiri adalah null dihentikan. The strlen() function is very usefull; it returns the number of characters, not including the null-terminator, in the string pointed to. In the preceding program it is used in two different forms just to give you additional exposure to its use. The first call to the function assigns the length of szstringA to the variable istringA_length. The second invocation of the function is actually encountered within the if condition. Remember, all test conditions must evaluate to a TRUE (not 0 or !0) or FALSE(0). The if test takes the result returned from the two calls to strlen() and then asks the relational qurstion >=. If the length of szstringB is >= to that of szstringA, the strncmp() function is invoked. The strlen () fungsi sangat berguna, ia mengembalikan jumlah karakter, tidak termasuk-nol terminator, dalam string menunjuk. Dalam program sebelumnya digunakan dalam dua bentuk yang berbeda hanya untuk memberikan paparan tambahan untuk penggunaannya. Panggilan pertama ke fungsi memberikan panjang szstringA ke istringA_length variabel. Doa kedua fungsi sebenarnya yang dihadapi dalam kondisi jika. Ingat, semua kondisi pengujian harus mengevaluasi ke BENAR (bukan 0 atau! 0) atau FALSE (0). Jika uji

mengambil hasil kembali dari dua panggilan ke strlen () dan kemudian meminta qurstion relasional> =. Jika panjang szstringB adalah> = dengan yang szstringA, yang strncmp () fungsi dipanggil. The function strcmp() compares two strings, starting with the first character in each string. If both string are identical, strncmp() will return a value less than zero if szstringB. The relational test >= was used in case you wanted to modify the code to include a report of equality, greater than, or less than for the compared strings. The strcmp function () membandingkan dua string, dimulai dengan karakter pertama dalam setiap string. Jika string keduanya identik, strncmp () akan mengembalikan nilai kurang dari nol jika szstringB. Tes relasional> = digunakan jika Anda ingin memodifikasi kode untuk memasukkan laporan kesetaraan, lebih besar dari, atau kurang dari string untuk dibandingkan. The program terminates by using the value returned by iresult, along with the conditional operator(?:), to determine which string message is printed. Program ini berakhir dengan menggunakan nilai yang dikembalikan oleh iresult, bersama dengan operator kondisional (? :), Untuk menentukan pesan string dicetak. The following program demonstrates how to use strcpy() function :

The following program demonstrate strcat()

FUNGSI STRING DAN KARAKTER ARRAY

DEFINISI STRING String adalah sebuah array yang bertipe char yang diakhiri dengan karakter null (\0). Suatu konstanta string diawali dan diakhiri dengan tanda petik ganda() .Menyertakan file header string.h dalam program. Banyak cara untuk menangani tipe data string ,banyak fungsi yang menggunakan karakter array sebagai argumen fungsi secara khusus,fungsi fungsinya adalah gets(), puts(), fgets(), fputs(), sprintf(), strcpy(), strcat(), strncmp(), dan strlen(). Untuk lebih mudah memahami bagaimana fungsi-fungsi tersebut beroperasi terlebih dahulu anda mengenal konsep karakter array dan string yang diakhiri dengan null. Karakter null dapat digunakan untuk menandai akhir sebuah string. Berikut adalah contoh program yang menggunakan fungsi fgets(), gets(), fputs(), puts(), dan sprintf().

Dibawah ini tampilan keluaran dari program diatas :

Karena string yang dimasukkan kurang dari ukuran sztest_array ,program bekerja dengan baik. Akan tetapi, ketika memasukkan string yang ukurannya melebihi sztest_array,maka tampilannya akan berubah seperti di bawah ini: Please enter the first string : one two three four five The first string entered is : one two three four five Please enter thr second string : six seven eight nine ten The second string entered is : six seven eight nine sprintf() created : this was just a test Please enter the first string entered is : e ten The second string entered is :
1. Fungsi gets() digunakan untuk membaca data berupa string dari

keyboard.Fungsi gets() membaca seluruh karakter yang diketik melalui keyboard , ketika tombol ENTER ditekan untuk mengakhiri string, karakter di baris baru ditransmisikan. Ketika fungsi gets() ini menerima karakter di baris baru, karakter itu akan berubah menjadi karakter null, sehingga memastikan bahwa karakter array mengandung string. Tidak ada pengecekan untuk memastikan bahwa array cukup besar untuk menampung semua karakter yang dimasukkan. Bentuk umum : gets(nama_array);
2. Fungsi puts() menampilkan apa yang dimasukkan oleh fungsi gets() ke

layar monitor dan secara otomatis akan pindah baris(new line). Fungsi puts() juga menambahkan karakter newline pada akhir string di tempat di mana karakter null muncul.Karakter null secara otomatis akan disisipkan oleh fungsi gets(). Oleh karena itu, string dimasukkan dengan gets() dapat ditampilkan dengan puts(). Bentuk umum : puts(nama_array);
3. fgets() berfungsi untuk membaca data dari file dengan mengganti standar

masukan yang disini ditulis stdin . Ketika memakai fungsi fgets(), maka bisa dipastikan angka maksimal dari karakter yang dimasukkan. Karena ukuran sztest_array disini adalah 20, hanya 19 karakter yang akan terbaca oleh fgets(). Karakter null secara otomatis diinput ke dalam string di posisi terakhir, dan jika karakter newline sudah dimasukkan dari keyboard, itu akan disimpan di dalam string. Fungsi fgets() tidak menghapus karakter

newline seperti yang dilakukan gets(), itu hanya ditambahkan ke karakter null di akhir jadi string yang benar akan tersimpan. Bentuk umum : fgets(nama_array,sizeof nama_array, stdin); 4. Fungsi fputs() merupakan kebalikan dari fungsi fgets(). Fputs() berfungsi untuk menyimpan data bertipe string ke dalam file, dengan mengganti standar masukan disini ditulis stdout Bentuk deklarasinya : fputs(nama_array, stdout); Untuk mengerti betapa pentingnya karakter newline di dalam fungsinya, perhatikan tampilan program kedua yang diberikan.Perhatikan frase sprintf() created...; langsung mengikuti six , seven, eight dan nine yang telah diinput. Masukan string yang kedua biasanya memiliki 5 karakter lebih dari fungsi fgets()yang terbaca. Karena fputs() tidak menambahkan 1 kembalian , keluaran fputs() berikutnya dimulai pada baris di mana keluaran sebelumnya berakhir. Fungsi sprintf() adalah singkatan dari string printf(). Itu berfungsi sebagai pengontrol string dengan karakter konversi sama dengan printf().Fitur tambahan adalah sprintf() menempatkan format data menghasilkan string daripada segera mengirimkan hasilnya ke keluaran standar. Hal ini dapat menguntungkan jika keluaran yang sama harus dibuat dua kali misalnya, ketika string yang sama harus menjadi output untuk kedua monitor layar dan printer. Bentuk deklarasinya : sprintf(string tujuan, format string, var1, var2, var3,...);
5.

Strcpy(), strcat(), strncmp(), dan strlen() Program berikut menunjukkan bagaimana menggunakan fungsi strcpy ().

6. Strcpy() : untuk meyalin dari string asal ke string tujuan .

Bentuk umumnya : strcpy(var_tujuan,string_asal);

Dalam fungsi strcpy() salinan contens satu string, szsource_string, menjadi string kedua, szdestination_string. Program sebelumnya diinisialisasi szsource_string dengan pesan, "initialized string!" yang pertama strcpy () memanggil fungsi sebenarnya salinan " string constant" ke szdestination_string, sementara panggilan kedua untuk strcpy () fungsi szsource_string salinan ke variabel szdestination_string.

Program output pesan ini:

7. Strcat() : menggabungkan dua buah

nilai string variabel sumber dan variable tujuan . Bentuk umum : strcat(tujuan,sumber); Berikut ditunjukkan bagaimana fungsi strcat() digunakan:

Dalam contoh program di atas, baik szgreeting dan szname diinisialisasi, sedangkan szmessage tidak. Karena dengan menggunakan fungsi strcpy () string dalam szgreeting akan disalin ke szmessage. Berikutnya, fungsi strcat () digunakan untuk menggabungkan szname ("Carolyne,") dengan "good morning", yang disimpan dalam szmessage. Fungsi strcat () terakhir menunjukkan bagaimana sebuah string konstan dapat digabungkan ke sebuah string. di sini, "how are you?" digabungkan ke isi szmessage ("good mornig Carolyne,"). Output program di atas sebagai berikut:

Program berikutnya menunjukkan menentukan 2 string yang identik:

bagaimana

fungsi

strncmp()

8. Strlen() : mengetahui panjang nilai dan memperoleh jumlah karakter suatu

string tidak termasuk karakter null . Bentuk umum : strlen(string); Dalam program di atas digunakan dalam dua bentuk yang berbeda hanya untuk memberikan paparan tambahan untuk penggunaannya. panggilan pertama ke fungsi memberikan panjang szstringA ke variable istringA_length. pemanggilan kedua berdasarkan yang kondisi if. ingat, semua kondisi harus mengevaluasi ke BENAR (bukan 0 atau! 0) atau FALSE (0). jika tes mengambil hasil kembali dari dua panggilan ke strlen () dan kemudian mengajukan pertanyaan relasional >=. jika panjang dari szstringB adalah >= dengan szstringA, fungsi strncmp () dipanggil. Mengapa program menggunakan >= bukannya ==? untuk mengetahui jawabannya Anda memerlukan penjelasan lebih lanjut tentang bagaimana strncmp () bekerja. 9. Fungsi strncmp() (singkatan dari string-n-compare) membandingkan dua string, dimulai dengan karakter pertama dalam setiap string. jika kedua string identik, fungsi mengembalikan (return value) nilai nol. Syntax : strcmp(string1,string2); Return Value : -1 > jika string 1 lebih kecil dari string2 0 > jika string1 sama dengan string2 1 > jika string1 lebih besar dari string2 Program berakhir dengan menggunakan nilai yang dikembalikan oleh iresult,operator kondisional (? :), untuk menentukan string apa yang akan dicetak(was ataukah wasnt). Output dari contoh program di atas adalah:

CONTOH PROGRAM : 1. Contoh penggunaan fungsi gets, puts, strlen, strcat dan strcmp :

2. Menghitung jumlah karakter yang dimasukkan melalui keyboard .

Anda mungkin juga menyukai