Jumat, 13 Mei 2016

Bab 9 Diktat

   Workshop Pemrograman

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 :

   Dev c++ :

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

Dev c++ :



3. Buatlah algoritma dan program untuk menghasilkan transpose suatu matriks.

Dev c++ :


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

Dev c++ :


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 :

Dev c++ :


Kamis, 12 Mei 2016

Tugas Kasus 8.7 Quick Sort #Minggu 9

Algoritma :
Deklarasi
       i, j, p : integer
Deskripsi
       p <-- data[(L+R) div 2]
       i <-- L
      j <--R
     { mulai membuat partisi }
      while (i<=j) do
               while (data[i] < p) do i <-- i+1 endwhile
               while (data[j] > p) do j <-- j -1 endwhile
         if (i<=j) then
              tukar(data[i], data[j])
              i <-- i+1
              j <-- j-1
        endif
     endwhile
     if (L < j) then quick_sort(data,L,j) endif
     if (i < R) then quick_sort(data,i,R) endif

 dev c++ :


Tugas Kasus 8.6 Merge Sort #Minggu 9


Dev c++ :

Tugas Kasus 8.5 Selection Sort #Minggu 9

Algoritma :
Deklarasi
       i, t : integer
Deskripsi
      for i <-- 1 to n do
            minimum(A, i, n, t);
            tukar(A[i], A[t]); {tukar tempat elemen saat ini j dengan elemen terkecil yang ditemukan t}
    endfor
 

Raptor :


dev c++ :


Tugas Kasus 8.4 Insertion Sort #Minggu 9

Algoritma :
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

 Raptor :




dev c++ :



Tugas Kasus 8.3 Bubble Sort #Minggu 9

Algoritma :
Deklarasi
       larik = array [1..100] of integer
       i, a : byte
       k : larik
       j, bantu : integer
Deskripsi
       for i <-- 1 to n-1 do
          for j <-- i+1 to n do
             if x[i] > x[j] then
                tukar(x[i], x[j])
             endif
          endfor
      endfor
Raptor : 




dev c++ :


Tugas Kasus 8.2 Binary Search #Minggu 9

Algoritma :
Deklarasi
       ketemu : boolean
       i, middle : integer
Deskripsi
       ketemu <-- false
       while (low <= high) and (not ketemu) do
           middle <-- (low+high) div 2
           if (kunci = aray[middle]) then ketemu <-- true { data pencarian = data di tengah }
           else if (kunci < aray[middle]) then high <-- middle – 1 {data akan dicari lagi di sebelah kiri}
           else low <-- middle + 1 {data akan dicari lagi di sebelah kanan}
           endif
       endwhile
       if ketemu then pencarianBiner := middle
       else pencarianBiner := -1;
      endif

dev c++ :


Tugas Kasus 8.1 Linear Search #Minggu 9

Algoritma :
Deklarasi
       ketemu : boolean
       i, n : integer
Deskripsi
      ketemu <-- false;
      n <-- 1
     while ((n < ukuran) and (not ketemu)) do
         if (aray[n] = kunci) then
             ketemu <-- true { data ketemu }
             i <-- n { pada posisi ke-i }
         endif
         else n <-- n+1 { cek data berikutnya }
     endwhile
     if ketemu then pencarianLinier <-- i { data ketemu pada posisi ke-i }
     else pencarianLinier <-- -1 { data tidak ketemu }
     endif
  end

Raptor;






Dev c++