Rabu, 18 Mei 2016

Refleksi 10

Pada minggu ini seperti biasa kami masuk pada hari Rabu jam 6.45 namun pada hari ini kelas kami digabungkan dengan kelas sebelah . Pada pertemuan ke 10 ini kami membahas tentang searching . tidak beda jauh dengan sorting namun menurut saya searching lebih sulit daripada sorting. Pada materi searching ini kami mempelajari materi pencarian linear dan pencarian biner .

sekian dan terimakasih^^ 

Senin, 16 Mei 2016

Bubble Sort

11. Identifikasi Masalah
Mengurutkan data dengan metode bubble sort

22. Menentukan Input dan Output
Input: A[i]=i, A[i+1]=j
       Output: A[i]= A[i+1], A[i+1]=A[i]

33. Membuat Flowchart




44. Tes Menggunakan Data
     input banyak data : 6
   Input data ke 1 : 9
   Input data ke 2 : 8
   Input data ke 3 : 7
   Input data ke 4 : 6
   Input data ke 5 : 5
   Input data ke 6 : 4

  Output : Data setelah diurutkan : 4 5 6 7 8 9

     Hasil tersebut diperoleh dari :
    For I ← 1 to n-1
    If A[i]>A[i+1] then
    Tukarkan (A[i], A[i+1])
   Jika elemen kiri > elemen kanan maka kita tukarkan.
   Data awal : 9 8 7 6 5 4
   Step 1 : 8 9 7 6 5 4 (9>8)
   Step 2 : 8 7 9 6 5 4 (9>7)
   Step 3 : 8 7 6 9 5 4 (9>5)
   Step 4 : 8 7 6 5 9 4 (9>4)
   Step 5 : 8 7 6 5 4 9 (8>7)
   Step 6 : 7 8 6 5 4 9 (8>6)
   Step 7 : 7 6 8 5 4 9 (8>5)
   Step 8 : 7 6 5 8 4 9 (8>4)
   Step 9 : 7 6 5 4 8 9 (7>6)
   Step 10 : 6 7 5 4 8 9 (7>5)
   Step 11 : 6 5 7 4 8 9 (7>4)
   Step 12 : 6 5 4 7 8 9 (6>5)
   Step 13 : 5 6 4 7 8 9 (6>4)
   Step 14 : 5 4 6 7 8 9 (5>4)
   Step 15 : 4 5 6 7 8 9

55. Implementasi C++
#include <iostream>
using namespace std;
void baca_data(int A[], int n) {
int i;
for (i = 0; i < n; i++)
{ cout << "Data ke-" << i+1 << " : ";
cin >> A[i];
}
}
void cetak_data( int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << A[i] << " ";
cout << "\n";
}
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
void buble_sort (int x[], int n)
{ int i, j;
for (i = 0; i<n-1; i++)
for (j = i+1; j<n; j++)
if (x[i] > x[j])
tukar(&x[i], &x[j]);
}


 main() {
//  nilai variable " nilai[100], n " disni digunakan untuk mengisi nilai parameter dalm prosedur    
int nilai[100], n;
cout << "Banyak data : ";
cin >> n;
baca_data(nilai,n);    //  pemgilan prosedur
cout<<endl;
cout<<"data awal"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur
buble_sort(nilai,n);   //  pemgilan prosedur
cout<<"data stelah diurutkan"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur
}

66. Execusi 

Untuk Bab ini silahkan kunjungi :
1. selection sort : ela dwi anggraini
2. insertion sort : agus prasetyo





waktu pengerjaan kurang lebih 4 jam 





Refleksi 9

      Pada pertemuan ke9 ini diadakan pada hari Sabtu jam 12.30, karena pada hari Rabu kosong dan digantikan pada hari Sabtu. 
     Pada pertemuan ini kami membahas tentang sorting.
     Apa itu sorting ?? 
     sorting adalah metode pengurutan, pada sorting terdapat 3 metode yaitu dengan bubble sort, selection sort,dan insertion sort atau penyisipan. 

sekian refleksi saya , terimakasih ^^

Minggu, 08 Mei 2016

program c++ sederhana dengan sub program

1. Program penjumlahan dengan inputan langsung

Dev C++

source code :

#include <iostream>
using namespace std;
int tambahan (int a, int b, int c) {
int jumlah;
jumlah=a+b+c;
return jumlah;
}
int main () {
int jumlahbayangan;
jumlahbayangan=tambahan (1,2,3);
cout<<jumlahbayangan;

return 0;

}

outputnya :


2. Program penjumlahan (inputan lewat keyboard)

Dev C++

source code :

#include <iostream>
using namespace std;
void Tambah(int a, int b)

{

int c = 0;

int i = a;

if((a % 2) == 0)

i = a + 1;

while (i <= b)

{

c += i;

i +=2;

}

cout << "Hasil = " << c << endl;

}

