Anda di halaman 1dari 13

LAPORAN PRAKTIKUM

PRAKTIKUM KONSEP PEMROGRAMAN

Entin Martiana Kusmaningtyas, S.Kom, M.Kom

NAMA: Septian Achmad Rojabbi


KELAS: 1/D4 TI A
NRP: 3122600025
PRAKTIKUM 21
String 1
A. PERCOBAAN
1. Lakukan percobaan untuk menginputkan string dari keyboard dengan
menggunakan : scanf(), gets() dan fgets(). Analisislah dan berikan
kesimpulan untuk setiap fungsi tsb.

a. LISTING PROGRAM
#include <stdio.h>
main()
{
char teks[31];

printf("Menggunakan Fungsi yang Berkaitan dgn String\n");

printf("Menggunkaan scanf() \t= ");


scanf("%s",teks);
printf("Hasil inputan \t\t= %s",teks);
fflush(stdin);
printf("\n\nMenggunkaan gets() \t= ");
gets(teks);
printf("Hasil inputan \t\t= %s",teks);
fflush(stdin);
printf("\n\nMenggunkaan fgets() \t= ");
fgets(teks, sizeof teks, stdin);
printf("Hasil inputan \t\t= %s",teks);
fflush(stdin);
}

b. OUTPUT
2. a. Definisikanlah sebuah fungsi untuk menghitung panjang dari string yang
menjadi parameternya (misalnya : pjgstr())
b. Pada fungsi main() terimalah input string yang akan dihitung panjang
karakternya. Selanjutnya panggil fungsi pjgstr() untuk mendapatkan
panjang string dan tampilkan hasilnya di main()
a. LISTING PROGRAM
#include <stdio.h>
int pjgstr(char[]), jumKarakter;
main()
{
char teks[255];

printf("Fungsi untuk menghitung panjang String\n\n");

printf("Masukkan kalimat \t= ");


gets(teks);
jumKarakter = pjgstr(teks);

printf("\nPanjang karakternya \t= %d",jumKarakter);


}
int pjgstr(char sesuatu[])
{
int i = 0;
while(sesuatu[i])
i++;
return i;
}

b. OUTPUT

c. ALGORITMA
1. Pertama dideklarasikan fungsi yang akan kita gunakan yaitu pjgstr dengan parameter
integer untuk menghitung berapa banyak karakter pada string yang kita inputkan
2. Lalu deklarasikan array yang akan kita gunakan sebagai string diluar main () lalu
deklarasikan pada main() lalu deklarasikan pada main() 2 variable dimana variable 1
sebagai penampung dari return fungsi lalu 1 variabel sebagai parameter fungsi pjgstr()
3. Lalu pada main() gets variable array lalu assign jumKarakter=pjgstr(parameter). Lalu
printf Panjang karakter
4. Pada fungsi pjgstr() deklarasikan I bernilai 1
5. Pada perulangan parameter akan di ++ kemudian akan di return
Kesimpulan:
Dapat memahami cara menghitung banyak karakter yang kita inputkan di dalam variable array

3. a. Copy-lah program dari soal no 2. Definisikanlah sebuah fungsi untuk membalik


string yang menjadi parameternya (misalnya : balikstr())
b. Pada fungsi main() terimalah input string yang akan dihitung panjang
karakternya dan dibalik. Selanjutnya panggil fungsi pjgstr() dan
balikstr()untuk mendapatkan kebalikan dari string input dan tampilkan
hasilnya di main()
a. LISTING PROGRAM
#include <stdio.h>
int pjgstr(char[]);
void balikstr(char[]);
main()
{
char teks[255];
int jumkar=0,i,j;
printf("Masukkan kalimat \t= ");
gets(teks);
balikstr(teks);
printf("Hasil Pembalikkan \t= %s\n", teks);
}
int pjgstr(char sesuatu[])
{
int i = 0;
while(sesuatu[i])
i++;
return i;
}
void balikstr(char sesuatu[])
{
int i,j=0;
char penampung[255];
for(i=pjgstr(sesuatu)-1;i>=0;i--)
{
penampung[j] = sesuatu[i];
j++;
}
penampung[j] = '\0';
for(i=0;i<j;i++)
sesuatu[i] = penampung[i];
}

b. OUTPUT

