array c program

23
PRAKTIKUM PEMROGRAMAN TERSTRUKTUR MODUL KE - 5 ARRAY Dosen Pembimbing: Gita Indah M, ST Evi Dwi W. Skom Oleh : Chairul Anam 201010370311093 Chairul Anam 093 Nurul Solehah 085

Upload: irul-irda

Post on 27-Jun-2015

381 views

Category:

Documents


2 download

DESCRIPTION

Array, pointer, bahasa pemrograman c, informatika

TRANSCRIPT

Page 1: Array C Program

PRAKTIKUM PEMROGRAMAN TERSTRUKTURMODUL KE - 5

ARRAY

Dosen Pembimbing:

Gita Indah M, STEvi Dwi W. Skom

Oleh :Chairul Anam

201010370311093

LABORATORIUM PEMROGRAMANPROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIKUNIVERSITAS MUHAMMADIYAH MALANG

2010/2011

Chairul Anam 093Nurul Solehah 085

Page 2: Array C Program

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 diny-

atakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemro-

graman, karena array memungkinkan untuk menyimpan data maupun referensi objek

dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menen-

tukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, ele-

men 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 perbe-

daan utama pendeklarasian variabel array dengan variable biasa adalah adanya tanda ku-

rung [ ] 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 093Nurul Solehah 085

Page 3: Array C Program

B. Mendefinisikan Array

Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam arti menen-

tukan 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 bi-

langan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai in-

deks 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];

/* 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”);

break;

Chairul Anam 093Nurul Solehah 085

Page 4: Array C Program

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 093Nurul Solehah 085

Page 5: Array C Program

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 ar-

ray.

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];

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 093Nurul Solehah 085

Page 6: Array C Program

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 multidi-

mensi pada Java. Array multidimensi merupakan array yang terdiri dari array yang tidak

terbatas hanya dua dimensi saja. Kita dapat menggunakan kode berikut untuk mendap-

atkan array tiga dimensi : int array dimensi = new int[5][10][5]; Dan pada array multi-

dimensi, kita dapat menentukan ukuran array yang berbeda pada tiap array. Misalnya :

Chairul Anam 093Nurul Solehah 085

Page 7: Array C Program

int mdimensi = new int[5] ; dari kode tersebut, kita mendapatkan array pertama den-

gan 5 elemen, tetapi kita belum mendefinisikan ukuran array dimensi kedua dan ketiga.

Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua. Ben-

tuk 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 093Nurul Solehah 085

Page 8: Array C Program

}

};

/* 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 Tampilan1. ‘a’ *****a2. ‘b’ anda salah *****a3. ‘e’ *e*e*a4. ‘c’ anda salah5. ‘r’ *ere*a6. ‘v’ anda salah maaf anda kalah

Chairul Anam 093Nurul Solehah 085

Page 9: Array C Program

Maka logika yang dipakai adalah sebagai berikut :

a. User memasukkan hurufb. Baca x,w[6],w2[6],i,j,k,yc. Proses loopingd. 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 berhentih. Jika tidak, Untuk i=0 sampai n(i++)i. Jika w[i]==xj. Jika w2[i]=w[i] k. Pengulangan kesalahan maksimal 3 kalil. Jika k==3 cetak Anda kalahm. 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 093Nurul Solehah 085

Page 10: Array C Program

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

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

}

IV. PROSEDUR PELAKSANAAN

a) 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.

b) Mahasiswa mengerjakan tugas praktikum

c) Mahasiswa mendemokan hasil praktikum kepada asisten dan menulis laporan

V. TUGAS PRAKTIKUM

1. 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 093Nurul Solehah 085

Page 11: Array C Program

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.

2. 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

1. 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++; }elseputs("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 093Nurul Solehah 085

Page 12: Array C Program

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

Hasil dari compile program :

Chairul Anam 093Nurul Solehah 085

Page 13: Array C Program

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 093Nurul Solehah 085

Page 14: Array C Program

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 093Nurul Solehah 085

Page 15: Array C Program

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 093Nurul Solehah 085

Page 16: Array C Program

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 093Nurul Solehah 085

Page 17: Array C Program

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 093Nurul Solehah 085