Rabu, 07 September 2016

Refleksi Struktur Data Minggu Ke 1

Helloooo
Mulai saat ini saya sampai 6bulan kedepan saya akan memposting Stuktur data.
Minggu pertama kuliah mempelajari materi terakhir dari semester 2 yang lalu.

 saya Khawatir jika dosen menjelaskan saya tidak mengerti hehehee, harapan saya semoga kuliah lancar dan bisa mendapat IPK tinggi lalu bisa membikin lapangan usaha yang bagus.

Sabtu, 11 Juni 2016

Refeksi minggi kedua belas

wahhhhh kali ini ane gak masuk kuliah gan karna bangun ya ke siangan wkwkwkk.
setau ane materi kali ini adalah RECORD, STRUCK dan CLASS --> Pointer dan Pengenalan Struktur Data.

Selasa, 07 Juni 2016

Menghitung IPK


  • Algoritma :

     Mencari nilai IPK mahasiswa berdasarkan nilai yang diiputkan

Deklarasi
    i,n : integer
    nim, nama, fakultas  : char
    prodi, alamat : char 
 
  nilai : float
  nil 1 : string
  nil 2 : string

Deskripsi
   void mahasiswa :: masuk ( )
          for i   <--- 1 to n do
              write (i)
          read (nim)
          read (nama)
         read ( fakultas)
         read (Prodi)
         read (alamat)
     read (mhs[i].nil1)
        if mhs[i]. nil1 <---- A 
                 mhs [i] nilai = 4
        else if mhs[i]. nil1 <---B
                mhs[i] nilai = 3
         else if mhs[i]. nil1 <---C
                mhs[i] nilai = 2
         else if mhs[i]. nil1 <---D
                mhs[i] nilai = 1
          else if mhs[i]. nil1 <---E
                mhs[i] nilai = 0


void mahasiswa :: proses ( )
   for  i <--- to n do
          write (nama)
           write (nim)
           write (fakultas)
           write (prodi)
           write (alamat)
           write (mhs nilai/9)

  • C ++ :


#include <cstdlib>
#include <iostream>

using namespace std;

class mahasiswa {
 public:

  int i,n;

   struct
   {
      char nim[5];
      char nama[15];
       string nil1;
       string nil2;
        string nil3;
        char fakultas[40];
        char prodi[20];
        char alamat[40];
      float nilai;
   } mhs[80];

 void masuk(int n);
 void proses(int n);

 };

 void mahasiswa::masuk( int n){

     // untuk inputan data terdapar parameter n untuk jumlh mhs
for(i=1; i<=n; i++)
   {   
      cout<<" Data Ke -"<<i<<" "<<endl;
      cout<<" Masukan NIM   = "; cin>>mhs[i].nim;
      cout<<" Masukan Nama   = "; cin>>mhs[i].nama;
      cout<<" Masukan Fakultas  = "; cin>>mhs[i].fakultas;
      cout<<" Masukan Prodi  = "; cin>>mhs[i].prodi;
      cout<<" Masukan Alamat  = "; cin>>mhs[i].alamat;
      cout<<endl;
  
      cout<<" Masukan Nilai Akhir Algoritma dan Pemrograman 3 sks (A,B,C,D,E) = "; cin>>mhs[i].nil1;
           if(mhs[i].nil1=="A")  // kondisi  jika saat nilai A,B,C,D
      mhs[i].nilai=mhs[i].nilai+4*3;
  
         else if(mhs[i].nil1=="B")
      mhs[i].nilai=mhs[i].nilai+3*3;
  
      else if(mhs[i].nil1=="C")
      mhs[i].nilai=mhs[i].nilai+2*3;
  
             else if(mhs[i].nil1=="D")
      mhs[i].nilai=mhs[i].nilai+1*3;
  
  
      cout<<" Masukan Nilai Akhir B.inggris 3 sks (A,B,C,D) = "; cin>>mhs[i].nil2;
        if(mhs[i].nil2=="A")
      mhs[i].nilai=mhs[i].nilai+4*3;
      
      else  if(mhs[i].nil2=="B")
      mhs[i].nilai=mhs[i].nilai+3*3;
  
       else  if(mhs[i].nil2=="C")
      mhs[i].nilai=mhs[i].nilai+2*3;
  
            else  if(mhs[i].nil2=="D")
      mhs[i].nilai=mhs[i].nilai+1*3;
  

  
      cout<<" Masukan Nilai Akhir kalkullus 3 sks (A,B,C,D) = "; cin>>mhs[i].nil3;
  
        if(mhs[i].nil3=="A")
      mhs[i].nilai=mhs[i].nilai+4*3;
  
      else  if(mhs[i].nil3=="B")
      mhs[i].nilai=mhs[i].nilai+3*3;
  
  
      else  if(mhs[i].nil3=="C")
      mhs[i].nilai=mhs[i].nilai+2*3;
    
      else  if(mhs[i].nil3=="D")
      mhs[i].nilai=mhs[i].nilai+1*3;
  
  
  
  
      cout<<endl;
   } 
 }

 void mahasiswa::proses(int n){ // mencetak hasil tdi setelah di kondisi
for(i=1; i<=n; i++)
   {
    cout<<" Data Ke -"<<i<<" "<<endl;
    cout<<" Nama      = "<<mhs[i].nama<<endl;
    cout<<" NIM       = "<<mhs[i].nim<<endl;
    cout<<" Fakultas  = "<<mhs[i].fakultas<<endl;
    cout<<" Prodi     = "<<mhs[i].prodi<<endl;
    cout<<" Alamat    = "<<mhs[i].alamat<<endl;
    cout<<" Nilai IPK = "<<mhs[i].nilai/9<<endl; // merupakan variable penyimpan nilai kemudian di bagi 9 untuk mencari ipk
  
 }
}

