Laporan Praktikum Modul 4 Array Lab. Tek

(1)

LAPORAN MODUL PRAKTIKUM MODUL KE-4

ARRAY

DOSEN PEMBIMBING : ARIF SUSANTO S.Kom

ARIANSYAH PUTRA 201410370311194

1E

LABORATORIUM TEKNIK INFORMATIKA FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG 2014


(2)

I. TUJUAN

 Mampu memahami dan mampu memanfaatkan tipe data, variable, dan konstanta di bahasa C

 Mampu menggunakan macam-macam operator

 Mampu memahami dan mampu menggunakan metode untuk menampilkan berbagai format ke layar

 Mampu memanfaatkan instruksi untuk memasukkan data dalam berbagai tipe

II. ALAT YANG DIPERGUNAKAN  Computer / Laptop

 Falcon V3.3.0.0

III. DASARTEORI

Array adalah kumpulan nilai-nilai data bertipe sama dalam ukuran tertentu yang menggunakan sebuah nama yang sama. Array bisa berupa Array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu mewakili bentuk suatu vektor. Array berdimensi dua mewakili bentuk matriks atau table.

1. Array satu dimensi Bentuk umum

Tipe_data nama_var [ukuran]; 2. Array dua dimensi

Bentuk umum

Int nama_data [ukuran][ukuran];

IV. TUGAS PRAKTIKUM

1. Buat program untuk menghitung rata-rata curah hujan. Simpan data curah hujan (desimal) per bulan untuk 3 tahun, simpan dalam satu array 2 dimensi. Kemudian hitung rata-rata curah hujan pertahun dan tampilkan nama bulan dimana curah hujan paling tinggi terjadi pada masing masing tahun.

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


(3)

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 3. ‘e’ *e*e*a 4. ‘c’ anda salah 5. ‘r’ *ere*a

6. ‘v’ anda salah maaf anda kalah

3. Buatlah program untuk menghitung nilai determinan dari matrix n x n. Dimensi dari matrix (n), dan isi dari matrix ditentukan diinputkan dari user V. TUGAS PRAKTIKUM

1. Buat Buat program untuk menghitung rata-rata curah hujan. Simpan data curah hujan (desimal) per bulan untuk 3 tahun, simpan dalam satu array 2 dimensi. Kemudian hitung rata-rata curah hujan pertahun dan tampilkan nama bulan dimana curah hujan paling tinggi terjadi pada masing masing tahun.

 FlowChart Program :  Source Code :

Tabel 1. Source Code Program  Print Screen Hasil :

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


(4)

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

3. ‘e’ *e*e*a

4. ‘c’ anda salah

5. ‘r’ *ere*a

6. ‘v’ anda salah maaf anda kalah  Algoritma :

1. Inputkan char soal, kata, clue, tebak dalam array satu dimensi 2. Int x, y, tmb, salah, c, btl

3. Inputkan nilai kata

4. Perulangan for untuk tebakkan kata 5. Nested for untuk print tanda “*”

6. Nested for lagi untuk Inputkan tebakan kata dan y+1

7. Nested for lagi untuk c, jika tebak==kata, kata=tebak, dan tmb++ 8. Tampilan

9. Jika tmb<1 maka salah++ 10.Perulangan tebakan kata

11.Akan bernilai salah jika inputan huruf salah 12.Jika salah>2 maka kesempatan sudah habis


(5)

 FlowChart Program :

 Source Code :

#include <stdio.h> main(){

char

soal[12]={'i','n','f','o','r','m','a','t','i','k','a'}; char kata[11];

char clue[14]={'j','u','r','u','s','a','n',' ',' ','k','i','t','a'};

int x,y,tmb,salah,c,btl; char tebak;

tmb=0; salah=0;

printf ("\t\t\t\t---WELCOME---\n\t\t\t\t\ \ \ \ \ \ To\n");

printf("\t\t\t\tGAME TEBAK KATA"); printf ("\n");

