Rabu, 21 September 2016

Refleksi 2

Refleksi 1

Selasa,6 September 2016
Hari ini adalah kuliah perdana di semester 3. Dosen menjelaskan tentang mata kuliah Struktur Data dan memberikan penjelasan tentang materi.

Rabu, 25 Mei 2016

Mengalikan Vektor (2 elemen) dengan Matriks berukuran 2x3 dan Vektor (3 elemen)

1. Identifikasi Masalah
Mengalikan Vektor (2 elemen) dengan Matriks berukuran 2x3 dan Vektor (3 elemen)

2. Menentukan input dan output
Input :
matrix [2] [3] = {4,3,5,6,2,1}  
vektor [3] = {2,4,1}  
vek [2] = {2,9}
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
25
21

Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) :
50
189

3. Membuat Flowchart atau Algoritma
Algoritma Perkalian_Matrix
{ Menghitung hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3)}

Deklarasi :
matrix [2] [3] = {4,3,5,6,2,1}              : integer
vektor [3] = {2,4,1}                            : integer
vek [2] = {2,9}                                  : integer
hasil [2] ={0}                                      : integer

Deskripsi :
Write('Matrik elemen 2x3 : \n')
            for i ÃŸ 0 to 2 do then i++
                        for j ÃŸ 0 to 3 then j++
                                    hasil[i] ÃŸ hasil[i]+(matrix[i][j]*vektor[j]);
            end for
                        end for

for i ÃŸ 0 to 2 do then i++
            for j ÃŸ 0 to 3 then j++ then
                        write(hasil[i][j])
            end for
                        end for

write(‘Vektor 3 elemen: \n’)
            for j ÃŸ 0 to 3 then j++ then
                        write(vektor[i])
end for

write(‘Vektor 2 elemen : \n’)
            for i ÃŸ 0 to 2 then i++ then
                        write(vek[i])
end for

write(‘Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n’)
            for i ÃŸ 0 to 2 then i++
                        write(hasil[i])
end for

write(‘Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \n’)
for i ÃŸ 0 to 2 then i++
                        hasil[i] ÃŸhasil[i]*vek[i];
                        write(hasil[i])

end for

4. Test Menggunakan data
Input :
matrix [2] [3]:  | 4 3 5 |
 | 6 2 1 |
vektor [3]        : | 2 |
                          | 4|
                          | 1 |
vek [2]   |  2  |
               | 9 |
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
25
21

Kemudian hasilnya dikalikan dengan asil perkalian vektor(elemen 2) ,
Hasil akhirnya adalah :
50
189

5. Implementasi c++

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void perkalian(int matrix[2][3],int vektor[3],int hasil[2]){
 cout<<"Matrik elemen 2x3 : \n";
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   hasil[i]=hasil[i]+(matrix[i][j]*vektor[j]);
 }
}

void cetakmatrix(int hasil[][3]){
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   cout<<hasil[i][j]<<" ";
   cout<<endl;
 }
}

void cetakvektor(int vektor[]){
 cout<<"Vektor 3 elemen: \n";
 for(int i=0;i<3;i++){
  cout<<vektor[i]<<endl;
 }
}

void cetakb(int vek[]){
 cout<<"Vektor 2 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<vek[i]<<endl;
 }
}
void cetak(int hasil[]){
 cout<<"Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<hasil[i]<<endl;
 }
}

void cetaka(int vek[2],int hasil[]){
 cout<<"Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \n";
    for(int i=0;i<2;i++){
 hasil[i]=hasil[i]*vek[i];
 cout<<hasil[i]<<endl;
}
}

int main(int argc, char** argv) {
 int matrix[2][3]={4,3,5,6,2,1}, vektor[3]={2,4,1},vek[2]={2,9},hasil[2]={0};
 perkalian(matrix,vektor,hasil);
 cetakmatrix(matrix);
 cetakvektor(vektor);
 cetak(hasil);
 cetakb(vek);
 cetaka(vek,hasil);
 return 0;
}

6. Exekusi



