Senin, 19 November 2012

PERTEMUAN 9 LOGIKA & ALGORITMA

LARIK ATAU ARRAY
adalah tipe terstruktur yang terdiri darisejumlah komponen yang mempunyai tipe
data yang sama.Suatu Array mempunyai jumlah komponenyangbanyaknyatetap.Banyaknya
komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang lainnya
Variabel Array terdiri dari :
1. Array Berdimensi Satu
2. Array Berdimensi Dua
1. Array Berdimensi Satu
Bentuk Umum :
Tipe_Data Nama_Variabel [ukuran]
Contoh:
int nilai [6];
jumlah elemen
nama array
tipe data elemen array
Contoh Array Dimensi 1
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
main()
{
int i,n,jum[5],hrg[5];
char nm[20],nabar[5][20];
float sb[5];
clrscr();
cout<<"Nama Pembeli : ";gets(nm);
cout<<"Banyaknya Pembelian : ";cin>>n;
for (i=1;i<=n;i++)
{
cout<<"\nPembelian Ke
: "<<i<<endl;
cout<<"Nama Barang
: ";cin>>nabar[i];
cout<<"Harga Barang
: ";cin>>hrg[i];
cout<<"Jumlah Beli : ";cin>>jum[i];
sb[i]=hrg[i]*jum[i];
cout<<endl;
}
printf("\nRekap Pembelian Barang");
printf("\nNama Pembeli : %s",nm);
printf("\n----------------------------------");
printf("\nNo Nama Barang Harga Barang
Subtotal");
printf("\n-----------------------------------");
for(i=1;i<=n;i++)
{
printf("\n %d %s %d %8.0f",
i,nabar[i],hrg[i],sb[i]);
}
printf("\n---------------------------------------");
getch();
}
Hasil Keluaran Program :
2. Array Berdimensi Dua
Bentuk Umum :
Tipe_Data Nama_Variabel [index-1] [index-2]
Contoh:
int nilai [2] [3] ;
jumlah kolom
jumlah baris
nama array
tipe data elemen array
Contoh I :
int i, j ;
int tabel [3] [2] ;
for (i=0; i<=2 ; i++)
{
for (j=0; j<=1 ; j++)
{
cout<< “data ke - ”<< i << j<<endl;
cout<< “nilai =“ ;
cin>> tabel [ i ] [ j ];
}
Tabel[0][0]
}
Hasil Tabel
Tabel[0][1]
Tabel[1][0] Tabel[1][1]
Tabel[2][0] Tabel[2][1]
Hasil array dimensi 2
Tabel[0][0] Tabel[0][1]
Tabel[1][0] Tabel[1][1]
Tabel[2][0] Tabel[2][1]
Contoh 2 : Array 2 Dimensi
main()
cout<<"Data Penjualan Pertahun"<<endl;
{
cout<<"-----------------------"<<endl;
cout<<"NO 2001 2002 2003"<<endl;
int i, j;
cout<<"-----------------------"<<endl;
int data_jual[4][4];
for(i=1;i<=3;i++)
clrscr();
{
for(i=1;i<=3;i++)
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
{
for(j=1;j<=3;j++)
cout<<setiosflags(ios::right)<<setw(4);
{
cout<<data_jual[i][j]; cout<<" ";
cout<<"Data Ke - "<<i<<" "<<j<<endl; }
cout<<endl;
cout<<"Jumlah Penjulan : ";
}
cin>>data_jual[i][j];
cout<<"-----------------------"<<endl;
}
}
Hasil Contoh 2 : array dimensi 2
Tabel[1][1] Tabel[1][2] Tabel[1][3]
Tabel[2][1] Tabel[2][2] Tabel[2][3]
Tabel[3][1] Tabel[3][2] Tabel[3][3]
Contoh II :
Diberikan matriks A sebagai berikut :
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
Perintah pokok yg digunakan pd pengisian
matriks A adalah :
A[i,j] = 1, jika i <=j
A[i,j] = 0, jika i > j
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3.1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
A[i,j] = 1, jika i <=j  jika i <= j maka akan mencetak nilai 1
A[i,j] = 0, jika i > j  jika i > j maka akan mencetak nilai 10
Latihan :
1. Diberikan matriks A sebagai berikut :
1 2 3 4
0 2 3 4
0 0 3 4
0 0 0 4
Perintah pokok yg digunakan pd pengisian
matriks A adalah :
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3.1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
1
0
0
0
2
2
0
0
3
3
3
0
4
4
4
4
A[i,j] = j, jika i <=j  jika i <= j maka akan mencetak nilai j
A[i,j] = 0, jika i > j  jika i > j maka akan mencetak nilai 0
4. Diberikan algoritma sbb :
int i ;
int nilai[4];
for(i=0;i<=3;i++)
{
nilai[i] = 2 * i + 1;
cout<<nilai[i];
}
Algoritma di atas akan menghasilkan nilai .....
Cara Mengerjakannya :
I=0 I <= 3 I ++
0 B 0+1=1
1 B 1+1=2
2 B 2+1=3
3 B 3+1=4
4 S -
Nilai =
2*i+1
2*0+1
2*1+1
2*2+1
2*3+1
-
Cetak
Nilai
1
3
5
7
-
5. Diberikan algoritma sbb, diketahui nilai dari array
x[0]=10, x[1]=12, x[2]=12, x[3]=10 dan y[0]=2,
y[1]=3, y[2]=4, y[3]=5
int i;
int x[4], y[4];
float hasil ;
Maka nilai hasil dari algoritma diatas
hasil=0; adalah......
for(i=0; i<=3; i++)
{
cout<<"Masukkan Nilai x = ";cin>>x[i];
cout<<"Masukkan Nilai y = ";cin>>y[i];
hasil = hasil + x[i] / y[i];
cout<<“hasil=“<<hasil; }
Cara Mengerjakannya :
I = 0 I <= 3
I ++ Nilai Nilai Y[i] Hasil = Cetak
     X[i] hasil + x[i] / y[i]; Hasil
0 B 0+1=1 10 2 0+10/2 5
1 B 1+1=2 12 3 5+12/3 9
2 B 2+1=3 12 4 9+12/4 12
3 B 3+1=4 10 5 12+10/5 14
4 S - - - - -
Tugas Kelompok (max 5 orang)
Buatlah program dengan menggunakan C++
1. Penjumlahan dua buah matriks
2. Pengurangan dua buah matriks
Ket :
• Masing-masing kelompok dapat memilih salah satu
dari program di atas.
• Listing program & output dicetak
• Nama, Nim dan Kelas dicetak di listing program

Tidak ada komentar:

Posting Komentar