Anda di halaman 1dari 5

NAMA : CANDIKA APRILA SAPUTRA

NIM : 02032011026

#include<iostream>
using namespace std;

void seleksi(int data[],int n);/*prototipe fungsi*/


int main()
{
    int i;
    int n=9;//index terbesar
    int data[]={20,10,32,100,60,12,70,25,45,65};
   
    cout<<"Sebelum di urutkan :"<<endl;
    for(i=0;i<n;i++)
        cout<<data[i]<<" ";
        cout<<endl;
   
    cout<<"___________________________________________________"<<endl;
    seleksi (data, n);
    cout<<"Setelah diurutkan"<<endl;
    for(i=0;i<=n;i++)
        cout<<data[i]<<" ";
        cout<<endl;
}
void seleksi(int Array1[],int n)
{
    int i,j,tmp,imaxs;
    for(i=n;i>=1;i--)
    {
        imaxs=0;
        for(j=1;j<=i;j++)
        {
            if (Array1[j]>Array1[imaxs])
            imaxs=j;
        }
        tmp=Array1[imaxs];
        Array1[imaxs]=Array1[i];
        Array1[i]=tmp;
    }
}

Sekarang saya akan menjelaskan source code di atas mulai dari awal.

1. Pada bagian awal saya mendeklarasikan semua variabel yang saya akan gunakan termasuk
array dengan simbol [ ]. Karena semua variabel hanya berisi angka jadi saya menggunakan tipe
data int.

2. Selanjutnya saya menggunakan perulangan FOR untuk menampilkan output dalam memasukkan
angka. Disini saya membuat contoh program pengurutan angka dengan banyak 9 angka. Jadi
perulangan FOR menggunakan batas awal perulangan yaitu 1 dan batas akhir perulangan yaitu
kurang dari atau sama dengan 9.

3. Di dalam perulangan FOR terdapat perintah cout dan cin untuk menampilkan output inputan
sesuai n variabel perulangan dari 1 sampai 9 kemudian perintah cin akan menyimpan inputan
tersebut ke dalam array sesuai indexnya mulai dari index 1 sampai 9 sesuai n batas perulangan.

4.  Tahap selanjutnya yaitu saya kembali menggunakan perulangan FOR untuk proses pengurutan.
Disini saya menggunakan perulangan FOR bertingkat yang masing-masing menggunakan batas
perulangan yang sama menggunakan variable i

5. Ditengah perulangan FOR tingkat kedua terdapat kondisi untuk menukar posisi angka atau
bilangan, kondisi pada perulangan pertama nilai 1 jika nilai pada array bil[] untuk index 1 lebih kecil
dari nilai array bil[] index 2 maka kita contoh bayangkan nilainya misalkan index 1 nilainya 3 dan
index 2 nilainya 7 jadi apakah 3 lebih kecil dari 7 jika iya maka nilai akan ditukar posisinya index 2
berisi nilai 7 dan index 1 berisi nilai 3, selanjutnya sampai batas akhir 5. Nilai yang lebih besar akan
selalu berada pada sebelah paling kiri atau index paling kecil karena sebagai pembanding,
pengurutan dimulai dari index setelah index nilai pembanding atau yaitu index 2. Mungkin sedikit
agak rumit tapi seperti itulah prosesnya.

6. Proses didalam kondisi IF tersebut yaitu misalkan mulai dari perulangan pertama nilai index 1
berisi 3 dan index 2 berisi 7 maka akan di cek apakah 3 lebih kecil dari 7 karena iya jadi nilai 3 pada
index 1 akan disimpan nilainya pada variabel temp kemudian nilai pada index 1 akan diisikan
dengan nilai pada index 2 selanjutnya nilai index 2 akan diisikan oleh nilai pada variabel temp tadi
yang sebelumnya merupakan isi dari nilai index 1 sebelumnya. Jadi nilai 3 dan 7 sebelumnya
terbalik 7 sekarang pada index 1 dan 3 pada index 2.

7. Pada tahap bawah saya kembali menggunakan perulangan FOR untuk menampilkan hasil
pengurutan dengan menampilkan isi array bil[] mulai dari index 1 sampai 9.

8. Mengapa di awal saya mendeklarasikan nilai array bil yaitu 9 karena index array sebenarnya
dimulai dari index 0 jadi karena perulangan kita menggunakan batasan dari 1 sampai jadi nilai array
harus diberikan 9.

#include<iostream.>
#include<conio.h>
using namespace std;
main()
{
  int Nilai[20];
  int i, N, Bilangan;
  bool ketemu;
  
  cout<<"Masukkan Banyaknya Bilangan = ";
  cin>>N;
  
  //Membaca elemen Array
  for(i=0; i<N; i++)
  {
    cout<<"Masukkan elemen ke-"<<i<<" = ";
    cin>>Nilai[i];
  }
  
  //Mencetak Elemen Array
  cout<<"\n\Deretan Bilangan = ";
  for(i=0; i<N; i++)
  cout<<Nilai[i]<<" ";
  
  cout<<"\n\nMasukkan Bilangan yang akan Dicari = ";
  cin>>Bilangan;
  
  //Melakukan Pencarian
  i=0;
  do
  {
    if(Nilai[i]==Bilangan)
    ketemu = true;
    i++;
  }
  while(!(ketemu));
  
  if(ketemu)
  cout<<"Bilangan "<<Bilangan<<" ditemukan";
  else
  cout<<"Bilangan "<<Bilangan<<" tidak ditemukan";
  getch();
}

Program diatas saya membuat beberapa variabel yang semuanya bertipe data integer
1. Variabel i berfungsi untuk inisialisasi nilai awal pada perulangan for untuk mengakses index
array.
2. Variabel n berfungsi untuk menentukan jumlah data yang akan dimasukan kedalam array.
Variabel ini akan menjadi batas kondisi perulangan akan dijalankan.
3. Variabel cari berfungsi untuk menyimpan nilai yang ingin dicari. Nantinya nilai dari variabel
ini akan dibandingkan dengan setiap nilai didalam array tersebut.
4. Variabel ketemu berfungsi untuk membuat statement tambahan jika data yang dicari tidak
ditemukan. nilai awal dari variabel ini adalah 0 yang berarti tidak ditemukan data yang dicari,
namun bila data yang dicari ditemukan maka nilainya adalah yang dimasukan oleh user.
5. variabel niali[20] adalah variabel array dengan ukuran 20. jadi kita dapat memasukan jumlah
data sebanyak 20 data pada variabel Nilai tersebut.

Pengguna akan menginput jumlah data yang akan disimpan didalam variabel n. nantinya variabel ini
akan menjadi batas kondisi perulangan yang akan dijalankan. perulangan akan dilakukan dengan
mencetak statement memasukan data kedalam array berdasarkan jumlah data yang ingin
dimasukan. Selanjutnya jika kondii telah terpenuhi maka perulangan akan berhenti dan dilanjutkan
dengan perintah user untuk memasukan nilai yang ingin dicari. nilai yang ingin dicari disimpan di
variabel cari, yang selanjutnya akan dibandingkan dengan nilai pada variabel Nilai[] berdasarkan
index-nya. Apabila terdapat nilai yang sama maka sistem akan mencetak output bahwa data yang
dicari telah ditemukan pada index tertentu. Namun apabila tidak ditemukan maka sebaliknya sistem
akan mencetak data tidak ditemukan.

Anda mungkin juga menyukai