String
String
DASAR PEMROGRAMAN
TUJUAN
Menjelaskan tentang konsep string Menjelaskan operasi I/O pada string. Menjelaskan cara mengakses elemen string Menjelaskan berbagai fungsi mengenai string
KONSEP STRING
String merupakan bentuk data untuk memanipulasi data teks, misalnya untuk menampung suatu kalimat dengan menggunakan array dimensi 1. String ditulis dengan diawali dan diakhiri tanda petik ganda Misal : ABCDE
1 karakter menempati 1 byte memory memori rendah
A B C
memori tingi
D E \0
Contoh :
char name[15]; printf("Masukkan nama Anda : "); gets(name); printf("\nHalo, %s. Selamat belajar string.\n", name);
CONTOH STRING
/*Menghitung jumlah karakter dalam sebuah kalimat */ #include <stdio.h> #define MAKS 256 main() { int i, jumkar = 0; char teks[MAKS]; puts("Masukkan suatu kalimat (maks 255 karakter)."); //masukan dr keyboard gets(teks); for(i=0; teks[i]; i++) jumkar++; printf("\nJumlah karakter = %d\n", jumkar); }
Kondisi teks[i] pada for mempunyai makna yang secara implisit berupa teks[i] != \0;
CONTOH STRING
/* Menyalin suatu string */ #include <stdio.h> #define MAKS 30 main() { int i; char keterangan[] = Saya menyukai bahasa C; char kalimat[MAKS]; i=0; while (keterangan[i] != \0) { kalimat[i] = keterangan[i]; i++; } kalimat[i] = \0; /* beri karakter NULL */ printf(Isi kalimat : %s\n, kalimat); }
FUNGSI-FUNGSI STRING
Fungsi-fungsi pustaka untuk operasi string, prototype-prototypenya berada di file judul string.h A.
//Contoh Program dengan Fungsi strlen() #include <stdio.h> #include <string.h> main() { char salam[] = "Halo"; printf("Panjang string = %d karakter\n", strlen(salam)); }
char kata[MAKS], tampung[MAKS]; int pj, i; printf("Kata yang ditampilkan : "); scanf("%s",kata); pj = strlen(kata); printf("\n"); for (i=pj; i>0; i--) { strkiri(kata, pj-i, tampung); printf("%s\n", tampung); } printf("\n"); } void strkiri(char asal[], int n, char hasil[]) { int i; for(i=0; i<=n; i++) hasil[i] = asal[i]; hasil[i] = '\0'; } /* beri karakter NULL */
CONTOH STRING
/*Menginputkan sejumlah nama dan usia masing-masing */ #include<stdio.h> main() { char nama[5][20]; int usia[5]; int i; printf("Masukkan 5 nama dan usia: "); for(i=0;i<5;i++) scanf("%s %d",nama[i], &usia[i]); for(i=0;i<5;i++) printf("Nama ke- %d = %s Usia = %d\n",i,nama[i],usia[i]); }
LATIHAN
1. Ketikkan sebuah kalimat, hitung dan tampilkan jumlah spasinya. 2. Diketahui data-data sebagai berikut :
Nama Adit Budi Karin Dimas Sarah Nilai Ujian 8.4 7.6 5.4 4.6 7.6
Buat program untuk membaca nilai-nilai tersebut dan mencari siapa saja yang lulus ujian. Syarat lulus ujian adalah nilai > 7
3. Buat program untuk menghasilkan keluaran sbb : TELEKOMUNIKASI TELEKOMUNIKAS TELEKOMUNIKA TELEKOMUNIK TELEKOMUNI TELEKOMUN TELEKOMU TELEKOM TELEKO TELEK TELE TEL TE T Petunjuk : gunakan fungsi strlen() untuk menghitung panjang string yang prototypenya ada di file <string.h> gunakan function call (pemanggilan fungsi) index array dimulai dari indeks ke-0