Anda di halaman 1dari 19

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

MODUL 5

ARRAY
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman Komputer Yang
Dibimbing oleh Bapak Agusta R. Taufani, ST., MT.

NAMA : DWI NUR CHASANAH

NIM : 140536606249

TGL PRAKTIKUM : 30 September 2014

FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 TEKNIK ELEKTRO
UNIVERSITAS NEGERI MALANG

SEPTEMBER

1
Tujuan
1. memahami konsep array dalam pemrograman
2. menggunakan array untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori
Array satu dimensi
Dalam bahasa pemrograman, array adalah variabel yang sejenis yang berderet
sedemikian rupa sehingga alamatnya saling bersambung/kontigu atau dengan kata lain
variabel berindeks. Nilai-nilai data di suatu array disebut dengan elemen-elemen array.
Letak urutan dari elemen-elemen array ditunjukkan oleh suatu subscript atau indeks.
Bentuk umum :

tipe_array nama_array [jumlah data]

Ilustrasi array satu dimensi :

int Nilai [4]

Nilai [0] Nilai [1] Nilai [2] Nilai [3]


70 80 82 60

Array di atas mempunyai enam element.


Contoh Program :
Array Dimensi Dua
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.
Bentuknya dapat berupa matriks atau tabel.
Bentuk Umum:

Tipenama_array[baris][kolom];

Contoh:

Cara akses: data_lulus[0]


[1]=540

Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu:
a. Row Major Order (secara baris per baris)
b. Column Major Order (secara kolom per kolom)

Inisialisasi:
Array Multidimensi
Array multidimensi adalah array yang mempunyai lebih dari satu atau dua
dimensi. Misal : A[3][5] artinya array tersebut mempunyai 3 baris 5 kolom.
Bentuk umum :

Ilustrasi array multi dimensi :

Inisialisasi:

Contoh Program :
Selain ketiga jenis array di atas, terdapat array tak beraturan (ukuran array tidak
dituliskan). Contoh inisialisasi:

Array juga bisa digunakan sebagai parameter:

Latihan
1. Berikut ini adalah program untuk menginput nilai mahasiswa ke dalam
array satu dimensi. Jalankan program ini dan analisis alur programnya.

#include <stdio.h>
#include <conio.h>
int main ()
{
int index, nilai[10];
//input nilai mahasiswa
printf("=========================\n");
printf("Input Nilai 10 Mahasiswa:\n");
printf("=========================\n");
for(index=0;index<10;index++)
{
printf ("Mahasiswa %i: ",index+1);
scanf ("%i", &nilai[index]);
}
//tampilan nilai mahasiswa
printf("Nilai mahasiswa yang telah diinput");
for(index=0;index<10;index++)
{
printf ("%5.0i", nilai[index]);
}
getch ();
}
Daftar tools yang digunakan

Compiler C: MinGW

Algoritma
a. Deklarasi : int index, nilai[10];
b. Algoritma :
begin
write(“input nilai mahasiswa :” );
for(index=0;index<10;index++);
write("Mahasiswa %i: ",index+1);
read("%i", &nilai[index]);
end for
print("Nilai mahasiswa yang telah diinput");
for(index=0;index<10;index++);
print("%5.0i", nilai[index]);
end for
end

Output Program

Penjelasan Program
Program di atas merupakan program untuk menginput data nilai sepuluh
mahasiswa dan di tampilkan secara 1 dimensi saja, sehingga terlihat seperti 1
baris saja.

2.Berikut ini adalah program untuk menginput nilai (bilangan) ke dalam array
dimensi dua dan menampilkannya. Jalankan program ini dan analisis alur
programnya.

#include <stdio.h>
#include <conio.h>
int main ()
{
int baris, kolom, matriks[5][4];
//input elemen secara Row Major Order
printf ("Input elemen Array: \n ");
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("Matriks[%i][%i] ",
baris+1, kolom+1);
scanf("%i", &matriks[baris][kolom]);
}
printf("\n");
}
//tampilan elemen array secara Row Major Order
printf("Isi array: \n");
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("%5.0i", matriks[baris][kolom]);
}
printf("\n");
}
getch ();
}
Daftar tools yang digunakan

Compiler C: MinGW

Algoritma
c. Deklarasi : int baris, kolom, matriks[4][4];
d. Algoritma :
begin
write(“input elemen Array :” );
for(baris=0;baris<5;baris++);
for(kolom=0;kolom<4;kolom++);
write("Matriks[%i][%i] ", baris+1, kolom+1);
read ("%i", &matriks[baris][kolom]);
write("\n");
print("Isi array: \n");
for(baris=0;baris<5;baris++); for(kolom=0;kolom<4;kolom++);
print("%5.0i", matriks[baris][kolom]);
print("\n");
end for
end

Output Program

Penjelasan Program
Program di atas merupakan program untuk menampilkan atau menginput elemen
array atau beberapa data secara dua dimensi, memiliki 4 baris serta memiliki 4 kolom.

3.Buatlah program yang dapat menghitung banyaknya karakter yang dimasukkan!

