Tidak ada niat untuk mengajari hanya ingin berbagi

Tampilkan postingan dengan label Rencana Kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label Rencana Kuliah. Tampilkan semua postingan

18 Mei 2016

Bubble Sort

Assalamualaikum warahmatullahi wabarakatuh..
      kali ini saya akan menggaerjakan soal dari rencana kuliah bulan 3 minggu ke 2. di sini saya menggerjakan dengan metode yang berbeda dari biasanya langsung saja  ke pekerjaan saya  


1. Mengidentifikasi masalah
    Mengurutkan nilai acak dengan sorting metode bubble sort
2. Input/output
       In            : Y[x], x
       Out        : nilai, x
3. Menggunakan tes data
                                                input :
banyak data : 6 
data ke 1 : 9
data ke 2 : 8 
data ke 3 : 7
data ke 4 : 6
data ke 5 : 5
data ke 6 : 4
Data Awal : 9 8 7 6 5 4  
data setelah diurutkan : 4 5 6 7 8 9

Proses pengurutan secara manual 
For I ← 1 to x-1
Jika T[i]>T[i+1] Maka
Pindahkan (T[i], T[i+1])
Jika elemen kiri > elemen kanan maka kita pindahkan.
Data awal : 9 8 7 6 5 4
Baris 1: 8 9 7 6 5 4
Baris 2 : 8 7 9 6 5 4
Baris 3 : 8 7 6 9 5 4
Baris 4 : 8 7 6 5 9 4
Baris 5 : 8 7 6 5 4 9
Baris 6 : 7 8 6 5 4 9
Baris 7 : 7 6 8 5 4 9
Baris 8 : 7 6 5 8 4 9
Baris9 : 7 6 5 4 8 9
Baris 10 : 6 7 5 4 8 9
Baris 11 : 6 5 7 4 8 9
Baris 12 : 6 5 4 7 8 9
Baris13 : 5 6 4 7 8 9
Baris 14 : 5 4 6 7 8 9
Baris 15 : 4 5 6 7 8 9
4. Inplementasikan dengan C++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int Y[], int x){
            int i;
            for(i=0; i<x; i++){
            cout<<"Data ke - "<<i+1<<" : ";
            cin>>Y[i];
}
}
void cetak_data(int Y[], int x){
            int i;
            for(i=0; i<x;i++)
            cout<<Y[i]<<" ";
            cout<<" \n";
}
void tukar(int *p, int*q){
            int temp;
            temp = *p;
            *p = *q;
            *q = temp;
}
void bubble_sort(int T[], int x){
            int i, j;
            for(i = 0; i<x-1; i++)
            for(j = i+1; j<x; j++)
            if(T[i] > T[j])
            tukar(&T[i], &T[j]);

}
int main(int argc, char** argv) {
int nilai[100], x;
cout<<"Banyak data : ";
cin>>x;
baca_data(nilai,x);
cout<<"\ndata awal : "<<endl;
cetak_data(nilai,x);
bubble_sort(nilai,x);
cout<<"data setelah di urutkan : "<<endl;
cetak_data(nilai,x);

            return 0;
}
5. Outputnya : 


untuk menyelesaikan permasalahan tersebut saya memerlukan waktu kurang lebih 5 jam.

Sekian yang bisa saya bagikan semoga bermanfaat 
wassalamualaikum warahmatullahi wabarakatuh
Read More

6 Mei 2016

Rencana kuliah bulan 3 minggu 1

Assalamualaikum warahmatullahi wabarakatuh..

Oke gaes kali ini saya akan membagikan hasil kerja saya dan teman teman saya mengerjakan rencana kuliah bulan ke 3 minggu pertama



terdapat 3 soal latihan disitu. saya sendiri mengerjakan yang pertama dan 2 lainnya di kerjakan oleh teman saya. langsung saja ke latihan no 1. di soal nomer 1 kita disuruh untuk menggeser elemen array. karna tidak di tentukan geser kanan atau kiri saya mengerjakan keduanya dalam 1 program.

ini codingan devC++nya :

#include <cstdlib>
#include <iostream>
#define maks5

using namespace std;

class array{
friend ostream& operator<<(ostream&, const array&);
friend istream& operator>>(istream&, array&);
public:
array();
void cetak();
void geser_kanan();
void geser_kiri();
void geser_kiri1();

private:
char a[5];
int posisi;
};

array::array(){
for(int i=0;i<5;i++)
a[i]='0';
}

void array::cetak(){
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
}

ostream& operator<<(ostream& out, const array& keluar){
for(int i=0;i<5;i++)
out<<keluar.a[i]<<" ";
out<<endl;
return out;
}

istream& operator>>(istream& in, array& masuk){
int posisi;
for (int posisi=1; posisi<=5; posisi++){
cout<<"Masukkan Nilai Array Posisi Ke-"<<posisi<<" = " ;

if(posisi >= 0 && posisi <= 5){
in>>masuk.a[posisi-1];
}
}
return in;
}

void array::geser_kanan(){
int n=5;
int temp=a[n-1];
for(int i=n-1;i>=0;i--)
a[i+1]=a[i];
a[0]=temp;
}

void array::geser_kiri(){
int n=5;
int temp=a[0];
for(int i=0;i<n;i++)
a[i]=a[i+1];
a[n-1]=temp;
}

void array::geser_kiri1(){
int n=5;
int temp=a[0];
for(int i=0;i<n;i++)
a[i]=a[i+1];
a[n-1]=temp;
}
int main(int argc, char *argv[])
{
array X;
cout<<"Program Array Geser Kanan\n\n";
cout<<"Array Masih Kosong : "<<X;
cin>>X;
cout<<endl<<"Isi Array Saat Ini : "<<X;
X.geser_kanan();
cout<<"Isi Array Setelah Digeser Kanan : "<<X<<endl;
cout<<endl;

cout<<"Isi Array saat ini : "<<X;
X.geser_kiri();
cout<<"Isi Array setelah di geser kiri : "<<X;

cout<<endl<<"Isi Array saat ini : "<<X;
X.geser_kiri1();
cout<<"Isi Array setelah di geser kiri : "<<X;

system("PAUSE");
return EXIT_SUCCESS;
}

dan ini dia hasil outputnya :



Flowchartnya :
a. geser ke kiri


b. geser ke kanan


Untuk latihan ke 2 bisa buka DISINI
Untuk latihan ke 3 bisa buka DISINI



mengerti??? coba di copas dan di coba di rubah rubah sebisa kalian. saya pun masih belajar karna saya pum masih belum terlalu paham akan materi matrri ini


Sekian yang bisa saya bagikan semoga bermanfaat 
wassalamualaikum warahmatullahi wabarakatuh
Read More
Diberdayakan oleh Blogger.