printf("\n\nPERATURAN: Masukkan huruf yang anda anggap benar. \n\t\ \ \ Anda hanya diberi 3 kali kesempatan menjawab salah \n\t\ \ \ Lebih dari itu,


(6)

anda kalah\n\n ");

printf("\nKata Kunci: "); for(x=0;x<14;x++){

printf("%c",clue[x]); }

printf("\nIsi tanda berikut ini: "); for(y=0;y<12;y++){ kata[y]='*'; printf("%c",kata[y]); fflush(stdin); } for(y=0;y<12;y++){

printf("\n\nTebak huruf ke %d:",y+1); scanf("%c",&tebak); fflush(stdin); tmb=0; for(c=0;c<11;c++){ if(tebak==soal[c]){ kata[c]=tebak; tmb++; } }

printf("tampilan : "); if(tmb<1){

salah++;

for(x=0;x<11;x++){ printf("%c",kata[x]); }

printf("\n\nhuruf yang anda inputkan salah \nsalah huruf = %d",salah);

} else{

for(x=0;x<11;x++){

printf("%c",kata[x]); }

printf("\n\nlanjutkan ! \nsalah huruf = %d",salah);

}

{ if(salah>2){

printf("\t\tMAAF KESEMPATAN ANDA SUDAH HABIS \nGAME OVER");

break; } btl=1; for(c=0;c<12;c++){ if(kata[c]!=soal[c]) btl=0;


(7)

} }

if(btl>0){

printf("\n\t\t\tYOU WIN ! CONGRAT ; break;

} } }

Tabel 2. Source Code Program


(8)

3. Buatlah program untuk menghitung nilai determinan dari matrix n x n. Dimensi dari matrix (n), dan isi dari matrix ditentukan diinputkan dari user

 Algoritma :

1. Int matriks dua dimensi [3][3] 2. Int i, j, a, b, c, d, e, f, det, n 3. Char coba

4. Jika n==2 || n==3 5. Inputkan matrik n

6. Perulangan for untuk inputkan nilai matriks n 7. I+1, j+1 untuk kolom dan baris

8. For untuk matriks 9. Jika n==3

a=float(matriks [0][0] * matriks [1][1] * matriks [2][2]); b=float(matriks [0][1] * matriks [1][2] * matriks [2][0]); c=float(matriks [0][2] * matriks [1][0] * matriks [2][1]); d=float(matriks [0][2] * matriks [1][1] * matriks [2][0]); e=float(matriks [0][1] * matriks [1][0] * matriks [2][2]); f=float(matriks [0][0] * matriks [1][2] * matriks [2][1]); det=(a+b+c) - (d+e+f);


(9)

10.Akan bernilai salah jika det = matriks[1][0] * matriks[0][1] - matriks[0][0] * matriks[1][1];

11.Print Nilai determinan matriks

12.Akan bernilai salah jika inputan yang anda masukan salah  FlowChart Program :

 Source Code :

#include <stdio.h> #include <conio.h> main (){

int matriks [3][3];

int i, j, a, b, c, d, e, f, det, n; char coba;

{

printf("Program Menghitung Determinan Matriks n x n\n");

printf("Masukkan Jumlah Matriks : "); scanf("%d",&n);


(10)

for (i=0; i<n; i++){ for (j=0; j<n; j++){

printf("Matriks %d %d= ", i+1, j+1); scanf("%d",&matriks [i][j]);

} }

printf("\n\n");

printf("Matriks :\n"); for(j=0; j<n; j++) {

for(i=0; i<n; i++) {

printf(" %d",matriks [i][j]); }

printf("\n"); }

if (n == 3 ) {

a=float(matriks [0][0] * matriks [1][1] * matriks [2][2]);

b=float(matriks [0][1] * matriks [1][2] * matriks [2][0]);

c=float(matriks [0][2] * matriks [1][0] * matriks [2][1]);

d=float(matriks [0][2] * matriks [1][1] * matriks [2][0]);

e=float(matriks [0][1] * matriks [1][0] * matriks [2][2]);

f=float(matriks [0][0] * matriks [1][2] * matriks [2][1]);

det=(a+b+c) - (d+e+f); } else

{

det = matriks[1][0] * matriks[0][1] -

matriks[0][0] * matriks[1][1]; }

printf("\nNilai Determinan : %d", det); scanf("%s",&coba);

} else

printf("\nMaaf, inputan anda salah, cobalah masukkan inputan yang lain, GOOD LUCK");

} }


(11)

KESIMPULAN :

Array adalah kumpulan nilai-nilai data bertipe sama dalam ukuran tertentu yang menggunakan sebuah nama yang sama. Array bisa berupa Array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu mewakili bentuk suatu vektor. Array berdimensi dua mewakili bentuk matriks atau table.


(1)

anda kalah\n\n ");

printf("\nKata Kunci: "); for(x=0;x<14;x++){

printf("%c",clue[x]); }

