Selasa, 20 September 2016

sdata minggu pertama

 Struktur Data
mengikuti belajar struktur data di semester III masuk jam 07.00 am, di beri tugas untuk belajar mengti menggunakan 10 jari dan seperti semester lalu kita membuat group yang terdiri dari tiga orang. lalu mengirimkan foto groupnya ke facebook beserta alamat blog masing-masing.

Saya berharap dalam belajar struktur data dapat menguasai materi sesuai dengan target dosen pengampu. Bisa mengikuti pembelajaran selama satu semester ke depan dengan baik. Sehingga bisa mendapatkan ilmu dan nilai sesuai yang di harapkan.

Jumat, 10 Juni 2016

Assalamu'alaikum w.w.,


Hari selasa tanggal 17 Mei 2016perkuliahan alpro minggu ke-10 yaitu tentang : SEARCHING. Seperti pertemuan sebelumnya sebelum dosen datang maka kita sudah harus mempersiapkan/membuka : Rencana Kuliah, PPT, Diktat, E-Book.

Dosennya menjelaskan materi SEARCHING yang didalmnya terdapat Linear Search & Binary Search. Dosennya menjelaskan sesuai dengan 6 kaidah/langkah. Dosennya memberi tugas di kelas, terdapat 2 tugas diantarannya di kumpulkan pada saat perkuliahan selesai 09.00 WIB, dan setelah Solat zuhur 12.00 WIB.

 
 Wassalamu'alaikum w.w.

MENGHITUNG BILANGAN KOMPLEKS

Menghitung Bilangan Kompleks dengan C++ . bilangan kompleks adalah bilangan yang berbentuk

 a + bi \,
di mana a dan b adalah bilangan riil, dan i adalah bilangan imajiner tertentu yang mempunyai sifat         i 2 = −1

Analisis
              Input sebuah bilangan asli.
              Output menjadi bilangan kompleks.

C++
//Program operasi bilangan kompleks
#include<iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
struct
{
float r1;
float r2;
float i1;
float i2;
}bilangan;
int main(int argc, char** argv)
{
 cout<<"\n____________________________";
 cout<<"\n| OPERASI BILANGAN KOMPLEK |";
 cout<<"\n____________________________\n";
 cout<<"bilangan real 1 = "; cin>>bilangan.r1;
 cout<<"bilangan imajiner 1 = "; cin>>bilangan.i1;
 cout<<endl<<endl;
 cout<<"bilangan real 2 = "; cin>>bilangan.r2;
 cout<<"bilangan imajiner 2 = "; cin>>bilangan.i2;
 cout<<endl<<endl;

cout<<"* PENJUMLAHAN *"<<endl;

cout<<"("<<bilangan.r1<<"+"<<bilangan.i1<<"i) "
    <<" + "<<"("<<bilangan.r2<<"+"<<bilangan.i2<<"i) = "
    <<bilangan.r1 + bilangan.r2 <<"+"<<bilangan.i1 + bilangan.i2<<"i"<<endl;
cout<<endl<<endl;

cout<<"* PENGURANGAN *"<<endl;
cout<<"("<<bilangan.r1<<"+"<<bilangan.i1<<"i) "
    <<" - "<<"("<<bilangan.r2<<"+"<<bilangan.i2<<"i) = "
    <<bilangan.r1 - bilangan.r2 <<"+"<<bilangan.i1 - bilangan.i2<<"i"<<endl;
cout<<endl<<endl;

cout<<"* PERKALIAN *"<<endl;
cout<<"("<<bilangan.r1<<"+"<<bilangan.i1<<"i) "
    <<" * "<<"("<<bilangan.r2<<"+"<<bilangan.i2<<"i) = "
    <<bilangan.r1*bilangan.r2<<"+"<<bilangan.r1*bilangan.i2<<"i"<<" + "
 <<bilangan.r2*bilangan.i1<<"i"<<" - "<<bilangan.i1*bilangan.i2
 <<" = "<<(bilangan.r1*bilangan.r2) - (bilangan.i1*bilangan.i2)<<" + "
 <<(bilangan.r1*bilangan.i2) + (bilangan.r2*bilangan.i1)<<"i"<<
 endl;

}

MENGHITUNG IPK MAHASISWA C++

