Anda di halaman 1dari 9

Soal Algoritma & MOOP (T0456)

Muhammad Alandra Hidayatullah 1100054250 03 PAY

Soal Algoritma dan MOOP Pertemuan 11


1. Simulasikan pengurutan data di bawah dengan algoritma insertion sort 23 13 45 67 54 98 28 33 56 75 2. Hasil pengurutan pada putaran pertama dengan algoritma Insertion sort secara ascending dengan data 23 13 45 67 54 adalah: a. 13 23 45 54 67 b. 13 23 45 67 54 c. 23 13 45 54 67 d. 23 13 45 67 54 3. Buatlah program untuk menginputkan sejumlah bilangan bulat misalnya N kemudian menampilkan bilangan yang sudah diinputkan tersebut dalam keadaan terurut secara ascending. Algoritma yang digunakan adalah insertion sort.

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

Insertion Sort (Putaran 2)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Insertion Sort (Putaran 3)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Soal Algoritma & MOOP (T0456)


13 23 45 67 54 98 28 33 56 75

Insertion Sort (Putaran 4)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Insertion Sort (Putaran 5)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Insertion Sort (Putaran 6)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Soal Algoritma & MOOP (T0456)


28

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

Insertion Sort (Putaran 7)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Insertion Sort (Putaran 8)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Soal Algoritma & MOOP (T0456)


Banding , geser 56

13

23

28

33

45

54

67

98

75

Banding , geser Sisip

13

23

28

33

45

54

56

67

98

75

Insertion Sort (Putaran 9)


Temp [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

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

Banding , geser Sisip

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

Soal Algoritma & MOOP (T0456)


3.Buatlah program untuk menginputkan sejumlah bilangan bulat misalnya N kemudian menampilkan bilangan yang sudah diinputkan tersebut dalam keadaan terurut secara ascending. Algoritma yang digunakan adalah insertion sort.
Jawab: #include <iostream.h> inline void input(float *arr, int n) { for (int i=0; i<=n; i++) { cout<<"Masukkan bilangan ke-"<<i+1<<" : "; cin>>arr[i]; } } inline void tampil(float *arr,int n) { cout<<"\nHasil Insertion Sort adalah : "; for (int i=0; i<=n; i++) { cout<<" "<<arr[i]; } cout<<endl; } inline void insertion(float *arr, int n) { int i, j, temp; for (i=1; i<n; i++) { temp = arr[i]; for (j=i-1; (j>=0) && (arr[j]>temp); j--) { arr[j+1]=arr[j]; } arr[j+1]=temp; } return; } int main() { float arr[20]; int n; cout<<"Jumlah bilangan yang akan di Insertion Sort : ";

BINA NUSANTARA
: 1 0

Soal Algoritma & MOOP (T0456)


cin>>n; input(arr,n-1); insertion(arr,n); tampil(arr,n-1); system("pause"); }

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

Soal Algoritma & MOOP (T0456)


} } inline void tampil(float *arr,int n) { mhsarr x; cout<<"\nData Mahasiswa Berdasarkan NIM Descending : "; for (int i=0; i<=n; i++) { cout<<"\nNIM : "<<x[i].NIM; cout<<"\nNAMA : "<<x[i].NAMA; cout<<"\nIPK : "<<x[i].IPK; cout<<"\n"; } cout<<"\n"; } inline void insertion(float *arr, int n) { int i, j, temp; for (i=1; i<n; i++) { temp = arr[i]; for (j=i-1; (j>=0) && (arr[j]>temp); j--) { arr[j+1]=arr[j]; } arr[j+1]=temp; } return; } int main() { float arr[20]; int n; cout<<"Program Input Data Mahasiswa\n"; cout<<"============================\n\n"; cout<<"Jumlah mahasiswa yang diinput : "; cin>>n; input(arr,n-1); insertion(arr,n); tampil(arr,n-1); system("pause");

BINA NUSANTARA
: 1 0

Soal Algoritma & MOOP (T0456)


}

BINA NUSANTARA
: 1 0

Anda mungkin juga menyukai