Anda di halaman 1dari 16

LAPORAN AWAL

STRUKTUR DATA
LAPORAN KE-7

Disusun Oleh :

Nama : Wizri Fauzi Arif

NIM : 211011401182

Kelas : 04TPLP016

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
TUGAS PRAKTIKUM

a) Buatlah program untuk Pengurutan dengan Metode Maximum Sort “Pengurutan Secara
Menaik” (simpan dengan nama lat8_1.cpp)

#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;

main ()
{
int Nilai [ 20 ];
int i, j , N, l ;
int temp, U, Imaks;
cout<<"Masukan Banyaknya Bilangan :";
cin>>N;
for(i=0; i<N; i++)
{
cout<<"Elemen ke-"<<i<<" : ";
cin>>Nilai [ i ];
}
//Proses Cetak sebelum diurutkan
cout<<"\nData sebelum diurut :";
for(i=0; i<N; i++)
cout<<setw ( 3 )<<Nilai [ i ];
//Peroses Pengurutan
U=N-1 ;
for (i=0 ; i<=N-2; i++)
{
Imaks =0;
for(j=1; j<=U; j++)
{
if( Nilai [ j ] > Nilai [ Imaks] )
Imaks = j;
}
temp =Nilai [ U ];
Nilai [ U ] = Nilai [ Imaks];
Nilai [ Imaks ]= temp;
U--;
cout<<endl;
for(l=0; l<N; l++)
cout<<setw ( 3 )<<Nilai [ 1 ];
}
cout<<"\nData Setelah di urut : ";
for(i=0; i<N; i++)
cout<<setw (3 )<<Nilai [ i ] ;
getch ( ) ;
}
 Hasilnya ketika dijalankan
b) Buatlah program untuk Pengurutan dengan Metode Maximum Sort “Pengurutan Secara
Menurun” (simpan dengan nama lat8_2.cpp)

#include<iostream>

#include<conio.h>

#include<iomanip>

using namespace std;

main( )

int Nilai [ 20 ];

int i, j, N, l;

int temp, U, Imaks;

cout<<"Masukan Banyaknya Bilangan : ";

cin>>N;

for(i=0; i<N; i++)

cout<<"Elemen ke -"<<i<<" : ";

cin>>Nilai [ i ];

//Peroses Cetak Sebelum diut=rutkan

cout<<"\nData Sebelum diurut :";

for (i=0; i<N; i++)

cout<<setw (3)<< Nilai [ i ] ;

//Peroses pengurutan

U=N-1;

for(i=0; i<=N-2; i++)


{

Imaks = i;

for(j=i+1; j<=U; j++)

if(Nilai[ j ] > Nilai [Imaks])

Imaks = j;

temp = Nilai [ i ];

Nilai [ i ] = Nilai [ Imaks ];

Nilai [Imaks] = temp;

cout<<endl;

for(l=0; l<N; l++)

cout<<setw(3)<<Nilai [l];

cout<<"\nData Setelah di urut : " ;

for(i=0; i<N; i++)

cout<<setw(3)<<Nilai [i];

getch ( );

Hasilnya ketika dijalankan


c) Buatlah program untuk Pengurutan dengan Metode Minimum Sort “Pengurutan Secara
Menaik” (simpan dengan nama lat8_3.cpp)

#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;

main ( )
{
int Nilai [ 20 ];
int i, j, N, l;
int temp, Imin;
cout<<"Masukan Banyak bilangan : ";
cin>>N;
for (i=0; i<N; i++ )
{
cout<<"Elemen ke-"<<i<<" : ";
cin>>Nilai [ i ] ;
}
//Proses Cetak Sebelum Diurutkan
cout<<"\nData sebelum diurut :";
for(i=0; i<N; i++)
cout<<setw (3)<<Nilai [ i ];
//Proses pengurutan
for (i=0;i<=N-2; i++)
{
Imin = i;
for(j=i+1; j<N; j++)
{
if(Nilai [j] < Nilai [Imin])
Imin = j;
}
temp = Nilai [i];
Nilai [i] = Nilai [Imin];
Nilai [Imin] = temp;
cout<<endl;
for(l=0; l<N; l++)
cout<<setw(3)<<Nilai [l];
}
cout<<"\nData Setelah di urut ; ";
for(i=0; i<N; i++)
cout<<setw(3)<<Nilai [i];
getch ( );
}

 Hasilnya ketika di jalankan


d) Buatlah program untuk Pengurutan dengan Metode Minimum Sort “Pengurutan Secara
Menurun” (simpan dengan nama lat8_4.cpp)

#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;

main ( )
{
int Nilai [20];
int i, j, N, l;
int temp,U, Imin;
cout<<"Masukan Banyak Bilangan : ";
cin>>N;
for (i=0; i<N; i++)
{
cout<<"Elemen ke-"<<i<<" : ";
cin>>Nilai [ i ];
}
//Proses Cetak Sebelum diurutkan
cout<<"\nData sebelum diurut : ";
for (i=0; i<N; i++)
cout<<setw ( 3 )<<Nilai [ i ];
//Proses Pengurutan
U = N - 1;
for(i=0; i<=N-2; i++)
{
Imin = 0;
for (j=1; j<=U; j++)
{
if(Nilai [ j ] <Nilai [Imin])
Imin = j;
}
temp = Nilai [ U ];
Nilai [ U ]= Nilai [ Imin ];
Nilai [ Imin ] = temp;
cout<<endl;
U--;
for(l=0; l<N; l++)
cout<<setw ( 3 )<<Nilai [ l ];
}
cout<<"\nData Setelah di urut : ";
for(i=0; i<N; i++)
cout<<setw ( 3 )<<Nilai [ i ];
getch ( );
}

 Hasilnya ketika di jalankan