Menghitung IPK menggunakan program C++ .
Analisis
              1. Input yang akan digunakan disini adalah , menginputkan jumlah SKS dan Input nilai dalam bentuk huruf A-E.
              2. Outpunya akan menghasil nilai IPK berdasar SKS dan Nilai huruf yang telah di inputkan.
algoritma
                     Procedure IPK (input/output matkul[50] ::char , jmk :: integer, bsks::integer)
                    Deklarasi
                         i -> integer
                         bnilai[100]->integer
                         mutu[100]->integer
                     Deskripsi
                           for(i=1;i<=jmk;i++):
                                read(matkul[i]);
                                    if (matkul[i]=='A') then bnilai[i]=4;
                                  else if (matkul[i]=='B') then bnilai[i]=3;
                                  else if (matkul[i]=='C') then bnilai[i]=2;
                                 else if (matkul[i]=='D') then bnilai[i]=1;
                                  else if (matkul[i]=='E') then bnilai[i]=0;
                                     endif
                               read(bsks[i]);
                                        if(bsks[i]>=1 && bsks[i]<=4) then bsks[i]= bsks[i];
                                        endif
                                     mutu[i]=bnilai[i]*bsks[i];
                                      endfor

                                  float tmutu=0, tbobot=0;
                                 for(z=1; z<=jmk; z++):
                                 tmutu+=mutu[z];
                                          tbobot+=bsks[z];
                                           endfor
                                    float ipk;
                                  ipk=tmutu/tbobot;
                                   write(ipk).


c++
#include<iostream>
#include<conio.h>
#include<ctype.h>
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
using namespace std;

typedef struct{
 char npm[15];
 char nama[50];
 char fakultas[25];
 char prodi[25];
}mahasiswa;
class matakuliah {
 private:
  int bsks[170];
  int bnilai[170];
  int total[170];
  int mutu[170];
   int jmk,i;
 char matkul[170];
 char *cbsks[170];
 char sem;

 public:
  matakuliah();
  void input();
  void output();
};

matakuliah::matakuliah(){
 mahasiswa mhs;
 cout<<"=== Hitung IPK Mahasiswa===\n\n";
 cout<<"Masukkan Nama: "; cin>>mhs.nama;
 cout<<"Masukkan NIM: "; cin>>mhs.npm;
 cout<<"Masukkan Fakultas: "; cin>>mhs.fakultas;
 cout<<"Masukkan Program Studi: "; cin>>mhs.prodi;
 cout<<"Anda Sekarang Semester: "; cin>>sem;
}
void matakuliah::input(){

  int jmk, i, z;

 cout<<"Masukkan Jumlah Mata Kuliah: "; cin>>jmk;
 cout<<"===================================\n\n";
 cout<<"Masukkan Nilai Anda [A..E]\n";
 for(i=1; i<=jmk; i++){
  kondisi:
  cout<<"Mata kuliah ke "<<i<<" : "; cin>>matkul[i];
  if(matkul[i]=='a' || matkul[i]=='A'){
   bnilai[i]=4;
   }
  else if(matkul[i]=='b' || matkul[i]=='B'){
   bnilai[i]=3;
   }
  else if(matkul[i]=='c' || matkul[i]=='C'){
   bnilai[i]=2;
   }
  else if(matkul[i]=='d' || matkul[i]=='D'){
   bnilai[i]=1;
   }
  else if(matkul[i]=='e' || matkul[i]=='E'){
   bnilai[i]=0;
   }
  else{
   cout<<"Masukkan HANYA A,B,C,D,E!!\n";
   goto kondisi;
   }
  kond:
  cout<<"Bobot SKS [1..4]: "; cin>>bsks[i];
  if(bsks[i]>=1 && bsks[i]<=4){
   bsks[i]=bsks[i];
   }
  else{
   cout<<"Masukkan HANYA Angka 1-4!!\n";
   goto kond;
   }
  mutu[i]=bnilai[i]*bsks[i];
  }
 cout<<"\n\nHASIL\n";


}
void matakuliah::output(){
 mahasiswa mhs;
 float tmutu=0, tbobot=0;
 for(int z=1; z<=jmk; z++){
  tmutu+=mutu[z];
  tbobot+=bsks[z];
  }
 float ipk;

 ipk=tmutu/tbobot;
 cout<<"========================\n";
 cout<<"\nNIM: "<<mhs.npm;
 cout<<"\nSemester: "<<sem;
 cout<<"\nJumlah Mata Kuliah: "<<jmk;
 cout<<"\nTotal Mutu: "<<tmutu;
 cout<<"\nTotal SKS: "<<tbobot;
 cout<<"\nTotal IPK: "<<ipk;
 cout<<"\n\n========================";

}
int main(){
 matakuliah matkul;




 matkul.input();
 matkul.output();

 getch();
 return 0;
 }