int main()

{

int awal, akhir, hasil;

cout << "Awal = ";

cin >> awal;

cout << "Akhir = ";

cin >> akhir;

Tambah(awal, akhir);

getchar();

}

outputnya :

3. Program perkalian (input lewat keyboard)

Dev C++

source code :

#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
float hasil(int a, int b);
int main(int argc, char** argv) {
int x,y;
float z;
cout<<"bilangan pertama : ";
cin>>x;
cout<<"bilangan kedua : ";
cin>>y;
z=hasil(x,y);
cout<<"hasil perkaliannya adalah : "<<z<<endl;
getch ();
}
float hasil(int a, int b){
return (a*b);
}

outputnya :






Jumat, 06 Mei 2016

Mencari Mean,Modus,Median

Latihan no 2

1. Identifikasi masalah 

=> mencari mean, modus dan median.

2. Menentukan input dan output 

mean : for(i=0;i<n;i++)

sum=sum+array[i];

median :  for(i=0;i<n;i++)

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

modus : 3*median_function(a,n)-2*mean_function(a,n)

3. Membuat Flowchart





4. Test menggunakan data

Median :

1 1 2 2 2 3 4 5 5

f[1]=2
f[2]=3
f[3]=1
f[4]=1
f[5]=2

5. Implementasi C++

source code :

#define SIZE 100
#include<iostream>
using namespace std;
float mean_function(float[],int);
float median_function(float[],int);
float mode_function(float[],int);

int main()
{

int i,n,choice;

float array[SIZE],mean,median,mode;
char a;
    a='b';
    while(a=='b')
    {
system ("cls");
cout<<"===========================";
cout<<"\nPROGRAM MEAN, MEDIAN, MODUS\n";
cout<<"===========================\n";
cout<<"Masukan jumlah data = ";
cin>>n;
cout<<"=======================\n";
cout<<"data\n";
cout<<"=======================\n";
for(i=0; i<n; i++)

cin>>array[i];

do
{

cout<<"\n\tEnter pilihan\n\t1.Mean\n\t2.Median\n\t3.Mode\n\t4.Exit\n";
cin>>choice;
switch(choice)
{

case 1:

mean=mean_function(array,n);
cout<<"\nMean ="<<mean;
break;

case 2:

median=median_function(array,n);
cout<<"\n\tMedian = "<<median;
break;

case 3:

mode=mode_function(array,n);
cout<<"\n\tMode = "<<mode;
break;

case 4:

break;

default:

cout<<"salah kode";
break;

}
}while(choice!=4);

}
}

float mean_function(float array[],int n)
{
int i;
float sum=0;
for(i=0;i<n;i++)

sum=sum+array[i];

return (sum/n);

}


float median_function(float a[],int n)
{

float temp;
int i,j;
for(i=0;i<n;i++)

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

if(a[i]>a[j])
{

temp=a[j];
a[j]=a[i];
a[i]=temp;

}

}

if(n%2==0)
return (a[n/2]+a[n/2-1])/2;
else
return a[n/2];

}

float mode_function(float a[],int n)
{

return (3*median_function(a,n)-2*mean_function(a,n));

}

6. Execusi



untuk rencana silahkan kunjungi latian no :



problem solving

Ebook 419

Analysis :

You will need separate arrays to hold the reveneu table, the unit totals(row sums) and the hospital quarterly totals (column sums)

Algorithm :

Declaration :
I,j,max,temp : integer
Description :
Maxß input
For(i=1;i<=max;i++)then
Write(“masukan data ke-i”)
For(i=1;i<=max;i++)then
Write(‘data[1]’)
For(i=1;i<=max;i++)then
For(j=1;j<=max;j++)then
If(data[i]>data[j])then
Write(‘temp=data[i])
Data[i]ßdata[j];

Data[j] ß temp;

Dev C++

source code :

