Jumat, 16 Juni 2017

ALPRO DIKTAT BAB 10 Tugas

1.Buatlah algoritma untuk mementukan nilai tertinggi dan ratarata suatu data urut/tidak urut
2.Program
JAWAB 

Algoritma

Deklarasi
i = integer
j = integer
x = 0
rata = 0
trb = 0
trk = 0

panggil input(integer data[], integer b)
tampil j+1
 
Deskripsi
for(i=0; i<x; i++)
tampil hasil input *(ptr + i)

rata = rata + *(ptr + i);
if (trb < *(ptr + i)) 
trb = *(ptr + i);

if (trk > *(ptr + i)) 
trk = *(ptr + i);

end if
end if

2. program



Kamis, 15 Juni 2017

DIKTAT 10 LATIHAN

modifikasistruktur data dr algoritma 9.1
LATIHAN

AlgoritmaDeklarasi:                Nama[30]                            :karakter                Nim[10]                               :karakter                Nilai                                     :integerDeskripsi:while when lagi=='Y' then lagi=='y'    while (cetak !=NULL)if when cetak->Nilai>=0 and cetak->Nilai<20Eelse if when cetak->Nilai>=20 and cetak->Nilai<40else if when cetak->Nilai>=40 and cetak->Nilai<60Celse if when cetak->Nilai>=60 and cetak->Nilai<80BElseAcetak=cetak->berikutend ifend whileend while













diktat bab 9 no 4

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


1.       Identifikasi masalah
{mengalikan matriks dengan suatu skalar (konstanta)}

2.       Menentukan input dan output
input                 : q,  brs, klm, i, j ,k           

output             :matriks a=
                           Matriks b=
                           Matriks a x b=

Deklarasi:
q,  brs, klm , i, j,k              :integer
for i ← 0 to brs do then i++
for j ← 0 to klm do then j++
write(‘ Elemen (i + 1), (j + 1)’)
end for
end for
           
for i ← 0 to brs do then i++
for j ← 0 to klm do then j++
write((‘q + i * klm + j) ‘)
end for
end for

for i  ←0 to bA do then i++
for j ←0 to kB to then  j++
(z + i * bB + j) ← 0;
For k ← 0 to kA do then  k++
(z + i * bB + j) +=← (p + i * kA + k) * (*(q + k * kB + j))
End for
End for
End for





no 1-2 rizaldwi45.blogspot.com
no 4-5 ardaris.blogspot.com

bab 9 no 3

3. Buatlah algoritma dan program untuk menghasilkan transpose suatu matriks.
dengan c++
1.       Identifikasi masalah
→ akan menghasilkan transpose suatu matriks.

2.       untuk Menentukan input dan output maka
→ input               :i, j, m, n ,o, mat [m][n]
               
→output             :transpose matriksnya adalah



bab 8 no 5

5. Urutkan deret angka berikut dengan selection sort dan tuliskan hasil tiap langkah (step) :
21 16 25 8 19 4 1 

Analisis:
[21, 16, 25, 8, 19, 4, 1]
Data pertama : 21
Mencari data terkecil dari data kedua sampai terakhir.
(i=1)
Data terkecil ditemukan pada posisi ke-7 (t=7), maka data pertama ditukar pada posisi ke-7, menjadi:
[1, 16, 25, 8, 19, 4,21]
Langkah ini diulang untuk data kedua (i=4). Ditemukan pada posisi ke-6 (t=6).
Data kedua ditukar dengan data ke-6, menjadi :
[1, 4, 25, 8, 19,16,  21]

Fase selengkapnya :
Data awal :          [21, 16, 25, 8, 19, 4, 1]       
Fase 1              [1, 16, 25, 8, 19, 4, 21]           
Fase 2              [1, 4, 25, 8, 19, 16, 21]           
Fase 3              [1, 4, 8, 25, 19, 16, 21]           
Fase 4              [1, 4, 8, 16, 19, 25, 21]           
Fase 5              [1, 4, 8, 16, 19, 25, 21]           
Fase 6              [1, 4, 8, 16, 19, 21, 25]           