MENGURUTKAN DATA DENGAN BUBBLE SORT

Masalah tentang mengurutkan angka dengan metode bubble sort. Metode bubble sort ini dilakukan
dengan cara melakukan perbandingan data pertama dengan data setelah nya. Jika data yang di sebelah kiri lebih besar maka data tersebut akan bertukaran tempat yang angka besar berpindah kekanan.


Analisis
          misal diberikan input {9,7,4,1} akan menjadi {1,4,7,9}.

          Proses yang terjadi:
          Tahap ke-1: 7, 9, 4, 1 :: 7, 4, 9, 1 ::7, 4, 1, 9 (ada 3 pertukaran)
          Tahap ke-2: 4, 7, 1, 9 :: 4, 1, 7, 9 (ada 2 pertukaran)
          Tahap ke-3: 1, 4, 7, 9  (ada 1 pertukaran -> proses selesai

Algoritma
           Procedure bubble(input a[0],t,n : integer)
                Deskripsi
                    for(int i=0;i<n;i++)
        for(int j=i;j<n;j++)
            if(a[i]>a[j])
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            endif
        endfor
    endfor


c++
#include <iostream>
#include <cstdlib>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void output(int a[0],int t,int n){
 for(int i=0;i<n;i++){
  for(int j=i;j<n;j++){
   if(a[i]>a[j]){
    t=a[i];
    a[i]=a[j];
    a[j]=t;
   }
  }
 }
 cout<<"\nSesudah Di Urutkan"<<endl;
 for(int i=0;i<n;i++){
  cout<<a[i]<<" ";
 }cout<<endl;
}
int main(int argc, char** argv) {
 int n,t;
 cout<<"Masukkan Batas : ";
 cin>>n;
 int array[n];
 cout<<"Masukkan data : ";
  for (int j=0;j<n;j++){
  cout<<"Data Ke-"<<j+1<<" = ";
  cin>>array[j];
 }
cout<<endl<<endl;
cout<<"sebelum di urutkan"<<endl;
 for (int j=0;j<n;j++){
  cout<<array[j]<<" ";
 }

  output(array,t,n);
 system("pause");


 return 0;
}

PERKALIAN MATRIKS DENGAN VEKTOR

Masalah dalam Perkalian Matriks (dengan Ordo di input dari pengguna) dengan Sebuah Vektor.
             Didalam perkalian Matriks dengan Vektor ini sebenarnya sama saja dengan mengalikan Dua Buah Matriks. Jumlah kolom dari Matriks harus sama dengan jumlah Baris didalam Vektor agar dapat dilakukan perkalian.



Analisis
               1. Input nya adalah Matriks dengan Ordo 2x3 akan dikali dengan Vektor 3x1.
               2. Lakukan proses perkalian dengan mengalikan baris dalam Matriks dengan Angka di kolom vektor. Misal = (a11*b11)+(a12*b12)+(a13*b13) dan (a21*b11)+(a22*b12)+(a23*b13)
               3. Maka akan menghasilkan matriks baru dengan ukuran 2x1. Sebut saja matriks C, inilah yang akan di outputkan nanti.

Algoritma
           Procedure kali( input/output matriks[ ][ ],vektor[ ],hasil[ ]:: integer)::integer
           Deklarasi
                  i,k :: integer
           Deskripsi
                  for(i=0;i<a;i++)
                  for(k=0;k<b;k++)
                    hasil[i]=hasil[i]+(matriks[i][k])*(vektor[k]);
                  endfor endfor
 for(int i=0;i<a;i++)
    read(hasil[i]);
 endfor

Pengujian dengan data
 Hasil dari perkalian diatas:

