karakter dan string, array, struct dan review pada...

17
KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C Disusun oleh: Bachtiar Maulana (58411782) Marlinda Dwi Cahya (54411318) Muh. Mahlani (5411622) Muzaky Bakri Salim (55411060) UNIVERSITAS GUNADARMA 2012

Upload: vanduong

Post on 06-Feb-2018

245 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW

PADA BAHASA C

Disusun oleh:

Bachtiar Maulana (58411782)

Marlinda Dwi Cahya (54411318)

Muh. Mahlani (5411622)

Muzaky Bakri Salim (55411060)

UNIVERSITAS GUNADARMA

2012

Page 2: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

KARAKTER DAN SRING

Tipe data karakter merupakan tipe data yang digunakan untuk menyimpan huruf-huruf dan

berbagai karakter ASCII lain yang didukung oleh bahasa pemrograman C. Tipe data karakter

merupakan tipe data sederhana yang sebenarnya disimpan dalam tipe data integer. Suatu

nilai karakter mempunyai lembar nilai 1 byte.

Konstanta karakter ditulis dalam tanda petik tunggal, sedang variabel karakter ditulis

menggunakan kata kunci char. Yang termasuk ke dalam karakter adalah huruf alphabet,

tanda baca, angka dan karakter-karakter. Karakter kosong adalah karakter yang panjangnya

nol dan dilambangkan dengan ‘\0’.

Operator perbandingan atau hubungan yang berlaku untuk tipe karakter adalah :

== (sama dengan)

|= (tidak sama dengan)

< (lebih kecil)