#include "stdio.h"
int main ()
{
char kalimat[100]="Saya adalah anak UM Teknik Elektro TE
2014 ";
int hitung=0, i;
for(i=0;kalimat[i]!='\0';i++)
{
hitung++;
}
printf("Kalimat %s mempunyai %i huruf ", kalimat, hitung);
printf("dan disimpan dalam %i bytes \n", hitung+1);
}

Output Program

Daftar tools yang digunakan


Compiler C: MinGW

Algoritma

a. Deklarasi : char kalimat[100]= "Saya adalah anak UM Teknik Elektro TE


2014 ";
b. Algoritma : for(i=0;kalimat[i]!='\0';i++);
hitung++;
print("Kalimat %s mempunyai %i huruf ", kalimat, hitung);
print("dan disimpan dalam %i bytes \n", hitung+1);
end for
end

Penjelasan Program
Program di atas merupakan program untuk menginput data berupa tulisan "Saya
adalah anak UM Teknik Elektro TE 2014 ", serta menghitung jumlah hurufnya dan
menghitung berapakah memori yang harus di gunakan jika tulisan tersebut di simpan.

Tugas Praktikum
1. Buatlah program untuk membalik kata, misalnya kata “anton“ akan
menjadi “notna“ dengan menggunakan array of char!
#include <iostream.h>
#include <conio.h>
#include <string.h>
int main()
{
char kata[100];
char ulang;
cout<<"Masukkan Kata yang Akan Dibalik : ";
cin.getline(kata, sizeof(kata));
cout<<"\n";
cout<<"Hasil Pembalikan : ";
for (int i=strlen(kata)-1; i>=0; i--)
{
cout<<kata[i]; }
cout<<"\n";
getch();
}

Output Program

Daftar tools yang digunakan

Compiler C: MinGW

Algoritma
Deklarasi : char kata[100];

char ulang;

Algoritma :
write("Masukkan Kata yang Akan Dibalik : ");
read(getline(kata, sizeof(kata)));
write("\n");
print("Hasil Pembalikan : ");
for (int i=strlen(kata)-1; i>=0; i--)
print(kata[i]);
print(“\n”);
end for
end

Penjelasan Program
Program di atas merupakan program dan tampilan untuk membalik kata, dengan
syarat jumlah karakter yang di masukkan tidak melebihi karakter yang di tentukan pada
deklarasi.

2. Buatlah tabel harga fotokopian dari 1 – 100 lembar, dimana harga


perlembar adalah 80 rupiah!
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
int i,
lembar[100]={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,48,49,50,51,52,53,54,55,56,57,58,59,60,
61,62,63,64,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,91,92,93,94,95,96,97,98,99,100};

printf("=================================\n");
printf("| Daftar | Harga(Rp)\t|\n");
printf("=================================\n");
for(i=0;i<100;i++)
{
cout<<"|";
cout<<"\t"<<lembar[i];
cout<<"\t|";
cout<<"\t"<<lembar[i]*80;
cout<<"\t|";
cout<<endl;
printf("---------------------------------\n");
}
}

Output
Daftar tools yang digunakan

Compiler C: MinGW

Algoritma
Deklarasi : int, lembar[100]=

{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,4
1,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,
62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,8
2,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100};
Algoritma :
write("| Daftar | Harga(Rp)\t|\n");

for(i=0;i<100;i++);

print("|");

print("\t"lembar[i]);

print("\t|");

print("\t"<<lembar[i]*80);

print("\t|");

end for
end

Penjelasan Program
Program di atas merupakan suatu pogram untuk menampilkan tabel harga
fotokopian dari 1 – 100 lembar, dimana harga perlembar adalah 80 rupiah. Sehingga
dalam tampilan terlihat harga fotokopian dari satu lembar hingga seratus lembar.
Tugas Rumah
1. Buatlah suatu program untuk menghitung operasi penjumlahan pada
suatu matriks 3x3!
#include<iostream.h>
using namespace std;
int main(){
int I,J;
int A[5][5];
int B[5][5];
int C[5][5];
cout<<"Input Matriks A = "<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
cin>>A[I][J];
}
}
cout<<endl;
cout<<"Input Matriks B = "<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
cin>>B[I][J];
}
}
cout<<endl;
cout<<"Hasil Penjumlahan Matriks A dan B ="<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
C[I][J]=A[I][J]+B[I][J];
cout<<C[I][J]<<" ";
}
cout<<endl;
}
system("Pause");
return 0;
}

Output Program
Daftar tools yang digunakan
Compiler C: MinGW
Algoritma
Deklarasi : int I,J;
int A[3][3];
int B[3][3];
int C[3][3];
Algoritma :

for(I=1; I<=3; I++);


for(J=1; J<=3; J++);
write("Input Matriks A = ");
read(A);
endfor
for(I=1; I<=3; I++);
for(J=1; J<=3; J++);
write("Input Matriks B = ");
read(B);
endfor
(C[I][J]=A[I][J]+B[I][J]);
write("Nilai [“I"]["J"] = ");
read(A[I][J]);
write("Nilai ["I"]["J"] = ");
read(B[I][J]);
print("Hasil Penjumlahan Matriks A dan B = ");
read(C[I][J]);
end for
end

