Anda di halaman 1dari 8

Praktikum 21 – String 1 2016

LAPORAN HASIL TUGAS


KONSEP PEMROGRAMAN

NAMA : ULFA OCTA PRISNANDA


NRP : 21003157029

1. Lakukan percobaan untuk menginputkan string dari keyboard dengan


menggunakan scaf(), gets(), dan fgets(). Analisalah dan berikan kesimpulan
untuk setiap fungsi tsb.
JAWAB ::

Listing Program :

#include<stdio.h>

main() {
char teks[31];
printf("Menggunakan scanf() \t= ");
scanf("%s", teks);
printf("Hasil inputan \t\t= %s", teks);
fflush(stdin);

printf("\n\n Menggunakan gets() \t= ");


gets(teks);
printf("Hasil inputan \t\t= %s", teks);
fflush(stdin);

printf("\n\n Menggunakan fgets() \t= ");


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

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 1


Praktikum 21 – String 1 2016

Output :

Analisa :

Untuk melakukan pembacaan kalimat atau string yang dimasukkan oleh user
secara manual, program tersebut menyediakan 3 fungsi yaitu ;

1. scanf()  kelebihannya : inputan dapat diperoleh sesuai format kita,


kekurangannya : tidak dapat membaca karakter setelah spasi.
2. gets()  kelebihannya : mudah, tinggal menginputkan variabel array of
char sebagai argumen, kekurangannya : tidak mengecek ukuran array dan
stringnya, yg bisa mengakibatkan overloaded sehingga bisa ke address yg
lain.
3. fgets()  kelebihannya : mengecek ukuran arrray jadi tidak overload.

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 2


Praktikum 21 – String 1 2016

2. a) Definisikanlah sebuah fungsi untuk menghitung panjang dari string yang


menjadi parameternya (misal : 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()
JAWAB ::

Listing Program :

#include <stdio.h>
int pjgstr(char[]);

main()
{
char teks[255];
int jumkar=1;

printf("Masukkan kalimat \t= ");


gets(teks);
jumkar = pjgstr(teks);

printf("\n Panjang Karakternya \t= %d\n", jumkar);


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

return i;
}

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 3


Praktikum 21 – String 1 2016

Output :

Analisa :

Untuk menghitung panjang karakter yg diinputkan oleh user, kita dapat


melakukan looping dengan indeks seperti pada array. String selaluu
berakhiran dengan ‘\0’ .

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 4


Praktikum 21 – String 1 2016

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()
JAWAB ::

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];
}

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 5


Praktikum 21 – String 1 2016

Output :

Analisa :

Untuk membalik string / membalik urutan karakter setiap indeksnya, butuh


penampung yg digunakan untuk menampung memindah karakter secara
terbalik dari yg paling besar.

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 6


Praktikum 21 – String 1 2016

4. a) Copy-lah program soal no 2. Definisikanlah sebuah fungsi untuk membaliik


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()
JAWAB ::

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];
}

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 7


Praktikum 21 – String 1 2016

Output :

Analisa :

Proses menyalin harus dilakukan tiap karakter yg ada pada string, tidak
dapat dilakukan secara langsung oleh operator assignment(=). Melakukan
looping penyalinan karakter dengan urutan/indeks yg sama sampai
menemui karakter null (‘\0’).

D3 PJJ TEKNIK INFORMATIKA – POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Page 8

Anda mungkin juga menyukai