sebelum kita percobaan sebaiknya kita mengetahui teorinya terlebih dahulu yakni
Dasar-dasar String :
- String sebenarnya merupakan penggunaan tipe data char secara berkelompok
2. Tipe data string merupakan array dari tipe data char
Deklarasi Variabel String :
Karena string merupakan array dari char, maka pendeklarasiannya sama dengan mendeklarasikan array dari char, yaitu :
Char nama_var [ jml_karakter ]
Contoh :
char alamat [10] –> deklarasi variabel alamat dengan tipe data string.
Nilai Variabel alamat terdiri dari beberapa karakter maksimal 10 karakter (0 s/d 9)
Perbedaan Char dan String :
Char ‘A’ berbeda dengan string “A”
Lihat perbedaanya pada penggambaran memori berikut:
Operasi string tidak dapat dilakukan untuk tipe data char
Fungsi-Fungsi pada Librari String :
String.h merupakan librari yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring. Fungsi-fungsi dalam librari string.h antara lain : strcpy, strncpy, strcat, strncat, strcmp, strncmp, strlen.
- Strcpy Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan. Bentuk umumnya : strcpy(var_tujuan, string_asal);
- Strncpy Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan sebanyak n karakter sesuai yang diinginkan programmer. Bentuk umumnya: strncpy(var_tujuan, string_asal, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan. Cara menyalin substring di tengah, contoh:
Char s2[10]
Char s1[15] = “Mar. 15, 2008”
s2 bernilai berapa?
Strncpy (s2,s1,3) –> s2 bernilai “Jan, “
Strncpy (s2, &s1[5], 2) –> s2 bernilai “15”
3. Strcat Berfungsi untuk menambahkan string sumber ke bagian akhir dari string tujuan. Bentuk umumnya: strcat(tujuan, sumber);.
4. Strncat Berfungsi sama dengan fungsi strcat, yaitu menambahkan string sumber ke bagian akhir dari string. Yang membedakan adalah pada jumlah karakter yang dipindahkan. Fungsi ini dapat memindahkan karakter sebanyak n karakter sesuai yang sudah diprogram oleh programmer. Bentuk umumnya: strncat(tujuan, sumber, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan.
5. Strcmp Berfungsi untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai:
1) negative, bila string pertama kurang dari string kedua.
2) Nol, bila string pertama sama dengan string kedua.
3) Positif, bila string pertama lebih banyak dari string kedua.
Bentuk umumnya: strcmp(string1, string2);
6. Strncmp Berfungsi untuk membandingkan n karakter pertama dalam dua buah string. Hasil dari fungsi ini sama dengan hasil dari fungsi strcmp. Bentuk umumnya:
Strncmp(string1, string2, n);. Dengan n adalah jumlah karakter yang ingin dibandingkan.
7. Strlen Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umumnya: strlen(string);
Setelah membaca teori diatas mari kita simulasikan pada program c pada soal berikut :
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.
masikkan code sebagai berikut :
#include <stdio.h>
#include <string.h>
#include <conio.h>
main()
{
char a[50], b[50];
int d,n,m;
printf(“Masukkan kalimat sumber = “); gets(a);
printf(“Masukkan kalimat yang akan disisipkan = “); gets(b);
printf(“Mensisipkan karakter setalah ke “);
scanf(“%d”,&d);
for(n=0; n<strlen(a); n++){
printf(“%c”, a[n]);
if(n==d)
for(m=0; m<strlen(b); m++){
printf(“%c”, b[m]);
}
}
printf(“%c”,a[n]);
getch();
}
Lalu Build&run dan masukkan kalimatnya
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.
masikkan code sebagai berikut :
#include <stdio.h>
#include <string.h>
main(){
char a[100],b[100];
awal:
printf(“\nKalimat “); gets(a);
strcpy(b,a);
strrev(a);
if(strcmp(b,a)==0){
printf(“Termasuk POLINDROM\n”);
}else{
printf(“Bukan POLINDROM\n”);
}
while(strcmp(b,a)!=0) goto awal;
}
Lalu Build&run dan masukkan kalimatnya
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.
masikkan code sebagai berikut :
#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(“Masukkan 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);
getch();
}
Lalu Build&run dan masukkan kalimatnya
4. Membuat program hasil pengeluaran
masukkan data sebagai berikut:
void main()
{
int a,b,c,d;
static char txt[]=”ALEX PUTRA BAGUS PRAMUJA”;
static char hasil[50];
c=d=37;
for(a=0; a<=strlen(txt)-1; a++){
for(d=1; d<=c; d++)
printf(“”);
for(b=0;b<=a;b++)
hasil[b]=txt[b];
printf(“%s\n”, hasil);
}
getch();
}
Lalu Build&run
Jadi gimana sudah mulai faham kan , sekian dari saya untuk materi string ini kurang lebihnya mohon maaf
terimakasihh……
Recent Comments