> (lebih besar

>= (lebih besar atau sama dengan)

<= (lebih kecil atau sama dengan)

Sedangkan operator aritmatika yang berlaku adalah :

+,*,/,-

Page 3: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Contoh program:

Output:

Operasi dengan operator pembandingan menghasilkan nilai benar atau salah. Misalnya, bila

a dan b adlah variabel bertipe karakter, maka operasi a < b akan menghasilkan nilai benar

atau salah tergantung pada keterurutan nilai a dan b pada sistem pengkodean (ASCII).

Dalam kode ASCII 8 bit dikenal 256 macam karakter (0=255). Sedangkan kode dalam desimal

0 sampai denga 127. Kode ASCII dengan nilai kode 0 sampai dengan 31 dan 127 termasuk

Page 4: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

dalam status karakter-karakter kontrol yang tidak dapat dicetak dalam printer. Karakter

dengan kode ASCII 32 adlah karakter spasi. Karakter dnegan kode 32 sampai 126 termasuk

dalam status karakter-karakter yang dapat dicetak di printer.

Pada tipe data karakter, fungsi-fungsi built-in dari bahas C terdapat pada ctype.h yang dapat

di inclide kan pada program yang dibuat. Beberapa fungsi yang dapat digunkan untuk

memanipulasi karakter adalah sebagai berikut :

Nama Makro Kelompok Kode ASCII Keterangan

Isascii (c) 0-127 Karakter berkode ASCII 0

sampai 127 (ASCII 127 bit

Iscntrl (c) 0-31 dan 127 Karakter-karakter kontrol

Isspace (c) 9, 10, 13, 32 Karakter spasi, tab dan enter

Isgraph (c) 33-126 Karakter-karakter yang dapat

dicetak selain spasi

Isprint (c) 33-126 Semua karakter yang dapat

dicetak

Ispuncht (c) 33-47;58-64;91-996;123-126 Karakter yang dapat dicetak

kecuali spasi huruf dan angka

Isalnum (c) 348-57;65-90;97-122 Karakter-karakter huruf dan

angka

Isalpha (c) 65-90 Huruf dan angka karakter-

karakter huruf

Islower (c) 97-122 Karakter-karakter huruf kecil

Issuper (c) 65-90 Karakter-karakter huruf

besar

Isdigit (c) 48-57 Karakter-karakter angka

Isxdigit (c) 48-57, 65-70, 97-102 Karakter-karakter

hexadesimal

Page 5: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Contoh program:

Output:

Page 6: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Hasil :

Tekan spasi, enter atau tab untuk keluar program...

0 adalah angka

a bukan angka tetapi huruf

Penggunaan makro yang terdapat pada ctype.h juga dapat dibuat oleh programmer sendiri

secara bebas. Makro merupakan suatu fungsi sederhana yang hampir menyerupai fungsi,

Page 7: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

namun diletakan pada bagian preprocessor directive sehingga diproses dengan tanda # yang

mendahului makro yang akan dibuat.

Page 8: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

FUNGSI STRING DAN PENGGUNAANYA

Nilai string adalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk satu

dimensi. Nilai string ini harus ditulis didalam tanda petik dua (“), misalnya “ini string”. Suatu

nilai disimpan dimemori dengan diakhiri oleh nilai ‘\0’ (Null). Misalnya nilai string “UKDW”

disimpan dimemori dalam bentuk :

U K D W ‘\0’

Dengan mengetahui nilai string diakhiri oleh nilai ‘\0’, maka akhir nilai dari suatu string

dapat dideteksi. Berikut ini contoh program:

Output :

Page 9: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

ARRAY STRING

Array adalah tempat untuk mengkoleksi banyak variabel dengan type yang sama. Tiap

variabel yang tersimpan pada array tersebut disebut elemen, dimana tiap-tiap elemen pada

array dapat diakses dengan menggunakan indek. Sebuah array dapat mempunyai dimensi

satu atau lebih (array yang banyak digunakan pada aplikasi teknik informatika adalah array

dua dimensi). Elemen-elemen dari sebuah array pada C disimpan pada memori yang

bersebelahan, yaitu elemen dengan address terkecil adalah elemen yang terkecil pada array

tersebut. Tipe data string pada bahasa C merupakan kumpuan dari type data char. Nilai dari

string tunggal dapat dibuat dari larik karakter berdimensi satu. Berarti larik string tungga

dapat dibuat dari larik karakter berdimensi satu, dan larik string dimensi satu dapat

dibentuk dari larik karakter berdimensi dua. Untuk larik string berdimensi X dibuat larik

karakter berdimensi X+1.

Bentuk Umum :

Deklarasi suatu string(array of character_ di C

Char nama[50] ; berarti mendeklarasikan array dimensi satu berisi elemen bertipe data

karakter sebanyak 50 (dari 0-49)

Contoh:

Page 10: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Output

Array satu dimensi

Bentuk umum dari array satu dimensi adalah sebagai berikut:

type var_name [size];

Dengan type = basis tipe data dari elemen-elemen yang akan disimpan pada array tersebut,

var_name = nama (digunakan sebagai referensi) dari array tersebut, [ ] = keyword dari suatu

array dan size = jumlah elemen-elemen yang akan disimpan. Seperti variabel yang lain,

var_name harus dideklarasi secara eksplisit. Sehingga double balance [100]; adalah

mendeklarasikan array dengan nama balance dengan tipe double dan akan dipergunakan

untuk menyimpan sejumlah 100 elemen.

Pada C, elemen pertama dari sebuah array mempunyai indek 0, sehingga char p [10]; adalah

menyatakan array p dengan 10 buah elemen dengan indek p[0] sampai dengan p[9].

Page 11: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Contoh:

1. #include <stdio.h>

2. void main (void)

3. {

4. int x [30];

5. int t;

6. for (t=0; t<30; t++)

7. x [t] = t;

8. }

Total byte dari memori yang digunakan sebuah program array adalah:

total-byte = sizeof (type) * size of array

String (character string)

Di bidang teknik informatika, paling banyak penggunaan array satu dimensi adalah untuk

menangani character string. Pada C, sebuah string adalah didefinisikan sebagai “array of

character” yang diakhiri dengan null (\0). Dengan alasan itu sebuah array yang dideklarasi

untuk menyimpan character string sebanyak 10 character perlu dideklarasikan sebagai char

str [11];

Catatan:

Bahasa C tidak mempunyai type string, sehingga untuk menangani konstanta string

digunakan array of character. Misalnya, “halo dab...”.

Bahasa C mempunyai beberapa fasilitas function untuk menangani operasi string:

Nama: Function:

strcpy (s1, s2) Meng-copy sting s2 ke s1

strcat (s1, s2) Menyambung s2 dibelakang s1

strlen (s1) Menyatakan panjang character string s1

strcmp (s1, s2) Mendapatkan (return) = 0, jika s1=s2

Page 12: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Mendapatkan (return) < 0, jika s1<s2

Mendapatkan (return) > 0, jika s1>s2

strchr (s1, ch) Mengembalikan (return) sebuah pointer yang menunjuk

posisi awal ch pada string s1

strstr (s1, s2) Mengembalikan (return) sebuah pointer yang menunjuk

posisi awal s2 pada string s1

Catatan: Fungsi-fungsi string tersebut menggunakan standar header string.h

Contoh:

1. #include <stdio.h>

2. #include <string.h>

3. void main (void)

4. {

5. char s1 [80], s2 [80];

6. gets (s1);

7. gets (s2);

8. printf (“Panjang dari string adalah: %d %d \n”, strlen (s1), strlen (s2));

9. if (!strcmp (s1, s2) printf (“Dua buah string tersbut memilki panjang yang sama \n”);

10. strcat (s1, s2);

11. printf (“%s \n”, s1);

12. strcpy (s1, “Percobaan... \n”);

13. printf (“%s \n”, s1);

14. if (strchr (“Halo”, ‘o’)) printf (“o ada dalam Halo \n”);

15. if (strstr (“Halo dab..”, “dab”)) printf (“dab ditemukan”);

16. }

Page 13: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Array dua dimensi

Pada array multidimensi yang paling mudah adalah array dua dimensi. Array dua dimensi

adalah sebenarnya array dari array satu dimensi. Untuk mendeklarasikan array dua dimensi

untuk data integer d dengan size 10, 20, dapat dilakukan sebagai berikut:

int d [10] [20];

Dengan cara yang sama maka untuk mengakses elemen 1,2 dari array d adalah

d [1] [2];

Contoh di bawah ini adalah mengisi array dua dimensi dengan angka dan mencetaknya baris

demi baris.

Contoh:

1. #include <stdio.h>

2. void main (void)

3. {

4. int t, i, num [5] [6];

5. for (t=0; t<5; ++t);

6. for (i=0; i<6; ++i)

7. num [t] [i] = (t*6) + i + 1;

8. for (t=0; t<5; ++t);

9. {

10. for (i=0; i<6; ++i)

11. printf (“%d “, num [t] [i]);

12. printf (“\n”);

13. }

14. }

Page 14: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

STRUCT

Pengertian struct dan karakterstiknya

Struct adalah tipe data bentukan yang berisi kumpulan variabel yang bernaung dalam satu

nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan array yang hanya

berupa kumpulan variabel yang bertipe data sama , struct bisa memiliki varibel-variabel

yang memiliki tipe data yang sama atau berbeda, bahkan bisa menyimpan variabel yang

bertie data array. Variabel-variabel yang menjadi anggota struct disebut dengan elemen

struct.

Ilustrasi Struct

Struct dapat diumpamakan sebagai sebuah obyek, misalnya : obyek Mahasiswa

Struct Mahasisa memiliki property atau atribut atau variabel yang melekat padanya :

-NIM yaitu karakter sejumlah 8

-Nama yaitu karakter

-IPK yaitu bilangan pecahan

Struct tidak memiliki operasi (method) atau funtion.

Struct dapat digunakan dengan membuat variabel yang bertipe struct tersebut.

Misalnya :

variabel anton bertipe struct Mahasiswa

variabel erick bertipe struct Mahasiswa

Dengan demikian variabel anton dan erick memiliki NIM , Nama, dan IPK masing-masing.

Pendeklarasian dan penggunaan struct (menggunakan kata kunci typeedef):

Untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2 :

Untuk menggunakan struct Mahasiswa dengan membuat variabel array m :

Pendeklarasian dan penggunaan struct (tanpa menggunakan typedef):

Berarti sudah dibuat variabel mhs yang bertipe data struct seperti di atas.

Page 15: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

PENGGUNAAN STRUCT

Tipe data struct digunakan dengan membuat variabel bertipe data struct. Pengaksesan

elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti

operator titik (.). Misalnya, dengan struct mahasiswa seperti contoh sebelumnya,

pengaksesan elemen-elemennya adalah seperti berikut :

Contoh :

Hasilnya :

Contoh lain :

Hasilnya :

STRUCT OF STRUCT DAN ARRAY OF STRUCT

Struct yang berisi struct lain dapat dilihat pada contoh berikut :

Hasil :

Sedangkan penggunaan Array of Struct dapat dilihat pada contoh berikut :

Hasil :

Review bahasa C

Bahasa C dibuat oleh Brian W. Kernighan dan Dennis M. Ritchie tahun 1972, dan C++

merupakan superset dari C, dibuat oleh Bjarne Stroustrup tahun 1983.

Struktur bahasa C

- C adalah salah satu bahasa pemrograman yang terstruktur.

- Tidak ada perbedaan antara prosedur dengan fungsi.

- Setiap program C mempunyai satu fungsi utama dengan nama "main" (program utama).

- Program akan dieksekusi dimulai dari statement pertama pada fungsi "main" tsb.

- Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive).

Page 16: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

- Setiap statement diakhiri dengan semi-colon (titik koma(;)).

- Bahasa C terdiri dari fungsi-fungsi .

- Fungsi bisa diletakkan diatas atau dibawah fungsi "main".

- Fungsi yg tidak mengembalikan nilai, tipe (return-type)nya adalah "void".

- Komentar dibatasi oleh pasangan /* dan */

variabel

Variable merupakan identifier yang digunakan untuk menampung data atau informasi.

Format deklarasi variabel dalam C:

tipe_data nama_variabel;

tipe_data nama_variabel = initial_value;

Contoh:

int a, b, c;

float x = 20;

syarat penulisan variabel

- Nama variabel tidak boleh menggunakan spasi.

- Diawali dengan huruf atau garis bawah dan selanjutnya diikuti oleh huruf atau garis bawah

atau angka.

- Panjang variabel max 32 karakter.

- Tidak boleh menggunakan keyword.

operator

Operator adalah simbol yang digunakan untuk mengolah nilai pada operand dan

menghasilkan suatu nilai baru.

Operator dapat dibedakan menjadi 2 berdasarkan jumlah operand-nya, yaitu Unary

Page 17: KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA …rogayah.staff.gunadarma.ac.id/Downloads/files/38672/KARAKTER+DAN... · void main (void) 3. { 4. int t, i, num [5] [6]; ... dan

Operator dan Binary Operator.

Berdasarkan jenis operasinya, operator dalam bahasa C dapat dibedakan menjadi:

Operator Aritmatika

Operator Logika

Operator Relasi

Operator Bitwise