Selasa, 17 Mei 2016

bubble sort

  • permasalah
    mengurutkan data acak menggunakan metode bubble sort
    metodenya jika nilai sebelah kanan lebih kecil tukar pisisi keduanya.
    misal:
    2 3 1 → (2,3) tak perlu di tukar


    2 3 1 → tukar(3,1) sudah di akhir mulai dari depan lagi
    2 1 3 → tukar(2,1)
    1 2 3 → selesai
  •  analisis
    melakukan perulangan dua tingkat sepanjang array. ditingkat terbawah perulangan dilakukan pengecekan disetiap indek dengan sampingnya apakah lebih besar maka tukarkan posisi keduanya
flowchart raptor
                                            bs(bubble sort proses)
                                                        input
                                                                                           main
                                                                   tampil
                                                                       tukar

  • c++
  • #include <iostream>
    using namespace std;
    void tampil(int d[],int n){
    for(int i=0;i<n;i++)
    cout<<d[i]<<" ";
    cout<<endl;
    }
    void tukar(int &a,int &b){
    int t=a;
    a=b;
    b=t;
    }
    void bs(int d[],int n){
    for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
    if(d[j]>d[j+1]) tukar(d[j],d[j+1]);
    }
    tampil(d,n);
    }
    }
    int main(int argc, char** argv) {
    int d[]={9,2,6,1,8,5,4,0,3,7};
    int n=sizeof d/sizeof(int);
    tampil(d,n);
    bs(d,n);
    return 0;
    }


lama kerja 5 jam

insertion sort

---permasalahan
mengurutkan data dengan metode insertion.
misal:
0 0 0 0 → 4 → 4 0 0 0
4 0 0 0 → 1 → 1 4 0 0
1 4 0 0 → 2 → 1 2 4 0
1 2 4 0 → 3 → 1 2 3 4

---analisis
  1.untuk data pertama masukan ke indek pertama sebagai acuan berikutnya.
  2.masukkan input, cek nilai diurutkan dari depan apakah ada nilai yang lebih besar dari yang     diinputkan maka catat posisinya dan geser posisi tersebut dan setelahnya. kemudian sisipkan     inputan tersebut di posisi yang dicatat.
  3.ulangi langkah kedua sampai selesai inputnya.

flowchart raptor
                                                    gsr(untuk menggeser indek)

                                                                     main

                                                       po(mencari posisi)

          
                                                  t(untuk menampilkan)



c++


#include <iostream>
using namespace std;
int d[8]={0};

int po(int a){
int p=-1;
for(int i=0;i<8;i++){
if(a>d[i]&&d[i]!=0){
p=i;}
}
return p+1;
}

t(){
for(int i=0;i<8;i++){
cout<<d[i]<<" ";
}
cout<<endl;
}
void gsr(int a){
int t;
for(int i=a;i<7;i++){
t=d[i+1];
d[i+1]=d[a];
d[a]=t;

}
}
int main(){
int in;
for(int i=0;i<8;i++){
cin>>in;

if(po(in)<=i) {
gsr(po(in));
d[po(in)]=in;
} else
d[i]=in;
t();
}
}


lama kerja 4 jam

Senin, 16 Mei 2016

Refleksi 9

Assalamualaikum.wr.wb


Refleksi 8

Assalamualaikum.wr.wb
Pada minggu ke-8 Kuliah Algoritma & Pemrograman, di kelas kita membahasa soal UTS, dan sedikit review materi tentang perulangan iteratif dan rekursif.

Minggu, 17 April 2016

Refleksi 7

Assaamualaikum...
Untuk minggu ini seperti biasa sebelum memulai perkuliahan diadakan KUIS yang jawabannya harus mengikuti prosedur yang dosen inginkan, jika tidak mengikuti prosedur maka jawaban yang di kuis tidak akan di nilai oleh dosen..
Setelah kuis kami memasuki materi minggu ke 7 yaitu mengenai ARRAY SATU DIMENSI.
Dosen menjelaskan beberapa contoh untuk mengetahui bagaimana cara mengnali array,

