Assalamualaikum Wr.Wb

Halo sobat ambyar kembali lagi bersama saya Nando. Seperti pada artikel sebelumnya, saya akan tetap membahas materi mengenai pemrograman bahasa c. Nah untuk kali ini saya akan membahas tentang Variabel dan Fungsi String. Tujuannya apa? Jadi untuk mempelajari penggunaan variable string yang dipadukan dengan fungsi-fungsi untuk pengolahan data string, seperti strcat(), strlen(), strcpy dan sebagainya.

Setelah tahu tujuannya, selanjutnya penjelasannya. Jadi, suatu karakter string adalah terdiri dari beberapa karakter (deretan karakter) yang diakhiri dengan karakter khusus ‘\0’ (null).Suatu konstanta string adalah karakter string yang dituliskan diantara tanda petik ganda(‘’).seperti yang digunakan pada fungsi printf() atau puts().Konstanta karakter string mempunyai kelas penyimpanan static, sehingga bila digunakan didalam fungsi, maka nilainya tidak akan berubah selama program aktif.

Kita sudah mengetahui tujuan dan penjelasannya, selanjutnya mari kita mencoba membuat suatu program. Mari kita simak percobaan di bawah ini:

1. 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.

#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 karakter ke berapa??”);
scanf(“%d”,&a);

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

}

Klik build and run untuk menunjukkan hasilnya

  • Facebook
  • Twitter
  • Google+
  • Pinterest

2.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.

#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);
}

klik build run untuk menjalankan programnya

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3.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.

#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();}

klik build and run untuk menjalankan programnya

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4.Membuat program koordinat tulisan
Kita menggunakan fungsi coordinat dengan perintah
” SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);”

#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);
}

klik build and run untuk menjalankan programnya

  • Facebook
  • Twitter
  • Google+
  • Pinterest

sekian pembasan dari saya semoga sobat ambyar dapat memahami materi ini. maaf apabila ada kesalahan dari saya, saya ucapkan terimakasih

Wassalamualaikum Wr.Wb