Rabu, 12 Desember 2018

Listing struktur data praktikum 11



PRAKTIKUM 11

MAHASISWA DIMINTA UNTUK MEMBUAT SEBUAH PROGRAM YANG MENAMPILKAN ANIMASI SALJU BERJATUHAN. BUTIRAN SALJU BISA DIGAMBARAKN DENGAN SEBUAH KARAKTER MISALNYA’@’. BUTIRAN SALJU HARUS BERMUNCULAN DENGAN POSISI ACAK DAN JIKA DITEKAN TOMBOL (+) MAKA BUTIRAN SALJU AKAN BERTAMBAH SATU, DAN SETERUSNYA, UNTUK BERHENTI TEKAN ESCAPE.


PROGRAM SINGLE_LINKED_LIST_FIFO;
USES CRT;
CONST
     S  ='@';
     MAX=100;
TYPE
    PKAR        =^RECKAR;
    RECKAR      = RECORD
                  ISI     : CHAR;
                  X,Y,COL : BYTE;
                  NEXT    : PKAR;
                  END;
VAR
   HEAD, TAIL, NOW  :PKAR;

PROCEDURE PUSH;
BEGIN
     NEW(NOW);                  {MEMBUAT SIMPUL BARU}
     IF HEAD=NIL THEN
        HEAD:=NOW
     ELSE
        TAIL^.NEXT:=NOW;
     TAIL:=NOW; TAIL^.NEXT:=NIL;
     NOW^.ISI:=S;
     NOW^.X:=RANDOM (79)+1;     {MENGISI NILAI X DENGAN NILAI ACAK}
     NOW^.COL:=RANDOM(16);      {MENGISI NILAI COL DENGAN NILAI ACAK}
     NOW^.Y:=1;
END;

PROCEDURE ANIM;
VAR
   CH   :CHAR;
   I,JML:BYTE;

