Program Mengurutkan Angka Dari Terkecil Hingga Terbesar dengan BubbleSort - Array Dalam Fungsi C/C++
Studi Kasus Praktikum 4.3 (Struktur Data - Modul 4)
Dalam suatu kumpulan angka yang tidak beraturan kita diminta untuk mengurutkan, dari mulai terkecil hingga yang terbesar. Tipe data yang menangani kasus ini bersifat efisien adalah tipe data array.#include <stdio.h> #include <conio.h> void bubblesort (int data[], int n) //parameter bubblesort { int i, j = 0, temp, flag = 1; //variabel dan penetapan nilai di fuungsi while (flag) //intruksi perulangan DO-WHILE dan FOR { flag = 0; for (i = 0; i < n; i++) { //proses pengurutan angka dengan operator logika if (data[i] > data[i + 1]) { temp = data[i]; data[i] = data[i + 1]; data[i + 1] = temp; flag++; } } } } main() { int data[1000]; //variabel array dengan elemen 1000 int n, i, j; //variabel printf ("_______.:: BUBBLE SORT ::._______\n"); printf ("Masuk angka (max 1000) : "); scanf ("%d", &n); //inputan jumlah elemen yang diguankan printf ("Data (pisahkan angka dengan spasi) : "); //masukan dipisah dengan spasi for (i = 0; i < n; i++) //perulangan untuk memasukan angka { scanf ("%d" , &data[i]); } bubblesort (data, n); //pemanggilan fungsi printf ("\nOutput after sort : \n"); //menampilkan hasil sort dengan intruksi for for (j = 0; j < n; j++) { printf ("%d ", data[j]); } }
Hasil running
Program ini akan memasukan angka secara acak kemudian akan diurutkan dari yang terkecil sampai yang terbesar dengan menggunakan array. Cara kerja program ini pada main() dilakukan masukan jumlah angka, jumlah tersebut dapat dimasukan sebanyak 1000 angka sesuai penetapan isi elemen array data tersebut. Kemudian dilakukan masukan data dengan cara memberi spasi pada setiap angka yang dimasukan untuk membedakan antara angka ke-1 angka ke-2 dan seterusnya. Kemudian dilakukan perulangan for untuk memasukan tiap angka-angka tersebut kedalam array data[i], dan for tersebut akan membaca nilai masukan, dan setiap spasi akan dianggap sebagai batasannya.
Untuk proses dilakukan pemanggilan fungsi bubblesort. Didalam parameter bubblesort diakukan perulangan sebanyak 2 kali menggunakan while dan for, dan didalam perulangan terdapat pemilihan, dan logika pemindahan angak ke variabel lain. Tujuan proses ini akan mengurutkan nilai pada array data. Didalam perulangan terdapat if (data[i] > data[i + 1]), jika data [i] lebih besar dari data [i + 1]. maka akan dilakukan perulangan yang kemudian nilai akan dipindah pindahkan sehingga angka dalam array dapat menjadi berurut.
Kemudian untuk tampilan nilai akan dilanjutkan ke main(). dilakukan perulangan kembali, untuk menampilkan hasilnya.
0 Response to "Program Mengurutkan Angka Dari Terkecil Hingga Terbesar dengan BubbleSort - Array Dalam Fungsi C/C++"
Post a Comment