wassalamualaikum...

Refleksi 6

Assalamualaikum.
1. Membuat algoritma (sesuai yang ada di ppt) subprogram menentukan nilai maksimum dan minimum dari 3 buah bilangan.
2. Buatlah Function main dan void main.
Setelah kuis dosen menjelaskan bagaimana perbedaan rekursif dan iteratif ,, dan diberitahu cara kerja return dan bagaimana proses pembalikan kata yang telah diinputkan ...

Sekian dan Terimakasih

Wassalamualaikum..

LATIHAN DIKTAT

LATIHAN 1 diktat bab7

#include <iostream>
#include <windows.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void masuk(int c[20],int b[20]){
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            cout<<"Vaktor A "<<i<<","<<j<<" =";cin>>b[i,j];
            cout<<"Vaktor B "<<i<<","<<j<<" =";cin>>c[i,j];
         
        }
    }
    system("cls");
}
void proses(int b[20],int c[20],int hasil[20],int kali[20]){
 
        cout<<"Vaktor A"<<endl;
    for(int i=1;i<=2;i++){
        for(int j=1;j<=3;j++){
            cout<<b[i,j]<<" ";
        }
    }
    cout<<"\n\nVaktor B"<<endl;
        for(int i=1;i<=2;i++){
        for(int j=1;j<=3;j++){
            cout<<c[i,j]<<" ";
        }
    }
    cout<<"\n\nVektor C"<<endl;
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            hasil[i,j]=b[i,j]+c[i,j];
         
            cout<<hasil[i,j]<<" ";
        }
     
    }
    cout<<"\n\nVaktor Hasil Kali"<<endl;
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            kali[i,j]=b[i,j]*hasil[i,j];
         
            cout<<kali[i,j]<<" ";
        }
     
    }
    cout<<"\n\nBanyak Elemen ="<<12;
}

int main(int argc, char** argv) {
    int hasil[20];
    int kali[20];
    int b[20];
    int c[20];
    cout<<"Menghitung faktor"<<endl;
    masuk(b,c);
    proses(b,c,hasil,kali);
    return 0;
}

