• Tidak ada hasil yang ditemukan

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VIII

N/A
N/A
Protected

Academic year: 2021

Membagikan "DIKTAT MATA KULIAH PEMROGRAMAN I BAB VIII"

Copied!
27
0
0

Teks penuh

(1)

DIK

Pe

tert ditu dari Ada Kita kem lima prog 1 2 3 4 5 6 7 8 9 10 11 Den teta terj seb aka digu KTAT PEMR

endahu

Array a tentu yang unjukkan o i angka no apun bentuk a bisa me mudian me a angka ya gramnya a int x1, scanf(“ scanf(“ scanf(“ scanf(“ scanf(“ printf( printf( printf( printf( printf( ngan cara api apabila adi? Apabi anyak 1000 n sangat b unakanlah a ROGRAMAN DIK

uluan

adalah kum mengguna leh suatu ol (0). Untu k umum da tipe_ nggunakan nampilkann ang sudah kan seperti ,x2,x3,x “%i”,&x1 “%i”,&x2 “%i”,&x3 “%i”,&x4 “%i”,&x5 (“%i”,x1 (“%i”,x2 (“%i”,x3 (“%i”,x4 (“%i”,x5 di atas se angka yan ila ada 10 0 buah var boros sintak array untuk I KTAT MATA

ARR

Array

mpulan dari akan nama indeks. Un uk mendek ari pendekla _data nam n array un nnya kemb diinput m i penggalan x4,x5; 1); 2); 3); 4); 5); 1); 2); 3); 4); 5); ebenarnya ng ingin dit 000 buah iabel dan 1 ks dan wak k menyeles A KULIAH P

BAB V

RAY (L

nilai yang sam ntuk pemro klarasikan a arasian seb ma_array[j ntuk mena bali. Sebag melalui key n program d i c c c c c c c c c c program ampung ad angka yan 1000 buah ktu untuk saiakan per PEMROGRA

VIII

ARIK)

-data yang ma. Letak a ograman C array digun buah array jumlah_el ampung be gai contoh board mak di bawah in int x1,x cin>>x1; cin>>x2; cin>>x3; cin>>x4; cin>>x5; cout<<x1 cout<<x2 cout<<x3 cout<<x4 cout<<x5 tersebut s da 1000 bu ng ingin d instruksi in membuat p rmasalahan AMAN I g bertipe sa tau posisi C/C++ inde nakanlah ta adalah seb lemen]; eberapa da kasus un ka sebelum ni: x2,x3,x4, ; ; ; ; ; 1; 2; 3; 4; 5; sudah mem uah bilanga itampung nput dan ou program in n ini.

IF

ama dalam dari eleme eks array d anda [] (br bagai beriku ata bertipe ntuk menam m mengena ,x5; menuhi keb an, apa yan maka dibu utput. Tentu ni. Oleh kar

HAL 1

F

urutan en array dihitung racket). ut: e sama mpilkan al array butuhan ng akan utuhkan unya ini rena itu

(2)

DIKTAT PEMROGRAMAN I HAL 2

Mengisi dan Menampilkan Elemen Array

Ada dua buah cara untuk mengisi dan menampilkan elemen array yaitu: 1. Mengisi dan menampilkan array secara langsung

Cara yang pertama ini efektif untuk menyelesaikan permasalahan yang tidak mengandung banyak variabel yang dibutuhkan. Caranya adalah sebagai berikut: // mengisi array nama_array[indeks] = nilai_elemen; // menampilkan array printf(“%format”,nama_array[indeks]); atau cout<<nama_array[indeks];

Sebagai contoh buat program dengan sintaks di bawah ini:

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 /* Program 8.1

Nama File : Lat-8.1.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int x[5];//deklarasi array

printf("Masukkan nilai 1 : ");scanf("%i",&x[0]); printf("Masukkan nilai 2 : ");scanf("%i",&x[1]); printf("Masukkan nilai 3 : ");scanf("%i",&x[2]); printf("Masukkan nilai 4 : ");scanf("%i",&x[3]); printf("Masukkan nilai 5 : ");scanf("%i",&x[4]); printf("\n");

printf("Nilai ke-1 = %i\n",x[0]); printf("Nilai ke-2 = %i\n",x[1]); printf("Nilai ke-3 = %i\n",x[2]); printf("Nilai ke-4 = %i\n",x[3]); printf("Nilai ke-5 = %i\n\n",x[4]); system("PAUSE");

return 0; }

(3)

DIKTAT PEMROGRAMAN I HAL 3 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 /* Program 8.1

Nama File : Lat-8.1.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) {

int x[5];

cout<<"Masukkan nilai 1 : ";cin>>x[0]; cout<<"Masukkan nilai 2 : ";cin>>x[1]; cout<<"Masukkan nilai 3 : ";cin>>x[2]; cout<<"Masukkan nilai 4 : ";cin>>x[3]; cout<<"Masukkan nilai 5 : ";cin>>x[4]; cout<<endl;

cout<<"Nilai ke-1 = "<<x[0]<<endl; cout<<"Nilai ke-2 = "<<x[1]<<endl; cout<<"Nilai ke-3 = "<<x[2]<<endl; cout<<"Nilai ke-4 = "<<x[3]<<endl;

cout<<"Nilai ke-5 = "<<x[4]<<endl<<endl; system("PAUSE");

return EXIT_SUCCESS; }

Hasil eksekusi:

(4)

DIKTAT PEMROGRAMAN I HAL 4 2. Mengisi dan menampilkan array dengan menggunakan pengulangan

Cara kedua ini sangat efektif apabila data array yang diolah sangat banyak. Apabila menggunakan cara pertama tentunya akan sangat menyulitkan dalam pembuatan programnya karena membutuhkan banyak baris perintah. Adapun cara mengisi dan menampilkan elemen array menggunakan pengulangan adalah sebagai berikut:

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 /* Program 8.2

Nama File : Lat-8.2.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int x[5],i;

for(i=0;i<=4;i++) {

printf("Masukkan nilai %i : ",i+1); scanf("%i",&x[i]);

}

printf("\n"); for(i=0;i<=4;i++) {

printf("Nilai ke-%i = %i\n",i+1,x[i]); } printf("\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 /* Program 8.2

Nama File : Lat-8.2.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

(5)

DIKTAT PEMROGRAMAN I HAL 5 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 { int x[5],i; for(i=0;i<=4;i++) {

cout<<"Masukkan nilai "<<i+1<<" : ";cin>>x[i]; }

cout<<endl;

for(i=0;i<=4;i++) {

cout<<"Nilai ke-"<<i+1<<" = "<<x[i]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi:

Gambar 8.2 Hasil eksekusi program Lat 8.2

Catatan Hal yang harus diperhatikan dalam mempergunakan array di C/C++ adalah indeks arraynya dihitung mulai dari nol. Apabila memesan elemennya sebanyak 10 maka elemen terakhir memiliki indeks sembilan.

(6)

DIKTAT PEMROGRAMAN I HAL 6

Menginisialisasi Array

Untuk mengisi elemen array tidak harus melalui input nilai tetapi juga bisa dilakukan pada saat mendeklarasikannya (inisialisasi). Hal ini dimaksudkan untuk mengisikan nilai default terhadap array tersebut sehingga apabila ada elemen yang tidak diisi maka nilai yang akan digunakan adalah nilai defaultnya. Bentuk umum inisialisasi dari array adalah sebagai berikut:

tipe_data nama_array[n]={nilai_1,nilai_2,nilai_3,...,nilai_n};

Untuk lebih jelasnya buat program berikut ini:

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 /* Program 8.3

Nama File : Lat-8.3.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int x[5]={1,2,3,4,5}; int i;

for(i=0;i<=4;i++) {

printf("x[%i] default= %i\n",i,x[i]); } x[2]=30; x[3]=40; printf("\n"); for(i=0;i<=4;i++) { printf("x[%i] = %i\n",i,x[i]); } printf("\n"); system("PAUSE"); return 0; }

(7)

DIKTAT PEMROGRAMAN I HAL 7 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 /* Program 8.3

Nama File : Lat-8.3.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) {

int x[5]={1,2,3,4,5}; int i;

for(i=0;i<=4;i++) {

cout<<"x["<<i<<"] default= "<<x[i]<<endl; } x[2]=30; x[3]=40; cout<<endl; for(i=0;i<=4;i++) { cout<<"x["<<i<<"] = "<<x[i]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi:

(8)

DIKTAT PEMROGRAMAN I HAL 8

Array Dari Karakter

Dalam pemrograman C/C++ kumpulan karakter disebut dengan string. Oleh karena itu untuk mendeklarasikan string digunakan array bertipe char. Untuk mendeklarasikan array bertipe char adalah sebagai berikut:

char nama_array[jumlah_elemen];

Apabila ingin menginisialisasi maka bentuk umunya adalah sebagai berikut:

char nama_array[n]={‘nilai_1’,..,’nilai_n-1’,’\0’};

Namun bentuk inisialisasi di atas sulit untuk dituliskan dan riskan terhadap terjadinya kesalahan. Oleh sebab itu maka digunakan bentuk umum inisialisasi yang lain yaitu:

char nama_array[n]=”nilai_1-nilai_n-1”;

Sebagai contoh buatlah program berikut ini:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /* Program 8.4

Nama File : Lat-8.4.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int i;

char nama[5]={'A','d','@','m','\0'}; char nama2[5]="Ad@m";

printf("Array per karakter = "); for(i=0;i<=4;i++)

{

printf("%c",nama[i]); }

printf("\n");

printf("Array string = %s\n\n",nama2); system("PAUSE");

return 0; }

(9)

DIKTAT PEMROGRAMAN I HAL 9 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 /* Program 8.4

Nama File : Lat-8.4.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) {

int i;

char nama[5]={'A','d','@','m','\0'}; char nama2[5]="Ad@m";

cout<<"Array per karakter = "; for(i=0;i<=4;i++)

{

cout<<nama[i]; }

cout<<endl;

cout<<"Array string = "<<nama2<<endl<<endl; system("PAUSE");

return EXIT_SUCCESS; }

Hasil eksekusi:

(10)

DIKTAT PEMROGRAMAN I HAL 10

Array Berdasarkan Dimensi

Setiap menginisialisasi array dibutuhkan subscript atau indeks array. Berdasarkan jumlah subscript array terbagi menjadi tiga (yang sering digunakan) yaitu:

1. Array berdimensi satu 2. Array berdimensi dua 3. Array berdimensi tiga.

Dimensi tersebut menggambarkan jumlah subscript suatu array.

Array Dimensi Satu

Array satu dimensi merupakan tipe array yang sering digunakan. Sesuai dengan namanya array ini memiliki satu subscript. Bentuk umum dari array satu dimensi adalah sebagai berikut:

tipe_data nama_array[jumlah_elemen];

Sebagai contoh:

1. int bilangan[10]; 2. char nama[31]; 3. float nilai[100];

Untuk lebih jelasnya buatlah program ini:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /* Program 8.5

Nama File : Lat-8.5.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

float nilai[10]; int x,y;

printf("Mau berapa data [1..10]: ");scanf("%i",&y); for(x=0;x<y;x++)

{

(11)

DIKTAT PEMROGRAMAN I HAL 11 18 19 20 21 22 23 24 25 26 27 scanf("%f",&nilai[x]); } printf("\n"); for(x=0;x<y;x++) {

printf("Nilai ke-%i : %.2f\n",x+1,nilai[x]); } printf("\n"); system("PAUSE"); return 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 /* Program 8.5

Nama File : Lat-8.5.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream> #include <iomanip>

using namespace std;

int main(int argc, char *argv[]) {

float nilai[10]; int x,y;

cout<<"Mau berapa data [1..10]: ";cin>>y; for(x=0;x<y;x++)

{

cout<<"Nilai ke-"<<x+1<<" : ";cin>>nilai[x]; } cout<<endl; cout<<setiosflags(ios::fixed); for(x=0;x<y;x++) { cout<<"Nilai ke-"<<setprecision(2)<<x+1<<" : " <<nilai[x]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

(12)

DIKTAT PEMROGRAMAN I HAL 12 Hasil eksekusi:

Gambar 8.5 Hasil eksekusi program Lat 8.5

Array Dimensi Dua

Berbeda dengan array satu dimensi, array dua dimensi mempunyai dua buah subscript. Array ini biasanya digunakan untuk membentuk matriks. Array ini mempunyai dimensi pertama sebagai dimensi baris serta dimensi kedua sebagai dimensi kolom. Bentuk umum pendeklarasian array dua dimensi adalah sebagai berikut: tipe_data nama_array[elemen_baris][elemen_kolom]; Sebagai contoh: 1. int matriks[5][4]; 2. char nama[3][3]; 3. float nilai[10][10];

Untuk lebih jelasnya buatlah program untuk menghitung penjumlahan matriks dengan sintak sebagai berikut:

1 2 3 4 5 6 /* Program 8.6

Nama File : Lat-8.6.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

(13)

DIKTAT PEMROGRAMAN I HAL 13 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int a[2][2];//matriks 2 baris 2 kolom int b[2][2]; int c[2][2]; int i,j; //input for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("a[%i][%i] : ",i+1,j+1); scanf("%i",&a[i][j]); } printf("\n"); } printf("\n"); for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("b[%i][%i] : ",i+1,j+1); scanf("%i",&b[i][j]); } printf("\n"); } printf("\n"); //proses for(i=0;i<2;i++) { for(j=0;j<2;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("c[%i][%i] : %i\n",i+1,j+1,c[i][j]); } printf("\n"); }

(14)

DIKTAT PEMROGRAMAN I HAL 14 52 53 54 55 printf("\n"); system("PAUSE"); return 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 32 33 34 35 36 37 38 39 40 /* Program 8.6

Nama File : Lat-8.6.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) {

int a[2][2];//matriks 2 baris 2 kolom int b[2][2]; int c[2][2]; int i,j; //input for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"a["<<i+1<<"]["<<j+1<<"] : "; cin>>a[i][j]; } cout<<endl; } cout<<endl; for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"b["<<i+1<<"]["<<j+1<<"] : "; cin>>b[i][j]; } cout<<endl; } cout<<endl; //proses for(i=0;i<2;i++) { for(j=0;j<2;j++)

(15)

DIKTAT PEMROGRAMAN I HAL 15 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 { c[i][j]=a[i][j]+b[i][j]; } } //output for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"c["<<i+1<<"]["<<j+1<<"] : " <<c[i][j]<<endl; } cout<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi:

Gambar 8.6 Hasil eksekusi program Lat 8.6

Kalau diperhatikan program di atas sudah memenuhi kebutuhan untuk menghitung penjumlahan pada dua buah matriks. Akan tetapi, dilihat dari bentuk outputnya, program di atas tidak memiliki output yang menyerupai sebuah matriks. Agar tampilan input dan outputnya menyerupai sebuah matriks, buatlah program dengan sintaks seperti di bawah ini:

(16)

DIKTAT PEMROGRAMAN I HAL 16 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 /* Program 8.7

Nama File : Lat-8.7.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h> #include <conio2.h>

int main(int argc, char *argv[]) {

int a[3][3];//matriks 3 baris 3 kolom int b[3][3]; int c[3][3]; int i,j; //input printf("Matriks pertama\n"); printf("---"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); scanf("%i",&a[i][j]); } } printf("\n"); printf("Matriks kedua\n"); printf("---"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+9); scanf("%i",&b[i][j]); } } //proses for(i=0;i<3;i++) { for(j=0;j<3;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output

(17)

DIKTAT PEMROGRAMAN I HAL 17 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 system("cls"); printf("Matriks Hasil\n"); printf("---"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); printf("%i",c[i][j]); } } printf("\n\n"); system("PAUSE"); return 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 /* Program 8.7

Nama File : Lat-8.7.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream> #include <conio2.h>

using namespace std;

int main(int argc, char *argv[]) {

int a[3][3];//matriks 3 baris 3 kolom int b[3][3]; int c[3][3]; int i,j; //input cout<<"Matriks pertama"<<endl; cout<<"---"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); cin>>a[i][j]; } } cout<<endl; cout<<"Matriks kedua"<<endl;

(18)

DIKTAT PEMROGRAMAN I HAL 18 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 cout<<"---"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+9); cin>>b[i][j]; } } //proses for(i=0;i<3;i++) { for(j=0;j<3;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output system("cls"); cout<<"Matriks Hasil"<<endl; cout<<"---"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); cout<<c[i][j]; } } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

(19)

DIKTAT PEMROGRAMAN I HAL 19 Hasil eksekusi:

Gambar 8.7 Hasil eksekusi program Lat 8.7

Tidak hanya digunakan untuk menghitung matriks, array dua dimensi bisa juga digunakan untuk memproses beberapa buah string. Bentuk umum pendeklarasian arraynya adalah sebagai berikut:

char nama_array[jumlah_string_tampung][jumlah_char];

Cara mengisi dan memanggil elemennya hanya cukup menggunakan subscript pertama saja. Untuk lebih jelasnya buat program berikut ini:

(20)

DIKTAT PEMROGRAMAN I HAL 20 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 /* Program 8.8

Nama File : Lat-8.8.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

char hari[7][10]; int i;

for(i=0;i<7;i++) {

printf("Hari ke-%i : ",i+1);gets(hari[i]); }

printf("\n"); for(i=0;i<7;i++) {

printf("Hari ke-%i : %s\n",i+1,hari[i]); } printf("\n\n"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /* Program 8.8

Nama File : Lat-8.8.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) {

char hari[7][10]; int i;

for(i=0;i<7;i++) {

cout<<"Hari ke-"<<i+1<<" : ";cin>>hari[i]; }

(21)

DIKTAT PEMROGRAMAN I HAL 21 21 22 23 24 25 26 27 28 for(i=0;i<7;i++) {

cout<<"Hari ke-"<<i+1<<" : "<<hari[i]<<endl; } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi:

Gambar 8.8 Hasil eksekusi program Lat 8.8

Catatan Ketika membuat array dua dimensi bertipe string char sebenarnya compiler akan membuat sebuah array dimensi satu yang tiap-tiap elemennya menampung sebuah data string (kumpulan karakter). Jadi ketika mengisi dan memanggil elemennya hanya cukup menyebutkan subscript pertama saja.

Array Dimensi Tiga

Array dimensi tiga mempunyai tiga subscript. Array tiga dimensi ini jarang digunakan, akan tetapi bisa digunakan untuk membuat array dua dimensi yang tiap-tiap dimensinya menampung data string. Bentuk umum pendeklarasiannya adalah sebagai berikut:

(22)

DIKTAT PEMROGRAMAN I HAL 22

tipe_data nama_array[sub1][sub2][sub3]; atau

char nama_array[elemen_baris][elemen_kolom][jumlah_char];

Untuk lebih jelasnya buatlah program seperti di bawah ini:

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 32 /* Program 8.9

Nama File : Lat-8.9.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) { char nama[2][2][10]; int i,j; for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("Nama[%i][%i] : ",i+1,j+1); gets(nama[i][j]); } printf("\n"); } for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("Nama[%i][%i] : %s\n",i+1,j+1, nama[i][j]); } } printf("\n"); system("PAUSE"); return 0; }

(23)

DIKTAT PEMROGRAMAN I HAL 23 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 32 33 34 /* Program 8.9

Nama File : Lat-8.9.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

int main(int argc, char *argv[]) { char nama[2][2][10]; int i,j; for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"Nama["<<i+1<<"]["<<j+1<<"] : "; cin>>nama[i][j]; } cout<<endl; } for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"Nama["<<i+1<<"]["<<j+1<<"] : " <<nama[i][j]<<endl; } } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

(24)

DIKTAT PEMROGRAMAN I HAL 24 Hasil eksekusi:

Gambar 8.9 Hasil eksekusi program Lat 8.9

Array Sebagai Parameter Fungsi

Array bisa juga digunakan sebagai parameter suatu fungsi. Ada sedikit perbedaan ketika array kita jadikan parameter yaitu subscriptnya tidak terisi ([]) supaya bisa diubah melalui fungsi yang lain. Untuk lebih jelasnya buatlah program berikut ini: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* Program 8.10

Nama File : Lat-8.10.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

void input_array(int bil[],int banyak_data) {

int i;

for(i=0;i<banyak_data;i++) {

printf("Nilai bil[%i] : ",i+1);scanf("%i",&bil[i]); }

(25)

DIKTAT PEMROGRAMAN I HAL 25 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

int jumlah_elemen(int bil[],int banyak_data) { int i,jumlah=0; for(i=0;i<banyak_data;i++) { jumlah=jumlah+bil[i]; } return jumlah; }

int main(int argc, char *argv[]) {

int bil[100];//maksimal elemen int banyak_data;

int jumlah;

printf("Masukkan banyak elemen yang diinginkan : "); scanf("%i",&banyak_data);

printf("\n");

//memanggil void input_array input_array(bil,banyak_data);

//memanggil fungsi jumlah_elemen

jumlah=jumlah_elemen(bil,banyak_data);

printf("\n");

printf("Hasil penjumlahan elemen = %i\n\n",jumlah); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* Program 8.10

Nama File : Lat-8.10.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

void input_array(int bil[],int banyak_data) {

int i;

for(i=0;i<banyak_data;i++) {

(26)

DIKTAT PEMROGRAMAN I HAL 26 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

cout<<"Nilai bil["<<i+1<<"] : ";cin>>bil[i]; }

}

int jumlah_elemen(int bil[],int banyak_data) { int i,jumlah=0; for(i=0;i<banyak_data;i++) { jumlah=jumlah+bil[i]; } return jumlah; }

int main(int argc, char *argv[]) {

int bil[100];//maksimal elemen int banyak_data;

int jumlah;

cout<<"Masukkan banyak elemen yang diinginkan : "; cin>>banyak_data;

cout<<endl;

//memanggil void input_array input_array(bil,banyak_data);

//memanggil fungsi jumlah_elemen

jumlah=jumlah_elemen(bil,banyak_data);

cout<<endl;

cout<<"Hasil penjumlahan elemen = "<<jumlah <<endl<<endl;

system("PAUSE"); return EXIT_SUCCESS; }

(27)

DIKTAT PEMROGRAMAN I HAL 27 Hasil eksekusi:

Gambar 8.10 Hasil eksekusi program Lat 8.10

Catatan Ketika memanggil fungsi atau void yang mempunyai parameter berupa array maka pengisian parameternya cukup berupa nama arraynya saja (di parameter aktual).

Gambar

Gambar 8.1 Hasil eksekusi program Lat 8.1
Gambar 8.2 Hasil eksekusi program Lat 8.2
Gambar 8.3 Hasil eksekusi program Lat 8.3
Gambar 8.4 Hasil eksekusi program Lat 8.4
+7

Referensi

Dokumen terkait

Hal tersebut dapat dipengaruhi oleh beberapa faktor, antara lain: kualitas produk, harga, lokasi, promosi dan kualitas pelayanan serta faktor lainnya yang mempengaruhi konsumen

Nilai BEP tersebut menunjukkan pada saat pabrik beroperasi 54,33 % dari kapasitas maksimum pabrik 100%, maka pendapatan perusahaan yang masuk sama dengan biaya

Jenis penelitian yang akan digunakan dalam penelitian ini adalah penelitian hukum normatif. Penelitian hukum berfokus pada norma hukum positif, berupa peraturan

Berdasarkan sekilas latar belakang di atas, penulis menyimpulkan sebagai konsep penelitian dan perancangan yang akan dilakukan untuk penulisan skripsi ini adalah dengan judul

Beragamnya tipe ekosistem ini sangat mendukung sebagai habitat satwa maupun flora khususnya berbagai jenis tumbuhan paku-pakuan.Tujuan penelitian ini yaitu untuk

Metode penelitian : Penelitian dilakukan dengan pendekatan kuantitatif Jenis penelitian adalah penelitian exsperimental, dengan menggunakan pendekatan quasi exsperimental

Indikator yang harus dikuasai siswa untuk mencapai kompetensi tersebut antara lain (1) siswa dapat menuliskan latar belakang buku dengan tepat, (2) siswa dapat mengklasifikasikan

42/2008 tentang Pemilihan Umum Presiden dan Wakil Presiden bertentangan dengan Undang-undang Dasar 1945 dan tidak mempunyai kekuatan hukum yang mengikat, merupakan