0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan

Modul 8

Dokumen tersebut membahas tentang operasi dan fungsi string dalam bahasa pemrograman C. Terdapat penjelasan mengenai deklarasi string, membaca string menggunakan scanf dan gets, serta operasi string seperti strcpy, strcat, strcmp dan strlen beserta contoh kode programnya.

Diunggah oleh

Tanto Wijaya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan

Modul 8

Dokumen tersebut membahas tentang operasi dan fungsi string dalam bahasa pemrograman C. Terdapat penjelasan mengenai deklarasi string, membaca string menggunakan scanf dan gets, serta operasi string seperti strcpy, strcat, strcmp dan strlen beserta contoh kode programnya.

Diunggah oleh

Tanto Wijaya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 14

PRAKTIKUM IX

OPERASI STRING DAN FUNGSI STRING

I. TUJUAN
Mempelajari operasi dan fungsi string dalam program C

II. SASARAN
 Mengetahui penggunaan string dalam pemrograman C
 Dapat menggunakan fungsi string dalam pemrograman C

III.PRAKTIKUM
Pada bahasa pemrograman C, string hanyalah kumpulan dari nilai-nilai karakter yang
berurutan dalam bentuk array berdimensi satu dan merupakan array bertipe karakter
(char). Pada saat kita akan menampilkan sebuah string, komputer akan memeriksa satu per
satu elemen array dan menampilkannya ke layar monitor. Komputer akan berhenti
memeriksa jika menemukan karakter null ('\0').
CONTOH : “aku”, “kamu” atau “Polibatam”. Sebuah kalimat juga terhitung sebagai
tipe data string, seperti “Saya sedang belajar bahasa C di Polibatam”.

Deklarasi string

char nama_var [ jml_karakter ]

Contoh :
char nama[20];

char x[10] = “Permainan”; // Karakter “” pada x [9] merupakan karakter null yang
menandai berakhirnya suatu string

char hari [7] [10] = {“Senin”, “Selasa”, “Rabu”, “Kamis”, “Jumat”, “Sabtu”,
“Minggu”};

char kata[5] = {'H', 'e', 'l', 'l', 'o'}; = char kata[5] = "Hello"; //dipanggil dengan %s
atau %c[1]atau %c[2]

bandingkan dengan :

char a = „A‟; //deklarasi character dipanggil dengan %c


Pemrograman I

Membaca String dengan scanf :


#include <stdio.h>

int main(void)
{
char nama[20];
printf("Input nama: ");
scanf("%s",nama);

printf("\n");
printf("Selamat belajar %s \n", nama);
return 0;
}

Membaca String dengan gets


#include <stdio.h>

int main(void)
{
char nama[20];
printf("Input nama: ");
gets(nama);

printf("\n");
printf("Selamat belajar %s \n", nama);
return 0;
}

Operasi String
1. strcpy
Fungsi strcpy digunakan untuk menyalin string asal ke variabel string tujuan.
Format Penulisan :
strcpy(string_tujuan, string_asal);

contoh :
#include <stdio.h>
#include <string.h>

