Showing posts with label Struktur Data. Show all posts
Showing posts with label Struktur Data. Show all posts

Monday, October 1, 2012

Tugas Struktur Data SLLNC

tugas Struktur Data
Sub pokok bahasan: Single linked non circular

Pada pertemuan terakhir sudah dibahas konsep linked list non circular untuk penambahan data dari depan. Dengan konsep ini setiap data yang masuk akan berada diposisi depan dari data sebelumnya dan data terakhir yang masuk akan menjadi head dr linked list.
Tugas anda sekarang memodifikasi linked list sebelumnya sehingga data yang baru masuk selalu menjadi data diposisi terakhir, Anda boleh menggunakan variabel baru untuk mengidentifikasi data terakhir (misal: tail) atau cukup dengan variabel bantu untuk mencari elemen terakhir dari linked list (untuk SLLNC node terakhir memiliki nilai null untuk element pointer next) lalu arahkan elemen next ke data baru. Program yang dibuat jg harus dapat menampilkan isi linked list.

skema prosesnya sbb:

1. data msh kosong

null

2. masuk data 10
-------
| 10 |: --> null
-------

3. masuk data 20
-------         -------
| 10 |  --> | 20  | --> null
-------         -------
4. dan seterusnya

1. Tugas kelompok (max 3 org tdk boleh 1)

2. Dokumen tugas:
- file cpp program c++ untuk menyelesaikan masalah.
- file ppt berupa penjelasan proses pd program

3. file dicetak dan file dikirim ke email: didikunila@gmail.com dengan subject: Tugas Struktur SLLNC

4. Deadline tugas hari Selasa 2 Okt 2012 pkl 11:30

Tuesday, September 25, 2012

Struktur Data: Single Linked List Non Circular Example


/*
  Single Linked List Non Circullar
  author: Didik Kurniawan
  */
  #include <iostream>
  #include <stdlib.h>
  using namespace std;
struct Data {
  int nilai;
  char nama[100];
  Data *next;
  };
  Data  *head;
  void awal(){
  head=NULL;
  }
  bool isEmpty(){
  if (head==NULL) return true;
  return false;
  }
  void cetak(){
  if (!isEmpty()){
  Data *bantu;
  bantu=head;
  while(bantu!=NULL){
  cout<<bantu->nama<<"  "<<bantu->nilai<<endl;
  bantu=bantu->next;
  }
 } else {
  cout<<"List Kosong";
  }
  }
  int main() {
  Data *baru;
  char lagi='y';
  while (lagi=='y') {
  baru=(Data*) malloc(sizeof(Data));
 cout<<"Nama : ";
  cin.getline(baru->nama,100);
  cout <<"Nilai : ";
  cin>>baru->nilai;
 if (isEmpty()) {
  baru->next=NULL;
  head=baru;
  } else {
  baru->next=head;
  head=baru;
  }
  cout<<"Masukan data lagi (y/n)? ";
  cin>>lagi;
  cin.ignore(1000, '\n');
  }
  cetak();
  return 0;
  }


Monday, September 24, 2012

Algoritma & Struktur Data: Selection Sort

/*
file: selection_sort.cpp
@author Didik Kurniawan
*/
#include <iostream>
  using namespace std;
  int data[]={12,34,21,23,12,32,56,21,42,21,21,41,11,53,22};
  int panjang=sizeof(data)/sizeof(data[0]);
void swap(int &a, int &b) {
  int temp;
  temp=a;
  a=b;
  b=temp;
  }
  int max(int i){
  int besar = data[0],idx_besar=0;
  for (int j=0;j<panjang-i;j++) {
  if (data[j]>besar) {
  besar=data[j];
  idx_besar=j;
  }
  }
 return idx_besar;
  }
  int main(){
 for (int i=0;i<panjang; i++){
  cout<<data[i]<<", ";
  }
  cout<<endl<<"Sort with Selection" <<endl;
 for (int k=0;k<panjang; k++){
  int besar=max(k);
  swap(data[besar],data[panjang-k-1]);
  }
 for (int i=0;i<panjang; i++){
  cout<<data[i]<<", ";
  }
return 0;
  }