c. ALGORITMA
1. Pertama deklarasikan fungsi yang akan kita gunakan yaitu pjgstr dengan parameter
integer untuk menghitung banyak karakter pada string yang kita inputkan dan fungsi
balikstr dengan parameter integer yang berisi return dari pjgstr
2. Lalu deklarasikan array yang akan kita gunakan sebagai string diluar main() lalu
deklarasikan pada main() 2 variabel dimana 1 variabel sebagai penampung dari return
fungsi lalu 1 variabel sebagai parameter fungsi pjgstr().
3. Lalu pada main() fgets variabel array lalu assign var_penampung=pjgstr(parameter). Lalu
printf var_penampung.
4. Pada fungsi pjgstr() deklarasikan I bernilai 1
5. Pada perulangan parameter akan di ++ kemudian akan di return
6. Lalu pada fungsi balikstr(return pjgstr) , deklarasikan variabel I sebagai variabel control
perulangan lalu gunakan for dengan I bernilai return dari pjgstr lalu kondisi I lebih besar
sama dengan 0 lalu I didekremen. Lalu pada perulangan tersebut printf array[i].
Kesimpulan:
Mengetahui cara membuat program terkait membalikkan suatu string inputan dari user
menggunakan perulangan for

4. a. Definisikanlah sebuah fungsi untuk meng-copy string dengan menjadikan string


asal dan string tujuan menjadi parameter fungsi tsb (misalnya : copystr())
b. Pada fungsi main() terimalah input string yang akan di-copy. Selanjutnya
panggil fungsi copystr()untuk mengcopy string asal ke string tujuan,
tampilkan hasilnya berupa kedua string (asal dan tujuan) di main().
a. LISTING PROGRAM

#include <stdio.h>

int pjgstr(char[]);
void copystr(char[],char[]);

main()
{
char teks1[255],teks2[255];
char jumKarakter=0;

printf("Masukkan kalimat \t= ");


gets(teks1);

copystr(teks1,teks2);

printf("Hasil Pengcopyan \t= %s\n",teks2);


}
int pjgstr(char sesuatu[])
{
int i = 0;
while(sesuatu[i])
i++;
return i;
}
void copystr(char asal[],char tujuan[])
{
int i;
for(i=0;i<pjgstr(asal)+1;i++)
tujuan[i] = asal [i];
}

b. OUTPUT
c. ALGORITMA
1. Pertama deklarasikan suatu fungsi yaitu copystr bertipe char dan paramaternya juga char
karena fungsi tersebut menggunakan parameter yang dimana nantinya parameter tersebut
berfungsi sebagai array penampung yang akan di return pada main().
2. Lalu deklarasikan 2 variabel array bertipe char untuk menampung inputan kita dan
menjadi parameter di fungsi copystr.
3. Kemudian pada fungsi copystr deklarasikan 1 variabel yaitu a sebagai variabel control
perulangan.
4. Lalu gunakan perulangan for dengan a bernilai 0 lalu kondisinya berupa inputan[a]!=’\0’
karena null merupakan array terakhir kemudian a di inkremen. Kemudian pada
perulangan assign var_penampung[a]=inputan[a] lalu var_penampung[a] di return.
Kesimpulan:
Mengetahui cara membuat program terkait mengcopy string yang kita buat menggunakan
inputan pada main()
PRAKTIKUM 22
String 2
A. PERCOBAAN
1. Ulangilah soal nomor 2, 3 & 4 pada modul prakt String 1 dengan
menggunakan fungsi-fungsi standard (built-in functions)
a. LISTING PROGRAM
#include <stdio.h>
#include <string.h>
main()
{
char teks1[255],teks2[255],hslBalik[255];
printf("Masukkan kalimat\t=");
gets(teks1);
printf("\nPanjang kalimat \t= %d karakter",strlen(teks1));
printf("\nHasil Pembalikan \t= %s\n",strrev(teks1));
strcpy(teks2,teks1);
printf("\nHasil Pencopyan \t=%s",teks2);
}
int pjgstr(char sesuatu[])
{
int i = 0;
while(sesuatu[i])
i++;
return i;
}

b. OUTPUT

c. ALGORITMA
1. Pertama pakai #include kemudian deklarasikan 2 variabel array yang bertipe char
sebagai array asal dan tujuan.
2. Kemudian pada main input array asal kemudian cetak banyak karakter menggunakan
strlen(var_asal) kemudian strcpy(var_tujuan,var_asal) agar var_tujuan bernilai var_asal,
kemudian cetak var_tujuan. Lalu untuk membalik menggunakan strrev(var_asal).
Kesimpulan:
Mengetahui cara menggunakan strlen dan strcev yang masing masing memiliki fungsi yg
berbeda

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()
a. LISTING PROGRAM
#include <stdio.h>
#include <string.h>
int bandingstr1(char teks1[255],char teks2[255]);
main()
{
char teks1[255],teks2[255];
int hslBanding;

printf("\tMasukkan kalimat pertama\t = ");


gets(teks1);
printf("\tMasukkan kalimat kedua\t = ");
gets(teks2);

hslBanding = bandingstr1(teks1,teks2);
if(hslBanding == 0)
printf("\nKalimat yang anda masukkan diatas SAMA\n");
else
printf("\nKalimat yang anda masukkan diatas TIDAK SAMA\n");
}
int bandingstr1(char kal1[], char kal2[])
{
int i,sama = 0;
for(i=0;i<strlen(kal1) || i<strlen(kal2);i++)
{
if(kal1[i] > kal2[i])
{
sama = 1;
break;
}
else if(kal1[i] > kal2[i])
{
sama = -1;
break;
}
i++;
}
return sama;
}

