selamat datang di algoritma pemrograman
My Widget

Selasa, 24 Mei 2016

perkalian matrik

PERKALIAN MATRIK DENGAN VEKTOR

Sesuai dengan kaidah 6 langkah,maka langkah pertama yang harus kita lakukan adalah:
1.      Mengerti akan masalah.
Cara mengalikan vektor nya
2.      Menentukan Input & Output :
       Input : Matrik = |  1  4  7  |
                                  |  3  5  6  |
                   Vektor = |  1  |
                                  |  5  |
                                  |  8  |
       Output : Hasil = |  56  |
                                  |  84  |
3.       Membuat flowchart/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 C++ :
#include <iostream>
#include <conio.h>
using namespace std;
int main (){
int matrikA[2][3],matrikB[3][3],has[2][3];
int i,j;
cout<<"Program Perkalian Matrik 2X3 dengan 3X3\n";
cout<<"\nMasukkan matrik A\n";
cout<<"=====================================\n";
for(i=0;i<2;i++){
for(j=0;j<3;j++){
cout<<"Input  baris "<<i+1<<" kolom "<<j+1<<" : ";
cin>>matrikA[i][j];
}
cout<<endl;
}
for(i=0;i<2;i++){
for(j=0;j<3;j++){
cout<<matrikA[i][j]<<"\t";
}
cout<<endl;
}

cout<<"\nMasukkan matrik B\n";
cout<<"=====================================\n";
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cout<<"Input  baris "<<i+1<<" kolom "<<j+1<<" : ";
cin>>matrikB[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cout<<matrikB[i][j]<<"\t";
}
cout<<endl;
}

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
has[i][j]=matrikA[i][0]*matrikB[0][j]+matrikA[i][1]*matrikB[1][j]+matrikA[i][2]*matrikB[2][j];
}
}
cout<<endl;
cout<<"\nHasil :";
for(i=0;i<2;i++){
for(j=0;j<3;j++){
cout<<"\t\t"<<has[i][j];
}
cout<<endl;
}

getch ();}






Minggu, 15 Mei 2016

sorting(insertion sort)

Insertion Sort

pertama  : kita menentukan n atau banyak data yang akan kita proses nanti
kedua     : program akan membaca dan kita akan memasukkan angka / banyak data sesuai batas n yang telah kita tentukan pada langkah pertama
ketiga     : lalu data data yang telah diinput akan dicetak / ditampilkan
keempat : program akan menyeleksi dan menentukan nilai minimum dari data yang diinput
kelima    : setelah nilai minimum ditemukan program akan melanjutkan  proses sorting yaitu mengurutkan data dari kiri kekanan, atau dari array 1 ke-n, data minimum diletakkan pada sebelah kiri pada pembacaan data selanjutnya, jika data ketiga lebih kecil dari kedua maka akan digeser atau dipindah begitu seterusnya sampai nilai ke-n  


Algoritma :

procedure insertion_sort(input/output data:larik; input n:integer)


Deklarasi
k, j, temp : integer
Deskripsi
for k <-- 2 to n do
temp := data [k];
j := k-1;
while (temp <= data [j]) and (j > 1) do
data [j+1] := data [j];
j := j-1;
endwhile
if (temp >= data [j]) then data [j+1] := temp
else
data [j+1] := data [j];
data [j] := temp;
endif
endfor

berikut ini raptornya:



Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

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

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

using namespace std;

class Sorting {
friend istream& operator>>(istream& in, Sorting& a);
friend ostream& operator<<(ostream& out, Sorting& a);
public:
void baca_data();
void cetak_data();
void buble_sort();
void insertion_sort();
void selection_sort();
private:
void minimum(int , int, int&);
void tukar (int&, int&);
int data[10], n;
};
istream& operator>>(istream& in, Sorting& a) {
cout<<"Banyak data : ";
in>>a.n;
for (int i = 0; i < a.n; i++) {
cout<<"Data ke-" <<i+1<< " : ";
in>>a.data[i];
}
return in;
}
ostream& operator<<(ostream& out, Sorting& a) {
for (int i = 0; i < a.n; i++)
out<<a.data[i] << " ";
out<<"\n";
return out;
}
void Sorting::tukar (int &a, int &b){
int temp;
temp = a;
a = b;
b = temp;
}
void Sorting::insertion_sort(){
int i, j, temp;
cout<<"Data pertama sudah ada ditangan kiri, yaitu : " << data[0] << '\n';
for(j = 1; j < n; j++){
temp = data[j];
cout<<"\nData ke-" << j+1 << " yaitu " << data[j] << " diambil dari meja\n";
cout<<"Dilakukan penggeseran elemen :\n";
for(i = j - 1; (i >= 0) && (data[i] > temp); i--){
cout<<"data pd posisi ke-[" << i+1 << "] digeser ke posisi [" << i+2 << "]\n";
data[i+1] = data[i];
}
cout<<"Data baru masuk pada posisi ke-[" << i+2 << "]\n";
data[i+1] = temp; //Insert key into proper position
cout<<"Data saat ini adalah : ";
for (int k=0; k<=j; k++) cout << data[k] << " ";
getch();
}
}
int main(int argc, char** argv) {
Sorting angka;
cin>>angka;
angka.insertion_sort();
cout<<"\nHasil akhir adalah : \n";
cout<<angka;

return 0;
}


link bubble sort dapat diihat di:
link



refleksi minggu ke 9

