Assalamualaikum wr.wb
Haris Selasa, 6 September 2016 merupakan pertemuan pertama mata kuliah Struktur Data yang diampu Bapak Wahyu Pujiono.
Pada pertemuan ini dibahas mengenai kontrak belajar dan rencana kuliah selama satu semester. Kami juga dipersilahkan membuat kelompok belajar yang terdiri dari 3 orang.
One of My Footsteps
Work hard, have fun, and make history . . .
Senin, 19 September 2016
Refleksi SData Minggu 3
Assalamualaikum wr.wb
Selasa, 20 September merupakan pertemuan ke-3 perkuliahan Struktur Data. Sebelum memulai perkuliahan kami dipersilahkan melengkapi bahan ajar yang akan dipelajari hari ini. Pertemuan kali ini membahas tentang Class dan Rekursi. Kelompok kami melakukan diskusi bersama kelompok 12 dan kami mendapatkan tugas menjelaskan tentang Class dan Tahapan ke OOP. Sedangkan kelompok 12 akan menjelaskan tentang materi rekursif dan iteratif. saat kami mempresentasikan tentang class dihadapan kelompok diskusi kami, salah seorang anggota bertugas membuat ringkasan dari materi yang kami diskusikan.
Selasa, 20 September merupakan pertemuan ke-3 perkuliahan Struktur Data. Sebelum memulai perkuliahan kami dipersilahkan melengkapi bahan ajar yang akan dipelajari hari ini. Pertemuan kali ini membahas tentang Class dan Rekursi. Kelompok kami melakukan diskusi bersama kelompok 12 dan kami mendapatkan tugas menjelaskan tentang Class dan Tahapan ke OOP. Sedangkan kelompok 12 akan menjelaskan tentang materi rekursif dan iteratif. saat kami mempresentasikan tentang class dihadapan kelompok diskusi kami, salah seorang anggota bertugas membuat ringkasan dari materi yang kami diskusikan.
Class terdiri dari field yang menyimpan data dan method
yang diaplikasikan ke instans dari class.
Sedangkan Object merupakan instans dari class.
Fungsi Rekursi adalah fungsi yang memanggil dirinya sendiri dan mempunyai kode yang lebih pendek.
Fungsi Rekursi adalah fungsi yang memanggil dirinya sendiri dan mempunyai kode yang lebih pendek.
Senin, 06 Juni 2016
Menghitung Nilai IPK
Konstruksi data --> struck jmlipk{
char nama[100];
char nim[100];
int nilai [100][100];
int sks[100][100];
int ipk1[100][100];
string makul[100][100]
int jml_makul;
int jml_nilai;
}ipk;
Menghitung IPK :
#include <iostream>
using namespace std;
struct jmlipk{
char nama[100];
char nim[100];
int nilai[100][100];
int sks[100][100];
int ipk1[100][100];
string makul[100][100];
int jml_makul;
int jml_nilai;
}ipk;
int main(){
int i, j;
float jml_ipk, jml_sks;
cout<<"=====================================\n";
cout<<"[ Note : Nilai Dalam Bentuk Angka ]\n";
cout<<"[ A=4 ]\n";
cout<<"[ B=3 ]\n";
cout<<"[ C=2 ]\n";
cout<<"[ D=1 ]\n";
cout<<"[ E=0 ]\n";
cout<<"=====================================\n";
cout<<"Nama :";cin>>ipk.nama;
cout<<"NIM :";cin>>ipk.nim;
cout<<"Jumlah Makul :";cin>>ipk.jml_makul;
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
cout<<"Makul :";cin>>ipk.makul[i][j];
cout<<"Nilai :";cin>>ipk.nilai[i][j];
cout<<"Sks :";cin>>ipk.sks[i][j];
cout<<"\n";
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
ipk.ipk1[i][j]=ipk.sks[i][j]*ipk.nilai[i][j];
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
jml_sks=jml_sks+ipk.sks[i][j];
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
ipk.jml_nilai=ipk.jml_nilai+ipk.ipk1[i][j];
}
}
jml_ipk = ipk.jml_nilai/jml_sks;
cout<<"================================\n";
cout<<" Nama : "<<ipk.nama<<" \n";
cout<<" NIM : "<<ipk.nim <<" \n";
cout<<" Jumlah SKS : "<<jml_sks<<" \n";
cout<<" Ipk : "<<jml_ipk<<" \n";
cout<<"================================";
return 0;
}
char nama[100];
char nim[100];
int nilai [100][100];
int sks[100][100];
int ipk1[100][100];
string makul[100][100]
int jml_makul;
int jml_nilai;
}ipk;
Menghitung IPK :
#include <iostream>
using namespace std;
struct jmlipk{
char nama[100];
char nim[100];
int nilai[100][100];
int sks[100][100];
int ipk1[100][100];
string makul[100][100];
int jml_makul;
int jml_nilai;
}ipk;
int main(){
int i, j;
float jml_ipk, jml_sks;
cout<<"=====================================\n";
cout<<"[ Note : Nilai Dalam Bentuk Angka ]\n";
cout<<"[ A=4 ]\n";
cout<<"[ B=3 ]\n";
cout<<"[ C=2 ]\n";
cout<<"[ D=1 ]\n";
cout<<"[ E=0 ]\n";
cout<<"=====================================\n";
cout<<"Nama :";cin>>ipk.nama;
cout<<"NIM :";cin>>ipk.nim;
cout<<"Jumlah Makul :";cin>>ipk.jml_makul;
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
cout<<"Makul :";cin>>ipk.makul[i][j];
cout<<"Nilai :";cin>>ipk.nilai[i][j];
cout<<"Sks :";cin>>ipk.sks[i][j];
cout<<"\n";
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
ipk.ipk1[i][j]=ipk.sks[i][j]*ipk.nilai[i][j];
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
jml_sks=jml_sks+ipk.sks[i][j];
}
}
for (i=0;i<ipk.jml_makul;i++){
for (j=0;j<1;j++){
ipk.jml_nilai=ipk.jml_nilai+ipk.ipk1[i][j];
}
}
jml_ipk = ipk.jml_nilai/jml_sks;
cout<<"================================\n";
cout<<" Nama : "<<ipk.nama<<" \n";
cout<<" NIM : "<<ipk.nim <<" \n";
cout<<" Jumlah SKS : "<<jml_sks<<" \n";
cout<<" Ipk : "<<jml_ipk<<" \n";
cout<<"================================";
return 0;
}
Jumat, 03 Juni 2016
Latihan Diktat Bab 9
Assalamu'alaikum wr.wb
Kali ini saya akan memposting latihan diktat bab 9 pada pertemuan ke-11.
1.
Buatlah algoritma dan program untuk mengalikan matriks dengan vektor.
Vektor adalah matriks berdimensi satu (bisa matriks baris maupun
matriks kolom). Implementasikan matriks dengan array berdimensi dua, dan
vektor dengan menggunakan matriks berdimensi satu.
1. Identifikasi masalah
1. Identifikasi masalah
→ mengalikan matriks
dengan vector
2. Menentukan input dan output
→ input :baris
:kolom
:A[max]
:
m[baris]
:n
:n
→output :perkalian
matriks dan vektor=
3. Membuat Algoritma/flowchart
Deklarasi:
A[maks][maks], baris, kolom, m[baris] ,n :integer
Deskripsi:
for i ←0 to baris do then i++
for j←0 to kolom do then j++
write(‘Masukan data ke
["<<i<<"] ["<<j<<"]’)
end for
end for
write(‘Isi Matriks A ‘)
for i ←0 to baris do then i++
for j←0 to kolom do then j++
write(‘A[i][j]’)
end for
end for
write(‘penghitungan vektor ‘)
for z←0 to kolom do then z++
write(‘Masukan data ke
["<<z<<"] ‘)
end for
write(‘ vektor ‘)
for z←0 to kolom do then z++
write(‘m[z]’)
end for
write(‘perkalian matrik dan vektor ‘)
for i ←0 to baris do then i++
for j←0 to kolom do then j++
for z←0 to kolom do then z++
n←A[i][j]*m[z]
end for
end for
end for
4. Test menggunakan data
inputin→ :baris[2]=|1|
|2|
Kolom[2]=|1|
|2|
Isi
matrik A=|1| |2|
|1| |2|
Berapa
variable=2
Vektor
b=|1|
|2|
output→ :perkalian
matrik dan vektor= 1 2 2 4 1 2 2 4
5. Implementasi dengan c++
#include <iostream>
#define maks 10
using namespace std;
/* run this program using the console
pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int A[maks][maks], baris, kolom;
cout<<"input baris :";
cin>>baris;
cout<<"input kolom :";
cin>>kolom;
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<"Masukan data ke
["<<i<<"] ["<<j<<"] : ";
cin>>A[i][j];
}
}
cout<<"Isi Matriks A :\n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<A[i][j]<<" ";
}
cout<<endl;
}
int m[baris],n;
cout<<"penghitungan vektor
\n";
cout<<"berapa variabel : ";
cin>>m[kolom];
for(int
z=0; z<kolom; z++){
cout<<"Masukan
data ke ["<<z<<"] "" : "; cin>>m[z];
}
cout<<endl;
cout<<" vektor b : \n";
for(int
z=0; z<kolom; z++){
cout<<m[z]<<"\n";
}
cout<<"perkalian matrik dan
vektor \n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
for(int z=0; z<kolom; z++){
n=A[i][j]*m[z];
cout<<n<<" ";
}
}
}
return
0;
}
6. Eksekusi
2.
Diberikan suatu matriks berordo n. Buatlah algoritma dan program untuk mencetak matriks identitas berodo n.
1. Identifikasi
masalah
→ program
untuk mencetak matriks identitas berodo n
2. Menetukan
Input Output:
→ input :i, j, n
→output :masukkan ordo matriks
3. Membuat
Algoritma/flowchart
Algoritma:
Deklarasi:
i, j, n :integer
Deklarasi:
Write(‘masukkan
ordo matriks ‘)
For i←1
to n do i++ then
For j←1
to n do then j++
if(i==j)
write(‘1’)
else
write(‘0’)
end for
end for
end if
4. Test
menggunakan data
→inputin :masukkan ordo matriks=4
→ouputi : 1
0 0 0
0 1 0 0
1
0 1 0
0 0 0 1
5. Implementasi
dengan c++
#include"iostream"
using
namespace std;
main(){
int i,j,n;
cout<<"masukkan ordo
matriks : "; cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i==j)
cout<<"1 ";
else
cout<<"0 ";
}
cout<<endl;
}
}
6. Eksekusi
3.
Buatlah algoritma dan program untuk menghasilkan transpose suatu matriks.
1.
Identifikasi masalah
→menghasilkan transpose
suatu matriks.
2.
Menentukan input dan output
→ input :i,
j, m, n ,o, mat [m][n]
→output :transpose
matriksnya adalah
3.
Membuat algoritma/flowchart
Deklarasi:
i,j,m,n,o,mat[m][n] :integer
Deskripsi:
write(‘Program transpose matriks C(m,n)’)
for i←0 to m do then i++
for j←0 to n do then j++
write(‘nilai
C("<<i+1<<","<<j+1<<")’)
end for
end for
write(‘matriks diatas diilustrasikan
seperti gambaran dibawah ini’)
for i←0 to m do then i++
for j←0 to n do then j++
write(‘mat[i][j]’)
end for
end for
o→m
m→n
n→o;
write(‘Transpose matriksnya adalah seperti
gambar dibawah ini\’)
for i←0 to m do then i++
for j←0 to n do then j++
write(‘mat[i][j]’)
end for
end for
4.
Test menggunakan data
→inputin :nilai
m=3
Nilain n=3
→ouput :matriks
dapat di ilustrasikan seperti gambar di bawah ini
1
2 3
4
5 6
2
4 5
transpose
matriksnya adalah
1
4 2
2
5 4
3
6 5
5.
Implementasikan dengan c++
#include"iostream"
using namespace std;
main(){ int i,j,m,n,o;
cout<<"Program
transpose matriks C(m,n)\nMasukkan nilai m : ";
cin>>m;
cout<<"masukkan nilai n : "; cin>>n;
int
mat[m][n];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<"nilai
C("<<i+1<<","<<j+1<<")=";
cin>>mat[i][j];
}
cout<<endl;
}
system("cls");
cout<<"matriks
diatas diilustrasikan seperti gambaran dibawah ini\n\n";
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<mat[i][j]<<"
";
}
cout<<endl;
}
o=m;
m=n; n=o;
for(j=0;j<m;j++){
for(i=0;i<n;i++){
cout<<mat[i][j]<<"
";
}
cout<<endl;
}
}
6.
Eksekusi
4.
Buatlah algoritma dan program mengalikan matriks dengan suatu skalar (konstanta).
1. Identifikasi
masalah
→ mengalikan
matriks dengan suatu skalar (konstanta)
2. Menentukan
input dan output
→input : q, brs, klm, i, j ,k
→output :matriks a=
Matriks b=
Matriks a x b=
3. Membuat
algoritma/flowchart
Deklarasi:
q, brs, klm , i, j,k :integer
for i ← 0
to brs do then i++
for j ← 0
to klm do then j++
write(‘ Elemen
(i + 1), (j + 1)’)
end for
end for
for i ← 0
to brs do then i++
for j ← 0
to klm do then j++
write((‘q + i *
klm + j) ‘)
end for
end for
for i ←0 to bA do then i++
for j ←0
to kB to then j++
(z + i * bB + j)
←
0;
For k ← 0
to kA do then k++
(z + i * bB + j)
+=←
(p + i * kA + k) * (*(q + k * kB + j))
End for
End for
End for
4. Test
menggunakan data
→input :jumlah baris dan kolom matriks
A=[2][3]
jumlah baris dan kolom matriks B=[3][2]
koordinat inputan misalkan berordo=[2][2]
→output :matriks A x B=|12 12|
-1 12
5. Implementasikan
dengan c++
#include
<iostream>
#include
<stdio.h>
#include
<stdlib.h>
using
namespace std;
void
Masukan(int *q, int brs, int klm) {
int i, j;
for(i = 0; i < brs; i++) {
for(j = 0; j < klm; j++) {
cout << " Elemen ["
<< (i + 1) << "][" << (j + 1) << "]?
";
scanf("%d", (q + i * klm
+ j));
}
}
}
void
Tampilkan(int *q, int brs, int klm) {
int i, j;
for(i = 0; i < brs; i++) {
cout << endl;
for(j = 0; j < klm; j++) {
cout <<" ";
cout << *(q + i * klm + j)
<< "\t";
}
}
cout << endl;
}
void
Kali(int *p, int *q, int *z, int bA, int kA, int bB, int kB) {
int i, j, k;
for(i = 0; i < bA; i++) {
for(j = 0; j < kB; j++) {
*(z + i * bB + j) = 0;
for(k = 0; k < kA; k++) {
*(z + i * bB + j) += *(p + i *
kA + k) * (*(q + k * kB + j));
}
}
}
}
int main()
{
cout<<"\t\t\tPROGRAM : PERKALIAN MATRIKS DENGAN SKALAR\n";
awal:
int *a, *b, *c, brsA, klmA, brsB, klmB;
cout<<"\n SYARAT...!!!\n";
cout<<" Jumlah Kolom A HARUS
SAMA dengan Baris B\n\n";
cout << " Jumlah Baris Matriks
A? ";
cin >> brsA;
cout << " Jumlah Kolom Matriks
A? ";
cin >> klmA;
cout << " Jumlah Baris Matriks
B? ";
cin >> brsB;
cout << " Jumlah Kolom Matriks
B? ";
cin >> klmB;
if(klmA != brsB) {
cout << " Perkalian TIDAK
Dapat Dilakukan." << endl;
cout << " Jumlah Kolom A
TIDAK Sama Dengan Jumlah Baris B." << endl;
} else {
a = (int *) malloc(brsA * klmA * 4);
b = (int *) malloc(brsB * klmB * 4);
c
= (int *) malloc(brsA * klmB * 4);
cout << "\n Kordinat Inputan
[y][x]" ;
cout << "\n Contoh: ordo
2x2" ;
cout << "\n
[1][1]\t[1][2]\t" ;
cout << "\n
[2][1]\t[2][2]\t" ;
cout << "\n\n Input Matriks
A:\n" ;
cout << "
----------------\n";
Masukan(a, brsA, klmA);
cout << "\n Input Matriks
B:\n" ;
cout << "
----------------\n";
Masukan(b, brsB, klmB);
cout << "\n Matriks A:"
<< endl;
Tampilkan(a, brsA, klmA);
cout << "\n Matriks B:"
<< endl;
Tampilkan(b, brsB, klmB);
Kali(a, b, c, brsA, klmA, brsB, klmB);
cout << "\n Matriks A x
B:" << endl;
Tampilkan(c, brsA, klmB);
}
cout<<"\n\n
Apakah Anda Ingin Mengulang [Y/N] ? "
;
char m ;
cin>>m;
if (m ==
'y' || m== 'Y')
goto awal;
else if (m
== 'n' || m== 'N')
{
goto
akhir;
}
akhir:
cout<<"\n\n\t\t\t \"TERMA KASIH\"";
return 0;
}
Langganan:
Postingan (Atom)