Alooo… Kawan
Kembali bertemu lagi bersama saya Septa Aji di dalam blog pembelajaran Sinau Bareng bahasa C di kampus PENS, Pada kali ini kita akan mempelajari suatu bab yang membahas mengenai “Variabel dan Fungsi String”. Berikut pembahasan singkat mengenai variabel dan fungsi string.
Sebelum masuk pada pembahasan, Tujuan dari pembahasan kali ini yaitu Mempelajari penggunaan variable string yang dipadukan dengan fungsi-fungsi untuk pengolaham data string, seperti strcat(), strlen(), strcpy dan sebagainya.
String merupakan bentuk data yang biasa dipakai untuk menampung dan memanipulasi data teks. String diakhiri dengan karakter NULL (‘\0’). Pada bahasa C, string bukan merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array dimensi satu.
Dalam library 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 stringpertama kurang dari string
nol, jika stringpertama sama dengan string
positif, jika stringpertama lebih dari string
- 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.
Mungkin kalian akan lebih paham mengenai materi apabila kalian mencoba percobaan dibawah ini.
Percobaan 1
Pada percobaan pertama ini kita disuruh untuk membuat program fungsi yang disebut strsisip () untuk menyisipkan satu karakteristik string kedalam string lainnya. Berikut ini cara penyelesaiannya.
Ketik statement berikut pada aplikasi code block anda
#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();
}
Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini
Kemudian tambahkan karakter yang akan disisipi lalu tekan enter hingga keluar gambar seperti dibawah ini
Kemudian mau dimasukkan ke huruf berapa yang anda inginkan lalu tekan enter hingga keluar gambar seperti dibawah ini
Kemudian tekan enter hingga keluar gambar seperti dibawah ini
Percobaan 2
Pada percobaan kedua ini kita disuruh untuk membuat program untuk menentukan suatu kata atau kalimat merupakan suatu polindrom atau bukan. Berikut ini cara penyelesaiannya.
Ketik statement berikut pada aplikasi code block anda
#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 klik tombol build and run hingga keluar seperti gambar dibawah ini
Kemudian masukkan kalimat lalu tekan enter hingga keluar gambar seperti dibawah ini
Jadi bila kalimat tersebut termasuk kalimat polindrom maka akan keluar kata seperti diatas bila bukan maka akan keluar kata “bukan Kalimat POLINDROM”
Percobaan 3
Pada percobaan ketiga ini kita disuruh untuk membuat program untuk menghitung jumlah huruf kecil, huruf besar, angka numerik, dan tanda baca didalam suatu string yang dimasukkan melalui keyboard. Berikut ini cara penyelesaiannya.
Ketik statement berikut pada aplikasi code block anda
#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 klik tombol build and run hingga keluar seperti gambar dibawah ini
Kemudian masukan kalimat yang ingin anda hitung lalu tekan enter hingga keluar gambar seperti dibawah ini
Percobaan 4
Pada percobaan keempat ini kita disuruh untuk membuat program untuk menghasilkan keluaran yang cukup menarik. Berikut ini cara penyelesaiannya.
Ketik statement berikut pada aplikasi code block anda
#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 tombol build and run hingga keluar seperti gambar dibawah ini
Kemudian masukkan kalimat lalu tekan enter hingga keluar gambar seperti dibawah ini
Naaaahhhhh……
Sebagai umat manusia kita harus senantiasa mentadabburi apa yang diciptakan oleh sang Khaliq. Bukan hanya ilmu akhirat saja melainkan ilmu dunia juga. Agar kita senantiasa menjadi umat yang dalam hari kedepannya menjadi umat yang beruntung.
Naaahhhhh….. Gimana? Makin pahamkan? Semoga blog yang saya tulis dalam kurun waktu semalaman ini membuat kawan kawanku tercinta ini semakin paham dan semakin cinta dengan bahasa C
Mungkin cukup sekian dari saya selaku penulis blog paling family friendly dan ramah seramah ramahnya ini. Selaku perwakilan dari keluarga Halilintar saya mengucapkan terima kasih dan mohon maaf bila ada salah kata dalam penulisan blog ini.
Santen duduhe klopo
Kupat janur wes tuwo
Semanten cekap Artikel kulo
Menawi lepat nyuwun ngapuro
Sampai bertemu pada blog selanjutnya bersama saya Septa Aji anak Elka 2k19
Daaaa…….. Sampai ketemu lagi kawan.
Recent Comments