e) Buatlah program menu untuk menampilkan 4 program di atas, menggunakan perintah IF
(simpan dengan nama lat8_5.cpp)

#include<conio.h>

#include <iostream>

using namespace std;

struct data{

int data[10];

int a,b,c,d;

void inputdata()

cout<<"Masukan Data\t: ";cin>>batas[a].data;

a++;}clrscr();

void lihatdata()

{int i,j;
cout<<"\n================================Menampilkan
Data===============================\n\n";

cout<<"=====================================================================
==========\n";

cout<<"||\tdata\t||\n";

j=0;

for(i=0;i<a;i++)

{j=j+1;

cout<<"=====================================================================
==========\n";

cout<<"||\t"<<j<<"\t||";

cout<<batas[i].nim<<"\t||";

cout<<batas[i].nama<<"\t\t\t||";

cout<<batas[i].kelas<<"\t\t||";cout<<endl;

cout<<"=====================================================================
========== ";getch();clrscr();}

void hapusdata()

{int x,y;

cout<<"Hapus data ke-";cin>>x;

y=x-1;

a;

for(int i=y;i<a;i++)

{batas[i]=batas[i+1];}

clrscr();

cout<<"\n\n\n\n\n\n\n\n\n++++++++++++++++++++++++++++++ Data ke-"<<x<<"


Terhapus ++++++++++++++++++++++++++++++";
getch();clrscr();

int main()

{ int pilih;

char w;

cout<<"\n\n\n\n\n=============================PROGRAM STRUKTUR
DATA=============================";

cout<<"\n\n\n\n\n\n\n\n\n\t\t\t PROGRAM BY DAFFA \n\n";

cout<<"\t\t\t ASSALAMU’ALAIKUM";

getch();clrscr();

awal:

cout<<"\n================================ PILIHAN MENU


=================================";

cout<<"\n1. Masukkan data";

cout<<"\n2. Lihat Data";

cout<<"\n3. Edit Data";

cout<<"\n4. Susun Data";

cout<<"\n5. Keluar";

cout<<"\n\nMasukkan Pilihan : ";

cin>>pilih;

if(pilih==1)

{clrscr();inputdata();goto awal;}

if(pilih==2)

{clrscr();hapusdata();goto awal;}

if(pilih==3)

{clrscr();lihatdata();goto awal;}
if(pilih==4)

{clrscr();editdata();goto awal;}

if(pilih==5)

{clrscr();cout<<"Pilihan 1-5";getch();clrscr();goto awal;}

TUGAS PENDAHULUAN

1. Jelaskan kekurangan menggunakan metode Maximum/Minimum Sort dengan metode-metode Sorting


lainnya!
2. Jelaskan perbedaan program Sorting dengan menggunakan antara metode Maximum Sort dan
Minimum Sort!
3. Jelaskan tahapan-tahapan Sorting menggunakan metode Maximum Sort!
4. Jelaskan tahapan-tahapan Sorting menggunakan metode Minimum Sort

Jawab :

1. Membutuhkan method tambahan.


– Sulit untuk digabungkan kembali.
– Perlu dihindari untuk penggunaan data lebih dari 1000 tabel karena akan menyebabkan
kompleksitas yang lebih tinggi dan kurang praktis.

2. Maximum sort adalah memilih data yang maksimum dari suatu kumpulan data larik, lalu
menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang
diinginkan.
3. Konsep metode Maximum Sort adalah memilih elemen maksimum kemudian mempertukarkan
elemen maksimum tersebut dengan elemen paling akhir untuk urut menaik dan elemen pertama untuk
menurun. Demikian seterusnya sehingga semua elemen terurut.

4. Konsep metode Minimum Sort adalah memilih elemen minimum kemudian mempertukarkan
elemen minimum tersebut dengan elemen paling akhir untuk urut menaik dan elemen pertama
untuk urut menurun. Demikian seterusnya sehingga semua elemen terurut.
LAPORAN AKHIR
STRUKTUR DATA
LAPORAN KE-7

Disusun Oleh :

Nama : Wizri Fauzi Arif

NIM : 211011401182

Kelas : 04TPLP016

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
TUGAS AKHIR

1. Buatlah program untuk mengurutkan sederetan data: suka, aku, sama, kamu, dulu, sampai, dari,
sekarang. Dengan menggunakan salah satu metode Shell Sort dan Insertion Sort!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
int sort_function(const void *a, const void *b);
char list[8][9]={"aku","suka","sama","kamu","dari","dulu","sampai","sekarang"};
int main(void)
{
int x,y;
cout<<"Nama : Daffa Aulia Isham\nNIM : 211011401180\nKelas :
04TPLP016\n\n";
printf("\t\t**Susun Kata**\n\n");
printf("Kata Sebelum di Susun : \n");
for(y=0;y<8;y++)
printf("%s ",list[y]);
printf("\n\nKata Setelah di Susun : \n");
qsort((void *)list, 8, sizeof(list[0]), sort_function);
for(x=0;x<8;x++)
printf("%s\n",list[x]);
return 0;
}
int sort_function(const void *a, const void *b)
{
return (strcmp((char *)a, (char *)b));

Anda mungkin juga menyukai