int main(int argc, char *argv[])
{
mahasiswa k;
int n;
cout<<" Masukan Jumlah Mahasiswa = ";cin>>n;
 k.masuk(n);
 k.proses(n);

 system("pause");
 return 0;
}



Kelompok : 1. Aji sentosa
                    2. ryan antono

Selasa, 24 Mei 2016

Refleksi minggu ke sebelas

pertemuan alpro kali ini membahas tentang materi Array dua dimensi , kasus matriks
diawal jam pertemuan dosen seperti biasa menyuruh mahasiswa untuk membaca materi terlebh dahulu lalu dosen memberikan contoh soal. salah satu dari mahasiswa disuruh untuk maju kedepan kelas untuk menjawab.
diakhir jam pertemuan dosen memberikan tugas unuk upload diblog masing-masing tentang tugas mengalikan vektor (2 elemen) dengan matriks berukuran 2x3 dan vektor (3 elemen) melalui 6 tahap (seperti biasa) . tugas tersebut dipos terkhir jam 21.00 hari ini 24 mei 2016.
tugas tersebut saya juga akan mencari referensi di internet

Perkalian Matrik dengan vektor

  • Masalah :
menghitung perkalian  antara matrik dengan vektor. misal:

  • Analisis :

mengecek baris atau kolom yang jumlahnya sama antara matrik yang ingin dikalikan.
mengalikan matriks dengan vektor syarat jumlah kolom matrik a sama dengan baris vektor b.
hasil akan dihitung dengan perkalian baris matrik satu dengan kolom matrik satunya

  • Algoritma :
   procedur kali matrik (input/output i,j,matrik vektor)
       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])
           end for
           end for
end

  • Program dev c++  :

#include <iostream>
#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<<hasil[i][j]<<" ";
           cout<<endl;
     }
}
void cetakv(int vektor[]){
     cout<<"\nVektor : \n";
     for(int i=0;i<3;i++){
        cout<<vektor[i]<<endl;
     }
}
void cetak(int hasil[]){
     cout<<"\nHasil Terakhir : \n";
     for(int i=0;i<2;i++){
         cout<<hasil[i]<<endl;
     }
}
int main(int argc, char** argv) {
    int matrik[2][3]={3,4,1,5,6,7}, vektor[3]={3,2,4},hasil[2]={0};

    kali(matrik,vektor,hasil);
    cetakm(matrik);
    cetakv(vektor);
    cetak(hasil);
   
  return 0;
}


  • Output nya : 




  •  Uji coba :


