Sabtu, 15 Januari 2011

MODUL 2 PPT

 Soal Pendahuluan

1.       Jelaskan apa yang kamu ketahui tentang array dan string!
2.       Apakah perbedaan array dan string? Jelaskan!
3.       Jelaskan macam-macam array berikut serta cara pendeklarasian dan pengaksesan elemennya:
a)    Array satu dimensi
b)   Array dua dimensi
c)    Array multi dimensi
d)   Array tak berukuran
4.       Bagaimana cara mengetahui kapasitas atau panjang dari suatu array? Berikan contoh implementasi programnya!
5.       Apa yang akan muncul bila sebuah array langsung di print tanpa diberi nilai terlebih dahulu dalam C / C++?
6.       Apa yang terjadi bila sebuah array diakses melebihi ukuran yang ditetapkan sebelumnya dalam C / C++?
7.       Sebutkan macam-macam fungsi pada string dan jelaskan kegunaannya!
8.       Buatlah sendiri source code fungsi-fungsi berikut:
a)    strcmp()
b)   strrev()
c)    strcat()
d)   strlen()



Jawaban

1.       Array adalah sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama. Setiap data tersebut menempati lokasi atau alamat memori yang berbeda – beda.
String adalah kumpulan beberapa karakter atau array dari karakter. String dan karakter dibedakan cara penulisannya. String ditulis dengan diapit oleh tanda petik ganda “ … “ , dan karakter ditulis dengan diapit oleh tanda petik tunggal ‘ … ‘. Akhir dari string ditunjukkan oleh NULL karakter. Semua fungsi yang digunakan untuk melakukan manipulasi terhadap string menganggap string diakhiri dengan null. Karakter null direpresentasikan dengan tanda ‘ \0 ‘.

2.       Array dapat menyimpan berbagai tipe data, sedangkan string adalah bagian dari array yang hanya dapat menyimpan karakter.
 Type data Array
C
C++
typedef int tabel[11];
typedef int tabel[11];
Typedef
float matrix[21][31];
typedef
float matrix[21][31];

Format deklarasinya : typedef <type-elemen> <nama-type>[<banyaknya elemen
+ 1>];
- Pada C dan C++ indeks array selalu dimulai dari 0.
- Jadi jika ditulis int tabel[11] artinya ada tabel[0] … tabel[10].
- Contoh cara pengaksesan : tabel[2], matrix[5][29]

Type data String
C
C++
typedef char name[31];
typedef std::string name;

- Untuk C, tidak ada type data khusus string, sehingga string didefinisikan sebagai array
of char.
- Pada Pascal, name:string[30] artinya karakter diisi dari name[1]..name[30]
sedangkan dalam C char name[31] artinya karakter diisi dari name[0]..name[30].
- Untuk C++, untuk menggunakan type string harus ada #include <string> di awal
program harus menggunakan std::string.
3.       Macam – macam array :
a)      Array satu dimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks atau subskrip.
Bentuk Umum :
Tipe_data nama_array[jumlah_maks_data];
Contoh :
int Nilai[5];        nilai [1]   nilai [2]      nilai [3]       nilai [4]     nilai [5]
70
80
82
60
75

