Langsung ke konten utama

REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN

REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN #REVIEWWEBSITE #penghasiluang #receh Berikut Link Webistenya : https://www.mediakomen.com/ 0:00:00 ▼ EXPAND FOR NAVIGATION ▼ 0:01 CH 0: Opening 0:08 CH 1: Story 0:10 CH 2: Closing

Program Queue atau Antrian Pascal

Program Queue atau Antrian Pascal


Selamat malam sob... kali ini ane mau post nih salah satu tugas struktur data semester 3, yaitu Program Antrian atau sering disebut Queue, langsung aja sob liat kodingannya,..

COPAS BOLEH, PELAJARI HARUS!!!..

====================================================================

 Program queue;
 uses wincrt;
 type antrian = ^node;
  node = record
  isi : String[10];
  next : antrian;
  end;
 var
  depan, belakang : antrian;
  pointer, x : string;
  pil : char;

  {Procedure baru digunakan untuk inisialisasi awal list}
  Procedure baru(x : string; var tunjuk : antrian);
  begin
  new(tunjuk);
  tunjuk^.isi := x;
  tunjuk^.next := nil;
  end;

  {Function isempty digunakan untuk mengecek apakah suatu list kosong atau tidak}
  Function isempty(depan, belakang : antrian):boolean;
  begin
  isempty := (depan=nil) and (belakang=nil) = true
  end;

  {procedure tambahAntri digunakan untuk menambahkan jumlah orang dalam antrian}
  procedure tambahAntri(var belakang : antrian);
  var x : string;
  tunjuk : antrian;
  begin
  write('Masukan nama orang yang mau masuk antrian : '); readln(x);
  baru(x,tunjuk);
  belakang^.next := tunjuk;
  belakang := tunjuk;
  end;

  {procedure hapusDepan digunakan untuk menghapus list dalam antrian}
  procedure hapusDepan(var depan, belakang : antrian);
  var bantu : antrian;
  begin
  if isempty(depan, belakang) then
  writeln('antrian kosong')
  else if depan = belakang then
  begin
  depan := nil;
  belakang := nil;
  end
  else
  begin
  bantu:=depan^.next;
  depan := bantu;
  end;
  end;

  {Procedure selesaiAntri digunakan untuk mengambik orang yang sudah selesai antri}
  procedure selesaiAntri(var depan, belakang:antrian; var x : string);
  begin
  if depan = nil then
  x:= 'Antrian kosong'
  else
  begin
  x := depan^.isi;
  hapusDepan(depan, belakang);
  end;
  end;

  {procedure buatAntrian untuk membangun antrian dengan input data secara interaktif}
  procedure buatAntrian(var depan, belakang:antrian);
  var c : char;
  tunjuk : antrian;
  i : integer;
  begin
  i := 0;
  depan := nil;
  belakang := nil;
  repeat
  i := i+1;
  write('masukan nama ke-',i,'='); readln(x);
  baru(x,tunjuk);
  if isempty(depan, belakang) then
  begin
  depan := tunjuk;
  belakang := tunjuk;
  end
  else
  begin
  belakang^.next := tunjuk;
  belakang := tunjuk;
  end;
  repeat
  write('tambah data yang antri [Y/T] = '); readln(c);
  until c in ['T','t','y','Y'];
  until c in ['T','t'];
  end;

  {procedure cetak untuk mencetak isi antrian, pintu keluar antrian disebelah kanan dan pintu masuk antrian disebelah kiri}
  procedure cetak(depan : antrian; var output : string);
  var bantu : antrian;
  y : string;
  begin
  bantu := depan;
  output := 'loket pendaftaran';
  if isempty(depan, belakang) then
  output := ' antrian kosong'
  else
  begin
  while bantu <> nil do
  begin
  y := bantu^.isi;
  output := y+'->>'+output;
  bantu:=bantu^.next;
  end;
  output := 'pintu masuk antrian ->> '+output;
  end;
  end;

begin
buatAntrian(depan, belakang);
repeat
repeat
{menu utama}
writeln;
writeln('--------------------------------------------------------');
writeln('[1] Buat Antrian baru       ');
writeln('[2] Tambah antrian pendaftar      ');
writeln('[3] ambil orang yg selesai daftar ');
writeln('[4] loket pendaftaran ditutup     ');
writeln('--------------------------------------------------------');
write('pilihan anda : '); //pil := readkey;
readln(pil);
writeln(pil);
writeln;
until (pil>= '1') and (pil <= '4');

