Home Program List Berurutan Dengan Fungsi Terpisah

Program List Berurutan Dengan Fungsi Terpisah

Written By sy@ms on Sabtu, 09 April 2011 | 07.58

sesuai dengan judulnya, ane akan mencoba membuat list dengan tampilannya terurut. Kalau ane buat program lgi kayaknya ribet deh, gimana kalau ane rombak dari postingan sebelumnya, yaitu Contoh Program List dengan fungsi terpisah. Prinsipnya sama sob, hanya mengedit sedikit untuk bisa urut.

Biar lebih mudah sobat copy pastekan saja program dibawah. dan bandingkan ama program kemarin. ok.
Caranya sama, yaitu:
Pertama, Buat file untuk fungsi dengan nama "urut.h". Tanpa tanda kutip
Kedua, masukan script berikut kedalam file "urut.h".


struct list
{
int nilai;
list *next;
};

list *element;
list *head, *tail;
list *temp;

void inisial()
{
head = tail = NULL;
}

int input()
{
int x;
cout<<"\n Nilai elemen baru : ";cin>>x;
return x;
}

void proses(int x, int z)
{
element = (list *)malloc(sizeof(list));
element->nilai= x;
element->next= NULL;

if(head==NULL)
{
head=tail=element;
cout<<" "<<element->nilai<<" Diletakan di awal list\n";
}
else
{
if(element->nilai <= head->nilai)
{
element->next=head;
head=element;
cout<<" "<<element->nilai<<" Diletakan di awal list\n";
}
else if(element->nilai >= tail->nilai)
{
tail->next=element;
tail=element;
cout<<" "<<element->nilai<<" Diletakan di akhir ururtan ke- "<<z<<endl;
}
else
{
int urut=1;
list *old, *tmp;
old=tmp=head;
while(tmp->nilai < element->nilai)
{
old=tmp;
tmp=tmp->next;
urut++;
}
old->next=element;
element->next=tmp;
cout<<" "<<element->nilai<<" Terletak pada urutan ke- "<<urut<<endl;
}
}
}

void tampil()
{
temp=head;
cout<<"\n Hasil : ";
while(temp != NULL)
{
cout<<"["<<temp->nilai<<"] ";
temp = temp->next;
}
}


Klau dh selesai, simpan file tersebut.
Ketiga, buat file baru bernama "urut.cpp". Tanpa tanda kutip.
Keemat, masukan script berikut kedalam file "urut.cpp".


#include "iostream.h"
#include "stdlib.h"
#include "conio.h"
#include "urut.h"

void main()
{
int nilaibaru;
char key;
int zz=0;
inisial();
do
{
zz++;
nilaibaru = input();
proses(nilaibaru,zz);
cout<<" Ingin mengulangi [y/t] : ";cin>>key;
clrscr();
}
while(key=='y' || key=='Y');

tampil();
}


Setelah selesai, simpan dan jalankan. Gimana....
Hasilnya terurut bukan....

Ini screenshoot pada sa'at input data.


Ini screenshoot pada penampilan data.

Gimana, semoga berhasil sob....

Catatan : Kedua file harus disimpan pada folder yang sama, dimana program akan dijalankan.
Program List Berurutan Dengan Fungsi Terpisah
Judul : Program List Berurutan Dengan Fungsi Terpisah
Rating : 4.5
Ditulis Oleh : sy@ms
Jika mengutip harap berikan link yang menuju ke artikel Program List Berurutan Dengan Fungsi Terpisah ini. Sesama blogger mari saling menghargai. Terima kasih atas perhatiannya
Share this article :

0 komentar:

Mention At Blogs

Silahkan berkomentar tentang artikel ini ... ?

 
Copyright © 2011. x[dot]com - All Rights Reserved
Kembali ke atas