PERTEMUAN 8
VARIABEL & FUNGSI
STRING
SIGIT WASISTA
PENS (www.pens.ac.id)
ethol.pens.ac.id
2021
VARIABEL & FUNGSI STRING
• TUJUAN:
• Mempelajari penggunaan variable string
yang dipadukan dengan fungsi-fungsi
untuk pengolahan data string, seperti
strcat(), strlen(), dan strcpy().
VARIABEL & FUNGSI STRING
• TEORI:
• 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
penyimpan static, sehingga bila digunakan
didalam fungsi, maka nilainya tidak akan berubah
selama program aktif.
C++ STRINGS
• A string is a null terminated array of characters.
• null terminated means there is a character at the end of the
the array that has the value 0 (null).
f u n g s i 0
s t r i n g 0
MENGHITUNG PANJANG KARATER
DENGAN ACUAN KARAKTER NULL ‘\0’
#include <stdio.h>
int main()
{
static char kata0[]={'b','e','l','a','j','a','r','\0'};
static char kata1[]={'f','u','n','g','s','i','\0'};
static char kata2[]={'s','t','r','i','n','g','\0'};
printf("Panjang string 0 = %d\n",panjang_str(kata0));
printf("Panjang string 1 = %d\n",panjang_str(kata1));
printf("Panjang string 2 = %d\n",panjang_str(kata2));
}
STRING “ASSALAMUALAIKUM...”
DAN “BIMASENA”
, A s s a l
a m u a l a i k u m
. . . 0
B i m a S e n a 0
STRLEN
• Menghitung panjang string dari awal indeks, sampai ketemu
dengan 0 (null).
Awal String
0 1 2 3 4 5 6 7 8
p u a n j a n g 0
Akhir String
Panjang String = 8
STRCAT
• Menggabungkan antara dua string
• Contoh:
• str1=“, Assalamualaikum...”
• str2=“Budi”
• str3=str2+str1
• Isi dari str3 menjadi: Budi, Assalamualaikum...
STRCMP
• Membandingkan antara dua string, bila
sama akan dikembalikan nilai 0, dan bila
tidak sama akan dikembalikan nilai selain 0.
• “bimasena” == “BimaSena” -> 1
• “BimaSena” == “BimaSena” -> 0
FUNGSI-2 STRLEN,
#include <string.h>
#include <stdio.h>
int main()
{
int i, jumkar;
char teks[MAKS];
puts("Masukkan suatu kalimat (maks 255 karakter).");
puts("Komputer akan menghitung jumlah karakternya.\n");
fgets(teks, sizeof teks, stdin);
jumkar = 0;
for(i=0; teks[i]; i++)
jumkar++;
printf("\nJumlah karakter = %d\n", jumkar);
}
STRCHR
• Menentukan posisi karakter pada suatu string.
• Contoh:
• Tentukan posisi huruf R pada string dibawah:
Posisi huruf
“R”
2 3 4 5 6 7 8 9 10 11
K E J A R L A H
MENENTUKAN POSISI HURUF DARI
SUATU STRING DENGAN STRCHR()
#include <string.h>
int main()
{
char str1[50], str2[50], kar, *po;
strcpy(str1,"0---------1---------2---------3");
strcpy(str2,"-> KEJARLAH DAKU KAU KUTANGGKAP");
cputs("Isi dari str1 = "); puts(str1);
cputs("Isi dari str2 = "); puts(str2);
printf("\nPosisi huruf pada string dapat dicari");
printf("\nmenggunakan rumus p = strchr(str2,kar)\n");
kar='G';
po=strchr(str2,kar)-str2;
printf("\nKarakter '%c' terletak pada kolom ke %d",kar,po);
}
MENGHITUNG HURUF DAN KATA
int alphabetic(char c) int main()
{ {
if ((c>='a' && c<='z')||(c>='A' && c<='Z')) int hitung;
return(1); static char teks1[] = "Angka atau
else bilangan 0123456789";
return(0); static char teks2[] = "juga termasuk
karakter string.";
}
printf("Teks 1: %s\n",teks1);
printf("Teks 2: %s\n",teks2);
int hitung_kata(char string[])
puts("");
{
hitung = hitung_kata(teks1);
int i, lihat_kata=1, kata_terhitung=0;
hitung = hitung + hitung_kata(teks2);
for (i=0; string[i]!='\0'; ++i)
printf("Terhitung ada %d kata pada
if (alphabetic(string[i])) { teks diatas!\n",hitung);
if (lihat_kata) { getch();
++kata_terhitung; }
lihat_kata=0;
}
} else
lihat_kata=1;
return (kata_terhitung);
}
STRCPY
• Menyalin suatu string ke lokasi
string lain.
• Contoh:
• str1=“Bima Sena”
• str2=“”
• strcpy(str2,str1);
• strcpy(str1,”Gatut Kaca”);
STRNCPY
• Menyalin sebagian (n) dari string.
• Contoh:
• str1=“David Beckham”
• strncpy(str2,str1,6)
• Isi dari str2 adalah = “David “
• strncpy(str3,str1+6,7)
• Isi dari str3 adalah = “Beckham”
MENGAMBIL BAGIAN DARI STRING
#include<stdlib.h>
int main()
{
char str1[30], str2[30], str3[30];
char str4[30], str5[30], str6[30];
#include <string.h>
#include <stdio.h>
#include <conio.h>
int main()
{
char kalimat[50];
printf("Masukkan kata/ kalimat : ");
gets(kalimat);
puts("");
printf("\nKata/ kalimat sebelum strrev():\n");
printf("%s\n\n",kalimat);
printf("\nKata/ kalimat setelah strrev():\n");
strrev(kalimat);
printf("%s\n\n",kalimat);
}
TUGAS-8.1
• Buatlah fungsi yang disebut strsisip() untuk
menyisipkan satu karakter string kedalam string
lainnya.
• Argumen untuk fungsi harus berisi string sumber,
string yang disisipkan, dan posisi dari string sumber
dimana string disisipkan.
• Jadi dapat dipanggil seperti dibawah ini:
• strsisip(teks,"se",6);
• dengan teks adalah kalimat "salah orang".
• Jadi setelah penyisipan kata menjadi "salah
seorang".
TUGAS-8.2
Contoh tampilan :