{case pil of mengacu pada menu pilihan yang akan mengaktifkan salah satu prosedure yang dipilih}
case pil of
'1' : begin
buatAntrian(depan,belakang);
writeln;
writeln;
writeln;
  end;
'2' : begin
tambahAntri(belakang);
writeln;
writeln('setelah antrian menjadi : ');
cetak(depan, pointer);
writeln(pointer);
writeln;
writeln;
writeln;
   end;
'3' : begin
selesaiAntri(depan,belakang,x);
writeln(' ',x,' telah selesai mendaftar, maka ia keluar dari antrian');
writeln;
writeln(' antrian menjadi : ');
cetak(depan, pointer);
writeln(pointer);
writeln;
writeln;
writeln;
   end;
'4' : begin
writeln('loket telah ditutup ');
writeln('antrian dilanjutkan hari berikutnya');
exit;
  end;
end;
until (pil='8');
end.
end.

====================================================================


OUTPUT



========================================================================


Semoga bermanfaat😎





Komentar

Posting Komentar

Postingan populer dari blog ini

Program Quick Sort Pascal

Selamat malam sob... kali ini ane mau post nih salah satu tugas struktur data semester 3 lagi, yaitu Program Quick sort, apa sih Quick sort itu?... ane jelasin dulu sob dari mbah google... Quick Sort merupakan salah satu algoritma pengurutan data yang menggunakan teknik membagi  data menjadi partisi-partisi. Metode Quick Sort disebut juga dengan nama partition exchange sort.  Untuk memulai proses pengurutan, pertama-tama sebuah data dipilih dari kelompok data sebagai data pivot. Posisi data pivot dapat dicari dengan menggunakan rumus :     i  = (indeks awal + indeks akhir) div 2   Kemudian elemen-elemen data akan diatur, sehingga nilai data pivot yang terletak di posisi ke I memenuhi kondisi sebagai berikut : Semua data di posisi ke 1 sampai dengan ke I-1  lebih kecil atau sama dengan pivot atau data[i]<=pivot. Semua data di posisi ke I+1 sampai dengan ke N  lebih besar atau sama dengan pivot atau data[i]>=pivot. Contoh  : Ad...

MEMBUAT DATA TABEL DENGAN SQLITE3 DI CMD

MEMBUAT DATA TABEL DENGAN SQLITE3 DI CMD 😎  Membuat dan membuka .db              Asumsikan kita akan membuat tabel dengan nama tabel data.db  Membuka sqlite3 dan membuka data.db buka cmd lalu ketik cd.. lalu ketik cd.. lagi lalu cd sqlite jika anda menempatkan sqlitenya di folder c sqlite dan kita bisa ketik .databases untuk melihat apakah database sudah dibuat atau belum          Membuat tabel create tabel (namatable) (judul atas) = membuat tabel untuk melihat daftar tabel yang dibuat ketik .tabels Dan disini saya akan membuat tabel data dengan struktur ( no sebagai primary key, judul dan harga ) Memodifikasi tabel Menambahkan kolom alter table (namatabel) add column (namacolom) (typenya); ->> Dan saya akan coba menambahkan kolom pengarang pada tabel data saya dengan mengetik  alter table data column Pengarang varchar; Menambah data ke tabel kita bisa mengetikan di cmd  insert into (namatabel)(....

Source Code Program Graph Ufo Terbang Dengan Bahasa Pascal

Source Code Program Graph Ufo Terbang Dengan Bahasa Pascal Baik Sob kali ini mimin akan membagikan source code bahasa pascal yaitu membuat graph ufo terbang. Source code ini sering menjadi tugas kuliah nih sob, terutama mata kuliah praktikum struktur data ane. Langsung saja sob kita lihat source code-nya beserta outputnya, mimin harap kalian semua dapat mempelajarinya, syukur-syukur dapat membuat yang lebih keren lagi. ======================================================================== Program graf; uses crt, graph; var tunggu, x1,x2,y1,y2, ukuran, l : word; x, y, drivegrafik, modegrafik : integer; ufo : pointer; begin InitGraph(drivegrafik, modegrafik,' '); drivegrafik := CGA; modegrafik := CGAC1; OutTextXY(30,30,'Tekan sembarang untuk selesai'); // OutTextXY = utk menentukan titik penempatan text SetColor(1); Ellipse(160,100,0,360,20,5); Line(140,100,180,100); SetFillStyle(SolidFill,4); FloodFill(160,101,1); Line(160,95,160,90); Circle...