Algoritma dan Pemrograman #7 (Latihan Programming 4)

 Program Max C++


    Kali ini kita akan membuat sebuah program dimana program ini mencari bilangan terbesar yang diinputkan oleh user sendiri. Berikut adalah programnya :

#include <iostream>
using namespace std;

int main() {
    //Kamus :
    int pilih;
    int i;
    int angka[10];
    int maximum=0;

    //Algoritma :
    cout << "----------Program Mencari Nilai Maximum----------\n";
    cout << "Menu : \n";
    cout << "( 1 ) Program Max 2 bilangan\n";
    cout << "( 2 ) Program Max 3 bilangan\n";
    cout << "( 3 ) Program Max 4 bilangan\n";
    cout << "( 4 ) Program Max 10 bilangan\n";
    cout << "--------------------------------------------------\n";
    cout << " Pilih Program : ";
    cin >> pilih;
    switch (pilih) {
        case 1: for(i = 0; i < 2; i++){
                    cout << "Masukan Nilai ke "<<i+1<< ":";
                    cin >> angka[i];
                }
                for(i=0; i<2; i++){
                    if(maximum<angka[i]){
                        maximum = angka[i];
                    }
                }
                cout << "Maka Nilai terbesar dari 2 bilangan tersebut adalah : "<<maximum;
        break;
        case 2: for(i = 0; i < 3; i++){
                    cout << "Masukan Nilai ke "<<i+1<< ":";
                    cin >> angka[i];
                }
                for(i=0; i<3; i++){
                    if(maximum<angka[i]){
                        maximum = angka[i];
                    }
                }
                cout << "Maka Nilai terbesar dari 3 bilangan tersebut adalah : "<<maximum;
        break;
        case 3: for(i = 0; i < 4; i++){
                    cout << "Masukan Nilai ke "<<i+1<< ":";
                    cin >> angka[i];
                }
                for(i=0; i<4; i++){
                    if(maximum<angka[i]){
                        maximum = angka[i];
                    }
                }
                cout << "Maka Nilai terbesar dari 4 bilangan tersebut adalah : "<<maximum;
        break;
        case 4: for(i = 0; i < 10; i++){
                    cout << "Masukan Nilai ke "<<i+1<< ":";
                    cin >> angka[i];
                }
                for(i=0; i<10; i++){
                    if(maximum<angka[i]){
                        maximum = angka[i];
                    }
                }
                cout << "Maka Nilai terbesar dari 10 bilangan tersebut adalah : "<<maximum;
        break;
        default: cout << "silahkan pilih dengan nomor misal 2";
    }
    return 0;
}

Hasilnya jika memilih program ke-1 maka akan muncul hasil seperti ini :


Hasilnya jika memilih program ke-2 maka akan muncul hasil seperti ini :

Hasilnya jika memilih program ke-3 maka akan muncul hasil seperti ini :

Hasilnya jika memilih program ke-4 maka akan muncul hasil seperti ini :



Sorting C++

    Pengurutan (sorting) adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending), yaitu urutan objek yang disusun mulai dari Nilai terkecil hingga terbesar atau menurun (descending), yaitu urutan objek yang disusun mulai dari Nilai terbesar hingga terkecil. Disini hanya memberikan beberapa jenis saja

1. Bubble Sort

    Bubble Sort merupakan suatu metode sorting dengan proses membandingkan elemen sekarang dengan elemen selanjutnya. Perbandingan dapat dimulai dari awal sampai akhir atau sebaliknya. Jika elemen sekarang lebih besar dari yang berikutnya atau jika elemen sekarang lebih kecil dari yang berikutnya (tergantung syarat yang digunakan) maka posisi akan ditukar.

Programmnya seperti ini :

#include <iostream>
#include <conio.h>

using namespace std;
    int data[10], data2[10];
    int n;

int tukar (int a,int b){
    int t;
    t=data[b];
    data[b]=data[a];
    data[a]=t;
}

int input(){
    cout<<"Masukan Jumlah Data = ";
cin>>n;

cout<<endl;

    for (int i=0;i<n;i++){
    cout << "Masukan Data Ke-" << i+1 << " = ";
    cin >> data[i];

    data2[i]=data[i];
}
cout<<endl;
}

int tampil(){
for (int i=0;i<n;i++){
     cout<<"["<<data[i]<<"] ";
}
cout<<endl;
}

int 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);
}
}
tampil();
}
cout<<endl;
}


int main()
  {
input();
cout<<"Proses Bubble Sort"<<endl;
tampil();
bubble_sort();
  getch();
  }

Jika kita menjalankannya akan membuahkan hasil seperti ini :






2. Quick Sort

    Quick Sort merupakan metode tercepat dalam proses pengurutan data dengan menggunakan prinsip rekursif. Mari kita lihat programnya dibawah ini.

#include <iostream>
#include <conio.h>

using namespace std;

void tampilkan_data(int data[], int n)
{
    int i;
    for (i=1;i<=n;i++)
    cout<<data[i]<<" ";
    cout<<"\n";
}
int partisi (int data[], int awal, int akhir)
{
    int x,i,j,simpan;
 
    i=awal;
    j=akhir;
    
    while(1){
        while(data[i]<data[awal])
        i=i+1;
        while(data[j]>data[awal])
        j=j-1;
        if (i<j)
    {
        
    //tukarkan data
    simpan=data[i];
    data[i]=data[j];
    data[j]=simpan;
    }
    else
        return j;
    }
}
void quick_sort(int data[], int awal, int akhir)
{
    int q;
    if(awal<akhir)
    {
    q=partisi(data,awal,akhir);
    quick_sort(data,awal,q);
    quick_sort(data, q+1,akhir);
    }
}
int main()
{
    int i,j,n,data[100];
    
    cout<<"masukkan banyak data= ";cin>>n;
    
    for(i=1;i<=n;i++){
        cout<<"data ke-"<<i<<" = ";cin>>data[i];
    }
    cout<<"Data sebelum diurut: "<<endl;
    for(j=1;j<=n;j++){
        cout<<data[j]<<" ";
    }
    quick_sort(data,1,n);
 
    //hasil pengurutan
    cout<<endl;
    cout<<endl;
    cout<<"hasil pengurutan:\n";
    tampilkan_data(data,n);
    getch();
}

Hasilnya akan menjadi seperti ini :




3. Maximum Sort

    Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Jadi maximum sorting adalah sorting yang mengurutkan dari terbesar ke terkecil. Berikut adalah screenshot dari codenya :


Hasilnya seperti ini :




    Demikian latihan coding part kesatu semoga apa yang sampaikan bisa dipahami dan mudah dicerna mohon maaf kalau banyak kesalahannya, part kedua menyusull yaaaa 😀😀😀








Komentar