ASSALAMUALAIKUM SOBAT REDAKSI

Kembali lagi dengan saya Dery si manusia C ūüôā
Pada kesempatan kali ini, saya akan melanjutkan pembahasan dari artikel yang sudah saya bahas sebelumnya. Pembahasan kali ini yaitu tentang VARIABEL & FUNGSI STRING.

Sebelum masuk pada pembahasan, Tujuan dari pembahasan kali ini yaitu Mempelajari penggunaan variable string yang dipadukan dengan fungsi-fungsi untuk pengolaham data string, seperti strcat(), strlen(), strcpy dan sebagainya.

String merupakan bentuk data yang biasa dipakai untuk menampung dan memanipulasi data teks.String diakhiri dengan karakter NULL (‚Äė\0‚Äô).Pada bahasa C, string bukan merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array dimensi satu.

Dalam library string.h terdapat 7 fungsi string, yaitu :

  1. STRCPY
    Fungsi strcpy digunakan untuk menyalin string asal ke variabel string tujuan.
  1. STRNCPY
    Fungsi strncpy digunakan untuk menyalin string asal ke variabel string tujuan sebanyak n karakter sesuai dengan yang diinginkan.
  1. STRCAT
    Fungsi strcat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.
  1. STRNCAT
    Fungsi strncat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan sebanyak n karakter sesuai dengan yang diinginkan.
  1. STRCMP
    Fungsi strcmp digunakan untuk membandingkan dua buah string. Hasil akhir dari fungsi ini beritpe integer dengan nilai :
    negatif, jika stringpertama kurang dari string
    nol, jika stringpertama sama dengan string
    positif, jika stringpertama lebih dari string
  1. STRNCMP
    Fungsi strncmp digunakan untuk membandingkan n karakter pertama dalam dua buah string. Hasil akhir dari fungsi ini sama dengan hasil dari fungsi strcmp.
  1. STRLEN
    Fungsi strlen digunakan untuk memperoleh jumlah karakter dari suatu string.

Nah, setelah mengetahui tentang String kali ini mari mencoba membuat sebuah program dengan memberikan String.

  • Membuat program untuk menyisipkan satu karakter string ke dalam string lainnya
    Logikanya, kita menyalin kalimat sebelum huruf sisip ke variabel baru, lalu kita menambahkan huruf sisipan dan menyalin kalimat sisanya.

    Ketiklah program dibawah ini :
    #include<stdio.h>
    #include<string.h>

    char str1[100],teks[100],hasil[100];
    //fungsi sisipan//
    char sisip(char teks[], char str1[], int a)
    {
    strncpy(hasil,teks,a);
    strncat(hasil+a,str1,strlen(str1)-1);
    strcat(hasil+a+strlen(str1)-1,teks+a);
    }

    main()
    {
    int a;

    puts(“Masukan sebuah tulisan”);
    fgets(teks, sizeof teks, stdin);

    puts(“Tambahkan karakter yang akan disisipi”);
    fgets(str1,sizeof str1, stdin);

    puts(“Disisipi di huruf berapa??”);
    scanf(“%d”,&a);

    sisip(teks,str1,a);
    puts(hasil);

    getch();}

    Coba Jalankan programnya, maka outputnya akan terlihat seperti gambar dibawah :

    • Facebook
    • Twitter
    • Google+
    • Pinterest
  • Membuat program untuk menentukan suatu kata/kalimat polindrom atau bukan
    kalimat yang dibolak balik bermakna sama. Logikanya kita input satu kalimat lalu menyalin kalimat tersebut ke variabel baru dan menjalankan fungsi pembalik strrev. di salah satu variabel Lalu mencompare fungsi strcmp==0 yang menandakan kalimat tersebut bernilai sama.

    Ketiklah program dibawah ini :
    #include<stdio.h>
    #include<string.h>

    char klmt1[100],klmt2[100];

    main()
    {
    puts(“Masukan kalimat “); fgets(klmt1,sizeof klmt1,stdin);
    spasi(klmt1);

    strcpy(klmt2,klmt1);
    strrev(klmt2);

    if(strcmp(klmt1,klmt2)==0)
    puts(“Kalimat POLINDROM”);
    else
    puts(“bukan Kalimat POLINDROM”);

    getchar();
    }
    spasi(char klmt1[])
    {
    int b = strlen(klmt1) -1;
    if (klmt1[b] == ‘\n’)
    {klmt1[b] = ‘\0’;}

    return(klmt1);
    }

    Coba Jalankan programnya, maka outputnya akan terlihat seperti gambar dibawah :

    • Facebook
    • Twitter
    • Google+
    • Pinterest
  • Membuat program untuk menghitung jumlah huruf kecil, besar, angka numerik, dan tanda baca dalam suatu string
    Logikanya kita menggunakan loop, lalu didalam loop terdapat perintah if else atau  switch, jika cocok maka nilai variabel bertambah.

    Ketiklah program dibawah ini :#include<stdio.h>
    #include<string.h>

    int kcl,bsr,angka,tdbc,hitung;
    int cek(char klmt[])
    {
    kcl=bsr=angka=tdbc=hitung=0;
    for(hitung;klmt[hitung];hitung++)
    {
    if(klmt[hitung]>=’a’&&klmt[hitung]<=’z’)
    kcl++;
    else if (klmt[hitung]>=’A’&&klmt[hitung]<=’Z’)
    bsr++;
    else if (klmt[hitung]>=’0’&&klmt[hitung]<=’9′)
    angka++;
    else tdbc++;
    }
    }
    char spasi(char a[])
    {
    int b = strlen(a) -1;
    if (a[b] == ‘\n’)
    {a[b] = ‘\0’;}

    return(a);
    }
    main()
    {
    char klmt[100];
    puts(“Penyortiran huruf\nMasukan kalimat”);
    fgets(klmt,sizeof klmt,stdin);

    spasi(klmt);
    cek(klmt);

    printf(“Huruf besar = %d\nHuruf kecil = %d\nangka= %d\ntanda baca= %d”,bsr,kcl,angka,tdbc);

    getchar();

    }

    Coba Jalankan programnya, maka outputnya akan terlihat seperti gambar dibawah :

    • Facebook
    • Twitter
    • Google+
    • Pinterest
  • Membuat program koordinat tulisan
    Kita menggunakan fungsi coordinat dengan perintah
    ”¬†SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);”

    Ketiklah program dibawah ini :

    #include<stdio.h>
    #include<string.h>
    #include<windows.h>

    char klmt[200];

    main()
    {
    int a,b,x,y=1 ;

    printf(“Masukan kalimat \n”);
    fgets(klmt,sizeof klmt, stdin);

    spasi(klmt);

    for(b=0;b<=strlen(klmt);b++){
    x=strlen(klmt)-a;y++;
    for(a=0;a<b;a++){
    gotoxy(x,y);
    printf(“%c”,klmt[a]);
    x++;
    }
    }
    getchar();
    }
    spasi(char klmt[])
    {
    int z = strlen(klmt) -1;
    if (klmt[z] == ‘\n’){
    klmt[z] = ‘\0’;
    }

    return(klmt);
    }
    void gotoxy(int x, int y)
    {
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
    }

    Coba Jalankan programnya, maka outputnya akan terlihat seperti gambar dibawah :

    • Facebook
    • Twitter
    • Google+
    • Pinterest

Nah, Bagaimana sobat redaksi. Belajar bahasa C itu tidak mudah, namun menyenangkan.
Sekian dari saya, sampai jumpa di pembahasan selanjutnya ūüôā

WASSALAMUALAIKUM WR. WB