Bab 1 Array/ Larik
Pengenalan Array Array adalah suatu data terstruktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Elemen-elemen array tersusun secara sekuensial dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi dimensi).
Array Satu Dimensi Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda. Index-ke Nilai
0 100
1 56
3 67
4 3
5 88
6 66
7 11
8 16
9 45
Bentuk umum pendeklarasian array satu dimensi: Tipe_data nama_variabel[ukuran] Inisialisasi Array: Tipe_data nama_variabel[ukuran] = {elemen1, elemen2, elemen-n} Dari ilustrasi di atas, dapat kita implementasikan seperti berikut: int nilai[10] = {100, 56, 67, 3, 88, 66, 11, 16, 45}
Contoh 1: /** * program untuk mencatat nilai * minimum dan maksimum dalam array */ #include
#include void main() { float nilai[3], total; //input nilai for (int i=0; i < 3; i++) { cout << "Nilai ke " << i+1; cout << " = "; cin >> nilai[i]; } Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com
//jumlahkan nilai for (int i=0; i < 3; i++) { total += nilai[i]; } cout << "Nilai Akhir " << total / 3; getch(); }
Output: Nilai Nilai Nilai Nilai
ke 1 = 70 ke 2 = 80.5 ke 3 = 90.5 Akhir 80.3333
Contoh 2: /** * program untuk mencari bilangan * minimum dan maksimum dalam array */ #include #include #define LENGTH 5 void main() { int nilai[LENGTH] = {67, 34, 12, 77, 88}; //asumsi nilai min dan max adalah elemen //array pertama int min = nilai[0], max = nilai[0]; for (int i = 1; i < LENGTH; i++) { //mencari bilangan minimum if (nilai[i] < max) { min = nilai[i]; } //mencari bilangan maksimum if (nilai[i] > max) { max = nilai[i]; } } cout << "\nNilai Minimum : " << min; cout << "\nNilai Maksimum : " << max; getch(); }
Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com
Output: Nilai Minimum : 12 Nilai Maksimum : 88
Array Dua dimensi Array dua dimensi merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama. Perhatikan ilustrasi berikut: Baris\kolom 0 0 55 1 66 2 55
1 2 55 55
2 66 4 556
3 166 35 511
4 6 23 55
5 16 77 51
Bentuk umum pendeklarasian array dua dimensi: Tipe_data nama_variabel[jumlah_baris][jumlah_kolom] Inisialisasi Array: Tipe_data nama_variabel[jumlah_baris][jumlah_kolom] = {{elm1-1}, {elm-nn}} Dari ilustrasi di atas, dapat kita implementasikan seperti berikut: int ar2[3][6] = { {55, 2, 66, 166, 6, 16}, {66, 55, 4, 35, 23, 77}, {55, 55, 556, 511, 55, 51} }
Contoh: /** * program untuk mencatat data * penjualan pertahun */ #include #include #define ROWS 3 #define COLS 2 void main() { int tahun= 2010; int cell = 10; Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com
int penjualan[ROWS][COLS]; //input data penjualan for (int i=0; i < ROWS; i++) { cout << "\nPenjualan Tahun " << i+tahun; cout << "\n--------------------\n"; for (int cout cout cin }
j=0; j < COLS; j++) { << "Data ke-" << j+1; << " = "; >> penjualan[i][j];
} //cetak header tabel cout << "Data penjualan pertahun\n"; cout << "-----------------------\n"; //output for (int cout cout
data penjualan i=0; i < ROWS; i++) { << "\nTahun " << tahun+i; << "\n----------------\n";
for (int j=0; j < COLS; j++) { cout << j+1 << ") "; cout << penjualan[i][j] << endl; } } getch(); }
Outpu: Penjualan Tahun 2010 -------------------Data ke-1 = 20 Data ke-2 = 10 Penjualan Tahun 2011 -------------------Data ke-1 = 80 Data ke-2 = 90 Penjualan Tahun 2012 -------------------Data ke-1 = 30 Data ke-2 = 12 Data penjualan pertahun ----------------------Tahun 2010 Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com
---------------1) 20 2) 10 Tahun 2011 ---------------1) 80 2) 90 Tahun 2012 ---------------1) 30 2) 12
LATIHAN PT. JAYA SEKALI memberikan honor tetap kepada karyawan kontrakknya sebesar Rp.850.000,- per bulan, dengan ketentuan sebagai berikut: a. Tunjangan jabatan Golongan 1 2 3
Persentase 5% 10% 15%
Sebagai contoh: Jika seorang karyawan golongan 3, ia mendapatkan tunjangan sebesar 15% * 850.000 b. Tunjangan Pendidikan Kode Pendidikan Persentase 1 SMU 2.5% 2 D3 5% 3 S1 7.5% c. Honor Lembur Jumlah jam kerja normal dalam satu bulan sebanyak 240 jam kerja. Honor lembur diberikan jika jumlah jam kerja lebih dari 240jam. Kelebihan jam kerja dikalikan dengan honor lembur per jam sebesar Rp.2.500,- untuk setiap kelebihan jam kerja dalam satu bulan. d. Tampilan program adalah sebagai berikut: Program Hitung Honor Karyawan Kontrak PT. JAYA SEKALI << tampilan input >> Nama Karyawan Golongan (1/2/3) Pendidikan (1=SMU, 2=D3, 3=S1) Jumlah jam kerja Input Data lagi (Y/T) ? :
Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com
<< tampilan output >> PT. JAYA SEKALI ---------------------------------------------------No. Nama Tunjangan Karyawan ----------------Honor Gaji Jabatan Pendidikan Lembur Bersih ---------------------------------------------------.. ... .... ..... .... ..... .. ... .... ..... .... ..... ---------------------------------------------------Total gaji yang dikeluarkan ..... ----------------------------------------------------
Modul Praktikum Pemrograman Sistem STMIK El Rahma Yogyakarta
Eding Muh. Saprudin, S.Kom [email protected] http://edokode.com