Blog information

  • Category: Kuliah

  • Posted By: AglaBridgeMedia

  • Post date: 23 Mar 2020

  • Keywords: materi informatika dasar pemrograman string, string bahasa c, unan purwodadi, an nuur purwodadi

  • Views: 277

Dasar Pemrograman: String

DEFINISI

Untuk keperluan menampung dan memanipulasi data teks dalam pemrograman, biasanya menggunakan bentuk data string. Pada bahasa C, string merupakan kumpulan dari nilai-nilai karakter yang berurutan berupa array berdimensi satu. Sehingga string bukan merupakan tipe data tersendiri dalam bahasa C. String ditulis dengan diawali dan ditutup dengan tanda petik ganda, seperti berikut.

"AGLABRIDGEMEDIA"

Nilai string tersebut akan disimpan dalam memory secara terurut seperti pada tabel berikut.

...AGLABRIDGEMEDIA\0...

Setiap karakter akan menempati memory sebesar 1 byte, dan byte terakhir akan otomatis berisi NULL (dalam hal ini \0). Dengan adanya NULL di akhir string, maka nilai akhir dari suatu string dapat dicari/ditemukan. Karena string merupakan bentuk array berdimensi satu, maka elemen nilai dari string dimulai dengan indeks 0, kemudian elemen kedua dengan indeks 1, dst.

VARIABEL STRING

Variabel string merupakan suatu variabel yang digunakan untuk menampung nilai dari string. Sebagai contoh.

char nama[50];

Instruksi di atas digunakan untuk mendeklarasikan variabel string nama dengan maksimal sebanyak 50 karakter (termasuk karakter NULL). Deklarasi variabel tersebut sebenarnya tidak lain adalah deklarasi array dengan tipe char.

INISIALISASI STRING

Ada banyak cara untuk menginisialisasi suatu string. Berikut beberapa cara untuk inisialisasi string.

char name[] = "SUNEO";
char name[] = {'S','U','N','E','O','\0'};
char name[50] = "SUNEO";

Sedangkan cara penulisan string seperti di bawah ini.

name = "SUNEO";

adalah tidak diperbolehkan.

INPUT DAN OUTPUT STRING

Sekarang, bagaimana kita memasukkan data string ke dalam suatu variabel? Untuk dapat memasukkan data string ke dalam suatu variabel dapat dilakukan dengan fungsi gets() atau scanf(). Bentuk umum pemakaiannya dapat dilihat pada kode berikut.

#include 
gets(nama_array);

atau

#include 
scanf("%s", nama_array);

Keterangan:

  • nama_array adalah nama variabel bertipe array of char yang digunakan untuk menyimpan input data string.
  • di depan nama_array tidak diperlukan tanda & (operator alamat) karena nama_array sudah menyatakan alamat yang akan ditempati elemen pertama dari array tersebut.
  • jika menggunakan perintah scanf() maka jika karakter yang tersimpan adalah kumpulan karakter sebelum tanda spasi. Dengan kata lain jika string mengandung karakter spasi maka dianggap akhir dari string tersebut. Misal memasukkan string: STAY AT HOME, maka yang tersimpan hanyalah kata STAY.

Berikut akan saya berikan contoh kode program menggunakan string.

main(){
    char nama[50];

    printf("Masukkan nama kamu: "); gets(nama);
    //printf("Masukkan nama kamu: "); scanf("%s", nama);
    //puts(nama);
    printf("\nHalo %s, salam kenal.\n", nama);
}
Kode di atas menangkap masukan dengan fungsi gets() dan apabila dieksekusi akan menghasilkan tampilan sebagai berikut.

Sekarang bandingkan jika kita menggunakan perintah scanf(). Dari kode program diatas tinggal memberi komentar pada baris ke 7 dan menghilangkan komentar di baris 8. Maka tampilan akan seperti gambar berikut.


