Blog Kumpulan Tugas

Tampilkan postingan dengan label Algoritma Pemrograman. Tampilkan semua postingan
Tampilkan postingan dengan label Algoritma Pemrograman. Tampilkan semua postingan

Jumat, 17 Juni 2016

Perkalian Matriks

#include<iostream>

using namespace std;

void input(int kolom, int baris,int k){
int matrik[100][100]; 
//input matrik  
for (int x = 0;x<baris;x++){ 
for (int y =0;y<kolom;y++){ 
cout <<"masukan nilai matrik kedua baris ke-"<<(x+1)<<" kolom ke-"<<(y+1)<<" : "; 
cin>>matrik[x][y]; 
} 
} 
cout<<endl;
for (int x = 0;x<baris;x++){ 
for (int y =0;y<kolom;y++){
cout<<matrik[x][y]<<" "; 
}
cout<<endl;
} 
cout<<endl;
cout<<"setelah di kali kontanta"<<endl;

for (int x = 0; x<baris; x++){ 
for (int y =0; y<kolom; y++){
matrik[x][y]=k*matrik[x][y];
cout<<matrik[x][y]<<" "; 
}
cout<<endl;
} 
}
main(){
int baris,kolom,k;
cout<<"masukan baris= " ; cin>>baris;
cout<<"masukan kolom= " ; cin>>kolom;
    cout<<"masukan konstanta= "; cin>>k;
    cout<<endl;
    input(baris,kolom,k);
 



}
Share:

Metrik Transpose

#include <iostream>

using namespace std;

void masuk(int mat[2][2], int baris, int kolom){
for(int i=0;i<baris;i++){
for(int j=0;j<kolom;j++){
cout<<"Masukkan nilai ["<<i<<"]["<<j<<"] : ";cin>>mat[i][j];
}
}
}

void transpose(int mat[2][2], int baris, int kolom){
for(int i=0;i<baris;i++){
for(int j=0;j<kolom;j++){
cout<<" "<<mat[j][i]<<" ";
}
cout<<endl;
}
}

void tampil(int mat[2][2], int baris, int kolom){
for(int i=0;i<baris;i++){
for(int j=0;j<kolom;j++){
cout<<" "<<mat[i][j]<<" ";
}
cout<<endl;
}
}

main(){

int mat[2][2];

masuk(mat, 2, 2);
cout<<endl;
tampil(mat, 2, 2);
cout<<endl<<endl<<"Transpose diatas adalah : "<<endl;
transpose(mat, 2,2);

return 0;
}
Share:

Mencetak Matriks Identitas

#include <iostream>
#include <conio.h>

using namespace std;
void iden (int n){
 for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
            if(i==j) cout<<"1 ";
            else cout<<"0 ";
            }
            cout<<endl;      
 
}
}

int main(){
    int n;
 
    cout<<"MENCETAK MATRIKS IDENTITAS"<<endl;
    cout<<"----------------------------------"<<endl;
    cout<<"Masukkan ordo matriks : ";
    cin>>n;
    cout<<endl;
    iden(n);

Share:

Menggabungkan Array 2 Dimensi

#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream>
using namespace std;

float A[5][5]={{4,1,2},{1,3,1},{1,2,5}};
float G[5][6];
float b[5]={16,10,12};
float factor,dummy,x[5];

int i,j,k,n=3;

main(){

// bentuk matriks gabungan

for(i=0;i<n;i++) for(j=0;j<n;j++) G[i][j]=A[i][j];

for(j=0;j<n;j++) G[j][n]=b[j];

printf("Matriks penggabungan\n");

for(i=0;i<n;i++){

for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
printf("\n");

}

// proses eliminasi

for(i=0;i<n-1;i++){

for(j=i+1;j<n;j++){

factor = G[j][i]/G[i][i];
for(k=i;k<=n;k++) G[j][k]=G[j][k]-factor*G[i][k];

}
}

printf("Matriks setelah eliminasi\n");

for(i=0;i<n;i++){

for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
printf("\n");

}

// substitusi mundur

x[n-1]=G[n-1][n]/G[n-1][n-1];

for(i=n-2;i>=0;i--){

dummy = G[i][n];
for(j=i+1;j<n;j++) {
dummy = dummy - G[i][j]*x[j];
}
x[i]=dummy/G[i][i];

}

printf("Hasil akhir\n");

for(i=0;i<n;i++) printf("x[%2d] = %g\n",i,x[i]);

}
Share:

Penjumlahan 2 Mattiks

#include <iostream>

using namespace std;

main(){
int a[2][2];
int b[2][2];
int hasil[2][2];
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<"Masukkan nilai matrik 1 ["<<i<<"]["<<j<<"] : "; cin>>a[i][j];
}
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<"Masukkan nilai matrik 2 ["<<i<<"]["<<j<<"] : "; cin>>b[i][j];
}
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<a[i][j]<<" ";
}
cout<<endl;
}

