Pengertian Array Satu Dimensi Array dapat diartikan sebagai
Pengertian Array Satu Dimensi Array dapat diartikan sebagai sesuatu yang berbaris atau berderet-deret Dalam Pemrograman : Array adalah variabel sejenis yang berderet-deret sedemikian rupa sehingga alamatnya saling bersambung atau bersebelahan / berdampingan (contiguous) Ilustrasi : 273
Ilustrasi array satu dimensi dengan : 7 buah elemen, atau 7 buah kolom, atau 7 buah sel 273
Menyiapkan Array Satu Dimensi 274
Kita pernah belajar : int A; A tipe : integer 2 Byte -32768 s. d. 32767 A =variabel tunggal
C #include<stdio. h> void main() { int A[7]; 0 1 2 3 4 5 A[1] 6 A[6] A[0] A =variabel array 274
C++ #include<iostream. h> void main() { int A[7]; 0 1 A[1] 2 3 4 5 6 A[6] A[0] A =variabel array 274
Java public class Contoh. Array { public static void main (String args [ ] ) { int [ ] A = new int[7]; 0 1 A[1] 2 3 4 5 6 A[6] A[0] A =variabel array 274
0 1 A[1] 2 3 4 5 6 A[6] A[0] Dibaca : - A dengan indeks nol - A yang ke nol - A nol A Berstruktur array Alamatnya contiguous 274
Alamat adalah nomor Byte 0 1 2 3 RAM misal dengan kapasitas 64 MB 64*1024 -1
Alamat Elemen-elemen Array Satu Dimensi 275
Contoh-1. dengan C #include<stdio. h> void main() { int A[5]; printf(“n%X”, &A[0] ); printf(“n%X”, &A[1] ); printf(“n%X”, &A[2] ); printf(“n%X”, &A[3] ); printf(“n%X”, &A[4] ); } Akan tercetak : 0 1 2 3 A[1] 4 A[4] A[0] integer : 2 Byte 21 E 6 21 E 8 21 EA 21 EC 21 EE 275 format : %X
0 1 A[1] 2 3 4 integer : 2 Byte A[4] A[0] Printf(“n%X”, &A[0]); &A[0] maksudnya alamat elemen A[0] Dicetak dengan format X (dicetak dalam bentuk Hexadecimal) 275
0 1 2 3 4 integer : 2 A[1] Byte A[4] A[0] Satu elemen integer= 2 byte Satu elemen Nomor Byte ini yang diambil sebagai alamat Satu elemen long integer = 4 byte satu elemen Nomor Byte ini yang diambil sebagai alamat 275
Contoh-2. #include<stdio. h> void main() { int A[5]; int I; for( I=0; I<=4; I++) printf(“n%X”, &A[I]); } Akan tercetak : 21 D 8 21 DA 21 DC 21 DE 21 E 0 0 1 2 3 A[1] 4 A[4] A[0] integer : 2 Byte 276
Contoh-3. #include<stdio. h> void main() { char A[5]; int I; for( I=0; I<=4; I++) printf(“n%X”, &A[I]); } Akan tercetak : 0 1 2 3 A[1] A[4] A[0] character : 1 21 DC 21 DD 21 DE 21 DF 21 E 0 4 Byte 276
Contoh-4. #include<stdio. h> void main() { float A[5]; int I; for( I=0; I<=4; I++) printf(“n%X”, &A[I]); } 0 1 2 3 A[1] 23 E 4 23 E 8 23 EC 23 F 0 23 F 4 A[4] A[0] float : 4 Akan tercetak : 4 Byte 276
Contoh-5. #include<stdio. h> void main() { long int A[5]; int I; for( I=0; I<=4; I++) printf(“n%X”, &A[I]); } Akan tercetak : 21 CE 21 D 2 21 D 6 21 DA 21 DE 0 1 2 3 4 A[1] A[4] A[0] Long integer : 4 Byte 276
Menyiapkan Array Numeric Satu Dimensi Lengkap Dengan Isinya. 277
Contoh-1. C/C++ #include <stdio. h> void main() { int A[5] = { 25, 12, 17, 10, 15 }; } 0 25 1 2 12 A[1] 3 17 4 10 15 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 277
Contoh-2. #include <stdio. h> void main() { int A[5] = { 25, 12, 17, 10, 15 }; } 0 25 1 2 12 A[1] 3 17 4 10 15 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 277
Contoh-3. #include <stdio. h> void main() { int A[ ] = { 25, 12, 17, 10, 15 }; } 0 25 1 2 12 A[1] 3 17 4 10 15 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 277
Contoh-4. #include <stdio. h> #define n 5 void main() { int A[n] = { 25, 12, 17, 10, 15 }; } 0 25 1 2 12 A[1] 3 17 4 10 15 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 278
Contoh-5. #include <stdio. h> void main() { int A[5 ] = { 25, 12, 17, 10, 15, 19 }; } 0 x 1 2 x A[1] 3 x Berusaha mengisi data melebihi kapasitas array akan menyebabkan Error 4 x Error x A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 278
Contoh-6. Untuk array numerik, bila diisi hanya sebagian elemen (mulai dari elemen pertama), maka sisa elemen yang tidak diisi, oleh Bahasa C, otomatis diisi dengan nol #include <stdio. h> void main() { int A[5 ] = { 0 }; } 0 0 1 2 0 A[1] 3 0 4 0 0 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 278
Contoh-7. #include <stdio. h> void main() { int A[5 ] = { 5 }; } 0 5 1 2 0 A[1] 3 0 4 0 0 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 279
Contoh-8. #include <stdio. h> void main() { int A[5 ] = { 2, 5 }; } 0 2 1 2 5 A[1] 3 0 4 0 0 A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 279
Contoh-9. #include <stdio. h> void main() { int A[5 ]; } 0 x 1 2 x A[1] Bila menyiapkan array tanpa dengan isinya, maka lokasi array isinya tetap seperti semula, apa adanya waktu itu. Sehingga isnya tidak diketahui. 3 x 4 x x X = bilangan sembarang integer 16 bit A[4] A[0] Untuk C++ gunakan : #include<iostream. h> 279
menyiapkan array numerik, lengkap dengan nilai awal, dan mencetak isinya. 278
Contoh-6 #include <stdio. h> void main() { int A[ 5 ] = { 0 }; int I; for (I=0; I <= 4; I++) printf(“%2 i”, A[I] ); } 0 0 Elemen A[0] sengaja diisi dengan nol 0 0 0 elemen-elemen berikutnya secara otomatis diisi dengan nol (nol) Akan tercetak : 0 0 0 276
Contoh-7 #include <stdio. h> void main() { int A[ 5 ] = { 5 }; int I; for (I=0; I <= 4; I++) printf(“%2 i”, A[I] ); 5 0 0 Elemen A[0] sengaja diisi dengan 5 l 0 0 elemen-elemen berikutnya secara otomatis diisi dengan nol (nol) } Akan tercetak : 50000 279
Contoh-8 #include <stdio. h> void main() { int A[ 5 ] = {2, 5 }; int I; for (I=0; I <= 4; I++) printf(“%2 i”, A[I] ); 2 5 0 0 0 } Akan tercetak : 2 5 0 0 0 279
Nilai awal suatu array numeric Bukan ( belum tentu ) berisi nol. Contoh-9 #include <stdio. h> void main() { int A[ 5 ]; int I; for (I=0; I <= 4; I++) printf(“n%i”, A[I] ); } Akan tercetak : xxxx xx xxxxx -xxx xxxx Rentang nilai : -32768 s. d. 32767 tercetak nilai integer sembarang 279
Nilai awal suatu array karakter bukan ( belum tentu) berisi spasi Contoh-10 #include <stdio. h> void main() { char A[ 5 ]; int I; for (I=0; I <= 4; I++) printf(“n%c”, A[I] ); } Akan tercetak : x x x tercetak karakter sembarang 280
Contoh-11 #include <stdio. h> void main() { char A[ 5 ]; int I; for (I=0; I <= 4; I++) printf(“n%X”, A[I] ); } Akan tercetak : xx xx xx Tercetak nilai Hexa sembarang 280
Contoh-12 #include <stdio. h> void main() { int N[ 5 ] = {25, 12, 17, 10, 15 }; int I; for (I=0; I <= 4; I++) printf(“n%i”, N[I] ); } Akan tercetak : 25 12 17 10 15 280
Menyiapkan Array Character String Satu Dimensi Lengkap Dengan Isinya.
Contoh-1 #include <stdio. h> void main() { char C[5] = “ABC”; } Array char Bila diisi hanya sebagian ( mulai elemen pertama), maka elemen selebihnya akan diisi dengan karakter NULL 0 A 1 2 B 3 4 C character NULL Character NULL 0000 1 Byte = 8 bit Semua bitnya OFF 281
Contoh-1 #include <stdio. h> void main() { char C[5] = “ABC”; } atau 0 A 1 2 B #include <stdio. h> void main() { char C[5] = { ‘A’, ‘B’, ‘C’ }; } 3 4 C character NULL 281
Contoh-1 #include <stdio. h> void main() { char C[5] = “ABC”; } 0 A 1 2 B 3 4 C character NULL
Karakter NULL Bebeda Dengan Karakter NOL (Zero)
Karakter NULL 0000 =0 Karakter nol (zero) 0011 0000 = 48 Karakter spasi (space) 0010 0000 = 32 printf(“%i”, ‘ ’ ); tercetak : 0 printf(“%c”, ‘ ’ ); tercetak : Karakter NULL dicetak dengan %c printf(“%i”, ‘ 0’ ); tercetak : 48 printf(“%c”, ‘ 0’ ); tercetak : 0 printf(“%i”, ‘ ’ ); tercetak : 32 printf(“%c”, ‘ ’ ); tercetak : Satu buah spasi (space) atau blank
Kode ASCII Kombinasi bit 00 01 02. . 49 50. . . 65 66. . . 97 98. . . 127 128 00000001 00000002. . 00110001 00110010. . . 01000001 01000010. . . 01100001 01100010. . . 01111111 10000000 Menyatakan Karakter Null 1 2. . . A B. . . a b. . . Ç Kode ASCII Kombinasi bit 128 129. . 160 161. . 171 172. . 192 193. . 224 225. . 254 255 10000000 10000001. . 10100000 10100001. . 1010101100. . 11000000 11000001. . 11100000 11100001. . 11111110 1111 Menyatakan Karakter Ç ü. . á í. . ½ ¼. . +. . _ ß. . _ _
TABEL ASCII ( 0 - 127 ), karakter dasar ASCII dalam 7 bit Kode ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Char Kode ASCII Null bell tab line feed home form feed carriage return cursor ke kanan cursor ke kiri cursor ke atas cursor ke bawah Char 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Spasi ! “ # $ % & ‘ ( ) * + , . / 48 49 50 51 52 53 54 55 56 57 0 1 2 3 4 5 6 7 8 9 Kode ASCII Char 58 59 60 61 62 63 64 : ; < = > ? @ 91 92 93 94 95 96 [ ] ^ _ ` 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 a b c d e f g h I j k l m n o p q r s t u v w x y z Kode ASCII Char 123 124 125 126 127 { | } ~
Contoh-1 C 0 #include <stdio. h> void main() { char C[5] = “ABC”; } C[ ] A 1 2 B 3 C 4 character NULL Bila dicetak dengan : a. for(I=0; I <= 4; I++) { printf (“%c”, C[ I ] ); } printf(“Selesai”); Tercetak : ABC Selesai Dua karakter NULL dicetak karakter per karakter
Bandingkan ini Dengan : char C[5] = “ABC”; for(I=0; I <= 4; I++) { printf (“%c”, C[ I ] ); } C[ ] printf(“Selesai”); Tercetak : ABC Selesai 0 1 A B 2 3 C 4 character NULL Dua karakter NULL dengan ini I=0; while( C[ I ] != ‘ ’ ) { printf (“%c”, C[ I ] ); I++; } printf(“Selesai”); Tercetak : ABCSelesai atau : while( C[I] != 0 ) atau : while( C[I] != NULL )
Contoh-1 C++ #include <iostream. h> void main() { char C[5] = “ABC”; } 0 A 1 2 B 3 4 C character NULL Bila dicetak dengan : a. for(I=0; I <= 4; I++) { cout << C[ I ]; } cout << “Selesai”; Tercetak : ABC Selesai Dua karakter NULL 281
Contoh-1 Java Public class Contoh { public static void main(String[ ] args) } char[ ] C = {‘A’, ‘B’, ‘C’ }; for(int I=0; I < C. length(); I++) { System. out. print( C[ I ] ); } System. out. println(“Selesai”); Tercetak : ABCSelesai 281
dan seterusnya, untuk contoh program Java bisa baca sendiri dalam buku / diktat
C b. #include <stdio. h> 0 void main() A 1 2 B 3 C 4 { char S[5] = “ABC”; character NULL printf(“%s”, S ); printf(“Selesai”); } Tercetak : ABCSelesai Dicetak dengan format ‘ ’ tidak ikut dicetak “%s”. dicetak sekaligus sebagai suatu string String adalah untaian karakter -karakter
C++ b. #include <iostream. h> void main() { char S[5] = “ABC”; cout << S ; cout << “Selesai”; 0 A 1 2 B 3 C 4 character NULL } Tercetak : ABCSelesai ‘ ’ tidak ikut dicetak 285
C c. #include <stdio. h> void main() { char S[5] = “ABC”; int I; for( I=0; I<=4; I++) printf(“%i”, S[ I ] ); printf(“Selesai”); } Tercetak : 0 1 A 2 B 3 C 4 character NULL 65666700 Selesai A 64 Menggunakan format “%i” 0100 0001 = 65 1 B 0100 0010 = 66 C 0100 0011 = 67
C++ c. #include <iostream. h> void main() { char S[5] = “ABC”; int I, N; for( I=0; I<=4; I++) { N = S[ I ]; cout << N; } cout << “Selesai”; } Tercetak : 65666700 Selesai 0 A 1 2 B 3 C 4 character NULL
C d. #include <stdio. h> void main() { char S[5] = “ABC”; int I; for( I=0; I<=4; I++ ) printf(“%X”, S[ I ] ); printf(“Selesai”); } Tercetak : 0 A Menggunakan format “%X” 0100 0001 4 B 0100 1 0010 4 C 2 B 3 C 4 character NULL 41424300 Selesai A 1 0100 4 2 0011 3
C++ d. #include <iostream. h> void main() { char S[5] = “ABC”; int I, N; for( I=0; I<=4; I++ ) { N = S[ I ]; cout << hex << N; } cout << “Selesai”; } Tercetak : 41424300 Selesai Menggunakan format hex 0 A 1 2 B 3 C 4 character NULL