Assakamualaikum Wr Wb
TUJUAN dari percobaan kali ini ialah Mempelajari penggunaan variabel string yang dipadukan dengan fungsi-fungsi untuk pengolahan data string, seperti strcat(), strlen(), strcpy() dan sebagainya.
Suatu karakter STRING adalah terdiri dari beberapa 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 penyimpan static, sehingga bila digunakan dalam fungsi, maka nilainya tidak akan berubah selama program masih aktif.
Pada bahasa pemrograman C, string hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi satu dan merupakan array bertipe karakter (char). Pada saat kita akan menampilkan sebuah string, komputer akan memeriksa satu per satu elemen array dan menampilkannya ke layar monitor. Komputer akan berhenti memeriksa jika menemukan karakter null (‘\0’).
Pendeklarasian pada variabel string sama dengan mendeklarasikan array dari tipe data char. Ini dikarenakan string merupakan array dari tipe data char (karakter). Untuk menampilkan string, karakter format yang dipergunakan adalah “%s“.
format :
char nama_variabel[jml_karakter];
Bahasa C juga mendukung berbagai fungsi yang dapat memanipulasi string. Fungsi-fungsi tersebut terdapat pada librari string (string.h). Dalam librari string.h terdapat 7 fungsi string, yaitu :
- STRCPY
Fungsi strcpy digunakan untuk menyalin string asal ke variabel string tujuan.
- STRNCPY
Fungsi strncpy digunakan untuk menyalin string asal ke variabel string tujuan sebanyak n karakter sesuai dengan yang diinginkan.
- STRCAT
Fungsi strcat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.
- STRNCAT
Fungsi strncat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan sebanyak n karakter sesuai dengan yang diinginkan.
- STRCMP
Fungsi strcmp digunakan untuk membandingkan dua buah string. Hasil akhir dari fungsi ini beritpe integer dengan nilai :
negatif, jika string pertama kurang dari string kedua.
nol, jika string pertama sama dengan string kedua.
positif, jika string pertama lebih dari string kedua.
- STRNCMP
Fungsi strncmp digunakan untuk membandingkan n karakter pertama dalam dua buah string. Hasil akhir dari fungsi ini sama dengan hasil dari fungsi strcmp.
- STRLEN
Fungsi strlen digunakan untuk memperoleh jumlah karakter dari suatu string.
TUGAS :
- Membuat fungsi untuk menyisipkan satu karakter string kedalam string lainnya.
#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();}
Build and Run
2.Membuat program untuk menentukan kalimat polindrom atau bukan.
#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);
}
Build & Run
3. Membuat program untuk menentukan jumlah huruf besar, huruf kecil, angka numerik dan tanda baca.
#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();}
Build & run
4. Membuat Kalimat dengan format tangga
#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);
}
Build & run
Sekian yang dapat saya bagikaan
Recent Comments