Jumat, 20 Mei 2016

Refleksi minggu ke sepuluh

Pada pertemuan ke-10 masih membahahas mengenai macam-macam sorting dan algoritma penyelesaiannya. Dan tambahannya yaitu membahas mengenai searching. Sorting dan searching adalah sesuatu yang berkaitan, dimana sorting di gunakan untuk mengurutkan data sedangkan searching di gunakan untuk mencari data. Jadi jika data yang ada sudah urut itu akan mempermudah dan menghemat waktu dalam pencarian data.

How To Solve per 9

1. Algorithm 5.1 The Two-Way Merge.

Algoritma :
        if a[m]<b[n] then a[m+1]:=b[n+1]:=a[m];
            i:=1;
            j:=1;
            nm:= n+m;
       for k:= 1 to nm dobegin {merge next element }
            if a[i]<b[j] thenbeginc[k]:=a[i];
                 i:=i+1end elsebeginc[k]:=b[j];
                 j:=j+1end
       end
Program dengan C++ :
#include <iostream>
#include <cstdlib>
using namespace std;

int data[100];
void mergeSort(int awal, int mid, int akhir){
         cout<<endl;
int temp[100], tempAwal = awal, tempMid = mid, i = 0;
while(tempAwal < mid && tempMid < akhir){
        if(data[tempAwal] < data[tempMid])
               temp[i] = data[tempAwal],tempAwal++;
        else
              temp[i] = data[tempMid],tempMid++;
              i++;
}
while(tempAwal < mid) //kalau masih ada yang sisa
         temp[i] = data[tempAwal],tempAwal++,i++;
         while(tempMid < akhir)
         temp[i] = data[tempMid],tempMid++,i++;
for(int j=0,k=awal;j<i,k<akhir;j++,k++) //mengembalikan ke array semula, tapi
cout<<data[k]<<' '<<temp[j]<<endl, data[k] = temp[j]; //sudah urut
}
void merge(int awal, int akhir) //membagi data secara rekursif{
      if(akhir-awal != 1){
          int mid = (awal+akhir)/2;
          merge(awal, mid);
          merge(mid, akhir);
          mergeSort(awal, mid, akhir);
      }
}
int main(){
    int n;
   cout<<"Masukan banya data = ";cin>>n;
   cout<<"Masukan data yang akan di susun = ";
   for(int i=0;i<n;i++)
   cin>>data[i];
   merge(0,n);
   for(int i=0;i<n;i++)
        cout<<data[i]<<' ';
return 0;
}


 2. Algorithm 5.2 Sorting By Selection.
Algoritma:
Selection Sort
Algoritma ini mudah diterjemahkan ke dalam program computer tetapi memiliki kekurangan yaitu sort dengan menggunakan metode Seleksi membutuhkan ruang di memori untuk meyimpan 2 daftar lengkap.
Jika memiliki satu daftar nama dan meletakkan dalam urutan berdasarkan huruf bisa menggunakan pemdekatan umum sebagai berikut :
      1.      Temukan atau cari nama yang pertama kali datang dalam urutan huruf dan tulis di sheet kedua
      2.      Tandai nama yang keluar dari daftar asli
      3.       Lanjutkan perputaran ini sampai semua nama di daftar semula telah di coret dan ditulis di daftar kedua dimana di bagian daftar yang kedua ini nama-nama sudah terurut berdasarkan huruf.