b. OUTPUT

c. ALGORITMA
1. Pertama deklarasikan fungsi yang akan kita gunakan yaitu bandingstr dengan parameter
2 array bertipe char yang nantinya parameter tersebut dideklarasikan di luar main().
2. Pada main() deklarasikan 1 variabel sebagai penampung return dari fungsi bandingstr()
berupa integer. Kemudian pada main() input kedua array tersebut dengan karakter. Ketika
variabel penampung bernilai 0 maka string bernilai sama jika bernilai selain 0 string
bernilai tidak sama.
3. Pada fungsi bandingstr dengan parameter 2 array bertipe char deklarasikan 2 variabel
dimana 1 variabel berfungsi sebagai variabel control dan 1 variabel sebagai penampung
nilai dengan nilai awalan 0 yang nantinya akan direturn di akhir fungsi. Lalu gunakan
perulangan for dimana variabel control bernilai 0 dengan kondisi var control kurang dari
strlen array1 atau strlen array 2 kemudian I nya di inkremen. Kemudian pada perulangan
tersebut kondisikan dimana array1[i]array2[i] maka variabel penampung nilai ditambah
1. Kemudian pada luar perulangan return variabel penampung nilai.
Kesimpulan:
Mengetahui cara membuat program terkait membandingkan string dengan case sensitive yaitu
memperhatikan huruf capital

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()
a. LISTING PROGRAM
#include <stdio.h>
#include <string.h>
int bandingstr2(char teks1[255],char teks2[255]);
main()
{
char teks1[255],teks2[255];
int hslBanding;

printf("\tMasukkan kalimat pertama\t = ");


gets(teks1);
printf("\tMasukkan kalimat kedua\t = ");
gets(teks2);

hslBanding = bandingstr2(teks1,teks2);

if(hslBanding == 0)
printf("\nKalimat yang anda masukkan diatas SAMA\n");
else
printf("\nKalimat yang anda masukkan diatas TIDAK SAMA\n");
}
int bandingstr2(char kal1[], char kal2[])
{
int i,sama = 0;

for(i=0;i<strlen(kal1) || i<strlen(kal2);i++)
{
if(kal1[i] > kal2[i])
{
if(kal1[i] !=kal2[i]+32)
{
sama = 1;
break;
}
}
else if(kal1[i] > kal2[i])
{
if(kal1[i] !=kal2[i]-32)
{
sama = -1;
break;
}
}
}
return sama;
}

b. OUTPUT

c. ALGORITMA
1. Pertama deklarasikan fungsi yang akan kita gunakan yaitu bandingstr dengan parameter 2
array bertipe char yang nantinya parameter tersebut dideklarasikan di luar main().
2. Pada main() deklarasikan 1 variabel sebagai penampung return dari fungsi bandingstr()
berupa integer. Kemudian pada main() input kedua array tersebut dengan karakter. Ketika
variabel penampung bernilai 0 maka string bernilai sama jika bernilai selain 0 string
bernilai tidak sama
Kesimpulan: mengetahui cara membuat program terkait membandingkan 2 nilai string dimana
perbandingan tersebut menggunakan non case sensitive yaitu tidak memperhatikan huruf capital

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
a. LISTING PROGRAM
#include <stdio.h>
#include <string.h>
int bandingstr2(char teks1[255],char teks2[255]);
main()
{
char teks1[255],teks2[255];
int hasilC,hasilCi;

printf("\tMasukkan kalimat pertama\t= ");


gets(teks1);
printf("\tMasukkan kalimat kedua\t = ");
gets(teks2);

hasilC = strcmp(teks1,teks2);
hasilCi = strcmpi(teks1,teks2);

if(hasilC == 0)
printf("\nPerbandingan menggunakan strcmp() menyatakan cocok\n");
else
printf("\nPerbandingan menggunakan strcmp() menyatakan tidak cocok\n");
if(hasilCi == 0)
printf("\nPerbandingan menggunakan strcmp() menyatakan cocok\n");
else
printf("\nPerbandingan menggunakan strcmp() menyatakan tidak cocok\n");
}

b. OUTPUT

c. ALGORITMA

Anda mungkin juga menyukai