Laporan Praktikum Modul 4 Array Lab. Tek
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.