Program C++ :
#include <iostream.h>
#include <conio.h>
int data[100],data2[100];
int n;
void tukar(int a,int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void bubble_sort()
{
for(int i=1;i<n;i++)
{
for(int j=n-1;j>=i;j–)
{
if(data[j]<data[j-1]) tukar(j,j-1);
}
}
cout<<”bubble sort selesai!”<<endl;
}
void exchange_sort()
{
for (int i=0; i<n-1; i++)
{
for(int j = (i+1); j<n; j++)
{
if (data [i] > data[j]) tukar(i,j);
}
}
cout<<”exchange sort selesai!”<<endl;
}
void selection_sort()
{
int pos,i,j;
for(i=0;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);
}
cout<<”selection sort selesai!”<<endl;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j–;
}
data[j+1] = temp;
}
cout<<”insertion sort selesai!”<<endl;
}
void QuickSort(int L, int R) //the best sort i’ve ever had
{
int i, j;
int mid;
i = L;
j = R;
mid = data[(L+R) / 2];
do
{
while (data[i] < mid) i++;
while (data[j] > mid) j–;
if (i <= j)
{
tukar(i,j);
i++;
j–;
};
} while (i < j);
if (L < j) QuickSort(L, j);
if (i < R) QuickSort(i, R);
}
void Input()
{
cout<<”Masukkan jumlah data = “; cin>>n;
for(int i=0;i<n;i++)
{
cout<<”Masukkan data ke-”<<(i+1)<<” = “; cin>>data[i];
data2[i] = data[i];
}
}
void Tampil()
{
cout<<”Data : “<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<” “;
}
cout<<endl;
}
void AcakLagi()
{
for(int i=0;i<n;i++)
{
data[i] = data2[i];
}
cout<<”Data sudah teracak!”<<endl;
}
void main()
{
int pil;
clrscr();
do
{
clrscr();
cout<<”Program Sorting Komplit!!!”<<endl;
cout<<”*********************************************”<<endl;
cout<<” 1. Input Data”<<endl;
cout<<” 2. Bubble Sort”<<endl;
cout<<” 3. Exchange Sort”<<endl;
cout<<” 4. Selection Sort”<<endl;
cout<<” 5. Insertion Sort”<<endl;
cout<<” 6. Quick Sort”<<endl;
cout<<” 7. Tampilkan Data”<<endl;
cout<<” 8. Acak Data”<<endl;
cout<<” 9. Exit”<<endl;
cout<<” Pilihan Anda = “; cin>>pil;
switch(pil)
{
case 1:Input(); break;
case 2:bubble_sort(); break;
case 3:exchange_sort(); break;
case 4:selection_sort(); break;
case 5:insertion_sort(); break;
case 6:QuickSort(0,n-1);
cout<<”quick sort selesai!”<<endl;
break;
case 7:Tampil(); break;
case 8:AcakLagi(); break;
}
getch();
}while(pil!=9);
}

  3.  Algorithm 5.3 Sorting By Exchange.
Soal
Diberikan urutan yang tidak beraturan dari kumpulan nilai n gunakan urutan dengan emnggunakan sorting by exchange
Penyelesaian :
Bubble Sort (Gelembung) merupakan metode pertukaran yang alur logikanya mirip dengan gelembung yaitu dengan cara membandingkan indeks Array yang pertama dengan indeks Array berikutnya secara terus menerus dan bergantian. Namun cara ini kurang efektif karena meskipun data sudah terurut proses perulangan yang terjadi akan terus berlangsung sampai batas perulangan itu berakhir. Ini adalah contoh alur alogaritmanya dalam kode program.

