Thursday, November 21, 2013

Oubond Seamolec - ITB Batch 8

Setelah sekian lama akhirnya bisa nulis lagi di blog ini (diluar urusan tugas yaah -,-) banyak hal yang ingin saya bagikan dari pengalaman hidup saya tapi untuk skrng ini saya ingin membagi pengalaman 1 hari penuh kegiatan Outbond Seamolec - ITB Batch 8 pada hari sabtu tanggal 28 September 2013 lalu  :)

Sunday, November 3, 2013

Blog Portofolio IV - (Batch 8)

Program kali ini merupakan program yang merepresentasikan fungsi linked list. LinkedList adalah suatu sekumpulan data yang saling berkesinambungan dimana masing-masing datanya memiliki header dan trailer untuk menunjuk data sebelumnya atau sesudahnya.
Implementasi pada program kali ini adalah :

1.  Terdapat sebuah structure, pada baris perintah typedef struct simpul. Structure adalah sebuah tipe data yang mencakup beberapa tipe data lainnya. Dalam structure kali ini, memiliki beberapa variabel, diantaranya char nama[20];, float nilai; dan struct simpul *next_simpul;yang disimpan dalam variabel simpulku. Merupakan variabel yang merujuk pada tipe data structure simpul yang sedang di deklarasikan.

2.  Baris perintah simpulku *simpul1, *simpul2, *simpul3, *simpul4, *temp;, merupakan deklarasi variabel pointer dengan tipe data simpulku. Pointer adalah variabel yang menampung alamat variabel yang lain.Deklarasi variabel pointer diawali dengan tanda bintang.

3.  Baris perintah simpul1 = (simpulku *)malloc(sizeof(simpulku)) digunakan untuk mengalokasikan alamat memory pada heap untuk variabel pointer simpul 1 (perintah malloc) begitu juga demikian dengan simpul 2 dan 3.

4.  Baris perintah strcpy(simpul1->nama, "Amin"); digunakan untuk memberikan nilai string “Amin” pada variabel nama dalam pointer simpul 1, begitu juga dengan simpul-simpul yang lain (sesuai dengan nilai string 
yang dicantumkan).

5.  Baris perintah simpul1->nilai=90; digunakan untuk memberikan nilai90pada variabel nilai dalam pointer simpul 1, begitu juga dengan simpulsimpul yang lain (sesuai dengan nilai integer yang dicantumkan)

6.  Baris perintah simpul1->next_simpul = simpul2; digunakan untukmenyambungkan node simpul satu dengan simpul 2 (sebagai data next dari simpul 1)

7.  Selanjutnya :
temp = simpul1;
printf("%s, %f\n", temp->nama, temp->nilai);
temp = temp->next_simpul;
printf("%s, %f\n", temp->nama, temp->nilai);
temp = temp->next_simpul;
printf("%s, %f\n", temp->nama, temp->nilai); 
Pada baris perintah diatas, dilakukan pencetakan data simpul dimana mengimplementasikan fungsi linked list dengan mengakses next simpul yang ditampung dalam variabel temp

8.  Blok baris perintah berikut:
simpul4 = (simpulku *)malloc(sizeof(simpulku)); //siapkan
strcpy(simpul4->nama, "Dewi");simpul4->nilai=80; //isi
simpul2->next_simpul = simpul4; //update link
simpul4->next_simpul = simpul3;
printf("\n");
Blok ini menerangkan bahwa menyisipkan satu buah simpul yakni simpul 4 diantara simpul 2 dan simpul 3.

9.  Blok baris perintah berikut:
temp = simpul1;
for(;temp!=NULL; temp=temp->next_simpul)
printf("%s, %f\n", temp->nama, temp->nilai);
Merupakan perintah sederhana untuk menampilkan isi dari linkedlist yang sudah dibuat dengan memanfaatkan perulangan for.

10.   Blok baris perintah berikut:
simpul1->next_simpul = simpul4; //update link
free(simpul2); //hapus simpul
printf("\n");
Perintah diatas mengubah next simpul pada simpul 1 menjadi simpul 4, kemudian melepaskan data dalam simpul 2 (menghapus simpul) 

sreenshoot program
klik image to enlarge

Berikut merupakan video tutorial program Linkedlist

Flowchart Aplikasi

 Download Source pendukung 
Source code Aplikasi & Executable File