Assalamu’alaikum Wr. Wb.
Kembali bersama saya Vannya đ
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.
Setelah mengetahui dasar teori dari variable array ini mari kita membuat beberapa program.
- 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 pada codeblocks
#include<stdio.h>
#include<string.h>char str1[100],teks[100],hasil[100];
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 kalimat”);
fgets(teks, sizeof teks, stdin);puts(“Tambahkan karakter yang akan disisipkan”);
fgets(str1,sizeof str1, stdin);puts(“Disisipi di huruf ke berapa?”);
scanf(“%d”,&a);sisip(teks,str1,a);
puts(hasil);getch();
}Lalu build and run, maka outputnya akan menjadi seperti ini
- Membuat program untuk menentukan suatu kata/kalimat polindrom atau bukan kalimat yang dibolak balik bermakna sama.
Ketiklah program dibawah ini pada codeblocks#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(“Merupakan 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);
}Lalu build and run, maka outputnya akan menjadi seperti ini
- Membuat program untuk menghitung jumlah huruf kecil, besar, angka numerik, dan tanda baca dalam suatu string
Ketiklah program dibawah ini pada codeblocks
#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();
}Lalu build and run, maka outputnya akan menjadi seperti ini
- Membuat program koordinat tulisan
Ketiklah program dibawah ini pada codeblocks#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);
}Lalu build and run, maka outputnya akan menjadi seperti ini
Sekian dari saya,
Wassalamu’alaikum Wr. Wb.
Recent Comments