Langsung ke konten utama

Tutorial Pemograman Struktur Data Stack Menggunakan Bahasa Pemograman Pascal

Dibawah ini kode program Pascal yang memiliki tujuan untuk membalikkan sebuah kata atau kalimat. Program ini menggunakan struktur data stack untuk menyimpan karakter-karakter dari kata atau kalimat yang akan dibalikkan.


Pada program ini, terdapat beberapa prosedur dan fungsi yang digunakan, yaitu:


Prosedur mulai berguna untuk mengatur indeks urutan dari stack saat baru dibuat.

Prosedur geser berguna untuk menambahkan sebuah karakter ke dalam stack.

Fungsi akhir berguna untuk mengambil karakter terakhir dari stack dan mengembalikan nilainya.

Kemudian, di bagian main program terdapat loop yang akan terus berulang hingga user memilih untuk menghentikan proses. Di dalam loop tersebut, user diminta untuk memasukkan sebuah kata atau kalimat yang akan dibalikkan. Kemudian, setiap karakter dari kata atau kalimat tersebut akan ditambahkan ke dalam stack dengan menggunakan prosedur geser. Setelah itu, karakter-karakter tersebut akan diambil kembali dari stack dengan menggunakan fungsi akhir dan ditampilkan ke layar sehingga menghasilkan kata atau kalimat yang telah dibalikkan.


Secara umum, struktur data stack memiliki dua operasi utama, yaitu push (menambahkan elemen ke dalam stack) dan pop (mengambil elemen teratas dari stack). Stack biasanya digunakan untuk menyimpan data secara temporary, dan operasi yang umum dilakukan adalah menambahkan elemen ke dalam stack (push) dan mengambil elemen teratas dari stack (pop). Stack juga sering digunakan dalam algoritma pemrograman untuk melakukan proses rekursi (pemanggilan kembali suatu fungsi ke dalam dirinya sendiri).

 -Input 

uses crt;

type

tmp = record

kal: string[255];

urutan: integer;

end;

var

t: tmp;

i: integer;

kata: string[255];

input: char;

teks : text;

procedure mulai(var t: tmp);

begin

t.urutan := 0;

end;

procedure geser(var t: tmp; x: char);

begin

t.urutan := t.urutan + 1;

t.kal[t.urutan] := x;

end;

function akhir(var t: tmp) : char;

begin

akhir := t.kal[t.urutan];

t.urutan := t.urutan - 1;

end;

begin

clrscr;

mulai(t);

writeln('Program Membalikkan Kata');

writeln('------------------------');

repeat

writeln;

write('Kata/kalimat yang akan dibalik: ');readln(kata);

writeln('Kata/kalimat asli: ',kata);

writeln;

for i := 1 to length(kata) do

geser(t, kata[i]);

write('Kata/kalimat hasil balikan: ');

for i := 1 to length(kata) do

write(akhir(t));

writeln;

writeln;

write('Ulangi? y/t: ');

readln(input);

until input = 't';

end.

Program ini saya buat dan jalankan melalui aplikasi pascal pada online gdb secara online, berikut linknya :

https://onlinegdb.com/R1Aq33RE3


-Output 


 Tutorial algoritma untuk program yang saya buat :
Pertama, pastikan Anda sudah memahami dasar-dasar pemrograman Pascal dan sintaks dasar bahasa Pascal.

Program ini memulai dengan meng-import library "crt" yang memungkinkan program untuk menggunakan perintah-perintah seperti "clrscr" yang akan membersihkan layar pada saat program dijalankan.

Kemudian, program mendefinisikan tipe data "tmp" yang merupakan sebuah record atau struktur data yang terdiri dari dua field atau variabel, yaitu "kal" yang bertipe string dengan panjang maksimum 255 karakter, dan "urutan" yang bertipe integer.

Selanjutnya, program mendefinisikan variabel "t" sebagai variabel bertipe "tmp" yang akan digunakan untuk menyimpan kata yang akan dibalik. Variabel "i" juga didefinisikan sebagai variabel bertipe integer yang akan digunakan sebagai indeks pada loop "for". Variabel "kata" juga didefinisikan sebagai variabel bertipe string dengan panjang maksimum 255 karakter yang akan digunakan untuk menyimpan kata yang akan dibalik. Variabel "input" juga didefinisikan sebagai variabel bertipe char yang akan digunakan untuk menyimpan input dari user untuk menentukan apakah program akan diulang atau tidak. Dan terakhir, variabel "teks" didefinisikan sebagai variabel bertipe text yang akan digunakan untuk menyimpan file teks.

