MENGENAL LEBIH LANJUT TIPE STRING DI BAHASA C DAN PENGGUNAANNYA - Tutorial Seputar Teknologi

MENGENAL LEBIH LANJUT TIPE STRING DI BAHASA C DAN PENGGUNAANNYA

Halo!

Kalian sudah memahami konsep pemilihan atau percabangan dalam pemrograman, terutama pemrograman bahasa C? Kalau sudah, kalian bisa melanjutkan untuk memahami lebih lanjut tipe string dan penggunaannya dalam pemrograman bahasa C.
Kalau belum, silakan kalian baca ulang ya!:

Pada artikel Mengenal tipe data, penamaan, dan sekuens dalam bahasa C, gw udah sedikit menyinggung tentang tipe String. Di mana tipe string, bukan merupakan tipe data primitif atau tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman, melainkan tipe string ialah tipe data baru yang dibuat menggunakan keyword typedef. Pada artikel Mengenal tipe data, penamaan, dan sekuens dalam bahasa C juga, gw tulis bahwa tipe data string bisa diinisialisasi akan tetapi tidak bisa diassignment. Apa itu inisialisasi? apa itu assignment? gampangnya kyak gini;
Inisialisasi ialah tahap pemberian nilai bersamaan tipe data yang dipilih (biasanya di awal)
Contoh : 
  int A = 30; ➡ ini yang dimaksud inisialisasi.
Contoh lain :
  float B = 20.5;

Sedangkan Assignment ialah tahap pemberian nilai langsung pada sebuah variabel
Contoh :
  int A;
  A = 50; ➡ ini yang dimaksud assignment.
Contoh lain :
  float B;
  B = 20.5;

Lalu pertanyaannya, gmana caranya ngasi nilai ke sebuah variabel yang bertipe data string selain dengan cara inisialisasi? Jawabannya akan kalian temukan dalam artikel ini. Silakan simak hingga selesai.

Berbeda dengan tipe data integer yang hanya bisa menampung angka, tipe data char yang hanya bisa menampung huruf, dsb. Tipe data string adalah tipe data yang dapat menampung segala karakter termasuk karakter ASCII yaitu 0 - 255. Singkatnya, string merupakan rangkaian karakter, di mana string diakhiri dengan karakter null ('\0') (tidak perlu diperhatikan banget)

Pada langkah awal, jika kalian ingin menggunakan jurus ini, maka kalian wajib menambahkan library #include(string.h) pada awal program bahasa C. Sehingga kurang lebih terlihat seperti ini;
Untuk memahami typedef, kalian bisa membaca artikel sebelumnya tentang :

Mungkin ada pertanyaan, apa maksud [30] pada akhir string tersebut? Intinya, itu menandakan jumlah karakter yang boleh diketikkan, yakni hingga 30 karakter. Angka 30 bisa saja diubah menyesuaikan kebutuhan. Untuk memahami lebih lanjut, kalian bisa mempelajarinya nanti di materi Array.

Dengan penambahan library #include(string.h)pada header atau awal program, maka programmer dapat menggunakan beberapa jurus (fungsi) string yaitu strcpy, strlen, strcmp, dan strcmpi. Mari kita bahas satu per satu fungsi string tersebut.

◾  STRCPY
strcpy(variabelA, variabelB); 
<variabelA akan menyimpan nilai dari variabelB>
atau 
strcpy(variabelA, “string”);
<variabelA akan menyimpan nilai "string">

Fungsi strcpy mempunyai arti string copy. Dari namanya saja sudah bisa ditebak, bahwa strcpy berfungsi untuk mengisikan nilai terhadap suatu variabel bertipe string atau menyalin (coppy) isi dari suatu variabel bertipe string, ke variabel yang dituju. 
Bila kita lihat, untuk mengisi (assignment) nilai sebuah variabel bertipe integer, maka user dapat menuliskannya langsung (A = 5;), akan tetapi untuk string, harus 
menggunakan fungsi strcpy ini. Fungsi strcpy, harus berdiri sendiri (tidak bisa 
menempel pada suatu variabel). 
Contoh : 
string namaHewan; Pendeklarasian namaHewan bertipe string

namaHewan="Kelinci";Bila dijalankan, maka akan terjadi error.
strcpy(namaHewan, "Kelinci");Variabel namaHewan akan berisi "Kelinci".

◾  STRLEN
if( strlen(variabel) != 0){} 
atau 
int temp = strlen(variabel);