cout<<endl<<endl;

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<b[i][j]<<" ";
}
cout<<endl;
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
hasil[i][j] = a[i][j] + b[i][j];
}
}

cout<<endl<<"Hasil penjumlahan dua matriks diatas adalah : "<<endl;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<hasil[i][j]<<" ";
}
cout<<endl;
}


Share:

Refleksi Minggu Ke-X

Pada kesempatan kali ini saya akan membahas perkuliahan alpro pada minggu ke-10

Materi yang dibahas pada minggu ini sesuai dengan renca kuliah alpro bulan ke-3 yaitu tentang berbagai algoritma pencarian (searching). Jadi pada perkuliahan pagi ini yang dilakukan adalah workshop mengenai materi searching.

Searching memiliki ciri - ciri dari yaitu salah satunya memiliki fungsi pembanding, searching di bagi menjadi 2 yaitu linier dan binary. Pada linier search mencari data dengan cara membandingkan data satu persatu dari depan ke belakang hingga mendapat nilai yang akan dicari. Tipe data yang digunakan harus sama. Sedangkan binary search yaitu mencari data dengan cara mencari nilai tengah dari data yang diinputkan.


Mungkin itu saja yang bisa dibahas kali ini.
Share:

Penjumlahan 2 Matriks

#include <iostream>

using namespace std;

main(){
int a[2][2];
int b[2][2];
int hasil[2][2];
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<"Masukkan nilai matrik 1 ["<<i<<"]["<<j<<"] : "; cin>>a[i][j];
}
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<"Masukkan nilai matrik 2 ["<<i<<"]["<<j<<"] : "; cin>>b[i][j];
}
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<a[i][j]<<" ";
}
cout<<endl;
}

cout<<endl<<endl;

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<b[i][j]<<" ";
}
cout<<endl;
}

for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
hasil[i][j] = a[i][j] + b[i][j];
}
}

cout<<endl<<"Hasil penjumlahan dua matriks diatas adalah : "<<endl;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
cout<<" "<<hasil[i][j]<<" ";
}
cout<<endl;
}


Share:

Menggabungkan 2 Array

#include <iostream>

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

void print (int*, int);
int* gabung(int*, int, int*, int);

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


int a[]={11,22,33,44,55};
    int b[]={66,77,88,99};
    cout <<"Array A dengan 5 elemen: ";print(a,5);
    cout <<"Array B dengan 4 elemen: ";print(b,4);
    int* c=gabung(a,5,b,4);
    cout <<"Setelah digabung [A B]: ";print(c,9);
}
int* gabung(int* a, int m, int* b, int n){
    int* c= new int[m+n];
    for (int i=0; i<m; i++)
        c[i]=a[i];
    for (int i=m; i<m+n; i++)
        c[i]=b[i-m];
    return c;
}
Share:

Menukur Posisi antara Kolom dan Baris

#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 */
int n, baris, kolom;
int data[20];
int matriks[50][50];

void input(){
cout << " Banyak array 1 dimensi "; cin >> n;
for (int i=0;i<n;i++){
cout << " Masukan Data Ke- " << i+1; cin >> data[i];
cout << endl;
}
}

