source code :
#include <iostream.h>
#include <conio.h>
int data[100];
int jml;
//Method Untuk mengosongkan data
void kosong(){
for(int a = 0 ; a < 100 ; a++){
data[a] = 0;
}
jml = 0;
cout << "\nPengosongan data selesai\n";
}
//Method untuk mencetak data
void cetak(){
cout << "================= Data Dalam Array =================\n";
for(int a = 0 ; a < jml ; a++){
cout << data[a] << "," ;
}
cout << "\n====================================================\n";
}
//Method untuk pengurutan data
void urut(){
int temp;
for(int i=0; i<jml ; i++){
for(int j=0; j<(jml-i); j++){
if(j+1<=jml-1){
if(data[j] > data[j+1]){
temp=data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
}
}
}
}
//Method untuk memasukkan data ke array
void inputdata(){
cout << "Masukkan banyak data yang anda inginkan = ";
cin >> jml;
for(int a=0 ; a<jml ; a++){
cout << "Masukkan data ke " << a << " = ";
cin >> data[a]; //Simpan data ke array
}
//cetak();
}
void main(){
int pilihan = 0;
do{
cout << endl;
cout << "========================================\n";
cout << " 1. Input data \n";
cout << " 2. Pengurutan data \n";
cout << " 3. Kosongkan data \n";
cout << " 4. Keluar \n";
cout << "========================================\n\n";
cout << "Masukkan menu yang anda pilih = ";
cin >> pilihan;
if(pilihan > 0 && pilihan < 4){
switch (pilihan){
case 1:
//Panggil fungsi untuk input data
inputdata();
break;
case 2:
//Urutkan data
urut();
//Cetak data
cetak();
break;
case 3:
//Kosongkan array
kosong();
break;
}
}else if(pilihan > 4){
cout << "Data yang anda masukkan salah\n";
}
}while(pilihan != 4);
}

kenapa kok while nya ada di bawah kok bukan di atas sendiri?
@ han:
Jadi penggunaan looping dengan do ya seperti itu
do{
}while();
while(){
}
Masalah menggunakan do atau while ya terserah pada programer masing – masing. itinya sama kok.
Cuman perbedaan saat menggunakan do proses akan dilakukan lebih dulu baru dilakukan pengecekan
Sedangkan saat kita menggunakan while maka akan di cek dulu baru di kerjakan.
Semoga dapat di mengerti