Selanjutnya, program membuat sebuah procedure bernama "mulai" yang menerima variabel "t" sebagai parameter input. Procedure ini akan memberikan nilai awal pada field "urutan" pada struktur data "t" dengan nilai 0.

Setelah itu, program membuat sebuah procedure bernama "geser" yang menerima dua parameter input, yaitu variabel "t" dan variabel "x". Procedure ini akan menambahkan nilai 1 pada field "urutan" pada struktur data "t" dan menyimpan karakter "x" pada field "kal" pada struktur data "t" pada indeks yang sesuai dengan nilai dari field "urutan".

Kemudian, program membuat sebuah function bernama "akhir" yang menerima variabel "t" sebagai parameter input. Function ini akan mengembalikan nilai dari field "kal" pada struktur data "t" pada indeks yang sesuai dengan nilai dari field "

Penjelasan :

"uses crt" merupakan statement yang digunakan untuk meng-import library "crt" yang berisi perintah-perintah yang bisa digunakan dalam program.

"type" merupakan statement yang digunakan untuk mendefinisikan tipe data baru. Dalam kode ini, tipe data "tmp" didefinisikan sebagai sebuah record atau struktur data yang terdiri dari dua field atau variabel, yaitu "kal" yang bertipe string dengan panjang maksimum 255 karakter, dan "urutan" yang bertipe integer.

"var" merupakan statement yang digunakan untuk mendeklarasikan variabel. Dalam kode ini, variabel "t" dideklarasikan sebagai variabel bertipe "tmp" yang akan digunakan untuk menyimpan kata yang akan dibalik. Variabel "i" juga dideklarasikan sebagai variabel bertipe integer yang akan digunakan sebagai indeks pada loop "for". Variabel "kata" juga dideklarasikan sebagai variabel bertipe string dengan panjang maksimum 255 karakter yang akan digunakan untuk menyimpan kata yang akan dibalik. Variabel "input" juga dideklarasikan sebagai variabel bertipe char yang akan digunakan untuk menyimpan input dari user untuk menentukan apakah program akan diulang atau tidak. Dan terakhir, variabel "teks" dideklarasikan sebagai variabel bertipe text yang akan digunakan untuk menyimpan file teks.

"procedure" merupakan statement yang digunakan untuk mendefinisikan sebuah procedure. Procedure adalah sebuah blok kode yang dapat dipanggil di dalam program dengan menggunakan nama yang telah ditentukan. Dalam kode ini, procedure "mulai" didefinisikan yang menerima variabel "t" sebagai parameter input. Procedure ini akan memberikan nilai awal pada field "urutan" pada struktur data "t" dengan nilai 0.

Procedure "geser" juga didefinisikan yang menerima dua parameter input, yaitu variabel "t" dan variabel "x". Procedure ini akan menambahkan nilai 1 pada field "urutan" pada struktur data "t" dan menyimpan karakter "x" pada field "kal" pada struktur data "t" pada indeks yang sesuai dengan nilai dari field "urutan".

Function "akhir" juga didefinisikan yang menerima variabel "t" sebagai parameter input. Function ini a.

Komentar

Postingan populer dari blog ini

Flowchart Struktur Data Stack

 Stack adalah struktur data yang berfungsi sebagai tempat penyimpanan data secara bertingkat. Data yang terakhir masuk ke stack akan menjadi data yang pertama kali keluar (first-in, last-out). Stack bisa diimplementasikan dengan menggunakan array atau linked list. Untuk memahami bagaimana struktur data stack bekerja, Anda dapat mengikuti alur berikut:    Pertama-tama, sebaiknya Anda memahami apa itu struktur data stack. Stack adalah struktur data yang terdiri dari elemen yang disusun secara vertical, dengan hanya satu elemen yang dapat diakses pada suatu waktu (elemen yang paling atas). Elemen baru dapat ditambahkan ke atas stack (push) atau elemen yang sudah ada dapat dihapus dari atas stack (pop). Selanjutnya, Anda harus memahami beberapa istilah yang sering digunakan dalam stack, seperti: Top: Elemen yang paling atas dari stack. Base: Elemen yang paling bawah dari stack. Overflow: Kondisi terjadinya stack ketika tidak ada ruang tersisa untuk menambah elemen baru ke dal...