void dimensi1(){
cout << " Data Array 1 Dimensi " << endl;
for (int j=0;j<n;j++){
cout << data[j]<< " ";
}
cout << endl;
}

void proses(){
cout << " Array 2 Dimensi "<< endl;
cout << " "<<endl;
cout << " Banyak Kolom yang diinginkan : "; cin >> kolom;
cout << " Banyak Baris yang diinginkan : "; cin >> baris;
int d=0;
for ( int k=0;k<baris;k++){
for (int l=0;l<kolom;l++){
dimensi1[k][l]=data[d];
d++;
}
cout << endl;
}

}

void output1(){
cout << " Data Array 2 Dimensi " << endl;
for ( int k=0;k<baris;k++){
for (int l=0;l<kolom;l++){
cout << dimensi1[k][l];
}
}cout << endl;
}

void tukar (int *a, int *b){
int temp;
temp=*a;
*b=temp;
}
void buble(int x[]. int n){
int i,j;
for (i=0;i<n-1;i++){
for (int j=i+1;j<n;j++){
if(x[i]>x[j]){
tukar(&x[i],&x[j]);
}
}
}
}
void cetak(const int array[], int n){
int i;
for (i=0;i<n;i++){
cout << array[i]<<" ";
}
}
int main(int argc, char** argv) {
input();
dimensi1();
proses();
output1();


return 0;
}
Share:

Refleksi Minggu Ke- IX

Assalamualaikum Wr.. Wb...



Di minggu selanjutnya dari minggu kmarin ya itu minggu ke-9. Di minggu ini dosen kita mengajarkan tentang sorting. Sorting atau mengurutkan data.
Dosen menggambarkan materi sorting ini menggunakan kartu remi dan susunan angka yang disusun secara acak. Dari kartu dan angka-angka tersebut di sorting atau di urutkan baik dari yang terkecil hingga terbesar ataupun sebaliknya.

Seperti biasa setelah dosen menjelaskan materi tak lupa dosen memberikan tugas. Tidak jauh beda dari materi yang di jelaskanyaitu mebuat algoritma dari beberapa jenis sorting yang ada. 
Share:

Mencari Posisi Element Array

#include <iostream>
#include <string.h>
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) {

char kalimat[]="Algoritma Pemrograman Menyenangkan";
int huruf;
int index,i=0;
char k;
huruf=strlen(kalimat);
while (i<=huruf)
{
if(kalimat[i]==k)
index=i;
i++;
}
cout <<  " Letak huruf K pada index ke-" index;

return 0;
}
Share:

Mencetak Isi Array

#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 */
int n, baris, kolom;
int data[20];
int matriks[50][50];

void input(){
cout << " Banyak array 1 dimensi "; cin >> n;
for (int i=0;i<n;i++){
cout << " Masukan Data Ke- " << i+1; cin >> data[i];
cout << endl;
}
}

void dimensi1(){
cout << " Data Array 1 Dimensi " << endl;
for (int j=0;j<n;j++){
cout << data[j]<< " ";
}
cout << endl;
}

void proses(){
cout << " Array 2 Dimensi "<< endl;
cout << " "<<endl;
cout << " Banyak Kolom yang diinginkan : "; cin >> kolom;
cout << " Banyak Baris yang diinginkan : "; cin >> baris;
int d=0;
for ( int k=0;k<baris;k++){
for (int l=0;l<kolom;l++){
dimensi1[k][l]=data[d];
d++;
}
cout << endl;
}

}

void output1(){
cout << " Data Array 2 Dimensi " << endl;
for ( int k=0;k<baris;k++){
for (int l=0;l<kolom;l++){
cout << dimensi1[k][l];
}
}cout << endl;
}

void tukar (int *a, int *b){
int temp;
temp=*a;
*b=temp;
}
void buble(int x[]. int n){
int i,j;
for (i=0;i<n-1;i++){
for (int j=i+1;j<n;j++){
if(x[i]>x[j]){
tukar(&x[i],&x[j]);
}
}
}
}
void cetak(const int array[], int n){
int i;
for (i=0;i<n;i++){
cout << array[i]<<" ";
}
}
int main(int argc, char** argv) {
input();
dimensi1();
proses();
output1();


return 0;
}
Share:

