KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA...
Transcript of KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA...
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
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 :
+,*,/,-
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
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
Contoh program:
Output:
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,
namun diletakan pada bagian preprocessor directive sehingga diproses dengan tanda # yang
mendahului makro yang akan dibuat.
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 :
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:
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].
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
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. }
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. }
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.
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).
- 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
Operator dan Binary Operator.
Berdasarkan jenis operasinya, operator dalam bahasa C dapat dibedakan menjadi:
Operator Aritmatika
Operator Logika
Operator Relasi
Operator Bitwise