PROCEDURE TEKAN;
BEGIN
     CH     :=READKEY;
     IF (CH <> #27) AND (CH='+') AND (JML<MAX) THEN     {MENAMBAH SALJU}
     BEGIN
        PUSH;
        INC(JML);
     END;
END;
BEGIN
  REPEAT
     NOW:=HEAD;
     WHILE (NOW <> NIL ) DO
     BEGIN
         TEXTCOLOR (NOW^.COL);                  {MENGESET WARNA TULISAN}
         GOTOXY (NOW^.X,NOW^.Y); WRITE (NOW^.ISI);
         IF NOW^.Y=25 THEN NOW^.Y:=1;
         INC(NOW^.Y);
         NOW:=NOW^.NEXT;
     END;
  DELAY (10); CLRSCR;   {MENGHAPUS LAYAR}
  IF KEYPRESSED THEN TEKAN;
  UNTIL CH=#27; {TOMBOL ESCAPE DITEKAN}
END;

PROCEDURE CURSOR_OFF; ASSEMBLER;        {MEMATIKAN KURSOR SIFATNYA OPTIONAL/TAK WAJIB DIBUAT}
ASM
   MOV AH,01;
   MOV CX, 2020H;
   INT 10H;
END;

PROCEDURE CURSOR_ON; ASSEMBLER;          {MENYALAKAN KURSOR SIFATNYA OPTIONAL/TAK WAJIB DIBUAT}
ASM
   MOV AH,01;
   MOV CX,1314H;
   INT 10H;
END;

BEGIN           {MAIN PROGRAM}
  CLRSCR;
  HEAD:=NIL; TAIL:=NIL;
  CURSOR_OFF;
  RANDOMIZE;
  PUSH;
  ANIM;
  CURSOR_ON;
END.

Listing struktur data praktikum 10



PRAKTIKUM 10

MAHASISWA DIMINTA MEMBUAT PROGRAM DAFTAR MATA KULIAH, PERTAMA TANYAKAN APA MATA KULIAH AKAN DIURUTKAN SECARA FIFO (FIRST IN FISRT OUT) ATAU SECARA LIFO (LAST IN FIRST OUT). KEMUDIAN LAKUKAN PROSEDUR INPUT YANG MELIPUTI KODE MATA KULIAH, NAMA MATA KULIAH DAN JUMLAH SKS-NYA SATU PERSATU. TAMPILKAN DAFTAR MATA KULIAH YANG TELAH DIINPUT DENGAN URUTAN SESUAI PILIHAN (FIFO/LIFO).

PROGRAM LIFOFIFO;
USESCRT;
TYPE
    POINTMK   =^RECMK;
    RECMK      = RECORD
       KDMK   : STRING [15];    {KODE MATA KULIAH}
       NMMK   : STRING [20];    {NAMA MATA KULIAH}
       SKS    : BYTE;           {SKS}
       NEXT   : POINTMK;        {POINTER}
    END;
VAR
   HEAD, TAIL, NOW : POINTMK;

PROSEDURE JUDUL;   {JUDUL APLIKASI}
BEGIN
     CLSRCR;
     WITELN ('UNIVERSITAS COKROAMINOTO PALOPO');
     WITELN ('JL. LATAMACELLING');
     WITELN ('KOTA PALOPO');
     GOTXY (26,5); WRITELN ('PENDATAAN MATA KULIAH');
     GOTXY (26,6); WRITELN ('=====================');
END;

PROSEDURE BUAT_SIMPUL_FIFO;
BEGIN
     NEW(NOW);                  {MEMBUAT SIMPUL BARU}
     IF HEAD=NIL THEN           {BELUM ADA SIMPUL}
     BEGIN
        NOW^.NEXT:=NIL;
        HEAD:=NOW;
        TAIL:=NOW;
     END ELSE                   {SUDAH ADA SIMPUL}
     BEGIN
        TAIL^.NEXT:=NOW;
        TAIL:=NOW;
        TAIL^.NEXT:=NIL;
     END;
END;

PROSEDURE BUAT_SIMPUL_LIFO;
BEGIN
     NEW(NOW);                  {MEMBUAT SIMPUL BARU}
     IF HEAD=NIL THEN           {JIKA BELUM ADA SIMPUL AWAL}
         NOW^.NEXT:=NIL
     ELSE                       {JIKA SUDAH ADA SIMPUL}
         NOW^.NEXT:=HEAD;
     HEAD:=NOW;
END;

PROSEDURE INPUT;
VAR
   N     : BYTE;
   PIL   : CHAR;
   TEMP  : STRING[5];
BEGIN
   N:=0;
   HEAD:=NIL; TAIL:=NIL;
   CLRSCR; JUDUL;
   GOTOXY (21,7); WRITE ('LIFO OR FIFO [L/F]:');   {MEMILIH LIFO/FIFO}
   REPEAT
      GOTOXY (42,7); CLREOL;
      PIL:=UPCASE(READKEY);
      UNTIL PIL IN ['L','F'];
      REPEAT
        CLRSCR;
        JUDUL;
        GOTOXY (21,7); CLREOL;
        GOTOXY (21,8); WRITE ('KODE MATA KULIAH:');
        READLN (TEMP);
        IF TEMP <> '' THEN
        BEGIN
          INC(N);
          IF PIL='L' THEN
             BUAT_SIMPUL_LIFO           {MENGISI SIMPUL DENGAN CARA LIFO}
          ELSE
             BUAT_SIMPUL_FIFO;          {MENGISI SIMPUL DENGAN CARA FIFO}
          NOW^.KDMK:=TEMP;
          GOTOXY (21,9); WRITE ('NAMA MATA KULIAH:');
          READLN (NOW^.NMMK);
          GOTOXY (21,10); WRITE ('JUMLAH SKS:');
          READLN (NOW^.SKS);
        END;
      UNTIL (TEMP='') OR (N=10);
   END;

PROSEDURE OUTPUT;                       {MEMBUAT LAPORAN}
VAR Y:BYTE;
BEGIN
     CLSRCR;
     JUDUL;
     GOTOXY (26,5); WRITELN ('DAFTAR MATA KULIAH');
     GOTOXY (26,6); WRITELN ('==================');
     GOTOXY (17,8); WRITELN ('KDMK          NAMA MATA KULIAH            SKS');
     GOTOXY (17,9); WRITELN ('=============================================');
     (*********************************************)
     (*        MENAMPILKAN DATA YANG ADA          *)
     (*********************************************)
     NOW:=HEAD; Y:=9;
     WHILE (NOW<>NIL) DO
     BEGIN
         INC(Y);
         GOTOXY (17,Y); WRITE (NOW^.KDMK);
         GOTOXY (26,Y); WRITE (NOW^.NMMK);
         GOTOXY (50,Y); WRITE (NOW^.SKS);
         NOW:=NOW^.NEXT;
     END;

     READKEY;
     (**********************************************)
     (*     HAPUS SIMPUL YANG TELAH DIBUAT         *)
     (**********************************************)
     NOW:=HEAD;
     WHILE (NOW <> NIL) DO
     BEGIN
         HEAD:=NOW^.NEXT;
         DISPOSE (NOW);
         NOW:=HEAD;
     END;
END;

BEGIN   {MAIN PROGRAM}
INPUT;
OUTPUT;
END.



Listing struktur data praktikum 9



PRAKTIKUM 9

MAHASISWA DIMINTA UNTUK MEMBUAT SEBUAH PROGRAM ANIMASI STACK/TUMPUKAN, GAMBARKAN SEBUAH WADAH DAN BERI TIGA PILIHAN: PUSH, POP DAN EXIT. JIKA DIPILIH PUSH, PROGRAM AKAN MEMINTA USER MENGINPUT SEBUAH KARAKTER YANG AKAN DIMASUKKAN KE WASAH TERSEBUT, MAKSIMAL 10 KARAKTER DALAM WADAH. JIKA DIPILIH EXIT MAKA PROGRAM AKAN SELESAI.

PROGRAM ARRAY_STACK;
USES CRT;
CONST
     MAX=10;
VAR
     TOP,I         : BYTE;
     PIL, TEMP, E  : CHAR;
     STACK         : ARRAY [1.....MAX] OF CHAR;

PROCEDURE PUSHANIM;        {ANIMASI MENGISI ISI TUMPUKAN}
BEGIN
     FOR I:= 1 TO 18 DO
     BEGIN
       GOTOXY (23+I,7); WRITE (TEMP); DELAY (30);
       GOTOXY (23,7); CLREOL
     END;

     FOR I:=1 TO 14-TOP DO
     BEGIN
       DELAY(30);
       GOTOXY(41,6+I); WRITE ('');
       GOTOXY(41,7+I); WRITE ('');
     END;
END;

PROSEDURE POPANIM (TEMP:CHAR);          {ANIMASI MENGELUARKAN ISI TUMPUKAN}
BEGIN
     FOR I:=1 TO 14-TOP DO
     BEGIN
       DELAY(30);
       GOTOXY(41,22-I-TOP); WRITE ('');
       GOTOXY(41,21-I-TOP); WRITE (TEMP);
     END;

     FOR I:=1 TO 19 DO
     BEGIN
       GOTOXY(40+I,7); WRITE (TEMP); DELAY(30);
       GOTOXY(16,7); CLREOL;
     END;
END;

PROSEDURE PUSH (E:CHAR);        {MENGISI ISI TUMPUKAN}
BEGIN
    INC(TOP);
    STACK[TOP]:=E;
    PUSHANIM;
END;

PROSEDURE POP(E:CHAR);          {MENGELUARKAN ISI TUMPUKAN}
BEGIN
     IF TOP <> 0 THEN
     BEGIN
       E:=STACK [TOP]; POPANIM (E);
       DEC(TOP);
     END ELSE
     BEGIN   {PERINGATAN JIKA STACK TELAH KOSONG}
     GOTOXY (1,7); WRITE ('STACK TELAH KOSONG'); READKEY;
     GOTOXY (1,7); CLREOL;
     END;
END;

BEGIN  {MAIN PROGRAM}
  CLRSCR;
  WRITELN ('ANIMASI STACK');
  WRITELN ('1. PUSH');
  WRITELN ('2. POP');
  WRITELN ('3. QUIT');
  WRITELN ('PILIHAN [1/2/3]=');
  GOTOXY (59,6); WRITE ('\');
  GOTOXY (59,8); WRITE ('/');
  GOTOXY (37,10); WRITE ('\      /');
  FOR I:=1 TO 11 DO
  BEGIN
    GOTOXY (38,10+I);
    IF I=11 THEN WRITE ('|---------|') ELSE WRITE ('|......|');
    END;
  TOP :=0;
  REPEAT
     GOTOXY(19,5); CLREOL;
     PIL:=READKEY; WRITE (PIL);
     IF PIL='1' THEN
     BEGIN
       IF TOP <> MAX THEN
       BEGIN
         GOTOXY (1,7); WRITE ('MASUKKAN SUATU HURUF=');
         TEMP:=READKEY; WRITE (TEMP);
         PUSH (TEMP);
         GOTOXY(1,7); CLREOL;
       END ELSE
       BEGIN
         GOTOXY (1,7); WRITE ('STACK TELAH PENUH'); READKEY;
         GOTOXY (1,7); CLREOL;
       END;
  END ELSE
  IF PIL='2' THEN POP (TEMP);
  UNTIL PIL ='3';
END.

Kumpulan perintah mysql di CMD

MySQL  adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithrea...