Rabu, 12 Desember 2018

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.

Listing struktur data praktikum 8

PRAKTIKUM 8

MAHASISWA DIMINTA UNTUK MEMBUAT SEBUAH PROGRAM UNTUK MENDETEKSI PASSWORD/KATA SANDI, GUNAKAN METODE SINGLE LINKED LIST, JIKA PASSWORDNYA BENAR MAKA PROGRAM AKAN SELESAI, JIKA SALAH MAKA USER DIMINTA MEMASUKKAN PASSWORD KEMBALI.

PROGRAM LINKLISTSINGLE;
USESCRT;
TYPE
    POINT   = ^REC;
    REC     = RECORD
              ISI   : CHAR;
              NEXT  : POINT;
    END;
CONST
     PASSWORD = 'DARNA';        {PASSWORD YANG HARUS DIMASUKKAN}
VAR
     I             : BYTE;
     TEKAN         : CHAR;
     PASSWD        : BOOLEAN;
     HEAD,TAIL,NOW : POINT;

PROCEDURE CREATE;
BEGIN
     HEAD:=NIL; TAIL:=NIL;
END.

PROCEDURE PUSH (ISI:CHAR);
VAR NOW:POINT;
BEGIN
     NEW(NOW);                  {MEMBUAT SIMPUL BARU}
     IF HEAD= NIL THEN          {MENDETEKSI SIMPUL AWAL}
     BEGIN
          HEAD:=NOW;
          TAIL:=HEAD;
     END ELSE
     BEGIN                      {MENYAMBUNG SIMPUL YANG BARU PADA SIMPUL YANG SUDAH ADA}
         TAIL^.NEXT := NOW;
         TAIL       := TAIL^.NEXT;
     END.
     NOW^.ISI:=ISI;             {MENGISI SIMPUL YANG BARU}
     NOW^.NEXT:=NIL;
END.

FUNCTION CHECK:BOOLEAN; {FUNCTION UNTUK MENCHECK INPUT}
VAR TEMP: STRING [15];
BEGIN
     TEMP:=''; NOW:=HEAD;
     WHILE NOW <> NIL DO
       BEGIN
         TEMP:=TEMP + NOW^.ISI;
         NOW:=NOW^.NEXT;
       END.
     IF TEMP <> PASSWORD THEN CHECK:=FALSE;
END.

PROCEDURE BUATBINGKAI (X1,Y1,X2,Y2:BYTE);       {TAMPILAN APLIKASI}
VAR I:BYTE;
    BEGIN
       GOTOXY (X1,Y1); WRITE ('['); GOTOXY (X2,Y1);WRITE (']');
       GOTOXY (X2,Y2); WRITE ('['); GOTOXY (X2,Y2);WRITE (']');
       FOR I:=X1+1 TO X2-1 DO
       BEGIN
         GOTOXY (I,Y1); WRITE('-');
         GOTOXY (I,Y2); WRITE('-');
       END.
    FOR I:=Y1+1 TO Y2-1 DO
      BEGIN
        GOTOXY (X1,I); WRITE ('|');
        GOTOXY (X2,I); WRITE ('|');
      END.
    END.

PROCEDURE BLUESCREEN (X1,Y1,X2,Y2:BYTE);        {MENCETAK LAYAR BIRU}
BEGIN
     TEXTATTR:=$07; CLRSCR;             {PROCEDURE INI SIFATNYA OPTIONAL/TAK WAJIB}
     WINDOW (X1,Y1,X2,Y2);              {MEMBUAT AREA LAYAR}
     TEXTBACKGROUND (BLUE);
     CLRSCR; WINDOW (1,1,80,25);
     BUATBINGKAI (X1,Y1,X2,Y2);
     GOTOXY (X1+2,Y1+1); WRITE ('ENTER YOUR PASSWORD:');
END.

PROCEDURE POP;  {PROSEDUR PENGHAPUS SIMPUL}
BEGIN
     NOW:=HEAD; HEAD:=HEAD^.NEXT;
     WHILE NOW <> NIL DO
     BEGIN
        DISPOSE (NOW);
        NOW:=HEAD;
        HEAD:=HEAD^.NEXT;
     END.
END.

