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 0 1 3 4 5 6 7 8 9 Nilai 100 56 67 3 88 66 11 16 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 <iostream.h> #include <conio.h> void main() { float nilai[3], total; //input nilai for (int i=0; i < 3; i++) { cout << "Nilai ke " << i+1; cout << " = "; cin >> nilai[i];
//jumlahkan nilai for (int i=0; i < 3; i++) { total += nilai[i]; cout << "Nilai Akhir " << total / 3; getch(); Output: Nilai ke 1 = 70 Nilai ke 2 = 80.5 Nilai ke 3 = 90.5 Nilai Akhir 80.3333 Contoh 2: /** * program untuk mencari bilangan * minimum dan maksimum dalam array */ #include <iostream.h> #include <conio.h> #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();
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 1 2 3 4 5 0 55 2 66 166 6 16 1 66 55 4 35 23 77 2 55 55 556 511 55 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 <iostream.h> #include <conio.h> #define ROWS 3 #define COLS 2 void main() { int tahun= 2010; int cell = 10;
int penjualan[rows][cols]; //input data penjualan for (int i=0; i < ROWS; i++) { cout << "\npenjualan Tahun " << i+tahun; cout << "\n--------------------\n"; for (int j=0; j < COLS; j++) { cout << "Data ke-" << j+1; cout << " = "; cin >> penjualan[i][j]; //cetak header tabel cout << "Data penjualan pertahun\n"; cout << "-----------------------\n"; //output data penjualan for (int i=0; i < ROWS; i++) { cout << "\ntahun " << tahun+i; cout << "\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
---------------- 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 Persentase 1 5% 2 10% 3 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)? :
<< tampilan output >> PT. JAYA SEKALI No. Nama Tunjangan Karyawan ----------------- Honor Gaji Jabatan Pendidikan Lembur Bersih.................................. Total gaji yang dikeluarkan...