Fase 7              [1, 4, 8, 16, 19, 21, 25]           
Fase 8              [1, 4, 8, 16, 19, 21, 25]       





bab 8 no 10

10. Urutkan data yaitu [2 8 7 1 3 5 6 4] dengan menggunakan Quick Sort, agar elemen terkecil berada paling depan (urutan pertama), semakin ke belakang semakin besar ! 

data setelah di urutkan 
2 8 7 1 3 5 6 4 
->2 1 7 8 3 5 6 4
-->1 2 7 8 3 5 6 4
--->1 2 3 8 7 5 6 4
---->1 2 3 4 7 5 6 8
------>1 2 3 4 5 7 6 8
------->1 2 3 4 5 6 7 8


no 1-4
ardaris.blogspot.com
no 4-7
rizaldwi45.blogspot.com 
saya no 7 9 10 5

bab 8 no 9


9.Ada beberapa kumpulan data sebagai berikut :
2 8 3 5 6 4 11 1 9
Urutkan kumpulan data di atas menggunakan quick sort serta gambarkan step by step 


void q_sort(int numbers[],int left,int right)
{
 int pivot,l_hold,r_hold;
 l_hold=left;
 r_hold=right;
 pivot=numbers[left];
 while(left<right)
 {
 while((numbers[right]>=pivot)&&(left<right))
 right--;
 if(left!= right)
 {
 numbers[left]=numbers[right];
 left++;
 }
 while((numbers[left]<=pivot)&&(left<right))
 {
 left++;
 }
 if (left!=right)
 {
 numbers[right]=numbers[left];
 right--;
 }
 }
 numbers[left]=pivot;
 pivot=left;
 left=l_hold;
 right=r_hold;
 if(left<pivot)
 q_sort(numbers,left,pivot-1);
 if(right>pivot)
 q_sort(numbers,pivot+1,right);
 }




Diktat BAB 8 no 7

7. Mari kita lihat daftar nomor dari sebuah array untuk melihat bagaimana cara merge sort bekerja :


32 12 5 18 31 4 25 7
[0] [1] [2] [3] [4] [5] [6] [7]
Lakukan sorting dari data dalam array di atas menggunakan merge sort sehingga nomor kecil berada paling depan samapai yang paling besar berada paling belakang ! 


Analisis:
[ 32, 12, 5, 18, 31, 4, 25, 7 ]









lat no 1 bab 7




no 2
ardaris.blogspot.com
no 3
rizaldwi45.blogspot.com

laatihan bab 7 no 1 algoritma

1. BUATLAH ALGORITMA DAN SUBPROGRAM YANG CAR KERJANYA SEPERTIFUNCION POS  DIATAS.

ALGORITMA : SUBPROGRAM
Deklarasi :
             c,i,j,kali,proses,masuk,hasil=integer
Deskripsi :
           Fungsi masuk(c[20],b[20]){
          For i <-- to 2 do
          For j <-- to 3do
          Write(“Vaktor A”)
          Write(“Vaktor B”)}
           Fungsi proses(c[20],b[20]){
          Write(“Vaktor A”)
          For i <-- to 2 do
          For j <-- to 3do
         Write(b)
         Write(“Vaktor B”)
         For i <-- to 2 do
         For j <-- to 3do
         Write(c)
         Write(“Vaktor C”)
         For i <-- to 2 do
         For j <-- to 3do
        Hasil<-b+c
       Write(hasil)
       Write(“Vaktor Hasil Kali”)
       For i <-- to 2 do
       For j <-- to 3do
       Kali<-b*hasil
      Write(Kali)
      Write(“Banyak Elemen”)
     }  
      Write(“Menghitung Vaktor”)
      Masuk(b,c)
      Proses(b,c,hasil,kali)