• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR (9)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR (9)"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

ALGORITMA DAN STRUKTUR DATA II

MODUL II

DOUBLY LINKED LIST

Disusun Oleh :

Syukur Jaya Mendrofa 201501072

Kelas: C

Dosen Pengampu :

Oskar Ika Adi Nugroho, ST., MT

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER “YOS SUDARSO”

PURWOKERTO

(2)

BAB I

DASAR TEORI

Doubly Linked List

next

... Head prior info

Tiap node memiliki pointer yang menunjuk ke node sesudahnya dan pointer yang menunjuk ke node sebelumnya.

Node Sesudahnya : Next(Node) Node sebelumnya : Prior(Node)

Next(Prior(P)) = P dan P = Prior(next(P))

Doubly Linked List Kosong :

next

prior

head

prior head next Prior(Head) = Head Next(Head) = Head

(3)

PEMBAHASAN

LISTING PROGRAM DOUBLY LINKED LIST

#include<iostream>

node *baru, *head = NULL, *tail = NULL, *hapus, *bantu; int pil;

int main() {

do {

cout << "MENU DOUBLE LINKEDLIST" << endl;

cout << "DIBUAT OLEH: SYUKUR JAYA MENDROFA" << endl; cout << "1. Tambah Depan" << endl;

(4)

tambah_belakang();

cout << "input nama : "; cin >> baru->nama; cout << "input umur : "; cin >> baru->umur; cout << "input tinggi : "; cin >> baru->tinggi; baru->prev = NULL;

(5)

head = baru; }

cout << endl << endl; tampil(); else if (head->next == NULL) {

cout << endl << endl; tampil(); else if (head->next == NULL) {

cout << endl << endl; tampil();

}

(6)

if (head == NULL)

cout << "Kosong"; else

{

bantu = head;

while (bantu != NULL) {

cout << " nama : " << bantu->nama; cout << " umur : " << bantu->umur; cout << " tinggi : " << bantu->tinggi<<endl; bantu = bantu->next;

} }

}

(7)
(8)

#include<iostream> suatu perintah yang digunakan untuk mengatur compiler agar membaca berkas header yang disertakan dibelakang kata include yakni dalam program ini <iostream> saat pelaksanaan kompilasi.

#include<conio.h> file haeder ini tidak berfungsi, program tetap jalan tanpa header ini.

#include<stdio.h> file haeder ini tidak berfungsi, program tetap jalan tanpa header ini.

using namespace std; menyatakan kepada compiler bahwa program menggunakan namespace bernama std; namespace fungsinya untuk mengelompokkan elemen-elemen ke dalam sebuah nama. std adalah nama bawaan yang digunakan pada semua pustaka standar C++. Contohnya untuk menampilkan keluaran berupa cout, endl.

void pilih(); fungsi prototype, jenis fungsi ini menggunakan fungsi void. fungsi void tidak memiliki nilai kembalian.

void buat_baru(); fungsi prototype, jenis fungsi ini menggunakan fungsi void.

fungsi void tidak memiliki nilai kembalian.

void tambah_belakang(); fungsi prototype, jenis fungsi ini menggunakan fungsi void. fungsi void tidak memiliki nilai kembalian.

void tambah_depan(); fungsi prototype, jenis fungsi ini menggunakan fungsi void.

fungsi void tidak memiliki nilai kembalian.

void hapus_belakang(); fungsi prototype, jenis fungsi ini menggunakan fungsi void.

fungsi void tidak memiliki nilai kembalian.

void hapus_depan(); fungsi prototype, jenis fungsi ini menggunakan fungsi void.

fungsi void tidak memiliki nilai kembalian.

void tampil(); fungsi prototype, jenis fungsi ini menggunakan fungsi void. fungsi void tidak memiliki nilai kembalian.

struct node { tipe data struct dengan nama node.

char nama[20]; anggota struct node dengan tipe data char, variable ‘nama’.

int umur; anggota struct node dengan tipe data integer, variable ‘umur’.

float tinggi; anggota struct node dengan tipe data float, variable ‘tinggi’.

(9)

struct node* prev; anggota struct dengan tipe data ‘struct node’, variable pointer dengan nama variable pointer prev.

}; batas anggota dari struct

node *baru, *head = NULL, *tail = NULL, *hapus, *bantu; merupakan variable pointer dengan tipe data node dengan nama-nama variable pointer tersebut adalah

baru, head = NULL, tail = NULL, hapus, bantu. Variable-variabel ini juga merupakan variable-variabel global yang bisa dipanggil dimana saja baik di dalam maupun di luar fungsi utama.

int pil; variable pil dengan tipe data integer, Variable ini juga merupakan variabel global yang bisa dipanggil dimana saja baik di dalam maupun di luar fungsi utama.

int main() fungsi utama.

{ awal tubuh fungsi utama.

do perulangan.

{ awal tubuh perulangan do.

cout << "MENU DOUBLE LINKEDLIST" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "DIBUAT OLEH: SYUKUR JAYA MENDROFA" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "1. Tambah Depan" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "2. Tambah Belakang" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "3. Hapus Depan" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "4. Hapus Belakang" << endl; menampilkan di output string yang berada di dalam tanda kutip.

cout << "5. Tampilkan" << endl; menampilkan di output string yang berada di dalam tanda kutip.

(10)

cout << "Pilihan Anda : "; menampilkan di output string yang berada di dalam tanda kutip.

cin >> pil; variable untuk menyimpan variable pil yang akan dimasukkan.

pilih(); memanggil fungsi void pilih.

} akhir dari tubuh perulangan do.

while (pil != 6); pernyataan yang akan dihasilkan jika perintah dari do TRUE yaitu ketika variable tidak sama dengan 6.

return 0; Pernyataan bahwa nilai balik program adalah nol. Nol biasa digunakan untuk menyatakan bahwa program berhasil melaksanakan tugas yang diembannya.

} Merupakan akhir dari tubuh fungsi utama int main().

ALGORITMA PROGRAM DIATAS BERDASARKAN HASIL OUTPUTNYA ADALAH

1. Setelah program di ekeskusi program pertama sekali masuk kedalam fungsi int main (fungsi utama) yaitu dengan menampilkan hasil di output seperti pada gambar berikut ini.

(11)

3. Karena pilihan saya = 1, maka selanjutnya program masuk pada fungsi void tambah_depan( )

(12)

5. Didalam fungsi void tambah_depan( ) program memanggil fungsi void buat_baru ( )

setelah selesai maka selanjutnya memanggil fungsi void tampil ( )

Sehingga menghasilkan output seperti pada gambar :

6. Kemudian kembali ke fungsi utama lagi dikarenakan semua fungsi yang dipanggil adalah

fungsi void tidak memiliki nilai kembalian, harus kembali ke fungsi utama/ int main( ). Oleh sebab itu output menampilkan.

(13)

8. Karena pilihan saya = 2, maka selanjutnya program masuk pada fungsi void tambah_belakang( )

9. Didalam fungsi void tambah_belakang( ) program memanggil fungsi void buat_baru ( )

10. Didalam fungsi void tambah_belakang( ) program memanggil fungsi void buat_baru ( ) setelah selesai maka selanjutnya memanggil fungsi void tampil ( )

(14)

11. Kemudian kembali ke fungsi utama lagi dikarenakan semua fungsi yang dipanggil adalah

fungsi void tidak memiliki nilai kembalian, harus kembali ke fungsi utama/ int main( ). Oleh sebab itu output menampilkan

12. Setelah itu saya memasukkan pilihan, disini saya memasukkan angka 3 maka selanjutnya program akan menyimpannya kemudian memanggil fungsi void pilih( )

(15)

14. Setelah di proses di dalam fungsi void hapus_depan( ) lalu program masuk ke dalam

fungsi void tampil ( )

Sehingga menghasilkan output seperti pada gambar di bawah

15. Kemudian kembali ke fungsi utama lagi dikarenakan semua fungsi yang dipanggil adalah

fungsi void tidak memiliki nilai kembalian, harus kembali ke fungsi utama/ int main( ). Oleh sebab itu output menampilkan

16. Setelah itu saya memasukkan pilihan, disini saya memasukkan angka 6 maka selanjutnya program akan menyimpannya kemudian memanggil fungsi void pilih( )

(16)

BAB III

KESIMPULAN

Berdasarkan dari praktikum yang telah saya lakukan saya dapat menyimpulkan tentang doubly linked list :

1. Doubly linked list terdiri dari tiga komponen yaitu :

 Previous

 Data/nilai

 Next

2. Doubly Linked list selalu memiliki pointer petunjuk yang selalu menunjuk pada awal dari list yang disebut Head.

3. Doubly Linked list juga selalu memiliki pointer petunjuk menunjuk pada akhir dari list yang disebut Tail.

Referensi

Dokumen terkait

Berdasarkan hasil analisis data secara bersama-sama diperoleh bahwa profitabilitas, efisiensi, dan likuiditas secara bersama-sama mempunyai pengaruh yang positif dan

Saluran Udara Tegangan Tinggi (SUTT) yang dibangun sekitar tahun 1985 pada saat ini sebagian sudah terdapat pemukiman warga yang tinggal di bawah jaringan

menunjang program pengembangna lembaga ekonomi pedesaan P1 B terselenggarany a Pengadaan pelatihan ketrampilan peternakan ayam 35 Pagu Indikatif Kecamatan Desa Tegalarum 2 Kelomp

4 Penggunaan Teknologi Nano- Partikel pada Fitobiotik dan Pengaruhnya terhadap Kinerja Pertumbuhan, Kesehatan Saluran Pencernaan dan Kualitas Daging Ayam Broiler

Demikian surat pernyataan ini saya buat dan saya tandatangani dalam keadaaan sadar dan sehat jasmani maupun rohani saya, dan tanpa tekanan atau paksaan dari siapapun

Dalam proses fade,blend warna citra akan disesuaikan dengan citra yang saling berkesinambungan dikarenakan pada saat pengambilan citra biasanya ditemukan perbedaan

Sinar radioaktif merupakan faktor eksternal yang paling jelas dapat menyebabkan Sinar radioaktif merupakan faktor eksternal yang paling jelas dapat

Tahapan untuk menentuan tingkat reliability merupakan tahapan analisa kuantitatif (probabilitas) dan tahapan atau prosedur pengolahan data kuantitatif dengan