array dan string
DESCRIPTION
Array dan String. Outline. Konsep array dalam bahasa C Array berdimensi satu Array multidimensi (Dimensi 2 dan dimensi 3) String dan character Struct dan union Array dan function Contoh program. ARRAY(LARIK). - PowerPoint PPT PresentationTRANSCRIPT
Array dan String 1/12
Teknik Pemrograman Terstruktur
Array dan String
Array dan String 2/12
Teknik Pemrograman Terstruktur
Outline
• Konsep array dalam bahasa C
• Array berdimensi satu
• Array multidimensi (Dimensi 2 dan dimensi 3)
• String dan character
• Struct dan union
• Array dan function
• Contoh program
Array dan String 3/12
Teknik Pemrograman Terstruktur
ARRAY(LARIK)• Larik adalah kumpulan nilai-nilai data bertipe sama dalam
urutan tertentu yang menggunakan sebuah nama yang sama.
• Nilai-nilai data di suatu larik disebut dengan elemen larik yang letak urutannya ditunjukkan oleh suatu subscript atau suatu index yang dimulai dengan index nol.
• Macam-macam larik :– Array dimensi satu (one dimensional array) yang
mewakili suatu vektor.– Array dimensi dua (two dimensional array) mewakili
bentuk suatu matrik atau tabel.– Array dimensi tiga (three dimensional array) mewakili
suatu bentuk ruang atau berdimensi lebih dari tiga.
Array Dimensi 1• Dideklarasikan dengan menyebutkan jumlah dari
elemennya yang dituliskan diantara tanda ‘[ ]’.• Contoh : int X[5];• Berarti variabel X bertipe integer dan merupakan larik
dimensi satu.• Contoh larik berdimensi Satu :
#include <stdio.h>main(){
float X[3] = {5,3,7}, Total = 0; int I; for(I=0;I<=2;I++) Total = Total + X[I]; printf(‘Total = %.2f \n”,Total);}
• Output : Total = 15.00
Array dan String 4/12
Teknik Pemrograman Terstruktur
Array Dimensi 2• Pendeklarasian larik dimensi dua :
int X[3][4]; berarti akan membentuk matrik 3 X 4
int X[2][3]={1,2,3,4,5,6} matrik 2X3atau larik tidak berukuran seperti :
int X[ ][4] ={1,2,3,4,5,6,7,8} matrik 2X4
• Contoh larik dimensi dua :#include <stdio.h>main(){ int I,J; float X[3][4] = { 12.34, 34.56, 56.78, 78.90,
23.45, 45.67, 67.89, 89.01, 34.56, 56.78, 78.90, 90.12};
/*Menampilkan dalam bentuk matrik*/
for(I=0;I<3;I++){ for(J=0;J<3;J++)
printf(“%8.2f”, X[I][J]);printf(“\n”);}
printf(“\n”); } • Output :
12.34 34.56 56.78 78.9023.45 45.67 67.89 89.0134.56 56.78 78.90 90.12
Array dan String 5/12
Teknik Pemrograman Terstruktur
Larik String • Hubungan antara nilai larik string dengan nilai larik karakter
• Contoh 1 :#include <stdio.h>main() {
int I,J;char Hari[7][10] = {“Minggu”, “Senin”, “Selasa”, “Rabu”,
“Kamis”, “Jum’at”, “Sabtu” };for(I=0;I<7;I++) { for(J=0;J<10;J++)
printf(“%c”, Hari[I][J]);printf(“\n”); } }
• Output1 :MingguSeninSelasaRabuKamisJum’atSabtu
String Character
Nilai string tunggal Larik karakter dimensi satuLarik string dimensi satu Larik karakter dimensi duaLarik string dimensi dua Larik karakter dimensi tigaLarik string dimensi N Larik karakter dimensi N + 1
Array dan String 6/12
Teknik Pemrograman Terstruktur
String• Konstanta string, seperti : "I am a string" merupakan array
bertipe karakter.• Direpresentasikan dengan menggunakan Double quote dan diakhiri
dengan karakter khusus null “\0'‘.• Konstanta string sering digunakan dalam menampilkan output dari
suatu program dengan menggunakan keyword printf, contoh :printf("Hello, world\n");
• Contoh String 1 :#include <stdio.h> void main(){
char text_1[100], text_2[100], text_3[100]; char *ta, *tb;char message[] = "Hello, I am a string; what are you?";int i; printf("Original message: %s\n", message);
// copy the message to text_1 the hard wayi=0; while ((text_1[i] = message[i]) != '\0' ) i++;printf("Text_1: %s\n", text_1);
//use explicit pointer arithmeticta=message; tb=text_2;while ( ( *tb++ = *ta++ ) != '\0' ) ;printf("Text_2: %s\n", text_2); printf("\n\nSelesai"); }
• Output :Original message: Hello, I am a string; what are you?Text_1: Hello, I am a string; what are you?Text_2: Hello, I am a string; what are you?
Array dan String 7/12
Teknik Pemrograman Terstruktur
• Library standard “string'' terdiri dari beberapa function yang sangat berguna untuk manipulasii.
• Berikut beberapa contoh fungsi untuk manipulasi string:– char *strcpy(s,ct) ->
menyalin string ct ke string s, termasuk :\0''; dan mengembalikan s
– char *strncpy(s,ct,n) ->menyalin n buah karakter dari string ct ke string s, dan mengembalikan s
– char *strncat(s,ct) -> menggabungkan string ct keakhir string s dan mengembalikan s
– char *strncat(s,ct,n) ->menggabungkan n buah karakter dari string ct ke akhir string s, diakhiri dengan “\0”, dan mengembalikan s
– int strcmp(cs,ct) ->membandingkan string cs dan string ct; mengembalikan 0 jika cs=ct, >0 jika cs>ct, <0 jika cs<ct
– char *strchr(cs,ct) ->mengembalikan pointer ke urutan pertama dari string ct atau Null jika tidak ada
– size_t strlen(cs)-> mengembalikan panjang string cs (s dan t merupakan char*, cs dan ct merupakan konstanta char*.
Array dan String 8/12
Teknik Pemrograman Terstruktur
Array sebagai parameter
• Adakalanya array diberikan kedalam fungsi sebagai parameter. Dalam C++ tidak memungkinkan untuk pass by value satu blok memory sebagai parameter kedalam suatu fungsi. Untuk menggunakan array sebagai parameter maka yang harus dilakukan saat pendeklarasian fungsi adalah spesifikasi tipe array pada argumen
• Contoh : void procedure (int arg[]) • Contoh function :
#include <stdio.h>void printarray(int arg[],
int length){ int n; for ( n=0; n<length; n++)
printf ("%d ", arg[n]); printf("\n"); }
void main (){int firstarray[] = {5, 10, 15};int secondarray[] = {2, 4, 6, 8, 10};printarray (firstarray,3);printarray (secondarray,5);}
• Output : 5 10 15
2 4 6 8 10
Array dan String 9/12
Teknik Pemrograman Terstruktur
Struct dan union
Data structures• Struct merupakan suatu struktur data yang
menggabungkan beberapa data dengan berbagai tipe data yang memiliki ukuran yang berbeda (heterogen) di kelompokan dalam satu deklarasi unik dan saling berkaitan.
• Syntax : struct model_name {
type1 element1; type2 element2; type3 element3; . .} object_name;
• dimana :– model_name adalah nama untuk model tipe
stukturnya dan parameter optional – object_name merupakan identifier yang valid untuk
objek struktur. – Diantara kurung kurawal { } berupa tipe dan sub-
identifier yang mengacu ke elemen pembentuk struktur.
• Jika pendefinisian stuktur menyertakan parameter model_name (optional), maka parameter tersebut akan menjadi nama tipe yang valid ekuivalen dengan struktur.
Array dan String 10/12
Teknik Pemrograman Terstruktur
• Sangat penting untuk membedakan antara structure model, dan structure object. model adalah type, dan object adalah variable.
• Struct dapat dideklarasikan secara bertingkat, yaitu salah satu field struct bertipe struct lainnya (nested Structure) .
• Selain itu struct juga dapat digabungkan dengan array, struct yang field-nya berupa array atau array yang setiap elemennya berupa structure.
Array dan String 11/12
Teknik Pemrograman Terstruktur
Referensi
• Abdul Kadir, Pemrograman Dasar Turbo C untuk IBM PC Jilid 1 dan 2, Andi Offset, Jakarta
• Jogiyanto H.M, Konsep Dasar Pemrograman Bahasa C, Andi Offset, Yogyakarta
• http://maven.smith.edu/~thiebaut/classes/C_Tutor/
Array dan String 12/12
Teknik Pemrograman Terstruktur
Kesimpulan
• Array digunakan untuk mendeklarasikan banyak data dengan nama dan tipe yang sama
• Array terbagi atas array dimensi 1, array dimensi 2, array dimensi 3
• Struct digunakan untuk mendeklarasikan data yang saling berkait dan bertipe berbeda (berupa record)