Nah sekarang teman-teman sudah mengetahui apa itu string dan cara menggunakannya bukan? Nah dari kode program di atas, ada dua fungsi untuk menampilkan output atau keluaran dari data yang kita masukkan. Yang pertama menggunakan printf() dan kedua menggunakan puts(). Perbedaan keduanya adalah jika printf() mengembalikan atau menampilkan data input tanpa diakhiri dengan tambahan \n, sedangkan jika menggunakan puts() akan mengembalikan atau menampilkan data input dengan diakhiri tambahan \n. Karakter \n merupakan karakter enter atau pindah baris.


FUNGSI-FUNGSI TERKAIT STRING

Fungsi-fungsi untuk string mempunyai prototype yang berada di file string.h. Sehingga jika ingin menggunakan fungsi bawaan yang ada pada fungsi string.h perlu di inlcude kan di baris kode kita dengan menuliskan #include . Berikut beberapa fungsi yang ada di string.h:

  • strcpy()

Fungsi strcpy() digunakan untuk menyalin dari string asal ke string tujuan. Adapun return value atau keluaran dari fungsi ini adalah string tujuan. Syarat agar bisa menggunakan fungsi ini adalah ukuran string tujuan harus sama atau lebih besar dari string asal agar bisa menampung string asal. Contoh implementasinya sebagai berikut.



void main(){
    char asal[10] = "KANCIL";
    char tujuan[15];
    strcpy(tujuan, asal);
    printf("String asal adalah: %s\n", asal);
    printf("String tujuan adalah: %s", tujuan);
}

  • strlen()

Fungsi strlen() ini digunakan untuk menghitung panjang dari string. Contoh kode programnya sebagai berikut.



void main(){
    char asal[10] = "KANCIL";
    char tujuan[15];
    strcpy(tujuan, asal);
    printf("String asal adalah: %s\n", asal);
    printf("String tujuan adalah: %s\n", tujuan);
    printf("Panjang String: %d karakter", strlen(asal));
}

  • strcat()

Fungsi strcat() digunakan untuk menggabungkan dua buah string menjadi satu. Contoh programnya sebagai berikut.



void main(){
    char asal[10] = "KANCIL";
    char tujuan[15];
    strcpy(tujuan, asal);
    printf("String asal adalah: %s\n", asal);
    printf("String tujuan adalah: %s\n", tujuan);
    printf("Panjang String: %d karakter\n", strlen(asal));
    printf("Gabungan String: %s", strcat(asal, tujuan));
}

  • strcmp()

Fungsi strcmp() digunakan untuk membandingkan dua buah string. Output dari fungsi ini bertipe int berupa -1 jika  string1 kurang dari string2, 0 jika string1 sama dengan string2, dan 1 jika string1 lebih dari string2. Perbandingan dilakukan mulai dari karakter paling kiri. Adapun cara yang dijadikan acuan perbandingan adalah nilai ASCII dari karakter yang ada. Misal 'A' lebih kecil dari 'B' dan 'B' lebih kecil dari 'C', dst. Contoh kode programnya sebagai berikut.



void main(){
    char asal[10] = "KANCIL";
    char tujuan[15];
    char string1[] = "KANCIL";
    char string2[] = "KaNCiL";
    strcpy(tujuan, asal);
    printf("String asal adalah: %s\n", asal);
    printf("String tujuan adalah: %s\n", tujuan);
    printf("Panjang String: %d karakter\n", strlen(asal));
    printf("Gabungan String: %s\n", strcat(asal, tujuan));
    printf("Perbandingan String1 %s dan String2 %s : %d\n", string1, string2, strcmp(string1, string2));
    printf("Perbandingan String1 %s dan asal %s : %d\n", string1, asal, strcmp(string1, string2));
    printf("Perbandingan String1 %s dan tujuan %s : %d\n", string1, tujuan, strcmp(string1, string2));
}

  • strchr()

Fungsi strchr() digunakan untuk mencari nilai karakter dari suatu string. Karena fungsi ini berkaitan dengan materi tentang Pointer yang belum dibahas, maka tidak saya sertakan contoh kode programnya.

Nah demikian materi terkait dengan string. Mudah-mudahan mudah dipahami oleh kawan-kawan semua. Tetap semangat belajar, terus berlatih, jangan cepat putus asa, tingkatkan rasa penasaran kalian untuk ngoding ya guys. Happy Coding ^_^






blog comments powered by Disqus