sekian dan terimakasih^^
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 .
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 :
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
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 :

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
Algoritma
Deklarasi :
data : integer (input)
data2 : integer (input)
n : integer(input)
t : integer (variabel penampung)
Data2[i]=data[i];
Write("Data Setelah di Sort ")
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 :
Algoritma :
Deklarasi :
a : integer(input)
low, high,mid : integer
merge : void
Proses :
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 :
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] ßinputData2[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
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 :
1-4 :ela dwi angraini
8-10 : agus prasetyo
Langganan:
Postingan (Atom)
















