Anda di halaman 1dari 17

PRAKTIKUM PEMROGRAMAN TERSTRUKTUR

MODUL KE - 5
ARRAY

Dosen Pembimbing:

Gita Indah M, ST
Evi Dwi W. Skom

Oleh :
Chairul Anam
201010370311093

LABORATORIUM PEMROGRAMAN
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2010/2011

Chairul Anam 093


Nurul Solehah 085
I. TUJUAN

• Mahasiswa memahami & mampu memanfaatkan array sebagai tipe data


• Mahasiswa mampu menggunakan array satu dimensi dan multi dimensi dalam kasus-
kasus pemrograman

II. ALAT YANG DIGUNAKAN

• Computer
• Turbo C++ 45

III. DASAR TEORI

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan
dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam
pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi
objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk
menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks
0, elemen kedua memiliki indeks 1, dan seterusnya.

A. Mendeklarasikan Variabel Array

Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang
hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe
integer, dapat dilakukan dengan cara : int[ ] bilangan; atau int bilangan[ ];. Jadi
perbedaan utama pendeklarasian variabel array dengan variable biasa adalah adanya
tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap
pendeklarasian variabel array ini belum ada alokasi memori untuk menyimpan data.

Chairul Anam 093


Nurul Solehah 085
B. Mendefinisikan Array

Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam arti


menentukan besar array yang diinginkan. Misalnya dengan cara : Bilangan = new
int[5];
Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil
ukurannya setelah didefinisikan. Setelah didefinisikan, maka variabel dengan nama
bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai
indeks 4. Setelah pendefinisian array, maka memori akan dialokasikan untuk
menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data
variabel array dan jumlah elemen array yang didefinisikan.
Setiap elemen array dapat diakses melalui indeks.
Indeks array secara default dimulai dari 0.
Deklarasi Array
Bentuk umum :
Tipe_array nama_array[ukuran];

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


Int Nilai [5]; 70 80 82 60 75
/* Program untuk menentukan jurusan & jenjang mahasiswa berdasarkan NIM*/
#include “stdio.h”
#include “conio.h”
#include “string.h”
void main()
{ char jurusan[25], jenjang[10], nim[10], nama[20];
crlscr();
printf(“Masukkan nama Anda : “); gets(nama);
printf(“Masukkan NIM Anda : “); gets(nim);
/***** cari jurusan *****/
switch(nim[2])
{ case ‘1’ : strcpy(jurusan, “Teknik Informatika”);
break;
case ‘2’ : strcpy(jurusan, “Sistem Informasi”);

Chairul Anam 093


Nurul Solehah 085
break;
case ‘3’ : strcpy(jurusan, “Teknik Komputer”);
break;
case ‘4’ : strcpy(jurusan, “Komputerisasi Akuntansi”);
break;
default : printf(“Anda salah memasukkan NIM. Coba periksa lagi !”);
break;
}
/***** cari jenjang *****/
if(nim[4] == ‘5’)
{ strcpy(jenjang, “Strata-1”);
}
else
{ if(nim[4] == ‘3’)
{ strcpy(jenjang,”Diploma-3”);
}
else
printf(“ANda salah memasukkan NIM. Coba periksa lagi !”);
}
/***** tampilkan data mahasiswa *****/
printf(“ << Data Mahasiswa Universitas Budi Luhur >>“);
printf(“Nama : %s”, nama);
printf(“NIM : %s”, nim);
printf(“Jurusan : %s”, jurusan);
printf(“Jenjang : %s”, jenjang);
getch();
}

Chairul Anam 093


Nurul Solehah 085
C. Array Dua Dimensi
Pada Java juga menyediakan fasilitas untuk membuat array dua dimensi yang dapat
membantu dalam pemrograman apabila arrray satu dimensi tidak mencukupi dalam
menghasilkan suatu solusi. Array dua dimensi sebenarnya adalah array yang berisi
array.

• Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah
kolom.
• Bentuknya dapat berupa matriks atau tabel.

Deklarasi array :
Tipe_array nama_array[baris][kolom];

Contoh :
Int X[3][4];

X[0][0] X[0][1] X[0][2] X[0][3]

X[1][0] X[1][1] X[1][2] X[1][3]

X[2][0] X[2][1] X[2][2] X[2][3]


Cara mengakses array :
Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3
dengan 10 maka perintahnya adalah sbb : X[1][2] = 10;

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

Chairul Anam 093


