Rabu, 12 Desember 2018

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...