printf("\nIsi tanda berikut ini: "); for(y=0;y<12;y++){ kata[y]='*'; printf("%c",kata[y]); fflush(stdin); } for(y=0;y<12;y++){

printf("\n\nTebak huruf ke %d:",y+1); scanf("%c",&tebak); fflush(stdin); tmb=0; for(c=0;c<11;c++){ if(tebak==soal[c]){ kata[c]=tebak; tmb++; } }

printf("tampilan : "); if(tmb<1){

salah++;

for(x=0;x<11;x++){ printf("%c",kata[x]); }

printf("\n\nhuruf yang anda inputkan salah \nsalah huruf = %d",salah);

} else{

for(x=0;x<11;x++){

printf("%c",kata[x]); }

printf("\n\nlanjutkan ! \nsalah huruf = %d",salah);

}

{ if(salah>2){

printf("\t\tMAAF KESEMPATAN ANDA SUDAH HABIS \nGAME OVER");

break; } btl=1; for(c=0;c<12;c++){ if(kata[c]!=soal[c]) btl=0;


(2)

} }

if(btl>0){

printf("\n\t\t\tYOU WIN ! CONGRAT ; break;

} } }

Tabel 2. Source Code Program


(3)

3. Buatlah program untuk menghitung nilai determinan dari matrix n x n. Dimensi dari matrix (n), dan isi dari matrix ditentukan diinputkan dari user

 Algoritma :

1. Int matriks dua dimensi [3][3] 2. Int i, j, a, b, c, d, e, f, det, n 3. Char coba

4. Jika n==2 || n==3 5. Inputkan matrik n

6. Perulangan for untuk inputkan nilai matriks n 7. I+1, j+1 untuk kolom dan baris

8. For untuk matriks 9. Jika n==3

a=float(matriks [0][0] * matriks [1][1] * matriks [2][2]); b=float(matriks [0][1] * matriks [1][2] * matriks [2][0]); c=float(matriks [0][2] * matriks [1][0] * matriks [2][1]); d=float(matriks [0][2] * matriks [1][1] * matriks [2][0]); e=float(matriks [0][1] * matriks [1][0] * matriks [2][2]); f=float(matriks [0][0] * matriks [1][2] * matriks [2][1]); det=(a+b+c) - (d+e+f);


(4)

10.Akan bernilai salah jika det = matriks[1][0] * matriks[0][1] - matriks[0][0] * matriks[1][1];

11.Print Nilai determinan matriks

12.Akan bernilai salah jika inputan yang anda masukan salah  FlowChart Program :

 Source Code :

#include <stdio.h> #include <conio.h> main (){

int matriks [3][3];

int i, j, a, b, c, d, e, f, det, n; char coba;

{

printf("Program Menghitung Determinan Matriks n x n\n");

printf("Masukkan Jumlah Matriks : "); scanf("%d",&n);


(5)

for (i=0; i<n; i++){ for (j=0; j<n; j++){

printf("Matriks %d %d= ", i+1, j+1); scanf("%d",&matriks [i][j]);

} }

printf("\n\n");

printf("Matriks :\n"); for(j=0; j<n; j++) {

for(i=0; i<n; i++) {

printf(" %d",matriks [i][j]); }

printf("\n"); }

if (n == 3 ) {

a=float(matriks [0][0] * matriks [1][1] * matriks [2][2]);

b=float(matriks [0][1] * matriks [1][2] * matriks [2][0]);

c=float(matriks [0][2] * matriks [1][0] * matriks [2][1]);

d=float(matriks [0][2] * matriks [1][1] * matriks [2][0]);

e=float(matriks [0][1] * matriks [1][0] * matriks [2][2]);

f=float(matriks [0][0] * matriks [1][2] * matriks [2][1]);

det=(a+b+c) - (d+e+f); } else

{

det = matriks[1][0] * matriks[0][1] -

matriks[0][0] * matriks[1][1]; }

printf("\nNilai Determinan : %d", det); scanf("%s",&coba);

} else

printf("\nMaaf, inputan anda salah, cobalah masukkan inputan yang lain, GOOD LUCK");

} }


(6)

KESIMPULAN :

Array adalah kumpulan nilai-nilai data bertipe sama dalam ukuran tertentu yang menggunakan sebuah nama yang sama. Array bisa berupa Array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu mewakili bentuk suatu vektor. Array berdimensi dua mewakili bentuk matriks atau table.