Nurul Solehah 085
Contoh input aray 2x2 dan menampilkannya :
#include “stdio.h”
#include “conio.h”
void main()
{ int baris, kolom, matriks[3][4];
//crlscr();
// Input elemen array secara Row Major Order
printf(“Input elemen Array : \n“);
for(baris=0; baris<3; baris++)
{ for(kolom=0; kolom<4; kolom++)
{ printf(“matriks[%i][%i]”, baris+1, kolom+1);
scanf(“%i”, &matriks[baris][kolom]);
}
printf(“\n”);
}
// Tampilkan elemen Array secara Row Major Order
printf(“Isi array : \n”);
for(baris=0; baris<3; baris++)
{ for(kolom=0; kolom<4; kolom++)
{ printf(“%i”, &matriks[baris][kolom]);
}
printf(“\n”);
}
getch();
}

D. Array Multidimensi
Selain array satu dimensi dan array dua dimensi, dapat juga membuat array
multidimensi pada Java. Array multidimensi merupakan array yang terdiri dari array
yang tidak terbatas hanya dua dimensi saja. Kita dapat menggunakan kode berikut untuk
mendapatkan array tiga dimensi : int array dimensi = new int[5][10][5]; Dan pada
array multidimensi, kita dapat menentukan ukuran array yang berbeda pada tiap array.
Misalnya : int mdimensi = new int[5] ; dari kode tersebut, kita mendapatkan array

Chairul Anam 093


Nurul Solehah 085
pertama dengan 5 elemen, tetapi kita belum mendefinisikan ukuran array dimensi kedua
dan ketiga.
Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua.
Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi
dua. Bentuk umumnya yaitu :
tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];

#include “stdio.h”
#include “conio.h”
void main()
{ int i, j, k;
static int data_huruf[2][8][8] =
{ { { 1, 1, 1, 1, 1, 1, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 1, 1, 1, 0 },
{ 1, 0, 0, 0, 1, 1, 1, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 }
},
{ { 1, 1, 0, 0, 0, 1, 1, 0 },
{ 1, 1, 0, 0, 0, 1, 1, 0 },
{ 1, 1, 0, 0, 0, 1, 1, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 },
{ 1, 1, 1, 0, 0, 1, 1, 0 },
{ 1, 1, 1, 0, 0, 1, 1, 0 },
{ 1, 1, 1, 0, 0, 1, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 }

Chairul Anam 093


Nurul Solehah 085
}
};
/* Tampilkan Huruf */
for(i=0; i<2; i++)
{ for(j=0; j<8; j++)
{ for(k=0;k<8; k++)
if(data_huruf[i][j][k])
putchar(‘\xDB’);
else
putchar(“ “); /* spasi */
puts(“”);
}
puts(“”);
}
getch(); }

Contoh pada pembuatan game sederhana seperti dibawah ini :


Buat game hangman, yaitu sebuah game tebak kata. Simpan kata yang harus ditebak di
dalam sebuah array of character selanjutnya disebut word. Pada tampilan awal setiap
huruf dilambangkan dengan * sejumlah karakter yang berada pada word tersebut.
Kemudian user menginputkan satu per satu karakter. Jika karakter yang dimasukkan ada
dalam word maka tanda * diganti dengan karakter tersebut. Game berakhir jika user
dapat menebak seluruh karakter yang ada pada word tersebut yang berarti user menang.
Maksimal kesalahan user adalah 3 kali, jika telah menginputkan 3 karakter salah game
berakhir dengan komentar user kalah.
Contoh: word kereta
Tampilan awal ******

Input user Tampilan


1. ‘a’ *****a
2. ‘b’ anda salah *****a
3. ‘e’ *e*e*a
4. ‘c’ anda salah
5. ‘r’ *ere*a
6. ‘v’ anda salah maaf anda kalah

Chairul Anam 093


Nurul Solehah 085
Maka logika yang dipakai adalah sebagai berikut :

a. User memasukkan huruf


b. Baca x,w[6],w2[6],i,j,k,y
c. Proses looping
d. Untuk i=0 sampai n(i++)
e. Cetak w2[i]
f. Tanyakan apakah
w[0]==w2[0]&&w[1]==w2[1]&&w[2]==w2[2]&&w[3]==w2[3]&&w[4]==w2[4]&
&w[5]==w2[5]
g. Jika ya, maka cetak Anda menang dan proses berhenti
h. Jika tidak, Untuk i=0 sampai n(i++)
i. Jika w[i]==x
j. Jika w2[i]=w[i]
k. Pengulangan kesalahan maksimal 3 kali
l. Jika k==3 cetak Anda kalah
m. Proses selesai
Dan script program yang digunakan adalah sebagai berikut :

