MODUL V ARRAY 1-DIMENSI, CHARACTER DAN STRING

advertisement
Modul V—Array 1-Dimensi, Character dan String
MODUL V
ARRAY 1-DIMENSI, CHARACTER
DAN STRING
V.1 ARRAY 1-DIMENSI
Array adalah susunan data dengan jumlah tertentu yang bertipe sama dan bernama sama.
Setiap elemen data yang tersusun di dalam array dibedakan dengan nomor indeks yang selalu
dimulai dari 0. Pada bagian ini akan dipelajari tentang array 1-dimensi. Pemahaman tentang
array 1-dimensi akan diperoleh dengan menjalankan Contoh Program V.1.1 dan V.1.2.
tipe_data nama_array[ukuran_atau_jumlah_susunan_data]
Contoh Program V.1.1
...
int ANGKA[5]={10,20,30,40,50}; /*Deklarasi array 1-dimensi dengan nama
ANGKA yang terdiri dari 5 susunan data bertipe integer*/
printf("Indeks 0> Data ke 1 = %d \n",ANGKA[0]);//Indeks 0
printf("Indeks 1> Data ke 2 = %d \n",ANGKA[1]);//Indeks 1
printf("Indeks 2> Data ke 3 = %d \n",ANGKA[2]);//Indeks 2
printf("Indeks 3> Data ke 4 = %d \n",ANGKA[3]);//Indeks 3
printf("Indeks 4> Data ke 5 = %d \n",ANGKA[4]);//Indeks 4
...
Contoh Program V.1.2
...
int k, bil[6];/*Deklarasi variabel k dan deklarasi array bil[6]*/
printf("Anda diminta mengetikan 6 bilangan bulat \n");
for (k=0; k<=5; ++k)
{
printf("Bilangan bulat ke-%d> \n",k+1);
scanf("%d",&bil[k]);
}
printf("\nBilangan-bilangan yang tadi diketikan yaitu:\n");
for (k=0; k<=5; ++k)
{
printf("bil[%d] = Bilangan ke %d = %d \n",k,k+1,bil[k]);
}
...
D4 Teknologi Media Digital, STEI-ITB
1
Modul V—Array 1-Dimensi, Karakter dan String
V.2 Character dan String
V.2.1 Tipe Data char
Data bertipe char, selain dapat menyimpan angka, dapat menyimpan karakter. Perhatikan
deklarasi karakter dan kode ASCII pada Contoh Program V.2.1.
Contoh Program V.2.1
...
char karakter_1 = '1', karakter_A = 'A'; //Deklarasi karakter
char bilangan_1 = 1, bilangan_2 = 2; // Deklarasi kode ASCII
printf("Karakter '1': %c \n",karakter_1);
printf("Kode ASCII 1 memiliki karakter: %c \n\n",bilangan_1);
printf("Karakter '1' + 2 = %c\n", karakter_1 + bilangan_2);
printf("Karakter 'A' + 2 = %c\n\n", karakter_A + bilangan_2);
...
Input Karakter: getchar()
...
char nama_variabel;
...
nama_variabel = getchar();
...
Output Karakter: putchar()
...
char nama_variabel;
...
putchar(nama_variabel);
...
2
D4 Teknologi Media Digital, STEI-ITB
Modul V—Array 1-Dimensi, Character dan String
Contoh Program V.2.2
...
char kumpul_kar[10];
int indeks_kar_maks, indeks_kar;
printf("Ketikan sembarang karakter, maksimum 9 karakter>");/*Mengapa
maksimum 9 karakter? Perhatikan syarat atau kondisi pada perulangan
for*/
for (indeks_kar = 0; (kumpul_kar[indeks_kar] = getchar()) != '\n';
++indeks_kar)//Input karakter
;
indeks_kar_maks = indeks_kar;
printf("Karakter yang tadi diketikan:\n");
for (indeks_kar = 0; indeks_kar <indeks_kar_maks; ++indeks_kar)
putchar(kumpul_kar[indeks_kar]); //Output karakter
printf("\n");
...
V.2.2 String
String pada prinsipnya merupakan susunan dari karakter. Dengan demikian, string dapat
digunakan untuk menyimpan data berupa kata ataupun kalimat.
String dideklarasikan dengan cara membuat array 1-dimensi bertipe char yang diakhiri dengan
karakter ‘\0’ atau null. Sehingga ketika dideklarasikan ukuran array =, misalnya, 10, berarti
maksimum kata/ kalimat yang diakomodasi adalah terdiri dari 9 karakter. Hal ini karena elemen
array terakhir merupakan karakter null.
Pada uraian di bawah ini akan ditunjukan berbagai contoh manipulasi string dengan
menggunakan fungsi-fungsi yang terdapat pada library string.h, yaitu: strcpy(),
gets(), strlen(), strcat() dan strcmp(). Dengan demikian, setiap penggunaan
fungsi-fungsi tersebut jangan lupa memanggil string.h:
#include <string.h>
D4 Teknologi Media Digital, STEI-ITB
3
Modul V—Array 1-Dimensi, Karakter dan String
Menyalin string
strcpy(nama_string_Tujuan, nama_string_Asal);
Contoh Program V.2.3
...
char kalimat[11]; //Deklarasi string berukuran 10 karakter
strcpy(kalimat,"D4 TMD ITB"); //Menyalin string
printf("Kalimat yang disalin:\n%s\n", kalimat);
...
Contoh Program V.2.4
...
char kalimat_1[11], kalimat_2[11];
strcpy(kalimat_1,"D4 TMD ITB"); //Menyalin string
printf("Kalimat_1:\n%s\n", kalimat_1);
strcpy(kalimat_2,kalimat_1); //Menyalin string
printf("Kalimat_2:\n%s\n", kalimat_2);
...
Input String: gets()
gets(nama_string);
Contoh Program V.2.5
...
char kalimat[25]; //Deklarasi string berukuran 24 karakter
printf("Buatlah kalimat, maksimum 24 karakter>");
gets(kalimat); //Input string
printf("Kalimat tadi adalah sbb.:\n%s\n", kalimat);
...
Panjang String: strlen()
Panjang string pada prinsipnya samadengan jumlah karakter yang membentuk kata atau
kalimat. Keterangan: bedakan isitlah “ukuran string” dan “panjang string”!
10. strlen(nama_string);
4
D4 Teknologi Media Digital, STEI-ITB
Modul V—Array 1-Dimensi, Character dan String
Contoh Program V.2.6
...
char kalimat[21];
int jml_karakter;
strcpy(kalimat,"D4 TMD ITB");
jml_karakter = strlen(kalimat); //Panjang string
printf("Kalimat:\n%s\nmemiliki panjang string = %d\n",
kalimat,jml_karakter);
...
Menggabungkan Dua String: strcat()
Fungsi strcat(string1,string2) digunakan untuk menggabungkan dua buah string.
String hasil penggabungannya disimpan pada string1. Sehingga, ukuran string1
haruslah menampung panjang string hasil penggabungan tersebut.
strcat(nama_string_1,nama_string_2);
Contoh Program V.2.7
...
char kalimat_1[28], kalimat_2[45]; /*Perhatikan ukuran string
kalimat_1*/
strcpy(kalimat_1,"D4 TMD ITB"); //Perhatikan panjang string
strcpy(kalimat_2,", Tahun 2009/2010"); /*Perhatikan panjang
string*/
strcat(kalimat_1,kalimat_2); /*Dua string digabungkan di string
kalimat_1*/
printf("%s\n", kalimat_1);
...
Membandingkan Dua String: strcmp()
Fungsi strcmp() digunakan untuk mengetahui atau membandingkan apakah dua string
yang ditinjau itu sama atau tidak. Apabila sama, nilai balikan dari strcmp()samadengan
0. Jika tidak sama, maka nilai balikannya samadengan 1.
strcmp(nama_string_1,nama_string_2);
D4 Teknologi Media Digital, STEI-ITB
5
Modul V—Array 1-Dimensi, Karakter dan String
Contoh Program V.2.8
...
char kalimat_1[12];
char kalimat_2[]={'A','l','g','o','r','i','t','m','a','
','C','\0'};
strcpy(kalimat_1,"Algoritma C");
if (strcmp(kalimat_1,kalimat_2)==0)
printf("\nKalimat yang diketikan samadengan kalimat_1\n");
else
printf("\nKalimat yang diketikan tidak samadengan
kalimat_1\n");
...
Contoh Program V.2.9
...
char kalimat_1[12], kalimat_2[12];
int banding;
strcpy(kalimat_1,"Algoritma C");
printf("kalimat_1:\n%s\n",kalimat_1);
printf("\nKetikan kembali kalimat_1>");
gets(kalimat_2);
banding = strcmp(kalimat_1,kalimat_2); //Pembandingan dua string
if (banding == 0)
printf("\nKalimat yang diketikan samadengan kalimat_1\n");
else
printf("\nKalimat yang diketikan tidak samadengan
kalimat_1\n");
...
III.1.
Latihan
a. Lengkapi dan jalankan seluruh Contoh Program di atas dan analisis hasilnya.
b. Buatlah program 2 buah password berurutan dengan nama Anda menggunakan
pembanding kata/kalimat. Password pertama nama depan, password kedua nama
belakang Anda. Jika salah sebanyak 3x maka muncul tulisan akses ditolak.
c. Buatlah program untuk menukarkan nama Anda. Pada awalnya kata_1 = nama depan
dan kata_2 = nama belakang menjadi kata_1 = nama belakang dan kata_2 = nama
depan.
6
D4 Teknologi Media Digital, STEI-ITB
Download