بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ   

Assalamualaikum Wr Wb

Alooo teman semua. Kembali lagi dengan saya Alif Zakaria alias Alzak. Dengan pembahasan seru dari lanjutan dari materi kuliah saya tentang “WORKSHOP DAN PEMROGRAMAN” . Kali ini kita akan membahas “VARIABEL DAN FUNGSI STRING”.

Pada sebuah percobaan kali ini saya akan membahas sebuah praktikum tentang “Variabel&Fungsi String”.Dalam praktikum kali ini akan mencoba sebuah penggunaan bariabel string yang berpadu dengan sebuah fungsi dalam pengolahan data string yaitu strcat(),strlen(),strcpy dan lain sebagainya.Sebelum masuk pada sebuah percobaan mari kita membahas sedikit semua dasar teori mengenai materi kali ini.

Karakter String adalah terdiri dari beberapa karakter yang diakhiri dengan suatu karakter khusu 0”null”.Suatu konstanta string adalah karakter yang ditulis diantara tanda petik ganda seperti pada printf() atau puts().Konstanta karakter string mempunyai kelas penyimpanan static maka pada saat digunakan nilai tidak akan berubah selama program aktif. Oke kawan kita langsung saja masuk ke percobaan.

PERTAMA, MEMBUAT FUNGSI YANG DISEBUT “STRSISIP” UNTUK MENYISIPKAN KARAKTER STRING KEDALAM STRING

Dimana kita akan membuat sebuah kalimat dilanjut dengan memasukkan sebuah karakter yang disisipkan di sisipkan pada huruf keberapa.Pada praktikum ini kita akan menggunakan sebuah strsisip dimana yang berfungsi sebagai penyisipan sebuah kata dalam kata dan juga strncpy yang berfungsi menyalin string asal ke tujuan sebanyak n sesuai keinginan.Terdapat juga strncat dan strcat dimana jika strcat berfungsi menambahkan string sumber ke bagian akhir tujuan.Kalau strncat sama hanya ditambah sebanyak n sesuai dengan keinginan.

Pemrograman 

#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);

}

Kemudian ketik Build and Run. Untuk hasilnya 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

KEDUA, 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. 

#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);
}

Kemudian ketik Build and Run. Untuk hasilnya’

  • Facebook
  • Twitter
  • Google+
  • Pinterest

KETIGA, Pada percobaan ketiga ini kita akan membuat sebuah huruf dengan menghitung sebuah berapa total huruf kecil,huruf besar,angka,tanda baca yang terdapat dalam sebuah huruf tersebut.Dimana terdapat sebuah strlen yang berfungsi memperoleh sebuah jumlah karakter dari suatu string.Kita akan memprogram setiap huruf mana kecil mana besar serta sebuah angka dan tanda baca yang terdapat pada sebuah kata.Mari kita masuk pada suatu program serta hasil 

#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();}

Kemudian ketik ditulis lewat tools yang sudah ditentukam

  • Facebook
  • Twitter
  • Google+
  • Pinterest

KEEMPAT, Pada percobaan keempat ini kita akan membuat sebuah huruf dimana huruf tersebut berurutan dari depan sampai belakang dengan membentuk sebuah pyramid sesuai huruf yang diinginkan.

 

#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);
}

Kemudian klik Build and Run untuk menunjukkan hasilnya 

  • Facebook
  • Twitter
  • Google+
  • Pinterest