Penjelasan Program

Program di atas merukan program untuk menampilkan dan menghitung operasi


penjumlahan pada suatu matriks 3x3, sehingga sembilan kali perulangan penghitungan
penjumlahan dilakukan

2. Buatlah suatu program untuk menghitung operasi perkalian pada suatu


matriks 3x3!
#include<iostream.h>
using namespace std;
int main(){
int I,J;
int A[10][10];
int B[10][10];
int C[10][10];
cout<<"Input Matriks A = "<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
cin>>A[I][J];
}
}
cout<<endl;
cout<<"Input Matriks B = "<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
cout<<"Nilai ["<<I<<"]["<<J<<"] = ";
cin>>B[I][J];
}
}
cout<<endl;
cout<<"Hasil Perkalian Matriks A dan B = "<<endl;
for(I=1; I<=3; I++){
for(J=1; J<=3; J++){
C[I][J]=A[I][J]*B[I][J];
cout<<C[I][J]<<" ";
}
cout<<endl;
}
system("Pause");
return 0;
}

Output Program

Algoritma
Deklarasi : int I,J;

int A[3][3];

int B[3][3];

int C[3][3];

Algoritma :

for(I=1; I<=3; I++);

for(J=1; J<=3; J++);

write("Input Matriks A = ");


read(A);

for(I=1; I<=3; I++);

for(J=1; J<=3; J++);

write("Input Matriks B = ");

read(B);

(C[I][J]=A[I][J]*B[I][J]);
write("Nilai [“I"]["J"] = ");
read(A[I][J]);
write("Nilai ["I"]["J"] = ");
read(B[I][J]);
print("Hasil Perkalian Matriks A dan B = ");
read(C[I][J]);

end for

end

Penjelasan Program
Program di atas merukan program untuk menampilkan dan menghitung operasi
perkalian pada suatu matriks 3x3, sehingga sembilan kali perulangan penghitungan
perkalian dilakukan.

3.Buatlah program untuk menampilkan bilangan fibonacci pada deret ke-n!


Bilangan fibonacci adalah bilangan seperti: 1 1 2 3 5 8 13 ... dst. Jadi jika
inputan n = 7, maka hasil adalah 13!

#include <iostream>
using namespace std;

int suku, a, b, c;

int main()
{
cout<<"::PROGRAM DERET FIBONACCI::\n";
cout<<"Masukkan nilai suku (n>2) ke-: ";cin>>suku;

cout<<"Bilangannya adalah: \n";


a=1;b=1;
cout<<a<<endl<<b<<endl;
for(int i=3; i<=suku; i++)
{
c = a + b;
a = b;
b = c;
cout<<c<<endl;
}
}

Algoritma
Deklarasi : int suku, a, b, c;
Algoritma :

write("::PROGRAM DERET FIBONACCI::”);


write("Masukkan nilai suku (n>2) ke-: ");
read(“suku”);
print("Bilangannya adalah: \n");
for(int i=3; i<=suku; i++);
c = a + b;
a = b;
b = c;
print(“c”);
end for
end

Output Program

Penjelasan Program

Program di atas merupakan menampilkan bilangan fibonacci pada deret ke-n!


Bilangan fibonacci adalah bilangan seperti: 1 1 2 3 5 8 13 ... dst. Jadi jika inputan n = 7,
maka hasil adalah 13, jika inputan 6, maka hasil adalah 8,jika inputan 5, maka hasil
adalah 5.

Evaluasi dan Pertanyaan


1. Jelaskan cara kerja / alur dari program menampilkan bilangan fibonancy
di soal tugas rumah nomor 3!
Program penghitungan bilangan fobonanci menggunakan file header
iostream karena menggunakan fungsi cin dan cout, dan conio karena
menggunakan getch, begitu pun juga iomanip, karena menggunakan manipulator
setw. Untuk menampilkan hasil bilangan maka digunakan fungsi perulangan for.

2. Apa yang anda dapat dari praktikum array ini ?


Dengan menggunakan array, dapat dihindari penggunaan nama-nama
peubah yang banyak. Array di gunakan bila mempunyai sejumlah data yang
bertipe sama, dan perlu menyimpan sementara data tersebut, untuk selanjutnya
data di proses.

Kesimpulan

Array merupakan struktur data yang statis, artinya jumlah elemen harus sudah di
ketahui sebelum program di eksekusi. Jumlah elemen larik tidak dapat di ubah, di
tambah, atau di kurangi selama pelaksanaan program.

Daftar Rujukan
1. Tim asisten dosen, 2014, modul 5 array, Malang, Universitas Negeri
Malang.
2. Munir Renaldi, 2011,Algoritma dan Pemrograman
Komputer,Bandung,Informatika.
3. http://the-smart-chip.blogspot.com/2013/06/c-program-menampilkan-
bilangan.html
http://rplgantar.blogspot.com/2013/02/operasi-penjumlahan-pada-matriks.html

Anda mungkin juga menyukai