Kamis, 02 Juni 2022

String, String Function | Bahasa C String

String dan String Function

Tipe data string juga sering digunakan dalam suatu program begitu juga bahasa c. Walau bahasa ini bahasa tingkat rendah, bahasa ini juga bisa memakai data tipe string. Hanya saja dalam penggunaanya data tersebut menjadi array yang akan otomatis menambahkan diakhir karakter NULL yakni \0. Seperti dalam pendeklarasian :

char str[6] = "hallo";

char str[6] ={'h','a','l','l','o','\0'};

char str[] ={'h','a','l','l','o','\0'};

Pendeklarasian string sebaiknya memiliki nilai lebih dari 2 karakter dari yang dibutuhkan. Untuk mempermudah pengolahan data dalam bentuk string kita bisa menggunakan pustaka string.h. Fungsi-fungsi pada pustaka string.h yakni:

strlen() - menemukan jumlah huruf

strcat() - menggabungkan dua string

strcpy() - menyalin satu string ke yang lainya

strlwr() - mengubah string ke huruf kecil

strupr() - mengubah string ke huruf kapital

strrev() - membolak-balik string

strcmp() - membandingkan dua string

Berikut ini contoh penggunaan dalam applikasi bandingKata.c

#include <stdio.h>

#include <string.h>

int main(){

    char a[6], b[6];

    int banding;

    printf("masukan nilai variabel a \n");

    gets(a);

    //lebih aman pake fgets

    //fgets(a, 6, stdin);

    printf("masukan nilai variabel b \n");

    gets(b);

    //lebih aman pake fgets

    //fgets(b, 6, stdin);

    banding =strcmp(a, b);

    if(banding == 0){

        printf("sama \n");

    }else{

        printf("tidak sama \n");

    }

    return 0;

}

Aplikasi diatas menggunakan function strcmp() yang akan mengembalikan nilai 0 atau true jika benar. Selanjutnya mencetak kata sama bila kata tersebut sama. Kamu bisa mengubah jumlah kata yang ingin dibandingkan sesuai dengan keinginan pada baris ke 4.

String juga bisa menggunakan function sprintf dan sscanf. Dengan contoh penggunaan dalam file string1.c dan string2.c ini:

#include <stdio.h>

int main(){

    char info[] = "SMK 500 38";

    char tempat[50];

    int murid, guru;

    sscanf(info, "%s %d %d", tempat, &murid, &guru);

    printf("Di %s terdapat %d siswa dan %d tenaga pengajar", tempat, murid, guru);

    return 0;

}

Ini akan menampilkan data yang dimasukan pada variabel info. Berikutnya yakni file string2.c :

#include <stdio.h>

int main(){

    char info[100];

    char namaDepan[] = "Abdurrahman";

    char namaBelakang[] = "Umar";

    int pendapatan = 500000;

    sprintf(info, "%s %s memiliki pendapatan Rp.%d perhari", namaDepan, namaBelakang, pendapatan);

    printf("%s \n", info);

    return 0;

}

atoi, atof, atol, strtol function

atoi funtion digunakan untuk mengubah tipe data string(huruf) menjadi integer(angka). Format penggunaanya yakni int atoi(str) dan dibawah ini merupakan contoh sederhananya. Sedangkan atof mengubah tipe string menjadi float, function atol mengubah string menjadi long integer dan function strtol mengubah string menjadi long integer. Berikut ini adalah file hurufAngka.c yang menerapkan function atoi, atof dan atol.

#include <stdio.h>

#include <stdlib.h>

int main(){

        char masukan[10];

        int angka;

        float  angka2;

        long int angka3;


        printf("Masukan angka yang kamu mau:\n");

        scanf("%s", masukan);

        angka = atoi(masukan);

        printf("Kamu memasukan angka %d \n", angka);

        angka2 = atof(masukan);

        printf("Kamu memasukan angka %f \n", angka2);

        angka3 = atol(masukan);

        printf("Kamu memasukan angka %ld \n", angka3);

        return 0;

}

Tidak ada komentar:

Posting Komentar