Fungsi strlen mempunyai arti string length. Dari namanya juga kita bisa menebak, bahwa strlen berfungsi untuk memberitahu jumlah character dari suatu string. Fungsi ini akan bisa bekerja dengan baik jika menempel pada suatu variabel / dijadikan sebuah kondisi suatu pemilihan karena jika berdiri sendiri tidak akan memberikan efek apapun. 
Contoh :
string namaHewan; ➡ Pendeklarasian namaHewan bertipe string
int jumlahChar=0; ➡ Pendeklarasian jumlahChar bertipe int sekaligus menginisialisasi jumlahChar menjadi 0.
strcpy(namaHewan,”Kelinci”);
jumlahChar = strlen(namaHewan);

Variabel jumlahChar yang tadinya bernilai 0, setelah diisi (assignment) dengan strlen(namaHewan), hasilnya akan menjadi 7 karena “Kelinci” terdiri dari 7 character.

◾  STRCMP & STRCMPI
    Untuk Fungsi ini, gw tunjukin 2 tipe penulisan yang keduanya bisa digunakan.
1. Penulisan Pertama (gw kasi nama aja dengan penulisan asli)
if(strcmp(variabelAwal, variabelPembanding))
Akan bernilai true jika variabelAwal dan variabelPembanding memiliki isi string yang berbeda. Hal ini, karena apabila variabelAwal dan variabelPembanding memiliki nilai yang sama, maka hasilnya akan bernilai 0 atau false.

2. Penulisan Kedua (penulisan dnegan menggunakan bantuan)
    Pada tipe penulisan ini, karena menggunakan bantuan, maka ada 2 penulisan;
    1.  if(strcmp(variabelAwal, variabelPembanding) == 0)
Akan bernilai true jika variabelAwal dan variabelPembanding memiliki isi string yang sama. Hal ini, karena saat variabelAwal dan variabelPembanding memiliki isi string yang sama, maka akan menghasilkan nilai 0 dan kemudian kita bandingkan apakah ruas kiri (hasil nilai) sama dengan ruas kanan (0) ? Karena 0 == 0, maka hasil akhir akan bernilai true.
    2.  if(strcmp(variabelAwal, variabelPembanding) != 0)
Akan bernilai true jika variabelAwal dan variabelPembanding memiliki isi string yang berbeda. Hal ini, karena saat variabelAwal dan variabelPembanding memiliki isi string yang berbeda, maka akan menghasilkan nilai 1, sehingga 1 != 0 (true).

Tipe penulisan pertama dan penulisan kedua adalah sama, perbedaannya adalah cara penulisannya saja. Penulisan kedua hanya sebagai pembantu saja (supaya lebih mudah dan tidak ketuker-tuker). Kalian bebas mau menggunakan cara yang mana. Kalo gw pribadi kebiasa pakai cara penulisan kedua.

Sekarang kita balik ke intinya mengenai strcmp dan strcmpiKedua fungsi ini memiliki cara penggunaan dan kegunaan yang sama yaitu untuk membandingkan antara string_1 dengan string_2. Strcmp sendiri merupakan singkatan dari string compare, sedangkan strcmpi yaitu string compare insensitiveDari pengertian tersebut, dapat diketahui bahwa strcmp merupakan fungsi case sensitive dimana huruf besar akan mempengaruhi hasil, tidak seperti strcmpi yang insensitive sehingga huruf besar dan kecil dianggap sama. Fungsi ini biasanya dijadikan menjadi sebuah kondisi suatu if else untuk fungsi login dan lainnya. 
Contoh: 
String string_1, string_2;
strcpy(string_1,”Kelinci”);
strcpy(string_2,”kelinci”);

if(strcmpi(string_1,string_2) == 0){
    printf(“String sama saja”);
}else{
    printf(“String berbeda”);}

Dari sepotong kode itu, maka Output yang dikeluarkan yaitu “String sama saja” karena strcmpi tidak memperhatikan huruf besar. Namun jika dalam parameter if, yang dijadikan sebagai kondisi adalah strcmp, maka outputnya adalah “String berbeda”.

Oke, itulah pembahasan seputar tipe data string dalam pemrograman bahasa C. Sampai sini, kalian harusnya sudah paham lebih lanjut mengenai tipe string dan penggunaanya. Smoga membantu dan bermanfaat. Terima kasih

Comments

Silakan Beri Komentar
EmoticonEmoticon