BEGIN           {PROGRAM UTAMA}
REPEAT
      BLUESCREEN (25,8,60,10);
      CREATE; I:=0;
      REPEAT
         TEKAN:=READKEY;
         WRITE(TEKAN);
         IF TEKAN <>#13 THEN PUSH (TEKAN); INC(I);
         UNTIL (TEKAN=#13) OR (I=10);      {ENTER DITEKAN ATAU PANJANG=10}
         PASSWD:=CHECK; POP;
      UNTIL PASSWD;
END.

Listing struktur data sederhana



MAHASISWA DIMINTA UNTUK MEMBUAT SEBUAH PROGRAM UNTUK MENGURUTKAN ANGKA-ANGKA YANG DIDAPAT SECARA RANDOM/ACAK. MULA-MULA DIDAPATKAN ENAM ANGKA SECARA RANDOM, LALU ANGKA-ANGKA TERSEBUT HARUS DISUSUN SECARA URUT DENGAN MENGGUNAKAN METODE QUICK SORT DIMULAI DARI ANGKA YANG TERKECIL. ANIMASIKANLAH PENGURUTAN DENGAN MEMPERLIHATKAN PERPINDAHAN ANGKA-ANGKA SAMPAI ANGKA-ANGKA TERSEBUT TERSUSUN SEMUANYA.

PROGRAM URUT_QUICK;
USES CRT;
CONST MAX=6;

VAR
   CH   : CHAR;
   I,J  : BYTE;
   DATA : ARRAY [1..MAX] OF INTEGER;

PROCEDURE GERAK (K,D:BYTE);
VAR
   X,Y,WARNA:BYTE;
BEGIN
     X:= 28 + MAX + (K-1);
     Y:= 34 + MAX + (D-2);
     REPEAT
        WARNA := RANDOM (15);
     UNTIL WARNA IN [9..14];
        TEXTCOLOR (WARNA+BLINK);
        GOTOXY (X,13); WRITE (DATA[K]);
        GOTOXY (Y,12); WRITE (DATA[D]); DELAY (700);
        TEXTCOLOR (WHITE);
        GOTOXY (X,12); WRITE ('');
        GOTOXY (Y,12); WRITE ('');
     FOR I:= 1 TO 2 DO
        BEGIN
        GOTOXY (X,12-I); WRITE (DATA[K]);
        GOTOXY (Y,12+I); WRITE (DATA[D]); DELAY (50);
        GOTOXY (X,12-I); WRITE ('');
        GOTOXY (Y,12+I); WRITE ('');
     END;
FOR I := 1 TO Y-X DO
   BEGIN
      GOTOXY (X+I-1,10); WRITE ('',DATA[K]);
      GOTOXY (Y-I,14); WRITE (DATA[D],''); DELAY (50);
   END;
      GOTOXY (X,14); WRITE ('');
      GOTOXY (Y,10); WRITE ('');
      FOR I:= 1 TO 2 DO
      BEGIN
      GOTOXY (Y,10+I); WRITE (DATA[K]);
      GOTOXY (X,14-I); WRITE (DATA[D]);
      DELAY (50);
      IF I <> 2 THEN
      BEGIN
        GOTOXY (Y,10+I); WRITE ('');
        GOTOXY (X,14-I); WRITE ('');
        END;
      END;
   END;

PROCEDURE CHANGE (VAR A,B:INTEGER);
VAR C:INTEGER;
BEGIN
     C:=A; A:=B; B:=C;
END;

PROCEDURE QUICKSORT (LEFT,RIGHT:INTEGER);
VAR
   I,J,MID: INTEGER;
BEGIN
     I:=LEFT; J:=RIGHT; MID:=DATA [(LEFT+RIGHT) DIV 2];
     REPEAT
        WHILE DATA [I] < MID DO INC (I);
        WHILE MID < DATA [J] DO DEC (J);
        IF I<J THEN
        BEGIN
             IF I<>J THEN GERAK (I,J);
             CHANGE (DATA[I],DATA[J]);
             INC(I); DEC(J);
        END;
     UNTIL I>J;
     IF LEFT < J THEN QUICKSORT (LEFT,J);
     IF I<RIGHT THEN QUICKSORT (I,RIGHT);
END;

PROCEDURE START;
VAR
   K:BYTE;
BEGIN
     DELAY (200);
     CLRSCR;
     FOR I:= 1 TO 3 DO
     BEGIN
        GOTOXY (1,10+I); WRITE ('');
        DELAY (200);
     END;
     K:=0;
     FOR j:=1 TO MAX DO
     BEGIN
     FOR I:= 1 TO 57-K DO
      BEGIN
           GOTOXY (I,12); WRITE ('',DATA[7-J]);
           DELAY (10);
      END;
     K:=K + 6;
     END;
     K:=0;
     FOR I:=1 TO MAX DO
     BEGIN
          TEXTCOLOR (I+8); GOTOXY (28+K,12); WRITE (DATA[I]);
          DELAY(100);
          INC (K,6);
     END;
END;

PROCEDURE CURSOR_OFF;ASSEMBLER;
ASM
   MOV AH, 01H
   MOV CX, 0FFFFH
   INT 10H
END;

BEGIN
     CLRSCR;
     CURSOR_OFF;
     RANDOMIZE;
     GOTOXY (30,8); WRITE ('RANDOM 6 DATA YANG AKAN DISORT:');
     FOR I:=1 TO MAX DO
        BEGIN
        GOTOXY (30,9+I); WRITE ('DATA',I,':');
        DATA [I]:=RANDOM (100);
        GOTOXY (39,9+I); WRITELN (DATA[I]); DELAY (100);
     END;
DELAY (1000);
START;
QUICKSORT (1,MAX);
J:=0;
FOR I:=1 TO MAX DO
    BEGIN
       TEXTCOLOR (YELLOW);
       GOTOXY (28+J,12); WRITE (DATA[I]);
       DELAY (100);
       J:=J+6;
       END;
    REPEAT
       GOTOXY (32,22); WRITE ('PRESS ANY KEY TO EXIT...');
    UNTIL KEYPRESSED;
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...