for (c=0; c<7; c++)
{ for (x=0; x<7; x++)
{if (menu[x]menu[x+1])
{term=menu[x];
menu[x]=menu[x+1];
menu[x+1]=term;
}
else {
menu[x]=menu[x];
}}}
Selection Sort (Maksimum/Minimum) merupakan metode pertukaran yang mencari nilai Maksimum/Minimum sekelompok data array yang nantinya nilai yang paling ujung akan diisolasikan dan tidak disertakan pada proses selanjutnya. Perhatikan contoh code berikut ini.
for(y=0; y<9; y++)
{max=0;
for (x=1; x<=b; x++)
{ if (A[x]>A[max])
{
max=x;
} }
if (A[max]>A[b])
{ term=A[b];
A[b]=A[max];
A[max]=term;
b--;
} else
{
b--;
}}
Insertion Sort (Sisip) meripakan metode pengurutan dengan cara menyisipkan nilai pada array pada posisi yang tepat. Untuk lebih jelasnya silakan lihat code dibawah ini.
for (k=1; k<9; k++)
{
term=L[k];
j=k-1;
while (term<=L[j])
{
L[j+1]=L[j];
j--;
}
if ((term >= L[j]) || (j=1))
{
L[j+1]=term;
}
else
{
L[j+1]=L[j];
L[j]=term;
}


4. Algorithm 5.4 Sorting By Insertion. 
Algoritma :
1. Membangun sebuah array [1 .. n] elemen n.
2. Menemukan minimum dan meletakkannya di tempat untuk bertindak sebagai sentinel :
3. Sementara masih ada unsur-unsur yang akan dimasukkan di bagian memerintahkan melakukan
      a. Pilih x elemen berikutnya untuk dimasukkan
      b. Sementara x kurang dari sebelumnya unsur melakukan
      c. Insert x pada posisi saat ini
for i:=2 to n do
    begin {search for x's position then insert it}
    j:=1; x:=a[i];
while x>a[j] do j:=j+1
for k:= i down to j+1 do a[k]:= a[k-1];
   a[j]:=x
end
Program C++ :
#include <iostream.h>
void main(){
int data[100];
int a,b,c,d,x;
int temp;

cout<<"PROGRAM SORTING DATA "<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"Masukkan jumlah data : ? ";cin>>x;

for(d=1;d<=x;d++)
{
cout<<"Data ke-"<<d<<" = ";cin>>data[d];
}
cout<<"\nData Sebelum Diurutkan \n";
for(d=1;d<=x;d++){
cout<<"\t"<<data[d];
}
for(a=0;a<x;a++){
for(b=0;b<x;b++)
if(data[b]>= data[b+1])
{
temp=data[b];
data[b]=data[b+1];
data[b+1]=temp;
}
}
cout<<"\n\nData setelah diurutkan :\n";
for(c=0;c<x;c++)
cout<<"\t"<<data[c];
cout<<"\n\n---------------------------------------------"<<endl
}
 system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 16 Mei 2016

Mengurutkan deret dengan Motode Bubble Sort

  • Analisis 
Bubble sorting adalah penggurutan dengan memindahkan data paling kiri dan dibandingkan dengan data disebelah kannannya.
Dan ketika data kiri lebih besar dari data yang di sebelah kanan maka data tersebut akan di pindah atau di tukar.


  • input dan output

Input : data sejumlah n yang tidak urut

Output : data urut dari kecil ke besar


  • Algoritma
  •  Flowchart



  • Dev c++


Program INSERTION Sallahudin
Program SELECTTION Aji sentosa

Refeksi minggu ke sembilan

Pertemuan ke-9 ane kuliah malem gan, karna pagi nya pak dosen marah dan kuliah di gantikan mlm itu.  ini materi yang dibahas mengenai sorting. Sorting yaitu menyusun elemen – elemen dengan urutan tertentu, naik atau turun. Terdapat 3 metode dalam sorting, yaitu bubble sort (nilai yang besar akan naik, sedangkan nilai yang kecil akan turun), selection sort (mencari nilai data terbesar atau terkecil dan kemudian menempatkannya pada posisi yang sebenarnya), dan insertion sort (dengan menyisipkan).
 Contoh sorting selection sort :
20 | 35 | 18 | 8 | 14 | 41 | 3 | 39
A[1] —- tukar —- A[7]
3 | 35 | 18 | 8 | 14 | 41 | 20 | 39
A[2] —- tukar —- A[4]
3 | 8 | 18 | 35 | 14 | 41 | 20 | 39
3 | 8 | 14 | 35 | 18 | 41 | 20 | 39
3 | 8 | 14 |  18 | 35 | 41 | 20 | 39
3 | 8 | 14 |  18 | 20 | 41 | 35 | 39
3 | 8 | 14 |  18 | 20 | 35 | 41 | 39
3 | 8 | 14 |  18 | 20 | 35 |  39 | 41

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++



Jumat, 06 Mei 2016

How to solve #4.1, 4.2, 4.3, 4.4, 4.5-4.5.3, 4.6.1-4.6.2 pertemuan ke 8

Oke kita langsung bisa lihat hasil coding dan algo dari ane gan

4.1
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.


4.2
 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)
ceta 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

4.3



4.4


4.5
var
A; array[1..100] of interger;
i: integer;
begin
for i:=1 to 100 do
begin
A[1]:=i;
end;
End.


4.6