4.
Tulis program untuk mengurutkan data mahasiswa yang setiap record-nya terdiri dari field NIM (10 karakter), Nama (25 karakter), dan IPK (float). Data diurutkan secara descending berdasarkan NIM Gunakan struktur data array of struct dan algoritma insertion sort. Pertama-tama program minta input jumlah mahasiswa yang akan diinputkan, kemudian baru BINA NUSANTARA
Soal Algoritma & MOOP (T0456) menginputkan data mahasiswa dan kemudian menampilkan data mahasiswa tersebut dalam keadaan urut secara descending. JAWABAN
1.Simulasikan pengurutan data di bawah dengan algoritma insertion sort 23 13 45 67 54 98 28 33 56 75 Insertion Sort (Putaran 1)
Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
23 23 13 Banding , geser
13 Sisip
13
45 45
67 67 67
54 54 54
98 98 98
28 28 28
33 33 33
56 56 56
75 75 75
Pindah ke Temp
23
45
13
23
45
67
54
98
28
33
56
75
13
23
45
67
54
98
28
33
56
75
Pindah ke Temp 45
13
Banding , geser Sisip
23
67
54
98
28
33
56
75
13
23
45
67
54
98
28
33
56
75
13
23
45
67
54
98
28
33
56
75
Pindah ke Temp 67
13
Banding , geser Sisip
23
45
54
98
28
33
56
75
BINA NUSANTARA
: 1 0
13
23
45
67
54
98
28
33
56
75
Pindah ke Temp 54
13
23
45
67
98
28
33
56
75
Banding , geser 54
13
Banding , geser Sisip
23
45
67
98
28
33
56
75
13
23
45
54
67
98
28
33
56
75
13
23
45
54
67
98
28
33
56
75
Pindah ke Temp 98
13
23
Banding , geser Sisip
45
54
67
28
33
56
75
13
23
45
54
67
98
28
33
56
75
13
23
45
54
67
98
28
33
56
75
Pindah ke Temp 28
13
23
45
54
67
98
33
56
75
Banding , geser 28
13
23
Banding , geser
45
54
67
98
33
56
75
28
13
23
45
54
67
98
33
56
75
Banding , geser
BINA NUSANTARA
: 1 0
13
Banding , geser
23
45
54
67
98
33
56
75
28
13
Banding , geser Sisip
23
45
54
67
98
33
56
75
13
23
28
45
54
67
98
33
56
75
13
23
28
45
54
67
98
33
56
75
Pindah ke Temp 33
13
23
28
Banding , geser
45
54
67
98
56
75
33
13
23
28
45
54
67
98
56
75
Banding , geser 33
13
23
Banding , geser
28
45
54
67
98
56
75
33
13
23
28
45
54
67
98
56
75
Banding , geser 33
13
Banding , geser Sisip
23
28
45
54
67
98
56
75
13
23
28
33
45
54
67
98
56
75
13
23
28
33
45
54
67
98
56
75
Pindah ke Temp 56
13
23
28
33
45
54
67
98
75
Banding , geser 56
13
23
28
33
45
54
67
98
75
BINA NUSANTARA
: 1 0
13
23
28
33
45
54
67
98
75
13
23
28
33
45
54
56
67
98
75
13
23
28
33
45
54
56
67
98
75
Pindah ke Temp 75
13
23
28
33
Banding , geser
45
54
56
67
98
75
13
23
28
33
45
54
56
67
98
13
23
28
33
45
54
56
67
75
98
2.Hasil pengurutan pada putaran pertama dengan algoritma Insertion sort secara ascending dengan data 23 13 45 67 54 adalah: e. 13 23 45 54 67 f. 13 23 45 67 54 g. 23 13 45 54 67 h. 23 13 45 67 54 Insertion Sort (Putaran 1)
Temp [0] [1] [2] [3] [4]
23 23 13 Banding , geser
13 Sisip
13
45 45
67 67 67
54 54 54
Pindah ke Temp
23
45
13
23
45
67
54
BINA NUSANTARA
: 1 0
BINA NUSANTARA
: 1 0
4.Tulis program untuk mengurutkan data mahasiswa yang setiap record-nya terdiri dari field NIM (10 karakter), Nama (25 karakter), dan IPK (float). Data diurutkan secara descending berdasarkan NIM Gunakan struktur data array of struct dan algoritma insertion sort. Pertama-tama program minta input jumlah mahasiswa yang akan diinputkan, kemudian baru menginputkan data mahasiswa dan kemudian menampilkan data mahasiswa tersebut dalam keadaan urut secara descending. Jawab:
#include <iostream.h> #include <math.h> #include <iomanip.h> struct mhs { char NIM[10]; char NAMA[25]; float IPK; }; typedef mhs mhsarr[3]; inline void input(float *arr, int n) { mhsarr x; for (int i=0; i<=n; i++) { //cout<<"Masukkan bilangan ke-"<<i+1<<" : "; //cin>>arr[i]; cout<<"NIM : "; cin>>x[i].NIM; cout<<"NAMA : "; cin>>x[i].NAMA; cout<<"IPK : "; cin>>x[i].IPK; cout<<endl;
BINA NUSANTARA
: 1 0
BINA NUSANTARA
: 1 0
BINA NUSANTARA
: 1 0