Implementasi Struktur Data Stack (Tumpukan) dalam Tower of Hanoi Game
|
|
- Dewi Sasmita
- 7 tahun lalu
- Tontonan:
Transkripsi
1
2 Implementasi Struktur Data Stack (Tumpukan) dalam Tower of Hanoi Game Oleh: Adnan w Anadrep Selamat datang di tutorial ini, kali ini saya akan memberikan tutorial tentang pengimplementasian struktur data stack (tumpukan) dalam sebuah game. Game yang saya angkat kali ini adalah game tower of hanoi. Selamat datang di tutorial ini, kali ini saya akan memberikan tutorial tentang pengimplementasian struktur data stack (tumpukan) dalam sebuah game. Game yang saya angkat kali ini adalah game tower of hanoi. The Tower of Hanoi (juga disebut Menara Brahma atau Lucas 'Tower) adalah permainan matematika atau teka-teki. Ini terdiri dari tiga batang, dan sejumlah piringan dengan ukuran yang berbeda yang dapat berpindah ke batang lainnya. Teka-teki dimulai dengan tumpukan piringan dalam urutan ukuran pada satu batang, yang terkecil di bagian atas, sehingga membuat bentuk kerucut. Tujuan dari teka-teki adalah untuk memindahkan seluruh tumpukan ke batang lain, dan harus mematuhi aturan sederhana berikut ini: 1. Hanya satu piringan dapat dipindahkan pada satu kali langkah. 2. Setiap langkah terdiri dari mengambil satu piringan paling atas dari salah satu tumpukan dan meletakkannya di paling atas tumpukan lain yaitu piringan hanya dapat dipindahkan jika piringan ada di paling atas suatu tumpukan. 3. Tidak ada piringan yang dapat ditempatkan di atas piringan yang lebih kecil. Sedangkan algoritma yang kita gunakan dalam membuat game ini adalah algoritma Stack (tumpukan) dalam teori Struktur Data. Stack (tumpukan) adalah salah satu model struktur data yang tersusun secara LIFO (Last In First Out) dimana penyisipan elemen selalu dilakukan di atas (TOP) dan penghapusan elemen selaku dilakukan pada TOP. Stack disini diimplementasikan dengan single link list dinamis. Dalam membuat game ini, saya menggunakan tipe data ADT (Abstract Data Type). Abtract Data Type merupakan suatu konsep pemrograman yang terkait dengan pendefinisian TYPE dan kumpulan PRIMITIF terhadap TYPE tersebut. TYPE dapat dikatakan sebagai hasil proses Abstraksi awal data dari permasalahan (studi kasus) yang sedang dihadapi. Sedangkan PRIMITIF adalah operasi dasar terhadap TYPE tersebut. Oke tidak usah panjang lebar lagi, mari kita buat game ini :D Langkah pertama yang harus kamu
3 lakukan adalah membuat file header.h untuk membuat spesifikasi yang dibutuhkan dalam game ini. Spesifikasi yang harus kamu buat adalah: Infotype (info suatu elemen, dalam hal ini bertipe integer) Elemen stack Stack #ifndef HEADER_H_INCLUDED #define HEADER_H_INCLUDED // definisikan properti dari list biar lebih mudah dibaca #define Info(P) (P)->Info #define Next(P) (P)->Next #define Top(S) (S).Top #define Max(S) (S).Max #define Count(S) (S).Count #define Nil NULL #define bool unsigned short int #define False 0 #define True!False #include <stdio.h> #include <stdlib.h> #include <conio.h> // ini adalah infotype yang ada pada elemen typedef int InfoType; // membuat elemen stack untuk single link list typedef struct telmstack *Address; typedef struct telmstack InfoType Info; Address Next; ElmStack; // list typedef struct Address Top; int Count; Stack; void CreateStack(Stack *S); // I.S. Sembarang // F.S. Terbentuk Stack kosong bool IsEmpty(Stack S); // Menghasilkan True jika Stack kosong, dan False jika Stack tidak kosong Address Allocate(InfoType X);
4 // Menghasilkan Address dari alokasi sebuah elemen dengan InfoType X // Jika alokasi berhasil maka nilai Address tidak Nil dan jika gagal nilai Address Nil void DeAllocate(Address P); // I.S. P terdefinisi // F.S. Memori yang digunakan oleh P dikembalikan ke sistem void Push(Stack *S, Address P); // I.S. Sembarang, P terdefinisi // F.S. Menempatkan P pada Top dari S void Pop(Stack *S, Address *P); // I.S. Stack tidak kosong // F.S. Mengambil P dari Top dari S void ViewStack(Stack S); // I.S. Sembarang // F.S. Menampilkan semua Info dari masing-masing elemen dari Stack void ViewVisual(Stack S[3], int TotalDisk); // I.S. Tiga Stack, Total Disk > 0 // F.S. Menampilkan visualisasi Menara Hanoi dari 3 Stack tersebut #endif // HEADER_H_INCLUDED Setelah selesai membuat spesifikasi program yang dibutuhkan, kini saatnya masuk ke langkah kedua yaitu pembuatan implementasi dari abstract type yang sudah dibuat. Kamu perlu membuat file baru yaitu implementasi.c. Pada file ini kamu harus mengimplementasikan prosedur dan function yang sudah kamu definisikan di file header.h yang sudah dibuat, maka kamu harus meng-include file header.h di file ini. #include "header.h" void CreateStack(Stack *S) Top(*S) = Nil; Count(*S) = 0; bool IsEmpty(Stack S) return Top(S) == Nil; Address Allocate(InfoType X) Address P = (Address)malloc(sizeof(ElmStack));
5 if (P!= Nil) Info(P) = X; Next(P) = Nil; return P; void DeAllocate(Address P) free(p); void Push(Stack *S, Address P) Next(P) = Top(*S); Top(*S) = P; Count(*S)++; void Pop(Stack *S, Address *P) *P = Top(*S); Top(*S) = Next(*P); Count(*S)--; void ViewStack(Stack S) Address P; InfoType X[Count(S)]; int i = 0; for (P = Top(S); P!= Nil; P = Next(P)) X[i] = Info(P); i++; for (i = Count(S) - 1; i >= 0; i--) printf("%d ", X[i]); void ViewVisual(Stack S[3], int TotalDisk) int i, j, k; Address P; InfoType X[3][TotalDisk]; for (i = 0; i < 3; i++) for (j = 0; j < TotalDisk - Count(S[i]); j++) X[i][j] = 0; for (P = Top(S[i]); P!= Nil; P = Next(P))
6 X[i][j] = Info(P); j++; for (i = 0; i < TotalDisk; i++) for (j = 0; j < 3; j++) if (X[j][i] == 0) for (k = 0; k < 2 * TotalDisk - 1; k++) else for (k = 0; k < TotalDisk - X[j][i]; k++) for (k = 0; k < 2 * X[j][i] - 1; k++) printf("="); for (k = 0; k < TotalDisk - X[j][i]; k++) printf("\n"); for (i = 1; i <= 3; i++) for (j = 0; j < TotalDisk - 1; j++) printf("%d", i); for (j = 0; j < TotalDisk - 1; j++) printf("\n"); fiuuhh... Setelah selesai membuat implementasi dari abstract data type yang dibuat, kini saatnya kamu masuk ke langkah ketiga yaitu membuat driver atau main program yang kamu akan buat ini, maka kamu perlu membuat file main.c yang didalamnya adalah file utama yang akan dijalankan oleh compiler. Sebelumnya kamu harus include file header.h. Namun, ada beberapa compiler yang meminta include file implementasinya (implementasi.c). Kali ini saya include file headernya (header.h). #include "header.h" int main()
7 int i; int CMain, TotalDisk, MFrom, MTo, MCount; Address P; // membuat 3 stack (tower) Stack Tower[3]; for (i = 0; i < 3; i++) CreateStack(&Tower[i]); // membuat menu program do system("cls"); printf("================\n"); printf(" TOWER OF HANOI\n"); printf("================\n"); printf(" 1. New Game\n"); printf(" 2. Credits\n"); printf(" 3. Quit\n"); printf("================\n\n"); printf(" Your Input: "); scanf("%d", &CMain); switch (CMain) case 1: do system("cls"); printf("================\n"); printf(" NEW GAME\n"); printf("================\n"); printf(" Total Disk: "); scanf("%d", &TotalDisk); if (TotalDisk <= 0) printf("\n Invalid input. Please input again.\n"); while (TotalDisk <= 0); // menyisipkan piringan yang telah diinput kedalam stack (tower) pertama for (i = 0; i < TotalDisk; i++) Push(&Tower[0], Allocate(TotalDisk - i)); // obey the rule MCount = 0; do
8 system("cls"); for (i = 0; i < 3; i++) printf("\n Tower %d: ", i + 1); ViewStack(Tower[i]); printf("\n\n"); ViewVisual(Tower, TotalDisk); printf("\n\n Move Count: %d\n\n", MCount); printf("\n Move From : "); scanf("%d", &MFrom); printf("\n To : "); scanf("%d", &MTo); MFrom--; MTo--; if (MFrom >= 0 && MFrom <= 2 && MTo >= 0 && MTo <= 2) if (!IsEmpty(Tower[MFrom])) if (IsEmpty(Tower[MTo])) Pop(&Tower[MFrom], &P); Push(&Tower[MTo], P); MCount++; else if (Info(Top(Tower[MTo])) > Info(Top(Tower[MFrom]))) Pop(&Tower[MFrom], &P); Push(&Tower[MTo], P); MCount++; else printf("\n Invalid move. Please input your move again.\n"); else printf("\n Invalid move. Please input move again.\n"); else printf("\n Invalid move. Please input move again.\n");
9 TotalDisk); while (Count(Tower[1])!= TotalDisk && Count(Tower[2])!= system("cls"); for (i = 0; i < 3; i++) printf("\n Tower %d: ", i + 1); ViewStack(Tower[i]); printf("\n\n"); ViewVisual(Tower, TotalDisk); printf("\n\n Move Count: %d\n", MCount); printf("\n Congratulation, you win!\n"); while (!IsEmpty(Tower[1])) Pop(&Tower[1], &P); DeAllocate(P); while (!IsEmpty(Tower[2])) Pop(&Tower[2], &P); DeAllocate(P); break; case 2: system("cls"); printf("==================================\n"); printf(" TOWER OF HANOI\n"); printf(" printf("==================================\n\n"); break; case 3: printf("\n Thanks for playing.\n"); break; default: printf("\n Invalid input. Please input again.\n"); while (CMain!= 3); return 0;
10 Akhirnya selesai sudah kamu membuat game ini, tinggal di compile kemudian jalankan, dan kamu bisa mencoba mengasah otak kamu dengan bermain game yang sudah kamu buat sendiri :) Jalankan kodenya, maka akan muncul seperti ini, selamat bermain :) Sekian tutorial dari saya :) Tentang Penulis Adnan w Anadrep
Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit
Soal No. 1 Berikut ini adalah program sirkular linked list terurut, lengkapilah bagian titik-titik dengan jawaban yang anda anggap benar. #include #include // enable malloc() and free()
Lebih terperinciSTRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )
STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN ) Oleh : NAZARUDDIN AHMAD, S.T, M.T Referensi : Antonius Rachmat C, S.Kom Design By mytemplate 2013 Stack Stack atau tumpukan adalah suatu struktur yang
Lebih terperinciList Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1
List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/2017 9/25/2017 IF2121/Sem I 2017/2018 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu
Lebih terperinciKode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)
Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Stack (Tumpukan) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas tentang stack (tumpukan) Struktur data stack
Lebih terperinciVariasi List Linier (Bagian 2)
Variasi List Linier (Bagian 2) Tim Pengajar IF2030 Semester I/2009-2010 11/12/2009 FNA/IF2030/Sem. 1 2009-2010 1 List dengan elemen fiktif (dummy element) di akhir 11/12/2009 FNA/IF2030/Sem. 1 2008-2009
Lebih terperinciAlgoritma Pemrograman & Struktur Data
MODUL PERKULIAHAN Algoritma Pemrograman & Struktur Data Stack Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Informatika Komputer 04 87042 Abstract Penjelasan mengenai stack dan penggunaannya
Lebih terperinciSTACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)
STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta) A. Stack 1. Pendahuluan Stack (tumpukan) dan queue (antrian) sebenarnya adalah sebuah cara dalam mengorganisasikan data-data yang dimiliki. Ibarat
Lebih terperinciQUEUE Antrian 1. DEFINISI
QUEUE Antrian 1. DEFINISI QUEUE (Antrian) adalah list linier yang : 1. dikenali elemen pertama () dan elemen terakhirnya (), 2. aturan penyisipan dan penghapusan elemennya didefinisikan sebagai berikut:
Lebih terperinciAlgoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.
Algoritma dan Struktur Data Ramos Somya, S.Kom., M.Cs. Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat
Lebih terperinciMODUL 6 SINGLE & DOUBLE LINKED LIST
MODUL 6 SINGLE & DOUBLE LINKED LIST 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan analisis
Lebih terperinciAlgoritma dan Struktur Data. Ramos Somya
Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,
Lebih terperinciSTACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)
Pertemuan 5 STACK atau TUMPUKAN STACK (TUMPUKAN) Merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top)
Lebih terperinciPRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)
PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan) inslls_05@yahoo.co.id A. Pembahasan Stack Algoritma stack merupakan struktur data yang mengimplementasi dari aturan LIFO (Last In First Out).
Lebih terperinciModul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST
BAB 6 LINKED LIST 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan analisis pada algoritma
Lebih terperinciBahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.
1 Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram. Program Utama SubProgram SubProgram SubProgram SubProgram
Lebih terperinciPraktikum 4. Tumpukan (Stack)
Praktikum 4 Tumpukan (Stack) POKOK BAHASAN: Konsep Tumpukan (Stack) Struktur data untuk Tumpukan Algoritma merubah Infix menjadi Postfix Implementasi Tumpukan dalam Bahasa C TUJUAN BELAJAR: Setelah melakukan
Lebih terperinciGames and Quiz PT II. Dr. Putu Harry Gunawan, MSi.,MSc. phg-simulation-laboratory.com
Games and Quiz PT II by Dr. Putu Harry Gunawan, MSi.,MSc. phg-simulation-laboratory.com Games 1 (a). Penyisipan selalu dilakukan di atas (b). Penghapusan selalu dilakukan pada elemen pertama (c). Penghapusan
Lebih terperinciLAPORAN PRAKTIKUM IV. Oleh:
LAPORAN PRAKTIKUM IV QUEUE Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data Dibimbing oleh Ibu Triyanna Widyaningtyas Oleh: MUHAMMAD BAKHRUR RIZKI 150533604505 S1 PTI-C /2015 UNIVERSITAS
Lebih terperinciSTACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan
STACK (TUMPUKAN) adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran yang
Lebih terperinciSeharusnya. if (antrian.tail==max-1) return 0;
Nama : Dimas Angger Prabowo NPM : 143112706450026 Kesalahan program int isempty() { int isempty() { 0; if (antrian.tail==-1) return 1; if (antrian.tail==-1) return Seharusnya int isfull() { if (antrian.tail==max-1)
Lebih terperinciA. TUJUAN PEMBELAJARAN
Praktikum 2 Stack (Tumpukan) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi
Lebih terperinciStruct Lanjutan: Studi Kasus
Struktur Data Struct Lanjutan: Studi Kasus Bayu Setiaji, S.Kom STMIK AMIKOM YOGYAKARTA 1. Tujuan 1. Pendalaman struct 2. Review fungsi 3. Dapat mengaplikasikan konsep struct dalam kasus nyata 2. Penjelasan
Lebih terperinci1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB
Pertemuan Ke 6 : Representasi Fisik List Linier Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit
Lebih terperinciSENARAI BERANTAI (LINK LIST)
SENARAI BERANTAI (LINK LIST) Salah satu solusi untuk mengatasi kekurangan array adalah dengan Linked List. Linked List (senarai berantai satu arah atau one way list) merupakan struktur data dinamis yang
Lebih terperinciSTACK Tumpukan TOP TOP BOTTOM BOTTOM
STACK Tumpukan I. DEFINISI STACK (Tumpukan) adalah list linier yang : 1. dikenali elemen puncaknya (TOP) 2. aturan penyisipan dan penghapusan elemennya tertentu : Penyisipan selalu dilakukan "di atas"
Lebih terperinciPraktikum Algoritma dan Struktur Data
BAB 7 DOUBLE LINKED LIST (SENARAI BERKAIT GANDA) 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan
Lebih terperinciS T A C K ( T U M P U K A N )
S T A C K T U M P U K A N ) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen
Lebih terperinciStruktur Data. Queue (Antrian)
Struktur Data Queue (Antrian) Definisi Queue (Antrian) adalah list linier yang : 1. Dikenali elemen pertama (Head) dan elemen terakhirnya (Tail) 2. Aturan penyisipan dan penghapusan elemennya didefinisikan
Lebih terperinciBAB 3 STACK (TUMPUKAN)
BAB 3 STACK (TUMPUKAN) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen pada
Lebih terperinciAlgoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C
TUGAS STRUKTUR DATA Shell Sort Ascending Dan Binary Sequential Search Menggunakan C IF-5 Nama Anggota : - Rohendi 10107193 - Andri Andriyan 10107210 - Yuli Yanti A 10107218 - Jajang Kusmita 10107227 JURUSAN
Lebih terperinci04. Single Linked List
04. Single Linked List ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep alokasi memori secara dinamis menggunakan pointer. 2. Mahasiswa mengerti konsep single linked list
Lebih terperinciBAB III. Stack. ( Tumpukan )
BAB III Stack ( Tumpukan ) Pada algoritma dan pemrograman terutama struktur data kita akan mengenal suatu konsep penyusunan data/array/elemen struktur dengan cara penumpukan atau yang biasa disebut dengan
Lebih terperinciStack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.
Stack Sekilas Tentang Stack Stack dapat diimplementasikan dengan menggunakan konsep Linked List. Bentuk dari struct dari head untuk stack dapat digambarkan sebagai berikut: Pointer ke node pertama dari
Lebih terperinciBagian I. Studi Kasus [82] Tanda tangan:
UJIAN TENGAH SEMESTER GANJIL NIM: 2010/2011 dan Struktur Data / CS2014 Nama : HARI : Kamis, 30 Oktober 2009 WAKTU : 110 menit DOSEN : TIM SIFAT : Tutup Buku, No Electronic Device Tanda tangan: Petunjuk:
Lebih terperinciStruktur Data. Stack STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom
Struktur Data Stack Bayu Setiaji, S.Kom STMIK AMIKOM YOGYAKARTA 1. Tujuan 1. Mamahami konsep stack 2. Memahami operasi dasar stack 3. Dapat mengaplikasikan stack dalam kasus nyata 2. Penjelasan Bab ini
Lebih terperinci1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB
Pertemuan Ke 5 : List Linier (Linked List) Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit
Lebih terperinciBAB II STACK Atau TUMPUKAN
BAB II STACK Atau TUMPUKAN List Linear (Daftar Linear). List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya disebut simpul (node). Simpul terdiri
Lebih terperinciAlgoritma dan Struktur Data. Pertemuan 5 Pointer
Algoritma dan Struktur Data Pertemuan 5 Pointer Implementasi ADT Setelah membuat ADT kita bisa mengimplementasikannya menjadi tipe data baru Tipe data baru tersebut disusun dari tipe data tipe data yang
Lebih terperinciPRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh
PRAKTIKUM 2 1. Variabel Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh pemrogram. Variabel adalah suatu
Lebih terperinciAlgoritma dan Struktur Data. Linked List
Algoritma dan Struktur Data Linked List Syntax: struct nama_struct { tipe_data_1 nama_var_1; tipe_data_2 nama_var_2; tipe_data_3 nama_var_3; }; 2 KONSEP ALOKASI MEMORY DINAMIS 1. Deklarasikan pointer yang
Lebih terperinciPOINTER STACK DAN QUEUE. Institut Teknologi Sumatera
POINTER STACK DAN QUEUE ALGORITMA DAN STRUKTUR DATA Institut Teknologi Sumatera PRE TEST Apakah yang disebut dengan array? Bagaimana cara deklarasi dan pengacuan dari sebuah array? Apa kekurangan array?
Lebih terperinciTipe Data dan Operator
Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam
Lebih terperinciPengantar Bahasa C. Tim Pengajar ASD Semester I 2017/ /7/2017 FN/ASD/Sem /2018 1
Pengantar Bahasa C Tim Pengajar ASD Semester I 2017/2018 9/7/2017 FN/ASD/Sem. 1 2017/2018 1 C Programming Language Sejarah Singkat Dikembangkan oleh Dennis Ritchie dan Brian Kernighan pada awal 1970an
Lebih terperinciPenambahan Simpul (Node)
Universitas Syiah Kuala MMA-041 Struktur Data Dynamic Linked List Dr. Taufik Fuadi Abidin, M.Tech taufik.abidin@unsyiah.ac.id Single Linked List Linked list dapat dianalogikan sebagai rantai besi yang
Lebih terperinciIKG2A3/ Pemrograman Terstruktur 2
IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Representasi Fisik List Linier 1 8/25/2015 Pendahuluan Setelah representasi logic, perlu dilakukan represntasi fisik untuk
Lebih terperinciE STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Stack using Array. Alfa Faridh Suni, S.T., M.T. PTIK
E3024015 - STRUKTUR DATA & E3024016 PRAKTIK STRUKTUR DATA Stack using Array Alfa Faridh Suni, S.T., M.T. PTIK - 2014 Stack = tumpukan Suatu susunan koleksi data dimana data dapat ditambahkan dan dihapus
Lebih terperinciQUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu
QUEUE (ANTREAN) Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang / ekor (Tail)
Lebih terperinciTumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (
BAB III Tumpukan(Stack) Tujuan: 1. Memahami terminologi yang terkait dengan struktur data stack 2. Memahami operasi-operasi yang ada dalam stack 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
Lebih terperinci05. Double Linked List
0. Double Linked List ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep double linked list dan operasi pada single linked list. 2. Mahasiswa dapat mengimplementasikan double
Lebih terperinciModul Praktikum Algoritma dan Struktur Data
MODUL IV STACK A. TUJUAN 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi yang ada dalam stack. 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
Lebih terperinciTipe Data, Variabel, Input/Output
Tipe Data, Variabel, Input/Output Pendahuluan Untuk membuat program dengan bahasa pemrograman C harus memperhatikan struktur dasarnya. Strukturnya diawali dengan bagian preprocessor directive yang biasanya
Lebih terperinciSingle Linked List (1)
Praktikum 5 Single Linked List (1) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami konsep membangun single linked list 2. Memahami konsep operasi
Lebih terperinciAlgoritma dan Struktur Data. Ramos Somya
Algoritma dan Struktur Data Ramos Somya Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman eksekusi suatu fungsi menggunakan prinsip Stact. Bersifat LIFO (Last In First Out) Benda
Lebih terperinciKONSEP POINTER DAN LINKED LIST
Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciPERTEMUAN KE 11. Linked List. Apa Itu Linked List?
PERTEMUAN KE 11 Linked List Apa Itu Linked List? Linked list tidak lain adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer.
Lebih terperinciDinamik Linked List. hari bulan tahun
Dinamik Linked List Pendahuluan Pada pertemuan ini, kita akan membahas struktur data Linked List (senarai berantai) yang berbeda dengan struktur data array. Tetapi sebelum itu, akan direview sedikit mengenai
Lebih terperinciPohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String)
Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String) Tim Pengajar IF2030 Semester I/2009-2010 12/10/2009 FNA/IF2030/Sem. 1 2008-2009 1 Pohon Biner
Lebih terperinciMODUL IV STACK A. TUJUAN
MODUL IV STACK A. TUJUAN 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi yang ada dalam stack. 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
Lebih terperinciList Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem
List Linier IF2030/Algoritma dan Struktur Data 11/6/2009 FNA+WDS/IF2030/Sem 1 0809 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu dan setiap elemen terdiri
Lebih terperinciMODUL PEMROGRAMAN 2. Queue (Antrian)
Queue (Antrian) Secara harfiah queue dapat diartikan sebagai antrian. Queue merupakan kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya melalui
Lebih terperinciDIG1G3 Implementasi Struktur Data
DIG1G3 Implementasi Struktur Data Program Studi Diploma III Teknik Informatika Fakultas Ilmu Terapan Telkom University Dosen: Cahyana, S.T., M.Kom. Indra Azimi, S.T., M.T. 2 Stack (Tumpukan) Stack is a
Lebih terperinciA. TUJUAN PEMBELAJARAN
Praktikum 13 Algoritma Pencarian (Searching) A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami konsep pencarian dengan metode sequential search dan
Lebih terperinciApakah Anda sering kesulitan untuk
Seringkali bagi kebanyakan orang permasalahan matematika merupakan suatu hal yang cukup memusingkan. Bahasa C dapat mempermudah kita dalam perhitungan matematika. Apakah Anda sering kesulitan untuk menyelesaikan
Lebih terperinciMesin Karakter dan Mesin Kata
Mesin Karakter dan Mesin Kata Tim Pengajar IF2030/Algoritma dan Struktur Data 10/15/09 FNA/IF2030/Mesin Kata 1 Mesin Mesin: mekanisme yang terdefinisi dan mengerti serta mampu untuk mengeksekusi aksi-aksi
Lebih terperinciAlgoritme dan Pemrograman
Algoritme dan Pemrograman Kuliah #7 dan #8 Array Program Menghitung Rataan 3 Nilai #include int nilai1, nilai2, nilai3; float rataan; void main() printf ( Masukkan nilai 1 );scanf( %d,&nilai1);
Lebih terperinciMasukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list
Universitas Muhammadiyah Sukabumi Artikel Struktur Data Oleh : fahmi fauzi Masukan Judul... 1. STACK DAN QUEUE DENGAN LINKED LIST Pengertian Linked list : sekumpulan elemen bertipe sama, yang mempunyai
Lebih terperinciPerulangan, Percabangan, dan Studi Kasus
Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan
Lebih terperinciModul 1 Dasar Dasar Bahasa Pemrograman C
Modul 1 Dasar Dasar Bahasa Pemrograman C 1. C dan Pengolahan Sinyal Digital C adalah bahasa pemrograman tingkat tinggi. Sebab bahasa pemrogramannya menggunakan keyword dan syntax yang mudah dimengerti
Lebih terperinciIKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier
IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Variasi List Linier 1 8/25/2015 Pendahuluan Pada Bab ini kita akan membahas tentang beberapa di antara variasi list linier,
Lebih terperinciBAB II STACK (TUMPUKAN)
BAB II STACK (TUMPUKAN) Stack merupakan metode dalam menyimpan atau mengambil data ke dan dari memori. Stack dapat dibratkan sebuah tumpukan barang dalam sebuah tempat yang hanya memiliki satu pintu diatsnya
Lebih terperinciKONSEP POINTER DAN LINKED LIST
Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciStruktur Program Bahasa C
Struktur Program Bahasa C Struktur Program Bahasa C /* Komentar */ main( ) { statemen-statemen; } fungsi_tambahan( ) { statemen-statemen } program utama fungsi tambahan yang dapat dipanggil oleh program
Lebih terperinciBahasa C-M6 By Jamilah, Skom 1
BAB 1 KONSEP DASAR BAHASA C 1.1 SEJARAH DAN STANDAR C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang kemudian
Lebih terperinciPENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:
PENGENALAN BAHASA C A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini: Kebanyakan pemrogram jarang memberikan keterangan/
Lebih terperinciSTRUKTUR DATA Pertemuan 1 s.d 8
STRUKTUR DATA Pertemuan 1 s.d 8 Sasaran: Meningkatkan: pemahaman pengetahuan tentang teori dasar struktur data dan penanganan data serta pembuatan algoritma dan penggunaan strukturd dalam pemrograman Materi
Lebih terperinciLab. Teknik Informatika Struktur Data 1
2. POINTER dan SINGLE LINK LIST TUJUAN PRAKTIKUM 1. Praktikan mengetahui tipe struktur data baru yaitu tipe data Pointer. 2. Praktikan menggunakan pointer didalam pembuatan program dan dapat menerapkannya
Lebih terperinci// Created by Andri Andriyan // Linked List. #include <stdlib.h> #include <conio2.h> #include <stdio.h>
// Created by Andri Andriyan // Linked List #include #include #include typedef struct simpulabjad *point; typedef struct simpulabjad char info; point next; ; point awal,akhir;
Lebih terperinciA. TUJUAN PEMBELAJARAN
Praktikum 3 Queue (Antrian) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami stuktur data yang digunakan pada antrian baik yang berupa array maupun
Lebih terperinciTUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK
TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK Prepared by: Ardianto Satriawan (02-2015) Pengenalan Pengertian Stack Pada Tugas Pendahuluan praktikum kali ini, anda tidak diminta
Lebih terperinciPertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.
Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciA. Bagian I. Studi Kasus
UJIAN TENGAH SEMESTER GANJIL 2008/2009 NIM: dan Struktur Data / CS2014 Nama : HARI : Rabu, 5 November 2008 WAKTU DOSEN SIFAT : 135 menit : TIM : Tutup Buku Tanda tangan: Petunjuk: Periksalah kelengkapan
Lebih terperinciPERTEMUAN 7 REVIEW (QUIZ)
PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah
Lebih terperincia[0] a[1] a[2] a[3] a[4] a[5] x
Array Algoritme dan Pemrograman Kuliah #8 Array Dalam matematika dikenal variabel berindeks x 0, x 1, x 2,, x n-1. Angka 0, 1, 2,, n-1 pada variabel x disebut sebagai indeks atau subscript. Variabel berindeks
Lebih terperinciPencarian (Searching)
Praktikum 11 Pencarian (Searching) POKOK BAHASAN: Konsep pencarian dengan sequential search dan binary search Struktur data proses pencarian Implementasi algoritma pencarian sequential search dan binary
Lebih terperinciSOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009
SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include
Lebih terperinciBAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.
UJIAN TENGAH SEMESTER GANJIL 2010-2011 ALGORITME DAN PEMROGRAMAN SABTU, 30-10-10 08.00-10.00 Ketentuan Ujian: 1. Ujian bersifat Catatan Tertutup 2. Jawaban dituliskan pada lembar jawaban yang disediakan
Lebih terperinciArray dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1
Array dan Matriks IF2121 / Algoritma dan Struktur Data Sem. 1 2017/2018 9/7/2017 IF2121/sem. 1 2017/2018 1 Array 9/7/2017 IF2121/sem. 1 2017/2018 2 Definisi Array adalah koleksi objek yang terdiri dari
Lebih terperinciBinary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree
Binary Tree Pendahuluan Binary Tree adalah struktur data yang hampir mirip juga dengan Linked List untuk menyimpan koleksi dari data. Linked List dapat dianalogikan sebagai rantai linier sedangkan Binary
Lebih terperinciALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN Oleh: Tim Algoritma & Pemrograman IF Linked List PENGERTIAN LINKED LIST Salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung,
Lebih terperinciLAPORAN PRAKTIKUM IV. Oleh :
LAPORAN PRAKTIKUM IV STACK Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data Dibimbing oleh Bapak Utomo Pujianto Oleh : Anidia Wulan Sari (150533601651) Dimas Galih Ramadhan (150533600571)
Lebih terperinciKONSEP POINTER DAN LINKED LIST
Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciKONSEP POINTER DAN LINKED LIST
Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciLAPORAN PRAKTIKUM RESMI QUEUE
LAPORAN PRAKTIKUM RESMI QUEUE Disusun oleh : Amin Setyaningrum 201301052 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO
Lebih terperinciKONSEP POINTER DAN LINKED LIST
Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
Lebih terperinciPendahuluan Struktur Data. Nisa ul Hafidhoh
Pendahuluan Struktur Data Nisa ul Hafidhoh nisa@dsn.dinus.ac.id 08156114760 Tujuan Mahasiswa dapat melakukan pemrograman dalam skala menengah dengan memanfaatkan struktur data internal yang kompleks dan
Lebih terperinciMODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1
MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 Disusun oleh : Tim Asisten JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2011 0 A. Pengantar
Lebih terperinciPendahuluan Pemrograman Mikrokontroler
Pendahuluan Pemrograman Mikrokontroler Pokok Bahasan: 1. Pemrograman C 2. Pengalokasian Memory Tujuan Belajar: Setelah mempelajari dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami dan Menjelaskan
Lebih terperinciLinked List 6.3 & 7.3 NESTED LOOP
Linked List 6.3 & 7.3 NESTED LOOP 1 Linked List ( List yang di-link satu dengan lainnya ) 2 apa itu List? 3 Contoh sebuah LIST int A[5]; 0 1 2 3 4 Array satu dimensi Disebut juga : Vector Kadang-kadang
Lebih terperinciSINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)
SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR) Dilustrasikan sebagai kereta yang mempunyai gerbong-gerbong. Pertama tama kita membuat tipe data baru dari gerbong kereta tersebut.
Lebih terperinciKisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut
Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi
Lebih terperinci