Jadi :
C11 = (a11*b11)+(a12*b12)+(a13*b13) dan
C21 = (a21*b11)+(a22*b12)+(a23*b13)
C11 = (
C11 = (3x3) + (2x1) + (1x0) dan
C21= (1x3) + (2x1) + (1x0)

Hasil  Akhirnya :
11
5

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

int main(int argc, char** argv) {
 int a,b;
 cout<<"Masukkan Baris : ";
 cin>>a;
 cout<<"Masukkan Kolom : ";
 cin>>b;
 int matriks[a][b],vektor[b],hasil[10];


 for(int i=0;i<a;i++){
  for(int j=0;j<b;j++){
   cout<<"Masukkan Data Matriks ke-["<<i+1<<"]["<<j+1<<"] : ";
   cin>>matriks[i][j];
 
  }
 }
 for(int i=0;i<b;i++){
  cout<<"Masukkan Data Vektor ke-["<<i+1<<"] : ";
   cin>>vektor[i];
 
 }
 cout<<"MATRIK A "<<endl;
 for(int i=0;i<a;i++){
  cout<<setw(5);
  for(int j=0;j<b;j++){
  cout<<matriks[i][j]<<setw(5);
  }cout<<endl;
 }
 cout<<endl;

 for(int i=0;i<b;i++){
  cout<<setw(2)<<vektor[i]<<endl;
 }
 for(int i=0;i<2;i++){
  hasil[i]=0;
 }
 cout<<"\nHasil Kali nya = "<<endl;
  for(int i=0;i<a;i++){
  for(int k=0;k<b;k++)
 
   hasil[i]=hasil[i]+(matriks[i][k])*(vektor[k]);
 
 }
 for(int i=0;i<a;i++){
  cout<<hasil[i]<<endl;
 }



 return 0;
}

Selasa, 24 Mei 2016

perkalian matriks dengan vektor



Pada kali ini saya membuat perogram tentang perkalian matriks dengan vektor, menggunakan Dev c++ dan reptor, program ini juga dibuat dengan 6 langkan yaitu :




1. mengerti masalah :




Bagai mana mengalikan dengan vektor.




2. menentukan input dan output :




Input -> Matriks : | 1  3  7 |

| 0  2  5 |

Vaktor : | 3 |

| 1 |

| 4 |

Output -> hasil : | 34 |

| 22 |




3. membuat algoritma :



Procedur kali matrik ( input/output i,j matrikvektor)




Deklarasi :

i,j = integer

Deskripsi :

for i <- 1 to 2 do

for j <- 1 to 3 do

([i,j]=(]i,j]+a[i,j]*b[i,j])

endfor

endfor

end




4. mengimplementasikan ke bahasa c++ :



#include <iostream>

#include <cstdlib>




/* run this program using the console pauser or add your own getch, system("pause") or input loop */




using namespace std;




void kali(int matrik[2][3],int vektor[3],int hasil[2]){

cout<<"Matrik : \n";

for(int i=0;i<2;i++){

for(int j=0;j<3;j++)

hasil[i]=hasil[i]+(matrik[i][j]*vektor[j]);

}

}

void cetakm(int hasil[][3]){

for(int i=0;i<2;i++){

for(int j=0;j<3;j++)

cout<<"\t"<<hasil[i][j]<<" ";

cout<<endl;

}

}

void cetakv(int vektor[]){

cout<<"\nVektor : \n";

for(int i=0;i<3;i++){

cout<<"\t"<<vektor[i]<<endl;

}

}




void cetak(int hasil[]){

cout<<"\nHasil Terakhir : \n";

for(int i=0;i<2;i++){

cout<<"\t"<<hasil[i]<<endl;

}

}




int main(int argc, char** argv) {

int matrik[2][3]={1,3,7,0,2,5}, vektor[3]={3,1,4},hasil[2]={0};




kali(matrik,vektor,hasil);

cetakm(matrik);

cetakv(vektor);

cetak(hasil);



return 0;

}















5. outputnya









6. menguji coba data




Matriks :

A = | 1  3  7 |

| 0  2  5 |

Vektor :

B = | 3 |

| 1 |

| 4 |

Perkalian :

C = | a11.b11 + a12.b12 + a13.b13 |

| a21.b11 + a22.b12 + a23.b13 |




= | 1x3 + 3x1 + 7x4 | = | 3 + 3 + 28 |

| 0x3 + 2x1 + 5x4 | | 0 + 2 + 20 |




Hasil = | 34 |


| 22|