Anda di halaman 1dari 7

LAPORAN RESMI PRAKTIKUM 22

KONSEP PEMROGRAMAN

“STRING”

Nama : I Putu Gede Rama Paramahamsa

NRP : 2110191058

Kelas : 1 D4 Teknik Informatika B

PROGRAM STUDI D4 TEKNIK INFORMATIKA

DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2019
A. PERCOBAAN
1. Ulangilah soal nomor 2, 3 & 4 pada modul prakt String 1 dengan menggunakan
fungsi-fungsi standard (built-in functions).

Jawab :

a. Listing Program
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maksimal 20

void panjangstring (char[]);


void balikstring (char[]);
void copystring (char []);

int main()
{

char kalimat [maksimal];

printf("\nMasukkan kalimat\t: ");


gets(kalimat);

panjangstring(kalimat);
copystring(kalimat);
balikstring(kalimat);

return 0;
}

void panjangstring(char fn_kalimat [maksimal])


{
printf("Panjang string\t: %d\n",strlen(fn_kalimat));
}

void copystring(char fn_kalimat [maksimal])


{
char cpy_kalimat[maksimal];

printf("Copy string\t: %s\n",strcpy(cpy_kalimat,fn_kalimat));


}

void balikstring(char fn_kalimat [maksimal])


{
printf("Balik string\t: %s\n",strrev(fn_kalimat));
}

b. Capture Program

Analisis : Di dalam bahasa C, sebenarnya telah disediakan fungsi bawaan atau built in function
untuk melakukan operasi String. Untuk memanggilnya, yang pertama harus kita lakukan adalah
menyisipkan library string.h pada file c yang kita buat. Selanjutnya, kita tinggal panggil fungsi
yang kita butuhkan seperti fungsi adalah strlen(perhitungan karakter), strcpy(pengcopyan
string), strcat(penggabungan string) dan strcmp(membandingkan string).

2. a. Definisikanlah sebuah fungsi untuk membandingkan dua buah string yang menjadi
parameternya secara CASE SENSITIVE (misalnya : bandingstr1()).
b. Pada fungsi main() terimalah input 2 buah string yang akan dibandingkan. Selanjutnya
panggil fungsi bandingstr1() untuk membandingkan kedua string tsb dan tampilkan hasilnya
di main().

Jawab :

a. Listing Program
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maksimal 20

int bandingstr1 (char[], char[]);