#include<stdio.h>
#include<conio.h>

void main(){
char x,w[6]={"kereta"},w2[6]={"******"};
int i,j,k=0,y=1;

do{
printf("\t\t");
for(i=0;i<6;i++){printf("%c",w2[i]);}

if(w[0]==w2[0]&&w[1]==w2[1]&&w[2]==w2[2]&&w[3]==w2[
3]&&w[4]==w2[4]&&w[5]==w2[5]){
printf("\t\t\tanda menang");break;}

printf("\n%d. ",y);
x=getche();
j=0;
for(i=0;i<6;i++){
if(w[i]==x){
w2[i]=w[i];
}
else{
j++; /*penghitungan banyak nya pengecekan,
meskipun sudah ada yang sama tetap
dilakukan/* pengecekan
}
}
if(j==6){
//menghitung jumlah perulangan jumlah pengecakan per
kalimat

Chairul Anam 093


Nurul Solehah 085
printf("\t\tanda salah");
k++;}//untuk menghitung kesalahan

if(k==3){printf("\t\tanda kalah");}
y++;
}
while(k<3);

IV. PROSEDUR PELAKSANAAN

b) Tutorial
• Membuat array satu, dua, dan tiga dimensi untuk tipe data int,float,dan char
beserta cara menginputkan dan mengoutputkan elemennya.
• Dari array of integer sebelumnya, buat program untuk sorting nilai-nilai integer
inputan user secara ascending dan descending
• Dari array of integer sebelumnya, buat program untuk searching suatu nilai
integer tertentu.
c) Mahasiswa mengerjakan tugas praktikum
d) Mahasiswa mendemokan hasil praktikum kepada asisten dan menulis laporan

V. TUGAS PRAKTIKUM

2. Sebuah bus pariwisata memiliki kapasitas 60 kursi. Tiap kursi ditandai dengan
sebuah nomor yaitu dari 1 s/d 60. Buatlah program reservasi/pemesanan online. User
dapat menentukan jumlah kursi yang ingin dipesannya dan juga memilih nomor kursi
yang diinginkannya. Jika nomor yang dipilih statusnya masih kosong maka user
dapat menempati kursi tsb, namun jika nomor yang dipilih sudah terisi maka user
tidak dapat lagi memesannya dan harus memilih nomor lainnya. Harga tiap kursi
adalah Rp 330.000,00 dan setelah memilih nomor kursi program akan menampilkan
total harga yang harus dibayar. User dapat memilih untuk mengulang proses
pemesanan dan apabila diulang maka kursi yang tersedia adalah sisa dari proses
pemesanan sebelumnya. Jika user memilih berhenti maka di akhir program akan
ditampilkan total kursi yang masih kosong.
Chairul Anam 093
Nurul Solehah 085
Note : gunakan array untuk menyimpan status 60 kursi. Array adalah bertipe int yang
akan menyimpan angka nol atau satu. Nol menandakan status kursi belum terisi dan
satu jika sudah terisi.

3. Buatlah program yang akan menjumlahkan 2 buah matriks berisi nilai integer
berukuran 3 x 3. Isi dari tiap matriks adalah berdasarkan masukan user. Tampilkan
kedua matriks dan matriks hasil penjumlahannya.

VI. JAWABAN

4. Reservasi Oline.

Source Code yang digunakan :

#include <stdio.h>
#include <conio.h>
void main () {
int angka[60] ;
int a,b,i,k;
int jml,n;
float harga;
char jwb;

puts("RESERVASI BUS ONLINE");

do{
printf ("\nJumlah Kursi yang dipesan ? ");
scanf ("%d", &jml);

k=1 ;
while(k<=jml){
printf("pemesanan ke %d\n", k);
printf("Kursi: ");
scanf("%d", &n);
if(angka[n]!=1) {
angka[n]=1;
k++; }
else
puts("Kursi Ini Sudah di Pesan");
}

printf ("\n\nHarga tiap kursi Rp 330.000\n");


printf ("Jumlah kursi yg dipesan = %d x Rp 330.000\n", jml);
harga=jml*330000;
printf ("\tTotal harga = Rp %.f", harga);

printf ("\n\nIngin memesan kursi kembali (Y/T) ? ");


Chairul Anam 093
Nurul Solehah 085
scanf ("%s", &jwb);
if(jwb=='t'||jwb=='T')
{
printf ("\n+++++++++++++++");
}else{
jwb=getche();
}
}
while(jwb=='y'||jwb=='Y');
}

Hasil dari compile program :

Chairul Anam 093


Nurul Solehah 085
Kemudian jika user ingin melakukan reservasi ulang maka :

Dan jika ingin berhnti maka user memasukkan pilihan tidak.

2. Matrix.

Dalam pembuatan program ini, terlebih dahulu pemrogram mengetahui cara kerja dari matrix.

Berikut source code yang digunakan :

#include <stdio.h>
void main () {
int a, a1, a2, a3, a4, a5, a6, a7, a8, b, b1, b2, b3, b4, b5, b6, b7, b8;
int p,q,r,s;
int x,y;

printf ("Penjumlahan Matriks 3x3");


printf ("\n\nMatriks A\n");
printf ("Masukkan bil 1 : ");
scanf ("%d", &a);
printf ("Masukkan bil 2 : ");
scanf ("%d", &a1);
Chairul Anam 093
Nurul Solehah 085
printf ("Masukkan bil 3 : ");
scanf ("%d", &a2);
printf ("Masukkan bil 4 : ");
scanf ("%d", &a3);
printf ("Masukkan bil 5 : ");
scanf ("%d", &a4);
printf ("Masukkan bil 6 : ");
scanf ("%d", &a5);
printf ("Masukkan bil 7 : ");
scanf ("%d", &a6);
printf ("Masukkan bil 8 : ");
scanf ("%d", &a7);
printf ("Masukkan bil 9 : ");
scanf ("%d", &a8);
printf ("\n\n");

printf ("Matriks B\n");


printf ("Masukkan bil 1 : ");
scanf ("%d", &b);
printf ("Masukkan bil 2 : ");
scanf ("%d", &b1);
printf ("Masukkan bil 3 : ");
scanf ("%d", &b2);
printf ("Masukkan bil 4 : ");
scanf ("%d", &b3);
printf ("Masukkan bil 5 : ");
scanf ("%d", &b4);
printf ("Masukkan bil 6 : ");
scanf ("%d", &b5);
printf ("Masukkan bil 7 : ");
scanf ("%d", &b6);
printf ("Masukkan bil 8 : ");
scanf ("%d", &b7);
printf ("Masukkan bil 9 : ");
scanf ("%d", &b8);
printf ("\n\n");

printf ("Proses Penghitungan Penjumlahan Matriks\n\n");


printf ("Matrik A\n");
int matrikA[3][3]={{a,a1,a2},{a3,a4,a5},{a6,a7,a8}};
for (p=0;p<3;p++) {
for (q=0;q<3;q++) {
printf ("%d ", matrikA[p][q]);
}
printf ("\n");
}

printf ("\n");
printf ("Matrik B\n");
int matrikB[3][3]={{b,b1,b2},{b3,b4,b5},{b6,b7,b8}};
Chairul Anam 093
Nurul Solehah 085
for (r=0;r<3;r++) {
for (s=0;s<3;s++) {
printf ("%d ", matrikB[r][s]);
}
printf ("\n");
}

printf ("\nMatrik A + Matrik B\n");

int jmlmatrik[3][3]={{a+b,a1+b1,a2+b2},{a3+b3,a4+b4,a5+b5},{a6+b6,a7+b7,a8+b8}};
for (x=0;x<3;x++) {
for (y=0;y<3;y++) {
printf ("%d ", jmlmatrik[x][y]);
}
printf ("\n");
}
}

Dan ketika dicompile program akan dijalankan seperti tampilan dibawah ini :

Imputan pertama dari user adalah memasukkan nilai dari matrix pertama yaitu matrix A

Chairul Anam 093


Nurul Solehah 085
Kemudian imputan user yang kedua adalah untuk memasukkan nilai dari matrix kedua yaitu matrix
B.

Hasil dari matrix tersebut adalah, dimana nilai dari matrix A + matrix B:

Chairul Anam 093


Nurul Solehah 085
VII. KESIMPULAN :

1. Array adalah struktur yang digunakan untuk menyimpan sekumpulan variabel (group of
variable) bertipe sama dalam sebuah pengenal/identifier.

2. Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu
yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh
suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array
dimensi dua dan array multi-dimensi

3. String didefinisikan sebagai array of character

Sumber Pembahasan:
www.ilmukomputer.com

Chairul Anam 093


Nurul Solehah 085

Beri Nilai