#include <iostream>
#include <cstdlib>
/* 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 i,j,max,temp;
int data[10];
cout<<"\t\t\t++++Summary of Hospital Revenue++++"<<endl<<endl;
cout<<"masukan banyak data : "; cin>>max;
for(i=1;i<=max;i++){
cout<<"\nmasukan data ke-"<<i<<" ; ";cin>>data[i];
}
cout<<"\ndata awal : ";
for(i=1;i<=max;i++){
cout<<data[i]<<" ";
}
for(i=1;i<=max;i++){
for(j=1;j<=max;j++){
if(data[i]>data[j]){
temp=data[i];
data[i]=data[j];
data[i]=temp;
  }
}
}
return 0;
}

outputnya :

silahkan kunjungi juga alamat dibawah ini :



Selasa, 03 Mei 2016

Diktat 8

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

Step :


[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]            1 terkecil, 21               1
Fase 1              [1, 16, 25, 8, 19, 4, 21]            4 terkecil, 16               4
Fase 2              [1, 4, 25, 8, 19, 16, 21]            8 terkecil, 25               8
Fase 3              [1, 4, 8, 25, 19, 16, 21]            16 terkecil, 25             16
Fase 4              [1, 4, 8, 16, 19, 25, 21]            19 terkecil, 19             19
Fase 5              [1, 4, 8, 16, 19, 25, 21]            21 terkecil, 25             21
Fase 6              [1, 4, 8, 16, 19, 21, 25]            25 terkecil tetap.
Fase 7              [1, 4, 8, 16, 19, 21, 25]           
Fase 8              [1, 4, 8, 16, 19, 21, 25]

Algoritma 

Deklarasi :
data : integer (input)
data2 : integer (input)
n : integer(input)
t : integer (variabel penampung)
Description :
Write ("masukan data")
Nß input
For(int i=1;i<=n;i++)then
Write(“masukan data ke-i”)
Data[i] ßinput
Data2[i]=data[i];
Write("Data Setelah di Sort  ")
For (int i=1; i<=n; i++)then
Write('data[i]')

Dev C++

source code :

#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();

}

outputnya :

6. Diketahui deret angka sebagai berikut :
5 2 4 6 1 3
Dari deret angka tersebut, lakukan pengurutan dari yang paling kecil sampai paling besar menggunakan insertion sort !

Algoritma :

Deklarasi :
i,j : integer (input)
temp : integer (variabel penampung)
Proses :
Write ("masukan jumlah data ")
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;

Dev C++

source code :

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

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;
 }
}
int main()
{

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

 insertion_sort();

 cout<<endl<<endl;

 //MENAMPILKAN DATA
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }
 cout<<endl<<endl<<"Sorting Selesai";
 getch();
}

outputnya :


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 paling kecil berada paling depan samapai yang paling besar berada paling belakang !

Step

Algoritma :

Deklarasi :
a : integer(input)
low, high,mid : integer
merge : void
Proses :
 if(low<high)  
  mid=(low+high)/2;  
  merge_sort(low,mid);  
  merge_sort(mid+1,high);  
  merge(low,mid,high)

 while((h<=mid)&&(j<=high))  
  if(a[h]<=a[j])  
   
   b[i]=a[h]; h++;  
  
  else  
   
   b[i]=a[j]; j++;  
  i++;  

 if(h>mid)  
  
  for(k=j;k<=high;k++)  
   
   b[i]=a[k]; i++;  
   
 else  
   
  for(k=h;k<=mid;k++)  
    
   b[i]=a[k]; i++;  
   
 for(k=low;k<=high;k++)  
  a[k]=b[k];  
Dev C++
source code :

#include <iostream>  
#include <conio.h>  
using namespace std;
int a[50];  
void merge(int,int,int);  
void merge_sort(int low,int high)  
{  
 int mid;  
 if(low<high)  
 {  
  mid=(low+high)/2;  
  merge_sort(low,mid);  
  merge_sort(mid+1,high);  
  merge(low,mid,high);  
 }  
}  
void merge(int low,int mid,int high)  
{  
 int h,i,j,b[50],k;  
 h=low;  
 i=low;  
 j=mid+1;  
 while((h<=mid)&&(j<=high))  
 {  
  if(a[h]<=a[j])  
  {  
   b[i]=a[h]; h++;  
  }  
  else  
  {  
   b[i]=a[j]; j++;  
  } i++;  
 }  
 if(h>mid)  
 {  
  for(k=j;k<=high;k++)  
  {  
   b[i]=a[k]; i++;  
  }  
 }  
 else  
 {  
  for(k=h;k<=mid;k++)  
  {  
   b[i]=a[k]; i++;  
  }  
 }  
 for(k=low;k<=high;k++)  
  a[k]=b[k];  
}  
int main()  
{  
 int num,i,b; 
 cout<<"***************************"<<endl;  
 cout<<" MERGE SORT PROGRAM "<<endl;  
 cout<<"***************************"<<endl;  
 cout<<endl<<endl;  
 cout<<"Masukkan Banyak Bilangan: ";cin>>num;  
   cout<<endl;  
 cout<<"Sekarang masukkan "<< num <<" Bilangan yang ingin Diurutkan :"<<endl;  
 for(b=1;b<=num;b++)  
 {  
  cout<<"Bilangan ke-"<<b<<" : ";cin>>a[b] ;  
 }  




 merge_sort(1,num);  
 cout<<endl;  
 cout<<"Hasil akhir pengurutan :"<<endl;  
 cout<<endl;  
 for(i=1;i<=num;i++)  
  cout<<a[i]<<" ";  
 cout<<endl<<endl<<endl<<endl;

   getch();  
}  
outputnya :



Silahkan kunjungi untuk no :
8-10 : agus prasetyo