LATIHAN 3diktat bab 7
Mengubah huruf Kapital ke huruf kecil.
Void nama(){
I=integer.
Char nama[100];
Char c;
Char entri[100]//variabel entri maksimum 100 karakter.
While(nama[i]);
{
If(isupper(c)) c=tolower(c);
Puthcar (c);
Mengubah huruf kecil ke huruf kapital ;
while (entri[a]){
out=entri[a];
if(islower(out)) out=toupper(out);
putvhar (out);
END;

c++nya :

PPT

Program Mencari Rata Rata C++(PPT.7.k.1)
Dalam Program Kali ini saya akan berbagi program c++ untuk mencari data sebanyak n dengan menggunakan Array 1 dimensi
Dalam program ini kita menginputkan sebanyak inputan data yang kita ingginkan
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include ('iostream')
#include ('conio.h')
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//Membaca Nilai
void baca_data(int A[],int n){
int i;
for(i=0;i<n;i++){
cout<<"Data "<<i+1<>A[i];
}
}
//Mencari Rata-Rata
float rata_rata(int x[],int n){
int i;
float total=0;
for(i=0;i<n;i++){
total=total+x[i];
}
return(total/n);
}
int main(int argc, char** argv) {
int n,x[100];
cout<<"Mencari Rata - rata dari n bilanga"<<endl;
cout<>n;
baca_data(x,n);//Membaca Nilai
/*int a[n];
for(int i=0;i<n;i++){
cout<<"Data ke - "<<i+1<>a[i];
}*/
cout<<"Jadi rata - ratanya adalah : "<<rata_rata(x,n);
getch();
return 0;
}

Program Mencari Mean dan Deviasi (PPT.7.k.2)

Dalam Program Kali ini saya akan berbagi program c++ untuk mencari mean dan deviasi sebanyak n dengan menggunakan Array 1 dimensi
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include (iostream)
#include (math.h)
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int A[],int n){
int i;
for(i=0;i<n;i++){
cout<<"Data "<<i+1<>A[i];
}
}
//Mencari Rata-Rata
float rata_rata(int x[],int n){
int i;
float total=0;
for(i=0;i<n;i++){
total=total+x[i];
}
return(total/n);
}
long sqr(int n){
return(n*n);
}
float STD(const int x[],int n,float rata_rata){
int i;
float jumlah=0;
for(i=0;i<n;i++){
jumlah = jumlah + sqr(x[i]-rata_rata);
}
return(sqrt(jumlah/(n-1)));
}
int main(int argc, char** argv) {
int a[100],b;
cout<<"Mencari Mean dan Deviasi dari n data menggunakan array"<<endl;
cout<<"------------------------------------------------------"<<endl;
cout<>b;
baca_data(a,b);
float x=rata_rata(a,b);
cout<<"Mean dari data : "<<x<<endl;
cout<<"Nilai Deviasi : "<<STD(a,b,x);
return 0;
}

Program Mencari Nilai Max (PPT.7.k.3)

Dalam Program Kali ini saya akan berbagi program c++ untuk mencari data paling besar dan data paling kecil dalam sebuah arraya
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include (iostream)
#include (math.h)
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int A[],int n){
int i;
for(i=0;i<n;i++){
cout<<"Data "<<i+1<>A[i];
}
}
//Mencari Rata-Rata
float rata_rata(int x[],int n){
int i;
float total=0;
for(i=0;i<n;i++){
total=total+x[i];
}
return(total/n);
}
long sqr(int n){
return(n*n);
}
float STD(const int x[],int n,float rata_rata){
int i;
float jumlah=0;
for(i=0;i<n;i++){
jumlah = jumlah + sqr(x[i]-rata_rata);
}
return(sqrt(jumlah/(n-1)));
}
int main(int argc, char** argv) {
int a[100],b;
cout<<"Mencari Mean dan Deviasi dari n data menggunakan array"<<endl;
cout<<"------------------------------------------------------"<<endl;
cout<>b;
baca_data(a,b);
float x=rata_rata(a,b);
cout<<"Mean dari data : "<<x<<endl;
cout<<"Nilai Deviasi : "<<STD(a,b,x);
return 0;
}

Program Mencari Nilai Max dan Min(PPT.7.k.4)

Dalam Program Kali ini saya akan berbagi program c++ untuk mencari data paling besar dan data paling kecil dalam sebuah arraya
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy
#include (iostream)
#include (math.h)
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int A[],int n){
int i;
for(i=0;i<n;i++){
cout<<"Data "<<i+1<>A[i];
}
}
//Mencari Rata-Rata
/*float rata_rata(int x[],int n){
int i;
float total=0;
for(i=0;i<n;i++){
total=total+x[i];
}
return(total/n);
}
long sqr(int n){
return(n*n);
}
float STD(const int x[],int n,float rata_rata){
int i;
float jumlah=0;
for(i=0;ib){
return(a);
}
else{
return(b);
}
}*/
int mak_min(int data[],int n,int *m1,int *m2){
*m1 = data[0];
*m2 = data[0];
for(int i=0;i *m1){
*m1 = data[i];}
if(data[i] < *m2){
*m2 = data[i];}
}
}
int main(int argc, char** argv) {
int a[100],b,m1,m2;
cout<<"Mencari Nilai Max dan Min dari N Bilangan"<<endl;
cout<>b;
baca_data(a,b);
mak_min(a,b,&m1,&m2);
cout<<"Nilai Max : "<<m1<<endl;
cout<<"Nilai Min : "<<m2<<endl;
/*float x=rata_rata(a,b);
cout<<"Mean dari data : "<<x<<endl;
cout<<"Nilai Deviasi : "<<STD(a,b,x);*/
return 0;
}

Program Palindrom C++ (PPT.7.k.6)