di minggu ke 9 ini kami belajar tentang soting dimana ucapan sorting bapaknya masih terngiang di telinga ini,,,,,rasanyaaa subhanallah gitu.dan minggu ke 9 ini kita ada kuliah 2 kali,pagi dan malam.di ruangan yang sama..yaa mungkin itu sedikit cerita di minggu ke 9 ini..tidak ada kemajuan si cuma ada sedikit yaah haal yang mengganjal begitu

refleksi minggu ke 8

di minggu ke delapan ini tidaklah terlalu mudah dan tidak terlalu sulit.hanya membahas uts dan anjut materi..tapi karena saya baru ngga semangat jadinya saya kurang memperhatikan bapaak wahyu .begituu ceritanya

bab 8

Kasus 8.6 Merge Sort


Kasus 8.5 Selection Sort










BAB 9


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.

     a. Buat contoh matriks sembarang, misal berordo 2x2 :
     b. Buat contoh vektor :
     c. Kalikan matriks poin a dan vektor poin b elemen demi elemen. Jangan menuliskan hasil
        akhir saja, tapi tuliskan pula perkalian (dan penjumlahan) setiap elemen.
    d. Identifikasilah dan kelompokkan setiap langkah dengan variabel perulangan !
    e. Tulis lengkap algoritma yang anda peroleh :



2. Diberikan suatu matriks berordo n. Buatlah algoritma dan program untuk mencetak


    matriks identitas berodo 



3. Buatlah algoritma dan program untuk menghasilkan transpose suatu matriks

4. Buatlah algoritma dan program mengalikan matriks dengan suatu skalar (konstanta).

5. Buatlah algoritma dan program invers matriks berordo dua. Lalu kalikan matriks asal
    dengan matriks inversnya untuk mengecek apakah hasil kalinya merupakan matriks
    identitas atau bukan.
     a. Buat contoh matriks sembarang, berordo 2x2 :
     b. Hitung determinan matriks di atas
     c. Tulis matriks adjoin dari poin a
     d. Hitung invers matriks berordo 2x2 :









Minggu, 17 April 2016

tugas tugas terakhir

ini adalah rangkuman tugas dari problem solving hlaman 538,how to solve 414 dan tuga dari referensi referensi yang tidsk bisa saya sebutkan satu persatu

Problem Solving Hal.538



MASALAH
Membentuk string yang berisi huruf kapital semua yang ditemukan dalam string lain.
ANALISIS
Sama seperti dalam masalah menghitung kejadian dari huruf tertentu dalam sebuah string, rekursi akan memungkinkan kita untuk memecahkan masalah ini dengan hanya bekerja apa yang harus dilakukan dengan
huruf pertama string dan kemudian menggabungkan pengolahan ini dengan penanganan panggilan rekursif
sisa string. Misalnya, jika string tersebut adalah "Franklin Delano
Roosevelt ", menemukan huruf di" franklin Delano Roosevelt "akan memberi kita
string "DR". Ini adalah masalah sederhana untuk menggabungkan string ini dengan modal 'F' untuk membentuk
hasil penuh. Tentu saja, string sederhana di mana untuk mencari sesuatu adalah kosong
string, jadi memeriksa kasus sederhana ini memberikan kita kondisi terminating diperlukan



Algoritma
1. jika str adalah string kosong
2. Toko string kosong di topi (string tanpa huruf tidak memiliki ibukota).
lain
3. jika huruf awal dari str adalah huruf kapital
4. Simpan dalam topi surat ini dan huruf kapital dari sisa str.
lain
5. Simpan dalam topi huruf kapital dari sisa str.





Write a program fragment that fills the 2 arrays in self-check exercise 3 with data and then calculates and displays each person’s salary for the week.



Declare an enumerated type m onth_t and rewrite the following if statement, assuming that cur_month is type month_t instead of type int . Also, write the equivalent switch statement. if (cur_month == 1) printf("Happy New Year\n"); else if (cur_month == 6) printf("Summer begins\n"); else if (cur_month == 9) printf("Back to school\n"); else if (cur_month == 12) printf("Happy Holidays\n");

Finding The Kth Smallest Element

Algoritma;
1.n < - bilangan
2.untuk i=0
 Masukkan data [i];
ulang selama i<n;
untuk a= 0
untuk b = n-1
jika data [b]< data [b-1] maka tukar data

.....
  Akhir jika

b--1;

akhir untuk
 tampilan data [i];
a++;
akhir untuk
3. keluar 

Partitioning An Array

Removal Of Duplicates From an Ordered Array 


Finding The Maximum Number In A Set 

Array Counting Or Histogramming

Algoritma :        
       Deklarasi banyak,i,x
           array int nilai [20]
           deklarasi string nama

      inputkan banyak mahasiswa
         for (int i=1;i<=banyak;i++){
         input nama;
         input nilai mahasiswa i
         if (nilai[20]>=80 || nilai[20]<=100)
        cetak nilai = A
        else if (nilai[20]>=60 || nilai[20]<80)
        cetak nilai = B
        else if (nilai[20]>=40 || nilai[20]<60)
        cetak nilai = C
        else if (nilai[20]>=20 || nilai[20]<40)
        cetak nilai = D
        else if (nilai[20]>=0 || nilai[20]<20)
        cetak nilai = E
        end for 

Array Order Reversal

     Algoritma :       
       ·      Array A yang bertipe integer diisi dengan nilai {5, 10, 6, 0, 4}
       ·      Array B yang bertipe integer diisi dengan nilai {0, 0, 0, 0, 0}
       ·      Baris perulangan untuk menampilkan nilai dari array A.
       ·      Proses untuk mengisi array B dengan nilai yang dibalik.
       ·      Menampilkan output nilai dari array B.