b)      Array dua dimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.
Bentuknya dapat berupa matriks atau tabel.
·         Deklarasi array :
Tipe_array nama_array[baris][kolom];
Cara mengakses array :
Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3 dengan 10 maka perintahnya adalah sbb :
X[1][2] = 10;
Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :
·         Row Major Order (secara baris per baris)
·         Column Major Order (secara kolom per kolom)
c)       Array multidimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui banyak indeks atau subskrip. Array seperti ini biasa digunakan untuk matriks, array 2 dimensi juga termasuk kedalam array multidimensi.
Bentuk umumnya yaitu :
tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];
Contoh :
float X[2][4][3];
X[0][0][0] X[0][0][1] X[0][0][2] X[1][0][0] X[1][0][1] X[1][0][2]
X[0][1][0] X[0][1][1] X[0][1][2] X[1][1][0] X[1][1][1] X[1][1][2]
X[0][2][0] X[0][2][1] X[0][2][2] X[1][2][0] X[1][2][1] X[1][2][2]
X[0][3][0] X[0][3][1] X[0][3][2] X[1][3][0] X[1][3][1] X[1][3][2]
d)      Array tak berukuran adalah array yang indeksnya tidak ditentukan.
Inisialisasi array yang tak berukuran dapat dilakukan untuk array berdimensi satu atau lebih. Untuk array berdimensi lebih dari satu, dimensi paling kiri yang boleh tak berukuran. Dengan cara ini tabel dalam array dapat diperluas atau dipersempit tanpa mengubah ukuran array.
Berikut ini merupakan contoh pendeklarasian arry berdimensi satu yang tak berukuran :

int skala[] = {1,2,4,6,8};
Maka secara otomatis :
skala[0] bernilai 1
skala[1] bernilai 2
skala[3] bernilai 4
skala[4] bernilai 6
skala[5] bernilai 8
Untuk array berdimensi lebih dari satu :
char konversi[][2] = {’A’,’B’,’C’,’D’,’E’,’F’};
Pada contoh di atas berlaku :
konversi[0][0] bernilai ‘A’
konversi[0][1] bernilai ‘B’
konversi[1][0] bernilai ‘C’
konversi[1][1] bernilai ‘D’
konversi[2][0] bernilai ‘E’
konversi[2][1] bernilai ‘F’
4.       kapasitas atau panjang dari satu array ditentukan oleh banyaknya ruang dalam memori yang digunakan untuk menampung data.

5.       Jika sebuah array langsung di print tanpa diberi nilai terlebih dahulu dalam C/C++, maka source code tersebut tidak dapat di compile (error).

6.       Jika sebuah array diakses melebihi ukuran atau indeks yang telah ditetapkan sebelumnya, maka hal tersebut akan menjadi bug pada program yang dibuat. Nilai yang terakses juga akan keluar nilai random.

7.       Fungsi – fungsi pada string :
a)      Strcmp () berguna untuk membandingkan string yang terdapat pada dua variabel yang berbeda.
b)      Strcpy () berguna untuk melakukan penyalinan (copy) string dari suatu variabel ke variabel lain.
c)       Strncpy () berguna untuk menyalin string sebanyak n karakter dari sebuah variabel ke variabel lain.
d)      Strcat () berguna untuk menggabungkan (concat) string dari sebuah variabel ke posisi akhir dari variabel lain.
e)      Strncat () berguna untuk menggabungkan n karakter dari suatu variabel ke posisi akhir dari variabel lain.
f)       Strchr () berguna untuk mencari lokasi karakter dari suatu string. Jika karakter ditemukan, maka fungsi ini akan mengembalikan pointer dari string yang dimulai dari karakter tersebut, tetapi jika tidak maka fungsi akan mengembalikan nilai 0.
g)      Strstr () berguna untuk mencari lokasi substring dari suatu string. Jika substring ditemukan maka fungsi ini akan mengembalikan pointer dari string yang dimulai dari substring tersebut, tetapi jika tidak maka fungsi akan mengembalikan nilai 0.
h)      Strrev () berguna untuk membalikkan string dari sebuah variabel.
i)        Strcat () berguna menyatukan beberapa string menjadi sebuah string yang utuh.
j)        Strlen () berguna untuk mengembalikan panjang string dari suatu variabel.
k)      Strlwr() berguna untuk mengubah string yang tersimpan dalam suatu variabel menjadi huruf kecil.
l)        Strupr() berguna untuk mengubah string yang tersimpan dalam suatu variabel menjadi huruf kapital.

Tidak ada komentar:

Posting Komentar

Silahkan tulis segala komentar, kritik, saran, pertanyaan atau apa aja lah, yang penting sopan. okeoke?