Program ini adalah program untuk menentukan apakah kata ini palindrom atau tidak menggunakan fungsi strl pada library string.h
Artinya Palindrom adalah kata yang ketika dibalik iu sama, contohnya kata ini. jika kata ini di balik dan dibaca dari belakang makan akan tetap terbaca ini. Itulah yang dimaksut dengan kata Palindrom
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
/*void balikkata(string a){
int j; 
j=strln(a);
}*/
int main(int argc, char** argv) {
char kata[15];
int belakang;
bool palindrome = true;
cout<<"Program Mencari kata yang sama atau Palindrom"<<endl;
cout <<"Masukkan kata yang mau di cek 2 kata yah : ";
cin.getline(kata, sizeof(kata)); 
int panjang = strlen(kata);
belakang = panjang-1; 
for(int a=0; a<panjang; a++)
{ 
if((char)tolower(kata[a])!=(char)tolower(kata[belakang]))
{
palindrome = false;
break;
}
belakang--;
} 
if(palindrome)
cout<<"Palindrom"<<endl;
else
cout<<"Bukan Palindrom"<<endl;
return 0;
}

Algoritma Penganti Fungsi Strln(PPT.7.Lat.1)

Dalam masanya kita disuruh menghitung banyaknya karakter dalam sebuah string. ketika kita menggunakan bahasa C++ iu bukan lah hal yang sulit karena dalam bahasa ini disediakan fungsi Strln
Fungsi Strl adalah untuk menghitung banyaknya karakter dalam sebuah string, dengna prinsip semua kartakter yang mempunyai kode ASCII dibaca
Nah kali ini saya akan membagikan algoritma yang membentuk Fungsi Strln tersebut
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include (iostream)
#include (string.h)
#include (conio.h)
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void balik(char s[],int a){
int b=0;
do{
if(s[a]=='\0'){ 
cout<<"Ini adalah banyaknya atau panjang karakter yang di masukan : "<<a;
b=1;
}
else{
a++;
}
}while(b==0);
}
int main(int argc, char** argv) {
char kata[100];
int a=0,b=0; 
cout<<"Mencari banyakanya karakter dari yang di inputkan"<<endl;
cout<<"Atau Algoritma penganti fungsi Strl"<<endl;
cout<<"-----------------------------------"<<endl;
cout <<"Masukkan kata : ";
cin.getline(kata, sizeof(kata));
cout<<endl<<endl;
balik(kata,a);
/*balik(kata,a);*/
getch();
return 0;
}

Menggunakan Fungsi Toupper(PPT.7.Lat.2)
 Berikut adalah salah satu fungsi yang ada pada library String.h dalam bahasa C++
Berikut adalah Program yang telah di run dengan compailer Dev c++ dan dibawahnya scrit yang bisa di copy

#include (iostream)
#include (string.h)
#include (conio.h)
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
/*class membesarkan{
public :
void input();
void proses();
void output();
private :
char a[100];
};
void membesarkan::input(){
cout<<"Membuat huruf besar dan kecil"<<endl;
cout<<"Masukan kata / kalimat : ";
cin.getline(a,sizeof(a));
}
void membesarkan::proses(){
int b;
for(b=0;a[b]=='\0';b++){
a[b]=toupper(a[b]);
}
}*/
void ubah(char d[]){
int a=0;
do{
if(a%2!=0){
d[a]=toupper(d[a]);
}
a++;
}while(d[a]!='\0');
cout<<"Sesudah menggunakan toupper : "<<d<<endl;
}
int main(int argc, char** argv) {
/*membesarkan x;
x.input();
x.proses();*/
char d[100];
cout<<"Menggunakan fungsi Toupper"<<endl<<endl;
cout <<"Masukkan kata : ";
cin.getline(d, sizeof(d));
//cout<<"Masukan Kata : ";cin.getline(d,sizeof(d));
cout<<"Sebelum menggunakan toupper : "<<d<<endl;
ubah(d);
return 0;
}


Diberdayakan oleh Blogger.