int main()
{

char kalimat [maksimal];


char kalimat2 [maksimal];
int hasil;

printf("\nMasukkan kata ke-1\t: ");


gets(kalimat);

printf("\nMasukkan kata ke-2\t: ");


gets(kalimat2);

hasil=bandingstr1(kalimat,kalimat2);

if(hasil==0)
printf("\nKalimat yang anda masukkan sama ");
else
printf("\nKalimat yang anda masukkan tidak sama");

int bandingstr1(char fn_kalimat [maksimal],char fn_kalimat2[maksimal])


{
int i=0;
int fn_hasil=0;

while (i<strlen(fn_kalimat)||i<strlen(fn_kalimat2))
{
if (fn_kalimat[i]>fn_kalimat2[i])

{
fn_hasil=1;
break;
}

else if (fn_kalimat[i]<fn_kalimat2[i])
{
fn_hasil=-1;
break;
}
i++;
}

return fn_hasil;
}

b. Capture Program

Analisis : Membandingkan dua buah string yang berbeda tidak dapat kita lakukan
secara langsung menggunakan operator (==). Namun kita perlu membandingkan
setiap karakter dalam String secara satu persatu. Karena dalam persoalan ini String
dibandingkan secara CASE SENSITIVE

3. a. Definisikanlah sebuah fungsi untuk membandingkan dua buah string yang menjadi
parameternya secara NON CASE SENSITIVE (misalnya : bandingstr2()).
b. Pada fungsi main() terimalah input 2 buah string yang akan dibandingkan.. Selanjutnya
panggil fungsi bandingstr2() untuk membandingkan kedua string tsb dan tampilkan hasilnya
di main().

Jawab :

a. Listing Program
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maksimal 30

int bandingstr1 (char[], char[]);

int main()
{

char kalimat [maksimal];


char kalimat2 [maksimal];
int hasil;

printf("\nMasukkan kata ke-1\t: ");


gets(kalimat);

printf("\nMasukkan kata ke-2\t: ");


gets(kalimat2);

hasil=bandingstr1(kalimat,kalimat2);

if(hasil==0)
printf("\nKalimat yang anda masukkan sama ");
else
printf("\nKalimat yang anda masukkan tidak sama");

int bandingstr1(char fn_kalimat [maksimal],char fn_kalimat2[maksimal])


{
int i=0;
int fn_hasil=0;

while (i<strlen(fn_kalimat)||i<strlen(fn_kalimat2))
{
if (fn_kalimat[i]>fn_kalimat2[i])
if (fn_kalimat[i]!=fn_kalimat2[i]+32)
{
fn_hasil=1;
break;
}

else if (fn_kalimat[i]<fn_kalimat2[i])
if (fn_kalimat[i]!=fn_kalimat2[i]-32)
{
fn_hasil=-1;
break;
}
i++;
}

return fn_hasil;
}

b. Capture Program
Analisis : Sama halnya dengan soal no 3, membandingkan dua buah string yang
berbeda tidak dapat kita lakukan secara langsung menggunakan operator (==). Namun
kita perlu membandingkan setiap karakter dalam String secara satu persatu. Apalagi di
soal no 3 ini String harus dibandingkan secara INCASE SENSITIVE sehingga
perbedaan huruf kapital ataupun kecil tidak dihiraukan.

4. Lakukan percobaan untuk membandingkan 2 buah string dengan menggunakan fungsi


strcmp() dan strcmpi(). Analisislah dan berikan kesimpulan tentang perbedaan dan contoh
aplikasi untuk keduanya.

Jawab :

a. Listing Program
#include <stdio.h>
#include <string.h>
#define maksimal 30

void bandingstrcmp(char[],char[]);
void bandingstrcmpi(char[],char[]);

main()
{
char kalimat[255],kalimat2[255];

printf("Masukkan kalimat 1 \t: ");


gets(kalimat);
printf("Masukkan kalimat 2 \t: ");
gets(kalimat2);

bandingstrcmp(kalimat,kalimat2);
bandingstrcmpi(kalimat,kalimat2);

return 0;
}
void bandingstrcmp(char fn_kalimat [maksimal],char fn_kalimat2[maksimal])
{
int hasil;
hasil = strcmp(fn_kalimat,fn_kalimat2);

if(hasil == 0)
printf("\nPerbandingan dengan strcmp() cocok");
else
printf("\nPerbandingan dengan strcmp() tidak cocok");
}
void bandingstrcmpi(char fn_kalimat [maksimal],char fn_kalimat2[maksimal])
{
int hasil;

hasil = strcmpi(fn_kalimat,fn_kalimat2);

if(hasil == 0)
printf("\nPerbandingan menggunakan strcmpi() menyatakan cocok");
else
printf("\nPerbandingan menggunakan strcmpi() menyatakan tidak cocok");
}

b. Capture Program

c. Analisis Program
Strcmp() akan membandingkan string secara case sensitive, yaitu membandingkan
string yang sama persis untuk huruf capital maupun huruf kecilnya.
Strcmpi() akan membandingkan string secara incase sensitive, yaitu membandingkan
String tanpa menghiraukan huruf besar maupun huruf kecilnya. Penerapannya untuk
membuat fungsi pencarian data yang biasanya huruf kecil dan besar tidak dihiraukan.
C. KESIMPULAN
Array of string merupakan array dua dimensi dari char, dan string dapat dikenai berbagai
macam operasi. String.h merupakan library yang menyimpan fungsi-fungsi yang digunakan
untuk menangani string ataupun substring. Fungsi dalam library string.h antara lain : strcpy,
strlen, strcat, strcmp, strcmpi, dan strchr. Untuk membandingkan dua String apakah sama atau
tidak, kita tidak bisa melakukannya dengan operator, namun harus menggunakan fungsi strcmp
untuk perbandingan string case sensitive dan strcmpi untuk perbandingan string secara incase
sensitive.

Anda mungkin juga menyukai