Modul 8
Modul 8
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
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 :
int main(void)
{
char nama[20];
printf("Input nama: ");
scanf("%s",nama);
printf("\n");
printf("Selamat belajar %s \n", nama);
return 0;
}
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 () {
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 () {
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 () {
getch();
4. strncat
Fungsi strncat digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan
sebanyak n karakter sesuai dengan yang diinginkan.
#include <stdio.h>
#include <string.h>
int main () {
getch();
5. strcmp
Fungsi strcmp digunakan untuk membandingkan dua buah string. Hasil akhir dari fungsi ini
beritpe integer dengan nilai :
Format Penulisan :
strcmp(string_pertama, string_kedua);
#include <stdio.h>
#include <string.h>
int main () {
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.
#include <stdio.h>
#include <string.h>
int main () {
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 () {
hasil = strlen(string);
getch();
Catatan:
Masih banyak fungsi string lainnya spt : strupr, strlwr, strrev dll
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, ...);
#include <stdio.h>
#include <string.h>
void main()
{
char namaKu[256]="Budi Sugandi";
char namaLainSaya[256]="Budi Sugandi Juga";
int ruanganSaya=403;
Praktikum
Buat dan fahami program berikut:
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char kalimat[100];
int i, hurufKecil = 0, hurufBesar =0;
printf("============================================================\n"
);
printf("\n");
Hasil Eksekusi :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char kalimat[100], hurufKapital[100], hurufKecil[100];
printf("===========================================================\n");
printf("\n");
//cetak hasilnya
printf ("Huruf Kapital : %s \n", hurufKapital);
getch();
Hasil Eksekusi :
#include <stdio.h>
#include <string.h>
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");
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;
}
}
else
{
printf(" Pilihan anda tidak ada\n");
goto lagi;
}
}
Hasil Eksekusi
1. Ganti password berhasil
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:
if(rekSalah ==1)
{
printf("Rekening yang anda masukkan salah\n");
}