Tuesday, September 18, 2012

Struktur Data: Insertion Sort Example

#include <iostream>
  using namespace std;
  struct product{
  int product_id;
  string nama_product;
  string kategori;
  string satuan;
  float harga;
  string nama_perusahaan;
  };
  int main() {
  product pd[100];
  int jml_data,i;
  int cari;
  cin>>jml_data;
  for (i=0;i<jml_data;i++){
  cin>>pd[i].product_id;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_product,'\n');
  getline(cin,pd[i].kategori,'\n');
  getline(cin,pd[i].satuan,'\n');
  cin>>pd[i].harga;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_perusahaan,'\n');
  }
 //proses sort dengan metode insertion sort
  product pd_sort[100];
  pd_sort[0] = pd[0];
 for (int j = 1;j<jml_data;j++)
  {
  i = j - 1;
  while ((0 <= i) and ( pd[j].product_id  < pd_sort[i].product_id))
  i = i - 1;
  for (int k = j;k>=i+2;k--)
  pd_sort[k] = pd_sort[k-1];
  pd_sort[i+1] = pd[j];
  }
  //akhir proses sort dengan metode insertion sort
  //cetak data
  for (i=0;i<jml_data;i++){
 cout<<pd_sort[i].product_id<<"\t";
  cout<<pd_sort[i].nama_product<<"\t"<<pd_sort[i].kategori<<"\t"<<pd_sort[i].satuan<<"\t";
  cout<<pd_sort[i].harga<<"\t"<<pd_sort[i].nama_perusahaan<<endl;
 }
 return 0;
  }
Technorati Profile

Struktur Data: Sequential Search

#include <iostream>
  using namespace std;
  struct product{
  int product_id;
  string nama_product;
  string kategori;
  string satuan;
  float harga;
  string nama_perusahaan;
  };
  int main() {
  product pd[100];
  int jml_data,i;
  int cari;
  cin>>jml_data;
  for (i=0;i<jml_data;i++){
  cin>>pd[i].product_id;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_product,'\n');
  getline(cin,pd[i].kategori,'\n');
  getline(cin,pd[i].satuan,'\n');
  cin>>pd[i].harga;
  cin.ignore(1000, '\n');
  getline(cin,pd[i].nama_perusahaan,'\n');
  }
  cout<<"Kode produk :";
  cin>>cari;
 for (i=0;i<jml_data;i++){
  if (pd[i].product_id==cari) {
  cout<<pd[i].product_id<<"\t";
  cout<<pd[i].nama_product<<"\t"<<pd[i].kategori<<"\t"<<pd[i].satuan<<"\t";
  cout<<pd[i].harga<<"\t"<<pd[i].nama_perusahaan<<endl;
  }
  }
 return 0;
  }

Thursday, September 13, 2012

Struktur Data: Contoh membuat ADT dengan C++

#include <iostream>
using namespace std;
struct product{
string nama_product;
string kategori;
string satuan;
float harga;
string nama_perusahaan;
};
int main() {
product pd[100];
int jml_data,i;
cout<<"Banyak Data : ";
cin>>jml_data;
cin.ignore(1000, '\n');
for (i=0;i<jml_data;i++){
cout<<"Product ke "<<(i+1)<<endl;
cout<<"Nama Product : ";
getline(cin,pd[i].nama_product,'\n');
cout<<"Kategori product : ";
getline(cin,pd[i].kategori,'\n');
cout<<"Satuan : ";
getline(cin,pd[i].satuan,'\n');
cout<<"Harga : ";
cin>>pd[i].harga;
cin.ignore(1000, '\n');
cout<<"Nama perusahaan : ";
getline(cin,pd[i].nama_perusahaan,'\n');
}
for (i=0;i<jml_data;i++){
cout<<pd[i].nama_product<<"\t"<<pd[i].kategori<<"\t"<<pd[i].satuan<<"\t";
cout<<pd[i].harga<<"\t"<<pd[i].nama_perusahaan<<endl;
}
return 0;
}
Type your summary here Type rest of the post here Technorati Profile