int main () {

char string_asal[] = "Nama saya Budi";


char string_tujuan[11];

strcpy(string_tujuan, string_asal); //menyalin isi string_asal ke string_tujuan

printf("String asal adalah : %s\n", string_asal );


printf("String tujuan adalah : %s\n", string_tujuan );

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 2/7
Pemrograman I

2. strncpy
Fungsi strncpy digunakan untuk menyalin string asal ke variabel string tujuan
sebanyak n karakter sesuai dengan yang diinginkan.
strncpy(string_tujuan, string_asal);

#include <stdio.h>
#include <string.h>

int main () {

char string_asal[] = "Budi Sugandi Dosen Politeknik";


char string_tujuan[12];

strncpy(string_tujuan, string_asal, 6); //menyalin isi string_asal ke string_tujuan sebanyak 6


karakter

printf("String asal adalah : %s\n", string_asal );


printf("String tujuan adalah : %s\n", string_tujuan );

getch();

3. strcat
Digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.
strcat(string_tujuan, string_sumber);

#include <stdio.h>
#include <string.h>

int main () {

char string_sumber[] = "belajarstring.com";


char string_tujuan[] = "http://www.";

strcat(string_tujuan, string_sumber); //menambahkan isi string_sumber ke string_tujuan

printf("Hasil akhir : %s\n", string_tujuan);

getch();

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 3/7
Pemrograman I

4. strncat
Fungsi strncat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan
sebanyak n karakter sesuai dengan yang diinginkan.

strncat(string_tujuan, string_sumber, jml_karakter)

#include <stdio.h>
#include <string.h>

int main () {

char string_sumber[] = " belajarstring.com.com";


char string_tujuan[] = "http://www.";

strncat(string_tujuan, string_sumber, 10); //menambahkan isi string_sumber ke string_tujuan


sebanyak 10 karakter

printf("Hasil akhir : %s\n", string_tujuan);

getch();

5. strcmp
Fungsi strcmp digunakan untuk membandingkan dua buah string. Hasil akhir dari fungsi ini
beritpe integer dengan nilai :

 negatif, jika string pertama kurang dari string kedua.


 nol, jika string pertama sama dengan string kedua.
 positif, jika string pertama lebih dari string kedua.

Format Penulisan :

strcmp(string_pertama, string_kedua);

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 4/7
Pemrograman I

#include <stdio.h>
#include <string.h>

int main () {

char string_pertama[] = "jurusan elektro";


char string_kedua[] = "jurusan elektronika";
char string_ketiga[] = " jurusan elektro";
int hasil_1, hasil_2, hasil_3;

hasil_1 = strcmp(string_kedua, string_pertama);


hasil_2 = strcmp(string_pertama, string_ketiga);
hasil_3 = strcmp(string_pertama, string_kedua);

printf("Hasil perbandingan 1 : %d\n", hasil_1);


printf("Hasil perbandingan 2 : %d\n", hasil_2);
printf("Hasil perbandingan 3 : %d\n", hasil_3);

getch();

6. strncmp
Fungsi strncmp digunakan untuk membandingkan n karakter pertama dalam dua buah string.
Hasil akhir dari fungsi ini sama dengan hasil dari fungsi strcmp.

strncmp(string_pertama, string_kedua, jml_karakter);

#include <stdio.h>
#include <string.h>

int main () {

char string_pertama[] = "pointopoin.com";


char string_kedua[] = "pointopoin";
char string_ketiga[] = "www.pointopoin.com";
int hasil_1, hasil_2, hasil_3;

hasil_1 = strncmp(string_kedua, string_pertama, 11);


hasil_2 = strncmp(string_pertama, string_kedua, 10);
hasil_3 = strncmp(string_ketiga, string_pertama, 10);

printf("Hasil perbandingan 1 : %d\n", hasil_1);


printf("Hasil perbandingan 2 : %d\n", hasil_2);
printf("Hasil perbandingan 3 : %d\n", hasil_3);

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 5/7
Pemrograman I

7. strlen
Fungsi strlen digunakan untuk memperoleh jumlah karakter dari suatu string.

Format Penulisan :

strlen(string);

Contoh Penulisan :

#include <stdio.h>
#include <string.h>

int main () {

char string[] = "Pointopoin";


int hasil;

hasil = strlen(string);

printf("Panjang string : %d karakter\n", hasil);

getch();

Catatan:
Masih banyak fungsi string lainnya spt : strupr, strlwr, strrev dll

Bahasa C tidak mengijinkan diisinya sebuah nilai string secara langsung,


sehingga statement berikut ini akan menimbulkan compile error:

namaKu[]="Budiman"; /* ERROR */
namaKu="Budiman"; /* JUGA ERROR */

Untuk mengisi string dengan sebuah nilai secara langsung, kita harus menggunakan
fungsi strncpy (singkatan dari string-n-copy) atau fungsi sprintf (singkatan dari string-
print-format). Untuk menggunakan fungsi strncpy dibutuhkan file header <string.h>.
Berikut ini adalah bentuk pemanggilan kedua fungsi tersebut:

strncpy (string tujuan, string asal, jumlah karakter string asal yang akan disalin);
sprintf (string tujuan, "format string", var1, var2, var3, ...);

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 6/7
Pemrograman I

#include <stdio.h>
#include <string.h>
void main()
{
char namaKu[256]="Budi Sugandi";
char namaLainSaya[256]="Budi Sugandi Juga";
int ruanganSaya=403;

strncpy(namaLainSaya,"Bukan Budi Sugandi",13);


printf("%s\n",namaLainSaya);
/* output : Bukan Budi SuJuga
"Bukan Budi Sugandi" = 17 huruf + 1 karaker NULL.
Jika disalin sebanyak 13 huruf ke string namaSaya,
maka karakter NULL tidak dikopi ke dalam string namaSaya
*/
strncpy(namaLainSaya,"Adi",4);
printf("%s\n",namaLainSaya);
/* ouput : Adi
"Adi" = 3 huruf + 1 karakter NULL.
Jika dikopi sebanyak 4 huruf, maka karakter NULL
ikut terkopi ke dalam string namaSaya
*/
strncpy(namaLainSaya,namaKu,256);
/* cara paling baik menggunakan fungsi strncpy, yaitu
menuliskan jumlah karakter yang akan dikopi sebanyak
ukuran maksimum string tujuan.
*/
printf("%s\n",namaLainSaya);
/* output : Budi Sugandi */
sprintf(namaLainSaya, "%s adalah %s dan bertempat di %d ",
namaKu, namaKu, ruanganSaya);
printf(namaLainSaya);
/* output : Budi Sugandi adalah Budi Sugandi dan bertempat di 403
*/
}

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 7/7
Pemrograman I

Praktikum
Buat dan fahami program berikut:

1. Program menghitung jumlah huruf besar dan huruf kecil

#include <stdio.h>
#include <conio.h>
#include <string.h>

main()
{
char kalimat[100];
int i, hurufKecil = 0, hurufBesar =0;

printf("Program menghitung jumlah huruf kecil dan jumlah huruf besar\n");

printf("============================================================\n"
);
printf("\n");

printf("Masukan Kalimat : "); gets(kalimat);


printf("\n");

for(i = 0; kalimat[i]; i++)


{
if(kalimat[i] >='a' && kalimat [i] <='z')
hurufKecil++;
else if (kalimat[i] >='A' && kalimat [i] <='Z')
hurufBesar++;
}

printf("Isi kalimat yang ditulis : %s \n", kalimat);


printf("Jumlah huruf kecil : %d \n", hurufKecil);
printf("Jumlah huruf besar : %d \n", hurufBesar);
getch();
}

Hasil Eksekusi :

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 8/7
Pemrograman I

2. Program mengganti kalilmat dalam huruf kecil dan huruf besar

#include <stdio.h>
#include <conio.h>
#include <string.h>

main()
{
char kalimat[100], hurufKapital[100], hurufKecil[100];

printf("Program mengubah kalimat menjadi huruf capital atau huruf kecil\n");

printf("===========================================================\n");
printf("\n");

printf("Masukan Kalimat : "); gets(kalimat);

//ganti kapital dengan perintal "strupr"


//copy hasilnna ke hurufKapital
strcpy(hurufKapital, strupr(kalimat));

//ganti huruf kecil dengan perintal "strlwr"


//copy hasilnna ke hurufKecil
strcpy(hurufKecil, strlwr(kalimat));

//cetak hasilnya
printf ("Huruf Kapital : %s \n", hurufKapital);

printf ("Huruf Kecil : %s \n", hurufKecil);

getch();

Hasil Eksekusi :

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 9/7
Pemrograman I

3. Program ATM sederhana

#include <stdio.h>
#include <string.h>

char PASSWORD[10] = "12345678";


int login()
{
char password [10] ;
strcpy(password, PASSWORD);
char pass [10] ;
int i, coba = 3;
for (i =0; i< coba; i++ )
{
printf (" Silahkan Masukkan Pin Anda [max 8 karakter]: "); gets(pass);
if (strcmp(pass, password) != 0)
{
printf(" Pin anda salah \n");
if(i ==2)
{
printf(" Anda kami blokir\n");
printf(" Terima Kasih\n\n");
return 0;
}
}
else
{
printf(" Anda berhasil Login\n\n");
return 1;
}
}
}

void gantiPassword()
{
char password [10] ;
strcpy(password, PASSWORD);
char pass1 [10] ;
char pass2 [10] ;
int i, coba = 3;
for (i =0; i< coba; i++ )
{
printf (" Silahkan Masukkan Pin lama Anda [max 8 karakter]: "); scanf("%s", &pass1);

if (strcmp(pass1, password) != 0)
{
printf(" Pin anda salah \n");
if(i ==2)
{
printf(" Maaf anda tidak bisa ganti Pin\n");
printf(" Terima Kasih");
}
}
else
{
printf (" Silahkan Masukkan Pin baru Anda [max 8 karakter: "); scanf("%s", &pass1);
printf (" Silahkan Masukkan Sekali lagi Pin baru Anda [max 8 karakter]: "); scanf("%s", &pass2);
if (strcmp(pass1, pass2) != 0)
{
printf(" Pin anda salah \n");

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 10/7
Pemrograman I

if(i ==2)
{
printf(" Maaf anda tidak bisa ganti Pin\n");
printf(" Terima Kasih");
}
}
else
{
printf("\n");
printf(" Pin baru anda adalah : %s\n", pass1);
strcpy(PASSWORD, pass1);
break;
}

}
}
}

void cekSaldo()
{
printf(" Saldo terakhir anda adalah Rp. 0\n");
printf(" Makanya jangan boros\n");
printf(" Hemat dan gemar menabung\n");
}

main()
{
//pemanggilan funsgi login
if(login() == 0)
return 0;

//deklarasi variabel
int pilihan;
printf("=============================\n");
printf(" Silahkan pilih menu berikut:\n");
printf(" 1. Ganti Password\n");
printf(" 2. Ceck saldo\n");
printf(" 3. Keluar\n");
printf("=============================\n\n");

lagi :
printf(" Masukan pilihan anda : "); scanf("%d", &pilihan);

if(pilihan ==1)
gantiPassword();
else if (pilihan ==2)
cekSaldo();
else if (pilihan ==3)
{
printf(" Anda yakin keluar [Y/N] :");
if(getch() == 'Y'||getch()=='y')
{
printf("\n");
printf(" Terima Kasih\n");
}
else if(getch()=='N'||getch()=='n')
{
printf("\n");
goto lagi;

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 11/7
Pemrograman I

}
}
else
{
printf(" Pilihan anda tidak ada\n");
goto lagi;
}
}

Hasil Eksekusi
1. Ganti password berhasil

2. Ganti password gagal

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 12/7
Pemrograman I

3. Cek Saldo

Tugas Praktikum
1. Masukan fungsi transfer di bawah ini ke dalam program ATM sederhana di atas.
Jadikan fungsi transfer ini menjadi pilihan ke 4.

char namaRek [5][20] = {"Budi Sugandi", "Sugandi Budi", "Budi Juga", "Saya Budi", "Saya Sugandi"};
char noRek [5][10] = {"100001", "100002", "100003", "100004", "100005", "100005" };
int saldo = 1000000;

void transfer()
{
int nilaiUang, sisaUang, rek, transfer;
char noRek1[10];
char namaRek1[10];

atas:

printf("\nMasukan nomor rekening : "); scanf("%s",&noRek1);


int rekSalah = 1;
for(int i = 0; i < 5 ; i++)
{
if( strcmp(noRek[i], noRek1)== 0)
{
rekSalah = 0;
printf("Nama Penerima adalah : %s\n", namaRek[i]);
printf("Masukkan jumlah transfer : Rp "); scanf("%d", &nilaiUang);
if( saldo - nilaiUang <=0)
{
printf("\n");
printf("Saldo anda tidak cukup\n");
}
else
{
printf("\n");
printf("Anda akan mentransfer sejumlah Rp %d ke rekening di atas\n", nilaiUang);
printf("Sisa saldo anda : Rp %d\n", saldo-nilaiUang);
}
}
}

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 13/7
Pemrograman I

if(rekSalah ==1)
{
printf("Rekening yang anda masukkan salah\n");
}

printf(" \nAnda Ingin Mencoba Lagi ????\n");


printf(" Tekan Y atau N : ");
printf("\n");
if(getch() == 'Y'||getch()=='y')
{
goto atas;
}
else if(getch()=='N'||getch()=='n')
{
printf("\nTerima Kasih\n");
}
else
{
printf("\nAnda Salah Memasukan Input\n");
}

2. Ganti dan tambahkan pada soal 1 menjadi:

char namaRek [10][20] = diisi dengan 10 nama teman-temanmu;

char noRek [10][12] = diisi dengan 10 NIM teman-temanmu;

kemudian modifikasi program tugas 1 di atas

PROGRAM STUDI ELEKTRONIKA INDUSTRI


PEMROGRAMAN I 14/7

Anda mungkin juga menyukai