PERCOBAAN 8
VARIABEL DAN FUNGSI STRING
TUJUAN
Mempelajari penggunaan variable string yang dipadukan dengan fungsi-fungsinya untuk pengolahan data string, seperti strcat(), strlen(), strcpy(), dan sebagainya.
TEORI DASAR
Suatu karakter string adalah terdiri dari beberapa karakter (dengan karakter) yang diakhiri dengan karakter khusus ‘\0’ ( null). Suatu konstanta string adalah karakter string yang dituliskan diantara tanda petik ganda (“), seperti digunakannya pada fungsi printf() ata puts(). Konstanta karakter string mempunyai kelas penyimpan static, sehingga bila digunakan di dalam fungsi, maka nilainya tidak akan berubah selama program aktif.
PROGRAM PERCOBAAN
8.4.1
Mengamati penggunaan variabel array berukuran bebas “[]” untuk melewatkan suatu variabel string ke dalam fungsi. Untuk dapat melewatkan suatu nilai konstanta atau variabel yang tidak diketahui panjangnya, maka digunakan array dengan ukuran bebas. Meskipun digunakan variabel berukuran kosong, compiler akan tahu berapa jumlah elemen yang dimasukkan dalam suatu variabel. Program 8.4.1 ini adalah untuk menghitung berapa panjang dari karakter string , dengan acuan karakter ‘\0’ (null)
/* Nama File : STRING.c */
int panjang_str(char string[])
{
int hitung=0
while (string[hitung] != ‘\0’) ++ hitung;
return (hitung);
}
void 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));
getch();
}
8.4.2
#include<conio.h>
{
char nama [50], jawab[15];
static char salam[] = “Assalamuaikum, “;
gets(nama);
gets(jawab);
strcat(salam, nama);
printf(“%s”, salam);
}
printf(“\nJawaban anda benar! Hebat!”);
}
else {
printf(“\nJawaban anda salah!”);
printf(“\nJawabannya adalah %s”, wayang);
}
#include<conio.h>
#define MAX 256
{
int i, jumkar;
static char teks[MAX];
start:
printf(“\n\nMasukkan suatu kalimat (maks 255 karakter) : “);
scanf(“%c”, &teks[MAX]);
fgets(teks, sizeof teks, stdin);
for(i=0; teks[i]; i++)
jumkar ++;
#include<conio.h>
{
char str1[50], str2[50], kar, *po;
gets(str1);
gets(str2);
printf(“menggunakan rumus p = strchr(str2,kar)\n”);
kar=’G’;
po=strchr(str2,kar)-str2;
printf(“\nKarakter %c terletak pada kolom ke %d”,kar,po);
}
TUGAS
8.5.1
Argumen untuk fungsi harus berisi string sumber, string yang disisipkan, dan posisi dari string string sumber dimana string disisipkan.
Hasil :
#include <string.h>
#define MAX 256
{
int i, jumkar;
static char a[MAX];
char b[50],c;
int x,y,z;
printf(“PROGRAM KALIMAT YANG MENGGANTUNG”);
awal:
printf(“\n\nMasukkan suatu kalimat (maks 255 karakter) : “);
scanf(“%c”, &a[MAX]);
for(i=0; a[i]; i++)
jumkar ++;
gets(b);
scanf(“%d”, &z);
{
printf(“%c”, a[y]);
if(y==z)
for(x=0;x<strlen(b);x++)
{
printf(“%c”,b[x]);
}
}
printf(“%c”,a[y]);
}
8.5.2
Membuat Program untuk menentukan suatu kalimat Palindrom atau bukan.
Hasil :
#include <string.h>
{
int b = strlen(kal) – 1;
if (kal[b] == ‘\n’)
(kal[b] = ‘\0’);
{
int MAX = 20;
char kal[MAX], pol[MAX];
puts(“PROGRAM UNTUK MENGECEK POLINDROM”);
awal:
printf(“\n\nMasukkan kalimat atau kata (maks = %d karakter) : “,MAX);
fgets(kal,sizeof kal, stdin);
tulis(kal);
strcpy(kal,pol);
strrev(pol);
if(strcmp(kal,pol) == 1)
puts(“Kalimat atau kata tersebut MERUPAKAN POLINDROM”);
else
puts(“Kalimat atau kata tersebut BUKAN POLINDROM”);
getchar();
}
#include <string.h>
{
for (htg; kal[htg]; htg++)
{
if(kal[htg] >= ‘a’ && kal[htg] <= ‘z’)
kcl++;
else if(kal[htg] >= ‘A’ && kal[htg] <= ‘Z’)
bsr++;
else if(kal[htg] >= ‘0’ && kal[htg] <= ‘9’)
agk++;
else if(kal[htg] == ‘ ‘)
kcl+=0;
else
tnd++;
}
}
{
int y = strlen(xo) – 1;
if (xo[y] == ‘\n’)
xo[y] = ‘\0’;
return (xo);
}
{
int MAX = 100;
char kal[MAX];
printf(“PROGRAM PENGELOMPOK KARAKTER PADA KALIMAT”);
awal:
puts(“\n\nInput Kalimat yang kamu inginkan ! \n\n”);
fgets(kal,kal,stdin);
start(kal);
co(kal);
tnd-=1;
printf(“\nMaka :\nHuruf BESAR = %d\nHuruf KECIL = %d\nANGKA = %d\nTANDA BACA = %d”, bsr,kcl,agk,tnd);
getchar();
goto awal;
}
#include <string.h>
main(){
int k,l,m,n;
int o = strlen[kal] – 1;
printf(“Masukkan kalimat : “);
fgets(kal,kal,stdin);
if(kal[o] == ‘\n’)
kal[o] = ‘\0’;
return(kal);
for(l=0; l <= strlen(kal); l++)
{
m = strlen(kal)-k;
n++;
for(k=0; k < l; k++)
{
gotomn(m,n);
printf(“%c”, kal[k]);
m++
}
}
}
{
COORD coord;
coord.M = m;
coord.N = n;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HADLE), coord);
}
Recent Comments