Mengurutkan Angka - Selection Sort

#include <iostream>
#include <conio.h>
using namespace std;
int data[10],data2[10];
int n;

void tukar(int a, int b)
{
 int t;
 t = data[b];
 data[b] = data[a];
 data[a] = t;
}
void selection_sort()
{
 int pos,i,j;
 for(i=1;i<=n-1;i++)
 {
  pos = i;
  for(j = i+1;j<=n;j++)
  {
   if(data[j] < data[pos]) pos = j;
  }
  if(pos != i) tukar(pos,i);
 }
}

int main()
{
 cout<<"URUT DERET ANGKA DENGAN SELECTION SORT"<<endl<<endl;

 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke "<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 selection_sort();
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }

 getch();
}

Share:

Mengurutkan Angka - Buble short

Berikut ini merupakan syntax program mengurutkan beberapa angka dengan metode bubble short


#include <iostream>

/* 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, k, c, d, g;
k=5;
int b[5];
cout<<"\t\tPROGRAM MENGURUTKAN ANGKA DENGAN BUBLE SORT\n\n";
for(a=0; a<k; a++){
cout<<"Masukkan nilai ke-"<<a+1<<":";
cin>>b[a];
}
for (a=0; a<k-1; a++){
for (d=a+1; d<k; d++){
c=a;
if (b[c]>b[d]){
c=d;
}
g=b[c];
b[c]=b[a];
b[a]=g;
}
}
cout<<"\nSetelah diurutkan maka akan menjadi :\n";
for(a=0; a<k; a++){
cout<<b[a]<<"  ";
}
return 0;
}



Share:

Refleksi Minggu Ke VIII



Sugeng Dalu...

Minggu delapan ini terjadi pada minggu pertama setelah UTS, bisa di bayangin kan, setelah UTS kita langsung di sambut dengan matkul maha dahsyat ini, tepat sekali yaitu ALPRO. Di minggu ini dosen kita Mr. WP, mengajarkan mengenai Array Satu Dimesnsi beliau mengajak kita untuk mmbahasa latihan-latihan yang ada di rencana belajar, diktat serta modul-modul yang beliau berikan.
Pertama kita diajarkan bagai mana cara menggeser array, berikut caranya :


input a - 1 2 3 -
geser kanan - - 1 2 3
geser kiri 1 2 3 - -
* rumus geser kanan = temp=a, a=b, b=temp.
misal a[3]=a[2]
      a[2]=a[1]
      a[1]=a[0]
for(int i=n; i>0; i--)
a[n+1]=a[n]

sekian dari minggu ke-8 ini, lebih kurangnya saya minta maaf dan terimakasih
Share:

Senin, 23 Mei 2016

Perkalian Matriks dengan Vektor

Suatu matriks yang terdiri dari 2 baris dan 3 kolom akan dikalikan dengan vektor atau matriks yang terdiri dari 3 baris 1 kolom.

Diketahui suatu matriks 2 baris 3 kolom yang dinamakan dengan matriks " A " sebagai berikut ini :
Matriks A
Dan diketahui sebuah vetor yang dinamakan dengan " B " sebagai berikut :
Vektor B
Matriks dan vektor di atas akan dikalikan menjadi seperti di bawah ini :

Perkalian
C hasil perkalian tersebut di peroleh dari perkalian dan penjumlahan matriks "A" dan " B "



 Dari operasi perhitungan seperti diatas diperoleh algoritma sebagai berikut :
Algoritma
Program dan source kode dari perkalian matriks dan vektor dengan c++

source kode

hasil C++

Dan dibawah ini pengerjaan saya sebelumnya :

Pengerjaan di keertas



sekian dari postingan saya, atas partisipasinya terimakasih
Share:

Jumat, 20 Mei 2016

Mencari Bilangan Tertentu pada Suatu Deret

Ini merupakan salah satu soal dari  post test praktikum saya, tepatnya pada minggu ke-7. di bawah ini saya akan memberikan source kode dari program tersebut, agar anda bisa mencobanya sendiri.



#include <iostream>
using namespace std;

int search(int b[],int key,int kiri, int kanan){
    int i, tengah;
    while(kiri<=kanan)
{
tengah=(kiri+kanan)/2;
       
if(key==b[tengah])
        {
        return tengah;        
}
else if (key<b[tengah])
        {
        kanan=tengah-1;
}
else
{
kiri=tengah+1;
}
    }
    return - 1;
}
int main(int argc, char** argv) {
    int a[15]={1,2,8,25,30,49,50,55,60,61,68,70,72,84,90};
    int x=49,hasil,jumlah=15;
   
   
    for(int i=0;i<=jumlah-1;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
     
hasil=search(a,x,0,jumlah-1);
    if(hasil != -1)
    {
    cout << x <<" ditemukan pada posisi : "<<hasil+1;
    }
    else
    {
    cout << x <<" tdk ditemukan";
}
   
    return 0;
}





Hasil Tampilan

Share:

Menghitung Nilai Rata-rata 10 Mahasiswa

Ini merupakan salah satu soal dari  post test praktikum saya, tepatnya pada minggu ke-6. di bawah ini saya akan memberikan source kode dari program tersebut, agar anda bisa mencobanya sendiri.


Anda dapat mengunduh source kode diatas


Share:

Menghapus Elemen Array

Ini merupakan salah satu soal dari  post test praktikum saya, tepatnya pada minggu ke-6. di bawah ini saya akan memberikan source kode dari program tersebut, agar anda bisa mencobanya sendiri


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

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void hapus_elemen();

private:
 char A[5];
 int posisi;
};
Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}
void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}
ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}
istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"masukkan nilai array posisi ke- : ";
 in>>x.posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"masukkan elemen arraynya :";
 in>>x.A[posisi-1];
 }
 }
 return in;
}
void Array1D::hapus_elemen(){
 int posisi;
 cout<<"Pilih indeks berapa yg akan di hapus : ";
 cin>>posisi;
 if(posisi>0 && posisi<=5)
 A[posisi-1]='O';
 else cout<<"indeks yg anda masuukan salah karena indek hanya terdiri dari 1 - 5\n";
}

int main(int argc, char** argv) {
Array1D x;
cout<<"Array masih kosong : "<<x;cin>>x;
cout<<"Isi Array saat ini : "<<x;
x.hapus_elemen();
cout<<"Setelah dihapus menjadi : "<<x;


return 0;
}



hasil dari tampilan program diatas

Share:

Senin, 16 Mei 2016

Bubble Sort - Sorting dengan C++

Metode pengurutan " Bubble Sort "


Algoritma bubble adalah teknik pengurutan array yang sederhana yang normalnya merupakan metode pertama yang paling banyak dipelajari pemrogram. Karena kesederhanaannya, bubble sort tidak efisien dan menyita banyak waktu prosessor lebih banyak daripada teknik sorting yang lain. Namun, jika Anda mengurutkan array tidak lebih dari 30 atau kurang dari 30 elemen, penggunaan bubble sort masih sangat baik. Dengan menganggap bahwa Anda mengurutkan dari terkecil ke terbesar, bubble sort mengulang semua nilai dalam array, membandingkan dan memindahkan nilai terbesar array ke puncak array.

Ilustrasi bubble sort :
Ilustrasi


Input dan Output yang diharapkan dengan soting bubble sort :

input - output
Algoritma Bubble Sort :
Algoritma
Flow Chart dari Bubble Short :


Flow Chart

Anda Bisa Mendownload flow chart saya di sini



Souece Kode dari Program Bubble Sort :



Source Kode C++
Hasil Tampilan Program

Anda bisa mendownload source kode program saya disini


Untuk cara sorting dengan cara lain di C++ anda bisa mengunjungi blog teman saya 
Untuk Selection Sort oleh Bagus Prasetiya  dan untuk Insertion Sort  oleh Rynto Eik Sahgitya

Share:
Diberdayakan oleh Blogger.

Mata Kuliah

Blog Archive